From 796b86f0d3820b77b628f9bc8ffb4c4162d9bc3a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 21 Feb 2017 17:10:59 +0100 Subject: arb_bindless_texture: add linker-related tests There are many annoying combinations to test. v2: - remove two tests with implicit samplers/images Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- ...obal_bindless_image_and_bound_image.shader_test | 42 ++++++++++++++++++++++ ...al_bindless_image_and_bound_sampler.shader_test | 32 +++++++++++++++++ ...bindless_sampler_and_bindless_image.shader_test | 32 +++++++++++++++++ ...al_bindless_sampler_and_bound_image.shader_test | 32 +++++++++++++++++ ..._bindless_sampler_and_bound_sampler.shader_test | 39 ++++++++++++++++++++ ...lobal_bound_sampler_and_bound_image.shader_test | 32 +++++++++++++++++ 6 files changed, 209 insertions(+) create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image.shader_test create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_sampler.shader_test create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bindless_image.shader_test create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_image.shader_test create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler.shader_test create mode 100644 tests/spec/arb_bindless_texture/linker/global_bound_sampler_and_bound_image.shader_test diff --git a/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image.shader_test b/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image.shader_test new file mode 100644 index 000000000..4d838762c --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image.shader_test @@ -0,0 +1,42 @@ +# The ARB_bindless_texture spec says: +# +# "If both bindless_sampler and bound_sampler, or bindless_image and +# bound_image, are declared at global scope in any compilation unit, a link- +# time error will be generated. In the absence of these qualifiers, sampler +# and image uniforms are considered "bound". Additionally, if +# GL_ARB_bindless_texture is not enabled, these uniforms are considered +# "bound"." + +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture +GL_ARB_shader_image_load_store + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bindless_image) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bound_image) uniform; + +void foo() +{ +} + +[test] +link error diff --git a/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_sampler.shader_test b/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_sampler.shader_test new file mode 100644 index 000000000..c0709adbf --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_sampler.shader_test @@ -0,0 +1,32 @@ +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture +GL_ARB_shader_image_load_store + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bindless_image) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require + +layout(bound_sampler) uniform; + +void foo() +{ +} + +[test] +link success diff --git a/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bindless_image.shader_test b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bindless_image.shader_test new file mode 100644 index 000000000..de9dbb802 --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bindless_image.shader_test @@ -0,0 +1,32 @@ +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture +GL_ARB_shader_image_load_store + +[fragment shader] +#version 400 +#extension GL_ARB_bindless_texture: require + +layout(bindless_sampler) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bindless_image) uniform; + +void foo() +{ +} + +[test] +link success diff --git a/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_image.shader_test b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_image.shader_test new file mode 100644 index 000000000..3f22e2975 --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_image.shader_test @@ -0,0 +1,32 @@ +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture +GL_ARB_shader_image_load_store + +[fragment shader] +#version 400 +#extension GL_ARB_bindless_texture: require + +layout(bindless_sampler) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bound_image) uniform; + +void foo() +{ +} + +[test] +link success diff --git a/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler.shader_test b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler.shader_test new file mode 100644 index 000000000..e4afe8186 --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler.shader_test @@ -0,0 +1,39 @@ +# The ARB_bindless_texture spec says: +# +# "If both bindless_sampler and bound_sampler, or bindless_image and +# bound_image, are declared at global scope in any compilation unit, a link- +# time error will be generated. In the absence of these qualifiers, sampler +# and image uniforms are considered "bound". Additionally, if +# GL_ARB_bindless_texture is not enabled, these uniforms are considered +# "bound"." + +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require + +layout(bindless_sampler) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require + +layout(bound_sampler) uniform; + +void foo() +{ +} + +[test] +link error diff --git a/tests/spec/arb_bindless_texture/linker/global_bound_sampler_and_bound_image.shader_test b/tests/spec/arb_bindless_texture/linker/global_bound_sampler_and_bound_image.shader_test new file mode 100644 index 000000000..3c4b050ed --- /dev/null +++ b/tests/spec/arb_bindless_texture/linker/global_bound_sampler_and_bound_image.shader_test @@ -0,0 +1,32 @@ +[require] +GL >= 3.3 +GLSL >= 3.30 +GL_ARB_bindless_texture +GL_ARB_shader_image_load_store + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require + +layout(bound_sampler) uniform; + +void foo(); + +void main() +{ + foo(); +} + +[fragment shader] +#version 330 +#extension GL_ARB_bindless_texture: require +#extension GL_ARB_shader_image_load_store: enable + +layout(bound_image) uniform; + +void foo() +{ +} + +[test] +link success -- cgit v1.2.3