Henri Verbeet : wined3d: Add missing GL locking to shader_backend_t. shader_free_private() implementations.
Alexandre Julliard
julliard at winehq.org
Wed May 13 10:19:41 CDT 2009
Module: wine
Branch: master
Commit: 59689262e74d7f69ecf8a1b641d7e503ce3f00d5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=59689262e74d7f69ecf8a1b641d7e503ce3f00d5
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue May 12 16:19:55 2009 +0200
wined3d: Add missing GL locking to shader_backend_t.shader_free_private() implementations.
---
dlls/wined3d/arb_program_shader.c | 2 ++
dlls/wined3d/glsl_shader.c | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 9b21f0e..beb37cf 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -1838,6 +1838,7 @@ static void shader_arb_free(IWineD3DDevice *iface) {
struct shader_arb_priv *priv = This->shader_priv;
int i;
+ ENTER_GL();
if(priv->depth_blt_vprogram_id) {
GL_EXTCALL(glDeleteProgramsARB(1, &priv->depth_blt_vprogram_id));
}
@@ -1846,6 +1847,7 @@ static void shader_arb_free(IWineD3DDevice *iface) {
GL_EXTCALL(glDeleteProgramsARB(1, &priv->depth_blt_fprogram_id[i]));
}
}
+ LEAVE_GL();
HeapFree(GetProcessHeap(), 0, This->shader_priv);
}
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index b248a3b..8316a0e 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -4038,6 +4038,7 @@ static void shader_glsl_free(IWineD3DDevice *iface) {
struct shader_glsl_priv *priv = This->shader_priv;
int i;
+ ENTER_GL();
for (i = 0; i < tex_type_count; ++i)
{
if (priv->depth_blt_program[i])
@@ -4045,6 +4046,7 @@ static void shader_glsl_free(IWineD3DDevice *iface) {
GL_EXTCALL(glDeleteObjectARB(priv->depth_blt_program[i]));
}
}
+ LEAVE_GL();
hash_table_destroy(priv->glsl_program_lookup, NULL, NULL);
constant_heap_free(&priv->pconst_heap);
More information about the wine-cvs
mailing list