mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
d3ba810c98
This is simply unnecessary and wastes time. As part of this, simply remove the "all" directive. Only for a couple of tests is it even potentially interesting to validate all pixels (e.g. nointerpolation.shader_test), and for those "all" is replaced with an explicit (0, 0, 640, 480) rect. In all other cases we just probe (0, 0).
141 lines
2.6 KiB
Plaintext
141 lines
2.6 KiB
Plaintext
[pixel shader]
|
|
uniform float4x4 m;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
return float4(m[0][0], m[1][0], m[1][2], m[2][3]);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 1.0 2.0 3.0 4.0
|
|
uniform 4 float4 5.0 6.0 7.0 8.0
|
|
uniform 8 float4 9.0 10.0 11.0 12.0
|
|
uniform 12 float4 13.0 14.0 15.0 16.0
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 2.0, 10.0, 15.0)
|
|
|
|
[pixel shader]
|
|
uniform column_major float4x4 m;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
return float4(m[0][0], m[1][0], m[1][2], m[2][3]);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 1.0 2.0 3.0 4.0
|
|
uniform 4 float4 5.0 6.0 7.0 8.0
|
|
uniform 8 float4 9.0 10.0 11.0 12.0
|
|
uniform 12 float4 13.0 14.0 15.0 16.0
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 2.0, 10.0, 15.0)
|
|
|
|
[pixel shader]
|
|
uniform row_major float4x4 m;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
return float4(m[0][0], m[1][0], m[1][2], m[2][3]);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 1.0 2.0 3.0 4.0
|
|
uniform 4 float4 5.0 6.0 7.0 8.0
|
|
uniform 8 float4 9.0 10.0 11.0 12.0
|
|
uniform 12 float4 13.0 14.0 15.0 16.0
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 5.0, 7.0, 12.0)
|
|
|
|
[pixel shader]
|
|
uniform float3x2 m;
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float3x2 m2 = m;
|
|
return float4(m2[0][0], m2[2][0], m2[1][1], m2[2][1]);
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float4 1.0 2.0 3.0 0.0
|
|
uniform 4 float4 5.0 6.0 7.0 0.0
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 3.0, 6.0, 7.0)
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float2x2 a = float2x2(11.0, 12.0, 13.0, 14.0);
|
|
float4x4 m = float4x4(1.0, 2.0, 3.0, 4.0,
|
|
float3(5.0, 6.0, 7.0), 8.0,
|
|
9.0, 10.0,
|
|
a,
|
|
15.0, 16.0);
|
|
return float4(m[0][0], m[1][0], m[1][2], m[2][3]);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 5.0, 7.0, 12.0)
|
|
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float3x2 m = {1, 2, 3, 4, 5, 6};
|
|
|
|
m[1] = float2(30, 40);
|
|
|
|
return float4(m[1], m[2]);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (30.0, 40.0, 5.0, 6.0)
|
|
|
|
|
|
[pixel shader]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
row_major float3x2 m = {1, 2, 3, 4, 5, 6};
|
|
|
|
m[2] = float2(50, 60);
|
|
|
|
return float4(m[1], m[2]);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (3.0, 4.0, 50.0, 60.0)
|
|
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float i;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float4x4 mat = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
|
|
|
|
return mat[i];
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float 2
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (8, 9, 10, 11)
|
|
|
|
|
|
[pixel shader todo(sm<4)]
|
|
uniform float i;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
row_major float4x4 mat = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
|
|
|
|
return mat[i];
|
|
}
|
|
|
|
[test]
|
|
uniform 0 float 3
|
|
todo(sm<4 | glsl) draw quad
|
|
probe (0, 0) rgba (12, 13, 14, 15)
|