On 04/27/2017 10:02 PM, Nicolai Hähnle wrote:
On 27.04.2017 00:52, Samuel Pitoiset wrote:
From section 2.14.16 of the ARB_bindless_texture spec:

    "When used as uniforms in the default block, the value of sampler
     variables may be specified with either Uniform1i{v} or
     UniformHandleui64{v}ARB."

From section 2.14.X of the ARB_bindless_texture spec:

    "When used as uniforms in the default block, the value of image
     variables may be specified with either Uniform1i{v} or
     UniformHandleui64{v}ARB."

This test just ensures that setting a uniform to bound samplers
doesn't report any GL errors.

Okay, I'm very confused again. The spec *also* says this:

    "These modifiers control whether default-block uniforms of the
     corresponding types may have their values set via both
     UniformHandle* and Uniform1i (bindless_sampler and bindless_image)
     or only via Uniform1i (bound_sampler and bound_image)."

Which would actually suggest that the current test is wrong *before* this patch. What's going on here?

Not wrong, but incomplete, yes.

Basically, if my understanding of the spec is correct. The only GL call which should report an error is UniformHandle* when a sampler has the bound_sampler layout qualifier. That said, we can use UniformHandle* and Uniform1i when the bindless_sampler is set and when no layout qualifiers are present.




Signed-off-by: Samuel Pitoiset <[email protected]>
---
 tests/spec/arb_bindless_texture/uniform.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/spec/arb_bindless_texture/uniform.c b/tests/spec/arb_bindless_texture/uniform.c
index c4c06df05..1524eb18c 100644
--- a/tests/spec/arb_bindless_texture/uniform.c
+++ b/tests/spec/arb_bindless_texture/uniform.c
@@ -158,6 +158,7 @@ check_UniformHandleui64_with_implicit_bound_sampler(void *data)
      */
     glUniformHandleui64ARB(loc, handle);
     glProgramUniformHandleui64vARB(prog, loc, 1, &handle);
+    glUniform1i(loc, 5);
     if (!piglit_check_gl_error(GL_NO_ERROR))
         return PIGLIT_FAIL;

@@ -223,6 +224,7 @@ check_UniformHandleui64_with_implicit_bound_image(void *data)
      */
     glUniformHandleui64ARB(loc, handle);
     glProgramUniformHandleui64vARB(prog, loc, 1, &handle);
+    glUniform1i(loc, 5);
     if (!piglit_check_gl_error(GL_NO_ERROR))
         return PIGLIT_FAIL;




_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to