summaryrefslogtreecommitdiff
path: root/libs/hostgraphics/HostBufferQueue.cpp
diff options
context:
space:
mode:
author Jerome Gaillard <jgaillard@google.com> 2024-04-24 15:54:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-04-24 15:54:46 +0000
commit1824134a9de5411bdf99d8c66194071ff41e1afc (patch)
treed6a19a8bbb0bb0804063e45d7e5e22f9d4793ee3 /libs/hostgraphics/HostBufferQueue.cpp
parentbc4eac821265b126d16bbf61805a1ba02b832bf1 (diff)
parent52f95ffc2257015c04f0310c428e66b3cf79dfbf (diff)
Merge "Add missing methods in host version of Surface" into main
Diffstat (limited to 'libs/hostgraphics/HostBufferQueue.cpp')
-rw-r--r--libs/hostgraphics/HostBufferQueue.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/hostgraphics/HostBufferQueue.cpp b/libs/hostgraphics/HostBufferQueue.cpp
index ec304378c6c4..b4fd5d9aab3d 100644
--- a/libs/hostgraphics/HostBufferQueue.cpp
+++ b/libs/hostgraphics/HostBufferQueue.cpp
@@ -16,12 +16,15 @@
#include <gui/BufferQueue.h>
+#include <system/window.h>
+
namespace android {
class HostBufferQueue : public IGraphicBufferProducer, public IGraphicBufferConsumer {
public:
HostBufferQueue() : mWidth(0), mHeight(0) { }
+// Consumer
virtual status_t setConsumerIsProtected(bool isProtected) { return OK; }
virtual status_t detachBuffer(int slot) { return OK; }
@@ -51,6 +54,28 @@ public:
virtual status_t setMaxAcquiredBufferCount(int maxAcquiredBuffers) { return OK; }
virtual status_t setConsumerUsageBits(uint64_t usage) { return OK; }
+
+// Producer
+ virtual int query(int what, int* value) {
+ switch(what) {
+ case NATIVE_WINDOW_WIDTH:
+ *value = mWidth;
+ break;
+ case NATIVE_WINDOW_HEIGHT:
+ *value = mHeight;
+ break;
+ default:
+ *value = 0;
+ break;
+ }
+ return OK;
+ }
+
+ virtual status_t requestBuffer(int slot, sp<GraphicBuffer>* buf) {
+ *buf = mBuffer;
+ return OK;
+ }
+
private:
sp<GraphicBuffer> mBuffer;
uint32_t mWidth;