From 0b23df395190101cb74164e562e63658762f2180 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 1 Aug 2022 16:42:57 -0700 Subject: [PATCH] intel/compiler/xe2: Update fs_visitor::setup_vs_payload to account for Xe2 reg size [ Francisco Jerez: Simplify. ] Reviewed-by: Caio Oliveira Reviewed-by: Jordan Justen Part-of: --- src/intel/compiler/brw_fs.cpp | 2 +- src/intel/compiler/brw_fs.h | 2 +- src/intel/compiler/brw_fs_thread_payload.cpp | 13 ++++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 388ece64672..b875bc677d0 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -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(); diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h index 67b333f9dbd..2c2bb6b317c 100644 --- a/src/intel/compiler/brw_fs.h +++ b/src/intel/compiler/brw_fs.h @@ -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; }; diff --git a/src/intel/compiler/brw_fs_thread_payload.cpp b/src/intel/compiler/brw_fs_thread_payload.cpp index 3934d12f599..005fb099d51 100644 --- a/src/intel/compiler/brw_fs_thread_payload.cpp +++ b/src/intel/compiler/brw_fs_thread_payload.cpp @@ -25,11 +25,18 @@ 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; - num_regs = 2; + /* R0: Thread header. */ + r += reg_unit(v.devinfo); + + /* 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)