Henri Verbeet : wined3d: Add missing ActivateContext calls to shader_destroy() implementations.
Alexandre Julliard
julliard at winehq.org
Fri May 29 09:15:50 CDT 2009
Module: wine
Branch: master
Commit: d37472f27b8c91f8d92f3286e5a53ca4c473df83
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d37472f27b8c91f8d92f3286e5a53ca4c473df83
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri May 29 09:13:20 2009 +0200
wined3d: Add missing ActivateContext calls to shader_destroy() implementations.
---
dlls/wined3d/arb_program_shader.c | 5 ++++-
dlls/wined3d/glsl_shader.c | 2 ++
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 922f62b..5d37440 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -2503,7 +2503,10 @@ static void shader_arb_deselect_depth_blt(IWineD3DDevice *iface) {
static void shader_arb_destroy(IWineD3DBaseShader *iface) {
IWineD3DBaseShaderImpl *baseShader = (IWineD3DBaseShaderImpl *) iface;
- const WineD3D_GL_Info *gl_info = &((IWineD3DDeviceImpl *)baseShader->baseShader.device)->adapter->gl_info;
+ IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *)baseShader->baseShader.device;
+ const WineD3D_GL_Info *gl_info = &device->adapter->gl_info;
+
+ ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
if (shader_is_pshader_version(baseShader->baseShader.reg_maps.shader_version.type))
{
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 08bcaa6..c4b5cca 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -4295,6 +4295,8 @@ static void shader_glsl_destroy(IWineD3DBaseShader *iface) {
*/
char pshader = shader_is_pshader_version(This->baseShader.reg_maps.shader_version.type);
+ ActivateContext(device, device->lastActiveRenderTarget, CTXUSAGE_RESOURCELOAD);
+
if(pshader) {
struct glsl_pshader_private *shader_data;
ps = (IWineD3DPixelShaderImpl *) This;
More information about the wine-cvs
mailing list