Mesa (master): radeonsi: Expose pure integer vertex formats

Michel Dänzer daenzer at kemper.freedesktop.org
Mon Sep 2 15:26:05 UTC 2013


Module: Mesa
Branch: master
Commit: 9933b85e122c233ceac7662aec5cf359f888f595
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9933b85e122c233ceac7662aec5cf359f888f595

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Aug 29 16:39:16 2013 +0200

radeonsi: Expose pure integer vertex formats

Fixes 20 piglit tests with MESA_GL_VERSION_OVERRIDE=3.0.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_state.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 3c4197c..6426033 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1630,7 +1630,12 @@ static uint32_t si_translate_vertexformat(struct pipe_screen *screen,
 		}
 		break;
 	case 32:
-		if (type != UTIL_FORMAT_TYPE_FLOAT)
+		/* From the Southern Islands ISA documentation about MTBUF:
+		 * 'Memory reads of data in memory that is 32 or 64 bits do not
+		 * undergo any format conversion.'
+		 */
+		if (type != UTIL_FORMAT_TYPE_FLOAT &&
+		    !desc->channel[first_non_void].pure_integer)
 			return V_008F0C_BUF_DATA_FORMAT_INVALID;
 
 		switch (desc->nr_channels) {




More information about the mesa-commit mailing list