vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.

The two have the same d3dbc opcode, but have different names and different semantics.
This commit is contained in:
Elizabeth Figura
2025-05-27 21:01:19 -05:00
committed by Henri Verbeet
parent 618d8e6a4a
commit b25362e036
Notes: Henri Verbeet 2025-06-02 21:01:34 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1524
4 changed files with 5 additions and 2 deletions

View File

@@ -301,7 +301,8 @@ static const char * const shader_opcode_names[] =
[VKD3DSIH_TEX ] = "texld", [VKD3DSIH_TEX ] = "texld",
[VKD3DSIH_TEXBEM ] = "texbem", [VKD3DSIH_TEXBEM ] = "texbem",
[VKD3DSIH_TEXBEML ] = "texbeml", [VKD3DSIH_TEXBEML ] = "texbeml",
[VKD3DSIH_TEXCOORD ] = "texcrd", [VKD3DSIH_TEXCOORD ] = "texcoord",
[VKD3DSIH_TEXCRD ] = "texcrd",
[VKD3DSIH_TEXDEPTH ] = "texdepth", [VKD3DSIH_TEXDEPTH ] = "texdepth",
[VKD3DSIH_TEXDP3 ] = "texdp3", [VKD3DSIH_TEXDP3 ] = "texdp3",
[VKD3DSIH_TEXDP3TEX ] = "texdp3tex", [VKD3DSIH_TEXDP3TEX ] = "texdp3tex",

View File

@@ -382,7 +382,7 @@ static const struct vkd3d_sm1_opcode_info ps_opcode_table[] =
{VKD3D_SM1_OP_LABEL, 0, 1, VKD3DSIH_LABEL, {2, 1}}, {VKD3D_SM1_OP_LABEL, 0, 1, VKD3DSIH_LABEL, {2, 1}},
/* Texture */ /* Texture */
{VKD3D_SM1_OP_TEXCOORD, 1, 0, VKD3DSIH_TEXCOORD, {0, 0}, {1, 3}}, {VKD3D_SM1_OP_TEXCOORD, 1, 0, VKD3DSIH_TEXCOORD, {0, 0}, {1, 3}},
{VKD3D_SM1_OP_TEXCOORD, 1, 1, VKD3DSIH_TEXCOORD, {1, 4}, {1, 4}}, {VKD3D_SM1_OP_TEXCOORD, 1, 1, VKD3DSIH_TEXCRD, {1, 4}, {1, 4}},
{VKD3D_SM1_OP_TEXKILL, 1, 0, VKD3DSIH_TEXKILL, {1, 0}}, {VKD3D_SM1_OP_TEXKILL, 1, 0, VKD3DSIH_TEXKILL, {1, 0}},
{VKD3D_SM1_OP_TEX, 1, 0, VKD3DSIH_TEX, {0, 0}, {1, 3}}, {VKD3D_SM1_OP_TEX, 1, 0, VKD3DSIH_TEX, {0, 0}, {1, 3}},
{VKD3D_SM1_OP_TEX, 1, 1, VKD3DSIH_TEX, {1, 4}, {1, 4}}, {VKD3D_SM1_OP_TEX, 1, 1, VKD3DSIH_TEX, {1, 4}, {1, 4}},

View File

@@ -1062,6 +1062,7 @@ static enum vkd3d_result vsir_program_lower_instructions(struct vsir_program *pr
case VKD3DSIH_TEXBEM: case VKD3DSIH_TEXBEM:
case VKD3DSIH_TEXBEML: case VKD3DSIH_TEXBEML:
case VKD3DSIH_TEXCOORD: case VKD3DSIH_TEXCOORD:
case VKD3DSIH_TEXCRD:
case VKD3DSIH_TEXDEPTH: case VKD3DSIH_TEXDEPTH:
case VKD3DSIH_TEXDP3: case VKD3DSIH_TEXDP3:
case VKD3DSIH_TEXDP3TEX: case VKD3DSIH_TEXDP3TEX:

View File

@@ -552,6 +552,7 @@ enum vkd3d_shader_opcode
VKD3DSIH_TEXBEM, VKD3DSIH_TEXBEM,
VKD3DSIH_TEXBEML, VKD3DSIH_TEXBEML,
VKD3DSIH_TEXCOORD, VKD3DSIH_TEXCOORD,
VKD3DSIH_TEXCRD,
VKD3DSIH_TEXDEPTH, VKD3DSIH_TEXDEPTH,
VKD3DSIH_TEXDP3, VKD3DSIH_TEXDP3,
VKD3DSIH_TEXDP3TEX, VKD3DSIH_TEXDP3TEX,