[PATCH] d3dx11: Add D3DX11SaveTextureToFileA/W stub.

Andrey Gusev andrey.goosev at gmail.com
Fri Sep 7 10:51:59 CDT 2018


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45031

Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
---
 dlls/d3dx11_42/d3dx11_42.spec |  4 ++--
 dlls/d3dx11_43/d3dx11_43.spec |  4 ++--
 dlls/d3dx11_43/texture.c      | 18 ++++++++++++++++++
 include/d3dx11tex.h           |  6 ++++++
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/dlls/d3dx11_42/d3dx11_42.spec b/dlls/d3dx11_42/d3dx11_42.spec
index cb1f7805ff..033c6a545c 100644
--- a/dlls/d3dx11_42/d3dx11_42.spec
+++ b/dlls/d3dx11_42/d3dx11_42.spec
@@ -39,6 +39,6 @@
 @ stub D3DX11PreprocessShaderFromResourceA
 @ stub D3DX11PreprocessShaderFromResourceW
 @ stub D3DX11SHProjectCubeMap
-@ stub D3DX11SaveTextureToFileA
-@ stub D3DX11SaveTextureToFileW
+@ stdcall D3DX11SaveTextureToFileA(ptr ptr long ptr) d3dx11_43.D3DX11SaveTextureToFileA
+@ stdcall D3DX11SaveTextureToFileW(ptr ptr long ptr) d3dx11_43.D3DX11SaveTextureToFileW
 @ stdcall D3DX11SaveTextureToMemory(ptr ptr long ptr long)
diff --git a/dlls/d3dx11_43/d3dx11_43.spec b/dlls/d3dx11_43/d3dx11_43.spec
index 76a3916e71..61d40fdfc0 100644
--- a/dlls/d3dx11_43/d3dx11_43.spec
+++ b/dlls/d3dx11_43/d3dx11_43.spec
@@ -39,6 +39,6 @@
 @ stub D3DX11PreprocessShaderFromResourceA
 @ stub D3DX11PreprocessShaderFromResourceW
 @ stub D3DX11SHProjectCubeMap
-@ stub D3DX11SaveTextureToFileA
-@ stub D3DX11SaveTextureToFileW
+@ stdcall D3DX11SaveTextureToFileA(ptr ptr long ptr)
+@ stdcall D3DX11SaveTextureToFileW(ptr ptr long ptr)
 @ stdcall D3DX11SaveTextureToMemory(ptr ptr long ptr long)
diff --git a/dlls/d3dx11_43/texture.c b/dlls/d3dx11_43/texture.c
index 6aaf8a7e02..c053e3920f 100644
--- a/dlls/d3dx11_43/texture.c
+++ b/dlls/d3dx11_43/texture.c
@@ -65,6 +65,24 @@ HRESULT WINAPI D3DX11CreateTextureFromMemory(ID3D11Device *device, const void *d
     return E_NOTIMPL;
 }
 
+HRESULT WINAPI D3DX11SaveTextureToFileA(ID3D11DeviceContext *context, ID3D11Resource *texture,
+        D3DX11_IMAGE_FILE_FORMAT format, const char *dst_filename)
+{
+    FIXME("context %p, texture %p, format %u, dst_filename %s stub!\n",
+            context, texture, format, debugstr_a(dst_filename));
+
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI D3DX11SaveTextureToFileW(ID3D11DeviceContext *context, ID3D11Resource *texture,
+        D3DX11_IMAGE_FILE_FORMAT format, const WCHAR *dst_filename)
+{
+    FIXME("context %p, texture %p, format %u, dst_filename %s stub!\n",
+            context, texture, format, debugstr_w(dst_filename));
+
+    return E_NOTIMPL;
+}
+
 HRESULT WINAPI D3DX11SaveTextureToMemory(ID3D11DeviceContext *context, ID3D11Resource *texture,
         D3DX11_IMAGE_FILE_FORMAT format, ID3D10Blob **buffer, UINT flags)
 {
diff --git a/include/d3dx11tex.h b/include/d3dx11tex.h
index 4f792ec13e..1dd3933d81 100644
--- a/include/d3dx11tex.h
+++ b/include/d3dx11tex.h
@@ -127,6 +127,12 @@ HRESULT WINAPI D3DX11FilterTexture(ID3D11DeviceContext *context, ID3D11Resource
 HRESULT WINAPI D3DX11GetImageInfoFromMemory(const void *src_data, SIZE_T src_data_size, ID3DX11ThreadPump *pump,
         D3DX11_IMAGE_INFO *img_info, HRESULT *hresult);
 
+HRESULT WINAPI D3DX11SaveTextureToFileA(ID3D11DeviceContext *context, ID3D11Resource *texture,
+        D3DX11_IMAGE_FILE_FORMAT format, const char *dst_filename);
+
+HRESULT WINAPI D3DX11SaveTextureToFileW(ID3D11DeviceContext *context, ID3D11Resource *texture,
+        D3DX11_IMAGE_FILE_FORMAT format, const WCHAR *dst_filename);
+
 HRESULT WINAPI D3DX11SaveTextureToMemory(ID3D11DeviceContext *context, ID3D11Resource *texture,
         D3DX11_IMAGE_FILE_FORMAT format, ID3D10Blob **buffer, UINT flags);
 
-- 
2.17.1




More information about the wine-devel mailing list