diff options
author | 2016-11-18 15:35:33 -0500 | |
---|---|---|
committer | 2016-11-18 21:15:20 +0000 | |
commit | f31ae495271e0343f568fb9a1d7e2df81e196896 (patch) | |
tree | d1314d94fb65221426e11983f1e3b306e8e1d560 | |
parent | c36dedf613b09cc5e2286b2f0602c73722c85958 (diff) |
Remove unnecessary attribute and varying type modifiers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5007
Change-Id: Ic9fefe09221d5e367b5aa5dd0084fc7d6631998c
Reviewed-on: https://skia-review.googlesource.com/5007
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
-rw-r--r-- | bench/GLInstancedArraysBench.cpp | 8 | ||||
-rw-r--r-- | bench/GLVec4ScalarBench.cpp | 12 | ||||
-rw-r--r-- | bench/GLVertexAttributesBench.cpp | 8 | ||||
-rw-r--r-- | include/gpu/GrShaderVar.h | 4 | ||||
-rw-r--r-- | src/gpu/gl/GrGLGpu.cpp | 38 | ||||
-rw-r--r-- | src/gpu/glsl/GrGLSLShaderVar.h | 8 | ||||
-rw-r--r-- | src/gpu/glsl/GrGLSLVarying.cpp | 12 |
7 files changed, 39 insertions, 51 deletions
diff --git a/bench/GLInstancedArraysBench.cpp b/bench/GLInstancedArraysBench.cpp index e98ab72587..a97e6c8a17 100644 --- a/bench/GLInstancedArraysBench.cpp +++ b/bench/GLInstancedArraysBench.cpp @@ -111,9 +111,9 @@ GrGLuint GLCpuPosInstancedArraysBench::setupShader(const GrGLContext* ctx) { const char* version = glslCaps->versionDeclString(); // setup vertex shader - GrGLSLShaderVar aPosition("a_position", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); - GrGLSLShaderVar aColor("a_color", kVec3f_GrSLType, GrShaderVar::kAttribute_TypeModifier); - GrGLSLShaderVar oColor("o_color", kVec3f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier); + GrGLSLShaderVar aPosition("a_position", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); + GrGLSLShaderVar aColor("a_color", kVec3f_GrSLType, GrShaderVar::kIn_TypeModifier); + GrGLSLShaderVar oColor("o_color", kVec3f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString vshaderTxt(version); aPosition.appendDecl(glslCaps, &vshaderTxt); @@ -134,7 +134,7 @@ GrGLuint GLCpuPosInstancedArraysBench::setupShader(const GrGLContext* ctx) { GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString fshaderTxt(version); GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, *glslCaps, &fshaderTxt); - oColor.setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + oColor.setTypeModifier(GrShaderVar::kIn_TypeModifier); oColor.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";\n"); diff --git a/bench/GLVec4ScalarBench.cpp b/bench/GLVec4ScalarBench.cpp index 8511637f11..01eda889d6 100644 --- a/bench/GLVec4ScalarBench.cpp +++ b/bench/GLVec4ScalarBench.cpp @@ -101,10 +101,10 @@ GrGLuint GLVec4ScalarBench::setupShader(const GrGLContext* ctx) { // corner of the screen than the previous circle. // set up vertex shader; this is a trivial vertex shader that passes through position and color - GrGLSLShaderVar aPosition("a_position", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); - GrGLSLShaderVar oPosition("o_position", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier); - GrGLSLShaderVar aColor("a_color", kVec3f_GrSLType, GrShaderVar::kAttribute_TypeModifier); - GrGLSLShaderVar oColor("o_color", kVec3f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier); + GrGLSLShaderVar aPosition("a_position", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); + GrGLSLShaderVar oPosition("o_position", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier); + GrGLSLShaderVar aColor("a_color", kVec3f_GrSLType, GrShaderVar::kIn_TypeModifier); + GrGLSLShaderVar oColor("o_color", kVec3f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString vshaderTxt(version); aPosition.appendDecl(glslCaps, &vshaderTxt); @@ -132,10 +132,10 @@ GrGLuint GLVec4ScalarBench::setupShader(const GrGLContext* ctx) { GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString fshaderTxt(version); GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, *glslCaps, &fshaderTxt); - oPosition.setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + oPosition.setTypeModifier(GrShaderVar::kIn_TypeModifier); oPosition.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";\n"); - oColor.setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + oColor.setTypeModifier(GrShaderVar::kIn_TypeModifier); oColor.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";\n"); diff --git a/bench/GLVertexAttributesBench.cpp b/bench/GLVertexAttributesBench.cpp index f579a3ea39..1bd4ff3f30 100644 --- a/bench/GLVertexAttributesBench.cpp +++ b/bench/GLVertexAttributesBench.cpp @@ -69,7 +69,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a const char* version = glslCaps->versionDeclString(); // setup vertex shader - GrGLSLShaderVar aPosition("a_position", kVec4f_GrSLType, GrShaderVar::kAttribute_TypeModifier); + GrGLSLShaderVar aPosition("a_position", kVec4f_GrSLType, GrShaderVar::kIn_TypeModifier); SkTArray<GrGLSLShaderVar> aVars; SkTArray<GrGLSLShaderVar> oVars; @@ -82,7 +82,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a aname.appendf("a_color_%d", i); aVars.push_back(GrGLSLShaderVar(aname.c_str(), kVec4f_GrSLType, - GrShaderVar::kAttribute_TypeModifier)); + GrShaderVar::kIn_TypeModifier)); aVars.back().appendDecl(glslCaps, &vshaderTxt); vshaderTxt.append(";\n"); @@ -93,7 +93,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a oname.appendf("o_color_%d", i); oVars.push_back(GrGLSLShaderVar(oname.c_str(), kVec4f_GrSLType, - GrShaderVar::kVaryingOut_TypeModifier)); + GrShaderVar::kOut_TypeModifier)); oVars.back().appendDecl(glslCaps, &vshaderTxt); vshaderTxt.append(";\n"); } @@ -129,7 +129,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a } for (uint32_t i = 0; i < maxAttribs; i++) { - oVars[i].setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + oVars[i].setTypeModifier(GrShaderVar::kIn_TypeModifier); oVars[i].appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";\n"); } diff --git a/include/gpu/GrShaderVar.h b/include/gpu/GrShaderVar.h index 78e08e0d9a..60e951c2cf 100644 --- a/include/gpu/GrShaderVar.h +++ b/include/gpu/GrShaderVar.h @@ -28,10 +28,6 @@ public: kIn_TypeModifier, kInOut_TypeModifier, kUniform_TypeModifier, - // GL Specific types below - kAttribute_TypeModifier, - kVaryingIn_TypeModifier, - kVaryingOut_TypeModifier }; /** diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp index 57376d7609..71b3be319f 100644 --- a/src/gpu/gl/GrGLGpu.cpp +++ b/src/gpu/gl/GrGLGpu.cpp @@ -334,13 +334,13 @@ bool GrGLGpu::createPLSSetupProgram() { const GrGLSLCaps* glslCaps = this->glCaps().glslCaps(); const char* version = glslCaps->versionDeclString(); - GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); + GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); GrGLSLShaderVar uTexCoordXform("u_texCoordXform", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); GrGLSLShaderVar uPosXform("u_posXform", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); GrGLSLShaderVar uTexture("u_texture", kTexture2DSampler_GrSLType, GrShaderVar::kUniform_TypeModifier); - GrGLSLShaderVar vTexCoord("v_texCoord", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier); + GrGLSLShaderVar vTexCoord("v_texCoord", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString vshaderTxt(version); if (glslCaps->noperspectiveInterpolationSupport()) { @@ -377,7 +377,7 @@ bool GrGLGpu::createPLSSetupProgram() { fshaderTxt.append(" : require\n"); fshaderTxt.append("#extension GL_EXT_shader_pixel_local_storage : require\n"); GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, *glslCaps, &fshaderTxt); - vTexCoord.setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + vTexCoord.setTypeModifier(GrShaderVar::kIn_TypeModifier); vTexCoord.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";"); uTexture.appendDecl(glslCaps, &fshaderTxt); @@ -3753,17 +3753,13 @@ bool GrGLGpu::createCopyProgram(GrTexture* srcTex) { } const char* version = glslCaps->versionDeclString(); - GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); + GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); GrGLSLShaderVar uTexCoordXform("u_texCoordXform", kVec4f_GrSLType, - GrShaderVar::kUniform_TypeModifier); - GrGLSLShaderVar uPosXform("u_posXform", kVec4f_GrSLType, - GrShaderVar::kUniform_TypeModifier); - GrGLSLShaderVar uTexture("u_texture", samplerType, - GrShaderVar::kUniform_TypeModifier); - GrGLSLShaderVar vTexCoord("v_texCoord", kVec2f_GrSLType, - GrShaderVar::kVaryingOut_TypeModifier); - GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, - GrShaderVar::kOut_TypeModifier); + GrShaderVar::kUniform_TypeModifier); + GrGLSLShaderVar uPosXform("u_posXform", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); + GrGLSLShaderVar uTexture("u_texture", samplerType, GrShaderVar::kUniform_TypeModifier); + GrGLSLShaderVar vTexCoord("v_texCoord", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier); + GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString vshaderTxt(version); if (glslCaps->noperspectiveInterpolationSupport()) { @@ -3803,7 +3799,7 @@ bool GrGLGpu::createCopyProgram(GrTexture* srcTex) { } GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, *glslCaps, &fshaderTxt); - vTexCoord.setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + vTexCoord.setTypeModifier(GrShaderVar::kIn_TypeModifier); vTexCoord.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";"); uTexture.appendDecl(glslCaps, &fshaderTxt); @@ -3862,17 +3858,17 @@ bool GrGLGpu::createMipmapProgram(int progIdx) { } const char* version = glslCaps->versionDeclString(); - GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); + GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); GrGLSLShaderVar uTexCoordXform("u_texCoordXform", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); GrGLSLShaderVar uTexture("u_texture", kTexture2DSampler_GrSLType, GrShaderVar::kUniform_TypeModifier); // We need 1, 2, or 4 texture coordinates (depending on parity of each dimension): GrGLSLShaderVar vTexCoords[] = { - GrGLSLShaderVar("v_texCoord0", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier), - GrGLSLShaderVar("v_texCoord1", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier), - GrGLSLShaderVar("v_texCoord2", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier), - GrGLSLShaderVar("v_texCoord3", kVec2f_GrSLType, GrShaderVar::kVaryingOut_TypeModifier), + GrGLSLShaderVar("v_texCoord0", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier), + GrGLSLShaderVar("v_texCoord1", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier), + GrGLSLShaderVar("v_texCoord2", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier), + GrGLSLShaderVar("v_texCoord3", kVec2f_GrSLType, GrShaderVar::kOut_TypeModifier), }; GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); @@ -3939,7 +3935,7 @@ bool GrGLGpu::createMipmapProgram(int progIdx) { GrGLSLAppendDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision, *glslCaps, &fshaderTxt); for (int i = 0; i < numTaps; ++i) { - vTexCoords[i].setTypeModifier(GrShaderVar::kVaryingIn_TypeModifier); + vTexCoords[i].setTypeModifier(GrShaderVar::kIn_TypeModifier); vTexCoords[i].appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";"); } @@ -4026,7 +4022,7 @@ bool GrGLGpu::createWireRectProgram() { GrGLSLShaderVar uColor("u_color", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); GrGLSLShaderVar uRect("u_rect", kVec4f_GrSLType, GrShaderVar::kUniform_TypeModifier); - GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kAttribute_TypeModifier); + GrGLSLShaderVar aVertex("a_vertex", kVec2f_GrSLType, GrShaderVar::kIn_TypeModifier); const char* version = this->glCaps().glslCaps()->versionDeclString(); // The rect uniform specifies the rectangle in NDC space as a vec4 (left,top,right,bottom). The diff --git a/src/gpu/glsl/GrGLSLShaderVar.h b/src/gpu/glsl/GrGLSLShaderVar.h index 35ac4bcb84..74afed8cda 100644 --- a/src/gpu/glsl/GrGLSLShaderVar.h +++ b/src/gpu/glsl/GrGLSLShaderVar.h @@ -216,21 +216,17 @@ private: switch (t) { case kNone_TypeModifier: return ""; - case kAttribute_TypeModifier: // fall through - case kVaryingIn_TypeModifier: // fall through case kIn_TypeModifier: return "in"; case kInOut_TypeModifier: return "inout"; - case kVaryingOut_TypeModifier: // fall through case kOut_TypeModifier: return "out"; case kUniform_TypeModifier: return "uniform"; - default: - SkFAIL("Unknown shader variable type modifier."); - return ""; // suppress warning } + SkFAIL("Unknown shader variable type modifier."); + return ""; // suppress warning } /// Work around driver bugs on some hardware that don't correctly diff --git a/src/gpu/glsl/GrGLSLVarying.cpp b/src/gpu/glsl/GrGLSLVarying.cpp index f3b0405ff5..4d9b61fd86 100644 --- a/src/gpu/glsl/GrGLSLVarying.cpp +++ b/src/gpu/glsl/GrGLSLVarying.cpp @@ -72,14 +72,14 @@ void GrGLSLVaryingHandler::emitAttributes(const GrGeometryProcessor& gp) { const GrGeometryProcessor::Attribute& attr = gp.getAttrib(i); this->addAttribute(GrShaderVar(attr.fName, GrVertexAttribTypeToSLType(attr.fType), - GrShaderVar::kAttribute_TypeModifier, + GrShaderVar::kIn_TypeModifier, GrShaderVar::kNonArray, attr.fPrecision)); } } void GrGLSLVaryingHandler::addAttribute(const GrShaderVar& var) { - SkASSERT(GrShaderVar::kAttribute_TypeModifier == var.getTypeModifier()); + SkASSERT(GrShaderVar::kIn_TypeModifier == var.getTypeModifier()); for (int j = 0; j < fVertexInputs.count(); ++j) { const GrGLSLShaderVar& attr = fVertexInputs[j]; // if attribute already added, don't add it again @@ -111,10 +111,10 @@ void GrGLSLVaryingHandler::finalize() { const VaryingInfo& v = this->fVaryings[i]; const char* modifier = v.fIsFlat ? "flat" : fDefaultInterpolationModifier; if (v.fVisibility & kVertex_GrShaderFlag) { - fVertexOutputs.push_back().set(v.fType, GrShaderVar::kVaryingOut_TypeModifier, v.fVsOut, + fVertexOutputs.push_back().set(v.fType, GrShaderVar::kOut_TypeModifier, v.fVsOut, v.fPrecision, nullptr, modifier); if (v.fVisibility & kGeometry_GrShaderFlag) { - fGeomInputs.push_back().set(v.fType, GrShaderVar::kVaryingIn_TypeModifier, v.fVsOut, + fGeomInputs.push_back().set(v.fType, GrShaderVar::kIn_TypeModifier, v.fVsOut, GrShaderVar::kUnsizedArray, v.fPrecision, nullptr, modifier); } @@ -122,11 +122,11 @@ void GrGLSLVaryingHandler::finalize() { if (v.fVisibility & kFragment_GrShaderFlag) { const char* fsIn = v.fVsOut.c_str(); if (v.fVisibility & kGeometry_GrShaderFlag) { - fGeomOutputs.push_back().set(v.fType, GrGLSLShaderVar::kVaryingOut_TypeModifier, + fGeomOutputs.push_back().set(v.fType, GrGLSLShaderVar::kOut_TypeModifier, v.fGsOut, v.fPrecision, nullptr, modifier); fsIn = v.fGsOut.c_str(); } - fFragInputs.push_back().set(v.fType, GrShaderVar::kVaryingIn_TypeModifier, fsIn, + fFragInputs.push_back().set(v.fType, GrShaderVar::kIn_TypeModifier, fsIn, v.fPrecision, nullptr, modifier); } } |