native: Consolidate DRM buffer management to MetaDrmBuffer types
This commit consolidates DRM buffer management to the MetaDrmBuffer types, where the base type handles the common functionality (such as managing the framebuffer id using drmModeAdd*/RMFb()), and the sub types their corresponding type specific behavior. This means that drmModeAdd*/RmFB() handling is moved from meta-gpu-kms.c to meta-drm-buffer.c; dumb buffer allocation/management from meta-renderer-native.c. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1488>
This commit is contained in:
@ -22,7 +22,8 @@
|
||||
#ifndef META_DRM_BUFFER_DUMB_H
|
||||
#define META_DRM_BUFFER_DUMB_H
|
||||
|
||||
#include "backends/native/meta-drm-buffer.h"
|
||||
#include "backends/native/meta-drm-buffer-private.h"
|
||||
#include "backends/native/meta-kms-device.h"
|
||||
|
||||
#define META_TYPE_DRM_BUFFER_DUMB (meta_drm_buffer_dumb_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaDrmBufferDumb,
|
||||
@ -30,6 +31,15 @@ G_DECLARE_FINAL_TYPE (MetaDrmBufferDumb,
|
||||
META, DRM_BUFFER_DUMB,
|
||||
MetaDrmBuffer)
|
||||
|
||||
MetaDrmBufferDumb * meta_drm_buffer_dumb_new (uint32_t dumb_fb_id);
|
||||
MetaDrmBufferDumb * meta_drm_buffer_dumb_new (MetaKmsDevice *device,
|
||||
int width,
|
||||
int height,
|
||||
uint32_t format,
|
||||
GError **error);
|
||||
|
||||
int meta_drm_buffer_dumb_ensure_dmabuf_fd (MetaDrmBufferDumb *buffer_dumb,
|
||||
GError **error);
|
||||
|
||||
void * meta_drm_buffer_dumb_get_data (MetaDrmBufferDumb *buffer_dumb);
|
||||
|
||||
#endif /* META_DRM_BUFFER_DUMB_H */
|
||||
|
Reference in New Issue
Block a user