intel/fs: restore message layout changes for cube array
This reverts commitbc04e2daca
that handled the change as a WA while this is about a new feature, change done in message layout. Patch also changes the original comment to not refer to Wa but bspec page. Fixes:bc04e2daca
("intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Mark Janes <markjanes@swizzler.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22068>
This commit is contained in:
@@ -1062,15 +1062,14 @@ lower_sampler_logical_send_gfx7(const fs_builder &bld, fs_inst *inst, opcode op,
|
|||||||
|
|
||||||
if (min_lod.file != BAD_FILE) {
|
if (min_lod.file != BAD_FILE) {
|
||||||
/* Account for all of the missing coordinate sources */
|
/* Account for all of the missing coordinate sources */
|
||||||
if (op == SHADER_OPCODE_TXD &&
|
if (op == SHADER_OPCODE_TXD && devinfo->verx10 >= 125) {
|
||||||
intel_needs_workaround(devinfo, 18012201914)) {
|
|
||||||
/* On DG2 and newer platforms, sample_d can only be used with 1D and
|
/* 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.
|
* 2D surfaces, so the maximum number of gradient components is 2.
|
||||||
* In spite of this limitation, the Bspec lists a mysterious R
|
* In spite of this limitation, the Bspec lists a mysterious R
|
||||||
* component before the min_lod, so the maximum coordinate components
|
* component before the min_lod, so the maximum coordinate components
|
||||||
* is 3.
|
* is 3.
|
||||||
*
|
*
|
||||||
* Wa_18012201914
|
* See bspec 45942, "Enable new message layout for cube array"
|
||||||
*/
|
*/
|
||||||
length += 3 - coord_components;
|
length += 3 - coord_components;
|
||||||
length += (2 - grad_components) * 2;
|
length += (2 - grad_components) * 2;
|
||||||
|
@@ -956,8 +956,9 @@ brw_preprocess_nir(const struct brw_compiler *compiler, nir_shader *nir,
|
|||||||
.lower_txf_offset = true,
|
.lower_txf_offset = true,
|
||||||
.lower_rect_offset = true,
|
.lower_rect_offset = true,
|
||||||
.lower_txd_cube_map = true,
|
.lower_txd_cube_map = true,
|
||||||
.lower_txd_3d = intel_needs_workaround(devinfo, 18012201914),
|
/* For below, See bspec 45942, "Enable new message layout for cube array" */
|
||||||
.lower_txd_array = intel_needs_workaround(devinfo, 18012201914),
|
.lower_txd_3d = devinfo->verx10 >= 125,
|
||||||
|
.lower_txd_array = devinfo->verx10 >= 125,
|
||||||
.lower_txb_shadow_clamp = true,
|
.lower_txb_shadow_clamp = true,
|
||||||
.lower_txd_shadow_clamp = true,
|
.lower_txd_shadow_clamp = true,
|
||||||
.lower_txd_offset_clamp = true,
|
.lower_txd_offset_clamp = true,
|
||||||
|
Reference in New Issue
Block a user