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. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/601#note_5872