46 return fPipelineStateCache.
get();
50 return fPipelineStateCache;
59 VkRenderPass compatibleRenderPass,
60 VkPipelineLayout layout,
73 CompatibleRPHandle* compatibleHandle,
82 CompatibleRPHandle* compatibleHandle =
nullptr);
85 uint32_t colorAttachmentIndex);
97 CompatibleRPHandle* compatibleHandle,
143 VkRenderPass compatibleRenderPass,
144 bool overrideSubpassForResolveLoad);
149 VkRenderPass compatibleRenderPass,
219#if defined(GR_TEST_UTILS)
220 void resetShaderCacheForTesting()
const { fPipelineStateCache->
release(); }
226 PipelineStateCache(
GrVkGpu* gpu);
227 ~PipelineStateCache()
override;
232 VkRenderPass compatibleRenderPass,
233 bool overrideSubpassForResolveLoad);
236 VkRenderPass compatibleRenderPass,
237 Stats::ProgramCacheResult* stat) {
238 return this->findOrCreatePipelineStateImpl(desc, programInfo, compatibleRenderPass,
247 VkRenderPass compatibleRenderPass,
248 bool overrideSubpassForResolveLoad,
249 Stats::ProgramCacheResult*);
262 class CompatibleRenderPassSet {
278 return fRenderPasses[0];
286 void releaseResources();
290 int fLastReturnedIndex;
293 VkPipelineCache pipelineCache();
298 VkPipelineCache fPipelineCache;
300 struct MSAALoadPipeline {
330 GrVkDescriptorSetManager::Handle fUniformDSHandle;
331 GrVkDescriptorSetManager::Handle fInputDSHandle;
const GrVkRenderPass * findCompatibleRenderPass(GrVkRenderTarget *target, CompatibleRPHandle *compatibleHandle, bool withResolve, bool withStencil, SelfDependencyFlags selfDepFlags, LoadFromResolve)
sk_sp< const GrVkPipeline > makePipeline(const GrProgramInfo &, VkPipelineShaderStageCreateInfo *shaderStageInfo, int shaderStageCount, VkRenderPass compatibleRenderPass, VkPipelineLayout layout, uint32_t subpass)
const GrVkRenderPass * findRenderPass(GrVkRenderTarget *target, const GrVkRenderPass::LoadStoreOps &colorOps, const GrVkRenderPass::LoadStoreOps &resolveOps, const GrVkRenderPass::LoadStoreOps &stencilOps, CompatibleRPHandle *compatibleHandle, bool withResolve, bool withStencil, SelfDependencyFlags selfDepFlags, LoadFromResolve)