[3/5] d3dx9: Forward D3DXCompileShader to d3dcompiler. [try 2]
Matteo Bruni
matteo.mystral at gmail.com
Fri Aug 27 08:59:25 CDT 2010
-------------- next part --------------
From 0c30fc3eebb2987c103cd8954a689bc2bb7009f0 Mon Sep 17 00:00:00 2001
From: Matteo Bruni <matteo.mystral at gmail.com>
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
More information about the wine-patches
mailing list