mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-15 08:56:26 -05:00
render: introduce pixman renderer
This commit is contained in:
parent
9de93a866f
commit
0d90dddfab
8 changed files with 522 additions and 0 deletions
49
include/render/pixman.h
Normal file
49
include/render/pixman.h
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#ifndef RENDER_PIXMAN_H
|
||||
#define RENDER_PIXMAN_H
|
||||
|
||||
#include <wlr/render/pixman.h>
|
||||
#include <wlr/render/wlr_renderer.h>
|
||||
#include <wlr/render/drm_format_set.h>
|
||||
#include "render/pixel_format.h"
|
||||
|
||||
struct wlr_pixman_pixel_format {
|
||||
uint32_t drm_format;
|
||||
pixman_format_code_t pixman_format;
|
||||
};
|
||||
|
||||
struct wlr_pixman_buffer;
|
||||
|
||||
struct wlr_pixman_renderer {
|
||||
struct wlr_renderer wlr_renderer;
|
||||
|
||||
struct wl_list buffers; // wlr_pixman_buffer.link
|
||||
|
||||
struct wlr_pixman_buffer *current_buffer;
|
||||
int32_t width, height;
|
||||
|
||||
struct wlr_drm_format_set drm_formats;
|
||||
};
|
||||
|
||||
struct wlr_pixman_buffer {
|
||||
struct wlr_buffer *buffer;
|
||||
struct wlr_pixman_renderer *renderer;
|
||||
|
||||
pixman_image_t *image;
|
||||
|
||||
struct wl_listener buffer_destroy;
|
||||
struct wl_list link; // wlr_pixman_renderer.buffers
|
||||
};
|
||||
|
||||
struct wlr_pixman_texture {
|
||||
struct wlr_texture wlr_texture;
|
||||
struct wlr_pixman_renderer *renderer;
|
||||
|
||||
void *data;
|
||||
pixman_image_t *image;
|
||||
const struct wlr_pixel_format_info *format;
|
||||
};
|
||||
|
||||
pixman_format_code_t get_pixman_format_from_drm(uint32_t fmt);
|
||||
const uint32_t *get_pixman_drm_formats(size_t *len);
|
||||
|
||||
#endif
|
||||
17
include/wlr/render/pixman.h
Normal file
17
include/wlr/render/pixman.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* This an unstable interface of wlroots. No guarantees are made regarding the
|
||||
* future consistency of this API.
|
||||
*/
|
||||
#ifndef WLR_USE_UNSTABLE
|
||||
#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
|
||||
#endif
|
||||
|
||||
#ifndef WLR_RENDER_PIXMAN_H
|
||||
#define WLR_RENDER_PIXMAN_H
|
||||
|
||||
#include <wlr/backend.h>
|
||||
#include <wlr/render/wlr_renderer.h>
|
||||
|
||||
struct wlr_renderer *wlr_pixman_renderer_create(void);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue