From: Kenneth Graunke Date: Tue, 4 Sep 2012 18:29:30 +0000 (-0700) Subject: mesa: Ignore SRGB when determining compatible resolve formats. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c96828ecb46b5aee3121a018be365b738c35cbdc;p=mesa.git mesa: Ignore SRGB when determining compatible resolve formats. MSAA resolves and other blit-like operations ignore SRGB state anyway, so we should be able to safely allow resolves between compatible SRGB/linear formats like SRGBA8 and RGBA8888. This matches the behavior of the nVidia and AMD binary drivers. Fixes completely black rendering when using multisampling in L4D2. NOTE: This is a candidate for the 9.0 branch. Reviewed-by: Paul Berry Signed-off-by: Kenneth Graunke --- diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 1736899cba1..9cde52ae690 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2792,7 +2792,8 @@ compatible_resolve_formats(const struct gl_renderbuffer *colorReadRb, { /* The simple case where we know the backing formats are the same. */ - if (colorReadRb->Format == colorDrawRb->Format) { + if (_mesa_get_srgb_format_linear(colorReadRb->Format) == + _mesa_get_srgb_format_linear(colorDrawRb->Format)) { return GL_TRUE; }