[Piglit] [PATCH] arb_gpu_shader_fp64/ssbo: fix tests to skip is no vertex ssbo available.

Alejandro apinheiro at igalia.com
Wed Mar 7 07:52:08 UTC 2018


Typo on the commit message: "skip is no" => "skip if no"

Some comments below.

On 07/03/18 01:54, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> These tests all require varying numbers of ssbos.
> ---
>  .../shader_storage/layout-std140-fp64-mixed-shader.c                 | 5 +++++
>  .../arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-shader.c   | 5 +++++
>  .../shader_storage/layout-std430-fp64-mixed-shader.c                 | 5 +++++
>  .../arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-shader.c   | 5 +++++
>  4 files changed, 20 insertions(+)
>
> diff --git a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-mixed-shader.c b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-mixed-shader.c
> index 96add58..e649fea 100644
> --- a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-mixed-shader.c
> +++ b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-mixed-shader.c
> @@ -213,11 +213,16 @@ piglit_init(int argc, char **argv)
>  	double *map_d;
>  	void *data;
>  	void *data_base;
> +	GLint num_vertex_ssbo;
>  
>  	piglit_require_extension("GL_ARB_shader_storage_buffer_object");
>  	piglit_require_extension("GL_ARB_gpu_shader_fp64");
>  	piglit_require_GLSL_version(150);
>  
> +	glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &num_vertex_ssbo);
> +	if (num_vertex_ssbo < 4)
> +		piglit_report_result(PIGLIT_SKIP);

Why the check is <4 instead of <1 as with other new checks included on
this patch? As far as I see, the vertex shader on that test uses 1 ssbo.

> +
>  	prog = piglit_build_simple_program_multiple_shaders(
>  		GL_VERTEX_SHADER, vs_code,
>  		GL_GEOMETRY_SHADER, gs_source,
> diff --git a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-shader.c b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-shader.c
> index e7e2343..0d1754d 100644
> --- a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-shader.c
> +++ b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std140-fp64-shader.c
> @@ -189,11 +189,16 @@ piglit_init(int argc, char **argv)
>  	GLuint buffer;
>  	unsigned int i;
>  	double *map;
> +	GLint num_vertex_ssbo;
>  
>  	piglit_require_extension("GL_ARB_shader_storage_buffer_object");
>  	piglit_require_extension("GL_ARB_gpu_shader_fp64");
>  	piglit_require_GLSL_version(150);
>  
> +	glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &num_vertex_ssbo);
> +	if (num_vertex_ssbo < 1)
> +		piglit_report_result(PIGLIT_SKIP);
> +
>  	prog = piglit_build_simple_program_multiple_shaders(
>  		GL_VERTEX_SHADER, vs_code,
>  		GL_GEOMETRY_SHADER, gs_source,
> diff --git a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-mixed-shader.c b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-mixed-shader.c
> index 26a8e49..d6bdc13 100644
> --- a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-mixed-shader.c
> +++ b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-mixed-shader.c
> @@ -245,11 +245,16 @@ piglit_init(int argc, char **argv)
>  	double *map_d;
>  	void *data;
>  	void *data_base;
> +	GLint num_vertex_ssbo;
>  
>  	piglit_require_extension("GL_ARB_shader_storage_buffer_object");
>  	piglit_require_extension("GL_ARB_gpu_shader_fp64");
>  	piglit_require_GLSL_version(150);
>  
> +	glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &num_vertex_ssbo);
> +	if (num_vertex_ssbo < 4)
> +		piglit_report_result(PIGLIT_SKIP);

Same question here.

> +
>  	prog = piglit_build_simple_program_multiple_shaders(
>  		GL_VERTEX_SHADER, vs_code,
>  		GL_GEOMETRY_SHADER, gs_source,
> diff --git a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-shader.c b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-shader.c
> index 00adfc8..9d92567 100644
> --- a/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-shader.c
> +++ b/tests/spec/arb_gpu_shader_fp64/shader_storage/layout-std430-fp64-shader.c
> @@ -223,11 +223,16 @@ piglit_init(int argc, char **argv)
>  	GLuint buffer;
>  	unsigned int i;
>  	double *map;
> +	GLint num_vertex_ssbo;
>  
>  	piglit_require_extension("GL_ARB_shader_storage_buffer_object");
>  	piglit_require_extension("GL_ARB_gpu_shader_fp64");
>  	piglit_require_GLSL_version(150);
>  
> +	glGetIntegerv(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, &num_vertex_ssbo);
> +	if (num_vertex_ssbo < 1)
> +		piglit_report_result(PIGLIT_SKIP);
> +
>  	prog = piglit_build_simple_program_multiple_shaders(
>  		GL_VERTEX_SHADER, vs_code,
>  		GL_GEOMETRY_SHADER, gs_source,



More information about the Piglit mailing list