Rebase againsts 9ae8b8c00f2cca205fdf4ce76e221778b7dfbea7

This commit is contained in:
Alistair Leslie-Hughes
2018-02-27 09:23:02 +11:00
parent ef8e90cbdc
commit a1ec166849
22 changed files with 539 additions and 686 deletions

View File

@@ -1,8 +1,8 @@
From 6fb6fb2e293e57e2645d988e82c12782db1c30b9 Mon Sep 17 00:00:00 2001
From 8f283b558ea348bd21cee56beb8219758d55a379 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 20 Sep 2014 02:48:07 +0200
Subject: wined3d: Add support for DXTn software decoding through libtxc_dxtn.
(rev 3)
Subject: [PATCH] wined3d: Add support for DXTn software decoding through
libtxc_dxtn. (rev 3)
Changes in rev 2:
* Do not use dxtn library when some imports are missing.
@@ -13,19 +13,19 @@ Changes in rev 3:
* Do not require txc_dxtn at compile time by trying some fallback paths.
---
configure.ac | 3 +
dlls/wined3d/Makefile.in | 1 +
dlls/wined3d/Makefile.in | 2 +
dlls/wined3d/dxtn.c | 299 +++++++++++++++++++++++++++++++++++++++++
dlls/wined3d/surface.c | 80 +++++++++++
dlls/wined3d/wined3d_main.c | 5 +
dlls/wined3d/wined3d_private.h | 13 ++
6 files changed, 401 insertions(+)
6 files changed, 402 insertions(+)
create mode 100644 dlls/wined3d/dxtn.c
diff --git a/configure.ac b/configure.ac
index 1a5b0de0e3..adf7cd0f4d 100644
index 643c713..a867d25 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1633,6 +1633,9 @@ fi
@@ -1737,6 +1737,9 @@ fi
WINE_NOTICE_WITH(tiff,[test "x$ac_cv_lib_soname_tiff" = "x"],
[libtiff ${notice_platform}development files not found, TIFF won't be supported.])
@@ -36,20 +36,21 @@ index 1a5b0de0e3..adf7cd0f4d 100644
if test "x$with_mpg123" != "xno"
then
diff --git a/dlls/wined3d/Makefile.in b/dlls/wined3d/Makefile.in
index edee58845a..70f47c6a5f 100644
index 58fc2d5..70f47c6 100644
--- a/dlls/wined3d/Makefile.in
+++ b/dlls/wined3d/Makefile.in
@@ -11,6 +11,7 @@ C_SRCS = \
@@ -10,6 +10,8 @@ C_SRCS = \
cs.c \
device.c \
directx.c \
drawprim.c \
+ drawprim.c \
+ dxtn.c \
gl_compat.c \
glsl_shader.c \
nvidia_texture_shader.c \
diff --git a/dlls/wined3d/dxtn.c b/dlls/wined3d/dxtn.c
new file mode 100644
index 0000000000..ce989490ef
index 0000000..ce98949
--- /dev/null
+++ b/dlls/wined3d/dxtn.c
@@ -0,0 +1,299 @@
@@ -353,10 +354,10 @@ index 0000000000..ce989490ef
+ wine_dlclose(txc_dxtn_handle, NULL, 0);
+}
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 2ba80605a5..3a91e98e98 100644
index 9ef917f..7201a7c 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1215,6 +1215,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst,
@@ -1279,6 +1279,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst,
}
}
@@ -423,7 +424,7 @@ index 2ba80605a5..3a91e98e98 100644
struct d3dfmt_converter_desc
{
enum wined3d_format_id from, to;
@@ -1231,6 +1291,20 @@ static const struct d3dfmt_converter_desc converters[] =
@@ -1295,6 +1355,20 @@ static const struct d3dfmt_converter_desc converters[] =
{WINED3DFMT_YUY2, WINED3DFMT_B5G6R5_UNORM, convert_yuy2_r5g6b5},
};
@@ -444,7 +445,7 @@ index 2ba80605a5..3a91e98e98 100644
static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_format_id from,
enum wined3d_format_id to)
{
@@ -1242,6 +1316,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo
@@ -1306,6 +1380,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo
return &converters[i];
}
@@ -458,10 +459,10 @@ index 2ba80605a5..3a91e98e98 100644
}
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
index f662c3a48d..dca6a2a64d 100644
index 6cd6f18..28e6fe6 100644
--- a/dlls/wined3d/wined3d_main.c
+++ b/dlls/wined3d/wined3d_main.c
@@ -336,6 +336,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
@@ -326,6 +326,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
if (appkey) RegCloseKey( appkey );
if (hkey) RegCloseKey( hkey );
@@ -470,7 +471,7 @@ index f662c3a48d..dca6a2a64d 100644
return TRUE;
}
@@ -367,6 +369,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL)
@@ -357,6 +359,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL)
DeleteCriticalSection(&wined3d_wndproc_cs);
DeleteCriticalSection(&wined3d_cs);
@@ -481,10 +482,10 @@ index f662c3a48d..dca6a2a64d 100644
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 1ed0846939..e6f9ebc79a 100644
index 816eebb..3f6500d 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -4062,6 +4062,19 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs)
@@ -4451,6 +4451,19 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs)
assert(cs->thread_id != GetCurrentThreadId());
}
@@ -505,5 +506,5 @@ index 1ed0846939..e6f9ebc79a 100644
#define WINED3D_OPENGL_WINDOW_CLASS_NAME "WineD3D_OpenGL"
--
2.11.0
1.9.1