[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