[3/4] d3dx9: Error out on dcl output instruction where not supported.

Matteo Bruni matteo.mystral at gmail.com
Sat Jul 17 15:07:54 CDT 2010


-------------- next part --------------
From b83dcd887972a0a521502b441b0214004df0621d Mon Sep 17 00:00:00 2001
From: Matteo Bruni <matteo.mystral at gmail.com>
Date: Sat, 17 Jul 2010 21:57:38 +0200
Subject: 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,
 
-- 
1.7.1


More information about the wine-patches mailing list