diff options
author | Mathias Agopian <mathias@google.com> | 2009-11-03 15:11:41 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-11-03 15:11:41 -0800 |
commit | 71eba665af000b77062bcdd5b0ea4b56a7d07f81 (patch) | |
tree | 855c9e8bca02a21fd710113ddbfe711f19014a64 /opengl | |
parent | ca561493848cce2135d6a46d5f1437fd71e8ec4e (diff) | |
parent | 21977eb0f1d22497d0beed0492e579f953a56552 (diff) | |
download | frameworks_base-71eba665af000b77062bcdd5b0ea4b56a7d07f81.zip frameworks_base-71eba665af000b77062bcdd5b0ea4b56a7d07f81.tar.gz frameworks_base-71eba665af000b77062bcdd5b0ea4b56a7d07f81.tar.bz2 |
am 21977eb0: Merge change I56981989 into eclair
Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-plus-aosp
* commit '21977eb0f1d22497d0beed0492e579f953a56552':
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
Diffstat (limited to 'opengl')
-rw-r--r-- | opengl/libagl/matrix.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/opengl/libagl/matrix.cpp b/opengl/libagl/matrix.cpp index 21ef50e..3c50977 100644 --- a/opengl/libagl/matrix.cpp +++ b/opengl/libagl/matrix.cpp @@ -741,20 +741,19 @@ void point4__generic(transform_t const* mx, vec4_t* lhs, vec4_t const* rhs) { void point4__mvui(transform_t const* mx, vec4_t* lhs, vec4_t const* rhs) { // this used for transforming light positions back to object space. - // Lights have 3 components positions, so w is always 1. - // however, it is used as a switch for directional lights, so we need + // w is used as a switch for directional lights, so we need // to preserve it. const GLfixed* const m = mx->matrix.m; const GLfixed rx = rhs->x; const GLfixed ry = rhs->y; const GLfixed rz = rhs->z; - lhs->x = mla3a(rx, m[ 0], ry, m[ 4], rz, m[ 8], m[12]); - lhs->y = mla3a(rx, m[ 1], ry, m[ 5], rz, m[ 9], m[13]); - lhs->z = mla3a(rx, m[ 2], ry, m[ 6], rz, m[10], m[14]); - lhs->w = rhs->w; + const GLfixed rw = rhs->w; + lhs->x = mla4(rx, m[ 0], ry, m[ 4], rz, m[ 8], rw, m[12]); + lhs->y = mla4(rx, m[ 1], ry, m[ 5], rz, m[ 9], rw, m[13]); + lhs->z = mla4(rx, m[ 2], ry, m[ 6], rz, m[10], rw, m[14]); + lhs->w = rw; } - void point2__nop(transform_t const*, vec4_t* lhs, vec4_t const* rhs) { lhs->z = 0; lhs->w = 0x10000; |