iris: Limit resolves for atomics to R32 formats

GL only allows atomics on R32 formats. So, for a shader which does
atomic operations, only decompress the bound R32-formatted images
instead of every image.

Aside from the performance improvement, explicitly limiting the formats
here makes it clear which formats may be resolved on gfx12.0. This helps
us to limit the scope of the Ys + 3D-dim restriction that will be added
in the next patch.

Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38063>
This commit is contained in:
Nanley Chery 2025-10-17 10:17:45 -04:00 committed by Marge Bot
parent 664869f659
commit 5ecd4520c8

View file

@ -1035,6 +1035,9 @@ iris_image_view_aux_usage(struct iris_context *ice,
pview->u.tex.level : 0;
bool uses_atomic_load_store =
(pview->format == PIPE_FORMAT_R32_UINT ||
pview->format == PIPE_FORMAT_R32_SINT ||
pview->format == PIPE_FORMAT_R32_FLOAT) &&
ice->shaders.uncompiled[info->stage]->uses_atomic_load_store;
/* Prior to GFX12, render compression is not supported for images. */