mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 04:40:09 +01:00
brw: fix analysis dirtying with pulled constants
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 5c17299084 ("brw: enable A64 pulling of push constants")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36455>
This commit is contained in:
parent
e098bf399a
commit
df37c7ca74
2 changed files with 11 additions and 1 deletions
|
|
@ -82,6 +82,13 @@ operator|(brw_analysis_dependency_class x, brw_analysis_dependency_class y)
|
|||
static_cast<unsigned>(x) | static_cast<unsigned>(y));
|
||||
}
|
||||
|
||||
inline brw_analysis_dependency_class
|
||||
operator|=(brw_analysis_dependency_class x, brw_analysis_dependency_class y)
|
||||
{
|
||||
return static_cast<brw_analysis_dependency_class>(
|
||||
static_cast<unsigned>(x) | static_cast<unsigned>(y));
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiate a program analysis class \p L which can calculate an object of
|
||||
* type \p T as result. \p C is a closure that encapsulates whatever
|
||||
|
|
|
|||
|
|
@ -691,6 +691,8 @@ brw_shader::assign_curb_setup()
|
|||
brw_imm_ud(INTEL_MASK(31, 6)));
|
||||
}
|
||||
|
||||
brw_analysis_dependency_class dirty_bits = BRW_DEPENDENCY_INSTRUCTIONS;
|
||||
|
||||
/* On Gfx12-HP we load constants at the start of the program using A32
|
||||
* stateless messages.
|
||||
*/
|
||||
|
|
@ -704,6 +706,7 @@ brw_shader::assign_curb_setup()
|
|||
|
||||
if (i != 0) {
|
||||
if (pull_constants_a64) {
|
||||
dirty_bits |= BRW_DEPENDENCY_VARIABLES;
|
||||
/* We need to do the carry manually as when this pass is run,
|
||||
* we're not expecting any 64bit ALUs. Unfortunately all the
|
||||
* 64bit lowering is done in NIR.
|
||||
|
|
@ -765,7 +768,7 @@ brw_shader::assign_curb_setup()
|
|||
i += num_regs;
|
||||
}
|
||||
|
||||
invalidate_analysis(BRW_DEPENDENCY_INSTRUCTIONS);
|
||||
invalidate_analysis(dirty_bits);
|
||||
}
|
||||
|
||||
/* Map the offsets in the UNIFORM file to fixed HW regs. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue