[1/3] wined3d: Take the texUnitMap into account when loading
shader_glsl_load_psamplers()
H. Verbeet
hverbeet at gmail.com
Tue Jun 12 16:08:11 CDT 2007
In practice this doesn't make much of a difference since (currently) a
1 on 1 mapping is used for pixel shaders, but it's slightly more
correct this way (and consistent with loading vertex samplers...).
Also gets rid of the 11 space indent.
Changelog:
- Take the texUnitMap into account when loading shader_glsl_load_psamplers()
-------------- next part --------------
---
dlls/wined3d/glsl_shader.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 4999841..afffa23 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -87,13 +87,14 @@ static void shader_glsl_load_psamplers(
for (i=0; i< GL_LIMITS(samplers); ++i) {
if (stateBlock->textures[i] != NULL) {
- snprintf(sampler_name, sizeof(sampler_name), "Psampler%d", i);
- name_loc = GL_EXTCALL(glGetUniformLocationARB(programId, sampler_name));
- if (name_loc != -1) {
- TRACE("Loading %s for texture %d\n", sampler_name, i);
- GL_EXTCALL(glUniform1iARB(name_loc, i));
- checkGLcall("glUniform1iARB");
- }
+ snprintf(sampler_name, sizeof(sampler_name), "Psampler%d", i);
+ name_loc = GL_EXTCALL(glGetUniformLocationARB(programId, sampler_name));
+ if (name_loc != -1) {
+ int mapped_unit = stateBlock->wineD3DDevice->texUnitMap[i];
+ TRACE("Loading %s for texture %d\n", sampler_name, mapped_unit);
+ GL_EXTCALL(glUniform1iARB(name_loc, mapped_unit));
+ checkGLcall("glUniform1iARB");
+ }
}
}
}
More information about the wine-patches
mailing list