[Piglit] [PATCH v2 1/2] shader_runner: add support for glDispatchComputeGroupSizeARB()
Nicolai Hähnle
nhaehnle at gmail.com
Wed Sep 28 10:35:45 UTC 2016
On 10.09.2016 17:19, Samuel Pitoiset wrote:
> This allows to dispatch compute shaders with a variable local size
> using the new "compute group size" command.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> tests/shaders/shader_runner.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
> index 8e29346..e9d39e9 100644
> --- a/tests/shaders/shader_runner.c
> +++ b/tests/shaders/shader_runner.c
> @@ -2924,6 +2924,13 @@ piglit_display(void)
> glMemoryBarrier(GL_ALL_BARRIER_BITS);
> glDispatchCompute(x, y, z);
> glMemoryBarrier(GL_ALL_BARRIER_BITS);
> + } else if (sscanf(line,
> + "compute group size %d %d %d %d %d %d",
> + &x, &y, &z, &w, &h, &l) == 6) {
> + program_must_be_in_use();
> + glMemoryBarrier(GL_ALL_BARRIER_BITS);
> + glDispatchComputeGroupSizeARB(x, y, z, w, h, l);
> + glMemoryBarrier(GL_ALL_BARRIER_BITS);
FWIW, I don't particularly like that the memory barriers are added
unconditionally, because it prevents us from writing tests that test
specific bits, but since the other compute call also does this, I think
it's okay.
Nicolai
> } else if (string_match("draw rect tex", line)) {
> program_must_be_in_use();
> program_subroutine_uniforms();
>
More information about the Piglit
mailing list