Remove various disabled patchsets.

This commit is contained in:
Sebastian Lackner 2017-02-10 21:17:10 +01:00
parent bdc0bd9ac4
commit 5f82b6610f
13 changed files with 0 additions and 1045 deletions

View File

@ -1,35 +0,0 @@
From cdec706cd4fcff6adee4a40ddcf0c2072982b56e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 21 Jan 2017 22:13:09 +0100
Subject: wined3d: Handle no render target view case when setting scissors.
---
dlls/wined3d/state.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 3c0bb5eb132..b7050be1b3b 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -4853,8 +4853,16 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
UINT height;
UINT width;
- wined3d_rendertarget_view_get_drawable_size(target, context, &width, &height);
- gl_info->gl_ops.gl.p_glScissor(r->left, height - r->bottom, r->right - r->left, r->bottom - r->top);
+ if (target)
+ {
+ wined3d_rendertarget_view_get_drawable_size(target, context, &width, &height);
+ gl_info->gl_ops.gl.p_glScissor(r->left, height - r->bottom, r->right - r->left, r->bottom - r->top);
+ }
+ else
+ {
+ /* There is nothing to render to anyway */
+ gl_info->gl_ops.gl.p_glScissor(0, 0, 0, 0);
+ }
}
checkGLcall("glScissor");
}
--
2.11.0

View File

@ -1,26 +0,0 @@
From f0c26f58cc4c774adde80d9b8c02ca7b94adcaa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 21 Jan 2017 22:17:32 +0100
Subject: wined3d: Set draw buffer mask to zero (GL_NONE) when no render target
view is attached.
---
dlls/wined3d/context.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 6112b40e60f..d168c959e30 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -2724,7 +2724,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO)
return context_generate_rt_mask_no_fbo(context, wined3d_rendertarget_view_get_surface(rts[0])->container);
else if (!context->render_offscreen)
- return context_generate_rt_mask_from_resource(rts[0]->resource);
+ return rts[0] ? context_generate_rt_mask_from_resource(rts[0]->resource) : 0;
rt_mask = ps ? ps->reg_maps.rt_mask : 1;
rt_mask &= context->d3d_info->valid_rt_mask;
--
2.11.0

View File

@ -1,2 +0,0 @@
Fixes: Fix crash when trying to rendering without render target
Disabled: true

View File

@ -1,48 +0,0 @@
From 5a0804116847f903004cb018df55938f8363b822 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 5 Nov 2015 01:55:50 +0100
Subject: Revert "wined3d: Call wglGetPixelFormat() through the gl_ops table."
This reverts commit b53256b8b752855576252cc2290dfbc9cb0f1280.
---
dlls/wined3d/context.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 1692d0d..13b8471 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -820,7 +820,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
if (dc == context->hdc && context->hdc_is_private && context->hdc_has_format)
return TRUE;
- current = gl_info->gl_ops.wgl.p_wglGetPixelFormat(dc);
+ current = GetPixelFormat(dc);
if (current == format) goto success;
if (!current)
@@ -1219,7 +1219,7 @@ static void context_enter(struct wined3d_context *context)
context->needs_set = 1;
}
else if (!context->needs_set && !(context->hdc_is_private && context->hdc_has_format)
- && context->pixel_format != context->gl_info->gl_ops.wgl.p_wglGetPixelFormat(context->hdc))
+ && context->pixel_format != GetPixelFormat(context->hdc))
context->needs_set = 1;
}
}
@@ -1588,10 +1588,10 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
goto out;
}
- ret->gl_info = gl_info;
-
context_enter(ret);
+ ret->gl_info = gl_info;
+
if (!context_set_pixel_format(ret, hdc, hdc_is_private, pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n", pixel_format, hdc);
--
2.6.2

View File

@ -1,106 +0,0 @@
From 5b04c29a2a330612a11d53e72d32487315efb085 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:46:53 -0500
Subject: Revert "wined3d: Track if a context's private hdc has had its pixel
format set, so we don't need to check it."
This reverts commit f3aa4812382caa459b9b612f66998c6ea8257594.
---
dlls/wined3d/context.c | 22 +++++-----------------
dlls/wined3d/wined3d_private.h | 3 +--
2 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index d83cad5..c11dd08 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -815,13 +815,9 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BOOL private, int format)
{
const struct wined3d_gl_info *gl_info = context->gl_info;
- int current;
+ int current = GetPixelFormat(dc);
- if (dc == context->hdc && context->hdc_is_private && context->hdc_has_format)
- return TRUE;
-
- current = GetPixelFormat(dc);
- if (current == format) goto success;
+ if (current == format) return TRUE;
if (!current)
{
@@ -835,7 +831,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
context->restore_pf = 0;
context->restore_pf_win = private ? NULL : WindowFromDC(dc);
- goto success;
+ return TRUE;
}
/* By default WGL doesn't allow pixel format adjustments but we need it
@@ -862,7 +858,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
context->restore_pf_win = win;
}
- goto success;
+ return TRUE;
}
/* OpenGL doesn't allow pixel format adjustments. Print an error and
@@ -872,11 +868,6 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
ERR("Unable to set pixel format %d on device context %p. Already using format %d.\n",
format, dc, current);
return TRUE;
-
-success:
- if (dc == context->hdc && context->hdc_is_private)
- context->hdc_has_format = TRUE;
- return TRUE;
}
static BOOL context_set_gl_context(struct wined3d_context *ctx)
@@ -962,7 +953,6 @@ static void context_update_window(struct wined3d_context *context)
context->win_handle = context->swapchain->win_handle;
context->hdc_is_private = FALSE;
- context->hdc_has_format = FALSE;
context->needs_set = 1;
context->valid = 1;
@@ -1223,8 +1213,7 @@ static void context_enter(struct wined3d_context *context)
context->restore_dc = wglGetCurrentDC();
context->needs_set = 1;
}
- else if (!context->needs_set && !(context->hdc_is_private && context->hdc_has_format)
- && context->pixel_format != GetPixelFormat(context->hdc))
+ else if (!context->needs_set && context->pixel_format != GetPixelFormat(context->hdc))
context->needs_set = 1;
}
}
@@ -1662,7 +1651,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
ret->win_handle = swapchain->win_handle;
ret->hdc = hdc;
ret->hdc_is_private = hdc_is_private;
- ret->hdc_has_format = TRUE;
ret->pixel_format = pixel_format;
ret->needs_set = 1;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 288d683..d5a881f 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1196,9 +1196,8 @@ struct wined3d_context
DWORD rebind_fbo : 1;
DWORD needs_set : 1;
DWORD hdc_is_private : 1;
- DWORD hdc_has_format : 1; /* only meaningful if hdc_is_private */
DWORD update_shader_resource_bindings : 1;
- DWORD padding : 14;
+ DWORD padding : 15;
DWORD shader_update_mask;
DWORD constant_update_mask;
DWORD numbered_array_mask;
--
2.6.4

View File

@ -1,129 +0,0 @@
From 5c8e815ea863794e9c598e99a3b3d7357478d067 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:03 -0500
Subject: Revert "wined3d: Track if a context's hdc is private so we never need
to restore its pixel format."
This reverts commit 272873823e9beff91ea1a62845fc7e5f94a9636f.
---
dlls/wined3d/context.c | 21 ++++++++-------------
dlls/wined3d/wined3d_private.h | 3 +--
2 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 45dae36..ab217fc 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -939,7 +939,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
return ret;
}
-static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BOOL private, int format)
+static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, int format)
{
const struct wined3d_gl_info *gl_info = context->gl_info;
int current = GetPixelFormat(dc);
@@ -957,7 +957,7 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
}
context->restore_pf = 0;
- context->restore_pf_win = private ? NULL : WindowFromDC(dc);
+ context->restore_pf_win = WindowFromDC(dc);
return TRUE;
}
@@ -976,12 +976,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, BO
return FALSE;
}
- win = private ? NULL : WindowFromDC(dc);
+ win = WindowFromDC(dc);
if (win != context->restore_pf_win)
{
context_restore_pixel_format(context);
- context->restore_pf = private ? 0 : current;
+ context->restore_pf = current;
context->restore_pf_win = win;
}
@@ -1002,7 +1002,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
struct wined3d_swapchain *swapchain = ctx->swapchain;
BOOL backup = FALSE;
- if (!context_set_pixel_format(ctx, ctx->hdc, ctx->hdc_is_private, ctx->pixel_format))
+ if (!context_set_pixel_format(ctx, ctx->hdc, ctx->pixel_format))
{
WARN("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, ctx->hdc);
@@ -1035,7 +1035,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return FALSE;
}
- if (!context_set_pixel_format(ctx, dc, TRUE, ctx->pixel_format))
+ if (!context_set_pixel_format(ctx, dc, ctx->pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, dc);
@@ -1079,7 +1079,6 @@ static void context_update_window(struct wined3d_context *context)
wined3d_release_dc(context->win_handle, context->hdc);
context->win_handle = context->swapchain->win_handle;
- context->hdc_is_private = FALSE;
context->needs_set = 1;
context->valid = 1;
@@ -1573,7 +1572,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
unsigned int s;
DWORD state;
HDC hdc = 0;
- BOOL hdc_is_private = FALSE;
TRACE("swapchain %p, target %p, window %p.\n", swapchain, target, swapchain->win_handle);
@@ -1651,9 +1649,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
{
WARN("Failed to retrieve device context, trying swapchain backup.\n");
- if ((hdc = swapchain_get_backup_dc(swapchain)))
- hdc_is_private = TRUE;
- else
+ if (!(hdc = swapchain_get_backup_dc(swapchain)))
{
ERR("Failed to retrieve a device context.\n");
goto out;
@@ -1719,7 +1715,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
ret->gl_info = gl_info;
- if (!context_set_pixel_format(ret, hdc, hdc_is_private, pixel_format))
+ if (!context_set_pixel_format(ret, hdc, pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n", pixel_format, hdc);
context_release(ret);
@@ -1783,7 +1779,6 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
ret->glCtx = ctx;
ret->win_handle = swapchain->win_handle;
ret->hdc = hdc;
- ret->hdc_is_private = hdc_is_private;
ret->pixel_format = pixel_format;
ret->needs_set = 1;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 7c9b4d2..8683604 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1356,9 +1356,8 @@ struct wined3d_context
DWORD use_immediate_mode_draw : 1;
DWORD rebind_fbo : 1;
DWORD needs_set : 1;
- DWORD hdc_is_private : 1;
DWORD update_shader_resource_bindings : 1;
- DWORD padding : 15;
+ DWORD padding : 16;
DWORD shader_update_mask;
DWORD constant_update_mask;
DWORD numbered_array_mask;
--
2.7.1

View File

@ -1,57 +0,0 @@
From 5e891d9b8b604062f3ef067e381d7a21c65b2c18 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:08 -0500
Subject: Revert "wined3d: When restoring pixel format in context_release(),
mark the context as needing to be set on the next context_acquire()."
This reverts commit 57c51710e0a4474872125cc54be7562ea8db6ccd.
---
dlls/wined3d/context.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 1417d2a..081ace1 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -781,10 +781,9 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
}
}
-static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
+static void context_restore_pixel_format(struct wined3d_context *ctx)
{
const struct wined3d_gl_info *gl_info = ctx->gl_info;
- BOOL ret = FALSE;
if (ctx->restore_pf && IsWindow(ctx->restore_pf_win))
{
@@ -793,7 +792,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
HDC dc = GetDCEx(ctx->restore_pf_win, 0, DCX_USESTYLE | DCX_CACHE);
if (dc)
{
- if (!(ret = GL_EXTCALL(wglSetPixelFormatWINE(dc, ctx->restore_pf))))
+ if (!GL_EXTCALL(wglSetPixelFormatWINE(dc, ctx->restore_pf)))
{
ERR("wglSetPixelFormatWINE failed to restore pixel format %d on window %p.\n",
ctx->restore_pf, ctx->restore_pf_win);
@@ -809,7 +808,6 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
ctx->restore_pf = 0;
ctx->restore_pf_win = NULL;
- return ret;
}
static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, int format)
@@ -1169,8 +1167,7 @@ void context_release(struct wined3d_context *context)
if (!--context->level)
{
- if (context_restore_pixel_format(context))
- context->needs_set = 1;
+ context_restore_pixel_format(context);
if (context->restore_ctx)
{
TRACE("Restoring GL context %p on device context %p.\n", context->restore_ctx, context->restore_dc);
--
2.7.1

View File

@ -1,27 +0,0 @@
From 84b7c245fd8cc43f5696c244156efe4cbd31572c Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:15 -0500
Subject: Revert "wined3d: Don't call GetPixelFormat() to set a flag that's
already set."
This reverts commit ffb357b717680b52917f280b3716da7b387f4af2.
---
dlls/wined3d/context.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index d5ee29b..8109a6f 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1175,7 +1175,7 @@ static void context_enter(struct wined3d_context *context)
context->restore_dc = wglGetCurrentDC();
context->needs_set = 1;
}
- else if (!context->needs_set && context->pixel_format != GetPixelFormat(context->hdc))
+ else if (context->pixel_format != GetPixelFormat(context->hdc))
context->needs_set = 1;
}
}
--
2.1.0

View File

@ -1,225 +0,0 @@
From 2e5d4354d80efc6c672262c0f0fb0e166895cc7a Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:30 -0500
Subject: Revert "wined3d: Restore the pixel format of the window whose pixel
format was actually changed."
This reverts commit 4c4552c5a1910a9d5adf8eccff0ac62d89ffe376.
For:
https://bugs.winehq.org/show_bug.cgi?id=35655
https://bugs.winehq.org/show_bug.cgi?id=35718
https://bugs.winehq.org/show_bug.cgi?id=35950
https://bugs.winehq.org/show_bug.cgi?id=35975
https://bugs.winehq.org/show_bug.cgi?id=36900
---
dlls/wined3d/context.c | 87 +++++++++++-------------------------------
dlls/wined3d/wined3d_private.h | 1 -
2 files changed, 22 insertions(+), 66 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 61e36a8..0c6ee52 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -781,38 +781,8 @@ void context_surface_update(struct wined3d_context *context, const struct wined3
}
}
-static void context_restore_pixel_format(struct wined3d_context *ctx)
+static BOOL context_set_pixel_format(const struct wined3d_gl_info *gl_info, HDC dc, int format)
{
- const struct wined3d_gl_info *gl_info = ctx->gl_info;
-
- if (ctx->restore_pf && IsWindow(ctx->restore_pf_win))
- {
- if (ctx->gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH])
- {
- HDC dc = GetDCEx(ctx->restore_pf_win, 0, DCX_USESTYLE | DCX_CACHE);
- if (dc)
- {
- if (!GL_EXTCALL(wglSetPixelFormatWINE(dc, ctx->restore_pf)))
- {
- ERR("wglSetPixelFormatWINE failed to restore pixel format %d on window %p.\n",
- ctx->restore_pf, ctx->restore_pf_win);
- }
- ReleaseDC(ctx->restore_pf_win, dc);
- }
- }
- else
- {
- ERR("can't restore pixel format %d on window %p\n", ctx->restore_pf, ctx->restore_pf_win);
- }
- }
-
- ctx->restore_pf = 0;
- ctx->restore_pf_win = NULL;
-}
-
-static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, int format)
-{
- const struct wined3d_gl_info *gl_info = context->gl_info;
int current = GetPixelFormat(dc);
if (current == format) return TRUE;
@@ -826,9 +796,6 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
format, dc, GetLastError());
return FALSE;
}
-
- context->restore_pf = 0;
- context->restore_pf_win = WindowFromDC(dc);
return TRUE;
}
@@ -838,24 +805,12 @@ static BOOL context_set_pixel_format(struct wined3d_context *context, HDC dc, in
* when really needed. */
if (gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH])
{
- HWND win;
-
if (!GL_EXTCALL(wglSetPixelFormatWINE(dc, format)))
{
ERR("wglSetPixelFormatWINE failed to set pixel format %d on device context %p.\n",
format, dc);
return FALSE;
}
-
- win = WindowFromDC(dc);
- if (win != context->restore_pf_win)
- {
- context_restore_pixel_format(context);
-
- context->restore_pf = current;
- context->restore_pf_win = win;
- }
-
return TRUE;
}
@@ -873,7 +828,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
struct wined3d_swapchain *swapchain = ctx->swapchain;
BOOL backup = FALSE;
- if (!context_set_pixel_format(ctx, ctx->hdc, ctx->pixel_format))
+ if (!context_set_pixel_format(ctx->gl_info, ctx->hdc, ctx->pixel_format))
{
WARN("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, ctx->hdc);
@@ -906,7 +861,7 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return FALSE;
}
- if (!context_set_pixel_format(ctx, dc, ctx->pixel_format))
+ if (!context_set_pixel_format(ctx->gl_info, dc, ctx->pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n",
ctx->pixel_format, dc);
@@ -928,8 +883,15 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return TRUE;
}
-static void context_restore_gl_context(const struct wined3d_gl_info *gl_info, HDC dc, HGLRC gl_ctx)
+static void context_restore_gl_context(const struct wined3d_gl_info *gl_info, HDC dc, HGLRC gl_ctx, int pf)
{
+ if (!context_set_pixel_format(gl_info, dc, pf))
+ {
+ ERR("Failed to restore pixel format %d on device context %p.\n", pf, dc);
+ context_set_current(NULL);
+ return;
+ }
+
if (!wglMakeCurrent(dc, gl_ctx))
{
ERR("Failed to restore GL context %p on device context %p, last error %#x.\n",
@@ -970,9 +932,11 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
HGLRC restore_ctx;
HDC restore_dc;
unsigned int i;
+ int restore_pf;
restore_ctx = wglGetCurrentContext();
restore_dc = wglGetCurrentDC();
+ restore_pf = GetPixelFormat(restore_dc);
if (restore_ctx == context->glCtx)
restore_ctx = NULL;
@@ -1061,10 +1025,9 @@ static void context_destroy_gl_resources(struct wined3d_context *context)
HeapFree(GetProcessHeap(), 0, context->free_occlusion_queries);
HeapFree(GetProcessHeap(), 0, context->free_event_queries);
- context_restore_pixel_format(context);
if (restore_ctx)
{
- context_restore_gl_context(gl_info, restore_dc, restore_ctx);
+ context_restore_gl_context(gl_info, restore_dc, restore_ctx, restore_pf);
}
else if (wglGetCurrentContext() && !wglMakeCurrent(NULL, NULL))
{
@@ -1165,16 +1128,12 @@ void context_release(struct wined3d_context *context)
WARN("Context %p is not the current context.\n", context);
}
- if (!--context->level)
+ if (!--context->level && context->restore_ctx)
{
- context_restore_pixel_format(context);
- if (context->restore_ctx)
- {
- TRACE("Restoring GL context %p on device context %p.\n", context->restore_ctx, context->restore_dc);
- context_restore_gl_context(context->gl_info, context->restore_dc, context->restore_ctx);
- context->restore_ctx = NULL;
- context->restore_dc = NULL;
- }
+ TRACE("Restoring GL context %p on device context %p.\n", context->restore_ctx, context->restore_dc);
+ context_restore_gl_context(context->gl_info, context->restore_dc, context->restore_ctx, context->restore_pf);
+ context->restore_ctx = NULL;
+ context->restore_dc = NULL;
}
}
@@ -1207,10 +1166,9 @@ static void context_enter(struct wined3d_context *context)
current_gl, wglGetCurrentDC());
context->restore_ctx = current_gl;
context->restore_dc = wglGetCurrentDC();
+ context->restore_pf = GetPixelFormat(context->restore_dc);
context->needs_set = 1;
}
- else if (context->pixel_format != GetPixelFormat(context->hdc))
- context->needs_set = 1;
}
}
@@ -1578,9 +1536,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
context_enter(ret);
- ret->gl_info = gl_info;
-
- if (!context_set_pixel_format(ret, hdc, pixel_format))
+ if (!context_set_pixel_format(gl_info, hdc, pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n", pixel_format, hdc);
context_release(ret);
@@ -1621,6 +1577,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
goto out;
}
+ ret->gl_info = gl_info;
ret->d3d_info = &device->adapter->d3d_info;
ret->state_table = device->StateTable;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index c68289e..3c74c07 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1291,7 +1291,6 @@ struct wined3d_context
HGLRC restore_ctx;
HDC restore_dc;
int restore_pf;
- HWND restore_pf_win;
HGLRC glCtx;
HWND win_handle;
HDC hdc;
--
2.7.1

View File

@ -1,73 +0,0 @@
From de13cf416c368e9bca4c2504299a10292ab02a20 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:36 -0500
Subject: d3d8: Mark tests which no longer pass due to reverts as todo_wine.
---
dlls/d3d8/tests/device.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c
index a92ca81..4ad61fd 100644
--- a/dlls/d3d8/tests/device.c
+++ b/dlls/d3d8/tests/device.c
@@ -5693,37 +5693,37 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice8_SetVertexShader(device, D3DFVF_XYZ);
ok(SUCCEEDED(hr), "Failed to set FVF, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice8_BeginScene(device);
ok(SUCCEEDED(hr), "BeginScene failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice8_DrawPrimitiveUP(device, D3DPT_POINTLIST, 1, point, 3 * sizeof(float));
ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice8_EndScene(device);
ok(SUCCEEDED(hr), "EndScene failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice8_Present(device, NULL, NULL, NULL, NULL);
ok(SUCCEEDED(hr), "Present failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -5731,10 +5731,10 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Present failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
--
2.1.0

View File

@ -1,73 +0,0 @@
From 6b755cbb559b7c0c4f055750a7c41bf72e17076c Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:41 -0500
Subject: d3d9: Mark tests which no longer pass due to reverts as todo_wine.
---
dlls/d3d9/tests/device.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index f3771d9..0faa501 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -8142,37 +8142,37 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice9_SetFVF(device, D3DFVF_XYZ);
ok(SUCCEEDED(hr), "Failed to set FVF, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice9_BeginScene(device);
ok(SUCCEEDED(hr), "BeginScene failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_POINTLIST, 1, point, 3 * sizeof(float));
ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice9_EndScene(device);
ok(SUCCEEDED(hr), "EndScene failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
ok(SUCCEEDED(hr), "Present failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -8180,10 +8180,10 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Present failed %#x\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
--
2.1.0

View File

@ -1,235 +0,0 @@
From 8033154bf43433bebe38c792d12e32d65205261a Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Sun, 14 Sep 2014 19:47:48 -0500
Subject: ddraw: Mark tests which no longer pass due to reverts as todo_wine.
---
dlls/ddraw/tests/ddraw1.c | 12 ++++++------
dlls/ddraw/tests/ddraw2.c | 12 ++++++------
dlls/ddraw/tests/ddraw4.c | 12 ++++++------
dlls/ddraw/tests/ddraw7.c | 12 ++++++------
4 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 4c35baa..a5d9687 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -4414,7 +4414,7 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -4424,7 +4424,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper window, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -4439,7 +4439,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -4453,7 +4453,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -4465,12 +4465,12 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to clear source surface, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 750cc6e..3d06116 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -5490,7 +5490,7 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -5500,7 +5500,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper window, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -5515,7 +5515,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -5529,7 +5529,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -5541,12 +5541,12 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to clear source surface, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 8776dec..706345b 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -6475,7 +6475,7 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -6485,7 +6485,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper window, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -6500,7 +6500,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -6514,7 +6514,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -6526,12 +6526,12 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to clear source surface, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 5e88b33..160ba5b 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -6298,7 +6298,7 @@ static void test_pixel_format(void)
}
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -6308,7 +6308,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper window, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -6323,7 +6323,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
@@ -6337,7 +6337,7 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to set clipper, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
test_format = GetPixelFormat(hdc2);
ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
@@ -6349,12 +6349,12 @@ static void test_pixel_format(void)
ok(SUCCEEDED(hr), "Failed to clear source surface, hr %#x.\n", hr);
test_format = GetPixelFormat(hdc);
- ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "window has pixel format %d, expected %d\n", test_format, format);
if (hdc2)
{
test_format = GetPixelFormat(hdc2);
- ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
+ todo_wine ok(test_format == format, "second window has pixel format %d, expected %d\n", test_format, format);
}
cleanup:
--
2.1.0

View File

@ -1,9 +0,0 @@
#Fixes: [35655] Fix wined3d performance drop introduced by pixelformat changes.
#Fixes: [35718] Fix flickering introduced by pixelformat changes.
#Fixes: [35950] Fix black screen on startup introduced by pixelformat changes.
#Fixes: [35975] Fix gray screen on startup introduced by pixelformat changes.
#Fixes: [36900] Fix missing video introduced by pixelformat changes.
Disabled: true
# Causes regression?
# https://bugs.wine-staging.com/show_bug.cgi?id=196