[Piglit] [PATCH 6/8] fbo: Use renderbuffers instead of textures

Mark Janes mark.a.janes at intel.com
Fri Jun 2 20:25:35 UTC 2017


Hi Ian,

This test fails on g33.  Was that expected?

-Mark

Ian Romanick <idr at freedesktop.org> writes:

> From: Ian Romanick <ian.d.romanick at intel.com>
>
> This allows fbo-blit-stretch to run on platforms that support
> ARB_framebuffer_object but not ARB_texture_non_power_of_two.
>
> Coneptually similar to 7b3f6d5.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>  tests/fbo/fbo-blit-stretch.cpp | 26 ++++++++++++++++----------
>  1 file changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/tests/fbo/fbo-blit-stretch.cpp b/tests/fbo/fbo-blit-stretch.cpp
> index 935d0d4..da85335 100644
> --- a/tests/fbo/fbo-blit-stretch.cpp
> +++ b/tests/fbo/fbo-blit-stretch.cpp
> @@ -321,22 +321,22 @@ run_test(const TestCase &test)
>  
>  	GLboolean pass;
>  
> -	GLuint tex;
> +	GLuint rbo;
>  	GLuint fbo;
>  	GLenum status;
>  
>  	glGenFramebuffers(1, &fbo);
>  	glBindFramebuffer(GL_FRAMEBUFFER, fbo);
>  
> -	tex = piglit_rgbw_texture(GL_RGBA, test.srcW, test.srcH, GL_FALSE, GL_TRUE, GL_UNSIGNED_NORMALIZED);
> +	glGenRenderbuffers(1, &rbo);
> +	glBindRenderbuffer(GL_RENDERBUFFER, rbo);
> +	glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, test.srcW, test.srcH);
> +	glBindRenderbuffer(GL_RENDERBUFFER, 0);
>  
> -	glBindTexture(GL_TEXTURE_2D, tex);
> -
> -	glFramebufferTexture2D(GL_FRAMEBUFFER,
> -			       GL_COLOR_ATTACHMENT0,
> -			       GL_TEXTURE_2D,
> -			       tex,
> -			       0);
> +	glFramebufferRenderbuffer(GL_FRAMEBUFFER,
> +				  GL_COLOR_ATTACHMENT0,
> +				  GL_RENDERBUFFER,
> +				  rbo);
>  	if (!piglit_check_gl_error(GL_NO_ERROR))
>  		piglit_report_result(PIGLIT_FAIL);
>  
> @@ -344,6 +344,12 @@ run_test(const TestCase &test)
>  	if (status != GL_FRAMEBUFFER_COMPLETE) {
>  		pass = GL_TRUE;
>  	} else {
> +		GLubyte *image = piglit_rgbw_image_ubyte(test.srcW, test.srcH,
> +							 GL_TRUE);
> +		glDrawPixels(test.srcW, test.srcH, GL_RGBA, GL_UNSIGNED_BYTE,
> +			     image);
> +		free(image);
> +
>  		glViewport(0, 0, piglit_width, piglit_height);
>  		piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
>  
> @@ -364,7 +370,7 @@ run_test(const TestCase &test)
>  
>  	glBindFramebuffer(GL_FRAMEBUFFER, piglit_winsys_fbo);
>  	glDeleteFramebuffers(1, &fbo);
> -	glDeleteTextures(1, &tex);
> +	glDeleteRenderbuffers(1, &rbo);
>  
>  	return pass;
>  }
> -- 
> 2.9.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list