8#ifndef GrVkOpsRenderPass_DEFINED
9#define GrVkOpsRenderPass_DEFINED
50 bool isActive()
const {
return fIsActive; }
62 bool wrapsSecondaryCommandBuffer()
const;
64 GrGpu* gpu()
override;
68 void onEnd()
override;
71 void onSetScissorRect(
const SkIRect&)
override;
77 void onDraw(
int vertexCount,
int baseVertex)
override {
78 this->onDrawInstanced(1, 0, vertexCount, baseVertex);
80 void onDrawIndexed(
int indexCount,
int baseIndex, uint16_t minIndexValue,
81 uint16_t maxIndexValue,
int baseVertex)
override {
82 this->onDrawIndexedInstanced(indexCount, baseIndex, 1, 0, baseVertex);
84 void onDrawInstanced(
int instanceCount,
int baseInstance,
int vertexCount,
85 int baseVertex)
override;
86 void onDrawIndexedInstanced(
int indexCount,
int baseIndex,
int instanceCount,
int baseInstance,
87 int baseVertex)
override;
88 void onDrawIndirect(
const GrBuffer* drawIndirectBuffer,
size_t offset,
int drawCount)
override;
89 void onDrawIndexedIndirect(
const GrBuffer* drawIndirectBuffer,
size_t offset,
90 int drawCount)
override;
94 void onClearStencilClip(
const GrScissorState& scissor,
bool insideStencilMask)
override;
100 void addAdditionalRenderPass(
bool mustUseSecondaryCommandBuffer);
104 void loadResolveIntoMSAA(
const SkIRect& nativeBounds);
109 std::unique_ptr<GrVkSecondaryCommandBuffer> fCurrentSecondaryCommandBuffer;
111 SkIRect fCurrentPipelineBounds;
113 bool fCurrentCBIsEmpty =
true;
117 bool fOverridePipelinesForResolveLoad =
false;
128 bool fIsActive =
false;
std::function< void(GrDeferredTextureUploadWritePixelsFn &)> GrDeferredTextureUploadFn
bool set(GrRenderTarget *, sk_sp< GrVkFramebuffer >, GrSurfaceOrigin, const SkIRect &bounds, const GrOpsRenderPass::LoadAndStoreInfo &, const GrOpsRenderPass::StencilLoadAndStoreInfo &, const GrOpsRenderPass::LoadAndStoreInfo &resolveInfo, GrVkRenderPass::SelfDependencyFlags selfDepFlags, GrVkRenderPass::LoadFromResolve loadFromResolve, const skia_private::TArray< GrSurfaceProxy *, true > &sampledProxies)
GrVkOpsRenderPass(GrVkGpu *)
void onExecuteDrawable(std::unique_ptr< SkDrawable::GpuDrawHandler >) override
void inlineUpload(GrOpFlushState *state, GrDeferredTextureUploadFn &upload) override
~GrVkOpsRenderPass() override
Optional< SkRect > bounds