intel/mi_builder: Use AddCSMMIOStartOffset for LRI
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 6 Mar 2021 20:52:52 +0000 (14:52 -0600)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 8 Mar 2021 15:54:45 +0000 (09:54 -0600)
In 06cf838cbdcb03184 we started using the AddCSMMIOStartOffset feature
on Gen11+ but we missed one place.

Fixes: 06cf838cbdcb "intel/mi_builder: Support gen11 command-streamer..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9445>

src/intel/common/mi_builder.h

index 59147e4..2ed6aab 100644 (file)
@@ -374,13 +374,17 @@ _mi_copy_no_unref(struct mi_builder *b,
          if (dst.type == MI_VALUE_TYPE_REG64) {
             uint32_t *dw = (uint32_t *)__gen_get_batch_dwords(b->user_data,
                                                               GENX(MI_LOAD_REGISTER_IMM_length) + 2);
+            struct mi_reg_num reg = mi_adjust_reg_num(dst.reg);
             mi_builder_pack(b, GENX(MI_LOAD_REGISTER_IMM), dw, lri) {
                lri.DWordLength = GENX(MI_LOAD_REGISTER_IMM_length) + 2 -
                                  GENX(MI_LOAD_REGISTER_IMM_length_bias);
+#if GEN_GEN >= 11
+               lri.AddCSMMIOStartOffset = reg.cs;
+#endif
             }
-            dw[1] = dst.reg;
+            dw[1] = reg.num;
             dw[2] = src.imm;
-            dw[3] = dst.reg + 4;
+            dw[3] = reg.num + 4;
             dw[4] = src.imm >> 32;
          } else {
 #if GEN_GEN >= 8