mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
render: switch wlr_renderer to wlr_drm_format_set
This commit is contained in:
parent
c01b81c99c
commit
e42178d03f
7 changed files with 88 additions and 86 deletions
|
|
@ -21,6 +21,7 @@
|
|||
#include <stdbool.h>
|
||||
#include <wayland-server.h>
|
||||
#include <wlr/render/dmabuf.h>
|
||||
#include <wlr/render/drm_format_set.h>
|
||||
|
||||
struct wlr_egl {
|
||||
EGLenum platform;
|
||||
|
|
@ -42,6 +43,8 @@ struct wlr_egl {
|
|||
} exts;
|
||||
|
||||
struct wl_display *wl_display;
|
||||
|
||||
struct wlr_drm_format_set dmabuf_formats;
|
||||
};
|
||||
|
||||
// TODO: Allocate and return a wlr_egl
|
||||
|
|
@ -88,13 +91,7 @@ EGLImageKHR wlr_egl_create_image_from_dmabuf(struct wlr_egl *egl,
|
|||
/**
|
||||
* Get the available dmabuf formats
|
||||
*/
|
||||
int wlr_egl_get_dmabuf_formats(struct wlr_egl *egl, int **formats);
|
||||
|
||||
/**
|
||||
* Get the available dmabuf modifiers for a given format
|
||||
*/
|
||||
int wlr_egl_get_dmabuf_modifiers(struct wlr_egl *egl, int format,
|
||||
uint64_t **modifiers);
|
||||
const struct wlr_drm_format_set *wlr_egl_get_dmabuf_formats(struct wlr_egl *egl);
|
||||
|
||||
bool wlr_egl_export_image_to_dmabuf(struct wlr_egl *egl, EGLImageKHR image,
|
||||
int32_t width, int32_t height, uint32_t flags,
|
||||
|
|
|
|||
|
|
@ -46,9 +46,8 @@ struct wlr_renderer_impl {
|
|||
struct wl_resource *resource);
|
||||
void (*wl_drm_buffer_get_size)(struct wlr_renderer *renderer,
|
||||
struct wl_resource *buffer, int *width, int *height);
|
||||
int (*get_dmabuf_formats)(struct wlr_renderer *renderer, int **formats);
|
||||
int (*get_dmabuf_modifiers)(struct wlr_renderer *renderer, int format,
|
||||
uint64_t **modifiers);
|
||||
const struct wlr_drm_format_set *(*get_dmabuf_formats)(
|
||||
struct wlr_renderer *renderer);
|
||||
enum wl_shm_format (*preferred_read_format)(struct wlr_renderer *renderer);
|
||||
bool (*read_pixels)(struct wlr_renderer *renderer, enum wl_shm_format fmt,
|
||||
uint32_t *flags, uint32_t stride, uint32_t width, uint32_t height,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ enum wlr_renderer_read_pixels_flags {
|
|||
};
|
||||
|
||||
struct wlr_renderer_impl;
|
||||
struct wlr_drm_format_set;
|
||||
|
||||
struct wlr_renderer {
|
||||
const struct wlr_renderer_impl *impl;
|
||||
|
|
@ -87,15 +88,10 @@ bool wlr_renderer_resource_is_wl_drm_buffer(struct wlr_renderer *renderer,
|
|||
void wlr_renderer_wl_drm_buffer_get_size(struct wlr_renderer *renderer,
|
||||
struct wl_resource *buffer, int *width, int *height);
|
||||
/**
|
||||
* Get the available dmabuf formats
|
||||
* Get the available DMA-BUF formats.
|
||||
*/
|
||||
int wlr_renderer_get_dmabuf_formats(struct wlr_renderer *renderer,
|
||||
int **formats);
|
||||
/**
|
||||
* Get the available dmabuf modifiers for a given format
|
||||
*/
|
||||
int wlr_renderer_get_dmabuf_modifiers(struct wlr_renderer *renderer, int format,
|
||||
uint64_t **modifiers);
|
||||
const struct wlr_drm_format_set *wlr_renderer_get_dmabuf_formats(
|
||||
struct wlr_renderer *renderer);
|
||||
/**
|
||||
* Reads out of pixels of the currently bound surface into data. `stride` is in
|
||||
* bytes.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue