Henri Verbeet : wined3d: Set the sampler only once in shader_glsl_select_depth_blt().
Module: wine Branch: master Commit: bf187ed1e02b8fdec8509318538178c18cc35795 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bf187ed1e02b8fdec850931853... Author: Henri Verbeet <hverbeet(a)gmail.com> Date: Mon Oct 20 00:15:13 2008 +0200 wined3d: Set the sampler only once in shader_glsl_select_depth_blt(). It (obviously) never changes. --- dlls/wined3d/glsl_shader.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index f1225c5..65ec578 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3458,15 +3458,16 @@ static void shader_glsl_select_depth_blt(IWineD3DDevice *iface) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; WineD3D_GL_Info *gl_info = &This->adapter->gl_info; struct shader_glsl_priv *priv = (struct shader_glsl_priv *) This->shader_priv; - static GLhandleARB loc = -1; if (!priv->depth_blt_glsl_program_id) { + GLhandleARB loc; priv->depth_blt_glsl_program_id = create_glsl_blt_shader(gl_info); loc = GL_EXTCALL(glGetUniformLocationARB(priv->depth_blt_glsl_program_id, "sampler")); + GL_EXTCALL(glUseProgramObjectARB(priv->depth_blt_glsl_program_id)); + GL_EXTCALL(glUniform1iARB(loc, 0)); + } else { + GL_EXTCALL(glUseProgramObjectARB(priv->depth_blt_glsl_program_id)); } - - GL_EXTCALL(glUseProgramObjectARB(priv->depth_blt_glsl_program_id)); - GL_EXTCALL(glUniform1iARB(loc, 0)); } static void shader_glsl_deselect_depth_blt(IWineD3DDevice *iface) {
participants (1)
-
Alexandre Julliard