Signed-off-by: Conor McCarthy <cmccarthy(a)codeweavers.com>
---
tests/d3d12.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index f90526c7..8afeaa3a 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -9245,6 +9245,52 @@ static void test_shader_instructions(void)
0x00000000, 0x0100003e, 0x30494653, 0x00000008, 0x00000001, 0x00000000,
};
static struct named_shader ps_dne = {"dne", ps_dne_code, sizeof(ps_dne_code)};
+ static const DWORD ps_dge_code[] =
+ {
+#if 0
+ double2 src0;
+
+ void main(out uint4 dst : SV_Target)
+ {
+ dst = (uint4)0;
+ if (src0.x >= src0.y)
+ dst.x = 0xffffffff;
+ }
+#endif
+ 0x43425844, 0xad9e15a9, 0x80ed9af5, 0x039e7dbd, 0xac8b1634, 0x00000001, 0x00000118, 0x00000004,
+ 0x00000030, 0x00000040, 0x00000074, 0x00000108, 0x4e475349, 0x00000008, 0x00000000, 0x00000008,
+ 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000001,
+ 0x00000000, 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x0000008c, 0x00000050,
+ 0x00000023, 0x0100186a, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x03000065, 0x001020f2,
+ 0x00000000, 0x02000068, 0x00000001, 0x090000c4, 0x00100012, 0x00000000, 0x00208446, 0x00000000,
+ 0x00000000, 0x00208ee6, 0x00000000, 0x00000000, 0x05000036, 0x00102012, 0x00000000, 0x0010000a,
+ 0x00000000, 0x08000036, 0x001020e2, 0x00000000, 0x00004002, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x0100003e, 0x30494653, 0x00000008, 0x00000001, 0x00000000,
+ };
+ static struct named_shader ps_dge = {"dge", ps_dge_code, sizeof(ps_dge_code)};
+ static const DWORD ps_dlt_code[] =
+ {
+#if 0
+ double2 src0;
+
+ void main(out uint4 dst : SV_Target)
+ {
+ dst = (uint4)0;
+ if (src0.x < src0.y)
+ dst.x = 0xffffffff;
+ }
+#endif
+ 0x43425844, 0xc42b9ef5, 0xd24453bd, 0xc6bc7933, 0x1ba2cbcd, 0x00000001, 0x00000118, 0x00000004,
+ 0x00000030, 0x00000040, 0x00000074, 0x00000108, 0x4e475349, 0x00000008, 0x00000000, 0x00000008,
+ 0x4e47534f, 0x0000002c, 0x00000001, 0x00000008, 0x00000020, 0x00000000, 0x00000000, 0x00000001,
+ 0x00000000, 0x0000000f, 0x545f5653, 0x65677261, 0xabab0074, 0x58454853, 0x0000008c, 0x00000050,
+ 0x00000023, 0x0100186a, 0x04000059, 0x00208e46, 0x00000000, 0x00000001, 0x03000065, 0x001020f2,
+ 0x00000000, 0x02000068, 0x00000001, 0x090000c5, 0x00100012, 0x00000000, 0x00208446, 0x00000000,
+ 0x00000000, 0x00208ee6, 0x00000000, 0x00000000, 0x05000036, 0x00102012, 0x00000000, 0x0010000a,
+ 0x00000000, 0x08000036, 0x001020e2, 0x00000000, 0x00004002, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x0100003e, 0x30494653, 0x00000008, 0x00000001, 0x00000000,
+ };
+ static struct named_shader ps_dlt = {"dlt", ps_dlt_code, sizeof(ps_dlt_code)};
static const DWORD ps_dtou_code[] =
{
#if 0
@@ -9891,6 +9937,11 @@ static void test_shader_instructions(void)
{&ps_deq, {.d = {{1.0, 0.0}}}, {{0x00000000}}, true},
{&ps_dne, {.d = {{0.0, 0.0}}}, {{0x00000000}}, true, true},
{&ps_dne, {.d = {{1.0, 0.0}}}, {{0xffffffff}}, true, true},
+ {&ps_dge, {.d = {{0.0, 1.0}}}, {{0x00000000}}, true, true},
+ {&ps_dge, {.d = {{1.0, 1.0}}}, {{0xffffffff}}, true, true},
+ {&ps_dge, {.d = {{1.5, 1.0}}}, {{0xffffffff}}, true, true},
+ {&ps_dlt, {.d = {{0.0, 1.0}}}, {{0xffffffff}}, true, true},
+ {&ps_dlt, {.d = {{1.0, 1.0}}}, {{0x00000000}}, true, true},
{&ps_dtou, {.d = {{ -NAN}}}, {{ 0, 0 }}, true, true},
{&ps_dtou, {.d = {{ NAN}}}, {{ 0, 0 }}, true, true},
{&ps_dtou, {.d = {{-INFINITY}}}, {{ 0, ~0u}}, true, true},
--
2.32.0