vkd3d-shader/ir: Error out on unsupported source modifiers.

This commit is contained in:
Giovanni Mascellani
2025-10-16 12:33:45 +02:00
committed by Henri Verbeet
parent c99c729513
commit 86b8f2de35
Notes: Henri Verbeet 2025-10-16 15:22:54 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1797
4 changed files with 12 additions and 40 deletions

View File

@@ -2183,9 +2183,11 @@ static enum vkd3d_result vsir_program_lower_modifiers(struct vsir_program *progr
enum vkd3d_shader_opcode new_opcodes[2] = {VSIR_OP_NOP, VSIR_OP_NOP};
struct vkd3d_shader_src_param *src = &ins->src[i];
/* TODO: support other modifiers, including destination modifiers. */
switch (src->modifiers)
{
case VKD3DSPSM_NONE:
continue;
case VKD3DSPSM_ABS:
new_opcodes[0] = VSIR_OP_ABS;
break;
@@ -2200,6 +2202,9 @@ static enum vkd3d_result vsir_program_lower_modifiers(struct vsir_program *progr
break;
default:
vkd3d_shader_error(ctx->message_context, &ins->location, VKD3D_SHADER_ERROR_VSIR_NOT_IMPLEMENTED,
"Aborting due to unimplemented feature: Source modifier %#x.", src->modifiers);
ret = VKD3D_ERROR_NOT_IMPLEMENTED;
continue;
}