[Piglit] [PATCH] Use piglit_vertex to properly interface with piglit_draw_rect()

Ian Romanick idr at freedesktop.org
Sat Dec 14 13:05:51 PST 2013


On 12/10/2013 05:50 PM, Anuj Phogat wrote:
> Also, use piglit_link_simple_program(). It ensures that
> piglit_vertex gets assigned to the proper attribute slot.

Using piglit_build_simple_program would enable removal of even more
code. :)  See below.

> This patch fixes these tests currently failing on mesa.
> 
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
>  .../arb_sample_shading/execution/builtin-gl-num-samples.cpp  | 12 +++++-------
>  .../execution/builtin-gl-sample-position.cpp                 | 12 +++++-------
>  2 files changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/spec/arb_sample_shading/execution/builtin-gl-num-samples.cpp b/tests/spec/arb_sample_shading/execution/builtin-gl-num-samples.cpp
> index 00de307..1e250ff 100644
> --- a/tests/spec/arb_sample_shading/execution/builtin-gl-num-samples.cpp
> +++ b/tests/spec/arb_sample_shading/execution/builtin-gl-num-samples.cpp
> @@ -35,6 +35,7 @@ const int pattern_width = 128; const int pattern_height = 128;
>  PIGLIT_GL_TEST_CONFIG_BEGIN
>  
>  	config.supports_gl_compat_version = 21;
> +	config.supports_gl_core_version = 31;
>  
>  	config.window_width = pattern_width;
>  	config.window_height = pattern_height;
> @@ -58,10 +59,10 @@ compile_shader(void)
>  {
>  	static const char *vert =
>  		"#version 130\n"
> -		"in vec2 pos;\n"
> +		"in vec4 piglit_vertex;\n"
>  		"void main()\n"
>  		"{\n"
> -		"  gl_Position = vec4(pos, 0.0, 1.0);\n"
> +		"  gl_Position = piglit_vertex;\n"
>  		"}\n";
>  	static const char *frag =
>  		"#version 130\n"
> @@ -78,12 +79,9 @@ compile_shader(void)
>  	/* Compile program */
>  	prog = glCreateProgram();
>  	GLint vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vert);
> -	glAttachShader(prog, vs);
> -	piglit_check_gl_error(GL_NO_ERROR);
>  	GLint fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, frag);
> -	glAttachShader(prog, fs);
> -	glBindAttribLocation(prog, 0, "pos");
> -	glLinkProgram(prog);
> +	piglit_check_gl_error(GL_NO_ERROR);
> +	prog = piglit_link_simple_program(vs, fs);
>  	if (!piglit_link_check_status(prog)) {
>  		piglit_report_result(PIGLIT_FAIL);
>  	}

This whole block could be

	prog = piglit_build_simple_program(vert, frag);
	if (prog == 0)
		piglit_report_result(PIGLIT_FAIL);

With that change in this test and the other test, the patch is

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> diff --git a/tests/spec/arb_sample_shading/execution/builtin-gl-sample-position.cpp b/tests/spec/arb_sample_shading/execution/builtin-gl-sample-position.cpp
> index 1698f56..0a7bad8 100644
> --- a/tests/spec/arb_sample_shading/execution/builtin-gl-sample-position.cpp
> +++ b/tests/spec/arb_sample_shading/execution/builtin-gl-sample-position.cpp
> @@ -36,6 +36,7 @@ const int pattern_width = 128; const int pattern_height = 128;
>  PIGLIT_GL_TEST_CONFIG_BEGIN
>  
>  	config.supports_gl_compat_version = 21;
> +	config.supports_gl_core_version = 31;
>  
>  	config.window_width = pattern_width;
>  	config.window_height = pattern_height;
> @@ -59,10 +60,10 @@ compile_shader(void)
>  {
>  	static const char *vert =
>  		"#version 130\n"
> -		"in vec2 pos;\n"
> +		"in vec4 piglit_vertex;\n"
>  		"void main()\n"
>  		"{\n"
> -		"  gl_Position = vec4(pos, 0.0, 1.0);\n"
> +		"  gl_Position = piglit_vertex;\n"
>  		"}\n";
>  	static const char *frag =
>  		"#version 130\n"
> @@ -81,12 +82,9 @@ compile_shader(void)
>  	/* Compile program */
>  	prog = glCreateProgram();
>  	GLint vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vert);
> -	glAttachShader(prog, vs);
> -	piglit_check_gl_error(GL_NO_ERROR);
>  	GLint fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, frag);
> -	glAttachShader(prog, fs);
> -	glBindAttribLocation(prog, 0, "pos");
> -	glLinkProgram(prog);
> +	piglit_check_gl_error(GL_NO_ERROR);
> +	prog = piglit_link_simple_program(vs, fs);
>  	if (!piglit_link_check_status(prog)) {
>  		piglit_report_result(PIGLIT_FAIL);
>  	}
> 



More information about the Piglit mailing list