isl: fix condition for enabling sampler route to lsc

This will disable cases with 2D array views (which could be views to 3D
texture) but enables on regular 2D surfaces which seems to work fine.

Fixes: 70382f7f06 ("intel/isl/xe2: Enable route of Sampler LD message to LSC")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29760>
(cherry picked from commit 4a0a716b6a)
This commit is contained in:
Tapani Pälli 2024-06-17 10:48:05 +03:00 committed by Eric Engestrom
parent 46ae863f9e
commit ba17678ea7
3 changed files with 5 additions and 9 deletions

View file

@ -1344,7 +1344,7 @@
"description": "isl: fix condition for enabling sampler route to lsc",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "70382f7f06561dcd94e4d2e6f2bedc8dbeec5d8e",
"notes": null

View file

@ -1220,12 +1220,6 @@ isl_format_rgbx_to_rgba(enum isl_format rgbx)
bool
isl_format_support_sampler_route_to_lsc(enum isl_format fmt)
{
/* TODO/FIXME: even only enabling the optimization with formats below this
* is causing some tests to fail so completely disabling this optimization
* for now.
*/
return false;
switch (fmt) {
case ISL_FORMAT_R8_UNORM:
case ISL_FORMAT_R8G8_UNORM:

View file

@ -578,8 +578,10 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
s.ResourceMinLOD = info->view->min_lod_clamp;
#if GFX_VERx10 >= 200
s.EnableSamplerRoutetoLSC = isl_format_support_sampler_route_to_lsc(info->view->format);
s.EnableSamplerRoutetoLSC &= (s.SurfaceType == SURFTYPE_2D);
s.EnableSamplerRoutetoLSC =
isl_format_support_sampler_route_to_lsc(info->view->format);
s.EnableSamplerRoutetoLSC &= (s.SurfaceType == SURFTYPE_2D &&
info->view->array_len == 1);
/* Wa_14018471104:
* For APIs that use ResourceMinLod, do the following: (remains same as before)