From 8fd7955d03aa37e65493a6d4eeaa5a36dd45c278 Mon Sep 17 00:00:00 2001 From: Chris Dalton Date: Thu, 11 Jan 2018 00:46:14 -0500 Subject: Enable the GL_EXT_geometry_shader extension where necessary Bug: skia: Change-Id: I37bfb90efed28748d6c3e53be5c9703c291b036c Reviewed-on: https://skia-review.googlesource.com/93460 Reviewed-by: Ethan Nicholas Reviewed-by: Brian Salomon Commit-Queue: Chris Dalton --- tests/SkSLGLSLTest.cpp | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'tests/SkSLGLSLTest.cpp') diff --git a/tests/SkSLGLSLTest.cpp b/tests/SkSLGLSLTest.cpp index 7c69de62be..1ae421f8af 100644 --- a/tests/SkSLGLSLTest.cpp +++ b/tests/SkSLGLSLTest.cpp @@ -1146,7 +1146,7 @@ DEF_TEST(SkSLGeometry, r) { "EmitVertex();" "EndPrimitive();" "}", - *SkSL::ShaderCapsFactory::Default(), + *SkSL::ShaderCapsFactory::GeometryShaderSupport(), "#version 400\n" "layout (points) in ;\n" "layout (invocations = 2) in ;\n" @@ -1485,7 +1485,7 @@ DEF_TEST(SkSLDeadLoopVar, r) { ); } -DEF_TEST(SkSLInvocations, r) { +DEF_TEST(SkSLGeometryShaders, r) { test(r, "layout(points) in;" "layout(invocations = 2) in;" @@ -1539,6 +1539,27 @@ DEF_TEST(SkSLInvocations, r) { " EndPrimitive();\n" "}\n", SkSL::Program::kGeometry_Kind); + test(r, + "layout(points, invocations = 2) in;" + "layout(invocations = 3) in;" + "layout(line_strip, max_vertices = 2) out;" + "void main() {" + "sk_Position = sk_in[0].sk_Position + float4(-0.5, 0, 0, sk_InvocationID);" + "EmitVertex();" + "EndPrimitive();" + "}", + *SkSL::ShaderCapsFactory::GeometryShaderExtensionString(), + "#version 310es\n" + "#extension GL_EXT_geometry_shader : require\n" + "layout (points, invocations = 2) in ;\n" + "layout (invocations = 3) in ;\n" + "layout (line_strip, max_vertices = 2) out ;\n" + "void main() {\n" + " gl_Position = gl_in[0].gl_Position + vec4(-0.5, 0.0, 0.0, float(gl_InvocationID));\n" + " EmitVertex();\n" + " EndPrimitive();\n" + "}\n", + SkSL::Program::kGeometry_Kind); } DEF_TEST(SkSLTypePrecision, r) { @@ -1719,7 +1740,7 @@ DEF_TEST(SkSLNormalization, r) { "EmitVertex();" "EndPrimitive();" "}", - *SkSL::ShaderCapsFactory::Default(), + *SkSL::ShaderCapsFactory::GeometryShaderSupport(), "#version 400\n" "uniform vec4 sk_RTAdjust;\n" "layout (points) in ;\n" -- cgit v1.2.3