gfxstream: guest: remove renderControl dependency from Gralloc
Easy to avoid this dependency, just by special-casing createColorBuffer Reviewed-by: Aaron Ruby <aruby@blackberry.com> Acked-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This commit is contained in:

committed by
Marge Bot

parent
2d967209ad
commit
688f305cea
@@ -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");
|
||||
|
@@ -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;
|
||||
|
@@ -17,17 +17,12 @@
|
||||
#include <gralloc_cb_bp.h>
|
||||
#include <vndk/hardware_buffer.h>
|
||||
|
||||
#include "renderControl_enc.h"
|
||||
|
||||
namespace gfxstream {
|
||||
|
||||
uint32_t GoldfishGralloc::createColorBuffer(void* rcEnc, int width, int height, uint32_t glformat) {
|
||||
auto* rc = reinterpret_cast<renderControl_client_context_t*>(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 = {
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user