Ragnvald Despair Maartmann-Moe IV : wined3d: Fix matrix copy/paste bug.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Dec 16 07:31:18 CST 2005


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

Author: Ragnvald "Despair" Maartmann-Moe IV <despair at adelphia.net>
Date:   Fri Dec 16 12:39:07 2005 +0100

wined3d: Fix matrix copy/paste bug.

---

 dlls/wined3d/pixelshader.c  |    2 +-
 dlls/wined3d/vertexshader.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 4f868ee..21cc284 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -363,7 +363,7 @@ void pshader_m4x3(WINED3DSHADERVECTOR* d
 
 void pshader_m3x4(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0, D3DMATRIX43 mat) {
     d->x = mat[0][0] * s0->x + mat[0][1] * s0->y + mat[0][2] * s0->z;
-    d->y = mat[2][0] * s0->x + mat[1][1] * s0->y + mat[1][2] * s0->z;
+    d->y = mat[1][0] * s0->x + mat[1][1] * s0->y + mat[1][2] * s0->z;
     d->z = mat[2][0] * s0->x + mat[2][1] * s0->y + mat[2][2] * s0->z;
     d->w = mat[3][0] * s0->x + mat[3][1] * s0->y + mat[3][2] * s0->z;
     PSTRACE(("executing m3x4(1): mat=(%f, %f, %f)    s0=(%f)     d=(%f) \n", mat[0][0], mat[0][1], mat[0][2], s0->x, d->x));
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index a343bcf..ed98c9d 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -315,7 +315,7 @@ void vshader_m4x3(WINED3DSHADERVECTOR* d
 
 void vshader_m3x4(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0, D3DMATRIX43 mat) {
   d->x = mat[0][0] * s0->x + mat[0][1] * s0->y + mat[0][2] * s0->z;
-  d->y = mat[2][0] * s0->x + mat[1][1] * s0->y + mat[1][2] * s0->z;
+  d->y = mat[1][0] * s0->x + mat[1][1] * s0->y + mat[1][2] * s0->z;
   d->z = mat[2][0] * s0->x + mat[2][1] * s0->y + mat[2][2] * s0->z;
   d->w = mat[3][0] * s0->x + mat[3][1] * s0->y + mat[3][2] * s0->z;
   VSTRACE(("executing m3x4(1): mat=(%f, %f, %f)    s0=(%f)     d=(%f) \n", mat[0][0], mat[0][1], mat[0][2], s0->x, d->x));




More information about the wine-cvs mailing list