wined3d: Add missing GL locking to fragment_pipeline.enable_extension() implementations.
Henri Verbeet
hverbeet at codeweavers.com
Tue May 12 09:19:55 CDT 2009
---
dlls/wined3d/arb_program_shader.c | 2 ++
dlls/wined3d/ati_fragment_shader.c | 2 ++
dlls/wined3d/nvidia_texture_shader.c | 2 ++
3 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 25654f3..9b21f0e 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -2273,6 +2273,7 @@ struct arbfp_ffp_desc
};
static void arbfp_enable(IWineD3DDevice *iface, BOOL enable) {
+ ENTER_GL();
if(enable) {
glEnable(GL_FRAGMENT_PROGRAM_ARB);
checkGLcall("glEnable(GL_FRAGMENT_PROGRAM_ARB)");
@@ -2280,6 +2281,7 @@ static void arbfp_enable(IWineD3DDevice *iface, BOOL enable) {
glDisable(GL_FRAGMENT_PROGRAM_ARB);
checkGLcall("glDisable(GL_FRAGMENT_PROGRAM_ARB)");
}
+ LEAVE_GL();
}
static HRESULT arbfp_alloc(IWineD3DDevice *iface) {
diff --git a/dlls/wined3d/ati_fragment_shader.c b/dlls/wined3d/ati_fragment_shader.c
index a8c137f..fb95edc 100644
--- a/dlls/wined3d/ati_fragment_shader.c
+++ b/dlls/wined3d/ati_fragment_shader.c
@@ -1043,6 +1043,7 @@ static const struct StateEntryTemplate atifs_fragmentstate_template[] = {
};
static void atifs_enable(IWineD3DDevice *iface, BOOL enable) {
+ ENTER_GL();
if(enable) {
glEnable(GL_FRAGMENT_SHADER_ATI);
checkGLcall("glEnable(GL_FRAGMENT_SHADER_ATI)");
@@ -1050,6 +1051,7 @@ static void atifs_enable(IWineD3DDevice *iface, BOOL enable) {
glDisable(GL_FRAGMENT_SHADER_ATI);
checkGLcall("glDisable(GL_FRAGMENT_SHADER_ATI)");
}
+ LEAVE_GL();
}
static void atifs_get_caps(WINED3DDEVTYPE devtype, const WineD3D_GL_Info *gl_info, struct fragment_caps *caps)
diff --git a/dlls/wined3d/nvidia_texture_shader.c b/dlls/wined3d/nvidia_texture_shader.c
index f7e331d..3bbb858 100644
--- a/dlls/wined3d/nvidia_texture_shader.c
+++ b/dlls/wined3d/nvidia_texture_shader.c
@@ -595,6 +595,7 @@ static void nvrc_texfactor(DWORD state, IWineD3DStateBlockImpl *stateblock, Wine
static void nvrc_enable(IWineD3DDevice *iface, BOOL enable) { }
static void nvts_enable(IWineD3DDevice *iface, BOOL enable) {
+ ENTER_GL();
if(enable) {
glEnable(GL_TEXTURE_SHADER_NV);
checkGLcall("glEnable(GL_TEXTURE_SHADER_NV)");
@@ -602,6 +603,7 @@ static void nvts_enable(IWineD3DDevice *iface, BOOL enable) {
glDisable(GL_TEXTURE_SHADER_NV);
checkGLcall("glDisable(GL_TEXTURE_SHADER_NV)");
}
+ LEAVE_GL();
}
static void nvrc_fragment_get_caps(WINED3DDEVTYPE devtype, const WineD3D_GL_Info *gl_info, struct fragment_caps *pCaps)
--
1.6.0.6
--------------070206010108080703000800--
More information about the wine-patches
mailing list