Matteo Bruni : d3dx9: Check for oCx register number.
Module: wine Branch: master Commit: 961db7964d89e7650a5618a53c5a3cf94b28515a URL: http://source.winehq.org/git/wine.git/?a=commit;h=961db7964d89e7650a5618a53c... Author: Matteo Bruni <matteo.mystral(a)gmail.com> Date: Fri May 21 15:53:44 2010 +0200 d3dx9: Check for oCx register number. --- dlls/d3dx9_36/asmparser.c | 2 +- dlls/d3dx9_36/tests/asm.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/dlls/d3dx9_36/asmparser.c b/dlls/d3dx9_36/asmparser.c index 3062639..dfd0936 100644 --- a/dlls/d3dx9_36/asmparser.c +++ b/dlls/d3dx9_36/asmparser.c @@ -259,7 +259,7 @@ static const struct allowed_reg_type ps_3_reg_allowed[] = { { BWRITERSPR_MISCTYPE, 2 }, /* vPos and vFace */ { BWRITERSPR_LOOP, 1 }, { BWRITERSPR_LABEL, 2048 }, - { BWRITERSPR_COLOROUT, ~0U }, + { BWRITERSPR_COLOROUT, 4 }, { BWRITERSPR_DEPTHOUT, 1 }, { ~0U, 0 } /* End tag */ }; diff --git a/dlls/d3dx9_36/tests/asm.c b/dlls/d3dx9_36/tests/asm.c index 79c6c07..0b8cd3e 100644 --- a/dlls/d3dx9_36/tests/asm.c +++ b/dlls/d3dx9_36/tests/asm.c @@ -1146,6 +1146,11 @@ static void ps_3_0_test(void) { "texkill v0\n", {0xffff0300, 0x01000041, 0x900f0000, 0x0000ffff} }, + { /* shader 11 */ + "ps_3_0\n" + "add oC3, r0, r1\n", + {0xffff0300, 0x03000002, 0x800f0803, 0x80e40000, 0x80e40001, 0x0000ffff} + }, }; exec_tests("ps_3_0", tests, sizeof(tests) / sizeof(tests[0])); @@ -1236,6 +1241,12 @@ static void failure_test(void) { /* shader 25: _x4 instruction modified not allowed in > ps_1_x */ "ps_3_0\n" "add_x4 r0, r0, r1\n", + /* shader 26: there aren't oCx registers in ps_1_x */ + "ps_1_3\n" + "add oC0, r0, r1\n", + /* shader 27: oC3 is the max in >= ps_2_0 */ + "ps_3_0\n" + "add oC4, r0, r1\n", }; HRESULT hr; unsigned int i;
participants (1)
-
Alexandre Julliard