From bc04e2dacac174f1d4cbb63edd5b775e285996c9 Mon Sep 17 00:00:00 2001 From: Mark Janes Date: Tue, 7 Feb 2023 19:41:01 -0800 Subject: [PATCH] intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914 Wa_1209978020 is a clone of Wa_18012201914. Update references to refer to the originating bug, and use generated helpers to ensure it is applied to future platforms as needed. Reviewed-by: Ian Romanick Part-of: --- src/intel/compiler/brw_lower_logical_sends.cpp | 5 +++-- src/intel/compiler/brw_nir.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/intel/compiler/brw_lower_logical_sends.cpp b/src/intel/compiler/brw_lower_logical_sends.cpp index a83ce223106..9799f54ec01 100644 --- a/src/intel/compiler/brw_lower_logical_sends.cpp +++ b/src/intel/compiler/brw_lower_logical_sends.cpp @@ -1062,14 +1062,15 @@ lower_sampler_logical_send_gfx7(const fs_builder &bld, fs_inst *inst, opcode op, if (min_lod.file != BAD_FILE) { /* Account for all of the missing coordinate sources */ - if (op == SHADER_OPCODE_TXD && devinfo->verx10 >= 125) { + if (op == SHADER_OPCODE_TXD && + intel_needs_workaround(devinfo, 18012201914)) { /* On DG2 and newer platforms, sample_d can only be used with 1D and * 2D surfaces, so the maximum number of gradient components is 2. * In spite of this limitation, the Bspec lists a mysterious R * component before the min_lod, so the maximum coordinate components * is 3. * - * Wa_1209978020 + * Wa_18012201914 */ length += 3 - coord_components; length += (2 - grad_components) * 2; diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index c7788b83db3..b340c09c0b5 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -956,8 +956,8 @@ brw_preprocess_nir(const struct brw_compiler *compiler, nir_shader *nir, .lower_txf_offset = true, .lower_rect_offset = true, .lower_txd_cube_map = true, - .lower_txd_3d = devinfo->verx10 >= 125, /* Wa_1209978020 */ - .lower_txd_array = devinfo->verx10 >= 125, /* Wa_1209978020 */ + .lower_txd_3d = intel_needs_workaround(devinfo, 18012201914), + .lower_txd_array = intel_needs_workaround(devinfo, 18012201914), .lower_txb_shadow_clamp = true, .lower_txd_shadow_clamp = true, .lower_txd_offset_clamp = true,