vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1().

This commit is contained in:
Henri Verbeet
2025-10-14 17:39:42 +02:00
parent 1b491a657c
commit e7f258c622
Notes: Henri Verbeet 2025-10-15 13:00:49 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1790
2 changed files with 15 additions and 15 deletions

View File

@@ -1729,7 +1729,7 @@ static enum vkd3d_result vsir_program_lower_texld_sm1(struct vsir_program *progr
struct vkd3d_shader_instruction *ins, struct vkd3d_shader_message_context *message_context) struct vkd3d_shader_instruction *ins, struct vkd3d_shader_message_context *message_context)
{ {
const struct vkd3d_shader_descriptor_info1 *sampler; const struct vkd3d_shader_descriptor_info1 *sampler;
unsigned int idx = ins->src[0].reg.idx[0].offset; unsigned int idx = ins->dst[0].reg.idx[0].offset;
struct vkd3d_shader_src_param *srcs; struct vkd3d_shader_src_param *srcs;
/* texld DST, t# -> sample DST, t#, resource#, sampler# */ /* texld DST, t# -> sample DST, t#, resource#, sampler# */

View File

@@ -49,10 +49,10 @@ ffff0104 % ps_1_4
[test] [test]
draw quad draw quad
todo probe (320, 240) f32(0.75, 1, 1, 0) probe (320, 240) f32(0.75, 1, 1, 0)
todo probe (480, 240) f32(0.75, 0, 1, 0) probe (480, 240) f32(0.75, 0, 1, 0)
todo probe (320, 360) f32(0.75, 1, 0, 0) probe (320, 360) f32(0.75, 1, 0, 0)
todo probe (480, 360) f32(0.75, 0, 0, 0) probe (480, 360) f32(0.75, 0, 0, 0)
[srv 0] [srv 0]
size (3d, 2, 2, 2) size (3d, 2, 2, 2)
@@ -64,10 +64,10 @@ size (3d, 2, 2, 2)
[test] [test]
draw quad draw quad
todo probe (320, 240) f32(0.75, 1, 1, 1) probe (320, 240) f32(0.75, 1, 1, 1)
todo probe (480, 240) f32(0.75, 0, 1, 1) probe (480, 240) f32(0.75, 0, 1, 1)
todo probe (320, 360) f32(0.75, 1, 0, 1) probe (320, 360) f32(0.75, 1, 0, 1)
todo probe (480, 360) f32(0.75, 0, 0, 1) probe (480, 360) f32(0.75, 0, 0, 1)
[srv 0] [srv 0]
size (cube, 1) size (cube, 1)
@@ -89,22 +89,22 @@ void main(inout float4 pos : position, out float4 tex : texcoord)
[test] [test]
uniform 0 float4 1 0 0 0 uniform 0 float4 1 0 0 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.0, 0) probe (0, 0) f32(0.75, 0.0, 0.0, 0)
uniform 0 float4 -1 0 0 0 uniform 0 float4 -1 0 0 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.1, 0) probe (0, 0) f32(0.75, 0.0, 0.1, 0)
uniform 0 float4 0 1 0 0 uniform 0 float4 0 1 0 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.2, 0) probe (0, 0) f32(0.75, 0.0, 0.2, 0)
uniform 0 float4 0 -1 0 0 uniform 0 float4 0 -1 0 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.3, 0) probe (0, 0) f32(0.75, 0.0, 0.3, 0)
uniform 0 float4 0 0 1 0 uniform 0 float4 0 0 1 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.4, 0) probe (0, 0) f32(0.75, 0.0, 0.4, 0)
uniform 0 float4 0 0 -1 0 uniform 0 float4 0 0 -1 0
draw quad draw quad
todo probe (0, 0) f32(0.75, 0.0, 0.5, 0) probe (0, 0) f32(0.75, 0.0, 0.5, 0)
[vertex shader] [vertex shader]
void main(inout float4 pos : position, out float4 tex : texcoord) void main(inout float4 pos : position, out float4 tex : texcoord)