[Mesa-dev] [PATCH 4/5] r100: Use _mesa_get_format_base_format in radeon_update_wrapper

Ian Romanick idr at freedesktop.org
Wed May 31 00:40:29 UTC 2017


From: Ian Romanick <ian.d.romanick at intel.com>

The wrapper is for a renderbuffer around a texture.  Textures can have
formats (e.g., 3) that aren't valide for API generated renderbuffers.
_mesa_base_fbo_format will return 0, but _mesa_get_format_base_format
will return the base format of RGB.

Fixes a crashes in piglit tests fbo-alphatest-formats (all subtests
pass) and fbo-colormask-formats (some subtests pass, some fail).

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: mesa-stable at lists.freedesktop.org
---
 src/mesa/drivers/dri/radeon/radeon_fbo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_fbo.c b/src/mesa/drivers/dri/radeon/radeon_fbo.c
index 4d75d14..89ea776 100644
--- a/src/mesa/drivers/dri/radeon/radeon_fbo.c
+++ b/src/mesa/drivers/dri/radeon/radeon_fbo.c
@@ -739,7 +739,7 @@ radeon_update_wrapper(struct gl_context *ctx, struct radeon_renderbuffer *rrb,
 	rrb->pitch = texImage->Width * rrb->cpp;
 	rb->Format = texImage->TexFormat;
 	rb->InternalFormat = texImage->InternalFormat;
-	rb->_BaseFormat = _mesa_base_fbo_format(ctx, rb->InternalFormat);
+	rb->_BaseFormat = _mesa_get_format_base_format(rb->Format);
 	rb->Width = texImage->Width;
 	rb->Height = texImage->Height;
 	rb->Delete = radeon_delete_renderbuffer;
-- 
2.9.4



More information about the mesa-dev mailing list