8#ifndef GrVkOpsRenderPass_DEFINED
9#define GrVkOpsRenderPass_DEFINED
50 bool isActive()
const {
return fIsActive; }
62 bool wrapsSecondaryCommandBuffer()
const;
68 void onEnd()
override;
77 void onDraw(
int vertexCount,
int baseVertex)
override {
80 void onDrawIndexed(
int indexCount,
int baseIndex, uint16_t minIndexValue,
81 uint16_t maxIndexValue,
int baseVertex)
override {
84 void onDrawInstanced(
int instanceCount,
int baseInstance,
int vertexCount,
85 int baseVertex)
override;
87 int baseVertex)
override;
90 int drawCount)
override;
98 bool beginRenderPass(
const VkClearValue& clearColor, LoadFromResolve loadFromResolve);
100 void addAdditionalRenderPass(
bool mustUseSecondaryCommandBuffer);
102 void setAttachmentLayouts(LoadFromResolve loadFromResolve);
104 void loadResolveIntoMSAA(
const SkIRect& nativeBounds);
109 std::unique_ptr<GrVkSecondaryCommandBuffer> fCurrentSecondaryCommandBuffer;
111 SkIRect fCurrentPipelineBounds;
113 bool fCurrentCBIsEmpty =
true;
115 SelfDependencyFlags fSelfDependencyFlags = SelfDependencyFlags::kNone;
116 LoadFromResolve fLoadFromResolve = LoadFromResolve::kNo;
117 bool fOverridePipelinesForResolveLoad =
false;
128 bool fIsActive =
false;
std::function< void(GrDeferredTextureUploadWritePixelsFn &)> GrDeferredTextureUploadFn
void onDrawIndexedInstanced(int indexCount, int baseIndex, int instanceCount, int baseInstance, int baseVertex) override
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)
void onClearStencilClip(const GrScissorState &scissor, bool insideStencilMask) override
void onBindBuffers(sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrPrimitiveRestart) override
void onDrawIndexedIndirect(const GrBuffer *drawIndirectBuffer, size_t offset, int drawCount) override
void onSetScissorRect(const SkIRect &) override
void onDraw(int vertexCount, int baseVertex) override
void onDrawIndirect(const GrBuffer *drawIndirectBuffer, size_t offset, int drawCount) override
bool onBindTextures(const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &) override
void onDrawInstanced(int instanceCount, int baseInstance, int vertexCount, int baseVertex) override
bool onBindPipeline(const GrProgramInfo &, const SkRect &drawBounds) override
void onExecuteDrawable(std::unique_ptr< SkDrawable::GpuDrawHandler >) override
void onDrawIndexed(int indexCount, int baseIndex, uint16_t minIndexValue, uint16_t maxIndexValue, int baseVertex) override
void onClear(const GrScissorState &scissor, std::array< float, 4 > color) override
void inlineUpload(GrOpFlushState *state, GrDeferredTextureUploadFn &upload) override
~GrVkOpsRenderPass() override