Rebase against 2d9e894d285937716a4541c7fab9152fdf0b495f.

This commit is contained in:
Sebastian Lackner 2017-08-03 13:41:34 +02:00
parent 5f7efc6b30
commit e28edf1951
5 changed files with 41 additions and 56 deletions

View File

@ -1,4 +1,4 @@
From 68c5c27b4867a08482774a506095736107631d38 Mon Sep 17 00:00:00 2001
From 6ef722e8ff0af86432f13d5082369afdead6645c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 3 Jun 2015 22:57:21 +0200
Subject: winex11.drv: Allow changing the opengl pixel format on the desktop
@ -43,10 +43,10 @@ index e1d6d4c97c2..bf6a9a138dd 100644
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D10Device1 *)0xdeadbeef;
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 0d473344c2c..a077ce0aaa9 100644
index 9ce72ca853e..f8de8d59dbb 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -1517,10 +1517,22 @@ static void test_create_device(void)
@@ -1596,10 +1596,22 @@ static void test_create_device(void)
hr = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0, D3D11_SDK_VERSION,
&swapchain_desc, &swapchain, &device, &feature_level, &immediate_context);
todo_wine ok(hr == DXGI_ERROR_INVALID_CALL, "D3D11CreateDeviceAndSwapChain returned %#x.\n", hr);
@ -74,11 +74,11 @@ index 0d473344c2c..a077ce0aaa9 100644
swapchain = (IDXGISwapChain *)0xdeadbeef;
device = (ID3D11Device *)0xdeadbeef;
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index feb1efcb94b..19bfcb5bc3c 100644
index 50752f86ad6..27ae47d9fed 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -11506,6 +11506,21 @@ static void test_format_unknown(void)
DestroyWindow(window);
@@ -11575,6 +11575,21 @@ static void test_destroyed_window(void)
ok(!refcount, "Device has %u references left.\n", refcount);
}
+static void test_desktop_window(void)
@ -99,19 +99,19 @@ index feb1efcb94b..19bfcb5bc3c 100644
START_TEST(device)
{
WNDCLASSA wc = {0};
@@ -11624,6 +11639,7 @@ START_TEST(device)
test_get_render_target_data();
@@ -11694,6 +11709,7 @@ START_TEST(device)
test_render_target_device_mismatch();
test_format_unknown();
test_destroyed_window();
+ test_desktop_window();
UnregisterClassA("d3d9_test_wc", GetModuleHandleA(NULL));
}
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 3dab687197e..72056adb7c9 100644
index f18e01f4dfc..1f4208adea4 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1473,12 +1473,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
@@ -1484,12 +1484,15 @@ static BOOL set_pixel_format(HDC hdc, int format, BOOL allow_change)
TRACE("(%p,%d)\n", hdc, format);
@ -129,5 +129,5 @@ index 3dab687197e..72056adb7c9 100644
if (!fmt)
{
--
2.11.0
2.13.1

View File

@ -1,4 +1,4 @@
From 94ca142c68870be4e9dcb898fdc01d574de68e33 Mon Sep 17 00:00:00 2001
From eed82dcb03b097fe5e35ad02299977c7298c08aa Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 10 Apr 2015 07:51:16 +0200
Subject: msvcrt: Calculate sinh/cosh/exp/pow with higher precision. (v2)
@ -9,10 +9,10 @@ Based on a patch by Zheng Chen.
1 file changed, 59 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
index 2001d44a0b4..04b14788919 100644
index a94c34ac80e..6736f03ec4c 100644
--- a/dlls/msvcrt/math.c
+++ b/dlls/msvcrt/math.c
@@ -59,6 +59,61 @@ static MSVCRT_matherr_func MSVCRT_default_matherr_func = NULL;
@@ -64,6 +64,61 @@ static MSVCRT_matherr_func MSVCRT_default_matherr_func = NULL;
static BOOL sse2_supported;
static BOOL sse2_enabled;
@ -74,42 +74,42 @@ index 2001d44a0b4..04b14788919 100644
void msvcrt_init_math(void)
{
sse2_supported = sse2_enabled = IsProcessorFeaturePresent( PF_XMMI64_INSTRUCTIONS_AVAILABLE );
@@ -399,7 +454,7 @@ double CDECL MSVCRT_cos( double x )
@@ -476,7 +531,7 @@ double CDECL MSVCRT_cos( double x )
*/
double CDECL MSVCRT_cosh( double x )
{
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
- return cosh(x);
+ return precise_cosh(x);
- double ret = cosh(x);
+ double ret = precise_cosh(x);
if (isnan(x)) math_error(_DOMAIN, "cosh", x, 0, ret);
return ret;
}
/*********************************************************************
@@ -407,7 +462,7 @@ double CDECL MSVCRT_cosh( double x )
@@ -486,7 +541,7 @@ double CDECL MSVCRT_cosh( double x )
*/
double CDECL MSVCRT_exp( double x )
{
- double ret = exp(x);
+ double ret = precise_exp(x);
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
else if (isfinite(x) && !isfinite(ret)) *MSVCRT__errno() = MSVCRT_ERANGE;
return ret;
@@ -448,7 +503,7 @@ double CDECL MSVCRT_log10( double x )
if (isnan(x)) math_error(_DOMAIN, "exp", x, 0, ret);
else if (isfinite(x) && !ret) math_error(_UNDERFLOW, "exp", x, 0, ret);
else if (isfinite(x) && !isfinite(ret)) math_error(_OVERFLOW, "exp", x, 0, ret);
@@ -531,7 +586,7 @@ double CDECL MSVCRT_log10( double x )
double CDECL MSVCRT_pow( double x, double y )
{
/* FIXME: If x < 0 and y is not integral, set EDOM */
- double z = pow(x,y);
+ double z = precise_pow(x, y);
if (!isfinite(z)) *MSVCRT__errno() = MSVCRT_EDOM;
if (!isfinite(z)) math_error(_DOMAIN, "pow", x, y, z);
return z;
}
@@ -468,7 +523,7 @@ double CDECL MSVCRT_sin( double x )
@@ -551,7 +606,7 @@ double CDECL MSVCRT_sin( double x )
*/
double CDECL MSVCRT_sinh( double x )
{
if (isnan(x)) *MSVCRT__errno() = MSVCRT_EDOM;
- return sinh(x);
+ return precise_sinh(x);
- double ret = sinh(x);
+ double ret = precise_sinh(x);
if (isnan(x)) math_error(_DOMAIN, "sinh", x, 0, ret);
return ret;
}
/*********************************************************************
--
2.13.1

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "619b7e07d7ee1a20bb816ebec8e40eaedc47f870"
echo "2d9e894d285937716a4541c7fab9152fdf0b495f"
}
# Show version information
@ -438,7 +438,6 @@ patch_enable_all ()
enable_winecfg_Unmounted_Devices="$1"
enable_wined3d_1DTextures="$1"
enable_wined3d_Accounting="$1"
enable_wined3d_Backup_Window="$1"
enable_wined3d_CSMT_Helper="$1"
enable_wined3d_CSMT_Main="$1"
enable_wined3d_Copy_Resource_Typeless="$1"
@ -1582,9 +1581,6 @@ patch_enable ()
wined3d-Accounting)
enable_wined3d_Accounting="$2"
;;
wined3d-Backup_Window)
enable_wined3d_Backup_Window="$2"
;;
wined3d-CSMT_Helper)
enable_wined3d_CSMT_Helper="$2"
;;
@ -9350,18 +9346,6 @@ if test "$enable_wined3d_Accounting" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-Backup_Window
# |
# | Modified files:
# | * dlls/wined3d/context.c
# |
if test "$enable_wined3d_Backup_Window" -eq 1; then
patch_apply wined3d-Backup_Window/0001-wined3d-Fix-context-backup-window-handling.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Fix context backup window handling.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-Copy_Resource_Typeless
# |
# | This patchset has the following (direct or indirect) dependencies:

View File

@ -0,0 +1 @@
Disabled: true

View File

@ -47,7 +47,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
};
struct wined3d_cs_add_dirty_texture_region
@@ -2241,6 +2244,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
@@ -2242,6 +2245,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
unsigned int slice_pitch)
{
struct wined3d_cs_update_sub_resource *op;
@ -101,7 +101,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
op = cs->ops->require_space(cs, sizeof(*op), WINED3D_CS_QUEUE_MAP);
op->opcode = WINED3D_CS_OP_UPDATE_SUB_RESOURCE;
@@ -2254,8 +2304,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
@@ -2255,8 +2305,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
wined3d_resource_acquire(resource);
cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP);
@ -112,7 +112,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP);
}
@@ -2558,6 +2610,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
@@ -2559,6 +2611,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_COPY_STRUCTURE_COUNT */ wined3d_cs_exec_copy_structure_count,
};
@ -126,7 +126,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id)
{
if (size > (cs->data_size - cs->end))
@@ -2611,6 +2670,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
@@ -2612,6 +2671,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
static const struct wined3d_cs_ops wined3d_cs_st_ops =
{
@ -136,7 +136,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
wined3d_cs_st_require_space,
wined3d_cs_st_submit,
wined3d_cs_st_finish,
@@ -2643,6 +2705,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id
@@ -2644,6 +2706,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id
wined3d_cs_queue_submit(&cs->queue[queue_id], cs);
}
@ -158,7 +158,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size_t size, struct wined3d_cs *cs)
{
size_t queue_size = ARRAY_SIZE(queue->data);
@@ -2704,6 +2781,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
@@ -2705,6 +2782,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
return packet->data;
}
@ -175,7 +175,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
static void *wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id)
{
if (cs->thread_id == GetCurrentThreadId())
@@ -2723,6 +2810,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
@@ -2724,6 +2811,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
static const struct wined3d_cs_ops wined3d_cs_mt_ops =
{