[Piglit] [PATCH 2/2] arb_bindless_texture: add ubo-named-block execution tests

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon May 1 15:07:39 UTC 2017


In order to exercise setting resident handles directly to
uniform buffer objects.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 .../execution/images/ubo-named-block.shader_test   | 50 ++++++++++++++++++++++
 .../execution/samplers/ubo-named-block.shader_test | 36 ++++++++++++++++
 2 files changed, 86 insertions(+)
 create mode 100644 tests/spec/arb_bindless_texture/execution/images/ubo-named-block.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/execution/samplers/ubo-named-block.shader_test

diff --git a/tests/spec/arb_bindless_texture/execution/images/ubo-named-block.shader_test b/tests/spec/arb_bindless_texture/execution/images/ubo-named-block.shader_test
new file mode 100644
index 000000000..894af82a9
--- /dev/null
+++ b/tests/spec/arb_bindless_texture/execution/images/ubo-named-block.shader_test
@@ -0,0 +1,50 @@
+# Test access to a uniform buffer object via dereferencing the block name,
+# where it has a structure which contains a bindless image.
+[require]
+GL >= 3.3
+GLSL >= 3.30
+GL_ARB_bindless_texture
+GL_ARB_shader_image_load_store
+
+[vertex shader passthrough]
+
+[fragment shader]
+#version 330
+#extension GL_ARB_bindless_texture: require
+#extension GL_ARB_shader_image_load_store: enable
+
+struct Struct {
+	vec4 color;
+	writeonly image2D img;
+};
+
+layout (std140) uniform Block {
+	Struct s;
+} block;
+
+out vec4 outcolor;
+
+void main()
+{
+	imageStore(block.s.img, ivec2(gl_FragCoord.xy), block.s.color);
+	outcolor = vec4(0.0, 0.0, 0.0, 1.0);
+}
+
+[test]
+# Texture 0 is the imageStore output.
+texture rgbw 0 (16, 16) GL_RGBA8
+resident image texture 0 GL_RGBA8
+uniform handle Block.s.img 0
+
+# Texture 1 is the rendering output. We don't care about this.
+texture rgbw 1 (16, 16) GL_RGBA8
+
+# Store red using imageStore
+uniform vec4 Block.s.color 1.0 0.0 0.0 1.0
+fb tex 2d 1
+draw rect -1 -1 2 2
+
+# Test the result of imageStore
+memory barrier GL_FRAMEBUFFER_BARRIER_BIT
+fb tex 2d 0
+probe all rgba 1.0 0.0 0.0 1.0
diff --git a/tests/spec/arb_bindless_texture/execution/samplers/ubo-named-block.shader_test b/tests/spec/arb_bindless_texture/execution/samplers/ubo-named-block.shader_test
new file mode 100644
index 000000000..e7a619dd1
--- /dev/null
+++ b/tests/spec/arb_bindless_texture/execution/samplers/ubo-named-block.shader_test
@@ -0,0 +1,36 @@
+# Test access to a uniform buffer object via dereferencing the block name,
+# where it has a structure which contains a bindless sampler.
+[require]
+GL >= 3.3
+GLSL >= 3.30
+GL_ARB_bindless_texture
+
+[vertex shader passthrough]
+
+[fragment shader]
+#version 330
+#extension GL_ARB_bindless_texture: require
+
+struct Struct {
+	uvec2 coord;
+	sampler2D tex;
+};
+
+layout (std140) uniform Block {
+	Struct s;
+} block;
+
+out vec4 color;
+
+void main()
+{
+	color = texture2D(block.s.tex, block.s.coord);
+}
+
+[test]
+texture rgbw 0 (16, 16)
+resident texture 0
+uniform uvec2 Block.s.coord 0 0
+uniform handle Block.s.tex 0
+draw rect -1 -1 2 2
+relative probe rgb (0.0, 0.0) (1.0, 0.0, 0.0)
-- 
2.12.2



More information about the Piglit mailing list