mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-03 15:28:15 +02:00
kk: Support VK_KHR_shader_untyped_pointers
With memcpy lowering and fix for infinite optimize loop on 4x16 packs, passes `dEQP-VK.spirv_assembly.instruction.compute.untyped_pointers.*`. Reviewed-by: Aitor Camacho <aitor@lunarg.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41695>
This commit is contained in:
parent
8ee23ece2b
commit
2d6ad3cba1
4 changed files with 7 additions and 1 deletions
|
|
@ -586,7 +586,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_KHR_shader_quad_control DONE (anv, hk, lvp, nvk, panvk/v10+, radv, vn)
|
||||
VK_KHR_shader_relaxed_extended_instruction DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, hk, kk, nvk, panvk/v10+, radv, tu, vn)
|
||||
VK_KHR_shader_untyped_pointers DONE (anv, nvk, panvk/v9+, radv, vn)
|
||||
VK_KHR_shader_untyped_pointers DONE (anv, kk, nvk, panvk/v9+, radv, vn)
|
||||
VK_KHR_shared_presentable_image not started
|
||||
VK_KHR_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_surface_maintenance1 DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
||||
|
|
|
|||
|
|
@ -2035,6 +2035,7 @@ msl_preprocess_nir(struct nir_shader *nir)
|
|||
NIR_PASS(_, nir, nir_opt_combine_barriers, NULL, NULL);
|
||||
NIR_PASS(_, nir, nir_lower_var_copies);
|
||||
NIR_PASS(_, nir, nir_split_var_copies);
|
||||
NIR_PASS(_, nir, nir_lower_memcpy);
|
||||
|
||||
NIR_PASS(_, nir, nir_split_array_vars,
|
||||
nir_var_function_temp | nir_var_shader_in | nir_var_shader_out);
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ static const nir_shader_compiler_options kk_nir_options = {
|
|||
.lower_pack_64_2x32_split = true,
|
||||
.lower_unpack_64_2x32_split = true,
|
||||
.lower_pack_64_2x32 = true,
|
||||
.lower_pack_64_4x16 = true,
|
||||
.lower_pack_half_2x16 = true,
|
||||
.lower_pack_split = true,
|
||||
.lower_unpack_half_2x16 = true,
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ kk_get_device_extensions(const struct kk_instance *instance,
|
|||
.KHR_shader_maximal_reconvergence = true,
|
||||
.KHR_shader_relaxed_extended_instruction = true,
|
||||
.KHR_shader_subgroup_uniform_control_flow = true,
|
||||
.KHR_shader_untyped_pointers = true,
|
||||
#ifdef KK_USE_WSI_PLATFORM
|
||||
.KHR_swapchain = true,
|
||||
.KHR_swapchain_mutable_format = true,
|
||||
|
|
@ -352,6 +353,9 @@ kk_get_device_features(
|
|||
/* VK_KHR_shader_relaxed_extended_instruction */
|
||||
.shaderRelaxedExtendedInstruction = true,
|
||||
|
||||
/* VK_KHR_shader_untyped_pointers */
|
||||
.shaderUntypedPointers = true,
|
||||
|
||||
/* VK_KHR_unified_image_layouts */
|
||||
.unifiedImageLayouts = true,
|
||||
.unifiedImageLayoutsVideo = false,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue