Module: Mesa Branch: master Commit: 2bef02696d40843eee714a619757a1ce87504a95 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bef02696d40843eee714a619757a1ce87504a95
Author: Jason Ekstrand <[email protected]> Date: Wed Nov 4 12:31:41 2020 -0600 spirv: Add a guard for OpTypeForwardPointer storage classes Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6479> --- src/compiler/spirv/spirv_to_nir.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index f400c3237dd..c22f2b285df 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -1518,6 +1518,12 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode, SpvStorageClass storage_class = w[2]; + vtn_fail_if(opcode == SpvOpTypeForwardPointer && + b->shader->info.stage != MESA_SHADER_KERNEL && + storage_class != SpvStorageClassPhysicalStorageBuffer, + "OpTypeForwardPointer is only allowed in Vulkan with " + "the PhysicalStorageBuffer storage class"); + if (val->value_type == vtn_value_type_invalid) { val->value_type = vtn_value_type_type; val->type = rzalloc(b, struct vtn_type); _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
