vkd3d-shader/spirv: Handle DISCARD and TEXKILL in spirv_compiler_handle_instruction().

This commit is contained in:
Conor McCarthy 2023-12-12 16:07:05 +10:00 committed by Alexandre Julliard
parent db0d51675c
commit bc1b5e7132
Notes: Alexandre Julliard 2024-01-17 22:42:55 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/450

View File

@ -7976,11 +7976,6 @@ static int spirv_compiler_emit_control_flow_instruction(struct spirv_compiler *c
spirv_compiler_emit_retc(compiler, instruction); spirv_compiler_emit_retc(compiler, instruction);
break; break;
case VKD3DSIH_DISCARD:
case VKD3DSIH_TEXKILL:
spirv_compiler_emit_kill(compiler, instruction);
break;
default: default:
ERR("Unexpected instruction %#x.\n", instruction->handler_idx); ERR("Unexpected instruction %#x.\n", instruction->handler_idx);
break; break;
@ -9739,7 +9734,6 @@ static int spirv_compiler_handle_instruction(struct spirv_compiler *compiler,
case VKD3DSIH_CONTINUE: case VKD3DSIH_CONTINUE:
case VKD3DSIH_CONTINUEP: case VKD3DSIH_CONTINUEP:
case VKD3DSIH_DEFAULT: case VKD3DSIH_DEFAULT:
case VKD3DSIH_DISCARD:
case VKD3DSIH_ELSE: case VKD3DSIH_ELSE:
case VKD3DSIH_ENDIF: case VKD3DSIH_ENDIF:
case VKD3DSIH_ENDLOOP: case VKD3DSIH_ENDLOOP:
@ -9749,9 +9743,12 @@ static int spirv_compiler_handle_instruction(struct spirv_compiler *compiler,
case VKD3DSIH_RET: case VKD3DSIH_RET:
case VKD3DSIH_RETP: case VKD3DSIH_RETP:
case VKD3DSIH_SWITCH: case VKD3DSIH_SWITCH:
case VKD3DSIH_TEXKILL:
ret = spirv_compiler_emit_control_flow_instruction(compiler, instruction); ret = spirv_compiler_emit_control_flow_instruction(compiler, instruction);
break; break;
case VKD3DSIH_DISCARD:
case VKD3DSIH_TEXKILL:
spirv_compiler_emit_kill(compiler, instruction);
break;
case VKD3DSIH_DSX: case VKD3DSIH_DSX:
case VKD3DSIH_DSX_COARSE: case VKD3DSIH_DSX_COARSE:
case VKD3DSIH_DSX_FINE: case VKD3DSIH_DSX_FINE: