diff options
author | Chris Craik <ccraik@google.com> | 2015-03-10 11:03:39 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2015-03-10 14:02:06 -0700 |
commit | 48f650cb24e5b028deaff01baddc1d154f78d91a (patch) | |
tree | 108dbf6fba2ceed0dd04235b2bbb9406e0484ff7 /libs | |
parent | edacf22ca132ac48207a68aa30998f5b43d893b8 (diff) | |
download | frameworks_base-48f650cb24e5b028deaff01baddc1d154f78d91a.zip frameworks_base-48f650cb24e5b028deaff01baddc1d154f78d91a.tar.gz frameworks_base-48f650cb24e5b028deaff01baddc1d154f78d91a.tar.bz2 |
Track down unsupported texture target
bug:19641517
Change-Id: Idc2e413abef5bb1438ffb3f52efb001504d3e89f
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/DeferredLayerUpdater.cpp | 3 | ||||
-rw-r--r-- | libs/hwui/DeferredLayerUpdater.h | 4 | ||||
-rw-r--r-- | libs/hwui/GlopBuilder.cpp | 8 |
3 files changed, 13 insertions, 2 deletions
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp index 6a59a13..6b8c780 100644 --- a/libs/hwui/DeferredLayerUpdater.cpp +++ b/libs/hwui/DeferredLayerUpdater.cpp @@ -109,6 +109,9 @@ void DeferredLayerUpdater::doUpdateTexImage() { mSurfaceTexture->getTransformMatrix(transform); GLenum renderTarget = mSurfaceTexture->getCurrentTextureTarget(); + LOG_ALWAYS_FATAL_IF(renderTarget != GL_TEXTURE_2D && renderTarget != GL_TEXTURE_EXTERNAL_OES, + "doUpdateTexImage target %x, 2d %x, EXT %x", + renderTarget, GL_TEXTURE_2D, GL_TEXTURE_EXTERNAL_OES); LayerRenderer::updateTextureLayer(mLayer, mWidth, mHeight, !mBlend, forceFilter, renderTarget, transform); } diff --git a/libs/hwui/DeferredLayerUpdater.h b/libs/hwui/DeferredLayerUpdater.h index 38d8e4a..82f2741 100644 --- a/libs/hwui/DeferredLayerUpdater.h +++ b/libs/hwui/DeferredLayerUpdater.h @@ -59,6 +59,10 @@ public: if (texture.get() != mSurfaceTexture.get()) { mNeedsGLContextAttach = needsAttach; mSurfaceTexture = texture; + + GLenum target = texture->getCurrentTextureTarget(); + LOG_ALWAYS_FATAL_IF(target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES, + "set unsupported GLConsumer with target %x", target); } } diff --git a/libs/hwui/GlopBuilder.cpp b/libs/hwui/GlopBuilder.cpp index a9ce7f4..0a46014 100644 --- a/libs/hwui/GlopBuilder.cpp +++ b/libs/hwui/GlopBuilder.cpp @@ -576,8 +576,12 @@ void verify(const ProgramDescription& description, const Glop& glop) { void GlopBuilder::build() { REQUIRE_STAGES(kAllStages); if (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kTextureCoord) { - mDescription.hasTexture = mOutGlop->fill.texture.target == GL_TEXTURE_2D; - mDescription.hasExternalTexture = mOutGlop->fill.texture.target == GL_TEXTURE_EXTERNAL_OES; + if (mOutGlop->fill.texture.target == GL_TEXTURE_2D) { + mDescription.hasTexture = true; + } else { + mDescription.hasExternalTexture = true; + } + } mDescription.hasColors = mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kColor; mDescription.hasVertexAlpha = mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::kAlpha; |