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).
317 lines
3.7 KiB
Plaintext
317 lines
3.7 KiB
Plaintext
[pixel shader fail]
|
|
struct apple
|
|
{
|
|
float3 aa;
|
|
float bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float4 f = {1, 2, 3, 4};
|
|
struct apple a;
|
|
|
|
a = f;
|
|
return a.aa.xyzx;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
struct apple
|
|
{
|
|
float aa;
|
|
float bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct apple a = {1, 2};
|
|
float2 f;
|
|
|
|
f = a;
|
|
return f.xyxy;
|
|
}
|
|
|
|
|
|
[pixel shader fail(sm>=6)]
|
|
struct apple
|
|
{
|
|
float3 aa;
|
|
float bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float f[4] = {1, 2, 3, 4};
|
|
struct apple a;
|
|
|
|
a = f;
|
|
return a.aa.xyzx;
|
|
}
|
|
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (1.0, 2.0, 3.0, 1.0)
|
|
|
|
|
|
[pixel shader fail]
|
|
struct apple
|
|
{
|
|
float3 aa;
|
|
int bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float f[4] = {1, 2, 3, 4};
|
|
struct apple a;
|
|
|
|
a = f;
|
|
return a.aa.xyzx;
|
|
}
|
|
|
|
|
|
[pixel shader fail(sm>=6)]
|
|
struct apple
|
|
{
|
|
float3 aa;
|
|
float bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct apple a = {5, 6, 7, 8};
|
|
float f[4];
|
|
|
|
f = a;
|
|
return float4(f);
|
|
}
|
|
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 6.0, 7.0, 8.0)
|
|
|
|
|
|
[pixel shader fail(sm>=6)]
|
|
Texture2D tex;
|
|
|
|
struct apple
|
|
{
|
|
int2 aa;
|
|
Texture2D bb;
|
|
float cc;
|
|
};
|
|
|
|
struct banana
|
|
{
|
|
int aa[2];
|
|
Texture2D bb;
|
|
float cc;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct apple a = {1, 2, tex, 4};
|
|
struct banana b;
|
|
|
|
b = a;
|
|
return b.cc;
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0)
|
|
|
|
|
|
[pixel shader fail(sm>=6)]
|
|
Texture2D tex;
|
|
|
|
struct apple
|
|
{
|
|
int2 aa;
|
|
Texture2D bb;
|
|
float cc;
|
|
};
|
|
|
|
struct banana
|
|
{
|
|
int aa[2];
|
|
Texture2D bb;
|
|
float cc;
|
|
};
|
|
|
|
float4 fun(struct banana b)
|
|
{
|
|
return b.cc;
|
|
}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct apple a = {1, 2, tex, 5};
|
|
|
|
return fun(a);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (5.0, 5.0, 5.0, 5.0)
|
|
|
|
|
|
[pixel shader fail(sm>=6)]
|
|
struct apple
|
|
{
|
|
float3 xx[2];
|
|
int4 yy;
|
|
};
|
|
|
|
struct banana
|
|
{
|
|
struct apple apples[2];
|
|
int3 bb[2];
|
|
int4 cc[3];
|
|
};
|
|
|
|
struct cherry
|
|
{
|
|
int2 xx;
|
|
int yy[3];
|
|
};
|
|
|
|
struct donut
|
|
{
|
|
float4 aa;
|
|
float2 bb;
|
|
int cc[4];
|
|
float dd[6];
|
|
struct cherry cherries[4];
|
|
int2 ee;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct banana b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37};
|
|
struct donut d;
|
|
|
|
d = b;
|
|
return d.aa + d.cherries[3].yy[2] + d.ee.xyxx;
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) draw quad
|
|
probe (0, 0) rgba (71.0, 73.0, 73.0, 74.0)
|
|
|
|
|
|
[pixel shader fail]
|
|
struct apple
|
|
{
|
|
float3 aa;
|
|
int bb;
|
|
};
|
|
|
|
struct banana
|
|
{
|
|
float3 aa;
|
|
float bb;
|
|
};
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
struct apple a = {1, 2, 3, 4};
|
|
struct banana b;
|
|
|
|
b = a;
|
|
return b.bb;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float main() : SV_TARGET
|
|
{
|
|
float arr[3] = {1, 2, 3};
|
|
float v;
|
|
|
|
v = arr;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float main() : SV_TARGET
|
|
{
|
|
float2 arr[3] = {1, 2, 3, 4, 5, 6};
|
|
float2 vec;
|
|
|
|
vec = arr;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
int arr1[4] = {1, 2, 3, 4};
|
|
float arr2[4];
|
|
|
|
arr2 = arr1;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float2x2 mat = {1, 2, 3, 4};
|
|
float3 vec;
|
|
|
|
vec = mat;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float4 f = {1, 2, 3, 4};
|
|
float arr[4];
|
|
|
|
arr = f;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float arr[4] = {1, 2, 3, 4};
|
|
float4 f;
|
|
|
|
f = arr;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
float4 main() : SV_TARGET
|
|
{
|
|
float3x2 mat1 = {1, 2, 3, 4, 5, 6};
|
|
float2x3 mat2;
|
|
|
|
mat2 = mat1;
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader fail]
|
|
struct apple {
|
|
float aa;
|
|
};
|
|
|
|
float4 main() : SV_TARGET
|
|
{
|
|
struct apple a = 3.0;
|
|
|
|
return 0;
|
|
}
|