Stefan Doesinger : wined3d: Properly load the y correction.

Alexandre Julliard julliard at winehq.org
Thu Jun 18 09:11:34 CDT 2009


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

Author: Stefan Doesinger <stefan at codeweavers.com>
Date:   Wed Jun 17 19:17:14 2009 +0200

wined3d: Properly load the y correction.

---

 dlls/wined3d/arb_program_shader.c |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 729e6ce..6101e55 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -334,6 +334,22 @@ static inline void shader_arb_ps_local_constants(IWineD3DDeviceImpl* deviceImpl)
     }
     checkGLcall("Load bumpmap consts\n");
 
+    if(gl_shader->ycorrection != WINED3D_CONST_NUM_UNUSED)
+    {
+        /* ycorrection.x: Backbuffer height(onscreen) or 0(offscreen).
+        * ycorrection.y: -1.0(onscreen), 1.0(offscreen)
+        * ycorrection.z: 1.0
+        * ycorrection.w: 0.0
+        */
+        float val[4];
+        val[0] = deviceImpl->render_offscreen ? 0.0 : ((IWineD3DSurfaceImpl *) deviceImpl->render_targets[0])->currentDesc.Height;
+        val[1] = deviceImpl->render_offscreen ? 1.0 : -1.0;
+        val[2] = 1.0;
+        val[3] = 0.0;
+        GL_EXTCALL(glProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, gl_shader->ycorrection, val));
+        checkGLcall("y correction loading\n");
+    }
+
     if(gl_shader->num_int_consts == 0) return;
 
     for(i = 0; i < MAX_CONST_I; i++)
@@ -350,22 +366,6 @@ static inline void shader_arb_ps_local_constants(IWineD3DDeviceImpl* deviceImpl)
         }
     }
     checkGLcall("Load ps int consts\n");
-
-    if(gl_shader->ycorrection != WINED3D_CONST_NUM_UNUSED)
-    {
-        /* ycorrection.x: Backbuffer height(onscreen) or 0(offscreen).
-         * ycorrection.y: -1.0(onscreen), 1.0(offscreen)
-         * ycorrection.z: 1.0
-         * ycorrection.w: 0.0
-         */
-        float val[4];
-        val[0] = deviceImpl->render_offscreen ? 0.0 : ((IWineD3DSurfaceImpl *) deviceImpl->render_targets[0])->currentDesc.Height;
-        val[1] = deviceImpl->render_offscreen ? 1.0 : -1.0;
-        val[2] = 1.0;
-        val[3] = 0.0;
-        GL_EXTCALL(glProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, gl_shader->ycorrection, val));
-        checkGLcall("y correction loading\n");
-    }
 }
 
 static inline void shader_arb_vs_local_constants(IWineD3DDeviceImpl* deviceImpl)




More information about the wine-cvs mailing list