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>
This commit is contained in:
Tapani Pälli 2024-06-17 10:48:05 +03:00 committed by Marge Bot
parent 030d6e6280
commit 4a0a716b6a
2 changed files with 4 additions and 8 deletions

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

@ -579,8 +579,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)