Lines Matching defs:flushState
226 void PathStencilCoverOp::onPrepare(GrOpFlushState* flushState) {
228 this->prePreparePrograms({flushState->allocator(), flushState->writeView(),
229 flushState->usesMSAASurface(), &flushState->dstProxyView(),
230 flushState->renderPassBarriers(), flushState->colorLoadOp(),
231 &flushState->caps()}, flushState->detachAppliedClip());
240 GrEagerDynamicVertexAllocator vertexAlloc(flushState, &fFanBuffer, &fFanBaseVertex);
264 fTessellator->prepare(flushState,
265 tessShader->maxTessellationSegments(*flushState->caps().shaderCaps()),
273 VertexWriter vertexWriter = flushState->makeVertexSpace(instanceStride,
290 flushState->writeView().asRenderTargetProxy()->backingStoreBoundsRect();
307 if (!flushState->caps().shaderCaps()->vertexIDSupport()) {
312 fBBoxVertexBufferIfNoIDSupport = flushState->resourceProvider()->findOrMakeStaticBuffer(
317 void PathStencilCoverOp::onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) {
332 flushState->bindPipelineAndScissorClip(*fStencilFanProgram, this->bounds());
333 flushState->bindBuffers(nullptr, nullptr, fFanBuffer);
334 flushState->draw(fFanVertexCount, fFanBaseVertex);
339 flushState->bindPipelineAndScissorClip(*fStencilPathProgram, this->bounds());
340 fTessellator->draw(flushState, fStencilPathProgram->geomProc().willUseTessellationShaders());
341 if (flushState->caps().requiresManualFBBarrierAfterTessellatedStencilDraw()) {
342 flushState->gpu()->insertManualFramebufferBarrier(); // http://skbug.com/9739
347 flushState->bindPipelineAndScissorClip(*fCoverBBoxProgram, this->bounds());
348 flushState->bindTextures(fCoverBBoxProgram->geomProc(), nullptr,
350 flushState->bindBuffers(nullptr, fBBoxBuffer, fBBoxVertexBufferIfNoIDSupport);
351 flushState->drawInstanced(fPathCount, fBBoxBaseInstance, 4, 0);