Alistair Leslie-Hughes : include: Add ID3DXFragmentLinker interface.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 31 17:25:54 CDT 2015


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Wed Jul 22 16:28:34 2015 +1000

include: Add ID3DXFragmentLinker interface.

---

 include/d3dx9shader.h | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/include/d3dx9shader.h b/include/d3dx9shader.h
index d665f72..99519cb 100644
--- a/include/d3dx9shader.h
+++ b/include/d3dx9shader.h
@@ -305,6 +305,43 @@ DECLARE_INTERFACE(ID3DXInclude)
 
 typedef struct ID3DXInclude *LPD3DXINCLUDE;
 
+typedef struct _D3DXFRAGMENT_DESC
+{
+    const char *Name;
+    DWORD Target;
+
+} D3DXFRAGMENT_DESC, *LPD3DXFRAGMENT_DESC;
+
+
+DEFINE_GUID(IID_ID3DXFragmentLinker, 0x1a2c0cc2, 0xe5b6, 0x4ebc, 0x9e, 0x8d, 0x39, 0xe, 0x5, 0x78, 0x11, 0xb6);
+
+#define INTERFACE ID3DXFragmentLinker
+DECLARE_INTERFACE_(ID3DXFragmentLinker, IUnknown)
+{
+    STDMETHOD(QueryInterface)(THIS_ REFIID iid, void **ppv) PURE;
+    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
+    STDMETHOD_(ULONG, Release)(THIS) PURE;
+
+    STDMETHOD(GetDevice)(THIS_ struct IDirect3DDevice9 **device) PURE;
+    STDMETHOD_(UINT, GetNumberOfFragments)(THIS) PURE;
+
+    STDMETHOD_(D3DXHANDLE, GetFragmentHandleByIndex)(THIS_ UINT index) PURE;
+    STDMETHOD_(D3DXHANDLE, GetFragmentHandleByName)(THIS_ const char *name) PURE;
+    STDMETHOD(GetFragmentDesc)(THIS_ D3DXHANDLE name, D3DXFRAGMENT_DESC *frag_desc) PURE;
+
+    STDMETHOD(AddFragments)(THIS_ const DWORD *fragments) PURE;
+
+    STDMETHOD(GetAllFragments)(THIS_ ID3DXBuffer **buffer) PURE;
+    STDMETHOD(GetFragment)(THIS_ D3DXHANDLE name, ID3DXBuffer **buffer) PURE;
+
+    STDMETHOD(LinkShader)(THIS_ const char *profile, DWORD flags, const D3DXHANDLE *fragmenthandles, UINT fragments, ID3DXBuffer **buffer, ID3DXBuffer **errors) PURE;
+    STDMETHOD(LinkVertexShader)(THIS_ const char *profile, DWORD flags, const D3DXHANDLE *fragment_handles, UINT fragments, IDirect3DVertexShader9 **shader, ID3DXBuffer **errors) PURE;
+    STDMETHOD(LinkPixelShader)(THIS_ const char *profile, DWORD flags, const D3DXHANDLE *fragment_handles, UINT fragments, IDirect3DPixelShader9 **shader, ID3DXBuffer **errors) PURE;
+
+    STDMETHOD(ClearCache)(THIS) PURE;
+};
+#undef INTERFACE
+
 #ifdef __cplusplus
 extern "C" {
 #endif




More information about the wine-cvs mailing list