mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader: Implement shader model 1.0-1.3 texture projection.
This commit is contained in:
committed by
Henri Verbeet
parent
44c80c60b8
commit
c50210f230
Notes:
Henri Verbeet
2025-11-20 18:37:00 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1814
62
tests/hlsl/ps1-projection.shader_test
Normal file
62
tests/hlsl/ps1-projection.shader_test
Normal file
@@ -0,0 +1,62 @@
|
||||
% Test for the D3DTTFF_* projected texture flags.
|
||||
|
||||
[require]
|
||||
shader model < 3.0
|
||||
|
||||
[sampler 0]
|
||||
filter point point point
|
||||
address clamp clamp clamp
|
||||
|
||||
[srv 0]
|
||||
size (2d, 5, 5)
|
||||
.0 .0 .0 .1 .1 .0 .0 .1 .2 .0 .0 .1 .3 .0 .0 .1 .4 .0 .0 .1
|
||||
.0 .1 .0 .1 .1 .1 .0 .1 .2 .1 .0 .1 .3 .1 .0 .1 .4 .1 .0 .1
|
||||
.0 .2 .0 .1 .1 .2 .0 .1 .2 .2 .0 .1 .3 .2 .0 .1 .4 .2 .0 .1
|
||||
.0 .3 .0 .1 .1 .3 .0 .1 .2 .3 .0 .1 .3 .3 .0 .1 .4 .3 .0 .1
|
||||
.0 .4 .0 .1 .1 .4 .0 .1 .2 .4 .0 .1 .3 .4 .0 .1 .4 .4 .0 .1
|
||||
|
||||
[vertex shader]
|
||||
void main(inout float4 pos : position, out float4 tex : texcoord)
|
||||
{
|
||||
tex = float4(1.2, 0.5, 4.0, 2.0);
|
||||
}
|
||||
|
||||
[pixel shader d3dbc-hex]
|
||||
% TODO: Convert to assembly or HLSL.
|
||||
ffff0101 % ps_1_1
|
||||
00000042 b00f0000 % tex t0
|
||||
00000001 800f0000 b0e40000 % mov r0, t0
|
||||
0000ffff % end
|
||||
|
||||
[test]
|
||||
projected 0 disable
|
||||
draw quad
|
||||
probe (0, 0) f32(0.4, 0.2, 0.0, 0.1)
|
||||
projected 0 enable
|
||||
draw quad
|
||||
probe (0, 0) f32(0.3, 0.1, 0.0, 0.1)
|
||||
|
||||
% Doesn't affect 1.4 or 2.0.
|
||||
[pixel shader d3dbc-hex]
|
||||
% TODO: Convert to assembly or HLSL.
|
||||
ffff0104 % ps_1_4
|
||||
00000042 800f0000 b0e40000 % texld r0, t0
|
||||
0000ffff % end
|
||||
|
||||
[test]
|
||||
projected 0 enable
|
||||
draw quad
|
||||
probe (0, 0) f32(0.4, 0.2, 0.0, 0.1)
|
||||
|
||||
[pixel shader]
|
||||
sampler sam;
|
||||
|
||||
float4 main(float2 tex : texcoord) : sv_target
|
||||
{
|
||||
return tex2D(sam, tex);
|
||||
}
|
||||
|
||||
[test]
|
||||
projected 0 enable
|
||||
draw quad
|
||||
probe (0, 0) f32(0.4, 0.2, 0.0, 0.1)
|
||||
Reference in New Issue
Block a user