Rebase against ca9001d6bda3084ab9bc80baa7d6e5533252c797.

This commit is contained in:
Sebastian Lackner 2015-12-13 00:19:03 +01:00
parent 42da4b38cc
commit 84730be30e
8 changed files with 190 additions and 183 deletions

View File

@ -34,11 +34,6 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [1]:**
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #39769](https://bugs.winehq.org/show_bug.cgi?id=39769))
**Bug fixes and features in Wine Staging 1.8-rc3 [269]:**
*Note: The following list only contains features and bug fixes which are not

View File

@ -1,21 +1,19 @@
From 95821cbad0ce5df59fcb591e5aab9459a388321e Mon Sep 17 00:00:00 2001
From 2db198094888b7de074fcac0f27758364d07ef55 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 10 Apr 2015 08:17:22 +0200
Subject: Revert "opengl32: Return a NULL pointer for functions requiring
unsupported or disabled extensions."
This reverts commit bfd4836867d6d90eaeae6ccbc02e37678b59b8f1 and
5c9ddc55dcf6e64d747b1a8ab01e408d4b8d55e1 and
e44f8eaa0fce02032e6c3f43052821f40eaba53b.
This reverts commit bfd4836867d6d90eaeae6ccbc02e37678b59b8f1 and following changes.
---
dlls/opengl32/wgl.c | 16 ----------------
1 file changed, 16 deletions(-)
dlls/opengl32/wgl.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index 3b817a4..75d3796 100644
index f3f78ef..75d3796 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -877,23 +877,7 @@ PROC WINAPI wglGetProcAddress( LPCSTR name )
@@ -877,24 +877,7 @@ PROC WINAPI wglGetProcAddress( LPCSTR name )
void *driver_func = funcs->wgl.p_wglGetProcAddress( name );
if (!is_extension_supported(ext_ret->extension))
@ -23,18 +21,19 @@ index 3b817a4..75d3796 100644
- unsigned int i;
- static const struct { const char *name, *alt; } alternatives[] =
- {
- { "glCopyTexSubImage3DEXT", "glCopyTexSubImage3D" }, /* needed by RuneScape */
- { "glCopyTexSubImage3DEXT", "glCopyTexSubImage3D" }, /* needed by RuneScape */
- { "glVertexAttribDivisor", "glVertexAttribDivisorARB"}, /* needed by Caffeine */
- };
-
WARN("Extension %s required for %s not supported\n", ext_ret->extension, name);
- driver_func = NULL;
-
- for (i = 0; i < sizeof(alternatives)/sizeof(alternatives[0]) && !driver_func; i++)
- for (i = 0; i < sizeof(alternatives)/sizeof(alternatives[0]); i++)
- {
- if (strcmp( name, alternatives[i].name )) continue;
- WARN("Trying alternative %s for %s\n", alternatives[i].alt, name );
- driver_func = wglGetProcAddress( alternatives[i].alt );
- WARN("Extension %s required for %s not supported, trying %s\n",
- ext_ret->extension, name, alternatives[i].alt );
- return wglGetProcAddress( alternatives[i].alt );
- }
WARN("Extension %s required for %s not supported\n", ext_ret->extension, name);
- return NULL;
- }
if (driver_func == NULL)

View File

@ -1,2 +1 @@
Fixes: [39769] Fix regression caused by blacklisting supported OpenGL extensions
Category: stable

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "97ac9d410fdd612db863fdccc538d8dd8d94d91a"
echo "ca9001d6bda3084ab9bc80baa7d6e5533252c797"
}
# Show version information
@ -4797,9 +4797,6 @@ fi
# Patchset opengl32-Revert_Disable_Ext
# |
# | This patchset fixes the following Wine bugs:
# | * [#39769] Fix regression caused by blacklisting supported OpenGL extensions
# |
# | Modified files:
# | * dlls/opengl32/wgl.c
# |

View File

@ -1,4 +1,4 @@
From 295469bf469171a96412e3b336a960b86d639b94 Mon Sep 17 00:00:00 2001
From 5fd25633a2e78ad336af898e466f4afc2e2ab1a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Tue, 21 Jan 2014 12:22:30 +0100
Subject: wined3d: Move surface locations into the resource.
@ -12,10 +12,10 @@ Subject: wined3d: Move surface locations into the resource.
5 files changed, 53 insertions(+), 53 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 2af9845..e8526d8 100644
index 6851620..28939c0 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -7851,7 +7851,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
@@ -7844,7 +7844,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_
/* Now load the surface */
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
@ -60,7 +60,7 @@ index 3761830..943a829 100644
else
SetRectEmpty(&current_rect);
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 6490235..50282c0 100644
index 94934a5..c971031 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -556,7 +556,7 @@ static void surface_prepare_system_memory(struct wined3d_surface *surface)
@ -391,7 +391,7 @@ index 6490235..50282c0 100644
surface_evict_sysmem(surface);
return;
@@ -5372,8 +5373,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5382,8 +5383,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
/* In principle this would apply to depth blits as well, but we don't
* implement those in the CPU blitter at the moment. */
@ -402,9 +402,9 @@ index 6490235..50282c0 100644
{
if (scale)
TRACE("Not doing sysmem blit because of scaling.\n");
@@ -5413,8 +5414,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
color_key = &src_surface->container->async.src_blt_color_key;
blit_op = WINED3D_BLIT_OP_COLOR_BLIT_CKEY;
@@ -5427,8 +5428,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
{
blit_op = WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST;
}
- else if ((src_surface->locations & WINED3D_LOCATION_SYSMEM)
- && !(dst_surface->locations & WINED3D_LOCATION_SYSMEM))
@ -414,10 +414,10 @@ index 6490235..50282c0 100644
/* Upload */
if (scale)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 6c6a3d3..87cd0d0 100644
index 93ede78..91a5495 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2407,7 +2407,6 @@ struct wined3d_surface
@@ -2409,7 +2409,6 @@ struct wined3d_surface
const struct wined3d_surface_ops *surface_ops;
struct wined3d_texture *container;
void *user_memory;

View File

@ -1,4 +1,4 @@
From d1aad2f4c1a9f299baf205228da8028aa1ae3883 Mon Sep 17 00:00:00 2001
From eb73b6b42378386ce8af3594094ad61cd2c61754 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Mon, 29 Apr 2013 18:49:53 +0200
Subject: wined3d: Send blits through the command stream.
@ -13,10 +13,10 @@ between surface_blt and surface_blt_ugly isn't particularly nice.
4 files changed, 229 insertions(+), 140 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index d49d3b2..e08d739 100644
index 120d688..fadba7b 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -1164,7 +1164,7 @@ static void color_fill_test(void)
@@ -1339,7 +1339,7 @@ static void color_fill_test(void)
* result on Wine.
* {D3DFMT_YUY2, "D3DFMT_YUY2", BLOCKS, 0},
* {D3DFMT_UYVY, "D3DFMT_UYVY", BLOCKS, 0}, */
@ -26,7 +26,7 @@ index d49d3b2..e08d739 100644
* supported as offscreen plain surfaces and do not support D3DUSAGE_RENDERTARGET
* when created as texture. */
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index fcc5ed7..550206f 100644
index de9fc9b..9fc92cf 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -74,6 +74,7 @@ enum wined3d_cs_op
@ -122,10 +122,10 @@ index fcc5ed7..550206f 100644
{
struct wined3d_cs_block *block;
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 5e44494..31c1a29 100644
index 3c1ba32..c437fb3 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4891,14 +4891,13 @@ const struct blit_shader cpu_blit = {
@@ -4846,14 +4846,13 @@ const struct blit_shader cpu_blit = {
cpu_blit_blit_surface,
};
@ -142,9 +142,9 @@ index 5e44494..31c1a29 100644
BOOL scale, convert;
static const DWORD simple_blit = WINEDDBLT_ASYNC
@@ -4909,111 +4908,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
| WINEDDBLT_DEPTHFILL
| WINEDDBLT_DONOTWAIT;
@@ -4865,111 +4864,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
| WINEDDBLT_DONOTWAIT
| WINEDDBLT_ALPHATEST;
- TRACE("dst_surface %p, dst_rect_in %s, src_surface %p, src_rect_in %s, flags %#x, fx %p, filter %s.\n",
- dst_surface, wine_dbgstr_rect(dst_rect_in), src_surface, wine_dbgstr_rect(src_rect_in),
@ -254,7 +254,7 @@ index 5e44494..31c1a29 100644
if (!device->d3d_initialized)
{
WARN("D3D not initialized, using fallback.\n");
@@ -5056,8 +4950,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5012,8 +4906,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
}
scale = src_surface
@ -265,7 +265,7 @@ index 5e44494..31c1a29 100644
convert = src_surface && src_surface->resource.format->id != dst_surface->resource.format->id;
dst_ds_flags = dst_surface->container->resource.format_flags
@@ -5077,22 +4971,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5033,22 +4927,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
TRACE("Depth fill.\n");
if (!surface_convert_depth_to_float(dst_surface, fx->u5.dwFillDepth, &depth))
@ -293,7 +293,7 @@ index 5e44494..31c1a29 100644
}
}
else
@@ -5123,8 +5011,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5079,8 +4967,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
palette, fx->u5.dwFillColor, &color))
goto fallback;
@ -304,7 +304,7 @@ index 5e44494..31c1a29 100644
}
else
{
@@ -5152,9 +5040,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5112,9 +5000,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
TRACE("Not doing upload because of format conversion.\n");
else
{
@ -316,7 +316,7 @@ index 5e44494..31c1a29 100644
{
if (!wined3d_resource_is_offscreen(&dst_surface->container->resource))
{
@@ -5163,7 +5051,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5123,7 +5011,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
dst_surface->container->resource.draw_binding);
context_release(context);
}
@ -325,7 +325,7 @@ index 5e44494..31c1a29 100644
}
}
}
@@ -5187,50 +5075,193 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5147,51 +5035,194 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
wined3d_swapchain_present(dst_swapchain, NULL, NULL, dst_swapchain->win_handle, NULL, 0);
dst_swapchain->desc.swap_effect = swap_effect;
@ -364,9 +364,10 @@ index 5e44494..31c1a29 100644
+ dst_rect, dst_surface->resource.usage, dst_surface->resource.pool, dst_surface->resource.format);
if (blitter)
{
- blitter->blit_surface(device, filter, src_surface, &src_rect, dst_surface, &dst_rect, color_key);
blitter->blit_surface(device, blit_op, filter, src_surface,
- &src_rect, dst_surface, &dst_rect, color_key);
- return WINED3D_OK;
+ blitter->blit_surface(device, filter, src_surface, src_rect, dst_surface, dst_rect, color_key);
+ src_rect, dst_surface, dst_rect, color_key);
+ return;
}
}
@ -533,10 +534,10 @@ index 5e44494..31c1a29 100644
static const struct wined3d_resource_ops surface_resource_ops =
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 4010e4d..80c9880 100644
index 9979cb0..cca82ab 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2490,6 +2490,9 @@ void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
@@ -2522,6 +2522,9 @@ void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
@ -546,7 +547,7 @@ index 4010e4d..80c9880 100644
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
@@ -2638,6 +2641,7 @@ struct wined3d_cs
@@ -2669,6 +2672,7 @@ struct wined3d_cs
struct wined3d_device *device;
struct wined3d_state state;
HANDLE thread;
@ -554,7 +555,7 @@ index 4010e4d..80c9880 100644
DWORD tls_idx;
struct wined3d_surface *onscreen_depth_stencil;
@@ -2716,6 +2720,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
@@ -2747,6 +2751,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
GLenum primitive_type) DECLSPEC_HIDDEN;
void wined3d_cs_emit_set_light(struct wined3d_cs *cs, const struct wined3d_light_info *light) DECLSPEC_HIDDEN;
void wined3d_cs_emit_set_light_enable(struct wined3d_cs *cs, UINT idx, BOOL enable) DECLSPEC_HIDDEN;
@ -566,5 +567,5 @@ index 4010e4d..80c9880 100644
/* Direct3D terminology with little modifications. We do not have an issued state
* because only the driver knows about it, but we have a created state because d3d
--
2.5.1
2.6.2

View File

@ -1,4 +1,4 @@
From b306273dc9e8ef9cdc53affc64098399bad4e65c Mon Sep 17 00:00:00 2001
From 649e5b815399a26eb4f3ace31d604310771a9eac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 3 Oct 2013 19:23:24 +0200
Subject: wined3d: Remove software cursor support.
@ -9,15 +9,15 @@ in the main thread.
FIXME: Make sure wined3d_device_show_cursor returns the correct value if a software cursor is set.
---
dlls/wined3d/device.c | 64 ------------------------------------------
dlls/wined3d/swapchain.c | 21 --------------
dlls/wined3d/swapchain.c | 29 -------------------
dlls/wined3d/wined3d_private.h | 1 -
3 files changed, 86 deletions(-)
3 files changed, 94 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index b44d304..e8871b2 100644
index 70fb2cb..e9ef79f 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -1039,8 +1039,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
@@ -1073,8 +1073,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
if (device->logo_texture)
wined3d_texture_decref(device->logo_texture);
@ -26,7 +26,7 @@ index b44d304..e8871b2 100644
/* Release the buffers (with sanity checks).
* FIXME: Move this move into a separate patch. I think the idea
@@ -4144,48 +4142,6 @@ void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device,
@@ -4181,48 +4179,6 @@ void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device,
wined3d_rendertarget_view_decref(prev);
}
@ -75,7 +75,7 @@ index b44d304..e8871b2 100644
HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device,
UINT x_hotspot, UINT y_hotspot, struct wined3d_texture *texture, unsigned int sub_resource_idx)
{
@@ -4204,12 +4160,6 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
@@ -4241,12 +4197,6 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
cursor_image = surface_from_resource(sub_resource);
@ -88,7 +88,7 @@ index b44d304..e8871b2 100644
if (cursor_image->resource.format->id != WINED3DFMT_B8G8R8A8_UNORM)
{
WARN("Surface %p has an invalid format %s.\n",
@@ -4237,11 +4187,6 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
@@ -4274,11 +4224,6 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
* release it after setting the cursor image. Windows doesn't
* addref the set surface, so we can't do this either without
* creating circular refcount dependencies. */
@ -100,7 +100,7 @@ index b44d304..e8871b2 100644
if (cursor_image->resource.width == 32 && cursor_image->resource.height == 32)
{
@@ -4346,10 +4291,6 @@ BOOL CDECL wined3d_device_show_cursor(struct wined3d_device *device, BOOL show)
@@ -4383,10 +4328,6 @@ BOOL CDECL wined3d_device_show_cursor(struct wined3d_device *device, BOOL show)
else
SetCursor(NULL);
}
@ -111,7 +111,7 @@ index b44d304..e8871b2 100644
return oldVisible;
}
@@ -4504,11 +4445,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
@@ -4541,11 +4482,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
wined3d_texture_decref(device->logo_texture);
device->logo_texture = NULL;
}
@ -124,10 +124,10 @@ index b44d304..e8871b2 100644
if (device->state.fb.render_targets)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 5ded5d0..94ca18f 100644
index 77eb532..d0c7c54 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -455,27 +455,6 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@@ -455,35 +455,6 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
NULL, WINED3D_TEXF_POINT);
}
@ -143,23 +143,31 @@ index 5ded5d0..94ca18f 100644
- swapchain->device->xScreenSpace + swapchain->device->cursorWidth - swapchain->device->xHotSpot,
- swapchain->device->yScreenSpace + swapchain->device->cursorHeight - swapchain->device->yHotSpot,
- };
- RECT src_rect =
- {
- 0, 0,
- swapchain->device->cursor_texture->resource.width,
- swapchain->device->cursor_texture->resource.height
- };
- const RECT clip_rect = {0, 0, back_buffer->resource.width, back_buffer->resource.height};
-
- TRACE("Rendering the software cursor.\n");
-
- if (swapchain->desc.windowed)
- MapWindowPoints(NULL, swapchain->win_handle, (POINT *)&destRect, 2);
- wined3d_surface_blt(back_buffer, &destRect, cursor, NULL, WINEDDBLT_ALPHATEST,
- NULL, WINED3D_TEXF_POINT);
- if (wined3d_clip_blit(&clip_rect, &destRect, &src_rect))
- wined3d_surface_blt(back_buffer, &destRect, cursor, &src_rect, WINEDDBLT_ALPHATEST,
- NULL, WINED3D_TEXF_POINT);
- }
-
TRACE("Presenting HDC %p.\n", context->hdc);
render_to_fbo = swapchain->render_to_fbo;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 5f29243..f51a6d4 100644
index 9450bdc..27a4a87 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2137,7 +2137,6 @@ struct wined3d_device
@@ -2151,7 +2151,6 @@ struct wined3d_device
UINT xScreenSpace;
UINT yScreenSpace;
UINT cursorWidth, cursorHeight;
@ -168,5 +176,5 @@ index 5f29243..f51a6d4 100644
/* The Wine logo texture */
--
2.6.1
2.6.2

File diff suppressed because it is too large Load Diff