diff options
-rw-r--r-- | src/compiler/spirv/nir_spirv.h | 1 | ||||
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/spirv/nir_spirv.h b/src/compiler/spirv/nir_spirv.h index eb7146cb89d..43ec19d5a50 100644 --- a/src/compiler/spirv/nir_spirv.h +++ b/src/compiler/spirv/nir_spirv.h @@ -67,6 +67,7 @@ struct spirv_to_nir_options { bool int64; bool multiview; bool variable_pointers; + bool storage_16bit; } caps; struct { diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index cde6481ef0d..d321d1a30d7 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -3073,6 +3073,13 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, spv_check_supported(variable_pointers, cap); break; + case SpvCapabilityStorageUniformBufferBlock16: + case SpvCapabilityStorageUniform16: + case SpvCapabilityStoragePushConstant16: + case SpvCapabilityStorageInputOutput16: + spv_check_supported(storage_16bit, cap); + break; + default: vtn_fail("Unhandled capability"); } |