vkd3d-shader/ir: Split TEX 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:15:13 -05:00
committed by Henri Verbeet
parent b25362e036
commit 847c008b49
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
6 changed files with 16 additions and 13 deletions

View File

@@ -1436,13 +1436,14 @@ static int vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_context *conte
if (context->cf_info_count)
context->cf_info[context->cf_info_count - 1].inside_block = false;
break;
case VKD3DSIH_TEX:
case VKD3DSIH_TEXLD:
if (context->version->major == 1)
sampler_reg = &instruction->dst[0].reg;
else
sampler_reg = &instruction->src[1].reg;
vkd3d_shader_scan_combined_sampler_usage(context, sampler_reg, sampler_reg);
break;
case VKD3DSIH_TEX:
case VKD3DSIH_TEXBEM:
case VKD3DSIH_TEXBEML:
case VKD3DSIH_TEXDP3TEX: