Module: wine Branch: master Commit: 29ba39face037c5c71d6d81ce826715382e44d9a URL: http://source.winehq.org/git/wine.git/?a=commit;h=29ba39face037c5c71d6d81ce8...
Author: Matteo Bruni mbruni@codeweavers.com Date: Tue Jul 10 15:39:43 2012 +0200
d3dcompiler: Carry around both shader major and minor version.
---
dlls/d3dcompiler_43/compiler.c | 2 +- dlls/d3dcompiler_43/d3dcompiler_private.h | 2 +- dlls/d3dcompiler_43/hlsl.l | 7 ++++--- dlls/d3dcompiler_43/hlsl.y | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c index 27d6504..f3ba03f 100644 --- a/dlls/d3dcompiler_43/compiler.c +++ b/dlls/d3dcompiler_43/compiler.c @@ -503,7 +503,7 @@ static HRESULT compile_shader(const char *preproc_shader, const char *target, co TRACE("Preprocessed shader source: %s\n", debugstr_a(preproc_shader));
FIXME("Parse compilation target.\n"); - shader = parse_hlsl_shader(preproc_shader, ST_VERTEX, 2, entrypoint, &messages); + shader = parse_hlsl_shader(preproc_shader, ST_VERTEX, 2, 0, entrypoint, &messages);
if (messages) { diff --git a/dlls/d3dcompiler_43/d3dcompiler_private.h b/dlls/d3dcompiler_43/d3dcompiler_private.h index d7fcfea..ccac936 100644 --- a/dlls/d3dcompiler_43/d3dcompiler_private.h +++ b/dlls/d3dcompiler_43/d3dcompiler_private.h @@ -874,7 +874,7 @@ struct hlsl_ir_deref *new_var_deref(struct hlsl_ir_var *var) DECLSPEC_HIDDEN; void push_scope(struct hlsl_parse_ctx *ctx) DECLSPEC_HIDDEN; BOOL pop_scope(struct hlsl_parse_ctx *ctx) DECLSPEC_HIDDEN; struct hlsl_ir_function_decl *new_func_decl(const char *name, struct hlsl_type *return_type, struct list *parameters) DECLSPEC_HIDDEN; -struct bwriter_shader *parse_hlsl_shader(const char *text, enum shader_type type, DWORD version, +struct bwriter_shader *parse_hlsl_shader(const char *text, enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages) DECLSPEC_HIDDEN;
const char *debug_hlsl_type(const struct hlsl_type *type) DECLSPEC_HIDDEN; diff --git a/dlls/d3dcompiler_43/hlsl.l b/dlls/d3dcompiler_43/hlsl.l index 84cf573..55b6b63 100644 --- a/dlls/d3dcompiler_43/hlsl.l +++ b/dlls/d3dcompiler_43/hlsl.l @@ -266,9 +266,10 @@ row_major {return KW_ROW_MAJOR; }
%%
-struct bwriter_shader *parse_hlsl(enum shader_type type, DWORD version, const char *entrypoint, char **messages); +struct bwriter_shader *parse_hlsl(enum shader_type type, DWORD major, DWORD minor, + const char *entrypoint, char **messages);
-struct bwriter_shader *parse_hlsl_shader(const char *text, enum shader_type type, DWORD version, +struct bwriter_shader *parse_hlsl_shader(const char *text, enum shader_type type, DWORD major, DWORD minor, const char *entrypoint, char **messages) { struct bwriter_shader *ret = NULL; @@ -277,7 +278,7 @@ struct bwriter_shader *parse_hlsl_shader(const char *text, enum shader_type type buffer = hlsl__scan_string(text); hlsl__switch_to_buffer(buffer);
- ret = parse_hlsl(type, version, entrypoint, messages); + ret = parse_hlsl(type, major, minor, entrypoint, messages);
hlsl__delete_buffer(buffer); return ret; diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y index 5223189..183f436 100644 --- a/dlls/d3dcompiler_43/hlsl.y +++ b/dlls/d3dcompiler_43/hlsl.y @@ -918,7 +918,8 @@ expr: assignment_expr
%%
-struct bwriter_shader *parse_hlsl(enum shader_type type, DWORD version, const char *entrypoint, char **messages) +struct bwriter_shader *parse_hlsl(enum shader_type type, DWORD major, DWORD minor, + const char *entrypoint, char **messages) { struct hlsl_ir_function_decl *function; struct hlsl_scope *scope, *next_scope;