Mesa (10.4): r300g: fix a crash when resolving into an sRGB texture

Emil Velikov evelikov at kemper.freedesktop.org
Thu Mar 12 13:11:38 UTC 2015


Module: Mesa
Branch: 10.4
Commit: b451a2ffbf22ee7edb93d204dc49e93093883aa7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b451a2ffbf22ee7edb93d204dc49e93093883aa7

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Feb 24 23:15:59 2015 +0100

r300g: fix a crash when resolving into an sRGB texture

Cc: 10.5 10.4 <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 9953586af2254f83a610d4cd284f52f37fa18b98)

---

 src/gallium/drivers/r300/r300_texture.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
index e85a818..6c01c0d 100644
--- a/src/gallium/drivers/r300/r300_texture.c
+++ b/src/gallium/drivers/r300/r300_texture.c
@@ -938,14 +938,16 @@ static void r300_texture_setup_fb_state(struct r300_surface *surf)
         surf->pitch_zmask = tex->tex.zmask_stride_in_pixels[level];
         surf->pitch_hiz = tex->tex.hiz_stride_in_pixels[level];
     } else {
+        enum pipe_format format = util_format_linear(surf->base.format);
+
         surf->pitch =
                 stride |
-                r300_translate_colorformat(surf->base.format) |
+                r300_translate_colorformat(format) |
                 R300_COLOR_TILE(tex->tex.macrotile[level]) |
                 R300_COLOR_MICROTILE(tex->tex.microtile);
-        surf->format = r300_translate_out_fmt(surf->base.format);
+        surf->format = r300_translate_out_fmt(format);
         surf->colormask_swizzle =
-            r300_translate_colormask_swizzle(surf->base.format);
+            r300_translate_colormask_swizzle(format);
         surf->pitch_cmask = tex->tex.cmask_stride_in_pixels;
     }
 }




More information about the mesa-commit mailing list