diff options
author | 2016-10-10 19:41:32 -0700 | |
---|---|---|
committer | 2016-10-10 19:41:32 -0700 | |
commit | 4824cf4c1ef991fe9b0dcd1536e83b37907d3fcf (patch) | |
tree | 050073d53e03fc622e69b0df6efde0c9477de932 /src/gpu/gl/GrGLGpu.cpp | |
parent | 9d2b0fea05a0d33a87027d486a3db4b5bba46bd0 (diff) |
Revert of Turned on SkSL->GLSL compiler (patchset #48 id:1220001 of https://codereview.chromium.org/2288033003/ )
Reason for revert:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/26798
Original issue's description:
> Turned on SkSL->GLSL compiler
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003
>
> Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
> Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310
> Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89
> Committed: https://skia.googlesource.com/skia/+/08b2ccf398e2b81bc05d2c105837e5419899469b
> Committed: https://skia.googlesource.com/skia/+/dcfe6dba4a335e50e86ff68e3252065d4197432c
TBR=benjaminwagner@google.com,bsalomon@google.com,egdaniel@google.com,ethannicholas@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2408053002
Diffstat (limited to 'src/gpu/gl/GrGLGpu.cpp')
-rw-r--r-- | src/gpu/gl/GrGLGpu.cpp | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp index 8c0373ac28..5755702463 100644 --- a/src/gpu/gl/GrGLGpu.cpp +++ b/src/gpu/gl/GrGLGpu.cpp @@ -3790,11 +3790,20 @@ bool GrGLGpu::createCopyProgram(int progIdx) { fshaderTxt.append(";"); uTexture.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";"); + const char* fsOutName; + if (glslCaps->mustDeclareFragmentShaderOutput()) { + oFragColor.appendDecl(glslCaps, &fshaderTxt); + fshaderTxt.append(";"); + fsOutName = oFragColor.c_str(); + } else { + fsOutName = "gl_FragColor"; + } fshaderTxt.appendf( "// Copy Program FS\n" "void main() {" - " sk_FragColor = %s(u_texture, v_texCoord);" + " %s = %s(u_texture, v_texCoord);" "}", + fsOutName, GrGLSLTexture2DFunctionName(kVec2f_GrSLType, kSamplerTypes[progIdx], this->glslGeneration()) ); @@ -3927,6 +3936,14 @@ bool GrGLGpu::createMipmapProgram(int progIdx) { } uTexture.appendDecl(glslCaps, &fshaderTxt); fshaderTxt.append(";"); + const char* fsOutName; + if (glslCaps->mustDeclareFragmentShaderOutput()) { + oFragColor.appendDecl(glslCaps, &fshaderTxt); + fshaderTxt.append(";"); + fsOutName = oFragColor.c_str(); + } else { + fsOutName = "gl_FragColor"; + } const char* sampleFunction = GrGLSLTexture2DFunctionName(kVec2f_GrSLType, kTexture2DSampler_GrSLType, this->glslGeneration()); @@ -3937,19 +3954,19 @@ bool GrGLGpu::createMipmapProgram(int progIdx) { if (oddWidth && oddHeight) { fshaderTxt.appendf( - " sk_FragColor = (%s(u_texture, v_texCoord0) + %s(u_texture, v_texCoord1) + " - " %s(u_texture, v_texCoord2) + %s(u_texture, v_texCoord3)) * 0.25;", - sampleFunction, sampleFunction, sampleFunction, sampleFunction + " %s = (%s(u_texture, v_texCoord0) + %s(u_texture, v_texCoord1) + " + " %s(u_texture, v_texCoord2) + %s(u_texture, v_texCoord3)) * 0.25;", + fsOutName, sampleFunction, sampleFunction, sampleFunction, sampleFunction ); } else if (oddWidth || oddHeight) { fshaderTxt.appendf( - " sk_FragColor = (%s(u_texture, v_texCoord0) + %s(u_texture, v_texCoord1)) * 0.5;", - sampleFunction, sampleFunction + " %s = (%s(u_texture, v_texCoord0) + %s(u_texture, v_texCoord1)) * 0.5;", + fsOutName, sampleFunction, sampleFunction ); } else { fshaderTxt.appendf( - " sk_FragColor = %s(u_texture, v_texCoord0);", - sampleFunction + " %s = %s(u_texture, v_texCoord0);", + fsOutName, sampleFunction ); } @@ -4036,11 +4053,20 @@ bool GrGLGpu::createWireRectProgram() { &fshaderTxt); uColor.appendDecl(this->glCaps().glslCaps(), &fshaderTxt); fshaderTxt.append(";"); + const char* fsOutName; + if (this->glCaps().glslCaps()->mustDeclareFragmentShaderOutput()) { + oFragColor.appendDecl(this->glCaps().glslCaps(), &fshaderTxt); + fshaderTxt.append(";"); + fsOutName = oFragColor.c_str(); + } else { + fsOutName = "gl_FragColor"; + } fshaderTxt.appendf( "// Write Rect Program FS\n" "void main() {" - " sk_FragColor = %s;" + " %s = %s;" "}", + fsOutName, uColor.c_str() ); |