Mesa (master): radeonsi: implement ARB_vertex_type_2_10_10_10_rev

Marek Olšák mareko at kemper.freedesktop.org
Mon Nov 4 18:11:06 UTC 2013


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Oct 31 15:20:06 2013 +0100

radeonsi: implement ARB_vertex_type_2_10_10_10_rev

---

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

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 0d74344..72368d8 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1362,6 +1362,13 @@ static uint32_t si_translate_buffer_dataformat(struct pipe_screen *screen,
 	if (type == UTIL_FORMAT_TYPE_FIXED)
 		return V_008F0C_BUF_DATA_FORMAT_INVALID;
 
+	if (desc->nr_channels == 4 &&
+	    desc->channel[0].size == 10 &&
+	    desc->channel[1].size == 10 &&
+	    desc->channel[2].size == 10 &&
+	    desc->channel[3].size == 2)
+		return V_008F0C_BUF_DATA_FORMAT_2_10_10_10;
+
 	/* See whether the components are of the same size. */
 	for (i = 0; i < desc->nr_channels; i++) {
 		if (desc->channel[first_non_void].size != desc->channel[i].size)




More information about the mesa-commit mailing list