Add shaderCompiler() to ProgramBuilders
This will be used by the DSL. Change-Id: Iadc5d06fd463b08cf6edf954f03aaf8ffa1fa56b Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364578 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Auto-Submit: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: John Stiles <johnstiles@google.com>
This commit is contained in:
parent
3d2291cd75
commit
ee9cb6aec3
@ -58,6 +58,10 @@ const GrCaps* GrD3DPipelineStateBuilder::caps() const {
|
||||
return fGpu->caps();
|
||||
}
|
||||
|
||||
SkSL::Compiler* GrD3DPipelineStateBuilder::shaderCompiler() const {
|
||||
return fGpu->shaderCompiler();
|
||||
}
|
||||
|
||||
void GrD3DPipelineStateBuilder::finalizeFragmentOutputColor(GrShaderVar& outputColor) {
|
||||
outputColor.addLayoutQualifier("location = 0, index = 0");
|
||||
}
|
||||
|
@ -36,6 +36,8 @@ public:
|
||||
|
||||
GrD3DGpu* gpu() const { return fGpu; }
|
||||
|
||||
SkSL::Compiler* shaderCompiler() const override;
|
||||
|
||||
void finalizeFragmentOutputColor(GrShaderVar& outputColor) override;
|
||||
void finalizeFragmentSecondaryColor(GrShaderVar& outputColor) override;
|
||||
|
||||
|
@ -450,6 +450,10 @@ const GrCaps* GrDawnProgramBuilder::caps() const {
|
||||
return fGpu->caps();
|
||||
}
|
||||
|
||||
SkSL::Compiler* GrDawnProgramBuilder::shaderCompiler() const {
|
||||
return fGpu->shaderCompiler();
|
||||
}
|
||||
|
||||
void GrDawnProgram::setRenderTargetState(const GrRenderTarget* rt, GrSurfaceOrigin origin) {
|
||||
// Load the RT height uniform if it is needed to y-flip gl_FragCoord.
|
||||
if (fBuiltinUniformHandles.fRTHeightUni.isValid() &&
|
||||
|
@ -86,6 +86,8 @@ public:
|
||||
|
||||
GrDawnGpu* gpu() const { return fGpu; }
|
||||
|
||||
SkSL::Compiler* shaderCompiler() const override;
|
||||
|
||||
private:
|
||||
GrDawnProgramBuilder(GrDawnGpu*,
|
||||
GrRenderTarget*,
|
||||
|
@ -92,6 +92,10 @@ const GrCaps* GrGLProgramBuilder::caps() const {
|
||||
return fGpu->caps();
|
||||
}
|
||||
|
||||
SkSL::Compiler* GrGLProgramBuilder::shaderCompiler() const {
|
||||
return fGpu->shaderCompiler();
|
||||
}
|
||||
|
||||
bool GrGLProgramBuilder::compileAndAttachShaders(const SkSL::String& glsl,
|
||||
GrGLuint programId,
|
||||
GrGLenum type,
|
||||
|
@ -56,6 +56,8 @@ public:
|
||||
|
||||
GrGLGpu* gpu() const { return fGpu; }
|
||||
|
||||
SkSL::Compiler* shaderCompiler() const override;
|
||||
|
||||
private:
|
||||
GrGLProgramBuilder(GrGLGpu*, GrRenderTarget*, const GrProgramDesc&, const GrProgramInfo&);
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "src/gpu/glsl/GrGLSLUniformHandler.h"
|
||||
#include "src/gpu/glsl/GrGLSLVertexGeoBuilder.h"
|
||||
#include "src/gpu/glsl/GrGLSLXferProcessor.h"
|
||||
#include "src/sksl/SkSLCompiler.h"
|
||||
|
||||
class GrProgramDesc;
|
||||
class GrShaderVar;
|
||||
@ -46,6 +47,7 @@ public:
|
||||
return fProgramInfo.pipeline().snapVerticesToPixelCenters();
|
||||
}
|
||||
bool hasPointSize() const { return fProgramInfo.primitiveType() == GrPrimitiveType::kPoints; }
|
||||
virtual SkSL::Compiler* shaderCompiler() const = 0;
|
||||
|
||||
// TODO: stop passing in the renderTarget for just the sampleLocations
|
||||
int effectiveSampleCnt() {
|
||||
|
@ -45,6 +45,8 @@ private:
|
||||
|
||||
const GrCaps* caps() const override;
|
||||
|
||||
SkSL::Compiler* shaderCompiler() const override;
|
||||
|
||||
void finalizeFragmentOutputColor(GrShaderVar& outputColor) override;
|
||||
|
||||
void finalizeFragmentSecondaryColor(GrShaderVar& outputColor) override;
|
||||
|
@ -54,6 +54,10 @@ const GrCaps* GrMtlPipelineStateBuilder::caps() const {
|
||||
return fGpu->caps();
|
||||
}
|
||||
|
||||
SkSL::Compiler* GrMtlPipelineStateBuilder::shaderCompiler() const {
|
||||
return fGpu->shaderCompiler();
|
||||
}
|
||||
|
||||
void GrMtlPipelineStateBuilder::finalizeFragmentOutputColor(GrShaderVar& outputColor) {
|
||||
outputColor.addLayoutQualifier("location = 0, index = 0");
|
||||
}
|
||||
|
@ -58,6 +58,10 @@ const GrCaps* GrVkPipelineStateBuilder::caps() const {
|
||||
return fGpu->caps();
|
||||
}
|
||||
|
||||
SkSL::Compiler* GrVkPipelineStateBuilder::shaderCompiler() const {
|
||||
return fGpu->shaderCompiler();
|
||||
}
|
||||
|
||||
void GrVkPipelineStateBuilder::finalizeFragmentOutputColor(GrShaderVar& outputColor) {
|
||||
outputColor.addLayoutQualifier("location = 0, index = 0");
|
||||
}
|
||||
|
@ -40,6 +40,8 @@ public:
|
||||
|
||||
GrVkGpu* gpu() const { return fGpu; }
|
||||
|
||||
SkSL::Compiler* shaderCompiler() const override;
|
||||
|
||||
void finalizeFragmentOutputColor(GrShaderVar& outputColor) override;
|
||||
void finalizeFragmentSecondaryColor(GrShaderVar& outputColor) override;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user