From 688f305cea51086b1f85403159d56be52d18423e Mon Sep 17 00:00:00 2001 From: Gurchetan Singh Date: Mon, 26 Aug 2024 10:32:40 -0700 Subject: [PATCH] gfxstream: guest: remove renderControl dependency from Gralloc Easy to avoid this dependency, just by special-casing createColorBuffer Reviewed-by: Aaron Ruby Acked-by: Yonggang Luo Acked-by: Adam Jackson Part-of: --- src/gfxstream/guest/android/GrallocEmulated.cpp | 2 +- src/gfxstream/guest/android/GrallocEmulated.h | 2 +- src/gfxstream/guest/android/GrallocGoldfish.cpp | 9 ++------- src/gfxstream/guest/android/GrallocGoldfish.h | 2 +- src/gfxstream/guest/android/GrallocMinigbm.cpp | 2 +- src/gfxstream/guest/android/GrallocMinigbm.h | 2 +- 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/gfxstream/guest/android/GrallocEmulated.cpp b/src/gfxstream/guest/android/GrallocEmulated.cpp index 5f93d7cba79..c7faa7d22fb 100644 --- a/src/gfxstream/guest/android/GrallocEmulated.cpp +++ b/src/gfxstream/guest/android/GrallocEmulated.cpp @@ -416,7 +416,7 @@ EmulatedGralloc::~EmulatedGralloc() { GrallocType EmulatedGralloc::getGrallocType() { return GRALLOC_TYPE_EMULATED; } -uint32_t EmulatedGralloc::createColorBuffer(void*, int width, int height, uint32_t glFormat) { +uint32_t EmulatedGralloc::createColorBuffer(int width, int height, uint32_t glFormat) { auto drmFormat = GlFormatToDrmFormat(glFormat); if (!drmFormat) { ALOGE("Unhandled format"); diff --git a/src/gfxstream/guest/android/GrallocEmulated.h b/src/gfxstream/guest/android/GrallocEmulated.h index 70a5f5019fb..5b0710f55ac 100644 --- a/src/gfxstream/guest/android/GrallocEmulated.h +++ b/src/gfxstream/guest/android/GrallocEmulated.h @@ -69,7 +69,7 @@ class EmulatedGralloc : public Gralloc { ~EmulatedGralloc(); GrallocType getGrallocType() override; - uint32_t createColorBuffer(void*, int width, int height, uint32_t glFormat) override; + uint32_t createColorBuffer(int width, int height, uint32_t glFormat) override; int allocate(uint32_t width, uint32_t height, uint32_t format, uint64_t usage, AHardwareBuffer** outputAhb) override; diff --git a/src/gfxstream/guest/android/GrallocGoldfish.cpp b/src/gfxstream/guest/android/GrallocGoldfish.cpp index 723279590a9..0ca61d62d8c 100644 --- a/src/gfxstream/guest/android/GrallocGoldfish.cpp +++ b/src/gfxstream/guest/android/GrallocGoldfish.cpp @@ -17,17 +17,12 @@ #include #include -#include "renderControl_enc.h" - namespace gfxstream { -uint32_t GoldfishGralloc::createColorBuffer(void* rcEnc, int width, int height, uint32_t glformat) { - auto* rc = reinterpret_cast(rcEnc); - return rc->rcCreateColorBuffer(rc, width, height, glformat); -} - GrallocType GoldfishGralloc::getGrallocType() { return GRALLOC_TYPE_GOLDFISH; } +uint32_t GoldfishGralloc::createColorBuffer(int width, int height, uint32_t glformat) { return 0; } + int GoldfishGralloc::allocate(uint32_t width, uint32_t height, uint32_t format, uint64_t usage, AHardwareBuffer** outputAhb) { struct AHardwareBuffer_Desc desc = { diff --git a/src/gfxstream/guest/android/GrallocGoldfish.h b/src/gfxstream/guest/android/GrallocGoldfish.h index 508fc49b73a..5808e051d2c 100644 --- a/src/gfxstream/guest/android/GrallocGoldfish.h +++ b/src/gfxstream/guest/android/GrallocGoldfish.h @@ -21,7 +21,7 @@ namespace gfxstream { class GoldfishGralloc : public Gralloc { public: GrallocType getGrallocType() override; - uint32_t createColorBuffer(void* rcEnc, int width, int height, uint32_t glformat) override; + uint32_t createColorBuffer(int width, int height, uint32_t glformat) override; int allocate(uint32_t width, uint32_t height, uint32_t format, uint64_t usage, AHardwareBuffer** outputAhb) override; diff --git a/src/gfxstream/guest/android/GrallocMinigbm.cpp b/src/gfxstream/guest/android/GrallocMinigbm.cpp index 979c7e76028..d34b5482fd6 100644 --- a/src/gfxstream/guest/android/GrallocMinigbm.cpp +++ b/src/gfxstream/guest/android/GrallocMinigbm.cpp @@ -114,7 +114,7 @@ bool getVirtioGpuResourceInfo(int fd, native_handle_t const* handle, GrallocType MinigbmGralloc::getGrallocType() { return GRALLOC_TYPE_MINIGBM; } -uint32_t MinigbmGralloc::createColorBuffer(void*, int width, int height, uint32_t glformat) { +uint32_t MinigbmGralloc::createColorBuffer(int width, int height, uint32_t glformat) { // Only supported format for pbuffers in gfxstream should be RGBA8 const uint32_t kVirglFormatRGBA = 67; // VIRGL_FORMAT_R8G8B8A8_UNORM; uint32_t virtgpu_format = 0; diff --git a/src/gfxstream/guest/android/GrallocMinigbm.h b/src/gfxstream/guest/android/GrallocMinigbm.h index 1abd5ab7e01..2c56e2ac3fd 100644 --- a/src/gfxstream/guest/android/GrallocMinigbm.h +++ b/src/gfxstream/guest/android/GrallocMinigbm.h @@ -22,7 +22,7 @@ class MinigbmGralloc : public Gralloc { public: GrallocType getGrallocType() override; - uint32_t createColorBuffer(void* rcEnc, int width, int height, uint32_t glformat) override; + uint32_t createColorBuffer(int width, int height, uint32_t glformat) override; int allocate(uint32_t width, uint32_t height, uint32_t format, uint64_t usage, AHardwareBuffer** outputAhb) override;