On 10/17/2016 09:38 PM, Nicolai Hähnle wrote:
From: Nicolai Hähnle <nicolai.haeh...@amd.com>

Without those, many of the tests started failing now that Mesa explicitly
checks for the compute shader enable in the compiler.

Well, ARB_compute_variable_group_size requires ARB_compute_shader, that's why I didn't check it initially. But if mesa now checks for compute shaders availability, this makes sense.

Your patch will conflict with Matt's one though, but this looks better to me actually.

Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>

---
 tests/spec/arb_compute_variable_group_size/compiler/do_nothing.comp     | 1 +
 .../compiler/gl_LocalGroupSizeARB_illegal_use.comp                      | 1 +
 .../compiler/gl_LocalGroupSizeARB_layout.comp                           | 1 +
 tests/spec/arb_compute_variable_group_size/errors.c                     | 1 +
 .../execution/basic-local-size.shader_test                              | 1 +
 .../linker/mixed_fixed_variable_local_work_size.shader_test             | 2 ++
 .../linker/no_local_size_specified.shader_test                          | 2 ++
 tests/spec/arb_compute_variable_group_size/local-size.c                 | 1 +
 8 files changed, 10 insertions(+)

diff --git 
a/tests/spec/arb_compute_variable_group_size/compiler/do_nothing.comp 
b/tests/spec/arb_compute_variable_group_size/compiler/do_nothing.comp
index 95c061b..ae2e973 100644
--- a/tests/spec/arb_compute_variable_group_size/compiler/do_nothing.comp
+++ b/tests/spec/arb_compute_variable_group_size/compiler/do_nothing.comp
@@ -1,14 +1,15 @@
 // [config]
 // expect_result: pass
 // glsl_version: 3.30
 // require_extensions: GL_ARB_compute_variable_group_size
 // [end config]

 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable

 layout(local_size_variable) in;

 void main()
 {
 }
diff --git 
a/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_illegal_use.comp
 
b/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_illegal_use.comp
index f8fcf92..5eb8f4d 100644
--- 
a/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_illegal_use.comp
+++ 
b/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_illegal_use.comp
@@ -11,18 +11,19 @@
 //     example, a shader might want to declare a shared variable with one
 //     instance per work group invocation, such as:
 //
 //     shared float shared_values[gl_WorkGroupSize.x *
 //                                gl_WorkGroupSize.y * gl_WorkGroupSize.z];
 //
 //     Such declarations would be illegal using the input
 //     "gl_LocalGroupSizeARB".

 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable

 layout(local_size_variable) in;

 void main()
 {
        uint v[gl_LocalGroupSizeARB.x];
 }
diff --git 
a/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_layout.comp
 
b/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_layout.comp
index 953856e..d575001 100644
--- 
a/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_layout.comp
+++ 
b/tests/spec/arb_compute_variable_group_size/compiler/gl_LocalGroupSizeARB_layout.comp
@@ -10,18 +10,19 @@
 //     variable containing the local work group size for the current compute-
 //     shader work group. For compute shaders with a fixed local group size
 //     (using *local_size_x*, *local_size_y*, or *local_size_z* layout
 //     qualifiers), its value will be the same as the constant
 //     /gl_WorkGroupSize/. For compute shaders with a variable local group size
 //     (using *local_size_variable*), the value of /gl_LocalGroupSizeARB/ will
 //     be the work group size specified in the OpenGL API command dispatching
 //     the current compute shader work.

 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable

 layout(local_size_variable) in;

 void main()
 {
        uvec3 size = gl_LocalGroupSizeARB;
 }
diff --git a/tests/spec/arb_compute_variable_group_size/errors.c 
b/tests/spec/arb_compute_variable_group_size/errors.c
index 19945d1..82bae42 100644
--- a/tests/spec/arb_compute_variable_group_size/errors.c
+++ b/tests/spec/arb_compute_variable_group_size/errors.c
@@ -35,20 +35,21 @@ static struct piglit_gl_test_config *piglit_config;
 PIGLIT_GL_TEST_CONFIG_BEGIN

        piglit_config = &config;
        config.supports_gl_compat_version = 33;
        config.supports_gl_core_version = 33;

 PIGLIT_GL_TEST_CONFIG_END

 static const char *variable_work_group_size_shader =
        "#version 330\n"
+       "#extension GL_ARB_compute_shader: enable\n"
        "#extension GL_ARB_compute_variable_group_size: enable\n"
        "\n"
        "layout(local_size_variable) in;\n"
        "\n"
        "void main()\n"
        "{\n"
        "}\n";

 static const char *fixed_work_group_size_shader =
        "#version 330\n"
diff --git 
a/tests/spec/arb_compute_variable_group_size/execution/basic-local-size.shader_test
 
b/tests/spec/arb_compute_variable_group_size/execution/basic-local-size.shader_test
index 108ebd5..75c93f7 100644
--- 
a/tests/spec/arb_compute_variable_group_size/execution/basic-local-size.shader_test
+++ 
b/tests/spec/arb_compute_variable_group_size/execution/basic-local-size.shader_test
@@ -2,20 +2,21 @@
 # functioning. Atomic counters are used as outputs.

 [require]
 GL >= 3.3
 GLSL >= 3.30
 GL_ARB_compute_variable_group_size
 GL_ARB_shader_atomic_counters

 [compute shader]
 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable
 #extension GL_ARB_shader_atomic_counters: require

 layout(binding = 0) uniform atomic_uint a;

 layout(local_size_variable) in;

 void main()
 {
        if (gl_LocalGroupSizeARB.x == 8u &&
diff --git 
a/tests/spec/arb_compute_variable_group_size/linker/mixed_fixed_variable_local_work_size.shader_test
 
b/tests/spec/arb_compute_variable_group_size/linker/mixed_fixed_variable_local_work_size.shader_test
index d660d56..6d52933 100644
--- 
a/tests/spec/arb_compute_variable_group_size/linker/mixed_fixed_variable_local_work_size.shader_test
+++ 
b/tests/spec/arb_compute_variable_group_size/linker/mixed_fixed_variable_local_work_size.shader_test
@@ -1,36 +1,38 @@
 # The ARB_compute_variable_group_size spec says:
 #
 #     If one compute shader attached to a program declares a variable local
 #     group size and a second compute shader attached to the same program
 #     declares a fixed local group size, a link-time error results.

 [require]
 GL >= 3.3
 GLSL >= 3.30
 GL_ARB_compute_shader
+GL_ARB_compute_variable_group_size

 [compute shader]
 #version 330
 #extension GL_ARB_compute_shader: enable

 layout(local_size_x = 2) in;

 void foo();

 void main()
 {
        foo();
 }

 [compute shader]
 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable

 layout(local_size_variable) in;

 void foo()
 {
 }

 [test]
 link error
diff --git 
a/tests/spec/arb_compute_variable_group_size/linker/no_local_size_specified.shader_test
 
b/tests/spec/arb_compute_variable_group_size/linker/no_local_size_specified.shader_test
index 6371c29..78428df 100644
--- 
a/tests/spec/arb_compute_variable_group_size/linker/no_local_size_specified.shader_test
+++ 
b/tests/spec/arb_compute_variable_group_size/linker/no_local_size_specified.shader_test
@@ -1,32 +1,34 @@
 # The ARB_compute_variable_group_size spec says:
 #
 #     Furthermore, if a program object contains any compute shaders, at least
 #     one must contain an input layout qualifier specifying a fixed or variable
 #     local group size for the program, or a link-time error will occur.

 [require]
 GL >= 3.3
 GLSL >= 3.30
 GL_ARB_compute_shader
+GL_ARB_compute_variable_group_size

 [compute shader]
 #version 330
 #extension GL_ARB_compute_shader: enable

 void foo();

 void main()
 {
        foo();
 }

 [compute shader]
 #version 330
+#extension GL_ARB_compute_shader: enable
 #extension GL_ARB_compute_variable_group_size: enable

 void foo()
 {
 }

 [test]
 link error
diff --git a/tests/spec/arb_compute_variable_group_size/local-size.c 
b/tests/spec/arb_compute_variable_group_size/local-size.c
index e646c06..26cf5d6 100644
--- a/tests/spec/arb_compute_variable_group_size/local-size.c
+++ b/tests/spec/arb_compute_variable_group_size/local-size.c
@@ -44,20 +44,21 @@ static uint32_t local_x = 0, local_y = 0, local_z = 0;
 static int32_t max_local_x = 0, max_local_y = 0, max_local_z = 0;
 static int32_t max_variable_invocations = 0;

 static uint32_t sizes[] = {
        1, 2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33, 63, 64, 65,
        127, 128, 129, 255, 256, 257, 511, 512, 513, 1023, 1024
 };

 static const char *compute_shader_source =
        "#version 330\n"
+       "#extension GL_ARB_compute_shader: enable\n"
        "#extension GL_ARB_compute_variable_group_size: enable\n"
        "#extension GL_ARB_shader_atomic_counters: require\n"
        "\n"
        "layout(binding = 0) uniform atomic_uint a;\n"
        "layout(local_size_variable) in;\n"
        "\n"
        "void main()\n"
        "{\n"
        "  if (gl_LocalGroupSizeARB.x == %du &&\n"
        "      gl_LocalGroupSizeARB.y == %du &&\n"

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to