anv: reenable VK_KHR_maintenance8 on pre-Xe2 platforms

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37929>
This commit is contained in:
Lionel Landwerlin 2025-10-16 17:16:27 +03:00 committed by Marge Bot
parent c5d313a2a8
commit 2b6c75423e
2 changed files with 16 additions and 2 deletions

View file

@ -197,7 +197,7 @@ get_device_extensions(const struct anv_physical_device *device,
.KHR_maintenance5 = true,
.KHR_maintenance6 = true,
.KHR_maintenance7 = true,
.KHR_maintenance8 = device->info.ver >= 20,
.KHR_maintenance8 = true,
.KHR_maintenance9 = true,
.KHR_map_memory2 = true,
.KHR_multiview = true,

View file

@ -1389,10 +1389,24 @@ anv_shader_lower_nir(struct anv_device *device,
NIR_PASS(_, nir, nir_opt_remove_phis);
const bool lower_non_uniform_texture_offsets = device->info->ver < 20;
enum nir_lower_non_uniform_access_type lower_non_uniform_access_types =
nir_lower_non_uniform_texture_access |
nir_lower_non_uniform_image_access |
nir_lower_non_uniform_get_ssbo_size;
nir_lower_non_uniform_get_ssbo_size |
(lower_non_uniform_texture_offsets ?
nir_lower_non_uniform_texture_offset_access : 0);
/* Pre-Xe2 platforms don't have native support for dynamic programmable
* offsets. Since support includes non-uniform programmable offsets, we
* need to lower those texture messages in the same way we lower
* non-uniform texture/sampler handles.
*/
if (lower_non_uniform_texture_offsets) {
nir_foreach_function_impl(impl, nir)
nir_metadata_require(impl, nir_metadata_divergence);
}
/* In practice, most shaders do not have non-uniform-qualified
* accesses (see