Matteo Bruni : d3dx9: Implement D3DXCompileShaderFromResource.
Alexandre Julliard
julliard at winehq.org
Thu Sep 2 12:01:26 CDT 2010
Module: wine
Branch: master
Commit: 5a5af75f04e2df1813936af24a84dd6a2da20a49
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5a5af75f04e2df1813936af24a84dd6a2da20a49
Author: Matteo Bruni <matteo.mystral at gmail.com>
Date: Wed Sep 1 23:15:44 2010 +0200
d3dx9: Implement D3DXCompileShaderFromResource.
---
dlls/d3dx9_36/shader.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index d6e3ecc..1ddcde7 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -458,6 +458,52 @@ HRESULT WINAPI D3DXCompileShaderFromFileW(LPCWSTR filename,
return hr;
}
+HRESULT WINAPI D3DXCompileShaderFromResourceA(HMODULE module,
+ LPCSTR resource,
+ CONST D3DXMACRO* defines,
+ LPD3DXINCLUDE include,
+ LPCSTR entrypoint,
+ LPCSTR profile,
+ DWORD flags,
+ LPD3DXBUFFER* shader,
+ LPD3DXBUFFER* error_messages,
+ LPD3DXCONSTANTTABLE* constant_table)
+{
+ HRSRC res;
+ LPCSTR buffer;
+ DWORD len;
+
+ if (!(res = FindResourceA(module, resource, (LPCSTR)RT_RCDATA)))
+ return D3DXERR_INVALIDDATA;
+ if (FAILED(load_resource_into_memory(module, res, (LPVOID *)&buffer, &len)))
+ return D3DXERR_INVALIDDATA;
+ return D3DXCompileShader(buffer, len, defines, include, entrypoint, profile,
+ flags, shader, error_messages, constant_table);
+}
+
+HRESULT WINAPI D3DXCompileShaderFromResourceW(HMODULE module,
+ LPCWSTR resource,
+ CONST D3DXMACRO* defines,
+ LPD3DXINCLUDE include,
+ LPCSTR entrypoint,
+ LPCSTR profile,
+ DWORD flags,
+ LPD3DXBUFFER* shader,
+ LPD3DXBUFFER* error_messages,
+ LPD3DXCONSTANTTABLE* constant_table)
+{
+ HRSRC res;
+ LPCSTR buffer;
+ DWORD len;
+
+ if (!(res = FindResourceW(module, resource, (LPCWSTR)RT_RCDATA)))
+ return D3DXERR_INVALIDDATA;
+ if (FAILED(load_resource_into_memory(module, res, (LPVOID *)&buffer, &len)))
+ return D3DXERR_INVALIDDATA;
+ return D3DXCompileShader(buffer, len, defines, include, entrypoint, profile,
+ flags, shader, error_messages, constant_table);
+}
+
static const struct ID3DXConstantTableVtbl ID3DXConstantTable_Vtbl;
typedef struct ID3DXConstantTableImpl {
More information about the wine-cvs
mailing list