Rebase against ebb320fa37f2ad27649f571946af038e9d70ced2.

This commit is contained in:
Sebastian Lackner 2015-10-08 19:38:23 +02:00
parent fbce85675d
commit 46bd2a545f
5 changed files with 54 additions and 53 deletions

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "fca636a01cfd1ef213326125582139bdd72a287a"
echo "ebb320fa37f2ad27649f571946af038e9d70ced2"
}
# Show version information

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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;