Mesa (master): tgsi: properly parse indirect dimension references ( e.g. for UBOs)

Ilia Mirkin imirkin at kemper.freedesktop.org
Wed Jul 9 16:41:19 UTC 2014


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Wed Jul  9 02:27:36 2014 -0400

tgsi: properly parse indirect dimension references (e.g. for UBOs)

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/tgsi/tgsi_text.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c
index 7e50d8d..e424d99 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_text.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_text.c
@@ -804,6 +804,13 @@ parse_src_operand(
       src->Dimension.Indirect = 0;
       src->Dimension.Dimension = 0;
       src->Dimension.Index = bracket[0].index;
+      if (bracket[0].ind_file != TGSI_FILE_NULL) {
+         src->Dimension.Indirect = 1;
+         src->DimIndirect.File = bracket[0].ind_file;
+         src->DimIndirect.Index = bracket[0].ind_index;
+         src->DimIndirect.Swizzle = bracket[0].ind_comp;
+         src->DimIndirect.ArrayID = bracket[0].ind_array;
+      }
       bracket[0] = bracket[1];
    }
    src->Register.Index = bracket[0].index;




More information about the mesa-commit mailing list