vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref, again.

This node type will be deleted (again) once the hlsl->vsir->tpf
translation is complete. It serves the purpose of allowing to keep
both real hlsl_ir_nodes and vsir_instructions in the hlsl_block,
until all the former can be translated into the latter.
This commit is contained in:
Francisco Casas
2024-05-22 14:10:42 -04:00
committed by Henri Verbeet
parent cf7fade580
commit 158bf794e6
Notes: Henri Verbeet 2024-10-24 21:02:04 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1210
4 changed files with 58 additions and 0 deletions

View File

@@ -4162,6 +4162,9 @@ static bool dce(struct hlsl_ctx *ctx, struct hlsl_ir_node *instr, void *context)
case HLSL_IR_STATEBLOCK_CONSTANT:
/* Stateblock constants should not appear in the shader program. */
vkd3d_unreachable();
case HLSL_IR_VSIR_INSTRUCTION_REF:
/* HLSL IR nodes are not translated to hlsl_ir_vsir_instruction_ref at this point. */
vkd3d_unreachable();
}
return false;
@@ -4301,6 +4304,9 @@ static void compute_liveness_recurse(struct hlsl_block *block, unsigned int loop
case HLSL_IR_STATEBLOCK_CONSTANT:
/* Stateblock constants should not appear in the shader program. */
vkd3d_unreachable();
case HLSL_IR_VSIR_INSTRUCTION_REF:
/* HLSL IR nodes are not translated to hlsl_ir_vsir_instruction_ref at this point. */
vkd3d_unreachable();
case HLSL_IR_STORE:
{