tests: Add additional test for loops.

This commit is contained in:
Józef Kucia 2017-07-21 14:14:42 +02:00
parent 465f1c449e
commit c790aabb4d

View File

@ -4191,6 +4191,44 @@ static void test_shader_instructions(void)
0x00000000, 0x0100003e,
};
static const D3D12_SHADER_BYTECODE ps_loop_break = {ps_loop_break_code, sizeof(ps_loop_break_code)};
static const DWORD ps_loop_ret_code[] =
{
#if 0
float4 src0;
void main(out float4 dst : SV_Target)
{
float tmp = 0.0f;
for (int i = 0; i < src0.x; ++i)
{
if (i == src0.y)
{
dst = 1;
return;
}
tmp += 1.0f;
}
dst = float4(tmp, 0, 0, 0);
}
#endif
0x43425844, 0xb327003a, 0x5812a5f6, 0xb5a78d54, 0xa72a8db8, 0x00000001, 0x000001d4, 0x00000003,
0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f,
0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000003, 0x00000000,
0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x0000015c, 0x00000050, 0x00000057,
0x0100086a, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x03000065, 0x001020f2, 0x00000000,
0x02000068, 0x00000001, 0x08000036, 0x00100032, 0x00000000, 0x00004002, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x01000030, 0x0500002b, 0x00100042, 0x00000000, 0x0010001a, 0x00000000,
0x0800001d, 0x00100082, 0x00000000, 0x0010002a, 0x00000000, 0x0020800a, 0x00000000, 0x00000000,
0x03040003, 0x0010003a, 0x00000000, 0x08000018, 0x00100042, 0x00000000, 0x0010002a, 0x00000000,
0x0020801a, 0x00000000, 0x00000000, 0x0304001f, 0x0010002a, 0x00000000, 0x08000036, 0x001020f2,
0x00000000, 0x00004002, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x0100003e, 0x01000015,
0x07000000, 0x00100012, 0x00000000, 0x0010000a, 0x00000000, 0x00004001, 0x3f800000, 0x0700001e,
0x00100022, 0x00000000, 0x0010001a, 0x00000000, 0x00004001, 0x00000001, 0x01000016, 0x05000036,
0x00102012, 0x00000000, 0x0010000a, 0x00000000, 0x08000036, 0x001020e2, 0x00000000, 0x00004002,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0100003e,
};
static const D3D12_SHADER_BYTECODE ps_loop_ret = {ps_loop_ret_code, sizeof(ps_loop_ret_code)};
static const DWORD ps_breakc_nz_code[] =
{
#if 0
@ -5070,6 +5108,14 @@ static void test_shader_instructions(void)
{&ps_loop_break, {{7.0f, 8.0f}}, {{7.0f}}},
{&ps_loop_break, {{7.0f, 9.0f}}, {{7.0f}}},
{&ps_loop_ret, {{0.0f, 0.0f}}, {{0.0f}}},
{&ps_loop_ret, {{1.0f, 9.0f}}, {{1.0f}}},
{&ps_loop_ret, {{2.0f, 2.0f}}, {{2.0f}}},
{&ps_loop_ret, {{5.0f, 9.0f}}, {{5.0f}}},
{&ps_loop_ret, {{1.0f, 0.0f}}, {{1.0f, 1.0f, 1.0f, 1.0f}}},
{&ps_loop_ret, {{2.0f, 1.0f}}, {{1.0f, 1.0f, 1.0f, 1.0f}}},
{&ps_loop_ret, {{8.0f, 7.0f}}, {{1.0f, 1.0f, 1.0f, 1.0f}}},
{&ps_breakc_nz, {}, {{0.0f, 1.0f, 0.0f, 1.0f}}},
{&ps_breakc_z, {}, {{0.0f, 1.0f, 0.0f, 1.0f}}},