mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-31 22:25:21 -04:00
matrix: use 2D matrices
This commit is contained in:
parent
d26b67cb06
commit
824a95ad19
21 changed files with 216 additions and 271 deletions
|
|
@ -647,9 +647,9 @@ static bool wlr_drm_connector_set_cursor(struct wlr_output *output,
|
|||
glClearColor(0.0, 0.0, 0.0, 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
float matrix[16];
|
||||
float matrix[9];
|
||||
wlr_texture_get_matrix(plane->wlr_tex, matrix, plane->matrix, 0, 0);
|
||||
wlr_render_with_matrix(plane->surf.renderer->wlr_rend, plane->wlr_tex,
|
||||
wlr_render_texture_with_matrix(plane->surf.renderer->wlr_rend, plane->wlr_tex,
|
||||
matrix, 1.0f);
|
||||
|
||||
glFinish();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include <assert.h>
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <gbm.h>
|
||||
|
|
@ -226,20 +227,21 @@ struct gbm_bo *wlr_drm_surface_mgpu_copy(struct wlr_drm_surface *dest,
|
|||
wlr_drm_surface_make_current(dest, NULL);
|
||||
|
||||
struct wlr_texture *tex = get_tex_for_bo(dest->renderer, src);
|
||||
assert(tex);
|
||||
|
||||
static const float matrix[16] = {
|
||||
static const float color[] = {0.0, 0.0, 0.0, 1.0};
|
||||
|
||||
static const float mat[9] = {
|
||||
[0] = 2.0f,
|
||||
[3] = -1.0f,
|
||||
[5] = 2.0f,
|
||||
[7] = -1.0f,
|
||||
[10] = 1.0f,
|
||||
[15] = 1.0f,
|
||||
[2] = -1.0f,
|
||||
[4] = 2.0f,
|
||||
[5] = -1.0f,
|
||||
[8] = 1.0f,
|
||||
};
|
||||
|
||||
glViewport(0, 0, dest->width, dest->height);
|
||||
glClearColor(0.0, 0.0, 0.0, 1.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
wlr_render_with_matrix(dest->renderer->wlr_rend, tex, matrix, 1.0f);
|
||||
wlr_renderer_clear(dest->renderer->wlr_rend, color);
|
||||
wlr_render_texture_with_matrix(dest->renderer->wlr_rend, tex, mat, 1.0f);
|
||||
|
||||
return wlr_drm_surface_swap_buffers(dest, NULL);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue