Module: vkd3d Branch: master Commit: 849a8f3addcdda4c9cf59e5898ad1e7ead321ad6 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/849a8f3addcdda4c9cf59e5898ad1e...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Thu Nov 16 22:30:12 2023 +0100
vkd3d-shader/ir: Expect two sources for LOOP in SM1-3.
---
libs/vkd3d-shader/ir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/ir.c b/libs/vkd3d-shader/ir.c index 2a334399..b8cb6a41 100644 --- a/libs/vkd3d-shader/ir.c +++ b/libs/vkd3d-shader/ir.c @@ -1716,7 +1716,7 @@ static void vsir_validate_instruction(struct validation_context *ctx)
case VKD3DSIH_LOOP: vsir_validate_dst_count(ctx, instruction, 0); - vsir_validate_src_count(ctx, instruction, 0); + vsir_validate_src_count(ctx, instruction, ctx->parser->shader_version.major <= 3 ? 2 : 0); if (!vkd3d_array_reserve((void **)&ctx->blocks, &ctx->blocks_capacity, ctx->depth + 1, sizeof(*ctx->blocks))) return; ctx->blocks[ctx->depth++] = instruction->handler_idx;