Got RelaxedPrecision decorations working again in SPIR-V, and removed
no-longer-needed old-style precision handling code.
Bug: skia:8829
Change-Id: I72fc2ee2a305c9c72a3efa92dd44d18239eabaf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198169
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
index de892b5..cdfae83 100644
--- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
@@ -353,18 +353,16 @@
SkASSERT(!fUniformHandles.fRTWidthUni.isValid());
GrGLSLUniformHandler* uniformHandler = this->uniformHandler();
fUniformHandles.fRTWidthUni =
- uniformHandler->internalAddUniformArray(kFragment_GrShaderFlag,
- kHalf_GrSLType, kDefault_GrSLPrecision,
- name, false, 0, nullptr);
+ uniformHandler->internalAddUniformArray(kFragment_GrShaderFlag, kHalf_GrSLType, name,
+ false, 0, nullptr);
}
void GrGLSLProgramBuilder::addRTHeightUniform(const char* name) {
SkASSERT(!fUniformHandles.fRTHeightUni.isValid());
GrGLSLUniformHandler* uniformHandler = this->uniformHandler();
fUniformHandles.fRTHeightUni =
- uniformHandler->internalAddUniformArray(kFragment_GrShaderFlag,
- kHalf_GrSLType, kDefault_GrSLPrecision,
- name, false, 0, nullptr);
+ uniformHandler->internalAddUniformArray(kFragment_GrShaderFlag, kHalf_GrSLType, name,
+ false, 0, nullptr);
}
void GrGLSLProgramBuilder::finalizeShaders() {
diff --git a/src/gpu/glsl/GrGLSLUniformHandler.h b/src/gpu/glsl/GrGLSLUniformHandler.h
index 5ee524c..607232e 100644
--- a/src/gpu/glsl/GrGLSLUniformHandler.h
+++ b/src/gpu/glsl/GrGLSLUniformHandler.h
@@ -45,30 +45,10 @@
to add an array of uniforms. */
UniformHandle addUniform(uint32_t visibility,
GrSLType type,
- GrSLPrecision precision,
const char* name,
const char** outName = nullptr) {
SkASSERT(!GrSLTypeIsCombinedSamplerType(type));
- return this->addUniformArray(visibility, type, precision, name, 0, outName);
- }
-
- UniformHandle addUniform(uint32_t visibility,
- GrSLType type,
- const char* name,
- const char** outName = nullptr) {
- return this->addUniform(visibility, type, kDefault_GrSLPrecision, name, outName);
- }
-
- UniformHandle addUniformArray(uint32_t visibility,
- GrSLType type,
- GrSLPrecision precision,
- const char* name,
- int arrayCount,
- const char** outName = nullptr) {
- SkASSERT(!GrSLTypeIsCombinedSamplerType(type));
- bool mangle = strncmp(name, GR_NO_MANGLE_PREFIX, strlen(GR_NO_MANGLE_PREFIX));
- return this->internalAddUniformArray(visibility, type, precision, name, mangle, arrayCount,
- outName);
+ return this->addUniformArray(visibility, type, name, 0, outName);
}
UniformHandle addUniformArray(uint32_t visibility,
@@ -78,8 +58,7 @@
const char** outName = nullptr) {
SkASSERT(!GrSLTypeIsCombinedSamplerType(type));
bool mangle = strncmp(name, GR_NO_MANGLE_PREFIX, strlen(GR_NO_MANGLE_PREFIX));
- return this->internalAddUniformArray(visibility, type, kDefault_GrSLPrecision, name, mangle,
- arrayCount, outName);
+ return this->internalAddUniformArray(visibility, type, name, mangle, arrayCount, outName);
}
virtual const GrShaderVar& getUniformVariable(UniformHandle u) const = 0;
@@ -104,7 +83,6 @@
virtual UniformHandle internalAddUniformArray(uint32_t visibility,
GrSLType type,
- GrSLPrecision precision,
const char* name,
bool mangleName,
int arrayCount,
diff --git a/src/gpu/glsl/GrGLSLVarying.cpp b/src/gpu/glsl/GrGLSLVarying.cpp
index a435f24..53f4533 100644
--- a/src/gpu/glsl/GrGLSLVarying.cpp
+++ b/src/gpu/glsl/GrGLSLVarying.cpp
@@ -109,22 +109,21 @@
const char* modifier = v.fIsFlat ? "flat" : fDefaultInterpolationModifier;
if (v.fVisibility & kVertex_GrShaderFlag) {
fVertexOutputs.push_back().set(v.fType, v.fVsOut, GrShaderVar::kOut_TypeModifier,
- kDefault_GrSLPrecision, nullptr, modifier);
+ nullptr, modifier);
if (v.fVisibility & kGeometry_GrShaderFlag) {
fGeomInputs.push_back().set(v.fType, v.fVsOut, GrShaderVar::kUnsizedArray,
- GrShaderVar::kIn_TypeModifier, kDefault_GrSLPrecision,
- nullptr, modifier);
+ GrShaderVar::kIn_TypeModifier, nullptr, modifier);
}
}
if (v.fVisibility & kFragment_GrShaderFlag) {
const char* fsIn = v.fVsOut.c_str();
if (v.fVisibility & kGeometry_GrShaderFlag) {
fGeomOutputs.push_back().set(v.fType, v.fGsOut, GrShaderVar::kOut_TypeModifier,
- kDefault_GrSLPrecision, nullptr, modifier);
+ nullptr, modifier);
fsIn = v.fGsOut.c_str();
}
- fFragInputs.push_back().set(v.fType, fsIn, GrShaderVar::kIn_TypeModifier,
- kDefault_GrSLPrecision, nullptr, modifier);
+ fFragInputs.push_back().set(v.fType, fsIn, GrShaderVar::kIn_TypeModifier, nullptr,
+ modifier);
}
}
this->onFinalize();