tests: Modify dadd test to use a double2 vector.

Tests a codepath in vkd3d_dxbc_compiler_get_constant() where
component_count != 1.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
This commit is contained in:
conor42 2021-06-10 12:31:44 +10:00 committed by Joshie
parent 20a96cab57
commit 2ad16f89d3
1 changed files with 17 additions and 27 deletions

View File

@ -9884,14 +9884,17 @@ static void test_shader_instructions(void)
static struct named_shader ps_swapc5 = {"swapc5", ps_swapc5_code, sizeof(ps_swapc5_code)};
static const DWORD ps_dadd_code[] =
{
/* Also test constant double2 vector. */
#if 0
double src0;
float4 main() : SV_TARGET
{
double value = src0 + 1.0;
float a = float(value);
return float4(a, a, a, a);
double2 value = double2(src0 + 1.0000002433080226l, src0 + 2.000000481493771l);
uint4 u;
asuint(a.x, u.x, u.y);
asuint(a.y, u.z, u.w);
return asfloat(u);
}
ps_5_0
@ -9899,31 +9902,18 @@ static void test_shader_instructions(void)
dcl_constantbuffer CB0[1], immediateIndexed
dcl_output o0.xyzw
dcl_temps 1
dadd r0.xy, cb0[0].xyxy, d(1.000000l, 0.000000l)
dtof r0.x, r0.xyxy
mov o0.xyzw, r0.xxxx
dadd r0.xyzw, cb0[0].xyxy, d(1.000000l, 2.000000l)
mov o0.xyzw, r0.xyzw
ret
#endif
0x43425844, 0xf7e30cb4, 0x2105b1be, 0x3dfa83bb, 0x81d61192, 0x00000001, 0x000002cc, 0x00000006, 0x00000038,
0x0000014c, 0x0000015c, 0x00000190, 0x00000220, 0x00000230, 0x46454452, 0x0000010c, 0x00000001, 0x00000068,
0x00000001, 0x0000003c, 0xffff0500, 0x00000100, 0x000000d8, 0x31314452, 0x0000003c, 0x00000018, 0x00000020,
0x00000028, 0x00000024, 0x0000000c, 0x00000000, 0x0000005c, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000001, 0x00000000, 0x6f6c4724, 0x736c6162, 0xababab00, 0x0000005c, 0x00000001, 0x00000080,
0x00000010, 0x00000000, 0x00000000, 0x000000a8, 0x00000000, 0x00000008, 0x00000002, 0x000000b4, 0x00000000,
0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0x30637273, 0x756f6400, 0x00656c62, 0x00270000, 0x00010001,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000ad, 0x7263694d, 0x666f736f,
0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x2e302e30, 0x31303031,
0x36312e31, 0x00343833, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f, 0x0000002c, 0x00000001,
0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000f, 0x545f5653, 0x45475241,
0xabab0054, 0x58454853, 0x00000088, 0x00000050, 0x00000022, 0x0100186a, 0x04000059, 0x00208e46, 0x00000000,
0x00000001, 0x03000065, 0x001020f2, 0x00000000, 0x02000068, 0x00000001, 0x0b0000bf, 0x00100032, 0x00000000,
0x00208446, 0x00000000, 0x00000000, 0x00005002, 0x00000000, 0x3ff00000, 0x00000000, 0x00000000, 0x050000c9,
0x00100012, 0x00000000, 0x00100446, 0x00000000, 0x05000036, 0x001020f2, 0x00000000, 0x00100006, 0x00000000,
0x0100003e, 0x30494653, 0x00000008, 0x00000001, 0x00000000, 0x54415453, 0x00000094, 0x00000004, 0x00000001,
0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x43425844, 0xe772838a, 0x07d67bc9, 0xed80747e, 0x8f1919ea, 0x00000001, 0x00000100, 0x00000004,
0x00000030, 0x00000040, 0x00000074, 0x000000f0, 0x4e475349, 0x00000008, 0x00000000, 0x00000008,
0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003,
0x00000000, 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x00000074, 0x00000050,
0x0000001d, 0x0100186a, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x03000065, 0x001020f2,
0x00000000, 0x02000068, 0x00000001, 0x0b0000bf, 0x001000f2, 0x00000000, 0x00208446, 0x00000000,
0x00000000, 0x00005002, 0x41500000, 0x3ff00000, 0x40a00000, 0x40000000, 0x05000036, 0x001020f2,
0x00000000, 0x00100e46, 0x00000000, 0x0100003e, 0x30494653, 0x00000008, 0x00000001, 0x00000000,
};
static struct named_shader ps_dadd = {"dadd", ps_dadd_code, sizeof(ps_dadd_code)};
static const DWORD ps_dmax_code[] =
@ -10324,7 +10314,7 @@ static void test_shader_instructions(void)
}
uint_tests[] =
{
{&ps_dadd, {.d = {{2.5, 0.0}}}, {{0x40600000, 0x40600000, 0x40600000, 0x40600000}}},
{&ps_dadd, {.d = {{2.5, 0.0}}}, {{0x20a80000, 0x400c0000, 0x20500000, 0x40120000}}},
{&ps_dmax, {.d = {{2.5, 0.0}}}, {{0x40200000, 0x40200000, 0x40200000, 0x40200000}}},
{&ps_dmax, {.d = {{0.5, 0.0}}}, {{0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000}}},
{&ps_dmovc, {.d = {{0.5, 0.0}}}, {{0x40900000, 0x40900000, 0x40900000, 0x40900000}}},