summaryrefslogtreecommitdiff
path: root/libs/renderengine/RenderEngine.cpp
diff options
context:
space:
mode:
author Ady Abraham <adyabr@google.com> 2021-02-18 14:01:53 -0800
committer Ady Abraham <adyabr@google.com> 2021-03-11 11:05:37 -0800
commit193426d6c539d4638d6416e9e0caaa62f18fa7ac (patch)
tree25945343f0ee48e560c7ac20b26470cebefb717d /libs/renderengine/RenderEngine.cpp
parent30c6ac31bd18b9ea045cf39b125a5fb145300248 (diff)
SF: add buffer checks to Render Engine
Make sure that both input and output buffers are GPU accessible before Render Engine tries to do something with the buffers. Test: Boot, launch an app, take a screenshot Bug: 158790260 Change-Id: I905a670f6cc2d419b49fe79694df6e71d60a2a92
Diffstat (limited to 'libs/renderengine/RenderEngine.cpp')
-rw-r--r--libs/renderengine/RenderEngine.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/renderengine/RenderEngine.cpp b/libs/renderengine/RenderEngine.cpp
index 79839c1f91..0c5a851c41 100644
--- a/libs/renderengine/RenderEngine.cpp
+++ b/libs/renderengine/RenderEngine.cpp
@@ -85,5 +85,15 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
RenderEngine::~RenderEngine() = default;
+void RenderEngine::validateInputBufferUsage(const sp<GraphicBuffer>& buffer) {
+ LOG_ALWAYS_FATAL_IF(!(buffer->getUsage() & GraphicBuffer::USAGE_HW_TEXTURE),
+ "input buffer not gpu readable");
+}
+
+void RenderEngine::validateOutputBufferUsage(const sp<GraphicBuffer>& buffer) {
+ LOG_ALWAYS_FATAL_IF(!(buffer->getUsage() & GraphicBuffer::USAGE_HW_RENDER),
+ "output buffer not gpu writeable");
+}
+
} // namespace renderengine
} // namespace android