From 3a6050b6aba351fdf0805a901417cdef892a5c23 Mon Sep 17 00:00:00 2001 From: Matteo Bruni Date: Wed, 25 Aug 2010 18:43:42 +0200 Subject: [PATCH] d3dx9: Forward D3DXCompileShader to d3dcompiler. --- dlls/d3dx9_36/shader.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c index 9c6700a1221..35665d62961 100644 --- a/dlls/d3dx9_36/shader.c +++ b/dlls/d3dx9_36/shader.c @@ -25,6 +25,7 @@ #include "wingdi.h" #include "objbase.h" #include "d3dcommon.h" +#include "d3dcompiler.h" #include "d3dx9_36_private.h" WINE_DEFAULT_DEBUG_CHANNEL(d3dx); @@ -371,16 +372,15 @@ HRESULT WINAPI D3DXCompileShader(LPCSTR pSrcData, LPD3DXBUFFER* ppErrorMsgs, LPD3DXCONSTANTTABLE * ppConstantTable) { - FIXME("(%p, %d, %p, %p, %s, %s, %x, %p, %p, %p): stub\n", - pSrcData, srcDataLen, pDefines, pInclude, debugstr_a(pFunctionName), - debugstr_a(pProfile), Flags, ppShader, ppErrorMsgs, ppConstantTable); + HRESULT hr = D3DCompile(pSrcData, srcDataLen, NULL, + (D3D_SHADER_MACRO *)pDefines, (ID3DInclude *)pInclude, + pFunctionName, pProfile, Flags, 0, + (ID3DBlob **)ppShader, (ID3DBlob **)ppErrorMsgs); - TRACE("Shader source:\n"); - TRACE("%s\n", debugstr_an(pSrcData, srcDataLen)); - - if (ppErrorMsgs) - D3DXCreateBuffer(1, ppErrorMsgs); /* zero fill used as string end */ - return D3DERR_INVALIDCALL; + if(SUCCEEDED(hr) && ppConstantTable) + return D3DXGetShaderConstantTable(ID3DXBuffer_GetBufferPointer(*ppShader), + ppConstantTable); + return hr; } static const struct ID3DXConstantTableVtbl ID3DXConstantTable_Vtbl;