Module: wine Branch: master Commit: 0e3c60786edee04277981e13f89b43dc00506e91 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e3c60786edee04277981e13f8...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Dec 9 23:41:19 2010 +0100
wined3d: Explicitly pass gl_info to unset_shader().
---
dlls/wined3d/arb_program_shader.c | 8 +++----- dlls/wined3d/surface.c | 9 +++------ dlls/wined3d/swapchain.c | 2 +- dlls/wined3d/wined3d_private.h | 2 +- 4 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index cf684e8..6c10fa6 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -7094,10 +7094,8 @@ static HRESULT arbfp_blit_set(void *blit_priv, const struct wined3d_gl_info *gl_ }
/* Context activation is done by the caller. */ -static void arbfp_blit_unset(IWineD3DDevice *iface) { - IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *) iface; - const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; - +static void arbfp_blit_unset(const struct wined3d_gl_info *gl_info) +{ ENTER_GL(); glDisable(GL_FRAGMENT_PROGRAM_ARB); checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)"); @@ -7198,7 +7196,7 @@ HRESULT arbfp_blit_surface(IWineD3DDeviceImpl *device, IWineD3DSurfaceImpl *src_ LEAVE_GL();
/* Leave the opengl state valid for blitting */ - arbfp_blit_unset((IWineD3DDevice *)device); + arbfp_blit_unset(context->gl_info);
dst_swapchain = dst_surface->container.type == WINED3D_CONTAINER_SWAPCHAIN ? dst_surface->container.u.swapchain : NULL; diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 02b07b9..6b5258b 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -3394,7 +3394,7 @@ static void surface_blt_to_drawable(IWineD3DDeviceImpl *device, LEAVE_GL();
/* Leave the opengl state valid for blitting */ - device->blitter->unset_shader((IWineD3DDevice *)device); + device->blitter->unset_shader(context->gl_info);
if (wined3d_settings.strict_draw_ordering || (swapchain && (dst_surface == swapchain->front_buffer || swapchain->num_contexts > 1))) @@ -4770,11 +4770,8 @@ static HRESULT ffp_blit_set(void *blit_priv, const struct wined3d_gl_info *gl_in }
/* Context activation is done by the caller. */ -static void ffp_blit_unset(IWineD3DDevice *iface) +static void ffp_blit_unset(const struct wined3d_gl_info *gl_info) { - IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *) iface; - const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; - ENTER_GL(); glDisable(GL_TEXTURE_2D); checkGLcall("glDisable(GL_TEXTURE_2D)"); @@ -4880,7 +4877,7 @@ static HRESULT cpu_blit_set(void *blit_priv, const struct wined3d_gl_info *gl_in }
/* Context activation is done by the caller. */ -static void cpu_blit_unset(IWineD3DDevice *iface) +static void cpu_blit_unset(const struct wined3d_gl_info *gl_info) { }
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index 7e1f031..e5ff786 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -212,7 +212,7 @@ static void swapchain_blit(IWineD3DSwapChainImpl *This, struct wined3d_context * glPopMatrix(); glPopAttrib();
- device->blitter->unset_shader((IWineD3DDevice *) device); + device->blitter->unset_shader(context->gl_info); checkGLcall("Swapchain present blit(manual)\n"); LEAVE_GL();
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index bbed40c..d7612eb 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1178,7 +1178,7 @@ struct blit_shader HRESULT (*alloc_private)(IWineD3DDeviceImpl *device); void (*free_private)(IWineD3DDeviceImpl *device); HRESULT (*set_shader)(void *blit_priv, const struct wined3d_gl_info *gl_info, IWineD3DSurfaceImpl *surface); - void (*unset_shader)(IWineD3DDevice *iface); + void (*unset_shader)(const struct wined3d_gl_info *gl_info); BOOL (*blit_supported)(const struct wined3d_gl_info *gl_info, enum blit_operation blit_op, const RECT *src_rect, DWORD src_usage, WINED3DPOOL src_pool, const struct wined3d_format *src_format, const RECT *dst_rect, DWORD dst_usage, WINED3DPOOL dst_pool, const struct wined3d_format *dst_format);