mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1().
This commit is contained in:
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
@@ -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# */
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user