mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against a64861fb66be722f3a93ab73152c5d477ba3bd3e.
This commit is contained in:
parent
046b1ab22c
commit
50d26744b0
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "e2aa30f21def839866b09e74b5ddd843f7e70c87"
|
||||
echo "a64861fb66be722f3a93ab73152c5d477ba3bd3e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -3903,7 +3903,7 @@ fi
|
||||
# Patchset wined3d-CSMT_Main
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/wined3d_private.h
|
||||
# | * dlls/wined3d/cs.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
patch_apply wined3d-CSMT_Main/0045-wined3d-Improve-wined3d_cs_emit_update_sub_resource.patch
|
||||
|
@ -1,16 +1,15 @@
|
||||
From 61f54e97ae31518f00e8d5b657810cd5b3ca828f Mon Sep 17 00:00:00 2001
|
||||
From 65f4a8779955d77206459ba75b296ec0a5a6b587 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 20 Feb 2017 00:27:25 +0100
|
||||
Subject: [PATCH] wined3d: Improve wined3d_cs_emit_update_sub_resource.
|
||||
|
||||
---
|
||||
dlls/wined3d/cs.c | 78 ++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/device.c | 2 -
|
||||
dlls/wined3d/cs.c | 76 ++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
3 files changed, 79 insertions(+), 2 deletions(-)
|
||||
2 files changed, 77 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 32ea900e27d..52bea3d6a96 100644
|
||||
index 5d9d19a85af..625caf750bf 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -427,6 +427,7 @@ struct wined3d_cs_update_sub_resource
|
||||
@ -21,12 +20,12 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
};
|
||||
|
||||
struct wined3d_cs_add_dirty_texture_region
|
||||
@@ -2527,6 +2528,51 @@ void wined3d_device_context_emit_update_sub_resource(struct wined3d_device_conte
|
||||
@@ -2553,7 +2554,50 @@ static void wined3d_cs_update_sub_resource(struct wined3d_device_context *contex
|
||||
const void *data, unsigned int row_pitch, unsigned int slice_pitch)
|
||||
{
|
||||
struct wined3d_cs_update_sub_resource *op;
|
||||
+ size_t data_size, size;
|
||||
+
|
||||
|
||||
+ if (resource->type != WINED3D_RTYPE_BUFFER && resource->format_flags & WINED3DFMT_FLAG_BLOCKS)
|
||||
+ goto no_async;
|
||||
+
|
||||
@ -69,11 +68,10 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
+ return;
|
||||
+
|
||||
+no_async:
|
||||
+ wined3d_resource_wait_idle(resource);
|
||||
wined3d_resource_wait_idle(resource);
|
||||
|
||||
op = wined3d_device_context_require_space(context, sizeof(*op), WINED3D_CS_QUEUE_MAP);
|
||||
op->opcode = WINED3D_CS_OP_UPDATE_SUB_RESOURCE;
|
||||
@@ -2729,6 +2775,12 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -2762,6 +2806,12 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_GENERATE_MIPMAPS */ wined3d_cs_exec_generate_mipmaps,
|
||||
};
|
||||
|
||||
@ -86,7 +84,7 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_device_context *context,
|
||||
size_t size, enum wined3d_cs_queue_id queue_id)
|
||||
{
|
||||
@@ -2786,6 +2838,7 @@ static void wined3d_cs_st_finish(struct wined3d_device_context *context, enum wi
|
||||
@@ -2819,6 +2869,7 @@ static void wined3d_cs_st_finish(struct wined3d_device_context *context, enum wi
|
||||
|
||||
static const struct wined3d_device_context_ops wined3d_cs_st_ops =
|
||||
{
|
||||
@ -94,7 +92,7 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
wined3d_cs_st_require_space,
|
||||
wined3d_cs_st_submit,
|
||||
wined3d_cs_st_finish,
|
||||
@@ -2821,6 +2874,19 @@ static void wined3d_cs_mt_submit(struct wined3d_device_context *context, enum wi
|
||||
@@ -2860,6 +2911,19 @@ static void wined3d_cs_mt_submit(struct wined3d_device_context *context, enum wi
|
||||
wined3d_cs_queue_submit(&cs->queue[queue_id], cs);
|
||||
}
|
||||
|
||||
@ -114,7 +112,7 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
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);
|
||||
@@ -2883,6 +2949,17 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
|
||||
@@ -2922,6 +2986,17 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
|
||||
return packet->data;
|
||||
}
|
||||
|
||||
@ -132,7 +130,7 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
static void *wined3d_cs_mt_require_space(struct wined3d_device_context *context,
|
||||
size_t size, enum wined3d_cs_queue_id queue_id)
|
||||
{
|
||||
@@ -2907,6 +2984,7 @@ static void wined3d_cs_mt_finish(struct wined3d_device_context *context, enum wi
|
||||
@@ -2946,6 +3021,7 @@ static void wined3d_cs_mt_finish(struct wined3d_device_context *context, enum wi
|
||||
|
||||
static const struct wined3d_device_context_ops wined3d_cs_mt_ops =
|
||||
{
|
||||
@ -140,24 +138,11 @@ index 32ea900e27d..52bea3d6a96 100644
|
||||
wined3d_cs_mt_require_space,
|
||||
wined3d_cs_mt_submit,
|
||||
wined3d_cs_mt_finish,
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index b1f7568842e..36eba1fa75e 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -5146,8 +5146,6 @@ void CDECL wined3d_device_context_update_sub_resource(struct wined3d_device_cont
|
||||
return;
|
||||
}
|
||||
|
||||
- wined3d_resource_wait_idle(resource);
|
||||
-
|
||||
wined3d_device_context_emit_update_sub_resource(context, resource,
|
||||
sub_resource_idx, box, data, row_pitch, depth_pitch);
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 34ec814685c..03a76029b0a 100644
|
||||
index 6565b2044df..70f97446492 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -4681,6 +4681,7 @@ struct wined3d_cs_queue
|
||||
@@ -4685,6 +4685,7 @@ struct wined3d_cs_queue
|
||||
|
||||
struct wined3d_device_context_ops
|
||||
{
|
||||
|
@ -1,8 +1,8 @@
|
||||
From bfbda74851ae4de3b0b185862af566005b477930 Mon Sep 17 00:00:00 2001
|
||||
From 916a85ecb934034c66c58a66befab5713ea9c28e Mon Sep 17 00:00:00 2001
|
||||
From: Felix Yan <felixonmars@gmail.com>
|
||||
Date: Tue, 23 Sep 2014 23:22:17 +0800
|
||||
Subject: winex11.drv: Update a candidate window's position with over-the-spot
|
||||
style. (try 2)
|
||||
Subject: [PATCH] winex11.drv: Update a candidate window's position with
|
||||
over-the-spot style. (try 2)
|
||||
|
||||
In the current implementation, the candidate window position of a input
|
||||
method is fixed because XNSpotLocation isn't updated after an input
|
||||
@ -17,18 +17,18 @@ is set to "over the spot" in the registry key:
|
||||
This patch was based on the original work by Muneyuki Noguchi, and
|
||||
received a lot of help from Sebastian Lackner.
|
||||
---
|
||||
dlls/user32/caret.c | 4 +++
|
||||
dlls/user32/driver.c | 14 ++++++++
|
||||
dlls/user32/user_private.h | 2 ++
|
||||
dlls/user32/caret.c | 4 ++
|
||||
dlls/user32/driver.c | 17 ++++++++
|
||||
dlls/user32/user_private.h | 2 +
|
||||
dlls/winex11.drv/winex11.drv.spec | 1 +
|
||||
dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++++++++++-
|
||||
5 files changed, 92 insertions(+), 1 deletion(-)
|
||||
dlls/winex11.drv/xim.c | 72 ++++++++++++++++++++++++++++++-
|
||||
5 files changed, 95 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/user32/caret.c b/dlls/user32/caret.c
|
||||
index 686dade..d1cde7f 100644
|
||||
index 2da7e02ca1a..1dd3ff29de4 100644
|
||||
--- a/dlls/user32/caret.c
|
||||
+++ b/dlls/user32/caret.c
|
||||
@@ -30,6 +30,8 @@
|
||||
@@ -27,6 +27,8 @@
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
@ -37,7 +37,7 @@ index 686dade..d1cde7f 100644
|
||||
#include "wine/server.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
@@ -277,6 +279,7 @@ BOOL WINAPI SetCaretPos( INT x, INT y )
|
||||
@@ -274,6 +276,7 @@ BOOL WINAPI SetCaretPos( INT x, INT y )
|
||||
r.left = x;
|
||||
r.top = y;
|
||||
CARET_DisplayCaret( hwnd, &r );
|
||||
@ -45,7 +45,7 @@ index 686dade..d1cde7f 100644
|
||||
SetSystemTimer( hwnd, TIMERID, Caret.timeout, CARET_Callback );
|
||||
}
|
||||
return ret;
|
||||
@@ -355,6 +358,7 @@ BOOL WINAPI ShowCaret( HWND hwnd )
|
||||
@@ -352,6 +355,7 @@ BOOL WINAPI ShowCaret( HWND hwnd )
|
||||
if (ret && (hidden == 1)) /* hidden was 1 so it's now 0 */
|
||||
{
|
||||
CARET_DisplayCaret( hwnd, &r );
|
||||
@ -54,10 +54,10 @@ index 686dade..d1cde7f 100644
|
||||
}
|
||||
return ret;
|
||||
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
|
||||
index 32acf28..33648b8 100644
|
||||
index 36438fa44c8..4a52900feb6 100644
|
||||
--- a/dlls/user32/driver.c
|
||||
+++ b/dlls/user32/driver.c
|
||||
@@ -155,6 +155,7 @@ static const USER_DRIVER *load_driver(void)
|
||||
@@ -149,6 +149,7 @@ static const USER_DRIVER *load_driver(void)
|
||||
GET_USER_FUNC(WindowPosChanging);
|
||||
GET_USER_FUNC(WindowPosChanged);
|
||||
GET_USER_FUNC(SystemParametersInfo);
|
||||
@ -65,7 +65,7 @@ index 32acf28..33648b8 100644
|
||||
GET_USER_FUNC(ThreadDetach);
|
||||
#undef GET_USER_FUNC
|
||||
}
|
||||
@@ -513,6 +514,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
|
||||
@@ -405,6 +406,10 @@ static BOOL CDECL nulldrv_SystemParametersInfo( UINT action, UINT int_param, voi
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ index 32acf28..33648b8 100644
|
||||
static void CDECL nulldrv_ThreadDetach( void )
|
||||
{
|
||||
}
|
||||
@@ -578,6 +583,8 @@ static USER_DRIVER null_driver =
|
||||
@@ -461,10 +466,13 @@ static USER_DRIVER null_driver =
|
||||
nulldrv_WindowPosChanged,
|
||||
/* system parameters */
|
||||
nulldrv_SystemParametersInfo,
|
||||
@ -85,7 +85,12 @@ index 32acf28..33648b8 100644
|
||||
/* thread management */
|
||||
nulldrv_ThreadDetach
|
||||
};
|
||||
@@ -774,6 +781,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW
|
||||
|
||||
+/* this line exists so that git won't apply this diff in the wrong place */
|
||||
|
||||
/**********************************************************************
|
||||
* Lazy loading user driver
|
||||
@@ -612,6 +620,11 @@ static BOOL CDECL loaderdrv_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDW
|
||||
return load_driver()->pUpdateLayeredWindow( hwnd, info, window_rect );
|
||||
}
|
||||
|
||||
@ -97,7 +102,7 @@ index 32acf28..33648b8 100644
|
||||
static USER_DRIVER lazy_load_driver =
|
||||
{
|
||||
/* keyboard functions */
|
||||
@@ -835,6 +847,8 @@ static USER_DRIVER lazy_load_driver =
|
||||
@@ -664,6 +677,10 @@ static USER_DRIVER lazy_load_driver =
|
||||
nulldrv_WindowPosChanged,
|
||||
/* system parameters */
|
||||
nulldrv_SystemParametersInfo,
|
||||
@ -106,11 +111,13 @@ index 32acf28..33648b8 100644
|
||||
/* thread management */
|
||||
nulldrv_ThreadDetach
|
||||
};
|
||||
+
|
||||
+/* this line exists so that git won't apply this diff in the wrong place */
|
||||
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
|
||||
index 68aa699..cba4aa9 100644
|
||||
index 1c7ac3355bc..f9d01fbb406 100644
|
||||
--- a/dlls/user32/user_private.h
|
||||
+++ b/dlls/user32/user_private.h
|
||||
@@ -117,6 +117,8 @@ typedef struct tagUSER_DRIVER {
|
||||
@@ -111,6 +111,8 @@ typedef struct tagUSER_DRIVER {
|
||||
void (CDECL *pWindowPosChanged)(HWND,HWND,UINT,const RECT *,const RECT *,const RECT *,const RECT *,struct window_surface*);
|
||||
/* system parameters */
|
||||
BOOL (CDECL *pSystemParametersInfo)(UINT,UINT,void*,UINT);
|
||||
@ -120,10 +127,10 @@ index 68aa699..cba4aa9 100644
|
||||
void (CDECL *pThreadDetach)(void);
|
||||
} USER_DRIVER;
|
||||
diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec
|
||||
index ceb0f56..5552bdb 100644
|
||||
index eb5f7cecc6c..108bf98f357 100644
|
||||
--- a/dlls/winex11.drv/winex11.drv.spec
|
||||
+++ b/dlls/winex11.drv/winex11.drv.spec
|
||||
@@ -53,6 +53,7 @@
|
||||
@@ -43,6 +43,7 @@
|
||||
@ cdecl WindowPosChanging(long long long ptr ptr ptr ptr) X11DRV_WindowPosChanging
|
||||
@ cdecl WindowPosChanged(long long long ptr ptr ptr ptr ptr) X11DRV_WindowPosChanged
|
||||
@ cdecl SystemParametersInfo(long long ptr long) X11DRV_SystemParametersInfo
|
||||
@ -132,10 +139,10 @@ index ceb0f56..5552bdb 100644
|
||||
|
||||
# WinTab32
|
||||
diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c
|
||||
index e51169d..069115d 100644
|
||||
index 44fe62e9006..a4567ce26a2 100644
|
||||
--- a/dlls/winex11.drv/xim.c
|
||||
+++ b/dlls/winex11.drv/xim.c
|
||||
@@ -31,6 +31,7 @@
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "x11drv.h"
|
||||
#include "imm.h"
|
||||
#include "wine/debug.h"
|
||||
@ -143,7 +150,7 @@ index e51169d..069115d 100644
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(xim);
|
||||
|
||||
@@ -471,6 +472,48 @@ static BOOL X11DRV_DestroyIC(XIC xic, XPointer p, XPointer data)
|
||||
@@ -458,6 +459,48 @@ static BOOL X11DRV_DestroyIC(XIC xic, XPointer p, XPointer data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -192,7 +199,7 @@ index e51169d..069115d 100644
|
||||
|
||||
XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
|
||||
{
|
||||
@@ -498,7 +541,7 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
|
||||
@@ -485,7 +528,7 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
|
||||
XNDestroyCallback, &destroy,
|
||||
NULL);
|
||||
data->xic = xic;
|
||||
@ -201,7 +208,7 @@ index e51169d..069115d 100644
|
||||
}
|
||||
|
||||
/* create callbacks */
|
||||
@@ -596,5 +639,32 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
|
||||
@@ -583,5 +626,32 @@ XIC X11DRV_CreateIC(XIM xim, struct x11drv_win_data *data)
|
||||
if (status != NULL)
|
||||
XFree(status);
|
||||
|
||||
@ -235,5 +242,5 @@ index e51169d..069115d 100644
|
||||
return xic;
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
2.30.2
|
||||
|
||||
|
@ -1 +1 @@
|
||||
e2aa30f21def839866b09e74b5ddd843f7e70c87
|
||||
a64861fb66be722f3a93ab73152c5d477ba3bd3e
|
||||
|
Loading…
x
Reference in New Issue
Block a user