On 10/17/2016 09:38 PM, Nicolai Hähnle wrote:
From: Nicolai Hähnle <[email protected]>
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 <[email protected]>
---
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit