diff options
| author | Romain Guy <romainguy@google.com> | 2010-07-30 11:36:12 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-07-30 11:40:21 -0700 |
| commit | b82da65cb1601be504241f36778395cd6cb9f87b (patch) | |
| tree | 19fc51fb41e806817a4895212b8111fa9131af04 /libs/hwui/OpenGLRenderer.cpp | |
| parent | b422107d1d599e5d43cc47cd7e1342976b6b5b1a (diff) | |
| download | frameworks_base-b82da65cb1601be504241f36778395cd6cb9f87b.zip frameworks_base-b82da65cb1601be504241f36778395cd6cb9f87b.tar.gz frameworks_base-b82da65cb1601be504241f36778395cd6cb9f87b.tar.bz2 | |
Fix improper clipping after a save()
Change-Id: I13426a67f20d77e2710bd500d82884098f4be97c
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 3c36f95..cc8e6bc 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -177,7 +177,7 @@ void OpenGLRenderer::setViewport(int width, int height) { } void OpenGLRenderer::prepare() { - mSnapshot = mFirstSnapshot; + mSnapshot = new Snapshot(mFirstSnapshot); mSaveCount = 0; glDisable(GL_SCISSOR_TEST); @@ -188,7 +188,7 @@ void OpenGLRenderer::prepare() { glEnable(GL_SCISSOR_TEST); glScissor(0, 0, mWidth, mHeight); - mSnapshot->clipRect.set(0.0f, 0.0f, mWidth, mHeight); + mSnapshot->setClip(0.0f, 0.0f, mWidth, mHeight); } /////////////////////////////////////////////////////////////////////////////// @@ -569,6 +569,7 @@ void OpenGLRenderer::drawText(const char* text, int bytesCount, int count, chooseBlending(true, mode); bindTexture(mFontRenderer.getTexture(), GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, 0); + glUniform1i(mCurrentProgram->getUniform("sampler"), 0); int texCoordsSlot = mCurrentProgram->getAttrib("texCoords"); glEnableVertexAttribArray(texCoordsSlot); |
