Andrey Gusev : d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.

Alexandre Julliard julliard at winehq.org
Mon Jan 28 16:17:02 CST 2019


Module: wine
Branch: master
Commit: d52b53d151cc2862bf3396298916da693d80198f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d52b53d151cc2862bf3396298916da693d80198f

Author: Andrey Gusev <andrey.goosev at gmail.com>
Date:   Mon Jan 28 19:40:02 2019 +0100

d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.

Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3dcompiler_43/reflection.c | 9 +++++++++
 include/d3d11shader.h            | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/dlls/d3dcompiler_43/reflection.c b/dlls/d3dcompiler_43/reflection.c
index 5a59c64..b36631b 100644
--- a/dlls/d3dcompiler_43/reflection.c
+++ b/dlls/d3dcompiler_43/reflection.c
@@ -665,6 +665,14 @@ static UINT STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetThreadGroupSize(
     return 0;
 }
 
+static UINT64 STDMETHODCALLTYPE d3dcompiler_shader_reflection_GetRequiresFlags(
+        ID3D11ShaderReflection *iface)
+{
+    FIXME("iface %p stub!\n", iface);
+
+    return 0;
+}
+
 static const struct ID3D11ShaderReflectionVtbl d3dcompiler_shader_reflection_vtbl =
 {
     /* IUnknown methods */
@@ -690,6 +698,7 @@ static const struct ID3D11ShaderReflectionVtbl d3dcompiler_shader_reflection_vtb
     d3dcompiler_shader_reflection_GetNumInterfaceSlots,
     d3dcompiler_shader_reflection_GetMinFeatureLevel,
     d3dcompiler_shader_reflection_GetThreadGroupSize,
+    d3dcompiler_shader_reflection_GetRequiresFlags,
 };
 
 /* ID3D11ShaderReflectionConstantBuffer methods */
diff --git a/include/d3d11shader.h b/include/d3d11shader.h
index f9c3b95..479020a 100644
--- a/include/d3d11shader.h
+++ b/include/d3d11shader.h
@@ -174,7 +174,13 @@ DECLARE_INTERFACE(ID3D11ShaderReflectionConstantBuffer)
 };
 #undef INTERFACE
 
+#if D3D_COMPILER_VERSION <= 42
+DEFINE_GUID(IID_ID3D11ShaderReflection, 0x17f27486, 0xa342, 0x4d10, 0x88, 0x42, 0xab, 0x08, 0x74, 0xe7, 0xf6, 0x70);
+#elif D3D_COMPILER_VERSION == 43
 DEFINE_GUID(IID_ID3D11ShaderReflection, 0x0a233719, 0x3960, 0x4578, 0x9d, 0x7c, 0x20, 0x3b, 0x8b, 0x1d, 0x9c, 0xc1);
+#else
+DEFINE_GUID(IID_ID3D11ShaderReflection, 0x8d536ca1, 0x0cca, 0x4956, 0xa8, 0x37, 0x78, 0x69, 0x63, 0x75, 0x55, 0x84);
+#endif
 
 #define INTERFACE ID3D11ShaderReflection
 DECLARE_INTERFACE_(ID3D11ShaderReflection, IUnknown)
@@ -202,6 +208,7 @@ DECLARE_INTERFACE_(ID3D11ShaderReflection, IUnknown)
     STDMETHOD_(UINT, GetNumInterfaceSlots)(THIS) PURE;
     STDMETHOD(GetMinFeatureLevel)(THIS_ enum D3D_FEATURE_LEVEL *level) PURE;
     STDMETHOD_(UINT, GetThreadGroupSize)(THIS_ UINT *sizex, UINT *sizey, UINT *sizez) PURE;
+    STDMETHOD_(UINT64, GetRequiresFlags)(THIS) PURE;
 };
 #undef INTERFACE
 




More information about the wine-cvs mailing list