diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index 35655bd0725..96f4d00c54f 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -63,6 +63,7 @@ struct spirv_supported_capabilities { bool float64_atomic_add; bool float64_atomic_min_max; bool float64; + bool fragment_barycentric; bool fragment_density; bool fragment_fully_covered; bool fragment_shader_pixel_interlock; diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 89b30baa501..a754b8c99a9 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -5066,6 +5066,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, spv_check_supported(ray_tracing_position_fetch, cap); break; + case SpvCapabilityFragmentBarycentricKHR: + spv_check_supported(fragment_barycentric, cap); + break; + default: vtn_fail("Unhandled capability: %s (%u)", spirv_capability_to_string(cap), cap);