[Mesa-dev] [PATCH] i965: Update STATE_BASE_ADDRESS length for gen11+.

Rafael Antognolli rafael.antognolli at intel.com
Wed Oct 10 20:30:52 UTC 2018


Starting in gen11, we have 3 more dwords used for Bindless Sampler State
pointer and size.

Cc: Anuj Phogat <anuj.phogat at gmail.com>

---
 src/mesa/drivers/dri/i965/brw_misc_state.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c
index 0895e1f2b7f..965fbb10c4d 100644
--- a/src/mesa/drivers/dri/i965/brw_misc_state.c
+++ b/src/mesa/drivers/dri/i965/brw_misc_state.c
@@ -688,7 +688,8 @@ brw_upload_state_base_address(struct brw_context *brw)
        * to the bottom 4GB.
        */
       uint32_t mocs_wb = devinfo->gen >= 9 ? SKL_MOCS_WB : BDW_MOCS_WB;
-      int pkt_len = devinfo->gen >= 9 ? 19 : 16;
+      const int pkt_len =
+         devinfo->gen >= 9 ? (devinfo->gen >= 11 ? 22 : 19) : 16;
 
       BEGIN_BATCH(pkt_len);
       OUT_BATCH(CMD_STATE_BASE_ADDRESS << 16 | (pkt_len - 2));
@@ -717,6 +718,12 @@ brw_upload_state_base_address(struct brw_context *brw)
          OUT_BATCH(1);
          OUT_BATCH(0);
          OUT_BATCH(0);
+         if (devinfo->gen >= 11) {
+            /* Bindless Sampler State */
+            OUT_BATCH(0);
+            OUT_BATCH(0);
+            OUT_BATCH(0);
+         }
       }
       ADVANCE_BATCH();
    } else if (devinfo->gen >= 6) {
-- 
2.17.1



More information about the mesa-dev mailing list