From: Piotr Caban piotr@codeweavers.com
Signed-off-by: Piotr Caban piotr@codeweavers.com --- dlls/d3dx10_43/texture.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx10_43/texture.c b/dlls/d3dx10_43/texture.c index 52d1331d30e..9c7762bc617 100644 --- a/dlls/d3dx10_43/texture.c +++ b/dlls/d3dx10_43/texture.c @@ -544,8 +544,26 @@ HRESULT WINAPI D3DX10GetImageInfoFromMemory(const void *src_data, SIZE_T src_dat
if (!src_data) return E_FAIL; + if (pump) - FIXME("Thread pump is not supported yet.\n"); + { + ID3DX10DataProcessor *processor; + ID3DX10DataLoader *loader; + + if (FAILED((hr = D3DX10CreateAsyncMemoryLoader(src_data, src_data_size, &loader)))) + return hr; + if (FAILED((hr = D3DX10CreateAsyncTextureInfoProcessor(img_info, &processor)))) + { + ID3DX10DataLoader_Destroy(loader); + return hr; + } + if (FAILED((hr = ID3DX10ThreadPump_AddWorkItem(pump, loader, processor, result, NULL)))) + { + ID3DX10DataLoader_Destroy(loader); + ID3DX10DataProcessor_Destroy(processor); + } + return hr; + }
hr = get_image_info(src_data, src_data_size, img_info); if (result)