From: Andrey Gusev andrey.goosev@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53427 --- dlls/d3dx10_43/async.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx10_43/async.c b/dlls/d3dx10_43/async.c index 667219b3500..211988ae014 100644 --- a/dlls/d3dx10_43/async.c +++ b/dlls/d3dx10_43/async.c @@ -604,12 +604,15 @@ HRESULT WINAPI D3DX10PreprocessShaderFromMemory(const char *data, SIZE_T data_si const D3D10_SHADER_MACRO *defines, ID3DInclude *include, ID3DX10ThreadPump *pump, ID3D10Blob **shader_text, ID3D10Blob **errors, HRESULT *hresult) { - FIXME("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, " - "errors %p, hresult %p stub!\n", + TRACE("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, " + "errors %p, hresult %p\n", debugstr_an(data, data_size), data_size, debugstr_a(filename), defines, include, pump, shader_text, errors, hresult);
- return E_NOTIMPL; + if (pump) + FIXME("Unimplemented ID3DX10ThreadPump handling.\n"); + + return D3DPreprocess(data, data_size, filename, defines, include, shader_text, errors); }
struct work_item
Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/async.c:
const D3D10_SHADER_MACRO *defines, ID3DInclude *include, ID3DX10ThreadPump *pump, ID3D10Blob **shader_text, ID3D10Blob **errors, HRESULT *hresult)
{
- FIXME("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, "
"errors %p, hresult %p stub!\n",
- TRACE("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, "
"errors %p, hresult %p\n",
Tiny nitpick: could you add a period at the end of the TRACE() message?
This seems generally okay. Do you want to try to add pump support as a follow up? It shouldn't be too different from e.g. 0d457b2ce285e9964e88eed0b5e051197d8fc854 and 696071af7a3b6ec835d0dbc5cc37e80d9c836f62, except the implementation of the processor returned by D3DX10CreateAsyncShaderPreprocessProcessor() should amount to little more than a call to D3DPreprocess().
This could also use some tests.
Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/async.c:
const D3D10_SHADER_MACRO *defines, ID3DInclude *include, ID3DX10ThreadPump *pump, ID3D10Blob **shader_text, ID3D10Blob **errors, HRESULT *hresult)
{
- FIXME("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, "
"errors %p, hresult %p stub!\n",
- TRACE("data %s, data_size %Iu, filename %s, defines %p, include %p, pump %p, shader_text %p, "
"errors %p, hresult %p\n", debugstr_an(data, data_size), data_size, debugstr_a(filename), defines, include, pump, shader_text, errors, hresult);
- return E_NOTIMPL;
- if (pump)
FIXME("Unimplemented ID3DX10ThreadPump handling.\n");
- return D3DPreprocess(data, data_size, filename, defines, include, shader_text, errors);
This should probably also set *hresult (if not NULL) to the return value from D3DPreprocessor(), like e.g. D3DX10CreateTextureFromMemory(). A test would clarify if that's the case.
This merge request was closed by Matteo Bruni.