From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 95 +++++++++++++ dlls/d3d10/tests/effect.c | 291 +++++++++++++++++++++----------------- 2 files changed, 257 insertions(+), 129 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 2b9c391023a..3bc4a291526 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -252,6 +252,29 @@ static void pres_cos(float **args, unsigned int n, const struct preshader_instr retval[i] = cos(args[0][i]); }
+static void pres_ineg(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + int v = -arg1[i]; + retval[i] = *(float *)&v; + } +} + +static void pres_itof(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = *(float *)&arg1[i]; +} + static void pres_ftou(float **args, unsigned int n, const struct preshader_instr *instr) { float *retval = args[1]; @@ -321,6 +344,71 @@ static void pres_div(float **args, unsigned int n, const struct preshader_instr retval[i] = args[0][instr->scalar ? 0 : i] / args[1][i]; }
+static void pres_udiv(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0]; + unsigned int *arg2 = (unsigned int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] / arg2[i]; + retval[i] = *(float *)&v; + } +} + +static void pres_imax(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0], *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + int v = max(arg1[instr->scalar ? 0 : i], arg2[i]); + retval[i] = *(float *)&v; + } +} + +static void pres_and(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0]; + unsigned int *arg2 = (unsigned int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] & arg2[i]; + retval[i] = *(float *)&v; + } +} + +static void pres_xor(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0]; + unsigned int *arg2 = (unsigned int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] ^ arg2[i]; + retval[i] = *(float *)&v; + } +} + +static void pres_movc(float **args, unsigned int n, const struct preshader_instr *instr) +{ + float *src0 = args[0], *src1 = args[1], *src2 = args[2]; + float *retval = args[3]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = src0[i] ? src1[i] : src2[i]; +} + struct preshader_op_info { int opcode; @@ -335,6 +423,8 @@ static const struct preshader_op_info preshader_ops[] = { 0x104, "frc", pres_frc }, { 0x108, "sin", pres_sin }, { 0x109, "cos", pres_cos }, + { 0x120, "ineg", pres_ineg }, + { 0x130, "itof", pres_itof }, { 0x133, "ftou", pres_ftou }, { 0x137, "ftob", pres_ftob }, { 0x200, "min", pres_min }, @@ -342,6 +432,11 @@ static const struct preshader_op_info preshader_ops[] = { 0x204, "add", pres_add }, { 0x205, "mul", pres_mul }, { 0x208, "div", pres_div }, + { 0x21a, "udiv", pres_udiv }, + { 0x21e, "imax", pres_imax }, + { 0x230, "and", pres_and }, + { 0x233, "xor", pres_xor }, + { 0x301, "movc", pres_movc }, };
static int __cdecl preshader_op_compare(const void *a, const void *b) diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index a2892efec70..1c0061db406 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8139,6 +8139,7 @@ static void test_effect_index_expression(void) #if 0 float4 g_var; float4 g_var2; +int4 g_var3;
DepthStencilState ds_state { @@ -8179,142 +8180,174 @@ technique10 tech { SetBlendState( NULL, frac(g_var), 0 ); } + pass p8 + { + SetBlendState( NULL, g_var3.x / g_var3.y, 0 ); + } } #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0x52c4c6e1, 0x3efe62d7, 0xce564377, 0x35213200, 0x00000001, 0x00001075, 0x00000001, - 0x00000024, 0x30315846, 0x00001049, 0xfeff1001, 0x00000001, 0x00000002, 0x00000001, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x00000d99, 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x43425844, 0xffd64846, 0x0163c3e6, 0x00875d8c, 0xe3d63170, 0x00000001, 0x000013e4, 0x00000001, + 0x00000024, 0x30315846, 0x000013b8, 0xfeff1001, 0x00000001, 0x00000003, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x000010b0, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, - 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x70654400, 0x74536874, 0x69636e65, - 0x6174536c, 0x3d006574, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000, - 0x64000000, 0x74735f73, 0x00657461, 0x000000ec, 0x43425844, 0x79125440, 0x90f05fca, 0xfe55a99c, - 0x45e16165, 0x00000001, 0x000000ec, 0x00000003, 0x0000002c, 0x000000a8, 0x000000b4, 0x42415443, - 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, 0x00000100, 0x00000048, - 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, - 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, - 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, - 0x00000000, 0x434c5846, 0x00000030, 0x00000001, 0x13700001, 0x00000001, 0x00000000, 0x00000002, - 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x68636574, - 0x00307000, 0x00000244, 0x43425844, 0x6fff1042, 0x03a078c0, 0xc7b9d7d0, 0x4c421eb8, 0x00000001, - 0x00000244, 0x00000003, 0x0000002c, 0x000000d4, 0x000000f0, 0x42415443, 0x000000a0, 0x0000001c, - 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, 0x00000002, - 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, 0x00000000, - 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, 0xab003272, - 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, - 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, - 0x00000014, 0x00000004, 0x3dcccccd, 0x40066666, 0x00000000, 0x00000000, 0x434c5846, 0x0000014c, - 0x00000008, 0x10100004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, - 0x00000000, 0x10800001, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, - 0x00000004, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000007, - 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x10900001, 0x00000001, 0x00000000, 0x00000002, - 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, - 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000007, 0x00000004, 0xa0400004, - 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x00000000, - 0x00000007, 0x00000000, 0xa0500004, 0x00000002, 0x00000000, 0x00000001, 0x00000001, 0x00000000, - 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000004, 0x20400004, 0x00000002, 0x00000000, - 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000004, 0x00000000, - 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, - 0x00000000, 0x50003170, 0x44000001, 0x4c434258, 0x35c6a29e, 0xcb6292ed, 0x5fd90bb8, 0x0150dcd2, - 0x50000000, 0x03000001, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, - 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, 0x44000000, 0x02000000, - 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, 0x64000000, 0x00000000, - 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, 0x67000000, 0x7261765f, - 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, - 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, - 0x0434494c, 0x00000000, 0x46000000, 0x68434c58, 0x02000000, 0x04000000, 0x02a04000, 0x00000000, - 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, - 0x04000000, 0x02a04000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, 0x07000000, 0x00000000, - 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, - 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x022c0032, 0x58440000, 0xe09e4342, - 0x26fae994, 0x3ab641b8, 0xb70bac8f, 0x00019d4e, 0x022c0000, 0x00030000, 0x002c0000, 0x00d40000, - 0x00e00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, 0x00024658, 0x001c0000, - 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, 0x00000000, 0x005c0000, - 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, - 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, 0x00010004, 0x00000000, - 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, 0x43207265, - 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, 0x0144434c, - 0x00070000, 0x00010000, 0x00022000, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00020000, - 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00010000, 0x00022010, 0x00000000, 0x00020000, - 0x00010000, 0x00000000, 0x00020000, 0x00050000, 0x00000000, 0x00070000, 0x00010000, 0x00010000, - 0x00022040, 0x00000000, 0x00070000, 0x00010000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, - 0x00070000, 0x00040000, 0x00040000, 0x00022000, 0x00000000, 0x00020000, 0x00000000, 0x00000000, - 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00040000, 0x0002a040, 0x00000000, - 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, 0x00070000, 0x00080000, - 0x00040000, 0x00022010, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00020000, 0x00040000, - 0x00000000, 0x00070000, 0x00000000, 0x00040000, 0x00022040, 0x00000000, 0x00070000, 0x00000000, - 0x00000000, 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, - 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x33700000, - 0x00012400, 0x42584400, 0xcef4c543, 0x23070658, 0xcacabd20, 0x0c24d22f, 0x0000010f, 0x00012400, - 0x00000300, 0x00002c00, 0x0000d400, 0x0000e000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, - 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, - 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, - 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, - 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, - 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, - 0x00000000, 0x4c584600, 0x00003c43, 0x00000100, 0x00000400, 0x000002a0, 0x00000000, 0x00000200, - 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, - 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, - 0x00347000, 0x00000124, 0x43425844, 0x35c902bb, 0x89afcba6, 0xf6a383ff, 0xf8ed53a9, 0x00000001, - 0x00000124, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, 0x0000001c, - 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, 0x00000044, 0x00000002, - 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, 0x00000064, 0x00000000, - 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x61765f67, 0xab003272, - 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, - 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, - 0x00000004, 0x00000000, 0x434c5846, 0x0000003c, 0x00000001, 0xa0100004, 0x00000002, 0x00000000, - 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000004, 0x00000000, - 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, - 0x00000000, 0xf8003570, 0x44000000, 0x93434258, 0x0bf74bf8, 0x9e3d094d, 0xfff013f9, 0x0199d86f, - 0xf8000000, 0x03000000, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, 0x74424154, 0x1c000000, - 0x4b000000, 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, 0x30000000, 0x02000000, - 0x01000000, 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, - 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, - 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, - 0x3c434c58, 0x01000000, 0x04000000, 0x02a08000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, - 0x02000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, - 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x014c0036, - 0x58440000, 0xb50f4342, 0xfed38746, 0x4134bf74, 0x029d0616, 0x0001dbbd, 0x014c0000, 0x00030000, - 0x002c0000, 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, 0x004b0000, 0x04000000, - 0x00014658, 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, 0x00010000, 0x00380000, - 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x78740000, - 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, - 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, 0x0090434c, 0x00040000, - 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00040000, 0x00000000, - 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00040000, 0x00010000, - 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00020000, 0x00000000, 0x00040000, 0x00020000, - 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00030000, 0x00000000, 0x00040000, 0x00030000, + 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x746e6900, 0x003d0034, 0x00010000, + 0x00000000, 0x00100000, 0x00100000, 0x00100000, 0x21120000, 0x5f670000, 0x33726176, 0x70654400, + 0x74536874, 0x69636e65, 0x6174536c, 0x65006574, 0x02000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x03000000, 0x64000000, 0x74735f73, 0x00657461, 0x000000ec, 0x43425844, 0x79125440, + 0x90f05fca, 0xfe55a99c, 0x45e16165, 0x00000001, 0x000000ec, 0x00000003, 0x0000002c, 0x000000a8, + 0x000000b4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, + 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, + 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, + 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, + 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000030, 0x00000001, 0x13700001, 0x00000001, + 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, + 0x0000ffff, 0x68636574, 0x00307000, 0x00000244, 0x43425844, 0x6fff1042, 0x03a078c0, 0xc7b9d7d0, + 0x4c421eb8, 0x00000001, 0x00000244, 0x00000003, 0x0000002c, 0x000000d4, 0x000000f0, 0x42415443, + 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, + 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, + 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, + 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, + 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, + 0xab00312e, 0x34494c43, 0x00000014, 0x00000004, 0x3dcccccd, 0x40066666, 0x00000000, 0x00000000, + 0x434c5846, 0x0000014c, 0x00000008, 0x10100004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, + 0x00000000, 0x00000007, 0x00000000, 0x10800001, 0x00000001, 0x00000000, 0x00000002, 0x00000000, + 0x00000000, 0x00000007, 0x00000004, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, 0x00000004, + 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x10900001, 0x00000001, + 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, + 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000007, + 0x00000004, 0xa0400004, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000007, + 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0500004, 0x00000002, 0x00000000, 0x00000001, + 0x00000001, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000004, 0x20400004, + 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x00000000, + 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, + 0x00000001, 0x00000002, 0x00000000, 0x50003170, 0x44000001, 0x4c434258, 0x35c6a29e, 0xcb6292ed, + 0x5fd90bb8, 0x0150dcd2, 0x50000000, 0x03000001, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, + 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, + 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, + 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, + 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, + 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, + 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x68434c58, 0x02000000, 0x04000000, + 0x02a04000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, + 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, + 0x07000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, + 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x022c0032, + 0x58440000, 0xe09e4342, 0x26fae994, 0x3ab641b8, 0xb70bac8f, 0x00019d4e, 0x022c0000, 0x00030000, + 0x002c0000, 0x00d40000, 0x00e00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, + 0x00024658, 0x001c0000, 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, + 0x00000000, 0x005c0000, 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, + 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, + 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, + 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, + 0x58460000, 0x0144434c, 0x00070000, 0x00010000, 0x00022000, 0x00000000, 0x00020000, 0x00000000, + 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00010000, 0x00022010, + 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00020000, 0x00050000, 0x00000000, 0x00070000, + 0x00010000, 0x00010000, 0x00022040, 0x00000000, 0x00070000, 0x00010000, 0x00000000, 0x00070000, + 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x00022000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00040000, + 0x0002a040, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, + 0x00070000, 0x00080000, 0x00040000, 0x00022010, 0x00000000, 0x00020000, 0x00000000, 0x00000000, + 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00040000, 0x00022040, 0x00000000, + 0x00070000, 0x00000000, 0x00000000, 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, - 0x00000000, 0x37700000, 0x0000ec00, 0x42584400, 0x67aa4243, 0xe24a7796, 0x86419cce, 0xdf743a20, - 0x000001e1, 0x0000ec00, 0x00000300, 0x00002c00, 0x0000a800, 0x0000b400, 0x41544300, 0x00007442, - 0x00001c00, 0x00004b00, 0x58040000, 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, - 0x00000200, 0x00000100, 0x00003800, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, - 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, - 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, 0x00000000, - 0x4c584600, 0x00003043, 0x00000100, 0x40000400, 0x00000110, 0x00000000, 0x00000200, 0x00000000, - 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, - 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00000400, 0x00002000, 0x00000000, 0x00000200, - 0xffffff00, 0x000000ff, 0x00003000, 0x00001400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00003600, 0x00001400, 0x00000000, 0x00001000, 0x00000000, 0x00000000, 0x00000000, - 0x00006b00, 0x00004f00, 0x00000000, 0xffffff00, 0x000001ff, 0x00001900, 0x00000000, 0x00000600, - 0x00007400, 0x00000000, 0x00016400, 0x00000800, 0x00000000, 0x00016900, 0x00000300, 0x00000000, - 0x00000a00, 0x00000000, 0x00000600, 0x00016c00, 0x00000b00, 0x00000000, 0x00000100, 0x0003b400, - 0x00000200, 0x00000000, 0x00000100, 0x0003c000, 0x0003cc00, 0x00000300, 0x00000000, 0x00000a00, - 0x00000000, 0x00000600, 0x0003cf00, 0x00000b00, 0x00000000, 0x00000100, 0x00052300, 0x00000200, - 0x00000000, 0x00000100, 0x00052f00, 0x00053b00, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, - 0x00000600, 0x00053e00, 0x00000b00, 0x00000000, 0x00000100, 0x00076e00, 0x00000200, 0x00000000, - 0x00000100, 0x00077a00, 0x00078600, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, - 0x00078900, 0x00000b00, 0x00000000, 0x00000100, 0x0008b100, 0x00000200, 0x00000000, 0x00000100, - 0x0008bd00, 0x0008c900, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x0008cc00, - 0x00000b00, 0x00000000, 0x00000100, 0x0009f400, 0x00000200, 0x00000000, 0x00000100, 0x000a0000, - 0x000a0c00, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000a0f00, 0x00000b00, - 0x00000000, 0x00000100, 0x000b0b00, 0x00000200, 0x00000000, 0x00000100, 0x000b1700, 0x000b2300, - 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000b2600, 0x00000b00, 0x00000000, - 0x00000100, 0x000c7600, 0x00000200, 0x00000000, 0x00000100, 0x000c8200, 0x000c8e00, 0x00000300, - 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000c9100, 0x00000b00, 0x00000000, 0x00000100, - 0x000d8100, 0x00000200, 0x00000000, 0x00000100, 0x000d8d00, 0x00000000, + 0x00000000, 0x33700000, 0x00012400, 0x42584400, 0xcef4c543, 0x23070658, 0xcacabd20, 0x0c24d22f, + 0x0000010f, 0x00012400, 0x00000300, 0x00002c00, 0x0000d400, 0x0000e000, 0x41544300, 0x0000a042, + 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, + 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, + 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, + 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, + 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, + 0x494c43ab, 0x00000434, 0x00000000, 0x4c584600, 0x00003c43, 0x00000100, 0x00000400, 0x000002a0, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000400, + 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, + 0x00000200, 0x00000000, 0x00347000, 0x00000124, 0x43425844, 0x35c902bb, 0x89afcba6, 0xf6a383ff, + 0xf8ed53a9, 0x00000001, 0x00000124, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, + 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, + 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, + 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, + 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, + 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, + 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x0000003c, 0x00000001, 0xa0100004, + 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, + 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, + 0x00000001, 0x00000002, 0x00000000, 0xf8003570, 0x44000000, 0x93434258, 0x0bf74bf8, 0x9e3d094d, + 0xfff013f9, 0x0199d86f, 0xf8000000, 0x03000000, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, + 0x74424154, 0x1c000000, 0x4b000000, 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, + 0x30000000, 0x02000000, 0x01000000, 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, + 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, + 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, + 0x00000000, 0x46000000, 0x3c434c58, 0x01000000, 0x04000000, 0x02a08000, 0x00000000, 0x02000000, + 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, + 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, + 0x70000000, 0x014c0036, 0x58440000, 0xb50f4342, 0xfed38746, 0x4134bf74, 0x029d0616, 0x0001dbbd, + 0x014c0000, 0x00030000, 0x002c0000, 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, + 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, + 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, + 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, + 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, + 0x0090434c, 0x00040000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00000000, 0x00000000, + 0x00040000, 0x00000000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00010000, 0x00000000, + 0x00040000, 0x00010000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00020000, 0x00000000, + 0x00040000, 0x00020000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00030000, 0x00000000, + 0x00040000, 0x00030000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, + 0x00010000, 0x00020000, 0x00000000, 0x37700000, 0x0000ec00, 0x42584400, 0x67aa4243, 0xe24a7796, + 0x86419cce, 0xdf743a20, 0x000001e1, 0x0000ec00, 0x00000300, 0x00002c00, 0x0000a800, 0x0000b400, + 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, 0x58040000, 0x00000146, 0x00001c00, 0x00010000, + 0x00004800, 0x00003000, 0x00000200, 0x00000100, 0x00003800, 0x00000000, 0x765f6700, 0xab007261, + 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, + 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, + 0x00000434, 0x00000000, 0x4c584600, 0x00003043, 0x00000100, 0x40000400, 0x00000110, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, + 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00387000, 0x000002d0, + 0x43425844, 0xca0a64ed, 0x1e48bebb, 0x50b61480, 0x81af66f1, 0x00000001, 0x000002d0, 0x00000003, + 0x0000002c, 0x000000a8, 0x000000c4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, + 0x00000001, 0x0000001c, 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, + 0x00000000, 0x61765f67, 0xab003372, 0x00020001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, + 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, + 0x30312072, 0xab00312e, 0x34494c43, 0x00000014, 0x00000004, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x434c5846, 0x00000204, 0x0000000d, 0x12000001, 0x00000001, 0x00000000, 0x00000002, + 0x00000000, 0x00000000, 0x00000007, 0x00000000, 0x21e00001, 0x00000002, 0x00000000, 0x00000007, + 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x12000001, + 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x21e00001, + 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000002, 0x00000001, 0x00000000, + 0x00000007, 0x00000005, 0x21a00001, 0x00000002, 0x00000000, 0x00000007, 0x00000004, 0x00000000, + 0x00000007, 0x00000005, 0x00000000, 0x00000007, 0x00000000, 0x12000001, 0x00000001, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x23300001, 0x00000002, 0x00000000, + 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, 0x00000001, + 0x23000001, 0x00000002, 0x00000000, 0x00000007, 0x00000001, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000007, 0x00000005, 0x30100001, 0x00000003, 0x00000000, 0x00000007, 0x00000005, + 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, + 0x00000008, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, + 0x00000000, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, + 0x00000001, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, + 0x00000002, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, + 0x00000003, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, + 0x00000002, 0x00000000, 0x00000004, 0x00000030, 0x00000000, 0x00000003, 0xffffffff, 0x00000000, + 0x00000030, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000036, + 0x00000014, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000005e, 0x00000042, + 0x00000000, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000093, 0x00000077, 0x00000000, + 0xffffffff, 0x00000001, 0x00000019, 0x00000000, 0x00000006, 0x0000009c, 0x00000000, 0x0000018c, + 0x00000009, 0x00000000, 0x00000191, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, + 0x00000194, 0x0000000b, 0x00000000, 0x00000001, 0x000003dc, 0x00000002, 0x00000000, 0x00000001, + 0x000003e8, 0x000003f4, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000003f7, + 0x0000000b, 0x00000000, 0x00000001, 0x0000054b, 0x00000002, 0x00000000, 0x00000001, 0x00000557, + 0x00000563, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000566, 0x0000000b, + 0x00000000, 0x00000001, 0x00000796, 0x00000002, 0x00000000, 0x00000001, 0x000007a2, 0x000007ae, + 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000007b1, 0x0000000b, 0x00000000, + 0x00000001, 0x000008d9, 0x00000002, 0x00000000, 0x00000001, 0x000008e5, 0x000008f1, 0x00000003, + 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000008f4, 0x0000000b, 0x00000000, 0x00000001, + 0x00000a1c, 0x00000002, 0x00000000, 0x00000001, 0x00000a28, 0x00000a34, 0x00000003, 0x00000000, + 0x0000000a, 0x00000000, 0x00000006, 0x00000a37, 0x0000000b, 0x00000000, 0x00000001, 0x00000b33, + 0x00000002, 0x00000000, 0x00000001, 0x00000b3f, 0x00000b4b, 0x00000003, 0x00000000, 0x0000000a, + 0x00000000, 0x00000006, 0x00000b4e, 0x0000000b, 0x00000000, 0x00000001, 0x00000c9e, 0x00000002, + 0x00000000, 0x00000001, 0x00000caa, 0x00000cb6, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, + 0x00000006, 0x00000cb9, 0x0000000b, 0x00000000, 0x00000001, 0x00000da9, 0x00000002, 0x00000000, + 0x00000001, 0x00000db5, 0x00000dc1, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, + 0x00000dc4, 0x0000000b, 0x00000000, 0x00000001, 0x00001098, 0x00000002, 0x00000000, 0x00000001, + 0x000010a4, };
static float get_frc(float v)
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3d10/effect.c | 60 +++++++ dlls/d3d10/tests/effect.c | 335 +++++++++++++++++++++----------------- 2 files changed, 245 insertions(+), 150 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 3bc4a291526..4f8d6019012 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -344,6 +344,62 @@ static void pres_div(float **args, unsigned int n, const struct preshader_instr retval[i] = args[0][instr->scalar ? 0 : i] / args[1][i]; }
+static void pres_bilt(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + int *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] < arg2[i] ? ~0u : 0; + retval[i] = *(float *)&v; + } +} + +static void pres_bige(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + int *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] >= arg2[i] ? ~0u : 0; + retval[i] = *(float *)&v; + } +} + +static void pres_bieq(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + int *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] == arg2[i] ? ~0u : 0; + retval[i] = *(float *)&v; + } +} + +static void pres_bine(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + int *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = arg1[instr->scalar ? 0 : i] != arg2[i] ? ~0u : 0; + retval[i] = *(float *)&v; + } +} + static void pres_udiv(float **args, unsigned int n, const struct preshader_instr *instr) { unsigned int *arg1 = (unsigned int *)args[0]; @@ -432,6 +488,10 @@ static const struct preshader_op_info preshader_ops[] = { 0x204, "add", pres_add }, { 0x205, "mul", pres_mul }, { 0x208, "div", pres_div }, + { 0x210, "bilt", pres_bilt }, + { 0x211, "bige", pres_bige }, + { 0x212, "bieq", pres_bieq }, + { 0x213, "bine", pres_bine }, { 0x21a, "udiv", pres_udiv }, { 0x21e, "imax", pres_imax }, { 0x230, "and", pres_and }, diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index 1c0061db406..317b9a5ad96 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8184,170 +8184,205 @@ technique10 tech { SetBlendState( NULL, g_var3.x / g_var3.y, 0 ); } + pass p9 + { + SetBlendState( NULL, g_var3.x < g_var3.y ? (g_var3.x >= g_var3.z ? 0 : 1 ) : + (g_var3.x != g_var3.z ? g_var3.z == g_var3.w : 2), 0 ); + } } #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0xffd64846, 0x0163c3e6, 0x00875d8c, 0xe3d63170, 0x00000001, 0x000013e4, 0x00000001, - 0x00000024, 0x30315846, 0x000013b8, 0xfeff1001, 0x00000001, 0x00000003, 0x00000001, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x000010b0, 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x43425844, 0x38ba7d03, 0x942c55d6, 0xa450e7bf, 0x3276e91b, 0x00000001, 0x000017a9, 0x00000001, + 0x00000024, 0x30315846, 0x0000177d, 0xfeff1001, 0x00000001, 0x00000005, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00001401, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x746e6900, 0x003d0034, 0x00010000, - 0x00000000, 0x00100000, 0x00100000, 0x00100000, 0x21120000, 0x5f670000, 0x33726176, 0x70654400, - 0x74536874, 0x69636e65, 0x6174536c, 0x65006574, 0x02000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x03000000, 0x64000000, 0x74735f73, 0x00657461, 0x000000ec, 0x43425844, 0x79125440, - 0x90f05fca, 0xfe55a99c, 0x45e16165, 0x00000001, 0x000000ec, 0x00000003, 0x0000002c, 0x000000a8, - 0x000000b4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, - 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, - 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, - 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, - 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000030, 0x00000001, 0x13700001, 0x00000001, - 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, - 0x0000ffff, 0x68636574, 0x00307000, 0x00000244, 0x43425844, 0x6fff1042, 0x03a078c0, 0xc7b9d7d0, - 0x4c421eb8, 0x00000001, 0x00000244, 0x00000003, 0x0000002c, 0x000000d4, 0x000000f0, 0x42415443, - 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, - 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, - 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, - 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, - 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, - 0xab00312e, 0x34494c43, 0x00000014, 0x00000004, 0x3dcccccd, 0x40066666, 0x00000000, 0x00000000, - 0x434c5846, 0x0000014c, 0x00000008, 0x10100004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, - 0x00000000, 0x00000007, 0x00000000, 0x10800001, 0x00000001, 0x00000000, 0x00000002, 0x00000000, - 0x00000000, 0x00000007, 0x00000004, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, 0x00000004, - 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x10900001, 0x00000001, - 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, - 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000007, - 0x00000004, 0xa0400004, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000007, - 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0500004, 0x00000002, 0x00000000, 0x00000001, - 0x00000001, 0x00000000, 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000004, 0x20400004, - 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x00000000, - 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, - 0x00000001, 0x00000002, 0x00000000, 0x50003170, 0x44000001, 0x4c434258, 0x35c6a29e, 0xcb6292ed, - 0x5fd90bb8, 0x0150dcd2, 0x50000000, 0x03000001, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, - 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, - 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, - 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, - 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, - 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, - 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x68434c58, 0x02000000, 0x04000000, - 0x02a04000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, - 0x07000000, 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, - 0x07000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, - 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x022c0032, - 0x58440000, 0xe09e4342, 0x26fae994, 0x3ab641b8, 0xb70bac8f, 0x00019d4e, 0x022c0000, 0x00030000, + 0x00000000, 0x00100000, 0x00100000, 0x00100000, 0x21120000, 0x5f670000, 0x33726176, 0x6e697500, + 0x65003474, 0x01000000, 0x00000000, 0x10000000, 0x10000000, 0x10000000, 0x1a000000, 0x67000021, + 0x7261765f, 0x6f620034, 0x00346c6f, 0x0000008e, 0x00000001, 0x00000000, 0x00000010, 0x00000010, + 0x00000010, 0x00002122, 0x61765f67, 0x44003572, 0x68747065, 0x6e657453, 0x536c6963, 0x65746174, + 0x0000b700, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x5f736400, + 0x74617473, 0x00ec0065, 0x58440000, 0x54404342, 0x5fca7912, 0xa99c90f0, 0x6165fe55, 0x000145e1, + 0x00ec0000, 0x00030000, 0x002c0000, 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, + 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, + 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, + 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, + 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, + 0x0030434c, 0x00010000, 0x00010000, 0x00011370, 0x00000000, 0x00020000, 0x00000000, 0x00000000, + 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x65740000, 0x70006863, 0x02440030, + 0x58440000, 0x10424342, 0x78c06fff, 0xd7d003a0, 0x1eb8c7b9, 0x00014c42, 0x02440000, 0x00030000, + 0x002c0000, 0x00d40000, 0x00f00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, + 0x00024658, 0x001c0000, 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, + 0x00000000, 0x005c0000, 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, + 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, + 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, + 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00143449, 0x00040000, + 0xcccd0000, 0x66663dcc, 0x00004006, 0x00000000, 0x58460000, 0x014c434c, 0x00080000, 0x00040000, + 0x00011010, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00000000, 0x00010000, + 0x00011080, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, + 0x0002a040, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, + 0x00070000, 0x00080000, 0x00010000, 0x00011090, 0x00000000, 0x00020000, 0x00010000, 0x00000000, + 0x00070000, 0x00000000, 0x00040000, 0x0002a040, 0x00000000, 0x00070000, 0x00000000, 0x00000000, + 0x00070000, 0x00080000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x0002a040, 0x00000000, + 0x00010000, 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, + 0x00040000, 0x0002a050, 0x00000000, 0x00010000, 0x00010000, 0x00000000, 0x00020000, 0x00040000, + 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x00022040, 0x00000000, 0x00070000, 0x00000000, + 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, + 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x31700000, + 0x00015000, 0x42584400, 0xa29e4c43, 0x92ed35c6, 0x0bb8cb62, 0xdcd25fd9, 0x00000150, 0x00015000, + 0x00000300, 0x00002c00, 0x0000d400, 0x0000e000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, + 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, + 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, + 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, + 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, + 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, + 0x00000000, 0x4c584600, 0x00006843, 0x00000200, 0x40000400, 0x000002a0, 0x00000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x40000400, + 0x000002a0, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, 0x00000000, 0x00000000, + 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, + 0x00000100, 0x00000200, 0x00000000, 0x00327000, 0x0000022c, 0x43425844, 0xe994e09e, 0x41b826fa, + 0xac8f3ab6, 0x9d4eb70b, 0x00000001, 0x0000022c, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, + 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, + 0x00000074, 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, + 0x00000001, 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, + 0x00000000, 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, + 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, + 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000144, 0x00000007, + 0x20000001, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, + 0x00000000, 0x00000007, 0x00000000, 0x20100001, 0x00000002, 0x00000000, 0x00000002, 0x00000001, + 0x00000000, 0x00000002, 0x00000005, 0x00000000, 0x00000007, 0x00000001, 0x20400001, 0x00000002, + 0x00000000, 0x00000007, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, + 0x00000004, 0x20000004, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, + 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, + 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x20100004, + 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, + 0x00000007, 0x00000000, 0x20400004, 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, + 0x00000007, 0x00000008, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, + 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x24003370, 0x44000001, + 0xc5434258, 0x0658cef4, 0xbd202307, 0xd22fcaca, 0x010f0c24, 0x24000000, 0x03000001, 0x2c000000, + 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, + 0x1c000000, 0x00000000, 0x74000001, 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, + 0x5c000000, 0x02000000, 0x01000100, 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, + 0x01000300, 0x01000400, 0x00000000, 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, + 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, + 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, + 0x3c434c58, 0x01000000, 0x04000000, 0x02a00000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, + 0x02000000, 0x04000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, + 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x01240034, + 0x58440000, 0x02bb4342, 0xcba635c9, 0x83ff89af, 0x53a9f6a3, 0x0001f8ed, 0x01240000, 0x00030000, 0x002c0000, 0x00d40000, 0x00e00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, 0x00024658, 0x001c0000, 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, 0x00000000, 0x005c0000, 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, - 0x58460000, 0x0144434c, 0x00070000, 0x00010000, 0x00022000, 0x00000000, 0x00020000, 0x00000000, - 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00010000, 0x00022010, - 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00020000, 0x00050000, 0x00000000, 0x00070000, - 0x00010000, 0x00010000, 0x00022040, 0x00000000, 0x00070000, 0x00010000, 0x00000000, 0x00070000, - 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x00022000, 0x00000000, 0x00020000, - 0x00000000, 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00040000, - 0x0002a040, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, - 0x00070000, 0x00080000, 0x00040000, 0x00022010, 0x00000000, 0x00020000, 0x00000000, 0x00000000, - 0x00020000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00040000, 0x00022040, 0x00000000, - 0x00070000, 0x00000000, 0x00000000, 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00000000, - 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, - 0x00000000, 0x33700000, 0x00012400, 0x42584400, 0xcef4c543, 0x23070658, 0xcacabd20, 0x0c24d22f, - 0x0000010f, 0x00012400, 0x00000300, 0x00002c00, 0x0000d400, 0x0000e000, 0x41544300, 0x0000a042, - 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, - 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, - 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, - 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, - 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, - 0x494c43ab, 0x00000434, 0x00000000, 0x4c584600, 0x00003c43, 0x00000100, 0x00000400, 0x000002a0, - 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000400, - 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, 0x00000100, - 0x00000200, 0x00000000, 0x00347000, 0x00000124, 0x43425844, 0x35c902bb, 0x89afcba6, 0xf6a383ff, - 0xf8ed53a9, 0x00000001, 0x00000124, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, 0x42415443, - 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, 0x00000074, - 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, 0x00000001, - 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, - 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, + 0x58460000, 0x003c434c, 0x00010000, 0x00040000, 0x0002a010, 0x00000000, 0x00020000, 0x00000000, + 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, + 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x35700000, + 0x0000f800, 0x42584400, 0x4bf89343, 0x094d0bf7, 0x13f99e3d, 0xd86ffff0, 0x00000199, 0x0000f800, + 0x00000300, 0x00002c00, 0x0000a800, 0x0000b400, 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, + 0x58040000, 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, 0x00000100, + 0x00003800, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, + 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, + 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, 0x00000000, 0x4c584600, 0x00003c43, + 0x00000100, 0x80000400, 0x000002a0, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, + 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00367000, 0x0000014c, 0x43425844, + 0x8746b50f, 0xbf74fed3, 0x06164134, 0xdbbd029d, 0x00000001, 0x0000014c, 0x00000003, 0x0000002c, + 0x000000a8, 0x000000b4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, + 0x0000001c, 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, + 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, - 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x0000003c, 0x00000001, 0xa0100004, - 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, - 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, - 0x00000001, 0x00000002, 0x00000000, 0xf8003570, 0x44000000, 0x93434258, 0x0bf74bf8, 0x9e3d094d, - 0xfff013f9, 0x0199d86f, 0xf8000000, 0x03000000, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, - 0x74424154, 0x1c000000, 0x4b000000, 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, - 0x30000000, 0x02000000, 0x01000000, 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, - 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, - 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, - 0x00000000, 0x46000000, 0x3c434c58, 0x01000000, 0x04000000, 0x02a08000, 0x00000000, 0x02000000, - 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, - 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, - 0x70000000, 0x014c0036, 0x58440000, 0xb50f4342, 0xfed38746, 0x4134bf74, 0x029d0616, 0x0001dbbd, - 0x014c0000, 0x00030000, 0x002c0000, 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, - 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, - 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, - 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, - 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, - 0x0090434c, 0x00040000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00000000, 0x00000000, - 0x00040000, 0x00000000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00010000, 0x00000000, - 0x00040000, 0x00010000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00020000, 0x00000000, - 0x00040000, 0x00020000, 0x00010000, 0x00011030, 0x00000000, 0x00020000, 0x00030000, 0x00000000, - 0x00040000, 0x00030000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, - 0x00010000, 0x00020000, 0x00000000, 0x37700000, 0x0000ec00, 0x42584400, 0x67aa4243, 0xe24a7796, - 0x86419cce, 0xdf743a20, 0x000001e1, 0x0000ec00, 0x00000300, 0x00002c00, 0x0000a800, 0x0000b400, - 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, 0x58040000, 0x00000146, 0x00001c00, 0x00010000, - 0x00004800, 0x00003000, 0x00000200, 0x00000100, 0x00003800, 0x00000000, 0x765f6700, 0xab007261, - 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, - 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, - 0x00000434, 0x00000000, 0x4c584600, 0x00003043, 0x00000100, 0x40000400, 0x00000110, 0x00000000, - 0x00000200, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, - 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00387000, 0x000002d0, - 0x43425844, 0xca0a64ed, 0x1e48bebb, 0x50b61480, 0x81af66f1, 0x00000001, 0x000002d0, 0x00000003, - 0x0000002c, 0x000000a8, 0x000000c4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, - 0x00000001, 0x0000001c, 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, - 0x00000000, 0x61765f67, 0xab003372, 0x00020001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, - 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, - 0x30312072, 0xab00312e, 0x34494c43, 0x00000014, 0x00000004, 0x80000000, 0x00000000, 0x00000000, - 0x00000000, 0x434c5846, 0x00000204, 0x0000000d, 0x12000001, 0x00000001, 0x00000000, 0x00000002, - 0x00000000, 0x00000000, 0x00000007, 0x00000000, 0x21e00001, 0x00000002, 0x00000000, 0x00000007, - 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x12000001, - 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x21e00001, - 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000002, 0x00000001, 0x00000000, - 0x00000007, 0x00000005, 0x21a00001, 0x00000002, 0x00000000, 0x00000007, 0x00000004, 0x00000000, - 0x00000007, 0x00000005, 0x00000000, 0x00000007, 0x00000000, 0x12000001, 0x00000001, 0x00000000, - 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x23300001, 0x00000002, 0x00000000, - 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, 0x00000001, - 0x23000001, 0x00000002, 0x00000000, 0x00000007, 0x00000001, 0x00000000, 0x00000001, 0x00000000, - 0x00000000, 0x00000007, 0x00000005, 0x30100001, 0x00000003, 0x00000000, 0x00000007, 0x00000005, - 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, - 0x00000008, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, - 0x00000000, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, - 0x00000001, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, - 0x00000002, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x00000008, 0x00000000, 0x00000004, - 0x00000003, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, - 0x00000002, 0x00000000, 0x00000004, 0x00000030, 0x00000000, 0x00000003, 0xffffffff, 0x00000000, - 0x00000030, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000036, - 0x00000014, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000005e, 0x00000042, - 0x00000000, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000093, 0x00000077, 0x00000000, - 0xffffffff, 0x00000001, 0x00000019, 0x00000000, 0x00000006, 0x0000009c, 0x00000000, 0x0000018c, - 0x00000009, 0x00000000, 0x00000191, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, - 0x00000194, 0x0000000b, 0x00000000, 0x00000001, 0x000003dc, 0x00000002, 0x00000000, 0x00000001, - 0x000003e8, 0x000003f4, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000003f7, - 0x0000000b, 0x00000000, 0x00000001, 0x0000054b, 0x00000002, 0x00000000, 0x00000001, 0x00000557, - 0x00000563, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000566, 0x0000000b, - 0x00000000, 0x00000001, 0x00000796, 0x00000002, 0x00000000, 0x00000001, 0x000007a2, 0x000007ae, - 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000007b1, 0x0000000b, 0x00000000, - 0x00000001, 0x000008d9, 0x00000002, 0x00000000, 0x00000001, 0x000008e5, 0x000008f1, 0x00000003, - 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000008f4, 0x0000000b, 0x00000000, 0x00000001, - 0x00000a1c, 0x00000002, 0x00000000, 0x00000001, 0x00000a28, 0x00000a34, 0x00000003, 0x00000000, - 0x0000000a, 0x00000000, 0x00000006, 0x00000a37, 0x0000000b, 0x00000000, 0x00000001, 0x00000b33, - 0x00000002, 0x00000000, 0x00000001, 0x00000b3f, 0x00000b4b, 0x00000003, 0x00000000, 0x0000000a, - 0x00000000, 0x00000006, 0x00000b4e, 0x0000000b, 0x00000000, 0x00000001, 0x00000c9e, 0x00000002, - 0x00000000, 0x00000001, 0x00000caa, 0x00000cb6, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, - 0x00000006, 0x00000cb9, 0x0000000b, 0x00000000, 0x00000001, 0x00000da9, 0x00000002, 0x00000000, - 0x00000001, 0x00000db5, 0x00000dc1, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, - 0x00000dc4, 0x0000000b, 0x00000000, 0x00000001, 0x00001098, 0x00000002, 0x00000000, 0x00000001, - 0x000010a4, + 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000090, 0x00000004, 0x10300001, + 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x10300001, + 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000004, 0x00000001, 0x10300001, + 0x00000001, 0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x00000004, 0x00000002, 0x10300001, + 0x00000001, 0x00000000, 0x00000002, 0x00000003, 0x00000000, 0x00000004, 0x00000003, 0xf0f0f0f0, + 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, + 0xec003770, 0x44000000, 0x42434258, 0x779667aa, 0x9ccee24a, 0x3a208641, 0x01e1df74, 0xec000000, + 0x03000000, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, 0x74424154, 0x1c000000, 0x4b000000, + 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, 0x30000000, 0x02000000, 0x01000000, + 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, + 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, + 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x30434c58, + 0x01000000, 0x04000000, 0x01104000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x04000000, + 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, + 0x02000000, 0x00000000, 0x70000000, 0x02d00038, 0x58440000, 0x64ed4342, 0xbebbca0a, 0x14801e48, + 0x66f150b6, 0x000181af, 0x02d00000, 0x00030000, 0x002c0000, 0x00a80000, 0x00c40000, 0x54430000, + 0x00744241, 0x001c0000, 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, + 0x00300000, 0x00020000, 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x33726176, 0x0001ab00, + 0x00010002, 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, + 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00143449, + 0x00040000, 0x00000000, 0x00008000, 0x00000000, 0x00000000, 0x58460000, 0x0204434c, 0x000d0000, + 0x00010000, 0x00011200, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00000000, + 0x00010000, 0x000221e0, 0x00000000, 0x00070000, 0x00000000, 0x00000000, 0x00020000, 0x00000000, + 0x00000000, 0x00070000, 0x00040000, 0x00010000, 0x00011200, 0x00000000, 0x00020000, 0x00010000, + 0x00000000, 0x00070000, 0x00000000, 0x00010000, 0x000221e0, 0x00000000, 0x00070000, 0x00000000, + 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00070000, 0x00050000, 0x00010000, 0x000221a0, + 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00050000, 0x00000000, 0x00070000, + 0x00000000, 0x00010000, 0x00011200, 0x00000000, 0x00070000, 0x00000000, 0x00000000, 0x00070000, + 0x00040000, 0x00010000, 0x00022330, 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00070000, 0x00010000, 0x00010000, 0x00022300, 0x00000000, 0x00070000, + 0x00010000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00070000, 0x00050000, 0x00010000, + 0x00033010, 0x00000000, 0x00070000, 0x00050000, 0x00000000, 0x00070000, 0x00040000, 0x00000000, + 0x00070000, 0x00000000, 0x00000000, 0x00070000, 0x00080000, 0x00010000, 0x00011300, 0x00000000, + 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00000000, 0x00010000, 0x00011300, 0x00000000, + 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00010000, 0x00010000, 0x00011300, 0x00000000, + 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00020000, 0x00010000, 0x00011300, 0x00000000, + 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00030000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, + 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x39700000, 0x0002e000, + 0x42584400, 0x1ee53c43, 0x07d92856, 0x3e8c4e98, 0xf7bcb78a, 0x00000178, 0x0002e000, 0x00000300, + 0x00002c00, 0x0000a800, 0x0000c400, 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, 0x58040000, + 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, 0x00000100, 0x00003800, + 0x00000000, 0x765f6700, 0x00337261, 0x020001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, + 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, + 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, 0x00000000, 0x00000100, 0x00000200, + 0x00000000, 0x4c584600, 0x00021443, 0x00000c00, 0x20000100, 0x00000221, 0x00000000, 0x00000200, + 0x00000300, 0x00000000, 0x00000200, 0x00000200, 0x00000000, 0x00000700, 0x00000000, 0x00000100, + 0x00000223, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000100, 0x00000100, 0x00000000, + 0x00000700, 0x00000400, 0x30000100, 0x00000221, 0x00000000, 0x00000200, 0x00000200, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x10000100, 0x00000330, 0x00000000, + 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000100, 0x00000200, + 0x00000000, 0x00000700, 0x00000800, 0x10000100, 0x00000221, 0x00000000, 0x00000200, 0x00000000, + 0x00000000, 0x00000200, 0x00000200, 0x00000000, 0x00000700, 0x00000000, 0x10000100, 0x00000330, + 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000100, + 0x00000100, 0x00000000, 0x00000700, 0x00000400, 0x00000100, 0x00000221, 0x00000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, 0x00000000, 0x10000100, + 0x00000330, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, + 0x00000700, 0x00000800, 0x00000000, 0x00000700, 0x00000c00, 0x00000100, 0x00000113, 0x00000000, + 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000000, 0x00000100, 0x00000113, 0x00000000, + 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000100, 0x00000100, 0x00000113, 0x00000000, + 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000200, 0x00000100, 0x00000113, 0x00000000, + 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000300, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, + 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00000400, 0x00005000, + 0x00000000, 0x00000500, 0xffffff00, 0x000000ff, 0x00003000, 0x00001400, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00003600, 0x00001400, 0x00000000, 0x00001000, 0x00000000, + 0x00000000, 0x00000000, 0x00005e00, 0x00004200, 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00008700, 0x00006b00, 0x00000000, 0x00003000, 0x00000000, 0x00000000, 0x00000000, + 0x0000b000, 0x00009400, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x0000e500, + 0x0000c900, 0x00000000, 0xffffff00, 0x000001ff, 0x00001900, 0x00000000, 0x00000600, 0x0000ee00, + 0x00000000, 0x0001de00, 0x00000a00, 0x00000000, 0x0001e300, 0x00000300, 0x00000000, 0x00000a00, + 0x00000000, 0x00000600, 0x0001e600, 0x00000b00, 0x00000000, 0x00000100, 0x00042e00, 0x00000200, + 0x00000000, 0x00000100, 0x00043a00, 0x00044600, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, + 0x00000600, 0x00044900, 0x00000b00, 0x00000000, 0x00000100, 0x00059d00, 0x00000200, 0x00000000, + 0x00000100, 0x0005a900, 0x0005b500, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, + 0x0005b800, 0x00000b00, 0x00000000, 0x00000100, 0x0007e800, 0x00000200, 0x00000000, 0x00000100, + 0x0007f400, 0x00080000, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x00080300, + 0x00000b00, 0x00000000, 0x00000100, 0x00092b00, 0x00000200, 0x00000000, 0x00000100, 0x00093700, + 0x00094300, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x00094600, 0x00000b00, + 0x00000000, 0x00000100, 0x000a6e00, 0x00000200, 0x00000000, 0x00000100, 0x000a7a00, 0x000a8600, + 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000a8900, 0x00000b00, 0x00000000, + 0x00000100, 0x000b8500, 0x00000200, 0x00000000, 0x00000100, 0x000b9100, 0x000b9d00, 0x00000300, + 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000ba000, 0x00000b00, 0x00000000, 0x00000100, + 0x000cf000, 0x00000200, 0x00000000, 0x00000100, 0x000cfc00, 0x000d0800, 0x00000300, 0x00000000, + 0x00000a00, 0x00000000, 0x00000600, 0x000d0b00, 0x00000b00, 0x00000000, 0x00000100, 0x000dfb00, + 0x00000200, 0x00000000, 0x00000100, 0x000e0700, 0x000e1300, 0x00000300, 0x00000000, 0x00000a00, + 0x00000000, 0x00000600, 0x000e1600, 0x00000b00, 0x00000000, 0x00000100, 0x0010ea00, 0x00000200, + 0x00000000, 0x00000100, 0x0010f600, 0x00110200, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, + 0x00000600, 0x00110500, 0x00000b00, 0x00000000, 0x00000100, 0x0013e900, 0x00000200, 0x00000000, + 0x00000100, 0x0013f500, 0x00000000, };
static float get_frc(float v)
From: Nikolay Sivov nsivov@codeweavers.com
--- dlls/d3d10/effect.c | 54 ++++++ dlls/d3d10/tests/effect.c | 376 ++++++++++++++++++++------------------ 2 files changed, 252 insertions(+), 178 deletions(-)
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index 4f8d6019012..4eebe884630 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -275,6 +275,16 @@ static void pres_itof(float **args, unsigned int n, const struct preshader_instr retval[i] = *(float *)&arg1[i]; }
+static void pres_utof(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0]; + float *retval = args[1]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + retval[i] = *(float *)&arg1[i]; +} + static void pres_ftou(float **args, unsigned int n, const struct preshader_instr *instr) { float *retval = args[1]; @@ -400,6 +410,20 @@ static void pres_bine(float **args, unsigned int n, const struct preshader_instr } }
+static void pres_iadd(float **args, unsigned int n, const struct preshader_instr *instr) +{ + int *arg1 = (int *)args[0]; + int *arg2 = (int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + int v = arg1[instr->scalar ? 0 : i] + arg2[i]; + retval[i] = *(float *)&v; + } +} + static void pres_udiv(float **args, unsigned int n, const struct preshader_instr *instr) { unsigned int *arg1 = (unsigned int *)args[0]; @@ -427,6 +451,32 @@ static void pres_imax(float **args, unsigned int n, const struct preshader_instr } }
+static void pres_umin(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0], *arg2 = (unsigned int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = min(arg1[instr->scalar ? 0 : i], arg2[i]); + retval[i] = *(float *)&v; + } +} + +static void pres_umax(float **args, unsigned int n, const struct preshader_instr *instr) +{ + unsigned int *arg1 = (unsigned int *)args[0], *arg2 = (unsigned int *)args[1]; + float *retval = args[2]; + unsigned int i; + + for (i = 0; i < instr->comp_count; ++i) + { + unsigned int v = max(arg1[instr->scalar ? 0 : i], arg2[i]); + retval[i] = *(float *)&v; + } +} + static void pres_and(float **args, unsigned int n, const struct preshader_instr *instr) { unsigned int *arg1 = (unsigned int *)args[0]; @@ -481,6 +531,7 @@ static const struct preshader_op_info preshader_ops[] = { 0x109, "cos", pres_cos }, { 0x120, "ineg", pres_ineg }, { 0x130, "itof", pres_itof }, + { 0x131, "utof", pres_utof }, { 0x133, "ftou", pres_ftou }, { 0x137, "ftob", pres_ftob }, { 0x200, "min", pres_min }, @@ -492,8 +543,11 @@ static const struct preshader_op_info preshader_ops[] = { 0x211, "bige", pres_bige }, { 0x212, "bieq", pres_bieq }, { 0x213, "bine", pres_bine }, + { 0x216, "iadd", pres_iadd }, { 0x21a, "udiv", pres_udiv }, { 0x21e, "imax", pres_imax }, + { 0x21f, "umin", pres_umin }, + { 0x220, "umax", pres_umax }, { 0x230, "and", pres_and }, { 0x233, "xor", pres_xor }, { 0x301, "movc", pres_movc }, diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index 317b9a5ad96..3bac2f603c9 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -8140,6 +8140,7 @@ static void test_effect_index_expression(void) float4 g_var; float4 g_var2; int4 g_var3; +uint4 g_var4;
DepthStencilState ds_state { @@ -8189,200 +8190,219 @@ technique10 tech SetBlendState( NULL, g_var3.x < g_var3.y ? (g_var3.x >= g_var3.z ? 0 : 1 ) : (g_var3.x != g_var3.z ? g_var3.z == g_var3.w : 2), 0 ); } + pass p10 + { + SetBlendState( NULL, max(g_var4.x, g_var4.y) + min(g_var4.z, g_var4.w), 0 ); + } } #endif static DWORD fx_test_value_expression[] = { - 0x43425844, 0x38ba7d03, 0x942c55d6, 0xa450e7bf, 0x3276e91b, 0x00000001, 0x000017a9, 0x00000001, - 0x00000024, 0x30315846, 0x0000177d, 0xfeff1001, 0x00000001, 0x00000005, 0x00000001, 0x00000000, - 0x00000000, 0x00000000, 0x00000001, 0x00001401, 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x43425844, 0x695ed1f0, 0x1c4844f4, 0x46c3c91c, 0x8e886737, 0x00000001, 0x00001990, 0x00000001, + 0x00000024, 0x30315846, 0x00001964, 0xfeff1001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x000015c8, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x6f6c4724, 0x736c6162, 0x6f6c6600, 0x00347461, 0x0000000d, 0x00000001, 0x00000000, 0x00000010, 0x00000010, 0x00000010, 0x0000210a, 0x61765f67, 0x5f670072, 0x32726176, 0x746e6900, 0x003d0034, 0x00010000, 0x00000000, 0x00100000, 0x00100000, 0x00100000, 0x21120000, 0x5f670000, 0x33726176, 0x6e697500, 0x65003474, 0x01000000, 0x00000000, 0x10000000, 0x10000000, 0x10000000, 0x1a000000, 0x67000021, - 0x7261765f, 0x6f620034, 0x00346c6f, 0x0000008e, 0x00000001, 0x00000000, 0x00000010, 0x00000010, - 0x00000010, 0x00002122, 0x61765f67, 0x44003572, 0x68747065, 0x6e657453, 0x536c6963, 0x65746174, - 0x0000b700, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x5f736400, - 0x74617473, 0x00ec0065, 0x58440000, 0x54404342, 0x5fca7912, 0xa99c90f0, 0x6165fe55, 0x000145e1, - 0x00ec0000, 0x00030000, 0x002c0000, 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, - 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, - 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, - 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, - 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, - 0x0030434c, 0x00010000, 0x00010000, 0x00011370, 0x00000000, 0x00020000, 0x00000000, 0x00000000, - 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x65740000, 0x70006863, 0x02440030, - 0x58440000, 0x10424342, 0x78c06fff, 0xd7d003a0, 0x1eb8c7b9, 0x00014c42, 0x02440000, 0x00030000, - 0x002c0000, 0x00d40000, 0x00f00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, - 0x00024658, 0x001c0000, 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, - 0x00000000, 0x005c0000, 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, - 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, - 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, - 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00143449, 0x00040000, - 0xcccd0000, 0x66663dcc, 0x00004006, 0x00000000, 0x58460000, 0x014c434c, 0x00080000, 0x00040000, - 0x00011010, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00000000, 0x00010000, - 0x00011080, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, - 0x0002a040, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, 0x00000000, - 0x00070000, 0x00080000, 0x00010000, 0x00011090, 0x00000000, 0x00020000, 0x00010000, 0x00000000, - 0x00070000, 0x00000000, 0x00040000, 0x0002a040, 0x00000000, 0x00070000, 0x00000000, 0x00000000, - 0x00070000, 0x00080000, 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x0002a040, 0x00000000, - 0x00010000, 0x00000000, 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00000000, - 0x00040000, 0x0002a050, 0x00000000, 0x00010000, 0x00010000, 0x00000000, 0x00020000, 0x00040000, - 0x00000000, 0x00070000, 0x00040000, 0x00040000, 0x00022040, 0x00000000, 0x00070000, 0x00000000, - 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, - 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x31700000, - 0x00015000, 0x42584400, 0xa29e4c43, 0x92ed35c6, 0x0bb8cb62, 0xdcd25fd9, 0x00000150, 0x00015000, - 0x00000300, 0x00002c00, 0x0000d400, 0x0000e000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, - 0x58040000, 0x00000246, 0x00001c00, 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, - 0x00004c00, 0x00000000, 0x00005c00, 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, - 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, - 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, - 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, - 0x00000000, 0x4c584600, 0x00006843, 0x00000200, 0x40000400, 0x000002a0, 0x00000000, 0x00000200, - 0x00000000, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x40000400, - 0x000002a0, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, 0x00000000, 0x00000000, - 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, 0x00000000, - 0x00000100, 0x00000200, 0x00000000, 0x00327000, 0x0000022c, 0x43425844, 0xe994e09e, 0x41b826fa, - 0xac8f3ab6, 0x9d4eb70b, 0x00000001, 0x0000022c, 0x00000003, 0x0000002c, 0x000000d4, 0x000000e0, - 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, 0x0000001c, 0x00000100, - 0x00000074, 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, 0x0000005c, 0x00010002, - 0x00000001, 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, - 0x00000000, 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, - 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, - 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000144, 0x00000007, - 0x20000001, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, - 0x00000000, 0x00000007, 0x00000000, 0x20100001, 0x00000002, 0x00000000, 0x00000002, 0x00000001, - 0x00000000, 0x00000002, 0x00000005, 0x00000000, 0x00000007, 0x00000001, 0x20400001, 0x00000002, - 0x00000000, 0x00000007, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, - 0x00000004, 0x20000004, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, - 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, 0x00000000, 0x00000007, - 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000008, 0x20100004, - 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000004, 0x00000000, - 0x00000007, 0x00000000, 0x20400004, 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x00000000, - 0x00000007, 0x00000008, 0x00000000, 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, - 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x24003370, 0x44000001, - 0xc5434258, 0x0658cef4, 0xbd202307, 0xd22fcaca, 0x010f0c24, 0x24000000, 0x03000001, 0x2c000000, - 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, 0x77000000, 0x00000000, 0x02465804, - 0x1c000000, 0x00000000, 0x74000001, 0x44000000, 0x02000000, 0x01000000, 0x4c000000, 0x00000000, - 0x5c000000, 0x02000000, 0x01000100, 0x64000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, - 0x01000300, 0x01000400, 0x00000000, 0x67000000, 0x7261765f, 0x01ab0032, 0x01000300, 0x01000400, - 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, - 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, - 0x3c434c58, 0x01000000, 0x04000000, 0x02a00000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, - 0x02000000, 0x04000000, 0x00000000, 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, - 0x010000ff, 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x01240034, - 0x58440000, 0x02bb4342, 0xcba635c9, 0x83ff89af, 0x53a9f6a3, 0x0001f8ed, 0x01240000, 0x00030000, - 0x002c0000, 0x00d40000, 0x00e00000, 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, - 0x00024658, 0x001c0000, 0x01000000, 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, - 0x00000000, 0x005c0000, 0x00020000, 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, - 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, - 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, - 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, - 0x58460000, 0x003c434c, 0x00010000, 0x00040000, 0x0002a010, 0x00000000, 0x00020000, 0x00000000, - 0x00000000, 0x00020000, 0x00040000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, - 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x35700000, - 0x0000f800, 0x42584400, 0x4bf89343, 0x094d0bf7, 0x13f99e3d, 0xd86ffff0, 0x00000199, 0x0000f800, - 0x00000300, 0x00002c00, 0x0000a800, 0x0000b400, 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, - 0x58040000, 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, 0x00000100, - 0x00003800, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, + 0x7261765f, 0x65440034, 0x53687470, 0x636e6574, 0x74536c69, 0x00657461, 0x0000008e, 0x00000002, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x735f7364, 0x65746174, 0x0000ec00, + 0x42584400, 0x12544043, 0xf05fca79, 0x55a99c90, 0xe16165fe, 0x00000145, 0x0000ec00, 0x00000300, + 0x00002c00, 0x0000a800, 0x0000b400, 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, 0x58040000, + 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, 0x00000100, 0x00003800, + 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, + 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, + 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, 0x00000000, 0x4c584600, 0x00003043, 0x00000100, + 0x70000100, 0x00000113, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000400, 0x00000000, + 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x63657400, 0x30700068, 0x00024400, 0x42584400, 0xff104243, + 0xa078c06f, 0xb9d7d003, 0x421eb8c7, 0x0000014c, 0x00024400, 0x00000300, 0x00002c00, 0x0000d400, + 0x0000f000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, + 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, + 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, + 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, + 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, + 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, 0xcccccd00, 0x0666663d, + 0x00000040, 0x00000000, 0x4c584600, 0x00014c43, 0x00000800, 0x10000400, 0x00000110, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x80000100, 0x00000110, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x40000400, 0x000002a0, 0x00000000, + 0x00000700, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000800, + 0x90000100, 0x00000110, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, 0x00000000, + 0x40000400, 0x000002a0, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000800, + 0x00000000, 0x00000700, 0x00000400, 0x40000400, 0x000002a0, 0x00000000, 0x00000100, 0x00000000, + 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000700, 0x00000000, 0x50000400, 0x000002a0, + 0x00000000, 0x00000100, 0x00000100, 0x00000000, 0x00000200, 0x00000400, 0x00000000, 0x00000700, + 0x00000400, 0x40000400, 0x00000220, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, + 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, + 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00317000, 0x00000150, 0x43425844, + 0xc6a29e4c, 0x6292ed35, 0xd90bb8cb, 0x50dcd25f, 0x00000001, 0x00000150, 0x00000003, 0x0000002c, + 0x000000d4, 0x000000e0, 0x42415443, 0x000000a0, 0x0000001c, 0x00000077, 0x46580400, 0x00000002, + 0x0000001c, 0x00000100, 0x00000074, 0x00000044, 0x00000002, 0x00000001, 0x0000004c, 0x00000000, + 0x0000005c, 0x00010002, 0x00000001, 0x00000064, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, + 0x00040001, 0x00000001, 0x00000000, 0x61765f67, 0xab003272, 0x00030001, 0x00040001, 0x00000001, + 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, + 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, + 0x00000068, 0x00000002, 0xa0400004, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, + 0x00000002, 0x00000004, 0x00000000, 0x00000007, 0x00000000, 0xa0400004, 0x00000002, 0x00000000, + 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000004, 0x00000000, + 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, + 0x00000000, 0x2c003270, 0x44000002, 0x9e434258, 0xfae994e0, 0xb641b826, 0x0bac8f3a, 0x019d4eb7, + 0x2c000000, 0x03000002, 0x2c000000, 0xd4000000, 0xe0000000, 0x43000000, 0xa0424154, 0x1c000000, + 0x77000000, 0x00000000, 0x02465804, 0x1c000000, 0x00000000, 0x74000001, 0x44000000, 0x02000000, + 0x01000000, 0x4c000000, 0x00000000, 0x5c000000, 0x02000000, 0x01000100, 0x64000000, 0x00000000, + 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, 0x67000000, 0x7261765f, + 0x01ab0032, 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, + 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, + 0x0434494c, 0x00000000, 0x46000000, 0x44434c58, 0x07000001, 0x01000000, 0x02200000, 0x00000000, + 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, + 0x01000000, 0x02201000, 0x00000000, 0x02000000, 0x01000000, 0x00000000, 0x02000000, 0x05000000, + 0x00000000, 0x07000000, 0x01000000, 0x01000000, 0x02204000, 0x00000000, 0x07000000, 0x01000000, + 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x04000000, 0x04000000, 0x02200000, + 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, + 0x00000000, 0x04000000, 0x02a04000, 0x00000000, 0x07000000, 0x04000000, 0x00000000, 0x07000000, + 0x00000000, 0x00000000, 0x07000000, 0x08000000, 0x04000000, 0x02201000, 0x00000000, 0x02000000, + 0x00000000, 0x00000000, 0x02000000, 0x04000000, 0x00000000, 0x07000000, 0x00000000, 0x04000000, + 0x02204000, 0x00000000, 0x07000000, 0x00000000, 0x00000000, 0x07000000, 0x08000000, 0x00000000, + 0x04000000, 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, + 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x01240033, 0x58440000, 0xf4c54342, 0x070658ce, + 0xcabd2023, 0x24d22fca, 0x00010f0c, 0x01240000, 0x00030000, 0x002c0000, 0x00d40000, 0x00e00000, + 0x54430000, 0x00a04241, 0x001c0000, 0x00770000, 0x04000000, 0x00024658, 0x001c0000, 0x01000000, + 0x00740000, 0x00440000, 0x00020000, 0x00010000, 0x004c0000, 0x00000000, 0x005c0000, 0x00020000, + 0x00010001, 0x00640000, 0x00000000, 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, + 0x00000000, 0x5f670000, 0x32726176, 0x0001ab00, 0x00010003, 0x00010004, 0x00000000, 0x78740000, + 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, + 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, 0x003c434c, 0x00010000, + 0x00040000, 0x0002a000, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00020000, 0x00040000, + 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, + 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x34700000, 0x00012400, 0x42584400, 0xc902bb43, + 0xafcba635, 0xa383ff89, 0xed53a9f6, 0x000001f8, 0x00012400, 0x00000300, 0x00002c00, 0x0000d400, + 0x0000e000, 0x41544300, 0x0000a042, 0x00001c00, 0x00007700, 0x58040000, 0x00000246, 0x00001c00, + 0x00010000, 0x00007400, 0x00004400, 0x00000200, 0x00000100, 0x00004c00, 0x00000000, 0x00005c00, + 0x01000200, 0x00000100, 0x00006400, 0x00000000, 0x765f6700, 0xab007261, 0x030001ab, 0x04000100, + 0x00000100, 0x00000000, 0x765f6700, 0x00327261, 0x030001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00000434, 0x00000000, 0x4c584600, 0x00003c43, - 0x00000100, 0x80000400, 0x000002a0, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, - 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, - 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00367000, 0x0000014c, 0x43425844, - 0x8746b50f, 0xbf74fed3, 0x06164134, 0xdbbd029d, 0x00000001, 0x0000014c, 0x00000003, 0x0000002c, + 0x00000100, 0x10000400, 0x000002a0, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000200, + 0x00000400, 0x00000000, 0x00000400, 0x00000000, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, + 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00357000, 0x000000f8, 0x43425844, + 0xf74bf893, 0x3d094d0b, 0xf013f99e, 0x99d86fff, 0x00000001, 0x000000f8, 0x00000003, 0x0000002c, 0x000000a8, 0x000000b4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, 0xabab0072, 0x00030001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, - 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000090, 0x00000004, 0x10300001, - 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x10300001, - 0x00000001, 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000004, 0x00000001, 0x10300001, - 0x00000001, 0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x00000004, 0x00000002, 0x10300001, - 0x00000001, 0x00000000, 0x00000002, 0x00000003, 0x00000000, 0x00000004, 0x00000003, 0xf0f0f0f0, + 0xab00312e, 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x0000003c, 0x00000001, 0xa0800004, + 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, + 0x00000004, 0x00000000, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, + 0x00000001, 0x00000002, 0x00000000, 0x4c003670, 0x44000001, 0x0f434258, 0xd38746b5, 0x34bf74fe, + 0x9d061641, 0x01dbbd02, 0x4c000000, 0x03000001, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, + 0x74424154, 0x1c000000, 0x4b000000, 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, + 0x30000000, 0x02000000, 0x01000000, 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, + 0x01000300, 0x01000400, 0x00000000, 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, + 0x4c534c48, 0x61685320, 0x20726564, 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, + 0x00000000, 0x46000000, 0x90434c58, 0x04000000, 0x01000000, 0x01103000, 0x00000000, 0x02000000, + 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x01000000, 0x01103000, 0x00000000, 0x02000000, + 0x01000000, 0x00000000, 0x04000000, 0x01000000, 0x01000000, 0x01103000, 0x00000000, 0x02000000, + 0x02000000, 0x00000000, 0x04000000, 0x02000000, 0x01000000, 0x01103000, 0x00000000, 0x02000000, + 0x03000000, 0x00000000, 0x04000000, 0x03000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, + 0x02000000, 0x00000000, 0x01000000, 0x02000000, 0x00000000, 0x70000000, 0x00ec0037, 0x58440000, + 0xaa424342, 0x4a779667, 0x419ccee2, 0x743a2086, 0x0001e1df, 0x00ec0000, 0x00030000, 0x002c0000, + 0x00a80000, 0x00b40000, 0x54430000, 0x00744241, 0x001c0000, 0x004b0000, 0x04000000, 0x00014658, + 0x001c0000, 0x01000000, 0x00480000, 0x00300000, 0x00020000, 0x00010000, 0x00380000, 0x00000000, + 0x5f670000, 0x00726176, 0x0001abab, 0x00010003, 0x00010004, 0x00000000, 0x78740000, 0x63694d00, + 0x6f736f72, 0x28207466, 0x48202952, 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, + 0x312e3031, 0x4c43ab00, 0x00043449, 0x00000000, 0x58460000, 0x0030434c, 0x00010000, 0x00040000, + 0x00011040, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00040000, 0x00000000, 0xf0f00000, + 0x0f0ff0f0, 0xffff0f0f, 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, + 0x38700000, 0x0002d000, 0x42584400, 0x0a64ed43, 0x48bebbca, 0xb614801e, 0xaf66f150, 0x00000181, + 0x0002d000, 0x00000300, 0x00002c00, 0x0000a800, 0x0000c400, 0x41544300, 0x00007442, 0x00001c00, + 0x00004b00, 0x58040000, 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, + 0x00000100, 0x00003800, 0x00000000, 0x765f6700, 0x00337261, 0x020001ab, 0x04000100, 0x00000100, + 0x00000000, 0x00787400, 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, + 0x6f432072, 0x6c69706d, 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, 0x00000000, + 0x00000080, 0x00000000, 0x00000000, 0x4c584600, 0x00020443, 0x00000d00, 0x00000100, 0x00000112, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0xe0000100, 0x00000221, + 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000700, + 0x00000400, 0x00000100, 0x00000112, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, + 0x00000000, 0xe0000100, 0x00000221, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000200, + 0x00000100, 0x00000000, 0x00000700, 0x00000500, 0xa0000100, 0x00000221, 0x00000000, 0x00000700, + 0x00000400, 0x00000000, 0x00000700, 0x00000500, 0x00000000, 0x00000700, 0x00000000, 0x00000100, + 0x00000112, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x30000100, + 0x00000223, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000700, 0x00000100, 0x00000100, 0x00000223, 0x00000000, 0x00000700, 0x00000100, 0x00000000, + 0x00000100, 0x00000000, 0x00000000, 0x00000700, 0x00000500, 0x10000100, 0x00000330, 0x00000000, + 0x00000700, 0x00000500, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000700, 0x00000000, + 0x00000000, 0x00000700, 0x00000800, 0x00000100, 0x00000113, 0x00000000, 0x00000700, 0x00000800, + 0x00000000, 0x00000400, 0x00000000, 0x00000100, 0x00000113, 0x00000000, 0x00000700, 0x00000800, + 0x00000000, 0x00000400, 0x00000100, 0x00000100, 0x00000113, 0x00000000, 0x00000700, 0x00000800, + 0x00000000, 0x00000400, 0x00000200, 0x00000100, 0x00000113, 0x00000000, 0x00000700, 0x00000800, + 0x00000000, 0x00000400, 0x00000300, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, 0x00000100, 0x00000200, + 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00397000, 0x000002e0, 0x43425844, 0x561ee53c, + 0x9807d928, 0x8a3e8c4e, 0x78f7bcb7, 0x00000001, 0x000002e0, 0x00000003, 0x0000002c, 0x000000a8, + 0x000000c4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, + 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, + 0xab003372, 0x00020001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, + 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, + 0x34494c43, 0x00000014, 0x00000004, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x434c5846, + 0x00000214, 0x0000000c, 0x21200001, 0x00000002, 0x00000000, 0x00000002, 0x00000003, 0x00000000, + 0x00000002, 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x23000001, 0x00000002, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000007, 0x00000004, + 0x21300001, 0x00000002, 0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x00000002, 0x00000000, + 0x00000000, 0x00000007, 0x00000000, 0x30100001, 0x00000003, 0x00000000, 0x00000007, 0x00000000, + 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000007, + 0x00000008, 0x21100001, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, + 0x00000002, 0x00000000, 0x00000007, 0x00000000, 0x30100001, 0x00000003, 0x00000000, 0x00000007, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, + 0x00000007, 0x00000004, 0x21000001, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000000, + 0x00000002, 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x30100001, 0x00000003, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000007, 0x00000008, + 0x00000000, 0x00000007, 0x0000000c, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x0000000c, + 0x00000000, 0x00000004, 0x00000000, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x0000000c, + 0x00000000, 0x00000004, 0x00000001, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x0000000c, + 0x00000000, 0x00000004, 0x00000002, 0x13000001, 0x00000001, 0x00000000, 0x00000007, 0x0000000c, + 0x00000000, 0x00000004, 0x00000003, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, + 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00303170, 0x000001d0, 0x43425844, 0xe86fc450, + 0x1945794b, 0x8c470456, 0x0aeb8687, 0x00000001, 0x000001d0, 0x00000003, 0x0000002c, 0x000000a8, + 0x000000b4, 0x42415443, 0x00000074, 0x0000001c, 0x0000004b, 0x46580400, 0x00000001, 0x0000001c, + 0x00000100, 0x00000048, 0x00000030, 0x00000002, 0x00000001, 0x00000038, 0x00000000, 0x61765f67, + 0xab003472, 0x00020001, 0x00040001, 0x00000001, 0x00000000, 0x4d007874, 0x6f726369, 0x74666f73, + 0x29522820, 0x534c4820, 0x6853204c, 0x72656461, 0x6d6f4320, 0x656c6970, 0x30312072, 0xab00312e, + 0x34494c43, 0x00000004, 0x00000000, 0x434c5846, 0x00000114, 0x00000007, 0x22000001, 0x00000002, + 0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000007, + 0x00000000, 0x21f00001, 0x00000002, 0x00000000, 0x00000002, 0x00000003, 0x00000000, 0x00000002, + 0x00000002, 0x00000000, 0x00000007, 0x00000001, 0x21600001, 0x00000002, 0x00000000, 0x00000007, + 0x00000001, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000007, 0x00000004, 0x13100001, + 0x00000001, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000004, 0x00000000, 0x13100001, + 0x00000001, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000004, 0x00000001, 0x13100001, + 0x00000001, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000004, 0x00000002, 0x13100001, + 0x00000001, 0x00000000, 0x00000007, 0x00000004, 0x00000000, 0x00000004, 0x00000003, 0xf0f0f0f0, 0x0f0f0f0f, 0x0000ffff, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, - 0xec003770, 0x44000000, 0x42434258, 0x779667aa, 0x9ccee24a, 0x3a208641, 0x01e1df74, 0xec000000, - 0x03000000, 0x2c000000, 0xa8000000, 0xb4000000, 0x43000000, 0x74424154, 0x1c000000, 0x4b000000, - 0x00000000, 0x01465804, 0x1c000000, 0x00000000, 0x48000001, 0x30000000, 0x02000000, 0x01000000, - 0x38000000, 0x00000000, 0x67000000, 0x7261765f, 0x01abab00, 0x01000300, 0x01000400, 0x00000000, - 0x74000000, 0x694d0078, 0x736f7263, 0x2074666f, 0x20295228, 0x4c534c48, 0x61685320, 0x20726564, - 0x706d6f43, 0x72656c69, 0x2e303120, 0x43ab0031, 0x0434494c, 0x00000000, 0x46000000, 0x30434c58, - 0x01000000, 0x04000000, 0x01104000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x04000000, - 0x00000000, 0xf0000000, 0x0ff0f0f0, 0xff0f0f0f, 0x010000ff, 0x02000000, 0x00000000, 0x01000000, - 0x02000000, 0x00000000, 0x70000000, 0x02d00038, 0x58440000, 0x64ed4342, 0xbebbca0a, 0x14801e48, - 0x66f150b6, 0x000181af, 0x02d00000, 0x00030000, 0x002c0000, 0x00a80000, 0x00c40000, 0x54430000, - 0x00744241, 0x001c0000, 0x004b0000, 0x04000000, 0x00014658, 0x001c0000, 0x01000000, 0x00480000, - 0x00300000, 0x00020000, 0x00010000, 0x00380000, 0x00000000, 0x5f670000, 0x33726176, 0x0001ab00, - 0x00010002, 0x00010004, 0x00000000, 0x78740000, 0x63694d00, 0x6f736f72, 0x28207466, 0x48202952, - 0x204c534c, 0x64616853, 0x43207265, 0x69706d6f, 0x2072656c, 0x312e3031, 0x4c43ab00, 0x00143449, - 0x00040000, 0x00000000, 0x00008000, 0x00000000, 0x00000000, 0x58460000, 0x0204434c, 0x000d0000, - 0x00010000, 0x00011200, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00070000, 0x00000000, - 0x00010000, 0x000221e0, 0x00000000, 0x00070000, 0x00000000, 0x00000000, 0x00020000, 0x00000000, - 0x00000000, 0x00070000, 0x00040000, 0x00010000, 0x00011200, 0x00000000, 0x00020000, 0x00010000, - 0x00000000, 0x00070000, 0x00000000, 0x00010000, 0x000221e0, 0x00000000, 0x00070000, 0x00000000, - 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00070000, 0x00050000, 0x00010000, 0x000221a0, - 0x00000000, 0x00070000, 0x00040000, 0x00000000, 0x00070000, 0x00050000, 0x00000000, 0x00070000, - 0x00000000, 0x00010000, 0x00011200, 0x00000000, 0x00070000, 0x00000000, 0x00000000, 0x00070000, - 0x00040000, 0x00010000, 0x00022330, 0x00000000, 0x00020000, 0x00010000, 0x00000000, 0x00020000, - 0x00000000, 0x00000000, 0x00070000, 0x00010000, 0x00010000, 0x00022300, 0x00000000, 0x00070000, - 0x00010000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00070000, 0x00050000, 0x00010000, - 0x00033010, 0x00000000, 0x00070000, 0x00050000, 0x00000000, 0x00070000, 0x00040000, 0x00000000, - 0x00070000, 0x00000000, 0x00000000, 0x00070000, 0x00080000, 0x00010000, 0x00011300, 0x00000000, - 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00000000, 0x00010000, 0x00011300, 0x00000000, - 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00010000, 0x00010000, 0x00011300, 0x00000000, - 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00020000, 0x00010000, 0x00011300, 0x00000000, - 0x00070000, 0x00080000, 0x00000000, 0x00040000, 0x00030000, 0xf0f00000, 0x0f0ff0f0, 0xffff0f0f, - 0x00010000, 0x00020000, 0x00000000, 0x00010000, 0x00020000, 0x00000000, 0x39700000, 0x0002e000, - 0x42584400, 0x1ee53c43, 0x07d92856, 0x3e8c4e98, 0xf7bcb78a, 0x00000178, 0x0002e000, 0x00000300, - 0x00002c00, 0x0000a800, 0x0000c400, 0x41544300, 0x00007442, 0x00001c00, 0x00004b00, 0x58040000, - 0x00000146, 0x00001c00, 0x00010000, 0x00004800, 0x00003000, 0x00000200, 0x00000100, 0x00003800, - 0x00000000, 0x765f6700, 0x00337261, 0x020001ab, 0x04000100, 0x00000100, 0x00000000, 0x00787400, - 0x7263694d, 0x666f736f, 0x52282074, 0x4c482029, 0x53204c53, 0x65646168, 0x6f432072, 0x6c69706d, - 0x31207265, 0x00312e30, 0x494c43ab, 0x00001434, 0x00000400, 0x00000000, 0x00000100, 0x00000200, - 0x00000000, 0x4c584600, 0x00021443, 0x00000c00, 0x20000100, 0x00000221, 0x00000000, 0x00000200, - 0x00000300, 0x00000000, 0x00000200, 0x00000200, 0x00000000, 0x00000700, 0x00000000, 0x00000100, - 0x00000223, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000100, 0x00000100, 0x00000000, - 0x00000700, 0x00000400, 0x30000100, 0x00000221, 0x00000000, 0x00000200, 0x00000200, 0x00000000, - 0x00000200, 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x10000100, 0x00000330, 0x00000000, - 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, 0x00000100, 0x00000200, - 0x00000000, 0x00000700, 0x00000800, 0x10000100, 0x00000221, 0x00000000, 0x00000200, 0x00000000, - 0x00000000, 0x00000200, 0x00000200, 0x00000000, 0x00000700, 0x00000000, 0x10000100, 0x00000330, - 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000100, - 0x00000100, 0x00000000, 0x00000700, 0x00000400, 0x00000100, 0x00000221, 0x00000000, 0x00000200, - 0x00000000, 0x00000000, 0x00000200, 0x00000100, 0x00000000, 0x00000700, 0x00000000, 0x10000100, - 0x00000330, 0x00000000, 0x00000700, 0x00000000, 0x00000000, 0x00000700, 0x00000400, 0x00000000, - 0x00000700, 0x00000800, 0x00000000, 0x00000700, 0x00000c00, 0x00000100, 0x00000113, 0x00000000, - 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000000, 0x00000100, 0x00000113, 0x00000000, - 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000100, 0x00000100, 0x00000113, 0x00000000, - 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000200, 0x00000100, 0x00000113, 0x00000000, - 0x00000700, 0x00000c00, 0x00000000, 0x00000400, 0x00000300, 0xf0f0f000, 0x0f0f0ff0, 0x00ffff0f, - 0x00000100, 0x00000200, 0x00000000, 0x00000100, 0x00000200, 0x00000000, 0x00000400, 0x00005000, - 0x00000000, 0x00000500, 0xffffff00, 0x000000ff, 0x00003000, 0x00001400, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00003600, 0x00001400, 0x00000000, 0x00001000, 0x00000000, - 0x00000000, 0x00000000, 0x00005e00, 0x00004200, 0x00000000, 0x00002000, 0x00000000, 0x00000000, - 0x00000000, 0x00008700, 0x00006b00, 0x00000000, 0x00003000, 0x00000000, 0x00000000, 0x00000000, - 0x0000b000, 0x00009400, 0x00000000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x0000e500, - 0x0000c900, 0x00000000, 0xffffff00, 0x000001ff, 0x00001900, 0x00000000, 0x00000600, 0x0000ee00, - 0x00000000, 0x0001de00, 0x00000a00, 0x00000000, 0x0001e300, 0x00000300, 0x00000000, 0x00000a00, - 0x00000000, 0x00000600, 0x0001e600, 0x00000b00, 0x00000000, 0x00000100, 0x00042e00, 0x00000200, - 0x00000000, 0x00000100, 0x00043a00, 0x00044600, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, - 0x00000600, 0x00044900, 0x00000b00, 0x00000000, 0x00000100, 0x00059d00, 0x00000200, 0x00000000, - 0x00000100, 0x0005a900, 0x0005b500, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, - 0x0005b800, 0x00000b00, 0x00000000, 0x00000100, 0x0007e800, 0x00000200, 0x00000000, 0x00000100, - 0x0007f400, 0x00080000, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x00080300, - 0x00000b00, 0x00000000, 0x00000100, 0x00092b00, 0x00000200, 0x00000000, 0x00000100, 0x00093700, - 0x00094300, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x00094600, 0x00000b00, - 0x00000000, 0x00000100, 0x000a6e00, 0x00000200, 0x00000000, 0x00000100, 0x000a7a00, 0x000a8600, - 0x00000300, 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000a8900, 0x00000b00, 0x00000000, - 0x00000100, 0x000b8500, 0x00000200, 0x00000000, 0x00000100, 0x000b9100, 0x000b9d00, 0x00000300, - 0x00000000, 0x00000a00, 0x00000000, 0x00000600, 0x000ba000, 0x00000b00, 0x00000000, 0x00000100, - 0x000cf000, 0x00000200, 0x00000000, 0x00000100, 0x000cfc00, 0x000d0800, 0x00000300, 0x00000000, - 0x00000a00, 0x00000000, 0x00000600, 0x000d0b00, 0x00000b00, 0x00000000, 0x00000100, 0x000dfb00, - 0x00000200, 0x00000000, 0x00000100, 0x000e0700, 0x000e1300, 0x00000300, 0x00000000, 0x00000a00, - 0x00000000, 0x00000600, 0x000e1600, 0x00000b00, 0x00000000, 0x00000100, 0x0010ea00, 0x00000200, - 0x00000000, 0x00000100, 0x0010f600, 0x00110200, 0x00000300, 0x00000000, 0x00000a00, 0x00000000, - 0x00000600, 0x00110500, 0x00000b00, 0x00000000, 0x00000100, 0x0013e900, 0x00000200, 0x00000000, - 0x00000100, 0x0013f500, 0x00000000, + 0x00000004, 0x00000040, 0x00000000, 0x00000004, 0xffffffff, 0x00000000, 0x00000030, 0x00000014, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000036, 0x00000014, 0x00000000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000005e, 0x00000042, 0x00000000, 0x00000020, + 0x00000000, 0x00000000, 0x00000000, 0x00000087, 0x0000006b, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x000000bc, 0x000000a0, 0x00000000, 0xffffffff, 0x00000001, 0x00000019, + 0x00000000, 0x00000006, 0x000000c5, 0x00000000, 0x000001b5, 0x0000000b, 0x00000000, 0x000001ba, + 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000001bd, 0x0000000b, 0x00000000, + 0x00000001, 0x00000405, 0x00000002, 0x00000000, 0x00000001, 0x00000411, 0x0000041d, 0x00000003, + 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000420, 0x0000000b, 0x00000000, 0x00000001, + 0x00000574, 0x00000002, 0x00000000, 0x00000001, 0x00000580, 0x0000058c, 0x00000003, 0x00000000, + 0x0000000a, 0x00000000, 0x00000006, 0x0000058f, 0x0000000b, 0x00000000, 0x00000001, 0x000007bf, + 0x00000002, 0x00000000, 0x00000001, 0x000007cb, 0x000007d7, 0x00000003, 0x00000000, 0x0000000a, + 0x00000000, 0x00000006, 0x000007da, 0x0000000b, 0x00000000, 0x00000001, 0x00000902, 0x00000002, + 0x00000000, 0x00000001, 0x0000090e, 0x0000091a, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, + 0x00000006, 0x0000091d, 0x0000000b, 0x00000000, 0x00000001, 0x00000a45, 0x00000002, 0x00000000, + 0x00000001, 0x00000a51, 0x00000a5d, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, + 0x00000a60, 0x0000000b, 0x00000000, 0x00000001, 0x00000b5c, 0x00000002, 0x00000000, 0x00000001, + 0x00000b68, 0x00000b74, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000b77, + 0x0000000b, 0x00000000, 0x00000001, 0x00000cc7, 0x00000002, 0x00000000, 0x00000001, 0x00000cd3, + 0x00000cdf, 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000ce2, 0x0000000b, + 0x00000000, 0x00000001, 0x00000dd2, 0x00000002, 0x00000000, 0x00000001, 0x00000dde, 0x00000dea, + 0x00000003, 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x00000ded, 0x0000000b, 0x00000000, + 0x00000001, 0x000010c1, 0x00000002, 0x00000000, 0x00000001, 0x000010cd, 0x000010d9, 0x00000003, + 0x00000000, 0x0000000a, 0x00000000, 0x00000006, 0x000010dc, 0x0000000b, 0x00000000, 0x00000001, + 0x000013c0, 0x00000002, 0x00000000, 0x00000001, 0x000013cc, 0x000013d8, 0x00000003, 0x00000000, + 0x0000000a, 0x00000000, 0x00000006, 0x000013dc, 0x0000000b, 0x00000000, 0x00000001, 0x000015b0, + 0x00000002, 0x00000000, 0x00000001, 0x000015bc, };
static float get_frc(float v)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=130231
Your paranoid android.
=== debian11 (32 bit report) ===
quartz: dsoundrender: Timeout
Matteo Bruni (@Mystral) commented about dlls/d3d10/effect.c:
retval[i] = cos(args[0][i]);
}
+static void pres_ineg(float **args, unsigned int n, const struct preshader_instr *instr) +{
- int *arg1 = (int *)args[0];
Maybe we should use int32_t here? There are a few similar cases already in the file so it doesn't matter much.
Similarly below, also for (unsigned int *) -> (uint32_t *).
I guess the first patch could be split further by introducing another test that directly uses a few of the same opcodes. Not a big deal though, it's fine as a single patch.
More importantly, I think we should actually test in test_effect_value_expression() the new test passes you're introducing. I'm curious if d3d10 does any conversion when storing an int into a float state (i.e. the blend factor), but otherwise it's probably nicer to set the sample mask from the effect pass (it should be the third argument to SetBlendState()) and check it in the test, as that is supposed to be an integer value.
Unless that won't work yet for some reason?
On Fri Mar 17 16:07:31 2023 +0000, Matteo Bruni wrote:
I guess the first patch could be split further by introducing another test that directly uses a few of the same opcodes. Not a big deal though, it's fine as a single patch. More importantly, I think we should actually test in test_effect_value_expression() the new test passes you're introducing. I'm curious if d3d10 does any conversion when storing an int into a float state (i.e. the blend factor), but otherwise it's probably nicer to set the sample mask from the effect pass (it should be the third argument to SetBlendState()) and check it in the test, as that is supposed to be an integer value. Unless that won't work yet for some reason?
I don't understand the question about converting int to float. Such expression generates explicit itof's.
On Fri Mar 17 16:07:31 2023 +0000, Nikolay Sivov wrote:
I don't understand the question about converting int to float. Such expression generates explicit itof's.
Right, I guess I was wondering if an integer expression is converted or just bitwise reinterpreted to float for float variables and, in either case, whether that is explicit (e.g. itof) or implicit. Ideally we'd have integer expression tests both for the integer variable (i.e. probably no conversion at all, but you never know...) and the float variable case.
On Fri Mar 17 21:23:59 2023 +0000, Matteo Bruni wrote:
Right, I guess I was wondering if an integer expression is converted or just bitwise reinterpreted to float for float variables and, in either case, whether that is explicit (e.g. itof) or implicit. Ideally we'd have integer expression tests both for the integer variable (i.e. probably no conversion at all, but you never know...) and the float variable case.
We do know when there is a conversion for a given expression. The reason this was no split further was because single integer division uses all of these.
On Fri Mar 17 21:28:04 2023 +0000, Nikolay Sivov wrote:
We do know when there is a conversion for a given expression. The reason this was no split further was because single integer division uses all of these.
Well, we don't know for sure for preshader expressions (I think, I might certainly have missed some test) and I wouldn't be surprised if it wasn't consistent with other ways of setting variables...
I understand that you need all those instructions for the signed integer division but one could introduce a test using some subset of the opcodes (e.g. unsigned division by itself, bitwise ops, ...) first and then the signed division test would only bring in what's left. Again, no big deal, it's not a huge patch anyway and there are minimal regressions concerns.
On Fri Mar 17 21:58:36 2023 +0000, Matteo Bruni wrote:
Well, we don't know for sure for preshader expressions (I think, I might certainly have missed some test) and I wouldn't be surprised if it wasn't consistent with other ways of setting variables... I understand that you need all those instructions for the signed integer division but one could introduce a test using some subset of the opcodes (e.g. unsigned division by itself, bitwise ops, ...) first and then the signed division test would only bring in what's left. Again, no big deal, it's not a huge patch anyway and there are minimal regressions concerns.
I opened another !2437, that has some changes from this one split up.
What's left from this one are "and", "xor", "movc". I'll need to find some isolated tests to trigger them.
On Tue Mar 21 19:02:03 2023 +0000, Nikolay Sivov wrote:
What's left from this one are "and", "xor", "movc". I'll need to find some isolated tests to trigger them.
I think it's okay to have what remains of the signed division patch as a monolithic commit, especially if it's tricky to split the other opcodes out further.
Everything relevant from this set is now merged.
This merge request was closed by Nikolay Sivov.