tgsi: use separate structure for indirect address v2
[mesa.git] / src / gallium / auxiliary / tgsi / tgsi_parse.c
index 29079ef2140c95dc1ccfcd4be91ed18d2b57bdc7..70c1cb223ee05276a392e5b3f23d15a33df1518d 100644 (file)
@@ -200,15 +200,9 @@ tgsi_parse_token(
 
          next_token( ctx, &inst->Dst[i].Register );
 
-         if( inst->Dst[i].Register.Indirect ) {
+         if( inst->Dst[i].Register.Indirect )
             next_token( ctx, &inst->Dst[i].Indirect );
 
-            /*
-             * No support for indirect or multi-dimensional addressing.
-             */
-            assert( !inst->Dst[i].Indirect.Dimension );
-            assert( !inst->Dst[i].Indirect.Indirect );
-         }
          if( inst->Dst[i].Register.Dimension ) {
             next_token( ctx, &inst->Dst[i].Dimension );
 
@@ -217,15 +211,8 @@ tgsi_parse_token(
              */
             assert( !inst->Dst[i].Dimension.Dimension );
 
-            if( inst->Dst[i].Dimension.Indirect ) {
+            if( inst->Dst[i].Dimension.Indirect )
                next_token( ctx, &inst->Dst[i].DimIndirect );
-
-               /*
-                * No support for indirect or multi-dimensional addressing.
-                */
-               assert( !inst->Dst[i].Indirect.Indirect );
-               assert( !inst->Dst[i].Indirect.Dimension );
-            }
          }
       }
 
@@ -235,16 +222,9 @@ tgsi_parse_token(
 
          next_token( ctx, &inst->Src[i].Register );
 
-         if( inst->Src[i].Register.Indirect ) {
+         if( inst->Src[i].Register.Indirect )
             next_token( ctx, &inst->Src[i].Indirect );
 
-            /*
-             * No support for indirect or multi-dimensional addressing.
-             */
-            assert( !inst->Src[i].Indirect.Indirect );
-            assert( !inst->Src[i].Indirect.Dimension );
-         }
-
          if( inst->Src[i].Register.Dimension ) {
             next_token( ctx, &inst->Src[i].Dimension );
 
@@ -253,15 +233,8 @@ tgsi_parse_token(
              */
             assert( !inst->Src[i].Dimension.Dimension );
 
-            if( inst->Src[i].Dimension.Indirect ) {
+            if( inst->Src[i].Dimension.Indirect )
                next_token( ctx, &inst->Src[i].DimIndirect );
-
-               /*
-               * No support for indirect or multi-dimensional addressing.
-               */
-               assert( !inst->Src[i].Indirect.Indirect );
-               assert( !inst->Src[i].Indirect.Dimension );
-            }
          }
       }