mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 01:08:03 +02:00
intel/fs: use generated workaround helpers for Wa_14017989577
Wa_14017989577 is a clone of Wa_14015360517, which applies to several platforms beyond INTEL_PLATFORM_DG2_G10. Update references to Wa_14017989577, and use the generated workaround helper to ensure application to the proper platforms. Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21744>
This commit is contained in:
parent
5fd9abae90
commit
08649e3673
1 changed files with 12 additions and 11 deletions
|
|
@ -38,6 +38,7 @@
|
|||
#include "brw_dead_control_flow.h"
|
||||
#include "brw_private.h"
|
||||
#include "dev/intel_debug.h"
|
||||
#include "dev/intel_wa.h"
|
||||
#include "compiler/glsl_types.h"
|
||||
#include "compiler/nir/nir_builder.h"
|
||||
#include "program/prog_parameter.h"
|
||||
|
|
@ -6233,7 +6234,7 @@ needs_dummy_fence(const intel_device_info *devinfo, fs_inst *inst)
|
|||
return false;
|
||||
}
|
||||
|
||||
/* Wa_14017989577
|
||||
/* Wa_14015360517
|
||||
*
|
||||
* The first instruction of any kernel should have non-zero emask.
|
||||
* Make sure this happens by introducing a dummy mov instruction.
|
||||
|
|
@ -6241,7 +6242,7 @@ needs_dummy_fence(const intel_device_info *devinfo, fs_inst *inst)
|
|||
void
|
||||
fs_visitor::emit_dummy_mov_instruction()
|
||||
{
|
||||
if (devinfo->verx10 < 120)
|
||||
if (!intel_needs_workaround(devinfo, 14015360517))
|
||||
return;
|
||||
|
||||
struct backend_instruction *first_inst =
|
||||
|
|
@ -6623,7 +6624,7 @@ fs_visitor::run_vs()
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(true /* allow_spilling */);
|
||||
|
|
@ -6749,7 +6750,7 @@ fs_visitor::run_tcs()
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(true /* allow_spilling */);
|
||||
|
|
@ -6781,7 +6782,7 @@ fs_visitor::run_tes()
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(true /* allow_spilling */);
|
||||
|
|
@ -6829,7 +6830,7 @@ fs_visitor::run_gs()
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(true /* allow_spilling */);
|
||||
|
|
@ -6932,7 +6933,7 @@ fs_visitor::run_fs(bool allow_spilling, bool do_rep_send)
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(allow_spilling);
|
||||
|
|
@ -6972,7 +6973,7 @@ fs_visitor::run_cs(bool allow_spilling)
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(allow_spilling);
|
||||
|
|
@ -7004,7 +7005,7 @@ fs_visitor::run_bs(bool allow_spilling)
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(allow_spilling);
|
||||
|
|
@ -7037,7 +7038,7 @@ fs_visitor::run_task(bool allow_spilling)
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(allow_spilling);
|
||||
|
|
@ -7070,7 +7071,7 @@ fs_visitor::run_mesh(bool allow_spilling)
|
|||
fixup_3src_null_dest();
|
||||
emit_dummy_memory_fence_before_eot();
|
||||
|
||||
/* Wa_14017989577 */
|
||||
/* Wa_14015360517 */
|
||||
emit_dummy_mov_instruction();
|
||||
|
||||
allocate_registers(allow_spilling);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue