Henri Verbeet : wined3d: Add missing GL locking to fragment_pipeline. enable_extension() implementations.

Alexandre Julliard julliard at winehq.org
Wed May 13 10:19:40 CDT 2009


Module: wine
Branch: master
Commit: b5aee04023e69b6e49d96226ec551b8b4bf3bf55
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b5aee04023e69b6e49d96226ec551b8b4bf3bf55

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Tue May 12 16:19:55 2009 +0200

wined3d: Add missing GL locking to fragment_pipeline.enable_extension() implementations.

---

 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)




More information about the wine-cvs mailing list