Roderick Colenbrander : wined3d: arbfp_set_shader_blit should handle ENTER_GL/ LEAVE_GL instead of the caller.
Alexandre Julliard
julliard at winehq.org
Mon Oct 20 08:00:24 CDT 2008
Module: wine
Branch: master
Commit: 8a002b09c1513c47a8e07969ccc458d758b03d49
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8a002b09c1513c47a8e07969ccc458d758b03d49
Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date: Sat Oct 18 17:33:15 2008 +0000
wined3d: arbfp_set_shader_blit should handle ENTER_GL/LEAVE_GL instead of the caller.
---
dlls/wined3d/arb_program_shader.c | 4 ++++
dlls/wined3d/surface.c | 3 ++-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index c457b32..2727124 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -3662,8 +3662,10 @@ static HRESULT arbfp_blit_set(IWineD3DDevice *iface, WINED3DFORMAT fmt, GLenum t
glDesc->conversion_group != WINED3DFMT_YV12) {
TRACE("Format: %s\n", debug_d3dformat(glDesc->conversion_group));
/* Don't bother setting up a shader for unconverted formats */
+ ENTER_GL();
glEnable(textype);
checkGLcall("glEnable(textype)");
+ LEAVE_GL();
return WINED3D_OK;
}
@@ -3691,12 +3693,14 @@ static HRESULT arbfp_blit_set(IWineD3DDevice *iface, WINED3DFORMAT fmt, GLenum t
shader = gen_yuv_shader(device, glDesc->conversion_group, textype);
}
+ ENTER_GL();
glEnable(GL_FRAGMENT_PROGRAM_ARB);
checkGLcall("glEnable(GL_FRAGMENT_PROGRAM_ARB)");
GL_EXTCALL(glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader));
checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader)");
GL_EXTCALL(glProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, 0, size));
checkGLcall("glProgramLocalParameter4fvARB");
+ LEAVE_GL();
return WINED3D_OK;
}
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 7a42e5a..53392a5 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3485,10 +3485,11 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *This, RECT *
rect.y1 += This->currentDesc.Height - h; rect.y2 += This->currentDesc.Height - h;
}
- ENTER_GL();
myDevice->blitter->set_shader((IWineD3DDevice *) myDevice, Src->resource.format,
Src->glDescription.target, Src->pow2Width, Src->pow2Height);
+ ENTER_GL();
+
/* Bind the texture */
glBindTexture(Src->glDescription.target, Src->glDescription.textureName);
checkGLcall("glBindTexture");
More information about the wine-cvs
mailing list