You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 4eaaf06ce4e5d7424eec2cf303c8256610544b39.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
From 01509cc439709029511b1781878bb6bd8c67a8ab Mon Sep 17 00:00:00 2001
|
||||
From 9316955f860efa52c6b58edb4998c120bd43c377 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 12 Feb 2017 00:08:28 +0100
|
||||
Subject: wined3d: Use priority queue for update_sub_resource.
|
||||
@@ -9,10 +9,10 @@ Subject: wined3d: Use priority queue for update_sub_resource.
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 1fbf48ec94b..7ee2fe18f49 100644
|
||||
index f146cbe4633..8dea530b413 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -2123,7 +2123,7 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
@@ -2143,7 +2143,7 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
{
|
||||
struct wined3d_cs_update_sub_resource *op;
|
||||
|
||||
@@ -22,10 +22,10 @@ index 1fbf48ec94b..7ee2fe18f49 100644
|
||||
op->resource = resource;
|
||||
op->sub_resource_idx = sub_resource_idx;
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 734f818692c..60d24c38319 100644
|
||||
index 07d5970e4b3..56d52952a10 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4111,6 +4111,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
@@ -4286,6 +4286,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
TRACE("device %p, resource %p, sub_resource_idx %u, box %s, data %p, row_pitch %u, depth_pitch %u.\n",
|
||||
device, resource, sub_resource_idx, debug_box(box), data, row_pitch, depth_pitch);
|
||||
|
||||
@@ -35,5 +35,5 @@ index 734f818692c..60d24c38319 100644
|
||||
{
|
||||
if (sub_resource_idx > 0)
|
||||
--
|
||||
2.11.0
|
||||
2.12.2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e17eeff3044b2a6417c3232b3e8a5fe4e28b059e Mon Sep 17 00:00:00 2001
|
||||
From 6c606d8f44420417fc8cbb248f57556a26125d0b 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: wined3d: Improve wined3d_cs_emit_update_sub_resource.
|
||||
@@ -10,10 +10,10 @@ Subject: wined3d: Improve wined3d_cs_emit_update_sub_resource.
|
||||
3 files changed, 69 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index c8bd8adc82e..7a380905179 100644
|
||||
index 8dea530b413..fc67672fff2 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -400,6 +400,7 @@ struct wined3d_cs_update_sub_resource
|
||||
@@ -401,6 +401,7 @@ struct wined3d_cs_update_sub_resource
|
||||
unsigned int sub_resource_idx;
|
||||
struct wined3d_box box;
|
||||
struct wined3d_sub_resource_data data;
|
||||
@@ -21,7 +21,7 @@ index c8bd8adc82e..7a380905179 100644
|
||||
};
|
||||
|
||||
struct wined3d_cs_add_dirty_texture_region
|
||||
@@ -2123,6 +2124,49 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
@@ -2142,6 +2143,49 @@ 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;
|
||||
@@ -71,8 +71,8 @@ index c8bd8adc82e..7a380905179 100644
|
||||
|
||||
op = cs->ops->require_space(cs, sizeof(*op), 1);
|
||||
op->opcode = WINED3D_CS_OP_UPDATE_SUB_RESOURCE;
|
||||
@@ -2234,6 +2278,11 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_ADD_DIRTY_TEXTURE_REGION */ wined3d_cs_exec_add_dirty_texture_region,
|
||||
@@ -2282,6 +2326,11 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_CLEAR_UNORDERED_ACCESS_VIEW */ wined3d_cs_exec_clear_unordered_access_view,
|
||||
};
|
||||
|
||||
+static BOOL wined3d_cs_st_check_space(struct wined3d_cs *cs, size_t size, int priority)
|
||||
@@ -83,7 +83,7 @@ index c8bd8adc82e..7a380905179 100644
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size, int priority)
|
||||
{
|
||||
if (size > (cs->data_size - cs->end))
|
||||
@@ -2287,6 +2336,7 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs)
|
||||
@@ -2335,6 +2384,7 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs)
|
||||
|
||||
static const struct wined3d_cs_ops wined3d_cs_st_ops =
|
||||
{
|
||||
@@ -91,7 +91,7 @@ index c8bd8adc82e..7a380905179 100644
|
||||
wined3d_cs_st_require_space,
|
||||
wined3d_cs_st_submit,
|
||||
wined3d_cs_st_finish,
|
||||
@@ -2315,6 +2365,23 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs)
|
||||
@@ -2363,6 +2413,23 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs)
|
||||
SetEvent(cs->event);
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ index c8bd8adc82e..7a380905179 100644
|
||||
static void *wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, int priority)
|
||||
{
|
||||
struct wined3d_cs_queue *queue = priority ? &cs->prio_queue : &cs->norm_queue;
|
||||
@@ -2394,6 +2461,7 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs)
|
||||
@@ -2444,6 +2511,7 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs)
|
||||
|
||||
static const struct wined3d_cs_ops wined3d_cs_mt_ops =
|
||||
{
|
||||
@@ -124,10 +124,10 @@ index c8bd8adc82e..7a380905179 100644
|
||||
wined3d_cs_mt_submit,
|
||||
wined3d_cs_mt_finish,
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 26872ec5ec5..44e9a18fd22 100644
|
||||
index 1e17106cddc..adf6ded131f 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4256,8 +4256,6 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
@@ -4287,8 +4287,6 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
TRACE("device %p, resource %p, sub_resource_idx %u, box %s, data %p, row_pitch %u, depth_pitch %u.\n",
|
||||
device, resource, sub_resource_idx, debug_box(box), data, row_pitch, depth_pitch);
|
||||
|
||||
@@ -137,10 +137,10 @@ index 26872ec5ec5..44e9a18fd22 100644
|
||||
{
|
||||
if (sub_resource_idx > 0)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index eca14c4a819..bde0e9f47b9 100644
|
||||
index b647f4e23b4..093f33eee77 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3265,6 +3265,7 @@ struct wined3d_cs_queue
|
||||
@@ -3267,6 +3267,7 @@ struct wined3d_cs_queue
|
||||
|
||||
struct wined3d_cs_ops
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user