mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-04-17 06:46:39 -04:00
Add new struct wlr_multi_gpu
For development to continue on systems (such as optimus laptops) that have multiple GPUs, we need a way to reference all of the renderers that have been created for devices in the system. A wlr_multi_gpu struct holds renderers coming from two different sources: 1. the primary renderer (given to us by the compositor) 2. drm sub backends, each of which has a renderer created for cross-GPU copies. This change provides a way to access all of these from the same place.
This commit is contained in:
parent
ed8961b309
commit
5a38cc57c8
7 changed files with 142 additions and 4 deletions
|
|
@ -14,13 +14,10 @@
|
|||
#include <wlr/render/pass.h>
|
||||
#include <wlr/render/wlr_texture.h>
|
||||
#include <wlr/util/box.h>
|
||||
#include <wlr/backend/multi.h>
|
||||
|
||||
struct wlr_backend;
|
||||
struct wlr_renderer_impl;
|
||||
struct wlr_drm_format_set;
|
||||
struct wlr_buffer;
|
||||
struct wlr_box;
|
||||
struct wlr_fbox;
|
||||
|
||||
/**
|
||||
* A renderer for basic 2D operations.
|
||||
|
|
@ -39,6 +36,9 @@ struct wlr_renderer {
|
|||
// private state
|
||||
|
||||
const struct wlr_renderer_impl *impl;
|
||||
|
||||
/* The GPU list we are a part of, may be null if not created from multi backend */
|
||||
struct wlr_multi_gpu *multi_gpu;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue