Henri Verbeet : wined3d: Don't modify the texcoord mask for "projected" cube textures in shader_glsl_tex().

Alexandre Julliard julliard at winehq.org
Fri Jun 7 11:45:12 CDT 2013


Module: wine
Branch: master
Commit: e8905e360f047db8af42af64ec08086a5814a1e7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e8905e360f047db8af42af64ec08086a5814a1e7

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Jun  7 10:17:53 2013 +0200

wined3d: Don't modify the texcoord mask for "projected" cube textures in shader_glsl_tex().

---

 dlls/wined3d/glsl_shader.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 6afc3d8..0379729 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -3515,8 +3515,11 @@ static void shader_glsl_tex(const struct wined3d_shader_instruction *ins)
             sample_flags |= WINED3D_GLSL_SAMPLE_PROJECTED;
             mask = WINED3DSP_WRITEMASK_3;
         }
-    } else {
-        if (ins->flags & WINED3DSI_TEXLD_PROJECT)
+    }
+    else
+    {
+        if ((ins->flags & WINED3DSI_TEXLD_PROJECT)
+                && ins->ctx->reg_maps->sampler_type[sampler_idx] != WINED3DSTT_CUBE)
         {
             /* ps 2.0 texldp instruction always divides by the fourth component. */
             sample_flags |= WINED3D_GLSL_SAMPLE_PROJECTED;




More information about the wine-cvs mailing list