diff options
Diffstat (limited to 'src/gpu/gl/GrGLGpu.cpp')
-rw-r--r-- | src/gpu/gl/GrGLGpu.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp index b6c807656f..50c0edba45 100644 --- a/src/gpu/gl/GrGLGpu.cpp +++ b/src/gpu/gl/GrGLGpu.cpp @@ -2449,6 +2449,7 @@ GrGLenum gPrimitiveType2GLMode[] = { void GrGLGpu::draw(const GrPipeline& pipeline, const GrPrimitiveProcessor& primProc, const GrMesh meshes[], + const GrPipeline::DynamicState dynamicStates[], int meshCount) { this->handleDirtyContext(); @@ -2468,6 +2469,14 @@ void GrGLGpu::draw(const GrPipeline& pipeline, this->xferBarrier(pipeline.getRenderTarget(), barrierType); } + if (dynamicStates) { + if (pipeline.getScissorState().enabled()) { + GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.getRenderTarget()); + this->flushScissor(dynamicStates[i].fScissorRect, + glRT->getViewport(), glRT->origin()); + } + } + meshes[i].sendToGpu(primProc, this); } |