Rebase against afe4f54bb439cfa26ca72968cec2da357ea8836e

This commit is contained in:
Alistair Leslie-Hughes 2018-03-17 10:29:06 +11:00
parent 3f981ccb7f
commit 495f9db49c
4 changed files with 27 additions and 47 deletions

View File

@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "bf7b21ec7b587215385c210e695cfa42e19efe4c"
echo "afe4f54bb439cfa26ca72968cec2da357ea8836e"
}
# Show version information
version()
{
echo "Wine Staging 3.4 (Unreleased)"
echo "Wine Staging 3.4"
echo "Copyright (C) 2014-2018 the Wine Staging project authors."
echo "Copyright (C) 2018 Alistair Leslie-Hughes"
echo ""

View File

@ -1,14 +1,14 @@
From 2f71ecab17bc74a8771dcd6c0ea6ebc1f741bd01 Mon Sep 17 00:00:00 2001
From 81ccd036b36dcae299188799de5cf27dd1f3a480 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 27 Aug 2016 22:19:25 +0200
Subject: [PATCH] wined3d: Add is_power_of_two helper function.
---
dlls/wined3d/texture.c | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
dlls/wined3d/texture.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index e1f02a5..ce5c7e8 100644
index ba0fa63e80d..9fc0d22ed41 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -133,6 +133,11 @@ static DWORD wined3d_resource_access_from_location(DWORD location)
@ -23,7 +23,7 @@ index e1f02a5..ce5c7e8 100644
static void wined3d_texture_evict_sysmem(struct wined3d_texture *texture)
{
struct wined3d_texture_sub_resource *sub_resource;
@@ -1558,7 +1563,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
@@ -1472,7 +1477,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
else
texture->target = GL_TEXTURE_2D;
@ -32,26 +32,6 @@ index e1f02a5..ce5c7e8 100644
&& !gl_info->supported[ARB_TEXTURE_RECTANGLE] && !gl_info->supported[WINED3D_GL_NORMALIZED_TEXRECT])
{
texture->flags |= WINED3D_TEXTURE_COND_NP2_EMULATED;
@@ -2716,18 +2721,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
if (!gl_info->supported[ARB_TEXTURE_NON_POWER_OF_TWO])
{
- UINT pow2_w, pow2_h, pow2_d;
- pow2_w = 1;
- while (pow2_w < desc->width)
- pow2_w <<= 1;
- pow2_h = 1;
- while (pow2_h < desc->height)
- pow2_h <<= 1;
- pow2_d = 1;
- while (pow2_d < desc->depth)
- pow2_d <<= 1;
-
- if (pow2_w != desc->width || pow2_h != desc->height || pow2_d != desc->depth)
+ if (!is_power_of_two(desc->width) || !is_power_of_two(desc->height) || !is_power_of_two(desc->depth))
{
if (desc->usage & WINED3DUSAGE_SCRATCH)
{
--
1.9.1
2.16.2

View File

@ -1,4 +1,4 @@
From 2d29b9be9fd47ae00402151aab76fd89f37d9e81 Mon Sep 17 00:00:00 2001
From 011a76f062774cfa6a4f6081d3ab773ffbb9f93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 25 Aug 2016 19:24:47 +0200
Subject: [PATCH] wined3d: Create dummy 1d textures and surfaces.
@ -9,7 +9,7 @@ Subject: [PATCH] wined3d: Create dummy 1d textures and surfaces.
2 files changed, 168 insertions(+)
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index 97f7aec..f340217 100644
index 97f7aec4e12..f3402179acf 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -75,6 +75,7 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
@ -21,10 +21,10 @@ index 97f7aec..f340217 100644
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_TEX_RECT},
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_RB},
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index ce5c7e8..5685acc 100644
index 9fc0d22ed41..73874725ca6 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -1801,6 +1801,40 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
@@ -1715,6 +1715,40 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
context, box, data, row_pitch, slice_pitch);
}
@ -65,9 +65,9 @@ index ce5c7e8..5685acc 100644
static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx,
const struct wined3d_context *context, const struct wined3d_box *box,
const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch)
@@ -2178,6 +2212,135 @@ static const struct wined3d_resource_ops texture_resource_ops =
texture_resource_sub_resource_unmap,
};
@@ -2411,6 +2445,135 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc
return WINED3D_OK;
}
+static HRESULT texture1d_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
+ UINT layer_count, UINT level_count, struct wined3d_device *device, void *parent,
@ -128,8 +128,8 @@ index ce5c7e8..5685acc 100644
+ }
+ }
+
+ if (FAILED(hr = wined3d_texture_init(texture, &texture1d_ops, layer_count, level_count, desc,
+ 0, device, parent, parent_ops, &texture_resource_ops)))
+ if (FAILED(hr = wined3d_texture_init(texture, desc, layer_count, level_count,
+ 0, device, parent, parent_ops, &texture1d_ops)))
+ {
+ WARN("Failed to initialize texture, returning %#x.\n", hr);
+ return hr;
@ -167,8 +167,8 @@ index ce5c7e8..5685acc 100644
+ wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_SYSMEM);
+ }
+
+ if (FAILED(hr = device_parent->ops->surface_created(device_parent,
+ texture, i, &sub_resource->parent, &sub_resource->parent_ops)))
+ if (FAILED(hr = device_parent->ops->texture_sub_resource_created(device_parent,
+ desc->resource_type, texture, i, &sub_resource->parent, &sub_resource->parent_ops)))
+ {
+ WARN("Failed to create sub-resource parent, hr %#x.\n", hr);
+ sub_resource->parent = NULL;
@ -198,10 +198,10 @@ index ce5c7e8..5685acc 100644
+ return WINED3D_OK;
+}
+
static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
unsigned int layer_count, unsigned int level_count, DWORD flags, struct wined3d_device *device,
void *parent, const struct wined3d_parent_ops *parent_ops)
@@ -3075,6 +3238,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
/* This call just uploads data, the caller is responsible for binding the
* correct texture. */
/* Context activation is done by the caller. */
@@ -2985,6 +3148,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
switch (desc->resource_type)
{
@ -210,8 +210,8 @@ index ce5c7e8..5685acc 100644
+ break;
+
case WINED3D_RTYPE_TEXTURE_2D:
hr = texture_init(object, desc, layer_count, level_count, flags, device, parent, parent_ops);
break;
hr = wined3d_texture_init(object, desc, layer_count, level_count,
flags, device, parent, parent_ops, &texture2d_ops);
--
1.9.1
2.16.2

View File

@ -1 +1 @@
Wine Staging 3.4 (Unreleased)
Wine Staging 3.4