[PATCH 6/6] wined3d: Call wglGetPixelFormat() through the gl_ops table.

Henri Verbeet hverbeet at codeweavers.com
Tue Nov 3 17:02:49 CST 2015


This probably doesn't make a lot of difference in most cases, but it seems
wasteful to go through gdi32 and opengl32 first.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 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 13b8471..1692d0d 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 = GetPixelFormat(dc);
+    current = gl_info->gl_ops.wgl.p_wglGetPixelFormat(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 != GetPixelFormat(context->hdc))
+                    && context->pixel_format != context->gl_info->gl_ops.wgl.p_wglGetPixelFormat(context->hdc))
             context->needs_set = 1;
     }
 }
@@ -1588,10 +1588,10 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
         goto out;
     }
 
-    context_enter(ret);
-
     ret->gl_info = gl_info;
 
+    context_enter(ret);
+
     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.1.4




More information about the wine-patches mailing list