[Mesa-dev] [PATCH 1/2] radeonsi: Expose pure integer vertex formats

Michel Dänzer michel at daenzer.net
Fri Aug 30 08:48:32 PDT 2013


From: Michel Dänzer <michel.daenzer at amd.com>

Fixes 20 piglit tests with MESA_GL_VERSION_OVERRIDE=3.0.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/gallium/drivers/radeonsi/si_state.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 6410e45..ebf342f 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1629,7 +1629,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) {
-- 
1.8.4.rc3



More information about the mesa-dev mailing list