From e0d95289cd08dda19a3c7112dc031d23a93f9bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 20 Jul 2017 17:40:45 +0200 Subject: [PATCH] tests: Add test for umin and umax instructions. --- tests/d3d12.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/d3d12.c b/tests/d3d12.c index 57dfdf6f..cc924560 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -4570,6 +4570,29 @@ static void test_shader_instructions(void) 0x00000000, 0x0600003b, 0x00102052, 0x00000000, 0x00208106, 0x00000000, 0x00000000, 0x0100003e, }; static const D3D12_SHADER_BYTECODE ps_not = {ps_not_code, sizeof(ps_not_code)}; + static const DWORD ps_umin_umax_code[] = + { +#if 0 + uint2 src; + + void main(out uint4 dst : SV_Target) + { + dst.x = min(src.x, src.y); + dst.y = max(src.x, src.y); + dst.zw = 0; + } +#endif + 0x43425844, 0xe705f812, 0xa515c8df, 0xb82066d9, 0xb05c8ad3, 0x00000001, 0x0000010c, 0x00000003, + 0x0000002c, 0x0000003c, 0x00000070, 0x4e475349, 0x00000008, 0x00000000, 0x00000008, 0x4e47534f, + 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x00000094, 0x00000050, 0x00000025, + 0x0100086a, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x03000065, 0x001020f2, 0x00000000, + 0x09000054, 0x00102012, 0x00000000, 0x0020801a, 0x00000000, 0x00000000, 0x0020800a, 0x00000000, + 0x00000000, 0x09000053, 0x00102022, 0x00000000, 0x0020801a, 0x00000000, 0x00000000, 0x0020800a, + 0x00000000, 0x00000000, 0x08000036, 0x001020c2, 0x00000000, 0x00004002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0100003e, + }; + static const D3D12_SHADER_BYTECODE ps_umin_umax = {ps_umin_umax_code, sizeof(ps_umin_umax_code)}; static const DWORD ps_f16tof32_code[] = { #if 0 @@ -5026,6 +5049,13 @@ static void test_shader_instructions(void) {&ps_not, {{{0x00000000, 0xffffffff}}}, {{0xffffffff, 0x00000000, 0x00000000, 0xffffffff}}}, {&ps_not, {{{0xf0f0f0f0, 0x0f0f0f0f}}}, {{0x0f0f0f0f, 0xf0f0f0f0, 0xf0f0f0f0, 0x0f0f0f0f}}}, + {&ps_umin_umax, {{{ 0, 0}}}, {{ 0, 0}}}, + {&ps_umin_umax, {{{ 0, 1}}}, {{ 0, 1}}}, + {&ps_umin_umax, {{{ 1, 0}}}, {{ 0, 1}}}, + {&ps_umin_umax, {{{~0u, ~0u}}}, {{~0u, ~0u}}}, + {&ps_umin_umax, {{{ 0, ~0u}}}, {{ 0, ~0u}}}, + {&ps_umin_umax, {{{~0u, 0}}}, {{ 0, ~0u}}}, + {&ps_f16tof32, {{{0x00000000, 0x00003c00, 0x00005640, 0x00005bd0}}}, {{0, 1, 100, 250}}}, {&ps_f16tof32, {{{0x00010000, 0x00013c00, 0x00015640, 0x00015bd0}}}, {{0, 1, 100, 250}}}, {&ps_f16tof32, {{{0x000f0000, 0x000f3c00, 0x000f5640, 0x000f5bd0}}}, {{0, 1, 100, 250}}},