9#ifndef GrVkPipelineState_DEFINED
10#define GrVkPipelineState_DEFINED
44 const GrVkDescriptorSetManager::Handle& samplerDSHandle,
48 bool usePushConstants,
50 std::unique_ptr<GrGeometryProcessor::ProgramImpl>,
51 std::unique_ptr<GrXferProcessor::ProgramImpl>,
52 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fpImpls);
81 struct RenderTargetState {
85 RenderTargetState() { this->invalidate(); }
87 fRenderTargetSize.
fWidth = -1;
99 const GrVkDescriptorSetManager::Handle fSamplerDSHandle;
104 RenderTargetState fRenderTargetState;
108 std::unique_ptr<GrGeometryProcessor::ProgramImpl> fGPImpl;
109 std::unique_ptr<GrXferProcessor::ProgramImpl> fXPImpl;
110 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fFPImpls;
GrVkUniformHandler::UniformInfoArray UniformInfoArray
bool setAndBindTextures(GrVkGpu *, const GrGeometryProcessor &, const GrPipeline &, const GrSurfaceProxy *const geomProcTextures[], GrVkCommandBuffer *)
bool setAndBindUniforms(GrVkGpu *, SkISize colorAttachmentDimensions, const GrProgramInfo &, GrVkCommandBuffer *)
GrGLSLProgramDataManager::UniformHandle UniformHandle
void bindPipeline(const GrVkGpu *gpu, GrVkCommandBuffer *commandBuffer)
bool setAndBindInputAttachment(GrVkGpu *, gr_rp< const GrVkDescriptorSet > inputDescSet, GrVkCommandBuffer *)
void freeGPUResources(GrVkGpu *gpu)
GrVkPipelineState(GrVkGpu *, sk_sp< const GrVkPipeline >, const GrVkDescriptorSetManager::Handle &samplerDSHandle, const GrGLSLBuiltinUniformHandles &builtinUniformHandles, const UniformInfoArray &uniforms, uint32_t uniformSize, bool usePushConstants, const UniformInfoArray &samplers, std::unique_ptr< GrGeometryProcessor::ProgramImpl >, std::unique_ptr< GrXferProcessor::ProgramImpl >, std::vector< std::unique_ptr< GrFragmentProcessor::ProgramImpl > > fpImpls)