[D3DCOMPILER_43]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 19 Apr 2014 18:26:34 +0000 (18:26 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 19 Apr 2014 18:26:34 +0000 (18:26 +0000)
* Sync with Wine 1.7.17.
CORE-8080

svn path=/trunk/; revision=62815

12 files changed:
reactos/dll/directx/wine/d3dcompiler_43/asmparser.c
reactos/dll/directx/wine/d3dcompiler_43/asmshader.tab.c
reactos/dll/directx/wine/d3dcompiler_43/asmshader.tab.h
reactos/dll/directx/wine/d3dcompiler_43/asmshader.y
reactos/dll/directx/wine/d3dcompiler_43/asmshader.yy.c
reactos/dll/directx/wine/d3dcompiler_43/compiler.c
reactos/dll/directx/wine/d3dcompiler_43/d3dcompiler_43_main.c
reactos/dll/directx/wine/d3dcompiler_43/d3dcompiler_private.h
reactos/dll/directx/wine/d3dcompiler_43/hlsl.yy.c
reactos/dll/directx/wine/d3dcompiler_43/reflection.c
reactos/dll/directx/wine/d3dcompiler_43/utils.c
reactos/media/doc/README.WINE

index 12d5fc3..1e7d107 100644 (file)
@@ -497,11 +497,10 @@ static void asmparser_texreg2rgb(struct asm_parser *This, DWORD mod, DWORD shift
  * go through asmparser_instr).
  */
 
-static void asmparser_instr(struct asm_parser *This, DWORD opcode,
-                            DWORD mod, DWORD shift,
-                            BWRITER_COMPARISON_TYPE comp,
-                            const struct shader_reg *dst,
-                            const struct src_regs *srcs, int expectednsrcs) {
+static void asmparser_instr(struct asm_parser *This, DWORD opcode, DWORD mod, DWORD shift,
+        enum bwriter_comparison_type comp, const struct shader_reg *dst,
+        const struct src_regs *srcs, int expectednsrcs)
+{
     struct instruction *instr;
     unsigned int i;
     BOOL firstreg = TRUE;
index c8d80d3..9c8604b 100644 (file)
@@ -343,12 +343,12 @@ typedef union YYSTYPE
         DWORD           mod;
         DWORD           shift;
     } modshift;
-    BWRITER_COMPARISON_TYPE comptype;
+    enum bwriter_comparison_type comptype;
     struct {
         DWORD           dclusage;
         unsigned int    regnum;
     } declaration;
-    BWRITERSAMPLER_TEXTURE_TYPE samplertype;
+    enum bwritersampler_texture_type samplertype;
     struct rel_reg      rel_reg;
     struct src_regs     sregs;
 
index 04e200d..145e947 100644 (file)
@@ -233,12 +233,12 @@ typedef union YYSTYPE
         DWORD           mod;
         DWORD           shift;
     } modshift;
-    BWRITER_COMPARISON_TYPE comptype;
+    enum bwriter_comparison_type comptype;
     struct {
         DWORD           dclusage;
         unsigned int    regnum;
     } declaration;
-    BWRITERSAMPLER_TEXTURE_TYPE samplertype;
+    enum bwritersampler_texture_type samplertype;
     struct rel_reg      rel_reg;
     struct src_regs     sregs;
 
index 4109745..5948d57 100644 (file)
@@ -92,12 +92,12 @@ int asmshader_lex(void);
         DWORD           mod;
         DWORD           shift;
     } modshift;
-    BWRITER_COMPARISON_TYPE comptype;
+    enum bwriter_comparison_type comptype;
     struct {
         DWORD           dclusage;
         unsigned int    regnum;
     } declaration;
-    BWRITERSAMPLER_TEXTURE_TYPE samplertype;
+    enum bwritersampler_texture_type samplertype;
     struct rel_reg      rel_reg;
     struct src_regs     sregs;
 }
index 446779b..1b31cec 100644 (file)
@@ -360,7 +360,7 @@ void asmshader_free (void *  );
 
 /* Begin user sect3 */
 
-#define asmshader_wrap() 1
+#define asmshader_wrap(n) 1
 #define YY_SKIP_YYWRAP
 
 typedef unsigned char YY_CHAR;
index c5f3bfe..9b2ec54 100644 (file)
@@ -144,8 +144,10 @@ static char *wpp_lookup_mem(const char *filename, int type, const char *parent_n
     char *path;
     int i;
 
+    TRACE("Looking for include %s.\n", debugstr_a(filename));
+
     parent_include = NULL;
-    if(parent_name[0] != '\0')
+    if (strcmp(parent_name, initial_filename))
     {
         for(i = 0; i < includes_size; i++)
         {
@@ -157,7 +159,7 @@ static char *wpp_lookup_mem(const char *filename, int type, const char *parent_n
         }
         if(parent_include == NULL)
         {
-            ERR("Parent include file missing\n");
+            ERR("Parent include %s missing.\n", debugstr_a(parent_name));
             return NULL;
         }
     }
@@ -173,6 +175,8 @@ static void *wpp_open_mem(const char *filename, int type)
     struct mem_file_desc *desc;
     HRESULT hr;
 
+    TRACE("Opening include %s.\n", debugstr_a(filename));
+
     if(!strcmp(filename, initial_filename))
     {
         current_shader.pos = 0;
@@ -184,11 +188,8 @@ static void *wpp_open_mem(const char *filename, int type)
     if(!desc)
         return NULL;
 
-    hr = ID3DInclude_Open(current_include,
-                          type ? D3D_INCLUDE_LOCAL : D3D_INCLUDE_SYSTEM,
-                          filename, parent_include, (LPCVOID *)&desc->buffer,
-                          &desc->size);
-    if(FAILED(hr))
+    if (FAILED(hr = ID3DInclude_Open(current_include, type ? D3D_INCLUDE_LOCAL : D3D_INCLUDE_SYSTEM,
+            filename, parent_include, (const void **)&desc->buffer, &desc->size)))
     {
         HeapFree(GetProcessHeap(), 0, desc);
         return NULL;
index 983031d..f67f3a6 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "d3dcompiler_private.h"
 
-BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
+BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, void *reserved)
 {
     switch (reason)
     {
index c530489..0e887d0 100644 (file)
@@ -57,7 +57,8 @@ enum shader_type
     ST_PIXEL
 };
 
-typedef enum BWRITER_COMPARISON_TYPE {
+enum bwriter_comparison_type
+{
     BWRITER_COMPARISON_NONE,
     BWRITER_COMPARISON_GT,
     BWRITER_COMPARISON_EQ,
@@ -65,7 +66,7 @@ typedef enum BWRITER_COMPARISON_TYPE {
     BWRITER_COMPARISON_LT,
     BWRITER_COMPARISON_NE,
     BWRITER_COMPARISON_LE
-} BWRITER_COMPARISON_TYPE;
+};
 
 struct constant {
     DWORD                   regnum;
@@ -92,7 +93,7 @@ struct instruction {
     DWORD                   opcode;
     DWORD                   dstmod;
     DWORD                   shift;
-    BWRITER_COMPARISON_TYPE comptype;
+    enum bwriter_comparison_type comptype;
     BOOL                    has_dst;
     struct shader_reg       dst;
     struct shader_reg       *src;
@@ -218,9 +219,9 @@ struct asmparser_backend {
 
     void (*end)(struct asm_parser *This);
 
-    void (*instr)(struct asm_parser *This, DWORD opcode, DWORD mod, DWORD shift,
-                  BWRITER_COMPARISON_TYPE comp, const struct shader_reg *dst,
-                  const struct src_regs *srcs, int expectednsrcs);
+    void (*instr)(struct asm_parser *parser, DWORD opcode, DWORD mod, DWORD shift,
+            enum bwriter_comparison_type comp, const struct shader_reg *dst,
+            const struct src_regs *srcs, int expectednsrcs);
 };
 
 struct instruction *alloc_instr(unsigned int srcs) DECLSPEC_HIDDEN;
@@ -367,11 +368,10 @@ const char *debug_print_opcode(DWORD opcode) DECLSPEC_HIDDEN;
 /* Used to signal an incorrect swizzle/writemask */
 #define SWIZZLE_ERR ~0U
 
-/*
-  Enumerations and defines used in the bytecode writer
-  intermediate representation
-*/
-typedef enum _BWRITERSHADER_INSTRUCTION_OPCODE_TYPE {
+/* Enumerations and defines used in the bytecode writer intermediate
+ * representation. */
+enum bwritershader_instruction_opcode_type
+{
     BWRITERSIO_NOP,
     BWRITERSIO_MOV,
     BWRITERSIO_ADD,
@@ -460,9 +460,10 @@ typedef enum _BWRITERSHADER_INSTRUCTION_OPCODE_TYPE {
     BWRITERSIO_PHASE,
     BWRITERSIO_COMMENT,
     BWRITERSIO_END,
-} BWRITERSHADER_INSTRUCTION_OPCODE_TYPE;
+};
 
-typedef enum _BWRITERSHADER_PARAM_REGISTER_TYPE {
+enum bwritershader_param_register_type
+{
     BWRITERSPR_TEMP,
     BWRITERSPR_INPUT,
     BWRITERSPR_CONST,
@@ -481,14 +482,14 @@ typedef enum _BWRITERSHADER_PARAM_REGISTER_TYPE {
     BWRITERSPR_MISCTYPE,
     BWRITERSPR_LABEL,
     BWRITERSPR_PREDICATE
-} BWRITERSHADER_PARAM_REGISTER_TYPE;
+};
 
-typedef enum _BWRITERVS_RASTOUT_OFFSETS
+enum bwritervs_rastout_offsets
 {
     BWRITERSRO_POSITION,
     BWRITERSRO_FOG,
     BWRITERSRO_POINT_SIZE
-} BWRITERVS_RASTOUT_OFFSETS;
+};
 
 #define BWRITERSP_WRITEMASK_0   0x1 /* .x r */
 #define BWRITERSP_WRITEMASK_1   0x2 /* .y g */
@@ -496,25 +497,28 @@ typedef enum _BWRITERVS_RASTOUT_OFFSETS
 #define BWRITERSP_WRITEMASK_3   0x8 /* .w a */
 #define BWRITERSP_WRITEMASK_ALL 0xf /* all */
 
-typedef enum _BWRITERSHADER_PARAM_DSTMOD_TYPE {
+enum bwritershader_param_dstmod_type
+{
     BWRITERSPDM_NONE = 0,
     BWRITERSPDM_SATURATE = 1,
     BWRITERSPDM_PARTIALPRECISION = 2,
     BWRITERSPDM_MSAMPCENTROID = 4,
-} BWRITERSHADER_PARAM_DSTMOD_TYPE;
+};
 
-typedef enum _BWRITERSAMPLER_TEXTURE_TYPE {
+enum bwritersampler_texture_type
+{
     BWRITERSTT_UNKNOWN = 0,
     BWRITERSTT_1D = 1,
     BWRITERSTT_2D = 2,
     BWRITERSTT_CUBE = 3,
     BWRITERSTT_VOLUME = 4,
-} BWRITERSAMPLER_TEXTURE_TYPE;
+};
 
 #define BWRITERSI_TEXLD_PROJECT 1
 #define BWRITERSI_TEXLD_BIAS    2
 
-typedef enum _BWRITERSHADER_PARAM_SRCMOD_TYPE {
+enum bwritershader_param_srcmod_type
+{
     BWRITERSPSM_NONE = 0,
     BWRITERSPSM_NEG,
     BWRITERSPSM_BIAS,
@@ -529,7 +533,7 @@ typedef enum _BWRITERSHADER_PARAM_SRCMOD_TYPE {
     BWRITERSPSM_ABS,
     BWRITERSPSM_ABSNEG,
     BWRITERSPSM_NOT,
-} BWRITERSHADER_PARAM_SRCMOD_TYPE;
+};
 
 #define BWRITER_SM1_VS  0xfffe
 #define BWRITER_SM1_PS  0xffff
@@ -567,7 +571,8 @@ typedef enum _BWRITERSHADER_PARAM_SRCMOD_TYPE {
 #define BWRITERVS_SWIZZLE_Z (BWRITERVS_X_Z | BWRITERVS_Y_Z | BWRITERVS_Z_Z | BWRITERVS_W_Z)
 #define BWRITERVS_SWIZZLE_W (BWRITERVS_X_W | BWRITERVS_Y_W | BWRITERVS_Z_W | BWRITERVS_W_W)
 
-typedef enum _BWRITERDECLUSAGE {
+enum bwriterdeclusage
+{
     BWRITERDECLUSAGE_POSITION,
     BWRITERDECLUSAGE_BLENDWEIGHT,
     BWRITERDECLUSAGE_BLENDINDICES,
@@ -582,7 +587,7 @@ typedef enum _BWRITERDECLUSAGE {
     BWRITERDECLUSAGE_FOG,
     BWRITERDECLUSAGE_DEPTH,
     BWRITERDECLUSAGE_SAMPLE
-} BWRITERDECLUSAGE;
+};
 
 /* ps 1.x texture registers mappings */
 #define T0_REG          2
index c6fc3e4..a3e98d5 100644 (file)
@@ -360,7 +360,7 @@ void hlsl_free (void *  );
 
 /* Begin user sect3 */
 
-#define hlsl_wrap() 1
+#define hlsl_wrap(n) 1
 #define YY_SKIP_YYWRAP
 
 typedef unsigned char YY_CHAR;
index 8cc1fe4..becdee3 100644 (file)
@@ -69,7 +69,7 @@ struct d3dcompiler_shader_reflection_variable
     UINT start_offset;
     UINT size;
     UINT flags;
-    LPVOID default_value;
+    void *default_value;
 };
 
 struct d3dcompiler_shader_reflection_constant_buffer
@@ -179,7 +179,7 @@ static BOOL copy_value(const char *ptr, void **value, DWORD size)
     *value = HeapAlloc(GetProcessHeap(), 0, size);
     if (!*value)
     {
-        ERR("Failed to allocate vlaue memory.\n");
+        ERR("Failed to allocate value memory.\n");
         return FALSE;
     }
 
@@ -442,7 +442,7 @@ static struct ID3D11ShaderReflectionConstantBuffer * STDMETHODCALLTYPE d3dcompil
 }
 
 static struct ID3D11ShaderReflectionConstantBuffer * STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetConstantBufferByName(
-        ID3D11ShaderReflection *iface, LPCSTR name)
+        ID3D11ShaderReflection *iface, const char *name)
 {
     struct d3dcompiler_shader_reflection *This = impl_from_ID3D11ShaderReflection(iface);
     unsigned int i;
@@ -544,7 +544,7 @@ static HRESULT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetPatchConstantP
 }
 
 static struct ID3D11ShaderReflectionVariable * STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetVariableByName(
-        ID3D11ShaderReflection *iface, LPCSTR name)
+        ID3D11ShaderReflection *iface, const char *name)
 {
     struct d3dcompiler_shader_reflection *This = impl_from_ID3D11ShaderReflection(iface);
     unsigned int i, k;
@@ -579,7 +579,7 @@ static struct ID3D11ShaderReflectionVariable * STDMETHODCALLTYPE d3dcompiler_sha
 }
 
 static HRESULT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetResourceBindingDescByName(
-        ID3D11ShaderReflection *iface, LPCSTR name, D3D11_SHADER_INPUT_BIND_DESC *desc)
+        ID3D11ShaderReflection *iface, const char *name, D3D11_SHADER_INPUT_BIND_DESC *desc)
 {
     struct d3dcompiler_shader_reflection *This = impl_from_ID3D11ShaderReflection(iface);
     unsigned int i;
@@ -658,7 +658,7 @@ static BOOL STDMETHODCALLTYPE d3dcompiler_shader_reflection_IsSampleFrequencySha
 {
     FIXME("iface %p stub!\n", iface);
 
-    return 0;
+    return FALSE;
 }
 
 static UINT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetNumInterfaceSlots(
@@ -764,7 +764,7 @@ static ID3D11ShaderReflectionVariable * STDMETHODCALLTYPE d3dcompiler_shader_ref
 }
 
 static ID3D11ShaderReflectionVariable * STDMETHODCALLTYPE d3dcompiler_shader_reflection_constant_buffer_GetVariableByName(
-        ID3D11ShaderReflectionConstantBuffer *iface, LPCSTR name)
+        ID3D11ShaderReflectionConstantBuffer *iface, const char *name)
 {
     struct d3dcompiler_shader_reflection_constant_buffer *This = impl_from_ID3D11ShaderReflectionConstantBuffer(iface);
     unsigned int i;
@@ -921,7 +921,7 @@ static ID3D11ShaderReflectionType * STDMETHODCALLTYPE d3dcompiler_shader_reflect
 }
 
 static ID3D11ShaderReflectionType * STDMETHODCALLTYPE d3dcompiler_shader_reflection_type_GetMemberTypeByName(
-        ID3D11ShaderReflectionType *iface, LPCSTR name)
+        ID3D11ShaderReflectionType *iface, const char *name)
 {
     struct d3dcompiler_shader_reflection_type *This = impl_from_ID3D11ShaderReflectionType(iface);
     unsigned int i;
@@ -950,7 +950,7 @@ static ID3D11ShaderReflectionType * STDMETHODCALLTYPE d3dcompiler_shader_reflect
     return &null_type.ID3D11ShaderReflectionType_iface;
 }
 
-static LPCSTR STDMETHODCALLTYPE d3dcompiler_shader_reflection_type_GetMemberTypeName(
+static const char * STDMETHODCALLTYPE d3dcompiler_shader_reflection_type_GetMemberTypeName(
         ID3D11ShaderReflectionType *iface, UINT index)
 {
     struct d3dcompiler_shader_reflection_type *This = impl_from_ID3D11ShaderReflectionType(iface);
index 001ba8e..daa11b1 100644 (file)
@@ -1683,7 +1683,7 @@ struct hlsl_ir_node *make_assignment(struct hlsl_ir_node *left, enum parse_assig
 
 static int compare_hlsl_types_rb(const void *key, const struct wine_rb_entry *entry)
 {
-    const char *name = (const char *)key;
+    const char *name = key;
     const struct hlsl_type *type = WINE_RB_ENTRY_VALUE(entry, const struct hlsl_type, scope_entry);
 
     if (name == type->name)
@@ -1820,7 +1820,7 @@ static int compare_param_hlsl_types(const struct hlsl_type *t1, const struct hls
 
 static int compare_function_decl_rb(const void *key, const struct wine_rb_entry *entry)
 {
-    const struct list *params = (const struct list *)key;
+    const struct list *params = key;
     const struct hlsl_ir_function_decl *decl = WINE_RB_ENTRY_VALUE(entry, const struct hlsl_ir_function_decl, entry);
     int params_count = params ? list_count(params) : 0;
     int decl_params_count = decl->parameters ? list_count(decl->parameters) : 0;
@@ -1855,7 +1855,7 @@ static const struct wine_rb_functions hlsl_ir_function_decl_rb_funcs =
 
 static int compare_function_rb(const void *key, const struct wine_rb_entry *entry)
 {
-    const char *name = (const char *)key;
+    const char *name = key;
     const struct hlsl_ir_function *func = WINE_RB_ENTRY_VALUE(entry, const struct hlsl_ir_function,entry);
 
     return strcmp(name, func->name);
index e9b129c..43bbfd0 100644 (file)
@@ -30,7 +30,7 @@ The following libraries are shared with Wine.
 reactos/dll/directx/wine/amstream       # Synced to Wine-1.7.17
 reactos/dll/directx/wine/d3d8           # Synced to Wine-1.7.17
 reactos/dll/directx/wine/d3d9           # Synced to Wine-1.7.17
-reactos/dll/directx/wine/d3dcompiler_43 # Synced to Wine-1.7.1
+reactos/dll/directx/wine/d3dcompiler_43 # Synced to Wine-1.7.17
 reactos/dll/directx/wine/d3dx9_24 => 43 # Synced to Wine-1.7.1
 reactos/dll/directx/wine/d3dxof         # Synced to Wine-1.7.1
 reactos/dll/directx/wine/ddraw          # Synced to Wine-1.7.17