Don't pass render target to GrGLSLProgramBuilder.
The base class does not use the GrRenderTarget and most subclasses do
not use it eitehr. So remove the GrRenderTarget from these classes and
have specific subclasses store the GrRenderTarget if they need it.
Bug: skia:11809
Change-Id: Idee5419377e1b5e328c8c88666c9344f642beb63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399056
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/d3d/GrD3DOpsRenderPass.cpp b/src/gpu/d3d/GrD3DOpsRenderPass.cpp
index a7ea52a..18e81e4 100644
--- a/src/gpu/d3d/GrD3DOpsRenderPass.cpp
+++ b/src/gpu/d3d/GrD3DOpsRenderPass.cpp
@@ -175,8 +175,9 @@
fCurrentPipelineBounds.setEmpty();
}
+ GrD3DRenderTarget* d3dRT = static_cast<GrD3DRenderTarget*>(fRenderTarget);
fCurrentPipelineState =
- fGpu->resourceProvider().findOrCreateCompatiblePipelineState(fRenderTarget, info);
+ fGpu->resourceProvider().findOrCreateCompatiblePipelineState(d3dRT, info);
if (!fCurrentPipelineState) {
return false;
}
diff --git a/src/gpu/d3d/GrD3DPipelineStateBuilder.cpp b/src/gpu/d3d/GrD3DPipelineStateBuilder.cpp
index 93a8b8b..81f0aae 100644
--- a/src/gpu/d3d/GrD3DPipelineStateBuilder.cpp
+++ b/src/gpu/d3d/GrD3DPipelineStateBuilder.cpp
@@ -30,7 +30,7 @@
std::unique_ptr<GrD3DPipelineState> GrD3DPipelineStateBuilder::MakePipelineState(
GrD3DGpu* gpu,
- GrRenderTarget* renderTarget,
+ GrD3DRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo) {
// ensure that we use "." as a decimal separator when creating SkSL code
@@ -48,13 +48,14 @@
}
GrD3DPipelineStateBuilder::GrD3DPipelineStateBuilder(GrD3DGpu* gpu,
- GrRenderTarget* renderTarget,
+ GrD3DRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo)
- : INHERITED(renderTarget, desc, programInfo)
+ : INHERITED(desc, programInfo)
, fGpu(gpu)
, fVaryingHandler(this)
- , fUniformHandler(this) {}
+ , fUniformHandler(this)
+ , fRenderTarget(renderTarget) {}
const GrCaps* GrD3DPipelineStateBuilder::caps() const {
return fGpu->caps();
diff --git a/src/gpu/d3d/GrD3DPipelineStateBuilder.h b/src/gpu/d3d/GrD3DPipelineStateBuilder.h
index b64b8d9..b8f93ff 100644
--- a/src/gpu/d3d/GrD3DPipelineStateBuilder.h
+++ b/src/gpu/d3d/GrD3DPipelineStateBuilder.h
@@ -28,7 +28,7 @@
* @return the created pipeline if generation was successful; nullptr otherwise
*/
static std::unique_ptr<GrD3DPipelineState> MakePipelineState(GrD3DGpu*,
- GrRenderTarget*,
+ GrD3DRenderTarget*,
const GrProgramDesc&,
const GrProgramInfo&);
@@ -42,7 +42,7 @@
void finalizeFragmentSecondaryColor(GrShaderVar& outputColor) override;
private:
- GrD3DPipelineStateBuilder(GrD3DGpu*, GrRenderTarget*, const GrProgramDesc&,
+ GrD3DPipelineStateBuilder(GrD3DGpu*, GrD3DRenderTarget*, const GrProgramDesc&,
const GrProgramInfo&);
std::unique_ptr<GrD3DPipelineState> finalize();
@@ -62,6 +62,7 @@
GrD3DGpu* fGpu;
GrSPIRVVaryingHandler fVaryingHandler;
GrSPIRVUniformHandler fUniformHandler;
+ GrD3DRenderTarget* fRenderTarget;
using INHERITED = GrGLSLProgramBuilder;
};
diff --git a/src/gpu/d3d/GrD3DResourceProvider.cpp b/src/gpu/d3d/GrD3DResourceProvider.cpp
index a7c82eb..b8e1c31 100644
--- a/src/gpu/d3d/GrD3DResourceProvider.cpp
+++ b/src/gpu/d3d/GrD3DResourceProvider.cpp
@@ -16,6 +16,7 @@
#include "src/gpu/d3d/GrD3DGpu.h"
#include "src/gpu/d3d/GrD3DPipelineState.h"
#include "src/gpu/d3d/GrD3DPipelineStateBuilder.h"
+#include "src/gpu/d3d/GrD3DRenderTarget.h"
GrD3DResourceProvider::GrD3DResourceProvider(GrD3DGpu* gpu)
: fGpu(gpu)
@@ -194,7 +195,7 @@
}
GrD3DPipelineState* GrD3DResourceProvider::findOrCreateCompatiblePipelineState(
- GrRenderTarget* rt, const GrProgramInfo& info) {
+ GrD3DRenderTarget* rt, const GrProgramInfo& info) {
return fPipelineStateCache->refPipelineState(rt, info);
}
@@ -266,7 +267,7 @@
}
GrD3DPipelineState* GrD3DResourceProvider::PipelineStateCache::refPipelineState(
- GrRenderTarget* renderTarget, const GrProgramInfo& programInfo) {
+ GrD3DRenderTarget* renderTarget, const GrProgramInfo& programInfo) {
#ifdef GR_PIPELINE_STATE_CACHE_STATS
++fTotalRequests;
#endif
diff --git a/src/gpu/d3d/GrD3DResourceProvider.h b/src/gpu/d3d/GrD3DResourceProvider.h
index 313c944..0e38f61 100644
--- a/src/gpu/d3d/GrD3DResourceProvider.h
+++ b/src/gpu/d3d/GrD3DResourceProvider.h
@@ -27,6 +27,7 @@
class GrD3DDirectCommandList;
class GrD3DGpu;
class GrD3DPipelineState;
+class GrD3DRenderTarget;
class GrSamplerState;
class GrD3DResourceProvider {
@@ -71,7 +72,7 @@
return &fDescriptorTableManager;
}
- GrD3DPipelineState* findOrCreateCompatiblePipelineState(GrRenderTarget*,
+ GrD3DPipelineState* findOrCreateCompatiblePipelineState(GrD3DRenderTarget*,
const GrProgramInfo&);
D3D12_GPU_VIRTUAL_ADDRESS uploadConstantData(void* data, size_t size);
@@ -94,7 +95,7 @@
~PipelineStateCache();
void release();
- GrD3DPipelineState* refPipelineState(GrRenderTarget*, const GrProgramInfo&);
+ GrD3DPipelineState* refPipelineState(GrD3DRenderTarget*, const GrProgramInfo&);
void markPipelineStateUniformsDirty();
diff --git a/src/gpu/dawn/GrDawnProgramBuilder.cpp b/src/gpu/dawn/GrDawnProgramBuilder.cpp
index e75d894..43b495e 100644
--- a/src/gpu/dawn/GrDawnProgramBuilder.cpp
+++ b/src/gpu/dawn/GrDawnProgramBuilder.cpp
@@ -257,7 +257,7 @@
GrProgramDesc* desc) {
GrAutoLocaleSetter als("C");
- GrDawnProgramBuilder builder(gpu, renderTarget, programInfo, desc);
+ GrDawnProgramBuilder builder(gpu, programInfo, desc);
if (!builder.emitAndInstallProcs()) {
return nullptr;
}
@@ -418,10 +418,9 @@
}
GrDawnProgramBuilder::GrDawnProgramBuilder(GrDawnGpu* gpu,
- GrRenderTarget* renderTarget,
const GrProgramInfo& programInfo,
GrProgramDesc* desc)
- : INHERITED(renderTarget, *desc, programInfo)
+ : INHERITED(*desc, programInfo)
, fGpu(gpu)
, fVaryingHandler(this)
, fUniformHandler(this) {
diff --git a/src/gpu/dawn/GrDawnProgramBuilder.h b/src/gpu/dawn/GrDawnProgramBuilder.h
index 32f2194..eba2717 100644
--- a/src/gpu/dawn/GrDawnProgramBuilder.h
+++ b/src/gpu/dawn/GrDawnProgramBuilder.h
@@ -92,7 +92,6 @@
private:
GrDawnProgramBuilder(GrDawnGpu*,
- GrRenderTarget*,
const GrProgramInfo&,
GrProgramDesc*);
wgpu::ShaderModule createShaderModule(const GrGLSLShaderBuilder&, SkSL::ProgramKind,
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index bf1f3d9..af5a46f 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -1825,7 +1825,7 @@
this->handleDirtyContext();
sk_sp<GrGLProgram> program = fProgramCache->findOrCreateProgram(this->getContext(),
- renderTarget, programInfo);
+ programInfo);
if (!program) {
GrCapsDebugf(this->caps(), "Failed to create program!\n");
return false;
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h
index 9494930..b2c3fbf 100644
--- a/src/gpu/gl/GrGLGpu.h
+++ b/src/gpu/gl/GrGLGpu.h
@@ -361,7 +361,6 @@
void abandon();
void reset();
sk_sp<GrGLProgram> findOrCreateProgram(GrDirectContext*,
- GrRenderTarget*,
const GrProgramInfo&);
sk_sp<GrGLProgram> findOrCreateProgram(GrDirectContext*,
const GrProgramDesc&,
@@ -372,11 +371,10 @@
private:
struct Entry;
- sk_sp<GrGLProgram> findOrCreateProgram(GrDirectContext*,
- GrRenderTarget*,
- const GrProgramDesc&,
- const GrProgramInfo&,
- Stats::ProgramCacheResult*);
+ sk_sp<GrGLProgram> findOrCreateProgramImpl(GrDirectContext*,
+ const GrProgramDesc&,
+ const GrProgramInfo&,
+ Stats::ProgramCacheResult*);
struct DescHash {
uint32_t operator()(const GrProgramDesc& desc) const {
diff --git a/src/gpu/gl/GrGLGpuProgramCache.cpp b/src/gpu/gl/GrGLGpuProgramCache.cpp
index 53fd545..9ee1b80 100644
--- a/src/gpu/gl/GrGLGpuProgramCache.cpp
+++ b/src/gpu/gl/GrGLGpuProgramCache.cpp
@@ -49,19 +49,17 @@
}
sk_sp<GrGLProgram> GrGLGpu::ProgramCache::findOrCreateProgram(GrDirectContext* dContext,
- GrRenderTarget* renderTarget,
const GrProgramInfo& programInfo) {
const GrCaps* caps = dContext->priv().caps();
- GrProgramDesc desc = caps->makeDesc(renderTarget, programInfo);
+ GrProgramDesc desc = caps->makeDesc(/*renderTarget*/nullptr, programInfo);
if (!desc.isValid()) {
GrCapsDebugf(caps, "Failed to gl program descriptor!\n");
return nullptr;
}
Stats::ProgramCacheResult stat;
- sk_sp<GrGLProgram> tmp = this->findOrCreateProgram(dContext, renderTarget, desc,
- programInfo, &stat);
+ sk_sp<GrGLProgram> tmp = this->findOrCreateProgramImpl(dContext, desc, programInfo, &stat);
if (!tmp) {
fStats.incNumInlineCompilationFailures();
} else {
@@ -75,7 +73,7 @@
const GrProgramDesc& desc,
const GrProgramInfo& programInfo,
Stats::ProgramCacheResult* stat) {
- sk_sp<GrGLProgram> tmp = this->findOrCreateProgram(dContext, nullptr, desc, programInfo, stat);
+ sk_sp<GrGLProgram> tmp = this->findOrCreateProgramImpl(dContext, desc, programInfo, stat);
if (!tmp) {
fStats.incNumPreCompilationFailures();
} else {
@@ -85,19 +83,18 @@
return tmp;
}
-sk_sp<GrGLProgram> GrGLGpu::ProgramCache::findOrCreateProgram(GrDirectContext* dContext,
- GrRenderTarget* renderTarget,
- const GrProgramDesc& desc,
- const GrProgramInfo& programInfo,
- Stats::ProgramCacheResult* stat) {
+sk_sp<GrGLProgram> GrGLGpu::ProgramCache::findOrCreateProgramImpl(GrDirectContext* dContext,
+ const GrProgramDesc& desc,
+ const GrProgramInfo& programInfo,
+ Stats::ProgramCacheResult* stat) {
*stat = Stats::ProgramCacheResult::kHit;
std::unique_ptr<Entry>* entry = fMap.find(desc);
if (entry && !(*entry)->fProgram) {
// We've pre-compiled the GL program, but don't have the GrGLProgram scaffolding
const GrGLPrecompiledProgram* precompiledProgram = &((*entry)->fPrecompiledProgram);
SkASSERT(precompiledProgram->fProgramID != 0);
- (*entry)->fProgram = GrGLProgramBuilder::CreateProgram(dContext, renderTarget, desc,
- programInfo, precompiledProgram);
+ (*entry)->fProgram = GrGLProgramBuilder::CreateProgram(dContext, desc, programInfo,
+ precompiledProgram);
if (!(*entry)->fProgram) {
// Should we purge the program ID from the cache at this point?
SkDEBUGFAIL("Couldn't create program from precompiled program");
@@ -108,8 +105,7 @@
*stat = Stats::ProgramCacheResult::kPartial;
} else if (!entry) {
// We have a cache miss
- sk_sp<GrGLProgram> program = GrGLProgramBuilder::CreateProgram(dContext, renderTarget,
- desc, programInfo);
+ sk_sp<GrGLProgram> program = GrGLProgramBuilder::CreateProgram(dContext, desc, programInfo);
if (!program) {
fStats.incNumCompilationFailures();
return nullptr;
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
index 15050f2..856d2b9 100644
--- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
@@ -48,7 +48,6 @@
sk_sp<GrGLProgram> GrGLProgramBuilder::CreateProgram(
GrDirectContext* dContext,
- GrRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo,
const GrGLPrecompiledProgram* precompiledProgram) {
@@ -59,7 +58,7 @@
// create a builder. This will be handed off to effects so they can use it to add
// uniforms, varyings, textures, etc
- GrGLProgramBuilder builder(glGpu, renderTarget, desc, programInfo);
+ GrGLProgramBuilder builder(glGpu, desc, programInfo);
auto persistentCache = dContext->priv().getPersistentCache();
if (persistentCache && !precompiledProgram) {
@@ -78,10 +77,9 @@
/////////////////////////////////////////////////////////////////////////////
GrGLProgramBuilder::GrGLProgramBuilder(GrGLGpu* gpu,
- GrRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo)
- : INHERITED(renderTarget, desc, programInfo)
+ : INHERITED(desc, programInfo)
, fGpu(gpu)
, fVaryingHandler(this)
, fUniformHandler(this)
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.h b/src/gpu/gl/builders/GrGLProgramBuilder.h
index 7049832..67b88b6 100644
--- a/src/gpu/gl/builders/GrGLProgramBuilder.h
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.h
@@ -45,7 +45,6 @@
* @return the created program if generation was successful.
*/
static sk_sp<GrGLProgram> CreateProgram(GrDirectContext*,
- GrRenderTarget*,
const GrProgramDesc&,
const GrProgramInfo&,
const GrGLPrecompiledProgram* = nullptr);
@@ -59,7 +58,7 @@
SkSL::Compiler* shaderCompiler() const override;
private:
- GrGLProgramBuilder(GrGLGpu*, GrRenderTarget*, const GrProgramDesc&, const GrProgramInfo&);
+ GrGLProgramBuilder(GrGLGpu*, const GrProgramDesc&, const GrProgramInfo&);
void addInputVars(const SkSL::Program::Inputs& inputs);
bool compileAndAttachShaders(const SkSL::String& glsl,
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
index db4a2c2..17e7414 100644
--- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
@@ -23,14 +23,12 @@
const int GrGLSLProgramBuilder::kVarsPerBlock = 8;
-GrGLSLProgramBuilder::GrGLSLProgramBuilder(GrRenderTarget* renderTarget,
- const GrProgramDesc& desc,
+GrGLSLProgramBuilder::GrGLSLProgramBuilder(const GrProgramDesc& desc,
const GrProgramInfo& programInfo)
: fVS(this)
, fGS(this)
, fFS(this)
, fStageIndex(-1)
- , fRenderTarget(renderTarget)
, fDesc(desc)
, fProgramInfo(programInfo)
, fGeometryProcessor(nullptr)
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.h b/src/gpu/glsl/GrGLSLProgramBuilder.h
index d54d118..03aa6c3 100644
--- a/src/gpu/glsl/GrGLSLProgramBuilder.h
+++ b/src/gpu/glsl/GrGLSLProgramBuilder.h
@@ -99,7 +99,6 @@
int fStageIndex;
- GrRenderTarget* fRenderTarget; // TODO: remove this
const GrProgramDesc& fDesc;
const GrProgramInfo& fProgramInfo;
@@ -110,7 +109,7 @@
std::vector<std::unique_ptr<GrGLSLFragmentProcessor>> fFPImpls;
protected:
- explicit GrGLSLProgramBuilder(GrRenderTarget*, const GrProgramDesc&, const GrProgramInfo&);
+ explicit GrGLSLProgramBuilder(const GrProgramDesc&, const GrProgramInfo&);
void addFeature(GrShaderFlags shaders, uint32_t featureBit, const char* extensionName);
diff --git a/src/gpu/mtl/GrMtlPipelineStateBuilder.mm b/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
index 0cb70d5..67db118 100644
--- a/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
+++ b/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
@@ -44,7 +44,7 @@
GrMtlPipelineStateBuilder::GrMtlPipelineStateBuilder(GrMtlGpu* gpu,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo)
- : INHERITED(nullptr, desc, programInfo)
+ : INHERITED(desc, programInfo)
, fGpu(gpu)
, fUniformHandler(this)
, fVaryingHandler(this) {
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.cpp b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
index e4e9379..adc609d 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.cpp
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
@@ -24,7 +24,6 @@
GrVkPipelineState* GrVkPipelineStateBuilder::CreatePipelineState(
GrVkGpu* gpu,
- GrRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo,
VkRenderPass compatibleRenderPass,
@@ -39,7 +38,7 @@
// create a builder. This will be handed off to effects so they can use it to add
// uniforms, varyings, textures, etc
- GrVkPipelineStateBuilder builder(gpu, renderTarget, desc, programInfo);
+ GrVkPipelineStateBuilder builder(gpu, desc, programInfo);
if (!builder.emitAndInstallProcs()) {
return nullptr;
@@ -49,10 +48,9 @@
}
GrVkPipelineStateBuilder::GrVkPipelineStateBuilder(GrVkGpu* gpu,
- GrRenderTarget* renderTarget,
const GrProgramDesc& desc,
const GrProgramInfo& programInfo)
- : INHERITED(renderTarget, desc, programInfo)
+ : INHERITED(desc, programInfo)
, fGpu(gpu)
, fVaryingHandler(this)
, fUniformHandler(this) {}
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.h b/src/gpu/vk/GrVkPipelineStateBuilder.h
index 6ab3d98..94c80bb 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.h
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.h
@@ -30,7 +30,6 @@
* @return the created pipeline if generation was successful; nullptr otherwise
*/
static GrVkPipelineState* CreatePipelineState(GrVkGpu*,
- GrRenderTarget*,
const GrProgramDesc&,
const GrProgramInfo&,
VkRenderPass compatibleRenderPass,
@@ -46,7 +45,7 @@
void finalizeFragmentSecondaryColor(GrShaderVar& outputColor) override;
private:
- GrVkPipelineStateBuilder(GrVkGpu*, GrRenderTarget*, const GrProgramDesc&, const GrProgramInfo&);
+ GrVkPipelineStateBuilder(GrVkGpu*, const GrProgramDesc&, const GrProgramInfo&);
GrVkPipelineState* finalize(const GrProgramDesc&, VkRenderPass compatibleRenderPass,
bool overrideSupbassForResolveLoad);
diff --git a/src/gpu/vk/GrVkPipelineStateCache.cpp b/src/gpu/vk/GrVkPipelineStateCache.cpp
index 3d3fb23..c4e6641 100644
--- a/src/gpu/vk/GrVkPipelineStateCache.cpp
+++ b/src/gpu/vk/GrVkPipelineStateCache.cpp
@@ -95,9 +95,8 @@
}
Stats::ProgramCacheResult stat;
- auto tmp = this->findOrCreatePipelineState(renderTarget, desc, programInfo,
- compatibleRenderPass, overrideSubpassForResolveLoad,
- &stat);
+ auto tmp = this->findOrCreatePipelineStateImpl(desc, programInfo, compatibleRenderPass,
+ overrideSubpassForResolveLoad, &stat);
if (!tmp) {
fStats.incNumInlineCompilationFailures();
} else {
@@ -107,8 +106,7 @@
return tmp;
}
-GrVkPipelineState* GrVkResourceProvider::PipelineStateCache::findOrCreatePipelineState(
- GrRenderTarget* renderTarget,
+GrVkPipelineState* GrVkResourceProvider::PipelineStateCache::findOrCreatePipelineStateImpl(
const GrProgramDesc& desc,
const GrProgramInfo& programInfo,
VkRenderPass compatibleRenderPass,
@@ -124,8 +122,7 @@
*stat = Stats::ProgramCacheResult::kMiss;
}
GrVkPipelineState* pipelineState(GrVkPipelineStateBuilder::CreatePipelineState(
- fGpu, renderTarget, desc, programInfo, compatibleRenderPass,
- overrideSubpassForResolveLoad));
+ fGpu, desc, programInfo, compatibleRenderPass, overrideSubpassForResolveLoad));
if (!pipelineState) {
return nullptr;
}
diff --git a/src/gpu/vk/GrVkResourceProvider.h b/src/gpu/vk/GrVkResourceProvider.h
index 1e8702f..96c7247 100644
--- a/src/gpu/vk/GrVkResourceProvider.h
+++ b/src/gpu/vk/GrVkResourceProvider.h
@@ -238,19 +238,18 @@
const GrProgramInfo& programInfo,
VkRenderPass compatibleRenderPass,
Stats::ProgramCacheResult* stat) {
- return this->findOrCreatePipelineState(nullptr, desc, programInfo,
- compatibleRenderPass, false, stat);
+ return this->findOrCreatePipelineStateImpl(desc, programInfo, compatibleRenderPass,
+ false, stat);
}
private:
struct Entry;
- GrVkPipelineState* findOrCreatePipelineState(GrRenderTarget*,
- const GrProgramDesc&,
- const GrProgramInfo&,
- VkRenderPass compatibleRenderPass,
- bool overrideSubpassForResolveLoad,
- Stats::ProgramCacheResult*);
+ GrVkPipelineState* findOrCreatePipelineStateImpl(const GrProgramDesc&,
+ const GrProgramInfo&,
+ VkRenderPass compatibleRenderPass,
+ bool overrideSubpassForResolveLoad,
+ Stats::ProgramCacheResult*);
struct DescHash {
uint32_t operator()(const GrProgramDesc& desc) const {