intel/tools: Simplify dstregion
[mesa.git] / src / intel / tools / i965_gram.y
index e8bdfc5c301e86d8b27148483819c412e03e7b9e..03ebc7e3e6da750ddf2ec9ebef8bf0983280279d 100644 (file)
@@ -1426,14 +1426,9 @@ dstoperand:
        dstreg dstregion writemask reg_type
        {
                $$ = $1;
-
-               if ($2 == -1) {
-                       $$.hstride = BRW_HORIZONTAL_STRIDE_1;
-                       $$.vstride = BRW_VERTICAL_STRIDE_1;
-                       $$.width = BRW_WIDTH_1;
-               } else {
-                       $$.hstride = $2;
-               }
+               $$.vstride = BRW_VERTICAL_STRIDE_1;
+               $$.width = BRW_WIDTH_1;
+               $$.hstride = $2;
                $$.type = $4;
                $$.writemask = $3;
                $$.swizzle = BRW_SWIZZLE_NOOP;
@@ -1457,13 +1452,9 @@ dstoperandex:
        | nullreg dstregion writemask reg_type
        {
                $$ = $1;
-               if ($2 == -1) {
-                       $$.hstride = BRW_HORIZONTAL_STRIDE_1;
-                       $$.vstride = BRW_VERTICAL_STRIDE_1;
-                       $$.width = BRW_WIDTH_1;
-               } else {
-                       $$.hstride = $2;
-               }
+               $$.vstride = BRW_VERTICAL_STRIDE_1;
+               $$.width = BRW_WIDTH_1;
+               $$.hstride = $2;
                $$.writemask = $3;
                $$.type = $4;
        }
@@ -1519,28 +1510,23 @@ srcaccimm:
 immreg:
        immval imm_type
        {
-               uint32_t u32;
-               uint64_t u64;
                switch ($2) {
                case BRW_REGISTER_TYPE_UD:
-                       u32 = $1;
-                       $$ = brw_imm_ud(u32);
+                       $$ = brw_imm_ud($1);
                        break;
                case BRW_REGISTER_TYPE_D:
                        $$ = brw_imm_d($1);
                        break;
                case BRW_REGISTER_TYPE_UW:
-                       u32 = $1 | ($1 << 16);
-                       $$ = brw_imm_uw(u32);
+                       $$ = brw_imm_uw($1 | ($1 << 16));
                        break;
                case BRW_REGISTER_TYPE_W:
-                       u32 = $1;
-                       $$ = brw_imm_w(u32);
+                       $$ = brw_imm_w($1);
                        break;
                case BRW_REGISTER_TYPE_F:
                        $$ = brw_imm_reg(BRW_REGISTER_TYPE_F);
+                       /* Set u64 instead of ud since DIM uses a 64-bit F-typed imm */
                        $$.u64 = $1;
-                       $$.ud = $1;
                        break;
                case BRW_REGISTER_TYPE_V:
                        $$ = brw_imm_v($1);
@@ -1549,16 +1535,13 @@ immreg:
                        $$ = brw_imm_uv($1);
                        break;
                case BRW_REGISTER_TYPE_VF:
-                       $$ = brw_imm_reg(BRW_REGISTER_TYPE_VF);
-                       $$.d = $1;
+                       $$ = brw_imm_vf($1);
                        break;
                case BRW_REGISTER_TYPE_Q:
-                       u64 = $1;
-                       $$ = brw_imm_q(u64);
+                       $$ = brw_imm_q($1);
                        break;
                case BRW_REGISTER_TYPE_UQ:
-                       u64 = $1;
-                       $$ = brw_imm_uq(u64);
+                       $$ = brw_imm_uq($1);
                        break;
                case BRW_REGISTER_TYPE_DF:
                        $$ = brw_imm_reg(BRW_REGISTER_TYPE_DF);
@@ -1934,7 +1917,10 @@ immval:
 
 /* Regions */
 dstregion:
-       %empty  { $$ = -1; }
+       %empty
+       {
+               $$ = BRW_HORIZONTAL_STRIDE_1;
+       }
        | LANGLE exp RANGLE
        {
                if ($2 != 0 && ($2 > 4 || !isPowerofTwo($2)))