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).
110 lines
1.7 KiB
Plaintext
110 lines
1.7 KiB
Plaintext
[require]
|
|
shader model >= 4.0
|
|
|
|
[srv 0]
|
|
size (2d, 3, 3)
|
|
0.1 0.1 0.1 0.1 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3
|
|
0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5 0.6 0.6 0.6 0.6
|
|
0.7 0.7 0.7 0.7 0.8 0.8 0.8 0.8 0.9 0.9 0.9 0.9
|
|
|
|
[srv 1]
|
|
size (2d, 2, 2)
|
|
0.1 0.1 0.1 0.0 0.2 0.2 0.2 0.0
|
|
0.4 0.4 0.4 0.0 0.5 0.5 0.5 0.0
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex1;
|
|
Texture2D tex2;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
Texture2D q[2] = {tex1, tex2};
|
|
|
|
return q[0].Load(int3(0, 0, 0)) + q[1].Load(int3(0, 0, 0));
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (0.2, 0.2, 0.2, 0.1)
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex;
|
|
|
|
struct foo
|
|
{
|
|
float2 aa;
|
|
Texture2D bb;
|
|
Texture2D cc;
|
|
float4 dd;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct foo q = {10, 20, tex, tex, 30, 40, 50, 60};
|
|
|
|
return q.bb.Load(int3(2, 0, 0)) + q.cc.Load(int3(1, 2, 0)) + q.dd;
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (31.1, 41.1, 51.1, 61.1) 1
|
|
|
|
|
|
[pixel shader]
|
|
Texture2D tex1;
|
|
Texture2D tex2;
|
|
|
|
struct foo
|
|
{
|
|
float2 aa;
|
|
Texture2D bb[2]; // NOTE: this cannot be initialized in shader model >= 5.1
|
|
float4 cc;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct foo q = {10, 20, tex1, tex2, 30, 40, 50, 60};
|
|
|
|
return q.bb[0].Load(int3(0, 0, 0)) + q.bb[1].Load(int3(1, 1, 0)) + q.cc;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
Texture2D tex;
|
|
|
|
struct foo
|
|
{
|
|
float2 aa;
|
|
Texture2D bb;
|
|
Texture2D cc;
|
|
float4 dd;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct foo q = {10, 20, tex, 30, 40, 50, 60};
|
|
|
|
return 0.0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
Texture2D tex;
|
|
|
|
struct foo
|
|
{
|
|
float2 aa;
|
|
Texture2D bb;
|
|
Texture2D cc;
|
|
float4 dd;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct foo q = {10, 20, tex, tex, tex, 30, 40, 50, 60};
|
|
|
|
return 0.0;
|
|
}
|