From c48feaf2d185e247d016ef7d60eefac18f0e5704 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Thu, 12 Apr 2018 01:34:29 +0200 Subject: [PATCH] spirv: Add support for VK_EXT_descriptor_indexing uniform indexing caps. Reviewed-by: Samuel Pitoiset --- src/compiler/shader_info.h | 1 + src/compiler/spirv/spirv_to_nir.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index ababe520b2d..6bbe526d2dc 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -53,6 +53,7 @@ struct spirv_supported_capabilities { bool subgroup_vote; bool gcn_shader; bool trinary_minmax; + bool descriptor_array_dynamic_indexing; }; typedef struct shader_info { diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 28274311c2b..884f5b2c69e 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -3384,6 +3384,12 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, spv_check_supported(shader_viewport_index_layer, cap); break; + case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT: + case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT: + case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT: + spv_check_supported(descriptor_array_dynamic_indexing, cap); + break; + default: vtn_fail("Unhandled capability"); } -- 2.30.2