8#ifndef skgpu_graphite_VulkanGraphicsPipeline_DEFINED
9#define skgpu_graphite_VulkanGraphicsPipeline_DEFINED
26class GraphicsPipelineDesc;
27class RuntimeEffectDictionary;
28class VulkanSharedContext;
31class VulkanRenderPass;
85 VkShaderModule vsModule,
86 VkShaderModule fsModule,
95 VkShaderModule* outVertexShaderModule,
96 VkShaderModule* outFragShaderModule,
98 VkPipelineLayout* outPipelineLayout);
104 return fPipelineLayout;
118 PipelineInfo* pipelineInfo,
124 bool ownsPipelineLayout);
126 void freeGpuData()
override;
130 bool fHasFragmentUniforms =
false;
131 bool fHasStepUniforms =
false;
132 int fNumTextureSamplers = 0;
133 bool fOwnsPipelineLayout =
true;
const SharedContext * sharedContext() const
static constexpr unsigned int kPaintUniformBufferIndex
static constexpr unsigned int kInputAttachmentBindingIndex
static const DescriptorData kRenderStepUniformDescriptor
static sk_sp< VulkanGraphicsPipeline > Make(const VulkanSharedContext *, const RuntimeEffectDictionary *, const GraphicsPipelineDesc &, const RenderPassDesc &, const sk_sp< VulkanRenderPass > &compatibleRenderPass, VkPipelineCache)
bool hasFragmentUniforms() const
static constexpr unsigned int kInstanceBufferIndex
static const DescriptorData kInputAttachmentDescriptor
static const DescriptorData kIntrinsicUniformBufferDescriptor
static constexpr unsigned int kInputAttachmentDescSetIndex
bool hasStepUniforms() const
static constexpr unsigned int kVertexBufferIndex
static constexpr unsigned int kIntrinsicUniformBufferIndex
static constexpr unsigned int kNumInputBuffers
static constexpr unsigned int kNumUniformBuffers
int numTextureSamplers() const
static constexpr unsigned int kRenderStepUniformBufferIndex
static sk_sp< VulkanGraphicsPipeline > MakeLoadMSAAPipeline(const VulkanSharedContext *, VkShaderModule vsModule, VkShaderModule fsModule, VkPipelineShaderStageCreateInfo *pipelineShaderStages, VkPipelineLayout, sk_sp< VulkanRenderPass > compatibleRenderPass, VkPipelineCache, const TextureInfo &dstColorAttachmentTexInfo)
static const DescriptorData kPaintUniformDescriptor
VkPipeline pipeline() const
static constexpr unsigned int kTextureBindDescSetIndex
static constexpr unsigned int kUniformBufferDescSetIndex
static bool InitializeMSAALoadPipelineStructs(const VulkanSharedContext *, VkShaderModule *outVertexShaderModule, VkShaderModule *outFragShaderModule, VkPipelineShaderStageCreateInfo *outShaderStageInfo, VkPipelineLayout *outPipelineLayout)
VkPipelineLayout layout() const
~VulkanGraphicsPipeline() override