Module: vkd3d Branch: master Commit: 05510c118ab07c323307b9bde886c8c65f586b73 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/05510c118ab07c323307b9bde886c8...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Sat Apr 27 00:13:10 2024 +1000
vkd3d-shader/dxil: Emit an error if a CMPXCHG instruction uses a forward-referenced pointer.
---
libs/vkd3d-shader/dxil.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 5bb05058..556902c2 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -6462,7 +6462,8 @@ static void sm6_parser_emit_cmpxchg(struct sm6_parser *sm6, const struct dxil_re uint64_t code;
if (!(ptr = sm6_parser_get_value_by_ref(sm6, record, NULL, &i)) - || !sm6_value_validate_is_pointer_to_i32(ptr, sm6)) + || !sm6_value_validate_is_pointer_to_i32(ptr, sm6) + || !sm6_value_validate_is_backward_ref(ptr, sm6)) return;
if (ptr->u.reg.type != VKD3DSPR_GROUPSHAREDMEM)