emersion
b42fc4f2b1
render: on Wayland, make eglSwapBuffers non-blocking
2018-10-28 09:58:20 +01:00
nyorain
cb03a41a3b
Use enum wl_shm_format for gles2 texture formats
...
Also rephrase the write_pixels comment.
2018-10-16 09:35:28 +02:00
nyorain
cd28637187
Remove fmt parameter from wlr_texture_write_pixels
...
It's not allowed to change the format of a texture so remove
the confusing parameter.
2018-10-15 23:56:56 +02:00
nyorain
affbfb6a28
Support older wlr_linux_dmabuf_v1 clients
...
If a client uses an older version of the dmabuf protocol, use the
`formats` event instead of `modifiers` (since that didn't exist in older
versions).
With a bit of necessary guessing, support dmabuf importing even when
EGL_EXT_image_dma_buf_import_modifiers isn't present instead of
failing up front.
2018-10-12 23:07:45 +02:00
Scott Anderson
fd3fa760d3
Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""
...
This reverts commit 9c886f20b9
.
2018-08-24 19:35:02 +12:00
Drew DeVault
9c886f20b9
Revert "Merge pull request #1194 from ascent12/meson_feature"
...
This breaks wlroots when used as a meson subproject.
This reverts commit dea311992e
, reversing
changes made to 6db9c4b746
.
2018-08-23 21:00:58 -04:00
Scott Anderson
51892e0d74
Install headers explicitly
2018-08-22 21:16:16 +12:00
Drew DeVault
211ae764fd
Initial pass on API stability guarantees
...
This introduces -DWLR_USE_UNSTABLE and adds information regarding the
stability status to all headers. I started with a conservative set of
headers to mark as stable:
- types/wlr_matrix.h
- util/edges.h
- util/log.h
- util/region.h
- xcursor.h
2018-07-29 19:20:34 -04:00
emersion
c4915d1492
render: add wlr_texture_is_opaque
2018-07-12 23:35:33 +01:00
emersion
2b9cbaddf3
screencopy: add support for frame flags
2018-06-30 22:18:03 +01:00
emersion
57548b557a
Merge branch 'master' into screencontent
2018-06-17 14:49:18 +01:00
Vincent Vanlaer
f1a62a3200
Rename egl.exts to match the extension names
2018-06-09 19:11:51 +02:00
Vincent Vanlaer
5ec6d8230d
Split eglSwapBuffersWithDamage feature detection
...
Detecting whether eglSwapBuffersWithDamageEXT or
eglSwapBuffersWithDamageKHR is used should be based on the extension
string, not only on the availability of the function.
2018-06-09 11:39:14 +02:00
emersion
457bfcab19
render/egl: only request high priority context on DRM
2018-06-08 00:17:45 +01:00
emersion
d425edc96c
render/egl: consistent extension checking
2018-06-08 00:06:34 +01:00
emersion
cbfe0e834a
Request a high priority EGL context
2018-06-08 00:06:34 +01:00
emersion
21928cbe61
Merge branch 'master' into screencontent
2018-05-31 12:33:27 +01:00
emersion
135721118a
render: remove wlr_renderer_check_import_dmabuf
...
It's possible to implement it outside the renderer, by creating a
texture and destroying it right away. This reduces the API surface
of the renderer.
2018-05-30 17:08:15 +01:00
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
2018-05-30 09:29:12 +01:00
emersion
5ba1a9af56
render: add wlr_texture_to_dmabuf
2018-05-29 18:47:17 +01:00
emersion
6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
...
render: bind wl_drm in renderer
2018-05-25 13:54:16 +01:00
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
2018-05-25 14:56:52 +03:00
emersion
41130fe54b
render: bind wl_drm in renderer
2018-05-21 19:07:08 +01:00
emersion
449f06556a
Destroy wlr_surface with wlr_renderer
2018-04-26 00:11:36 +01:00
emersion
018b82c01e
render/egl: allow passing NULL to surface and image destructors
2018-04-25 08:28:48 +01:00
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
2018-04-24 23:44:43 +01:00
emersion
70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
2018-04-20 23:58:30 +01:00
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
2018-04-08 11:00:56 -04:00
emersion
f3f61bed3e
Untie wlr_gles2_renderer and wlr_gles2_texture
2018-04-01 16:07:50 -04:00
emersion
a7bb48b404
render/egl: add wlr_egl_create_image_from_wl_drm
...
This allows external renderers and potential future GL-based
renderers to re-use this function.
2018-03-31 23:20:00 -04:00
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
2018-03-31 18:49:43 -04:00
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
2018-03-28 00:14:57 -04:00
Drew DeVault
13edb19a6c
Fix issue starting up client EGL on X11 backend
2018-03-27 18:51:38 -04:00
emersion
c42fd1018b
render: remove GL calls from wlr_egl
2018-03-27 17:02:48 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
2018-03-26 19:13:13 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
2018-03-26 12:41:51 -04:00
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
2018-03-24 23:48:32 -04:00
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign
2018-03-23 00:55:55 +01:00
emersion
b1f93bc5cc
render/egl: use EGL_KHR_debug
2018-03-21 10:42:43 +01:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
95e86e675a
render/gles2: remove global state, use OpenGL debug extension
2018-03-20 19:14:33 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
2018-03-15 19:31:02 +01:00
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
2018-03-15 15:48:09 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00