mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against ebb320fa37f2ad27649f571946af038e9d70ced2.
This commit is contained in:
parent
fbce85675d
commit
46bd2a545f
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "fca636a01cfd1ef213326125582139bdd72a287a"
|
||||
echo "ebb320fa37f2ad27649f571946af038e9d70ced2"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 28ac147348a282c737e546db1c83c213060915a0 Mon Sep 17 00:00:00 2001
|
||||
From d1b60dedae0926dd9dd413f721103700624f8da6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 17 Nov 2013 18:44:48 +0100
|
||||
Subject: wined3d: Invalidate containers via callback.
|
||||
@ -13,7 +13,7 @@ Subject: wined3d: Invalidate containers via callback.
|
||||
6 files changed, 30 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
index 989026f..d9bc820 100644
|
||||
index 19df398..7adfe79 100644
|
||||
--- a/dlls/wined3d/buffer.c
|
||||
+++ b/dlls/wined3d/buffer.c
|
||||
@@ -1123,11 +1123,17 @@ static ULONG buffer_resource_decref(struct wined3d_resource *resource)
|
||||
@ -35,10 +35,10 @@ index 989026f..d9bc820 100644
|
||||
|
||||
static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device *device,
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 89865ef..a63eab8 100644
|
||||
index e54781f..35a1a14 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -375,4 +375,6 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
@@ -458,4 +458,6 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
TRACE("Resource %p, setting %s.\n", resource, wined3d_debug_location(location));
|
||||
resource->locations &= ~location;
|
||||
TRACE("new location flags are %s.\n", wined3d_debug_location(resource->locations));
|
||||
@ -46,10 +46,10 @@ index 89865ef..a63eab8 100644
|
||||
+ resource->resource_ops->resource_location_invalidated(resource, location);
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 909d405..1a57219 100644
|
||||
index 1d22d49..bbf485f 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1273,11 +1273,17 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1219,11 +1219,17 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
resource_unload(resource);
|
||||
}
|
||||
|
||||
@ -68,10 +68,10 @@ index 909d405..1a57219 100644
|
||||
|
||||
static const struct wined3d_surface_ops surface_ops =
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 522ffd6..f2bba1a 100644
|
||||
index bd1bdd7..d4a5f54 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1036,11 +1036,17 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
||||
@@ -969,11 +969,17 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
||||
wined3d_texture_unload_gl_texture(texture);
|
||||
}
|
||||
|
||||
@ -90,10 +90,10 @@ index 522ffd6..f2bba1a 100644
|
||||
|
||||
static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 722f92e..2cc0baf 100644
|
||||
index 12b9a3b..01ba73a 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -632,10 +632,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -604,10 +604,7 @@ HRESULT wined3d_volume_map(struct wined3d_volume *volume,
|
||||
}
|
||||
|
||||
if (!(flags & (WINED3D_MAP_NO_DIRTY_UPDATE | WINED3D_MAP_READONLY)))
|
||||
@ -104,8 +104,8 @@ index 722f92e..2cc0baf 100644
|
||||
|
||||
volume->resource.map_count++;
|
||||
|
||||
@@ -689,11 +686,20 @@ static ULONG volume_resource_decref(struct wined3d_resource *resource)
|
||||
return wined3d_volume_decref(volume_from_resource(resource));
|
||||
@@ -662,11 +659,20 @@ static ULONG volume_resource_decref(struct wined3d_resource *resource)
|
||||
return wined3d_texture_decref(volume->container);
|
||||
}
|
||||
|
||||
+static void wined3d_volume_location_invalidated(struct wined3d_resource *resource, DWORD location)
|
||||
@ -126,10 +126,10 @@ index 722f92e..2cc0baf 100644
|
||||
|
||||
static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture *container,
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index fd82ec3..acee894 100644
|
||||
index c317b96..25af997 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2068,6 +2068,7 @@ struct wined3d_resource_ops
|
||||
@@ -2145,6 +2145,7 @@ struct wined3d_resource_ops
|
||||
ULONG (*resource_incref)(struct wined3d_resource *resource);
|
||||
ULONG (*resource_decref)(struct wined3d_resource *resource);
|
||||
void (*resource_unload)(struct wined3d_resource *resource);
|
||||
@ -138,5 +138,5 @@ index fd82ec3..acee894 100644
|
||||
|
||||
struct wined3d_resource
|
||||
--
|
||||
2.2.1
|
||||
2.6.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1ac9592825543babf6c279659888dfad48f5d3bc Mon Sep 17 00:00:00 2001
|
||||
From 229f5e781649be372e0c19c65009bd776677b251 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 19 Sep 2013 14:55:00 +0200
|
||||
Subject: wined3d: Move check_block_align to resource.c
|
||||
@ -76,11 +76,11 @@ index 469790e..4e17620 100644
|
||||
|
||||
static BOOL surface_check_block_align_rect(struct wined3d_surface *surface, const RECT *rect)
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 13ec6e1..676f0b1 100644
|
||||
index f12d8d6..d182a46 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -360,34 +360,6 @@ static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume)
|
||||
return wined3d_texture_decref(volume->container);
|
||||
@@ -346,34 +346,6 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
resource_unload(resource);
|
||||
}
|
||||
|
||||
-static BOOL volume_check_block_align(const struct wined3d_volume *volume,
|
||||
@ -114,7 +114,7 @@ index 13ec6e1..676f0b1 100644
|
||||
static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *volume,
|
||||
const struct wined3d_box *box)
|
||||
{
|
||||
@@ -438,7 +410,7 @@ HRESULT wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -424,7 +396,7 @@ HRESULT wined3d_volume_map(struct wined3d_volume *volume,
|
||||
WARN("Map box is invalid.\n");
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 59e33f230ca7b23bd372522e155377b2b66ec66e Mon Sep 17 00:00:00 2001
|
||||
From 40087b5024636170ee3bc5c4ed3436898a97e21c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 2 Oct 2013 22:54:57 +0200
|
||||
Subject: wined3d: Clean up volume resource data through the CS.
|
||||
@ -70,7 +70,7 @@ index 54b6d1a..18b556d 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index cb91d28..088762b 100644
|
||||
index 15c80ce..eb0341a 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -313,10 +313,8 @@ void wined3d_volume_destroy(struct wined3d_volume *volume)
|
||||
@ -85,7 +85,7 @@ index cb91d28..088762b 100644
|
||||
}
|
||||
|
||||
static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -357,6 +355,11 @@ static ULONG CDECL wined3d_volume_incref(struct wined3d_volume *volume)
|
||||
@@ -425,6 +423,11 @@ static ULONG volume_resource_incref(struct wined3d_resource *resource)
|
||||
return wined3d_texture_incref(volume->container);
|
||||
}
|
||||
|
||||
@ -94,9 +94,9 @@ index cb91d28..088762b 100644
|
||||
+ HeapFree(GetProcessHeap(), 0, volume);
|
||||
+}
|
||||
+
|
||||
static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume)
|
||||
static ULONG volume_resource_decref(struct wined3d_resource *resource)
|
||||
{
|
||||
TRACE("Forwarding to container %p.\n", volume->container);
|
||||
struct wined3d_volume *volume = volume_from_resource(resource);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index f4cc159..04a403a 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
|
@ -817,26 +817,11 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
}
|
||||
|
||||
/* The texture name is managed by the container. */
|
||||
@@ -355,6 +597,7 @@
|
||||
return wined3d_texture_incref(volume->container);
|
||||
@@ -348,6 +590,36 @@
|
||||
resource_unload(resource);
|
||||
}
|
||||
|
||||
+#if defined(STAGING_CSMT)
|
||||
void wined3d_volume_cleanup_cs(struct wined3d_volume *volume)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, volume);
|
||||
@@ -365,6 +608,41 @@
|
||||
TRACE("Forwarding to container %p.\n", volume->container);
|
||||
|
||||
return wined3d_texture_decref(volume->container);
|
||||
+#else /* STAGING_CSMT */
|
||||
+static ULONG CDECL wined3d_volume_decref(struct wined3d_volume *volume)
|
||||
+{
|
||||
+ TRACE("Forwarding to container %p.\n", volume->container);
|
||||
+
|
||||
+ return wined3d_texture_decref(volume->container);
|
||||
+}
|
||||
+
|
||||
+#if !defined(STAGING_CSMT)
|
||||
+static BOOL volume_check_block_align(const struct wined3d_volume *volume,
|
||||
+ const struct wined3d_box *box)
|
||||
+{
|
||||
@ -863,11 +848,13 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
+ return FALSE;
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+#endif /* STAGING_CSMT */
|
||||
}
|
||||
|
||||
static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *volume,
|
||||
@@ -392,6 +670,7 @@
|
||||
const struct wined3d_box *box)
|
||||
{
|
||||
@@ -373,6 +645,7 @@
|
||||
HRESULT wined3d_volume_map(struct wined3d_volume *volume,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
||||
{
|
||||
@ -875,7 +862,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
HRESULT hr;
|
||||
const struct wined3d_format *format = volume->resource.format;
|
||||
const unsigned int fmt_flags = volume->container->resource.format_flags;
|
||||
@@ -432,6 +711,177 @@
|
||||
@@ -413,6 +686,177 @@
|
||||
if (hr == WINEDDERR_NOTLOCKED)
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
return hr;
|
||||
@ -1053,15 +1040,29 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
}
|
||||
|
||||
static ULONG volume_resource_incref(struct wined3d_resource *resource)
|
||||
@@ -444,6 +894,7 @@
|
||||
return wined3d_volume_decref(volume_from_resource(resource));
|
||||
@@ -423,11 +867,13 @@
|
||||
return wined3d_texture_incref(volume->container);
|
||||
}
|
||||
|
||||
+#if defined(STAGING_CSMT)
|
||||
void wined3d_volume_cleanup_cs(struct wined3d_volume *volume)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, volume);
|
||||
}
|
||||
|
||||
+#endif /* STAGING_CSMT */
|
||||
static ULONG volume_resource_decref(struct wined3d_resource *resource)
|
||||
{
|
||||
struct wined3d_volume *volume = volume_from_resource(resource);
|
||||
@@ -436,6 +882,7 @@
|
||||
return wined3d_texture_decref(volume->container);
|
||||
}
|
||||
|
||||
+#if defined(STAGING_CSMT)
|
||||
static void wined3d_volume_location_invalidated(struct wined3d_resource *resource, DWORD location)
|
||||
{
|
||||
struct wined3d_volume *volume = volume_from_resource(resource);
|
||||
@@ -459,6 +910,13 @@
|
||||
@@ -451,6 +898,13 @@
|
||||
volume_unload,
|
||||
wined3d_volume_location_invalidated,
|
||||
wined3d_volume_load_location,
|
||||
@ -1075,7 +1076,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
};
|
||||
|
||||
static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture *container,
|
||||
@@ -490,7 +948,11 @@
|
||||
@@ -482,7 +936,11 @@
|
||||
}
|
||||
|
||||
volume->texture_level = level;
|
||||
@ -1087,7 +1088,7 @@ diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
|
||||
if (desc->pool == WINED3D_POOL_DEFAULT && desc->usage & WINED3DUSAGE_DYNAMIC
|
||||
&& gl_info->supported[ARB_PIXEL_BUFFER_OBJECT]
|
||||
@@ -498,7 +960,9 @@
|
||||
@@ -490,7 +948,9 @@
|
||||
{
|
||||
wined3d_resource_free_sysmem(&volume->resource);
|
||||
volume->resource.map_binding = WINED3D_LOCATION_BUFFER;
|
||||
|
Loading…
Reference in New Issue
Block a user