[Mesa-dev] [PATCH 1/4] radeonsi: treat intensity render targets exactly like red

Marek Olšák maraeo at gmail.com
Fri Jan 29 06:02:36 PST 2016


From: Marek Olšák <marek.olsak at amd.com>

The motivation is to simplify the Stoney RB+ code.
Intensity is already treated as red except here.

No piglit regressions.
---
 src/gallium/drivers/radeonsi/si_state.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 9e0ccfc..40ae13f 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2097,8 +2097,10 @@ static void si_initialize_color_surface(struct si_context *sctx,
 
 	color_pitch = S_028C64_TILE_MAX(pitch);
 
+	/* Intensity is implemented as Red, so treat it that way. */
 	color_attrib = S_028C74_TILE_MODE_INDEX(tile_mode_index) |
-		S_028C74_FORCE_DST_ALPHA_1(desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_1);
+		S_028C74_FORCE_DST_ALPHA_1(desc->swizzle[3] == UTIL_FORMAT_SWIZZLE_1 ||
+					   util_format_is_intensity(surf->base.format));
 
 	if (rtex->resource.b.b.nr_samples > 1) {
 		unsigned log_samples = util_logbase2(rtex->resource.b.b.nr_samples);
-- 
2.1.4



More information about the mesa-dev mailing list