diff options
| author | 2012-09-26 16:49:28 -0700 | |
|---|---|---|
| committer | 2012-09-26 16:49:29 -0700 | |
| commit | 244a0bcadc167ed8519c7e34c62e116c1adc2dbe (patch) | |
| tree | dd2ec331c91601b3925e90f4e0bb0b669099b3ca /libs/hwui/Program.cpp | |
| parent | 13987fb43255ccb3802d415e32b1c5caf14291bb (diff) | |
| parent | 39284b763a09688468ed3799ebd2ebb76ea5dfd5 (diff) | |
Merge "Make gradients beautiful again Bug #7239634" into jb-mr1-dev
Diffstat (limited to 'libs/hwui/Program.cpp')
| -rw-r--r-- | libs/hwui/Program.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/hwui/Program.cpp b/libs/hwui/Program.cpp index 5b1b57d3a664..f0b5553a79a7 100644 --- a/libs/hwui/Program.cpp +++ b/libs/hwui/Program.cpp @@ -81,6 +81,7 @@ Program::Program(const ProgramDescription& description, const char* vertex, cons if (mInitialized) { transform = addUniform("transform"); + projection = addUniform("projection"); } } @@ -152,18 +153,20 @@ GLuint Program::buildShader(const char* source, GLenum type) { void Program::set(const mat4& projectionMatrix, const mat4& modelViewMatrix, const mat4& transformMatrix, bool offset) { - mat4 t(projectionMatrix); + mat4 p(projectionMatrix); if (offset) { // offset screenspace xy by an amount that compensates for typical precision // issues in GPU hardware that tends to paint hor/vert lines in pixels shifted // up and to the left. // This offset value is based on an assumption that some hardware may use as // little as 12.4 precision, so we offset by slightly more than 1/16. - t.translate(.375, .375, 0); + p.translate(.375, .375, 0); } - t.multiply(transformMatrix); + + mat4 t(transformMatrix); t.multiply(modelViewMatrix); + glUniformMatrix4fv(projection, 1, GL_FALSE, &p.data[0]); glUniformMatrix4fv(transform, 1, GL_FALSE, &t.data[0]); } |