mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
Introduce VSIR op VKD3DSIH_DCL_OUTPUT_SGV.
This commit is contained in:
Notes:
Henri Verbeet
2025-05-24 21:46:59 +02:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1488
@@ -88,6 +88,7 @@ static const char * const shader_opcode_names[] =
|
|||||||
[VKD3DSIH_DCL_INTERFACE ] = "dcl_interface",
|
[VKD3DSIH_DCL_INTERFACE ] = "dcl_interface",
|
||||||
[VKD3DSIH_DCL_OUTPUT ] = "dcl_output",
|
[VKD3DSIH_DCL_OUTPUT ] = "dcl_output",
|
||||||
[VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT ] = "dcl_output_control_point_count",
|
[VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT ] = "dcl_output_control_point_count",
|
||||||
|
[VKD3DSIH_DCL_OUTPUT_SGV ] = "dcl_output_sgv",
|
||||||
[VKD3DSIH_DCL_OUTPUT_SIV ] = "dcl_output_siv",
|
[VKD3DSIH_DCL_OUTPUT_SIV ] = "dcl_output_siv",
|
||||||
[VKD3DSIH_DCL_OUTPUT_TOPOLOGY ] = "dcl_outputtopology",
|
[VKD3DSIH_DCL_OUTPUT_TOPOLOGY ] = "dcl_outputtopology",
|
||||||
[VKD3DSIH_DCL_RESOURCE_RAW ] = "dcl_resource_raw",
|
[VKD3DSIH_DCL_RESOURCE_RAW ] = "dcl_resource_raw",
|
||||||
@@ -1865,6 +1866,7 @@ static void shader_dump_instruction(struct vkd3d_d3d_asm_compiler *compiler,
|
|||||||
case VKD3DSIH_DCL_INPUT_PS_SGV:
|
case VKD3DSIH_DCL_INPUT_PS_SGV:
|
||||||
case VKD3DSIH_DCL_INPUT_SGV:
|
case VKD3DSIH_DCL_INPUT_SGV:
|
||||||
case VKD3DSIH_DCL_INPUT_SIV:
|
case VKD3DSIH_DCL_INPUT_SIV:
|
||||||
|
case VKD3DSIH_DCL_OUTPUT_SGV:
|
||||||
case VKD3DSIH_DCL_OUTPUT_SIV:
|
case VKD3DSIH_DCL_OUTPUT_SIV:
|
||||||
shader_print_dst_param(compiler, " ", &ins->declaration.register_semantic.reg, true, "");
|
shader_print_dst_param(compiler, " ", &ins->declaration.register_semantic.reg, true, "");
|
||||||
shader_print_input_sysval_semantic(compiler, ", ", ins->declaration.register_semantic.sysval_semantic, "");
|
shader_print_input_sysval_semantic(compiler, ", ", ins->declaration.register_semantic.sysval_semantic, "");
|
||||||
|
@@ -1031,6 +1031,7 @@ static enum vkd3d_result vsir_program_lower_instructions(struct vsir_program *pr
|
|||||||
case VKD3DSIH_DCL_INPUT_PS:
|
case VKD3DSIH_DCL_INPUT_PS:
|
||||||
case VKD3DSIH_DCL_INPUT_PS_SGV:
|
case VKD3DSIH_DCL_INPUT_PS_SGV:
|
||||||
case VKD3DSIH_DCL_INPUT_PS_SIV:
|
case VKD3DSIH_DCL_INPUT_PS_SIV:
|
||||||
|
case VKD3DSIH_DCL_OUTPUT_SGV:
|
||||||
case VKD3DSIH_DCL_OUTPUT_SIV:
|
case VKD3DSIH_DCL_OUTPUT_SIV:
|
||||||
vkd3d_shader_instruction_make_nop(ins);
|
vkd3d_shader_instruction_make_nop(ins);
|
||||||
break;
|
break;
|
||||||
|
@@ -261,6 +261,7 @@ enum vkd3d_sm4_opcode
|
|||||||
VKD3D_SM4_OP_DCL_INPUT_PS_SGV = 0x63,
|
VKD3D_SM4_OP_DCL_INPUT_PS_SGV = 0x63,
|
||||||
VKD3D_SM4_OP_DCL_INPUT_PS_SIV = 0x64,
|
VKD3D_SM4_OP_DCL_INPUT_PS_SIV = 0x64,
|
||||||
VKD3D_SM4_OP_DCL_OUTPUT = 0x65,
|
VKD3D_SM4_OP_DCL_OUTPUT = 0x65,
|
||||||
|
VKD3D_SM4_OP_DCL_OUTPUT_SGV = 0x66,
|
||||||
VKD3D_SM4_OP_DCL_OUTPUT_SIV = 0x67,
|
VKD3D_SM4_OP_DCL_OUTPUT_SIV = 0x67,
|
||||||
VKD3D_SM4_OP_DCL_TEMPS = 0x68,
|
VKD3D_SM4_OP_DCL_TEMPS = 0x68,
|
||||||
VKD3D_SM4_OP_DCL_INDEXABLE_TEMP = 0x69,
|
VKD3D_SM4_OP_DCL_INDEXABLE_TEMP = 0x69,
|
||||||
@@ -1559,6 +1560,8 @@ static void init_sm4_lookup_tables(struct vkd3d_sm4_lookup_tables *lookup)
|
|||||||
shader_sm4_read_dcl_input_ps_siv},
|
shader_sm4_read_dcl_input_ps_siv},
|
||||||
{VKD3D_SM4_OP_DCL_OUTPUT, VKD3DSIH_DCL_OUTPUT, "", "",
|
{VKD3D_SM4_OP_DCL_OUTPUT, VKD3DSIH_DCL_OUTPUT, "", "",
|
||||||
shader_sm4_read_declaration_dst},
|
shader_sm4_read_declaration_dst},
|
||||||
|
{VKD3D_SM4_OP_DCL_OUTPUT_SGV, VKD3DSIH_DCL_OUTPUT_SGV, "", "",
|
||||||
|
shader_sm4_read_declaration_register_semantic},
|
||||||
{VKD3D_SM4_OP_DCL_OUTPUT_SIV, VKD3DSIH_DCL_OUTPUT_SIV, "", "",
|
{VKD3D_SM4_OP_DCL_OUTPUT_SIV, VKD3DSIH_DCL_OUTPUT_SIV, "", "",
|
||||||
shader_sm4_read_declaration_register_semantic},
|
shader_sm4_read_declaration_register_semantic},
|
||||||
{VKD3D_SM4_OP_DCL_TEMPS, VKD3DSIH_DCL_TEMPS, "", "",
|
{VKD3D_SM4_OP_DCL_TEMPS, VKD3DSIH_DCL_TEMPS, "", "",
|
||||||
|
@@ -337,6 +337,7 @@ enum vkd3d_shader_opcode
|
|||||||
VKD3DSIH_DCL_INTERFACE,
|
VKD3DSIH_DCL_INTERFACE,
|
||||||
VKD3DSIH_DCL_OUTPUT,
|
VKD3DSIH_DCL_OUTPUT,
|
||||||
VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT,
|
VKD3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT,
|
||||||
|
VKD3DSIH_DCL_OUTPUT_SGV,
|
||||||
VKD3DSIH_DCL_OUTPUT_SIV,
|
VKD3DSIH_DCL_OUTPUT_SIV,
|
||||||
VKD3DSIH_DCL_OUTPUT_TOPOLOGY,
|
VKD3DSIH_DCL_OUTPUT_TOPOLOGY,
|
||||||
VKD3DSIH_DCL_RESOURCE_RAW,
|
VKD3DSIH_DCL_RESOURCE_RAW,
|
||||||
|
Reference in New Issue
Block a user