diff options
author | jvanverth <jvanverth@google.com> | 2016-10-10 09:18:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-10 09:18:23 -0700 |
commit | 15341a284e78651d2b47b89753044f8d6e7eda0a (patch) | |
tree | 80e2eecf6c4d11f4aa078afcb2181af156934b6f /bench | |
parent | e75c19f6380dd07a19faa39edcdbd75c79c7414d (diff) |
Revert of Turned on SkSL->GLSL compiler (patchset #47 id:1200001 of https://codereview.chromium.org/2288033003/ )
Reason for revert:
Looks like it introduces new static initializers, and it's failing the Chrome roll.
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
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/2403083002
Diffstat (limited to 'bench')
-rw-r--r-- | bench/GLBench.cpp | 29 | ||||
-rw-r--r-- | bench/GLBench.h | 4 | ||||
-rw-r--r-- | bench/GLInstancedArraysBench.cpp | 4 | ||||
-rw-r--r-- | bench/GLVec4ScalarBench.cpp | 4 | ||||
-rw-r--r-- | bench/GLVertexAttributesBench.cpp | 6 |
5 files changed, 18 insertions, 29 deletions
diff --git a/bench/GLBench.cpp b/bench/GLBench.cpp index b6975508cf..8cf41c2056 100644 --- a/bench/GLBench.cpp +++ b/bench/GLBench.cpp @@ -11,10 +11,7 @@ #include "GrGpu.h" #include "GrTest.h" #include "gl/GrGLContext.h" -#include "gl/builders/GrGLShaderStringBuilder.h" -#include "SkSLCompiler.h" #include <stdio.h> -#include <string> const GrGLContext* GLBench::getGLContext(SkCanvas* canvas) { // This bench exclusively tests GL calls directly @@ -64,26 +61,13 @@ void GLBench::onDraw(int loops, SkCanvas* canvas) { canvas->getGrContext()->resetContext(); } -GrGLuint GLBench::CompileShader(const GrGLContext* context, const char* sksl, GrGLenum type) { - const GrGLInterface* gl = context->interface(); - std::string glsl; - bool result = context->compiler()->toGLSL(type == GR_GL_VERTEX_SHADER - ? SkSL::Program::kVertex_Kind - : SkSL::Program::kFragment_Kind, - std::string(sksl), - GrGLSkSLCapsForContext(*context), - &glsl); - if (!result) { - SkDebugf("SkSL compilation failed:\n%s\n%s\n", sksl, - context->compiler()->errorText().c_str()); - } +GrGLuint GLBench::CompileShader(const GrGLInterface* gl, const char* shaderSrc, GrGLenum type) { GrGLuint shader; // Create the shader object GR_GL_CALL_RET(gl, shader, CreateShader(type)); // Load the shader source - const char* glslPtr = glsl.c_str(); - GR_GL_CALL(gl, ShaderSource(shader, 1, (const char**) &glslPtr, nullptr)); + GR_GL_CALL(gl, ShaderSource(shader, 1, &shaderSrc, nullptr)); // Compile the shader GR_GL_CALL(gl, CompileShader(shader)); @@ -100,11 +84,10 @@ GrGLuint GLBench::CompileShader(const GrGLContext* context, const char* sksl, Gr return shader; } -GrGLuint GLBench::CreateProgram(const GrGLContext* context, const char* vshader, - const char* fshader) { - const GrGLInterface* gl = context->interface(); - GrGLuint vertexShader = CompileShader(context, vshader, GR_GL_VERTEX_SHADER); - GrGLuint fragmentShader = CompileShader(context, fshader, GR_GL_FRAGMENT_SHADER); +GrGLuint GLBench::CreateProgram(const GrGLInterface* gl, const char* vshader, const char* fshader) { + + GrGLuint vertexShader = CompileShader(gl, vshader, GR_GL_VERTEX_SHADER); + GrGLuint fragmentShader = CompileShader(gl, fshader, GR_GL_FRAGMENT_SHADER); GrGLuint shaderProgram; GR_GL_CALL_RET(gl, shaderProgram, CreateProgram()); diff --git a/bench/GLBench.h b/bench/GLBench.h index a358894cb4..9033b12e55 100644 --- a/bench/GLBench.h +++ b/bench/GLBench.h @@ -35,8 +35,8 @@ protected: virtual void teardown(const GrGLInterface*)=0; void onDraw(int loops, SkCanvas*) override; virtual void glDraw(int loops, const GrGLContext*)=0; - static GrGLuint CompileShader(const GrGLContext*, const char* shaderSrc, GrGLenum type); - static GrGLuint CreateProgram(const GrGLContext*, const char* vshader, const char* fshader); + static GrGLuint CompileShader(const GrGLInterface*, const char* shaderSrc, GrGLenum type); + static GrGLuint CreateProgram(const GrGLInterface*, const char* vshader, const char* fshader); static GrGLuint SetupFramebuffer(const GrGLInterface*, int screenWidth, int screenHeight); static void DumpImage(const GrGLInterface* gl, uint32_t screenWidth, uint32_t screenHeight, const char* filename); diff --git a/bench/GLInstancedArraysBench.cpp b/bench/GLInstancedArraysBench.cpp index e98ab72587..d89c087605 100644 --- a/bench/GLInstancedArraysBench.cpp +++ b/bench/GLInstancedArraysBench.cpp @@ -130,6 +130,8 @@ GrGLuint GLCpuPosInstancedArraysBench::setupShader(const GrGLContext* ctx) { "o_color = a_color;\n" "}\n"); + const GrGLInterface* gl = ctx->interface(); + // setup fragment shader GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString fshaderTxt(version); @@ -153,7 +155,7 @@ GrGLuint GLCpuPosInstancedArraysBench::setupShader(const GrGLContext* ctx) { "%s = vec4(o_color, 1.0);\n" "}\n", fsOutName); - return CreateProgram(ctx, vshaderTxt.c_str(), fshaderTxt.c_str()); + return CreateProgram(gl, vshaderTxt.c_str(), fshaderTxt.c_str()); } template<typename Func> diff --git a/bench/GLVec4ScalarBench.cpp b/bench/GLVec4ScalarBench.cpp index 373ae6b7bc..e3837a7225 100644 --- a/bench/GLVec4ScalarBench.cpp +++ b/bench/GLVec4ScalarBench.cpp @@ -124,6 +124,8 @@ GrGLuint GLVec4ScalarBench::setupShader(const GrGLContext* ctx) { " o_color = a_color;\n" "}\n"); + const GrGLInterface* gl = ctx->interface(); + // set up fragment shader; this fragment shader will have fNumStages coverage stages plus an // XP stage at the end. Each coverage stage computes the pixel's distance from some hard- // coded center and compare that to some hard-coded circle radius to compute a coverage. @@ -184,7 +186,7 @@ GrGLuint GLVec4ScalarBench::setupShader(const GrGLContext* ctx) { "}\n", fsOutName); - return CreateProgram(ctx, vshaderTxt.c_str(), fshaderTxt.c_str()); + return CreateProgram(gl, vshaderTxt.c_str(), fshaderTxt.c_str()); } template<typename Func> diff --git a/bench/GLVertexAttributesBench.cpp b/bench/GLVertexAttributesBench.cpp index f579a3ea39..040ca18300 100644 --- a/bench/GLVertexAttributesBench.cpp +++ b/bench/GLVertexAttributesBench.cpp @@ -114,6 +114,8 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a vshaderTxt.append("}\n"); + const GrGLInterface* gl = ctx->interface(); + // setup fragment shader GrGLSLShaderVar oFragColor("o_FragColor", kVec4f_GrSLType, GrShaderVar::kOut_TypeModifier); SkString fshaderTxt(version); @@ -125,7 +127,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a fshaderTxt.append(";\n"); fsOutName = oFragColor.c_str(); } else { - fsOutName = "sk_FragColor"; + fsOutName = "gl_FragColor"; } for (uint32_t i = 0; i < maxAttribs; i++) { @@ -147,7 +149,7 @@ GrGLuint GLVertexAttributesBench::setupShader(const GrGLContext* ctx, uint32_t a fshaderTxt.append(";\n" "}\n"); - return CreateProgram(ctx, vshaderTxt.c_str(), fshaderTxt.c_str()); + return CreateProgram(gl, vshaderTxt.c_str(), fshaderTxt.c_str()); } /////////////////////////////////////////////////////////////////////////////////////////////////// |