mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 01:20:17 +01:00
intel/brw: Store and set sfid in memory fences
sfid is another field that is not preserved after brw_transform_inst_to_send()
so we need to store it before transform and retore it to preserve the sfid value.
Fixes: 0fcce2722f ("brw: Add brw_send_inst")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37823>
This commit is contained in:
parent
a259f64595
commit
19de4b82f9
1 changed files with 4 additions and 0 deletions
|
|
@ -2482,9 +2482,11 @@ lower_lsc_memory_fence_and_interlock(const brw_builder &bld, struct brw_send_ins
|
|||
assert(inst->size_written == reg_unit(devinfo) * REG_SIZE);
|
||||
|
||||
const uint32_t intrinsic_desc = inst->desc;
|
||||
const uint8_t sfid = inst->sfid;
|
||||
brw_send_inst *send = brw_transform_inst_to_send(bld, inst);
|
||||
inst = NULL;
|
||||
|
||||
send->sfid = sfid;
|
||||
send->check_tdr = interlock;
|
||||
send->has_side_effects = true;
|
||||
|
||||
|
|
@ -2560,9 +2562,11 @@ lower_hdc_memory_fence_and_interlock(const brw_builder &bld, brw_send_inst *inst
|
|||
|
||||
assert(inst->size_written == (commit_enable ? REG_SIZE : 0));
|
||||
|
||||
const uint8_t sfid = inst->sfid;
|
||||
brw_send_inst *send = brw_transform_inst_to_send(bld, inst);
|
||||
inst = NULL;
|
||||
|
||||
send->sfid = sfid;
|
||||
send->check_tdr = interlock;
|
||||
send->has_side_effects = true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue