summaryrefslogtreecommitdiff
path: root/libs/hwui/DeferredLayerUpdater.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/DeferredLayerUpdater.cpp')
-rw-r--r--libs/hwui/DeferredLayerUpdater.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index 3bee3018d36e..f300703e7e00 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -15,6 +15,9 @@
*/
#include "DeferredLayerUpdater.h"
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
#include "renderstate/RenderState.h"
#include "utils/PaintUtils.h"
@@ -38,6 +41,16 @@ DeferredLayerUpdater::~DeferredLayerUpdater() {
destroyLayer();
}
+void DeferredLayerUpdater::setSurfaceTexture(const sp<SurfaceTexture>& consumer) {
+ if (consumer.get() != mSurfaceTexture.get()) {
+ mSurfaceTexture = consumer;
+
+ GLenum target = consumer->getCurrentTextureTarget();
+ LOG_ALWAYS_FATAL_IF(target != GL_TEXTURE_2D && target != GL_TEXTURE_EXTERNAL_OES,
+ "set unsupported SurfaceTexture with target %x", target);
+ }
+}
+
void DeferredLayerUpdater::onContextDestroyed() {
destroyLayer();
}