d3dx9: Fix dst register handling in ps_1_4.

This commit is contained in:
Matteo Bruni 2010-07-21 17:07:24 +02:00 committed by Alexandre Julliard
parent ee5cada235
commit 383a7fe3b1
2 changed files with 12 additions and 2 deletions

View File

@ -838,7 +838,7 @@ static void asmparser_dstreg_ps_1_4(struct asm_parser *This,
debug_print_dstreg(dst)); debug_print_dstreg(dst));
set_parse_status(This, PARSE_ERR); set_parse_status(This, PARSE_ERR);
} }
reg = map_oldps_register(dst, FALSE); reg = map_oldps_register(dst, TRUE);
memcpy(&instr->dst, &reg, sizeof(reg)); memcpy(&instr->dst, &reg, sizeof(reg));
instr->has_dst = TRUE; instr->has_dst = TRUE;
} }

View File

@ -583,11 +583,21 @@ static void ps_1_4_test(void) {
"texdepth_x2 r5\n", "texdepth_x2 r5\n",
{0xffff0104, 0x00000057, 0x810f0005, 0x0000ffff} {0xffff0104, 0x00000057, 0x810f0005, 0x0000ffff}
}, },
{ /* shader 18 */ { /* shader 19 */
"ps_1_4\n" "ps_1_4\n"
"bem_d2 r1, c0, r0\n", "bem_d2 r1, c0, r0\n",
{0xffff0104, 0x00000059, 0x8f0f0001, 0xa0e40000, 0x80e40000, 0x0000ffff} {0xffff0104, 0x00000059, 0x8f0f0001, 0xa0e40000, 0x80e40000, 0x0000ffff}
}, },
{ /* shader 20 */
"ps_1_4\n"
"texkill t0\n",
{0xffff0104, 0x00000041, 0xb00f0000, 0x0000ffff}
},
{ /* shader 21 */
"ps_1_4\n"
"texkill r0\n",
{0xffff0104, 0x00000041, 0x800f0000, 0x0000ffff}
},
}; };
exec_tests("ps_1_4", tests, sizeof(tests) / sizeof(tests[0])); exec_tests("ps_1_4", tests, sizeof(tests) / sizeof(tests[0]));