diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index 66634697832..fb9349100f9 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -76,6 +76,7 @@ struct spirv_supported_capabilities { bool float_controls; bool shader_clock; bool shader_viewport_index_layer; + bool sparse_residency; bool stencil_export; bool storage_8bit; bool storage_16bit; diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index fbe9d44b2c7..d5fe6483eb8 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -4256,11 +4256,14 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, break; case SpvCapabilityLinkage: - case SpvCapabilitySparseResidency: vtn_warn("Unsupported SPIR-V capability: %s", spirv_capability_to_string(cap)); break; + case SpvCapabilitySparseResidency: + spv_check_supported(sparse_residency, cap); + break; + case SpvCapabilityMinLod: spv_check_supported(min_lod, cap); break;