From: Matteo Bruni Subject: [3/5] d3dx9: Forward D3DXCompileShader to d3dcompiler. Message-Id: Date: Thu, 26 Aug 2010 17:26:34 +0200 From acd8a229ec3939257018d82cbc36de2a2b9e557f Mon Sep 17 00:00:00 2001 From: Matteo Bruni Date: Wed, 25 Aug 2010 18:43:42 +0200 Subject: d3dx9: Forward D3DXCompileShader to d3dcompiler. --- dlls/d3dx9_36/shader.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c index 9c6700a..35665d6 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; -- 1.7.1