mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 1d9a3f6d12322891a2af4aadd66a92ea66479233.
This commit is contained in:
parent
cd1862609a
commit
197e08b441
@ -1,4 +1,4 @@
|
||||
From fb8bd7d53bea2e6deb38994741d884eb10bc31ad Mon Sep 17 00:00:00 2001
|
||||
From 27517cacf7df657e32e7ca7068c3e86723cb4a3c Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Sat, 13 Feb 2016 15:29:37 +0100
|
||||
Subject: [PATCH] d3dx9_36: Implement D3DXDisassembleShader. (v2)
|
||||
@ -6,11 +6,11 @@ Subject: [PATCH] d3dx9_36: Implement D3DXDisassembleShader. (v2)
|
||||
Changes in v2 (by Christian Costa):
|
||||
* More generic code for D3DXDisassembleShader.
|
||||
---
|
||||
dlls/d3dx9_36/shader.c | 330 ++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 328 insertions(+), 2 deletions(-)
|
||||
dlls/d3dx9_36/shader.c | 331 ++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 328 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
|
||||
index f372494..01ed335 100644
|
||||
index c59fc791e..79d47b95c 100644
|
||||
--- a/dlls/d3dx9_36/shader.c
|
||||
+++ b/dlls/d3dx9_36/shader.c
|
||||
@@ -1,6 +1,7 @@
|
||||
@ -21,15 +21,16 @@ index f372494..01ed335 100644
|
||||
* Copyright 2011 Travis Athougies
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@@ -20,6 +21,7 @@
|
||||
@@ -18,7 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
-
|
||||
+#include <stdio.h>
|
||||
|
||||
#include "d3dx9_private.h"
|
||||
#include "d3dcommon.h"
|
||||
@@ -2144,10 +2146,334 @@ HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **sample
|
||||
#include "d3dcompiler.h"
|
||||
@@ -2138,10 +2139,334 @@ HRESULT WINAPI D3DXGetShaderSamplers(const DWORD *byte_code, const char **sample
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
@ -367,5 +368,5 @@ index f372494..01ed335 100644
|
||||
|
||||
struct d3dx9_texture_shader
|
||||
--
|
||||
1.9.1
|
||||
2.21.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1c46cc796a20b263f708aebf5428e59408fea200 Mon Sep 17 00:00:00 2001
|
||||
From 4595b49c9c878e8a86fcd22dc82a9f5cfadfc7a8 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Fri, 30 Mar 2018 08:22:02 +0000
|
||||
Subject: [PATCH] d3dx9_36: add DXTn support
|
||||
@ -17,8 +17,8 @@ Subject: [PATCH] d3dx9_36: add DXTn support
|
||||
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 | 8 ++--
|
||||
dlls/d3dx9_36/surface.c | 102 +++++++++++++++++++++++++++++++---
|
||||
dlls/d3dx9_36/tests/surface.c | 8 +--
|
||||
dlls/d3dx9_37/Makefile.in | 2 +-
|
||||
dlls/d3dx9_38/Makefile.in | 2 +-
|
||||
dlls/d3dx9_39/Makefile.in | 2 +-
|
||||
@ -29,7 +29,7 @@ Subject: [PATCH] d3dx9_36: add DXTn support
|
||||
22 files changed, 118 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in
|
||||
index 02e64d3..0484639 100644
|
||||
index 99db5f355..0c3fb8a90 100644
|
||||
--- a/dlls/d3dx9_24/Makefile.in
|
||||
+++ b/dlls/d3dx9_24/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -41,7 +41,7 @@ index 02e64d3..0484639 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_25/Makefile.in b/dlls/d3dx9_25/Makefile.in
|
||||
index 57ed1da..3461967 100644
|
||||
index 9e54aba2c..4419b18b8 100644
|
||||
--- a/dlls/d3dx9_25/Makefile.in
|
||||
+++ b/dlls/d3dx9_25/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -53,7 +53,7 @@ index 57ed1da..3461967 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_26/Makefile.in b/dlls/d3dx9_26/Makefile.in
|
||||
index 04d9ba4..291daf3 100644
|
||||
index 104f7c19b..cfc9711ef 100644
|
||||
--- a/dlls/d3dx9_26/Makefile.in
|
||||
+++ b/dlls/d3dx9_26/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -65,7 +65,7 @@ index 04d9ba4..291daf3 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_27/Makefile.in b/dlls/d3dx9_27/Makefile.in
|
||||
index faec9b2..5a52b60 100644
|
||||
index db04c8310..d598c9bbf 100644
|
||||
--- a/dlls/d3dx9_27/Makefile.in
|
||||
+++ b/dlls/d3dx9_27/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -77,7 +77,7 @@ index faec9b2..5a52b60 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_28/Makefile.in b/dlls/d3dx9_28/Makefile.in
|
||||
index b8aad93..8eecbc0 100644
|
||||
index 8a2b9c690..8e9979092 100644
|
||||
--- a/dlls/d3dx9_28/Makefile.in
|
||||
+++ b/dlls/d3dx9_28/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -89,7 +89,7 @@ index b8aad93..8eecbc0 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_29/Makefile.in b/dlls/d3dx9_29/Makefile.in
|
||||
index 29c76c4..0299369 100644
|
||||
index 6e1f45c02..efe538fde 100644
|
||||
--- a/dlls/d3dx9_29/Makefile.in
|
||||
+++ b/dlls/d3dx9_29/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -101,7 +101,7 @@ index 29c76c4..0299369 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_30/Makefile.in b/dlls/d3dx9_30/Makefile.in
|
||||
index 810edc9..7bdc074 100644
|
||||
index 092a6b154..4a1ee6304 100644
|
||||
--- a/dlls/d3dx9_30/Makefile.in
|
||||
+++ b/dlls/d3dx9_30/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -113,7 +113,7 @@ index 810edc9..7bdc074 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_31/Makefile.in b/dlls/d3dx9_31/Makefile.in
|
||||
index fce2b53..0ef9c91 100644
|
||||
index 48c67e6e0..dcbb7a01b 100644
|
||||
--- a/dlls/d3dx9_31/Makefile.in
|
||||
+++ b/dlls/d3dx9_31/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -125,7 +125,7 @@ index fce2b53..0ef9c91 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_32/Makefile.in b/dlls/d3dx9_32/Makefile.in
|
||||
index ad53b26..25e2a1c 100644
|
||||
index d51d6a0db..fb89ea7c2 100644
|
||||
--- a/dlls/d3dx9_32/Makefile.in
|
||||
+++ b/dlls/d3dx9_32/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -137,7 +137,7 @@ index ad53b26..25e2a1c 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_33/Makefile.in b/dlls/d3dx9_33/Makefile.in
|
||||
index 318ddce..a6ec6db 100644
|
||||
index 52cdde13a..487255e43 100644
|
||||
--- a/dlls/d3dx9_33/Makefile.in
|
||||
+++ b/dlls/d3dx9_33/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -149,7 +149,7 @@ index 318ddce..a6ec6db 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_34/Makefile.in b/dlls/d3dx9_34/Makefile.in
|
||||
index 451a371..ff79b58 100644
|
||||
index 37f431228..9b0b500f7 100644
|
||||
--- a/dlls/d3dx9_34/Makefile.in
|
||||
+++ b/dlls/d3dx9_34/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -161,7 +161,7 @@ index 451a371..ff79b58 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_35/Makefile.in b/dlls/d3dx9_35/Makefile.in
|
||||
index 978d0b0..aa8ea65 100644
|
||||
index 4441b5f6e..ac4291359 100644
|
||||
--- a/dlls/d3dx9_35/Makefile.in
|
||||
+++ b/dlls/d3dx9_35/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -173,7 +173,7 @@ index 978d0b0..aa8ea65 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
|
||||
index 847edec..1427571 100644
|
||||
index 5e76ab7f5..c95dc0707 100644
|
||||
--- a/dlls/d3dx9_36/Makefile.in
|
||||
+++ b/dlls/d3dx9_36/Makefile.in
|
||||
@@ -1,7 +1,7 @@
|
||||
@ -184,12 +184,12 @@ index 847edec..1427571 100644
|
||||
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
C_SRCS = \
|
||||
EXTRADLLFLAGS = -mno-cygwin
|
||||
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
|
||||
index d236feb..3c308d3 100644
|
||||
index 57d9818cd..f05bad5ab 100644
|
||||
--- a/dlls/d3dx9_36/surface.c
|
||||
+++ b/dlls/d3dx9_36/surface.c
|
||||
@@ -27,6 +27,8 @@
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "ole2.h"
|
||||
#include "wincodec.h"
|
||||
|
||||
@ -198,12 +198,12 @@ index d236feb..3c308d3 100644
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(d3dx);
|
||||
|
||||
HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT, IWICImagingFactory**);
|
||||
@@ -1876,6 +1878,24 @@ void point_filter_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slic
|
||||
@@ -1772,6 +1774,24 @@ void point_filter_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slic
|
||||
}
|
||||
}
|
||||
|
||||
+typedef BOOL (*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);
|
||||
+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)
|
||||
+{
|
||||
@ -223,7 +223,7 @@ index d236feb..3c308d3 100644
|
||||
/************************************************************
|
||||
* D3DXLoadSurfaceFromMemory
|
||||
*
|
||||
@@ -1915,10 +1935,12 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
|
||||
@@ -1811,10 +1831,12 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
|
||||
{
|
||||
const struct pixel_format_desc *srcformatdesc, *destformatdesc;
|
||||
IDirect3DSurface9 *surface;
|
||||
@ -237,7 +237,7 @@ index d236feb..3c308d3 100644
|
||||
|
||||
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,
|
||||
@@ -1999,18 +2021,65 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
|
||||
@@ -1895,18 +1917,65 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
|
||||
}
|
||||
else /* Stretching or format conversion. */
|
||||
{
|
||||
@ -307,7 +307,7 @@ index d236feb..3c308d3 100644
|
||||
}
|
||||
else /* if ((filter & 0xf) == D3DX_FILTER_POINT) */
|
||||
{
|
||||
@@ -2019,12 +2088,29 @@ HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
|
||||
@@ -1915,12 +1984,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. */
|
||||
@ -341,10 +341,10 @@ index d236feb..3c308d3 100644
|
||||
|
||||
/************************************************************
|
||||
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
|
||||
index 2c83dc2..95b64a0 100644
|
||||
index 56b79d80c..8614cec4c 100644
|
||||
--- a/dlls/d3dx9_36/tests/surface.c
|
||||
+++ b/dlls/d3dx9_36/tests/surface.c
|
||||
@@ -1224,7 +1224,7 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
|
||||
@@ -1225,7 +1225,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);
|
||||
@ -353,7 +353,7 @@ index 2c83dc2..95b64a0 100644
|
||||
check_release((IUnknown*)newsurf, 1);
|
||||
check_release((IUnknown*)tex, 0);
|
||||
}
|
||||
@@ -1250,7 +1250,7 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
|
||||
@@ -1251,7 +1251,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);
|
||||
@ -362,7 +362,7 @@ index 2c83dc2..95b64a0 100644
|
||||
check_release((IUnknown*)newsurf, 1);
|
||||
check_release((IUnknown*)tex, 0);
|
||||
}
|
||||
@@ -1263,10 +1263,10 @@ static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
|
||||
@@ -1264,10 +1264,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);
|
||||
@ -376,7 +376,7 @@ index 2c83dc2..95b64a0 100644
|
||||
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 a05068c..e5b29d3 100644
|
||||
index ea0a04807..a710cef03 100644
|
||||
--- a/dlls/d3dx9_37/Makefile.in
|
||||
+++ b/dlls/d3dx9_37/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -388,7 +388,7 @@ index a05068c..e5b29d3 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_38/Makefile.in b/dlls/d3dx9_38/Makefile.in
|
||||
index b092e62..0a37204 100644
|
||||
index af62f823d..543a482af 100644
|
||||
--- a/dlls/d3dx9_38/Makefile.in
|
||||
+++ b/dlls/d3dx9_38/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -400,7 +400,7 @@ index b092e62..0a37204 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_39/Makefile.in b/dlls/d3dx9_39/Makefile.in
|
||||
index 4d17120..d0e2cc9 100644
|
||||
index ab71712d4..cacb0c00d 100644
|
||||
--- a/dlls/d3dx9_39/Makefile.in
|
||||
+++ b/dlls/d3dx9_39/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -412,7 +412,7 @@ index 4d17120..d0e2cc9 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_40/Makefile.in b/dlls/d3dx9_40/Makefile.in
|
||||
index 59f6f3d..0a0d36b 100644
|
||||
index 76428d2fd..a58a99ef2 100644
|
||||
--- a/dlls/d3dx9_40/Makefile.in
|
||||
+++ b/dlls/d3dx9_40/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -424,7 +424,7 @@ index 59f6f3d..0a0d36b 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_41/Makefile.in b/dlls/d3dx9_41/Makefile.in
|
||||
index f18443a..f477a20 100644
|
||||
index d3647f895..93fb6b508 100644
|
||||
--- a/dlls/d3dx9_41/Makefile.in
|
||||
+++ b/dlls/d3dx9_41/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -436,7 +436,7 @@ index f18443a..f477a20 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_42/Makefile.in b/dlls/d3dx9_42/Makefile.in
|
||||
index cb142b7..4d93a84 100644
|
||||
index 88bd746da..197d0d45b 100644
|
||||
--- a/dlls/d3dx9_42/Makefile.in
|
||||
+++ b/dlls/d3dx9_42/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -448,7 +448,7 @@ index cb142b7..4d93a84 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
diff --git a/dlls/d3dx9_43/Makefile.in b/dlls/d3dx9_43/Makefile.in
|
||||
index 3e6111a..5812d03 100644
|
||||
index 2f6b8634a..17895954a 100644
|
||||
--- a/dlls/d3dx9_43/Makefile.in
|
||||
+++ b/dlls/d3dx9_43/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -460,5 +460,5 @@ index 3e6111a..5812d03 100644
|
||||
DELAYIMPORTS = windowscodecs
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.21.0
|
||||
|
||||
|
@ -3,3 +3,7 @@ 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
|
||||
# 9fb5745a7997bbfe033779650f1193d85369cef2 broke this, in a way that's not
|
||||
# trivial to fix. Guess we'll wait to see what Alexandre has in mind for the
|
||||
# other D3D DLLs.
|
||||
Disabled: true
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ed20373cc262b783cd7e04641618a732f33e8a51 Mon Sep 17 00:00:00 2001
|
||||
From d407857d923dd08446cf38f83549c0b76442cc81 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Thu, 7 Jun 2018 20:09:59 -0500
|
||||
Subject: [PATCH 02/83] server: Create server objects for eventfd-based
|
||||
Subject: [PATCH] server: Create server objects for eventfd-based
|
||||
synchronization objects.
|
||||
|
||||
---
|
||||
@ -12,7 +12,7 @@ Subject: [PATCH 02/83] server: Create server objects for eventfd-based
|
||||
create mode 100644 server/esync.c
|
||||
|
||||
diff --git a/server/Makefile.in b/server/Makefile.in
|
||||
index d2715e8cb..4f8f10cd5 100644
|
||||
index 60ecca706..2c895bcec 100644
|
||||
--- a/server/Makefile.in
|
||||
+++ b/server/Makefile.in
|
||||
@@ -11,6 +11,7 @@ C_SRCS = \
|
||||
@ -167,12 +167,12 @@ index 000000000..147fb7724
|
||||
+ if (root) release_object( root );
|
||||
+}
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index c3751e609..a56f098ab 100644
|
||||
index 007ef1f67..cd97ba008 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -4041,3 +4041,13 @@ struct handle_info
|
||||
@REQ(resume_process)
|
||||
obj_handle_t handle; /* process handle */
|
||||
@@ -4021,3 +4021,13 @@ struct handle_info
|
||||
unsigned int threads; /* number of threads */
|
||||
unsigned int handles; /* number of handles */
|
||||
@END
|
||||
+
|
||||
+/* Create a new eventfd-based synchronization object */
|
||||
@ -185,5 +185,5 @@ index c3751e609..a56f098ab 100644
|
||||
+ obj_handle_t handle; /* handle to the object */
|
||||
+@END
|
||||
--
|
||||
2.20.1
|
||||
2.21.0
|
||||
|
||||
|
@ -9,3 +9,4 @@ Depends: server-Realtime_Priority
|
||||
Depends: ntdll-User_Shared_Data
|
||||
Depends: advapi32-Token_Integrity_Level
|
||||
Depends: ntdll-Junction_Points
|
||||
Depends: kernel32-K32GetPerformanceInfo
|
||||
|
@ -1,46 +1,37 @@
|
||||
From 8bf339727f8c444f72a9b0c26d08a80f227e6b9a Mon Sep 17 00:00:00 2001
|
||||
From 5cf696c2cb00fd040ddba99ac291806e5ce3c9bf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 19 Feb 2017 05:38:40 +0100
|
||||
Subject: [PATCH] kernel32: Make K32GetPerformanceInfo faster.
|
||||
|
||||
---
|
||||
dlls/kernel32/cpu.c | 68 +++++++++++++++++----------------------------
|
||||
server/process.c | 18 ++++++++++++
|
||||
server/protocol.def | 8 ++++++
|
||||
3 files changed, 51 insertions(+), 43 deletions(-)
|
||||
dlls/kernel32/cpu.c | 32 ++++++++------------------------
|
||||
server/process.c | 18 ++++++++++++++++++
|
||||
server/protocol.def | 8 ++++++++
|
||||
3 files changed, 34 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
|
||||
index 9445d0bc056..6e198badb66 100644
|
||||
index 7668a10ea..96180bed4 100644
|
||||
--- a/dlls/kernel32/cpu.c
|
||||
+++ b/dlls/kernel32/cpu.c
|
||||
@@ -209,14 +209,8 @@ BOOL WINAPI IsProcessorFeaturePresent ( DWORD feature )
|
||||
*/
|
||||
BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
|
||||
@@ -211,7 +211,6 @@ BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
|
||||
{
|
||||
- union
|
||||
- {
|
||||
- SYSTEM_PERFORMANCE_INFORMATION performance;
|
||||
- SYSTEM_PROCESS_INFORMATION process;
|
||||
- SYSTEM_BASIC_INFORMATION basic;
|
||||
- } *sysinfo;
|
||||
- SYSTEM_PROCESS_INFORMATION *spi;
|
||||
- DWORD process_info_size;
|
||||
+ SYSTEM_PERFORMANCE_INFORMATION performance;
|
||||
+ SYSTEM_BASIC_INFORMATION basic;
|
||||
SYSTEM_PERFORMANCE_INFORMATION perf;
|
||||
SYSTEM_BASIC_INFORMATION basic;
|
||||
- SYSTEM_PROCESS_INFORMATION *process, *spi;
|
||||
DWORD info_size;
|
||||
NTSTATUS status;
|
||||
|
||||
TRACE( "(%p, %d)\n", info, size );
|
||||
@@ -230,53 +224,41 @@ BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
|
||||
memset( info, 0, sizeof(*info) );
|
||||
info->cb = sizeof(*info);
|
||||
@@ -240,34 +239,19 @@ BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
|
||||
info->KernelNonpaged = perf.NonPagedPoolUsage;
|
||||
info->PageSize = basic.PageSize;
|
||||
|
||||
- /* fields from SYSTEM_PROCESS_INFORMATION */
|
||||
- NtQuerySystemInformation( SystemProcessInformation, NULL, 0, &process_info_size );
|
||||
- NtQuerySystemInformation( SystemProcessInformation, NULL, 0, &info_size );
|
||||
- for (;;)
|
||||
+ SERVER_START_REQ( get_system_info )
|
||||
{
|
||||
- sysinfo = HeapAlloc( GetProcessHeap(), 0, max(process_info_size, sizeof(*sysinfo)) );
|
||||
- if (!sysinfo)
|
||||
- process = HeapAlloc( GetProcessHeap(), 0, info_size );
|
||||
- if (!process)
|
||||
+ status = wine_server_call( req );
|
||||
+ if (!status)
|
||||
{
|
||||
@ -50,68 +41,34 @@ index 9445d0bc056..6e198badb66 100644
|
||||
+ info->HandleCount = reply->handles;
|
||||
+ info->ThreadCount = reply->threads;
|
||||
}
|
||||
- status = NtQuerySystemInformation( SystemProcessInformation, &sysinfo->process,
|
||||
- process_info_size, &process_info_size );
|
||||
- status = NtQuerySystemInformation( SystemProcessInformation, process, info_size, &info_size );
|
||||
- if (!status) break;
|
||||
- HeapFree( GetProcessHeap(), 0, process );
|
||||
- if (status != STATUS_INFO_LENGTH_MISMATCH)
|
||||
- goto err;
|
||||
- HeapFree( GetProcessHeap(), 0, sysinfo );
|
||||
- }
|
||||
- for (spi = &sysinfo->process;; spi = (SYSTEM_PROCESS_INFORMATION *)(((PCHAR)spi) + spi->NextEntryOffset))
|
||||
}
|
||||
+ SERVER_END_REQ;
|
||||
|
||||
- info->HandleCount = info->ProcessCount = info->ThreadCount = 0;
|
||||
- spi = process;
|
||||
- for (;;)
|
||||
- {
|
||||
- info->ProcessCount++;
|
||||
- info->HandleCount += spi->HandleCount;
|
||||
- info->ThreadCount += spi->dwThreadCount;
|
||||
- if (spi->NextEntryOffset == 0) break;
|
||||
}
|
||||
+ SERVER_END_REQ;
|
||||
+
|
||||
- spi = (SYSTEM_PROCESS_INFORMATION *)((char *)spi + spi->NextEntryOffset);
|
||||
- }
|
||||
- HeapFree( GetProcessHeap(), 0, process );
|
||||
+ if (status) goto err;
|
||||
|
||||
/* fields from SYSTEM_PERFORMANCE_INFORMATION */
|
||||
- status = NtQuerySystemInformation( SystemPerformanceInformation, &sysinfo->performance,
|
||||
- sizeof(sysinfo->performance), NULL );
|
||||
+ status = NtQuerySystemInformation( SystemPerformanceInformation, &performance,
|
||||
+ sizeof(performance), NULL );
|
||||
if (status) goto err;
|
||||
- info->CommitTotal = sysinfo->performance.TotalCommittedPages;
|
||||
- info->CommitLimit = sysinfo->performance.TotalCommitLimit;
|
||||
- info->CommitPeak = sysinfo->performance.PeakCommitment;
|
||||
- info->PhysicalAvailable = sysinfo->performance.AvailablePages;
|
||||
- info->KernelTotal = sysinfo->performance.PagedPoolUsage +
|
||||
- sysinfo->performance.NonPagedPoolUsage;
|
||||
- info->KernelPaged = sysinfo->performance.PagedPoolUsage;
|
||||
- info->KernelNonpaged = sysinfo->performance.NonPagedPoolUsage;
|
||||
+ info->CommitTotal = performance.TotalCommittedPages;
|
||||
+ info->CommitLimit = performance.TotalCommitLimit;
|
||||
+ info->CommitPeak = performance.PeakCommitment;
|
||||
+ info->PhysicalAvailable = performance.AvailablePages;
|
||||
+ info->KernelTotal = performance.PagedPoolUsage +
|
||||
+ performance.NonPagedPoolUsage;
|
||||
+ info->KernelPaged = performance.PagedPoolUsage;
|
||||
+ info->KernelNonpaged = performance.NonPagedPoolUsage;
|
||||
|
||||
/* fields from SYSTEM_BASIC_INFORMATION */
|
||||
- status = NtQuerySystemInformation( SystemBasicInformation, &sysinfo->basic,
|
||||
- sizeof(sysinfo->basic), NULL );
|
||||
+ status = NtQuerySystemInformation( SystemBasicInformation, &basic,
|
||||
+ sizeof(basic), NULL );
|
||||
if (status) goto err;
|
||||
- info->PhysicalTotal = sysinfo->basic.MmNumberOfPhysicalPages;
|
||||
- info->PageSize = sysinfo->basic.PageSize;
|
||||
+ info->PhysicalTotal = basic.MmNumberOfPhysicalPages;
|
||||
+ info->PageSize = basic.PageSize;
|
||||
return TRUE;
|
||||
|
||||
err:
|
||||
- HeapFree( GetProcessHeap(), 0, sysinfo );
|
||||
if (status)
|
||||
{
|
||||
SetLastError( RtlNtStatusToDosError( status ) );
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index 6690b9d2f26..f0b44a8c6f4 100644
|
||||
index beaa68603..2dacc4d5c 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -1852,3 +1852,21 @@ DECL_HANDLER(resume_process)
|
||||
@@ -1799,3 +1799,21 @@ DECL_HANDLER(resume_process)
|
||||
release_object( process );
|
||||
}
|
||||
}
|
||||
@ -134,13 +91,13 @@ index 6690b9d2f26..f0b44a8c6f4 100644
|
||||
+ }
|
||||
+}
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index dc5186c877b..3ed38245d4a 100644
|
||||
index e450388c1..1c1459f3c 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -4042,3 +4042,11 @@ enum esync_type
|
||||
ESYNC_MANUAL_SERVER,
|
||||
ESYNC_QUEUE,
|
||||
};
|
||||
@@ -3946,3 +3946,11 @@ struct handle_info
|
||||
@REQ(resume_process)
|
||||
obj_handle_t handle; /* process handle */
|
||||
@END
|
||||
+
|
||||
+/* Return system information values */
|
||||
+@REQ(get_system_info)
|
||||
@ -150,5 +107,5 @@ index dc5186c877b..3ed38245d4a 100644
|
||||
+ unsigned int handles; /* number of handles */
|
||||
+@END
|
||||
--
|
||||
2.20.1
|
||||
2.21.0
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
From e4983ad839806d62c4fce982c5d5c24466adffa3 Mon Sep 17 00:00:00 2001
|
||||
From 6416e68e4d81d9b37d24076d446115f08f99bf81 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 9 Mar 2017 16:27:23 +0100
|
||||
Subject: [PATCH] ntdll: Fill process kernel and user time.
|
||||
|
||||
---
|
||||
dlls/ntdll/nt.c | 6 +++-
|
||||
dlls/ntdll/ntdll_misc.h | 5 +++
|
||||
dlls/ntdll/thread.c | 84 ++++++++++++++++++++++++++++---------------------
|
||||
3 files changed, 58 insertions(+), 37 deletions(-)
|
||||
dlls/ntdll/nt.c | 6 ++-
|
||||
dlls/ntdll/ntdll_misc.h | 4 ++
|
||||
dlls/ntdll/thread.c | 84 +++++++++++++++++++++++------------------
|
||||
3 files changed, 57 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index 4f1ff61..454f209 100644
|
||||
index 2cd2ab327..c3250746b 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2482,6 +2482,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2384,6 +2384,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
{
|
||||
SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
|
||||
SYSTEM_PROCESS_INFORMATION* last = NULL;
|
||||
@ -21,7 +21,7 @@ index 4f1ff61..454f209 100644
|
||||
HANDLE hSnap = 0;
|
||||
WCHAR procname[1024];
|
||||
WCHAR* exename;
|
||||
@@ -2519,7 +2520,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2421,7 +2422,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
if (Length >= len + procstructlen)
|
||||
{
|
||||
@ -30,7 +30,7 @@ index 4f1ff61..454f209 100644
|
||||
* vmCounters, ioCounters
|
||||
*/
|
||||
|
||||
@@ -2537,6 +2538,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -2439,6 +2440,9 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
/* spi->ti will be set later on */
|
||||
|
||||
@ -41,10 +41,10 @@ index 4f1ff61..454f209 100644
|
||||
len += procstructlen;
|
||||
}
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index ff2bb82..38f7f23 100644
|
||||
index 3463ebd38..78831cf37 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -268,6 +268,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
@@ -265,6 +265,10 @@ extern SYSTEM_CPU_INFORMATION cpu_info DECLSPEC_HIDDEN;
|
||||
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
|
||||
void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
|
||||
@ -55,14 +55,8 @@ index ff2bb82..38f7f23 100644
|
||||
/* string functions */
|
||||
int __cdecl NTDLL_tolower( int c );
|
||||
int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
|
||||
@@ -275,4 +279,5 @@ int __cdecl _stricmp( LPCSTR str1, LPCSTR str2 );
|
||||
/* time functions */
|
||||
ULONGLONG WINAPI get_tick_count64( void );
|
||||
#define NtGetTickCount get_tick_count64
|
||||
+
|
||||
#endif
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 70320af..8dac113 100644
|
||||
index 70320afe7..8dac11393 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -149,6 +149,53 @@ static ULONG_PTR get_image_addr(void)
|
||||
@ -164,5 +158,5 @@ index 70320af..8dac113 100644
|
||||
|
||||
/* get values for current process instead */
|
||||
--
|
||||
1.9.1
|
||||
2.21.0
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "d535df42f665a097ec721b10fb49d7b18f899be9"
|
||||
echo "1d9a3f6d12322891a2af4aadd66a92ea66479233"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -112,7 +112,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"
|
||||
@ -462,9 +461,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"
|
||||
;;
|
||||
@ -1641,6 +1637,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."
|
||||
@ -1843,6 +1846,9 @@ if test "$enable_eventfd_synchronization" -eq 1; then
|
||||
if test "$enable_advapi32_Token_Integrity_Level" -gt 1; then
|
||||
abort "Patchset advapi32-Token_Integrity_Level disabled, but eventfd_synchronization depends on that."
|
||||
fi
|
||||
if test "$enable_kernel32_K32GetPerformanceInfo" -gt 1; then
|
||||
abort "Patchset kernel32-K32GetPerformanceInfo disabled, but eventfd_synchronization depends on that."
|
||||
fi
|
||||
if test "$enable_ntdll_Junction_Points" -gt 1; then
|
||||
abort "Patchset ntdll-Junction_Points disabled, but eventfd_synchronization depends on that."
|
||||
fi
|
||||
@ -1865,6 +1871,7 @@ if test "$enable_eventfd_synchronization" -eq 1; then
|
||||
abort "Patchset ws2_32-WSACleanup disabled, but eventfd_synchronization depends on that."
|
||||
fi
|
||||
enable_advapi32_Token_Integrity_Level=1
|
||||
enable_kernel32_K32GetPerformanceInfo=1
|
||||
enable_ntdll_Junction_Points=1
|
||||
enable_ntdll_RtlCreateUserThread=1
|
||||
enable_ntdll_SystemRoot_Symlink=1
|
||||
@ -1967,20 +1974,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."
|
||||
@ -2740,68 +2733,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:
|
||||
@ -3275,6 +3206,18 @@ if test "$enable_dxva2_Video_Decoder" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-K32GetPerformanceInfo
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/cpu.c, server/process.c, server/protocol.def
|
||||
# |
|
||||
if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then
|
||||
patch_apply kernel32-K32GetPerformanceInfo/0001-kernel32-Make-K32GetPerformanceInfo-faster.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "kernel32: Make K32GetPerformanceInfo faster.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-Junction_Points
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -3631,10 +3574,10 @@ fi
|
||||
# Patchset eventfd_synchronization
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-Junction_Points, ntdll-ThreadTime, ntdll-
|
||||
# | Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-RtlCreateUserThread, ntdll-Exception, ntdll-
|
||||
# | SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-Wait_User_APC, server-Key_State, server-
|
||||
# | PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
|
||||
# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
|
||||
# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-
|
||||
# | Wait_User_APC, server-Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#36692] Many multi-threaded applications have poor performance due to heavy use of synchronization primitives
|
||||
@ -4179,18 +4122,6 @@ if test "$enable_kernel32_Job_Tests" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-K32GetPerformanceInfo
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/cpu.c, server/process.c, server/protocol.def
|
||||
# |
|
||||
if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then
|
||||
patch_apply kernel32-K32GetPerformanceInfo/0001-kernel32-Make-K32GetPerformanceInfo-faster.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "kernel32: Make K32GetPerformanceInfo faster.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-NeedCurrentDirectoryForExePath
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5370,10 +5301,11 @@ fi
|
||||
# Patchset server-Desktop_Refcount
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-Junction_Points, ntdll-ThreadTime, ntdll-
|
||||
# | Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-RtlCreateUserThread, ntdll-Exception, ntdll-
|
||||
# | SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-Wait_User_APC, server-Key_State, server-
|
||||
# | PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup, eventfd_synchronization
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
|
||||
# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
|
||||
# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-
|
||||
# | Wait_User_APC, server-Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup,
|
||||
# | eventfd_synchronization
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#46967] GOG Galaxy doesn't run in virtual desktop.
|
||||
@ -6535,6 +6467,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:
|
||||
@ -7212,11 +7180,11 @@ fi
|
||||
# Patchset ws2_32-TransmitFile
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, ntdll-Junction_Points, ntdll-ThreadTime, ntdll-
|
||||
# | Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-RtlCreateUserThread, ntdll-Exception, ntdll-
|
||||
# | SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-Wait_User_APC, server-Key_State, server-
|
||||
# | PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup, eventfd_synchronization, server-
|
||||
# | Desktop_Refcount
|
||||
# | * Staging, advapi32-CreateRestrictedToken, advapi32-Token_Integrity_Level, kernel32-K32GetPerformanceInfo, ntdll-
|
||||
# | Junction_Points, ntdll-ThreadTime, ntdll-Hide_Wine_Exports, ntdll-User_Shared_Data, winebuild-Fake_Dlls, ntdll-
|
||||
# | RtlCreateUserThread, ntdll-Exception, ntdll-SystemRoot_Symlink, server-Realtime_Priority, ntdll-Threading, ntdll-
|
||||
# | Wait_User_APC, server-Key_State, server-PeekMessage, server-Signal_Thread, server-Shared_Memory, ws2_32-WSACleanup,
|
||||
# | eventfd_synchronization, server-Desktop_Refcount
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c, include/winsock.h, server/protocol.def, server/sock.c
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 51d0b968215a8fc788994e85ad4837a406aafc61 Mon Sep 17 00:00:00 2001
|
||||
From 5b0203cded8eb069ce4a8a0d11df2624afaee8ae Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Fri, 30 Mar 2018 08:25:44 +0000
|
||||
Subject: [PATCH] wined3d: add DXTn support
|
||||
@ -8,17 +8,17 @@ Subject: [PATCH] wined3d: add DXTn support
|
||||
dlls/wined3d/dxtn.c | 435 +++++++++++++++++
|
||||
dlls/wined3d/dxtn.h | 987 ++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/surface.c | 153 ++++++
|
||||
dlls/wined3d/wined3d.spec | 8 +
|
||||
dlls/wined3d/wined3d.spec | 7 +
|
||||
include/wine/wined3d.h | 13 +
|
||||
6 files changed, 1597 insertions(+)
|
||||
6 files changed, 1596 insertions(+)
|
||||
create mode 100644 dlls/wined3d/dxtn.c
|
||||
create mode 100644 dlls/wined3d/dxtn.h
|
||||
|
||||
diff --git a/dlls/wined3d/Makefile.in b/dlls/wined3d/Makefile.in
|
||||
index 39fed381d97..abc0ec6adba 100644
|
||||
index 7ebd01065..936fa21a0 100644
|
||||
--- a/dlls/wined3d/Makefile.in
|
||||
+++ b/dlls/wined3d/Makefile.in
|
||||
@@ -11,6 +11,7 @@ C_SRCS = \
|
||||
@@ -12,6 +12,7 @@ C_SRCS = \
|
||||
cs.c \
|
||||
device.c \
|
||||
directx.c \
|
||||
@ -28,7 +28,7 @@ index 39fed381d97..abc0ec6adba 100644
|
||||
nvidia_texture_shader.c \
|
||||
diff --git a/dlls/wined3d/dxtn.c b/dlls/wined3d/dxtn.c
|
||||
new file mode 100644
|
||||
index 00000000000..4e24fb56419
|
||||
index 000000000..77e4502ef
|
||||
--- /dev/null
|
||||
+++ b/dlls/wined3d/dxtn.c
|
||||
@@ -0,0 +1,435 @@
|
||||
@ -342,7 +342,7 @@ index 00000000000..4e24fb56419
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -367,7 +367,7 @@ index 00000000000..4e24fb56419
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt3_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt3_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -388,7 +388,7 @@ index 00000000000..4e24fb56419
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt5_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt5_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -405,7 +405,7 @@ index 00000000000..4e24fb56419
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -430,7 +430,7 @@ index 00000000000..4e24fb56419
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt3_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt3_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -449,7 +449,7 @@ index 00000000000..4e24fb56419
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+BOOL wined3d_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL CDECL wined3d_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h)
|
||||
+{
|
||||
+ switch (format)
|
||||
@ -469,7 +469,7 @@ index 00000000000..4e24fb56419
|
||||
+}
|
||||
diff --git a/dlls/wined3d/dxtn.h b/dlls/wined3d/dxtn.h
|
||||
new file mode 100644
|
||||
index 00000000000..23536c091cc
|
||||
index 000000000..23536c091
|
||||
--- /dev/null
|
||||
+++ b/dlls/wined3d/dxtn.h
|
||||
@@ -0,0 +1,987 @@
|
||||
@ -1461,10 +1461,10 @@ index 00000000000..23536c091cc
|
||||
+ }
|
||||
+}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index b048b6ef852..5db449863d4 100644
|
||||
index f81b48184..c2c500e09 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -593,6 +593,126 @@ static void convert_x8r8g8b8_l8(const BYTE *src, BYTE *dst,
|
||||
@@ -596,6 +596,126 @@ static void convert_x8r8g8b8_l8(const BYTE *src, BYTE *dst,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1591,7 +1591,7 @@ index b048b6ef852..5db449863d4 100644
|
||||
struct d3dfmt_converter_desc
|
||||
{
|
||||
enum wined3d_format_id from, to;
|
||||
@@ -610,6 +730,33 @@ static const struct d3dfmt_converter_desc converters[] =
|
||||
@@ -613,6 +733,33 @@ static const struct d3dfmt_converter_desc converters[] =
|
||||
{WINED3DFMT_B8G8R8X8_UNORM, WINED3DFMT_L8_UNORM, convert_x8r8g8b8_l8},
|
||||
};
|
||||
|
||||
@ -1625,7 +1625,7 @@ index b048b6ef852..5db449863d4 100644
|
||||
static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_format_id from,
|
||||
enum wined3d_format_id to)
|
||||
{
|
||||
@@ -621,6 +768,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo
|
||||
@@ -624,6 +771,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo
|
||||
return &converters[i];
|
||||
}
|
||||
|
||||
@ -1639,10 +1639,10 @@ index b048b6ef852..5db449863d4 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
|
||||
index e0777b8e209..d75beb88511 100644
|
||||
index 040b9fc4a..811e68685 100644
|
||||
--- a/dlls/wined3d/wined3d.spec
|
||||
+++ b/dlls/wined3d/wined3d.spec
|
||||
@@ -319,3 +319,11 @@
|
||||
@@ -313,3 +313,10 @@
|
||||
@ cdecl wined3d_vertex_declaration_incref(ptr)
|
||||
|
||||
@ cdecl wined3d_extract_shader_input_signature_from_dxbc(ptr ptr long)
|
||||
@ -1653,29 +1653,28 @@ index e0777b8e209..d75beb88511 100644
|
||||
+@ cdecl wined3d_dxt3_encode(ptr ptr long long long long long)
|
||||
+@ cdecl wined3d_dxt5_decode(ptr ptr long long long long long)
|
||||
+@ cdecl wined3d_dxt5_encode(ptr ptr long long long long long)
|
||||
+
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 37b093fa94d..29889b86f53 100644
|
||||
index ada563655..4c3556c7e 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -2815,4 +2815,17 @@ static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, u
|
||||
@@ -2798,4 +2798,17 @@ static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, u
|
||||
box->back = back;
|
||||
}
|
||||
|
||||
+BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+BOOL wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+BOOL wined3d_dxt3_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt3_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+BOOL wined3d_dxt3_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt3_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+BOOL wined3d_dxt5_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt5_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+BOOL wined3d_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+BOOL __cdecl wined3d_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
|
||||
+ enum wined3d_format_id format, unsigned int w, unsigned int h);
|
||||
+
|
||||
#endif /* __WINE_WINED3D_H */
|
||||
--
|
||||
2.20.1
|
||||
2.21.0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user