vkd3d-shader/ir: Lower VSIR_OP_DP2ADD instructions.

This commit is contained in:
Henri Verbeet
2025-12-04 22:36:23 +01:00
parent 79ddfedbde
commit d0318ca14b
Notes: Henri Verbeet 2025-12-08 17:49:28 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1859
7 changed files with 66 additions and 24 deletions

View File

@@ -11,7 +11,7 @@ ffff0200 % ps_2_0
0000ffff % end
[test]
todo draw quad
draw quad
probe (320, 240) f32(.5, .5, .5, 1.0)
% Test the _sat modifier.
@@ -31,5 +31,5 @@ ffff0200 % ps_2_0
0000ffff % end
[test]
todo draw quad
draw quad
probe (320, 240) f32(.5, .5, .5, 1.0)

View File

@@ -25,8 +25,8 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
uniform 4 float4 10.0 11.0 12.0 13.0
todo(sm<4) draw quad
probe (0, 0) rgba (53.0, 53.0, 53.0, 53.0)
draw quad
probe (0, 0) f32(53.0, 53.0, 53.0, 53.0)
[pixel shader]
uniform float x;

View File

@@ -34,8 +34,8 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
todo(sm<4) draw quad
probe (0, 0) rgba (3.60555124, 3.60555124, 3.60555124, 3.60555124) 1
draw quad
probe (0, 0) f32(3.60555124, 3.60555124, 3.60555124, 3.60555124) 1
[pixel shader]
uniform float1 x;

View File

@@ -34,8 +34,8 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 2.0 3.0 0.0 0.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.554700196, 0.832050323, 0.0, 0.0) 1
draw quad
probe (0, 0) f32(0.554700196, 0.832050323, 0.0, 0.0) 1
[pixel shader]
uniform float1 x;

View File

@@ -79,8 +79,8 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.5 -0.1 0.0 0.0
uniform 4 float4 0.6 0.4 -0.3 1.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4
draw quad
probe (0, 0) f32(0.188, -0.308, 0.0, 0.0) 4
[pixel shader]
uniform float4 i;
@@ -97,5 +97,5 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.5 -0.1 0.2 0.0
uniform 4 float4 0.6 0.4 0.0 0.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4
draw quad
probe (0, 0) f32(0.188, -0.308, 0.0, 0.0) 4

View File

@@ -34,11 +34,11 @@ float4 main() : sv_target
uniform 0 float4 0.5 -0.1 0.2 0.3
uniform 4 float4 0.6 0.4 -0.3 1.0
uniform 8 float 0.2
todo(sm<4) draw quad
probe (0, 0) rgba (-0.519904912, -0.4332699, 0.0, 0.0) 32
draw quad
probe (0, 0) f32(-0.519904912, -0.4332699, 0.0, 0.0) 32
uniform 8 float 100.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
draw quad
probe (0, 0) f32(0.0, 0.0, 0.0, 0.0)
[pixel shader]
float4 r;
@@ -55,11 +55,11 @@ float4 main() : sv_target
uniform 0 float4 0.5 -0.1 0.2 0.3
uniform 4 float4 0.6 0.4 -0.3 1.0
uniform 8 float 0.2
todo(sm<4) draw quad
probe (0, 0) rgba (-0.519904912, -0.4332699, 0.0, 0.0) 32
draw quad
probe (0, 0) f32(-0.519904912, -0.4332699, 0.0, 0.0) 32
uniform 8 float 100.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
draw quad
probe (0, 0) f32(0.0, 0.0, 0.0, 0.0)
[pixel shader]
float4 r;
@@ -76,11 +76,11 @@ float4 main() : sv_target
uniform 0 float4 0.5 -0.1 0.2 0.3
uniform 4 float4 0.6 0.4 -0.3 1.0
uniform 8 float 0.2
todo(sm<4) draw quad
probe (0, 0) rgba (-0.519904912, -0.4332699, 0.0, 0.0) 32
draw quad
probe (0, 0) f32(-0.519904912, -0.4332699, 0.0, 0.0) 32
uniform 8 float 100.0
todo(sm<4) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
draw quad
probe (0, 0) f32(0.0, 0.0, 0.0, 0.0)
[pixel shader]
float4 r;