workaround for buggy macOS GLSL shader compiler
Bug: skia:
Change-Id: Ib77e11d80f93f76e65eac6119dbf2bd03523aaf9
Reviewed-on: https://skia-review.googlesource.com/117626
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/tests/SkSLGLSLTest.cpp b/tests/SkSLGLSLTest.cpp
index 0b9ed35..fe30ef4 100644
--- a/tests/SkSLGLSLTest.cpp
+++ b/tests/SkSLGLSLTest.cpp
@@ -1136,9 +1136,8 @@
"in vec4 pos;\n"
"void main() {\n"
" sk_FragCoord_Workaround = (gl_Position = pos);\n"
- " gl_Position = vec4(gl_Position.x * sk_RTAdjust.x + gl_Position.w * sk_RTAdjust.y, "
- "gl_Position.y * sk_RTAdjust.z + gl_Position.w * sk_RTAdjust.w, 0.0, "
- "gl_Position.w);\n"
+ " gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw,"
+ " 0.0, gl_Position.w);\n"
"}\n",
SkSL::Program::kVertex_Kind);
@@ -1818,10 +1817,8 @@
"uniform vec4 sk_RTAdjust;\n"
"void main() {\n"
" gl_Position = vec4(1.0);\n"
- " gl_Position = vec4(gl_Position.x * sk_RTAdjust.x + gl_Position.w * sk_RTAdjust.y, "
- "gl_Position.y * sk_RTAdjust.z + gl_Position.w * sk_RTAdjust.w, "
- "0.0, "
- "gl_Position.w);\n"
+ " gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * "
+ "sk_RTAdjust.yw, 0.0, gl_Position.w);\n"
"}\n",
SkSL::Program::kVertex_Kind);
test(r,
@@ -1845,16 +1842,14 @@
"void main() {\n"
" gl_Position = gl_in[0].gl_Position + vec4(-0.5, 0.0, 0.0, float(gl_InvocationID));\n"
" {\n"
- " gl_Position = vec4(gl_Position.x * sk_RTAdjust.x + gl_Position.w * "
- "sk_RTAdjust.y, gl_Position.y * sk_RTAdjust.z + gl_Position.w * "
- "sk_RTAdjust.w, 0.0, gl_Position.w);\n"
+ " gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * "
+ "sk_RTAdjust.yw, 0.0, gl_Position.w);\n"
" EmitVertex();\n"
" }\n"
" gl_Position = gl_in[0].gl_Position + vec4(0.5, 0.0, 0.0, float(gl_InvocationID));\n"
" {\n"
- " gl_Position = vec4(gl_Position.x * sk_RTAdjust.x + gl_Position.w * "
- "sk_RTAdjust.y, gl_Position.y * sk_RTAdjust.z + gl_Position.w * "
- "sk_RTAdjust.w, 0.0, gl_Position.w);\n"
+ " gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * "
+ "sk_RTAdjust.yw, 0.0, gl_Position.w);\n"
" EmitVertex();\n"
" }\n"
" EndPrimitive();\n"