mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-26 06:35:58 +01:00
backend/drm: don't hardcode matrix
This commit is contained in:
parent
bfc9b13dcd
commit
6227da96b1
1 changed files with 7 additions and 10 deletions
|
@ -178,7 +178,8 @@ static void free_eglimage(struct gbm_bo *bo, void *data) {
|
||||||
free(tex);
|
free(tex);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct wlr_texture *get_tex_for_bo(struct wlr_drm_renderer *renderer, struct gbm_bo *bo) {
|
static struct wlr_texture *get_tex_for_bo(struct wlr_drm_renderer *renderer,
|
||||||
|
struct gbm_bo *bo) {
|
||||||
struct tex *tex = gbm_bo_get_user_data(bo);
|
struct tex *tex = gbm_bo_get_user_data(bo);
|
||||||
if (tex) {
|
if (tex) {
|
||||||
return tex->tex;
|
return tex->tex;
|
||||||
|
@ -231,13 +232,8 @@ struct gbm_bo *wlr_drm_surface_mgpu_copy(struct wlr_drm_surface *dest,
|
||||||
|
|
||||||
static const float color[] = {0.0, 0.0, 0.0, 1.0};
|
static const float color[] = {0.0, 0.0, 0.0, 1.0};
|
||||||
|
|
||||||
static const float mat[9] = {
|
float mat[9];
|
||||||
[0] = 2.0f,
|
wlr_matrix_projection(mat, 1, 1, WL_OUTPUT_TRANSFORM_FLIPPED_180);
|
||||||
[2] = -1.0f,
|
|
||||||
[4] = 2.0f,
|
|
||||||
[5] = -1.0f,
|
|
||||||
[8] = 1.0f,
|
|
||||||
};
|
|
||||||
|
|
||||||
glViewport(0, 0, dest->width, dest->height);
|
glViewport(0, 0, dest->width, dest->height);
|
||||||
wlr_renderer_clear(dest->renderer->wlr_rend, color);
|
wlr_renderer_clear(dest->renderer->wlr_rend, color);
|
||||||
|
@ -246,8 +242,9 @@ struct gbm_bo *wlr_drm_surface_mgpu_copy(struct wlr_drm_surface *dest,
|
||||||
return wlr_drm_surface_swap_buffers(dest, NULL);
|
return wlr_drm_surface_swap_buffers(dest, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wlr_drm_plane_surfaces_init(struct wlr_drm_plane *plane, struct wlr_drm_backend *drm,
|
bool wlr_drm_plane_surfaces_init(struct wlr_drm_plane *plane,
|
||||||
int32_t width, uint32_t height, uint32_t format) {
|
struct wlr_drm_backend *drm, int32_t width, uint32_t height,
|
||||||
|
uint32_t format) {
|
||||||
if (!drm->parent) {
|
if (!drm->parent) {
|
||||||
return wlr_drm_surface_init(&plane->surf, &drm->renderer, width, height,
|
return wlr_drm_surface_init(&plane->surf, &drm->renderer, width, height,
|
||||||
format, GBM_BO_USE_SCANOUT);
|
format, GBM_BO_USE_SCANOUT);
|
||||||
|
|
Loading…
Reference in a new issue