Simon Ser
7f2bd0b211
render: unconditionally disable implicit X11 includes
...
Even if the X11 backend or Xwayland is enabled, we don't rely on
EGL/egl.h including Xlib headers.
5 years ago
Danilo Spinella
41cbb80e25
Add new define EGL_NO_X11 for newer mesa library
...
Define both MESA_EGL_NO_X11_HEADERS and EGL_NO_X11 for
backward combatibility.
5 years ago
emersion
e42178d03f
render: switch wlr_renderer to wlr_drm_format_set
6 years ago
Jente Hidskes
ed5296c6cf
Protect against redefining MESA_EGL_NO_X11_HEADERS
6 years ago
emersion
51bfdd620e
Use #if instead of #ifdef for wlroots config data
...
This prevents some annoying issues when e.g. not including wlr/config.h or
making a typo in the guard name.
6 years ago
Cedric Sodhi
beefec3326
Tell Mesa not to attempt X11 headers
...
If no X11 related things are being built, tell Mesa's eglplatform.h not to attempt inclusion of associated X11 header.
6 years ago
emersion
62d646f2b8
render/gles2: remove assumptions about supported formats
...
We were assuming GL_BGRA_EXT was always supported.
We now check that it's supported for rendering. We fail if it isn't because
this format is specified as "always supported" by the Wayland protocol.
We also check if it's supported for reading pixels. A new preferred_read_format
function returns the preferred format that can be used to read pixels. This is
used by the screencopy protocol.
6 years ago
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.
6 years ago
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
6 years ago
emersion
c4915d1492
render: add wlr_texture_is_opaque
6 years ago
emersion
2b9cbaddf3
screencopy: add support for frame flags
7 years ago
emersion
57548b557a
Merge branch 'master' into screencontent
7 years ago
emersion
21928cbe61
Merge branch 'master' into screencontent
7 years ago
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.
7 years ago
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion
5ba1a9af56
render: add wlr_texture_to_dmabuf
7 years ago
emersion
41130fe54b
render: bind wl_drm in renderer
7 years ago
emersion
449f06556a
Destroy wlr_surface with wlr_renderer
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
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.
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
7 years ago
emersion
95e86e675a
render/gles2: remove global state, use OpenGL debug extension
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
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.
7 years ago
emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
7 years ago
emersion
c2e1474010
Reformat all #include directives
7 years ago
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
7 years ago
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
7 years ago
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
7 years ago
emersion
0ce3135304
Move read_pixels from output to renderer
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
emersion
427bdb5b55
Use more consistent include guard names
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
Tony Crisci
72a33b736f
implement texture get buffer size
7 years ago
Drew DeVault
de6f32c84e
Refactor away wlr_renderer_state
7 years ago
Drew DeVault
94e6e6334b
Refactor out wlr_texture_state
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
4de930542f
Implement partial texture uploads
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Drew DeVault
8920b5d607
Merge branch 'wlcore'
8 years ago
Scott Anderson
0cd94f0cf0
Added software cursor fallback
8 years ago
Drew DeVault
5a2796266f
Support wl_shm pixel formats in gles2 renderer
8 years ago