diff --git a/patches/d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch b/patches/d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch deleted file mode 100644 index 44fd0310..00000000 --- a/patches/d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch +++ /dev/null @@ -1,455 +0,0 @@ -From 8ae1e18666d19c3c244344eed548ed1ea8183e67 Mon Sep 17 00:00:00 2001 -From: Christian Costa -Date: Fri, 30 Mar 2018 08:22:02 +0000 -Subject: [PATCH] d3dx9_36: Add DXTn support - ---- - dlls/d3dx9_24/Makefile.in | 2 +- - dlls/d3dx9_25/Makefile.in | 2 +- - dlls/d3dx9_26/Makefile.in | 2 +- - dlls/d3dx9_27/Makefile.in | 2 +- - dlls/d3dx9_28/Makefile.in | 2 +- - dlls/d3dx9_29/Makefile.in | 2 +- - dlls/d3dx9_30/Makefile.in | 2 +- - dlls/d3dx9_31/Makefile.in | 2 +- - dlls/d3dx9_32/Makefile.in | 2 +- - dlls/d3dx9_33/Makefile.in | 2 +- - dlls/d3dx9_34/Makefile.in | 2 +- - dlls/d3dx9_35/Makefile.in | 2 +- - dlls/d3dx9_36/Makefile.in | 2 +- - dlls/d3dx9_36/surface.c | 102 +++++++++++++++++++++++++++++++--- - dlls/d3dx9_36/tests/surface.c | 6 +- - dlls/d3dx9_37/Makefile.in | 2 +- - dlls/d3dx9_38/Makefile.in | 2 +- - dlls/d3dx9_39/Makefile.in | 2 +- - dlls/d3dx9_40/Makefile.in | 2 +- - dlls/d3dx9_41/Makefile.in | 2 +- - dlls/d3dx9_42/Makefile.in | 2 +- - dlls/d3dx9_43/Makefile.in | 2 +- - 22 files changed, 117 insertions(+), 31 deletions(-) - -diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in -index a327292b813..b43b1be8186 100644 ---- a/dlls/d3dx9_24/Makefile.in -+++ b/dlls/d3dx9_24/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=24 - MODULE = d3dx9_24.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_25/Makefile.in b/dlls/d3dx9_25/Makefile.in -index ccf37483271..edcba8b59b2 100644 ---- a/dlls/d3dx9_25/Makefile.in -+++ b/dlls/d3dx9_25/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=25 - MODULE = d3dx9_25.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_26/Makefile.in b/dlls/d3dx9_26/Makefile.in -index 21ef9e00b2d..72d0e0ce1ed 100644 ---- a/dlls/d3dx9_26/Makefile.in -+++ b/dlls/d3dx9_26/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=26 - MODULE = d3dx9_26.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_27/Makefile.in b/dlls/d3dx9_27/Makefile.in -index 3adea191cee..24763cb10c4 100644 ---- a/dlls/d3dx9_27/Makefile.in -+++ b/dlls/d3dx9_27/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=27 - MODULE = d3dx9_27.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_28/Makefile.in b/dlls/d3dx9_28/Makefile.in -index bd75a23d29f..ce041b06978 100644 ---- a/dlls/d3dx9_28/Makefile.in -+++ b/dlls/d3dx9_28/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=28 - MODULE = d3dx9_28.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_29/Makefile.in b/dlls/d3dx9_29/Makefile.in -index 491c105ab28..99ab2ded7f5 100644 ---- a/dlls/d3dx9_29/Makefile.in -+++ b/dlls/d3dx9_29/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=29 - MODULE = d3dx9_29.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_30/Makefile.in b/dlls/d3dx9_30/Makefile.in -index 44e28b79f55..bcf0b1c82b7 100644 ---- a/dlls/d3dx9_30/Makefile.in -+++ b/dlls/d3dx9_30/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=30 - MODULE = d3dx9_30.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_31/Makefile.in b/dlls/d3dx9_31/Makefile.in -index 0f16d27fdc2..7c980fbb86d 100644 ---- a/dlls/d3dx9_31/Makefile.in -+++ b/dlls/d3dx9_31/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=31 - MODULE = d3dx9_31.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_32/Makefile.in b/dlls/d3dx9_32/Makefile.in -index 99357dccea5..e493bd8a6e0 100644 ---- a/dlls/d3dx9_32/Makefile.in -+++ b/dlls/d3dx9_32/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=32 - MODULE = d3dx9_32.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_33/Makefile.in b/dlls/d3dx9_33/Makefile.in -index 5a92dca61dc..fba4106afb4 100644 ---- a/dlls/d3dx9_33/Makefile.in -+++ b/dlls/d3dx9_33/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=33 - MODULE = d3dx9_33.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_34/Makefile.in b/dlls/d3dx9_34/Makefile.in -index 84cca56ec59..e03d8ebd536 100644 ---- a/dlls/d3dx9_34/Makefile.in -+++ b/dlls/d3dx9_34/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=34 - MODULE = d3dx9_34.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_35/Makefile.in b/dlls/d3dx9_35/Makefile.in -index 640f3062044..ea19e55b2e9 100644 ---- a/dlls/d3dx9_35/Makefile.in -+++ b/dlls/d3dx9_35/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=35 - MODULE = d3dx9_35.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in -index b8a173ce01a..3f96b6656f0 100644 ---- a/dlls/d3dx9_36/Makefile.in -+++ b/dlls/d3dx9_36/Makefile.in -@@ -1,7 +1,7 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=36 - MODULE = d3dx9_36.dll - IMPORTLIB = d3dx9 --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - DELAYIMPORTS = windowscodecs - - EXTRADLLFLAGS = -mno-cygwin -diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c -index 65774d47c5d..5e7b8de9d94 100644 ---- a/dlls/d3dx9_36/surface.c -+++ b/dlls/d3dx9_36/surface.c -@@ -25,6 +25,8 @@ - #include "ole2.h" - #include "wincodec.h" - -+#include "wine/wined3d.h" -+ - WINE_DEFAULT_DEBUG_CHANNEL(d3dx); - - HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT, IWICImagingFactory**); -@@ -1900,6 +1902,24 @@ void point_filter_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slic - } - } - -+typedef BOOL (__cdecl *dxtn_conversion_func)(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, -+ enum wined3d_format_id format, unsigned int w, unsigned int h); -+ -+static dxtn_conversion_func get_dxtn_conversion_func(D3DFORMAT format, BOOL encode) -+{ -+ switch (format) -+ { -+ case D3DFMT_DXT1: -+ return encode ? wined3d_dxt1_encode : wined3d_dxt1_decode; -+ case D3DFMT_DXT3: -+ return encode ? wined3d_dxt3_encode : wined3d_dxt3_decode; -+ case D3DFMT_DXT5: -+ return encode ? wined3d_dxt5_encode : wined3d_dxt5_decode; -+ default: -+ return NULL; -+ } -+} -+ - /************************************************************ - * D3DXLoadSurfaceFromMemory - * -@@ -1939,10 +1959,12 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, - { - const struct pixel_format_desc *srcformatdesc, *destformatdesc; - IDirect3DSurface9 *surface; -+ void *tmp_src_memory = NULL, *tmp_dst_memory = NULL; -+ dxtn_conversion_func pre_convert = NULL, post_convert = NULL; - D3DSURFACE_DESC surfdesc; - D3DLOCKED_RECT lockrect; - struct volume src_size, dst_size; -- HRESULT hr; -+ HRESULT hr = D3D_OK; - - TRACE("(%p, %p, %s, %p, %#x, %u, %p, %s, %#x, 0x%08x)\n", - dst_surface, dst_palette, wine_dbgstr_rect(dst_rect), src_memory, src_format, -@@ -2019,18 +2041,65 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, - } - else /* Stretching or format conversion. */ - { -- if (!is_conversion_from_supported(srcformatdesc) -- || !is_conversion_to_supported(destformatdesc)) -+ UINT tmp_src_pitch, tmp_dst_pitch; -+ -+ pre_convert = get_dxtn_conversion_func(srcformatdesc->format, FALSE); -+ post_convert = get_dxtn_conversion_func(destformatdesc->format, TRUE); -+ -+ if ((!pre_convert && !is_conversion_from_supported(srcformatdesc)) || -+ (!post_convert && !is_conversion_to_supported(destformatdesc))) - { - FIXME("Unsupported format conversion %#x -> %#x.\n", src_format, surfdesc.Format); - unlock_surface(dst_surface, dst_rect, surface, FALSE); - return E_NOTIMPL; - } - -+ /* handle pre-conversion */ -+ if (pre_convert) -+ { -+ tmp_src_memory = HeapAlloc(GetProcessHeap(), 0, src_size.width * src_size.height * sizeof(DWORD)); -+ if (!tmp_src_memory) -+ { -+ hr = E_OUTOFMEMORY; -+ goto done; -+ } -+ tmp_src_pitch = src_size.width * sizeof(DWORD); -+ if (!pre_convert(src_memory, tmp_src_memory, src_pitch, tmp_src_pitch, -+ WINED3DFMT_B8G8R8A8_UNORM, src_size.width, src_size.height)) -+ { -+ hr = E_FAIL; -+ goto done; -+ } -+ srcformatdesc = get_format_info(D3DFMT_A8R8G8B8); -+ } -+ else -+ { -+ tmp_src_memory = (void *)src_memory; -+ tmp_src_pitch = src_pitch; -+ } -+ -+ /* handle post-conversion */ -+ if (post_convert) -+ { -+ tmp_dst_memory = HeapAlloc(GetProcessHeap(), 0, dst_size.width * dst_size.height * sizeof(DWORD)); -+ if (!tmp_dst_memory) -+ { -+ hr = E_OUTOFMEMORY; -+ goto done; -+ } -+ tmp_dst_pitch = dst_size.width * sizeof(DWORD); -+ destformatdesc = get_format_info(D3DFMT_A8R8G8B8); -+ } -+ else -+ { -+ tmp_dst_memory = lockrect.pBits; -+ tmp_dst_pitch = lockrect.Pitch; -+ } -+ - if ((filter & 0xf) == D3DX_FILTER_NONE) - { -- convert_argb_pixels(src_memory, src_pitch, 0, &src_size, srcformatdesc, -- lockrect.pBits, lockrect.Pitch, 0, &dst_size, destformatdesc, color_key, src_palette); -+ convert_argb_pixels(tmp_src_memory, tmp_src_pitch, 0, &src_size, srcformatdesc, -+ tmp_dst_memory, tmp_dst_pitch, 0, &dst_size, destformatdesc, color_key, src_palette); - } - else /* if ((filter & 0xf) == D3DX_FILTER_POINT) */ - { -@@ -2039,12 +2108,29 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, - - /* Always apply a point filter until D3DX_FILTER_LINEAR, - * D3DX_FILTER_TRIANGLE and D3DX_FILTER_BOX are implemented. */ -- point_filter_argb_pixels(src_memory, src_pitch, 0, &src_size, srcformatdesc, -- lockrect.pBits, lockrect.Pitch, 0, &dst_size, destformatdesc, color_key, src_palette); -+ point_filter_argb_pixels(tmp_src_memory, tmp_src_pitch, 0, &src_size, srcformatdesc, -+ tmp_dst_memory, tmp_dst_pitch, 0, &dst_size, destformatdesc, color_key, src_palette); -+ } -+ -+ /* handle post-conversion */ -+ if (post_convert) -+ { -+ if (!post_convert(tmp_dst_memory, lockrect.pBits, tmp_dst_pitch, lockrect.Pitch, -+ WINED3DFMT_B8G8R8A8_UNORM, dst_size.width, dst_size.height)) -+ { -+ hr = E_FAIL; -+ } - } - } - -- return unlock_surface(dst_surface, dst_rect, surface, TRUE); -+done: -+ if (pre_convert) -+ HeapFree(GetProcessHeap(), 0, tmp_src_memory); -+ if (post_convert) -+ HeapFree(GetProcessHeap(), 0, tmp_dst_memory); -+ -+ unlock_surface(dst_surface, dst_rect, surface, TRUE); -+ return hr; - } - - /************************************************************ -diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c -index 2f8149fd01a..4b66c17b40c 100644 ---- a/dlls/d3dx9_36/tests/surface.c -+++ b/dlls/d3dx9_36/tests/surface.c -@@ -1256,7 +1256,7 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device) - hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &newsurf); - ok(SUCCEEDED(hr), "Failed to get the surface, hr %#x.\n", hr); - hr = D3DXLoadSurfaceFromSurface(newsurf, NULL, NULL, surf, NULL, NULL, D3DX_FILTER_NONE, 0); -- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels to DXT3 format.\n"); -+ ok(SUCCEEDED(hr), "Failed to convert pixels to DXT3 format.\n"); - check_release((IUnknown*)newsurf, 1); - check_release((IUnknown*)tex, 0); - } -@@ -1315,10 +1315,10 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device) - hr = IDirect3DTexture9_GetSurfaceLevel(tex, 0, &newsurf); - ok(SUCCEEDED(hr), "Failed to get the surface, hr %#x.\n", hr); - hr = D3DXLoadSurfaceFromSurface(newsurf, NULL, NULL, surf, NULL, NULL, D3DX_FILTER_NONE, 0); -- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels to DXT1 format.\n"); -+ ok(SUCCEEDED(hr), "Failed to convert pixels to DXT1 format.\n"); - - hr = D3DXLoadSurfaceFromSurface(surf, NULL, NULL, newsurf, NULL, NULL, D3DX_FILTER_NONE, 0); -- todo_wine ok(SUCCEEDED(hr), "Failed to convert pixels from DXT1 format.\n"); -+ ok(SUCCEEDED(hr), "Failed to convert pixels from DXT1 format.\n"); - - check_release((IUnknown*)newsurf, 1); - check_release((IUnknown*)tex, 0); -diff --git a/dlls/d3dx9_37/Makefile.in b/dlls/d3dx9_37/Makefile.in -index d16a0ce05aa..669482deecf 100644 ---- a/dlls/d3dx9_37/Makefile.in -+++ b/dlls/d3dx9_37/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=37 - MODULE = d3dx9_37.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_38/Makefile.in b/dlls/d3dx9_38/Makefile.in -index 4a02ab4174e..1f43705e727 100644 ---- a/dlls/d3dx9_38/Makefile.in -+++ b/dlls/d3dx9_38/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=38 - MODULE = d3dx9_38.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_39/Makefile.in b/dlls/d3dx9_39/Makefile.in -index 5a3840574aa..690ed7d3168 100644 ---- a/dlls/d3dx9_39/Makefile.in -+++ b/dlls/d3dx9_39/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=39 - MODULE = d3dx9_39.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_40/Makefile.in b/dlls/d3dx9_40/Makefile.in -index 581e18dba11..8e6984683e5 100644 ---- a/dlls/d3dx9_40/Makefile.in -+++ b/dlls/d3dx9_40/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=40 - MODULE = d3dx9_40.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_41/Makefile.in b/dlls/d3dx9_41/Makefile.in -index 63a0be753ff..37fb2f3e6d5 100644 ---- a/dlls/d3dx9_41/Makefile.in -+++ b/dlls/d3dx9_41/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=41 - MODULE = d3dx9_41.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_42/Makefile.in b/dlls/d3dx9_42/Makefile.in -index ff391a20253..2d706c5f8e6 100644 ---- a/dlls/d3dx9_42/Makefile.in -+++ b/dlls/d3dx9_42/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=42 - MODULE = d3dx9_42.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - -diff --git a/dlls/d3dx9_43/Makefile.in b/dlls/d3dx9_43/Makefile.in -index e009a41c57a..d539f6b22de 100644 ---- a/dlls/d3dx9_43/Makefile.in -+++ b/dlls/d3dx9_43/Makefile.in -@@ -1,6 +1,6 @@ - EXTRADEFS = -DD3DX_SDK_VERSION=43 - MODULE = d3dx9_43.dll --IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase -+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase wined3d - PARENTSRC = ../d3dx9_36 - DELAYIMPORTS = windowscodecs - --- -2.23.0 - diff --git a/patches/d3dx9_36-DXTn/definition b/patches/d3dx9_36-DXTn/definition deleted file mode 100644 index fc376e93..00000000 --- a/patches/d3dx9_36-DXTn/definition +++ /dev/null @@ -1,5 +0,0 @@ -Depends: wined3d-DXTn -Fixes: [33768] Fix texture corruption in CSI: Fatal Conspiracy -Fixes: [37391] Exception during start of fr-043 caused by missing DXTn support -Fixes: [34692] Fix wrong colors in Wolfenstein (2009) -Fixes: [24983] Fix crash in Space Rangers2 caused by missing DXTn support diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 5c0e05c4..044481ab 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "b7656110e6e83866a33418bc6b48984632010e00" + echo "f4ecef456595325f973487173cad3ac1269d87f9" } # Show version information @@ -114,7 +114,6 @@ patch_enable_all () enable_d3dx9_36_D3DXSHProjectCubeMap="$1" enable_d3dx9_36_D3DXStubs="$1" enable_d3dx9_36_DDS="$1" - enable_d3dx9_36_DXTn="$1" enable_d3dx9_36_DrawText="$1" enable_d3dx9_36_Filter_Warnings="$1" enable_d3dx9_36_Optimize_Inplace="$1" @@ -469,9 +468,6 @@ patch_enable () d3dx9_36-DDS) enable_d3dx9_36_DDS="$2" ;; - d3dx9_36-DXTn) - enable_d3dx9_36_DXTn="$2" - ;; d3dx9_36-DrawText) enable_d3dx9_36_DrawText="$2" ;; @@ -1624,6 +1620,13 @@ if test "$enable_wined3d_Indexed_Vertex_Blending" -eq 1; then enable_wined3d_SWVP_shaders=1 fi +if test "$enable_wined3d_DXTn" -eq 1; then + if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -gt 1; then + abort "Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM disabled, but wined3d-DXTn depends on that." + fi + enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM=1 +fi + if test "$enable_wineboot_ProxySettings" -eq 1; then if test "$enable_wineboot_DriveSerial" -gt 1; then abort "Patchset wineboot-DriveSerial disabled, but wineboot-ProxySettings depends on that." @@ -1975,20 +1978,6 @@ if test "$enable_ddraw_Texture_Wrong_Caps" -eq 1; then enable_ddraw_Rendering_Targets=1 fi -if test "$enable_d3dx9_36_DXTn" -eq 1; then - if test "$enable_wined3d_DXTn" -gt 1; then - abort "Patchset wined3d-DXTn disabled, but d3dx9_36-DXTn depends on that." - fi - enable_wined3d_DXTn=1 -fi - -if test "$enable_wined3d_DXTn" -eq 1; then - if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -gt 1; then - abort "Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM disabled, but wined3d-DXTn depends on that." - fi - enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM=1 -fi - if test "$enable_d3d11_Deferred_Context" -eq 1; then if test "$enable_nvapi_Stub_DLL" -gt 1; then abort "Patchset nvapi-Stub_DLL disabled, but d3d11-Deferred_Context depends on that." @@ -2781,68 +2770,6 @@ if test "$enable_d3dx9_36_DDS" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM -# | -# | This patchset fixes the following Wine bugs: -# | * [#44888] Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion -# | -# | Modified files: -# | * dlls/wined3d/surface.c -# | -if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then - patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch - ( - printf '%s\n' '+ { "Stanislav Zhukov", "wined3d: Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset wined3d-DXTn -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * wined3d-WINED3DFMT_B8G8R8X8_UNORM -# | -# | This patchset fixes the following Wine bugs: -# | * [#25486] Lego Stunt Rally requires DXTn software de/encoding support -# | * [#29586] Tumblebugs 2 requires DXTn software encoding support -# | * [#17913] Port Royale doesn't display ocean correctly -# | -# | Modified files: -# | * dlls/wined3d/Makefile.in, dlls/wined3d/dxtn.c, dlls/wined3d/dxtn.h, dlls/wined3d/surface.c, dlls/wined3d/wined3d.spec, -# | include/wine/wined3d.h -# | -if test "$enable_wined3d_DXTn" -eq 1; then - patch_apply wined3d-DXTn/0001-wined3d-add-DXTn-support.patch - ( - printf '%s\n' '+ { "Christian Costa", "wined3d: Add DXTn support.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset d3dx9_36-DXTn -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * wined3d-WINED3DFMT_B8G8R8X8_UNORM, wined3d-DXTn -# | -# | This patchset fixes the following Wine bugs: -# | * [#33768] Fix texture corruption in CSI: Fatal Conspiracy -# | * [#37391] Exception during start of fr-043 caused by missing DXTn support -# | * [#34692] Fix wrong colors in Wolfenstein (2009) -# | * [#24983] Fix crash in Space Rangers2 caused by missing DXTn support -# | -# | Modified files: -# | * dlls/d3dx9_24/Makefile.in, dlls/d3dx9_25/Makefile.in, dlls/d3dx9_26/Makefile.in, dlls/d3dx9_27/Makefile.in, -# | dlls/d3dx9_28/Makefile.in, dlls/d3dx9_29/Makefile.in, dlls/d3dx9_30/Makefile.in, dlls/d3dx9_31/Makefile.in, -# | dlls/d3dx9_32/Makefile.in, dlls/d3dx9_33/Makefile.in, dlls/d3dx9_34/Makefile.in, dlls/d3dx9_35/Makefile.in, -# | dlls/d3dx9_36/Makefile.in, dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c, dlls/d3dx9_37/Makefile.in, -# | dlls/d3dx9_38/Makefile.in, dlls/d3dx9_39/Makefile.in, dlls/d3dx9_40/Makefile.in, dlls/d3dx9_41/Makefile.in, -# | dlls/d3dx9_42/Makefile.in, dlls/d3dx9_43/Makefile.in -# | -if test "$enable_d3dx9_36_DXTn" -eq 1; then - patch_apply d3dx9_36-DXTn/0001-d3dx9_36-Add-dxtn-support.patch - ( - printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add DXTn support.", 1 },'; - ) >> "$patchlist" -fi - # Patchset d3dx9_36-DrawText # | # | This patchset fixes the following Wine bugs: @@ -6777,6 +6704,42 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then ) >> "$patchlist" fi +# Patchset wined3d-WINED3DFMT_B8G8R8X8_UNORM +# | +# | This patchset fixes the following Wine bugs: +# | * [#44888] Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion +# | +# | Modified files: +# | * dlls/wined3d/surface.c +# | +if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then + patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch + ( + printf '%s\n' '+ { "Stanislav Zhukov", "wined3d: Implement WINED3DFMT_B8G8R8X8_UNORM to WINED3DFMT_L8_UNORM conversion.", 1 },'; + ) >> "$patchlist" +fi + +# Patchset wined3d-DXTn +# | +# | This patchset has the following (direct or indirect) dependencies: +# | * wined3d-WINED3DFMT_B8G8R8X8_UNORM +# | +# | This patchset fixes the following Wine bugs: +# | * [#25486] Lego Stunt Rally requires DXTn software de/encoding support +# | * [#29586] Tumblebugs 2 requires DXTn software encoding support +# | * [#17913] Port Royale doesn't display ocean correctly +# | +# | Modified files: +# | * dlls/wined3d/Makefile.in, dlls/wined3d/dxtn.c, dlls/wined3d/dxtn.h, dlls/wined3d/surface.c, dlls/wined3d/wined3d.spec, +# | include/wine/wined3d.h +# | +if test "$enable_wined3d_DXTn" -eq 1; then + patch_apply wined3d-DXTn/0001-wined3d-add-DXTn-support.patch + ( + printf '%s\n' '+ { "Christian Costa", "wined3d: Add DXTn support.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-Dual_Source_Blending # | # | Modified files: