From: Józef Kucia Subject: [PATCH 3/8] wined3d: Explicitly avoid using texture unit mapping. Message-Id: <20170309090310.13755-3-jkucia@codeweavers.com> Date: Thu, 9 Mar 2017 10:03:05 +0100 In-Reply-To: <20170309090310.13755-1-jkucia@codeweavers.com> References: <20170309090310.13755-1-jkucia@codeweavers.com> Signed-off-by: Józef Kucia --- Texture unit mapping is already ignored in context_bind_shader_resources(). --- dlls/wined3d/glsl_shader.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 490fcbf..14c2e74 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -589,9 +589,12 @@ static void shader_glsl_load_samplers(const struct wined3d_gl_info *gl_info, } /* Context activation is done by the caller. */ -static void shader_glsl_load_graphics_samplers(const struct wined3d_gl_info *gl_info, - struct shader_glsl_priv *priv, const DWORD *tex_unit_map, GLuint program_id) +static void shader_glsl_load_graphics_samplers(const struct wined3d_context *context, + struct shader_glsl_priv *priv, GLuint program_id) { + const struct wined3d_d3d_info *d3d_info = context->d3d_info; + const struct wined3d_gl_info *gl_info = context->gl_info; + const DWORD *tex_unit_map; const char *prefix; unsigned int i; @@ -607,6 +610,9 @@ static void shader_glsl_load_graphics_samplers(const struct wined3d_gl_info *gl_ {WINED3D_SHADER_TYPE_VERTEX, MAX_FRAGMENT_SAMPLERS, MAX_VERTEX_SAMPLERS}, }; + tex_unit_map = d3d_info->wined3d_creation_flags & WINED3D_LEGACY_TEXTURE_BINDING + ? context->tex_unit_map : NULL; + for (i = 0; i < ARRAY_SIZE(sampler_info); ++i) { prefix = shader_glsl_get_prefix(sampler_info[i].type); @@ -8984,7 +8990,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const /* Texture unit mapping is set up to be the same each time the shader * program is used so we can hardcode the sampler uniform values. */ - shader_glsl_load_graphics_samplers(gl_info, priv, context->tex_unit_map, program_id); + shader_glsl_load_graphics_samplers(context, priv, program_id); entry->constant_update_mask = 0; if (vshader) -- 2.10.2