[Piglit] [PATCH] arb_bindless_texture: add test where we pass a handle through a function
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Apr 10 20:31:17 UTC 2018
Can you please reference the spec as much as possible? See other
ARB_bindless_texture if you need an example.
More comments below.
On 04/10/2018 12:32 PM, Karol Herbst wrote:
> currently fails in mesa with:
> ir_dereference_variable @ 0x1446830 specifies undeclared variable `wrongHandle' @ 0xffd1b0
>
> Signed-off-by: Karol Herbst <kherbst at redhat.com>
> ---
> ...rithmetic-func-call-uvec2-texture2D.shader_test | 37 ++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
> create mode 100644 tests/spec/arb_bindless_texture/execution/samplers/basic-arithmetic-func-call-uvec2-texture2D.shader_test
>
> diff --git a/tests/spec/arb_bindless_texture/execution/samplers/basic-arithmetic-func-call-uvec2-texture2D.shader_test b/tests/spec/arb_bindless_texture/execution/samplers/basic-arithmetic-func-call-uvec2-texture2D.shader_test
> new file mode 100644
> index 000000000..fd488c7cd
> --- /dev/null
> +++ b/tests/spec/arb_bindless_texture/execution/samplers/basic-arithmetic-func-call-uvec2-texture2D.shader_test
> @@ -0,0 +1,37 @@
> +# Same as basic-texture2D.shader_test, but with some math on the handle
> +[require]
> +GL >= 3.3
> +GLSL >= 3.30
> +GL_ARB_bindless_texture
> +
> +[vertex shader passthrough]
> +
> +[fragment shader]
> +#version 330
> +#extension GL_ARB_bindless_texture: require
> +
> +layout (bindless_sampler) uniform sampler2D tex;
> +uniform uvec2 handleOffset;
> +
> +out vec4 finalColor;
> +
> +sampler2D adjustSamplerHandle(sampler2D wrongHandle)
Isn't required to use the "in" qualifier here?
Also, this is a compiler test, so you don't need to write a .shader_test
and you should put it in tests/spec/arb_bindless_texture/compiler
Same comments apply to "arb_bindless_texture: add test for conversion of
bounded sampler2D to uvec2".
> +{
> + uvec2 handle = uvec2(wrongHandle);
> + handle.x -= 0x12345678u;
> + handle.y -= 0x9abcdef0u;
> + return sampler2D(handle + handleOffset);
> +}
> +
> +void main()
> +{
> + finalColor = texture2D(adjustSamplerHandle(tex), vec2(0, 0));
> +}
> +
> +[test]
> +texture rgbw 0 (16, 16)
> +resident texture 0
> +uniform uvec2 handleOffset 0x12345678 0x9abcdef0
> +uniform handle tex 0
> +draw rect -1 -1 2 2
> +relative probe rgb (0.0, 0.0) (1.0, 0.0, 0.0)
>
More information about the Piglit
mailing list