summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2015-03-10 11:03:39 -0700
committerChris Craik <ccraik@google.com>2015-03-10 14:02:06 -0700
commit48f650cb24e5b028deaff01baddc1d154f78d91a (patch)
tree108dbf6fba2ceed0dd04235b2bbb9406e0484ff7 /libs
parentedacf22ca132ac48207a68aa30998f5b43d893b8 (diff)
downloadframeworks_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.cpp3
-rw-r--r--libs/hwui/DeferredLayerUpdater.h4
-rw-r--r--libs/hwui/GlopBuilder.cpp8
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;