// SPDX-FileCopyrightText: 2023 KylinSoft Co., Ltd.
//
// SPDX-License-Identifier: GPL-1.0-or-later

#ifndef _RENDERER_P_H_
#define _RENDERER_P_H_

#include <wlr/render/wlr_renderer.h>

struct wlr_drm_format;

bool wayland_drm_create(struct wl_display *display, struct wlr_renderer *renderer, int master_fd);

struct wlr_buffer *shm_create_buffer(int width, int height, uint32_t format);

bool gbm_allocator_create(struct wlr_renderer *renderer);

struct wlr_buffer *gbm_allocator_create_buffer(int width, int height,
                                               const struct wlr_drm_format *format);

const struct wlr_drm_format_set *
gbm_allocator_get_single_plane_formates(struct wlr_renderer *renderer);

bool ky_renderer_config_init(struct wlr_renderer *renderer);

bool single_pixel_buffer_manager_create(struct wl_display *display);

#endif /* _RENDERER_P_H_ */
