intel/compiler/xe2: Update fs_visitor::setup_vs_payload to account for Xe2 reg size
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 1 Aug 2022 23:42:57 +0000 (16:42 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Thu, 21 Sep 2023 00:19:36 +0000 (17:19 -0700)
[ Francisco Jerez: Simplify. ]

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25020>

src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs.h
src/intel/compiler/brw_fs_thread_payload.cpp

index 388ece6..b875bc6 100644 (file)
@@ -6987,7 +6987,7 @@ fs_visitor::run_vs()
 {
    assert(stage == MESA_SHADER_VERTEX);
 
-   payload_ = new vs_thread_payload();
+   payload_ = new vs_thread_payload(*this);
 
    emit_nir_code();
 
index 67b333f..2c2bb6b 100644 (file)
@@ -98,7 +98,7 @@ protected:
 };
 
 struct vs_thread_payload : public thread_payload {
-   vs_thread_payload();
+   vs_thread_payload(const fs_visitor &v);
 
    fs_reg urb_handles;
 };
index 3934d12..005fb09 100644 (file)
 
 using namespace brw;
 
-vs_thread_payload::vs_thread_payload()
+vs_thread_payload::vs_thread_payload(const fs_visitor &v)
 {
-   urb_handles = brw_ud8_grf(1, 0);
+   unsigned r = 0;
+
+   /* R0: Thread header. */
+   r += reg_unit(v.devinfo);
 
-   num_regs = 2;
+   /* R1: URB handles. */
+   urb_handles = brw_ud8_grf(r, 0);
+   r += reg_unit(v.devinfo);
+
+   num_regs = r;
 }
 
 tcs_thread_payload::tcs_thread_payload(const fs_visitor &v)