Matteo Bruni : d3dx9: Error out on dcl output instruction where not supported.

Alexandre Julliard julliard at winehq.org
Mon Jul 19 11:05:39 CDT 2010


Module: wine
Branch: master
Commit: 0ea6f7957aeca41d238b7f28c1ee8f1039222918
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0ea6f7957aeca41d238b7f28c1ee8f1039222918

Author: Matteo Bruni <matteo.mystral at gmail.com>
Date:   Sat Jul 17 21:57:38 2010 +0200

d3dx9: Error out on dcl output instruction where not supported.

---

 dlls/d3dx9_36/asmparser.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/dlls/d3dx9_36/asmparser.c b/dlls/d3dx9_36/asmparser.c
index f00a12c..b04325c 100644
--- a/dlls/d3dx9_36/asmparser.c
+++ b/dlls/d3dx9_36/asmparser.c
@@ -116,6 +116,12 @@ static void asmparser_dcl_output(struct asm_parser *This, DWORD usage, DWORD num
     }
 }
 
+static void asmparser_dcl_output_unsupported(struct asm_parser *This, DWORD usage, DWORD num,
+                                             const struct shader_reg *reg) {
+    asmparser_message(This, "Line %u: Output declaration unsupported in this shader version\n", This->line_no);
+    set_parse_status(This, PARSE_ERR);
+}
+
 static void asmparser_dcl_input(struct asm_parser *This, DWORD usage, DWORD num,
                                 DWORD mod, const struct shader_reg *reg) {
     struct instruction instr;
@@ -783,7 +789,7 @@ static const struct asmparser_backend parser_vs_1 = {
     asmparser_predicate_unsupported,
     asmparser_coissue_unsupported,
 
-    asmparser_dcl_output,
+    asmparser_dcl_output_unsupported,
     asmparser_dcl_input,
     asmparser_dcl_sampler_unsupported,
 
@@ -803,7 +809,7 @@ static const struct asmparser_backend parser_vs_2 = {
     asmparser_predicate_supported,
     asmparser_coissue_unsupported,
 
-    asmparser_dcl_output,
+    asmparser_dcl_output_unsupported,
     asmparser_dcl_input,
     asmparser_dcl_sampler_unsupported,
 
@@ -843,7 +849,7 @@ static const struct asmparser_backend parser_ps_2 = {
     asmparser_predicate_unsupported,
     asmparser_coissue_unsupported,
 
-    asmparser_dcl_output,
+    asmparser_dcl_output_unsupported,
     asmparser_dcl_input_ps_2,
     asmparser_dcl_sampler,
 
@@ -863,7 +869,7 @@ static const struct asmparser_backend parser_ps_2_x = {
     asmparser_predicate_supported,
     asmparser_coissue_unsupported,
 
-    asmparser_dcl_output,
+    asmparser_dcl_output_unsupported,
     asmparser_dcl_input_ps_2,
     asmparser_dcl_sampler,
 
@@ -883,7 +889,7 @@ static const struct asmparser_backend parser_ps_3 = {
     asmparser_predicate_supported,
     asmparser_coissue_unsupported,
 
-    asmparser_dcl_output,
+    asmparser_dcl_output_unsupported,
     asmparser_dcl_input,
     asmparser_dcl_sampler,
 




More information about the wine-cvs mailing list