Commit Graph

619 Commits

Author SHA1 Message Date
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
Tony Crisci f53575e3a3 unified xdg-surface close 2018-03-24 15:11:26 -04:00
emersion a854c2f246
Merge branch 'master' into gles2-renderer-redesign 2018-03-23 00:55:55 +01:00
Drew DeVault ef3769851f
Merge pull request #740 from emersion/egl-debug
render/egl: use EGL_KHR_debug
2018-03-22 18:54:21 -04:00
Dominique Martinet de955a0f63 xdg_popup_grab: add listener on seat destroy 2018-03-22 21:25:41 +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
Drew DeVault a76cef475b
Merge pull request #733 from emersion/fix-matrix-transpose
Don't use OpenGL matrix transposition
2018-03-19 16:36:17 -04:00
Drew DeVault 8d490fdb34 Write some more docs 2018-03-19 15:46:28 -04:00
emersion 6ecb0eefcb
render/gles2: transpose matrices before binding them
Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is
not allowed for OpenGL ES 2.

This adds a wlr_matrix_transpose function.
2018-03-19 20:21:02 +01:00
Drew DeVault 1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
Matrix redesign
2018-03-17 15:22:00 -04:00
Tony Crisci 09413aa7f1
Merge pull request #711 from emersion/map-unmap
Add map/unmap to xdg-shell
2018-03-17 10:00:54 -04:00
emersion 7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection 2018-03-15 21:26:45 +01:00
emersion e607d0f7ee
xdg-shell: add map/unmap support 2018-03-15 20:15:09 +01:00
emersion 876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture 2018-03-15 19:31:02 +01:00
emersion 1914a1aa2b
surface: drop wlr_surface_get_matrix 2018-03-15 18:35:22 +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
emersion de0e40d621
Merge pull request #698 from agx/linux-dmabuf
Add initial linux_dmabuf protocol support
2018-03-15 12:45:07 +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
emersion ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6 2018-03-13 22:17:25 +01:00
emersion 149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency 2018-03-13 22:09:44 +01:00
emersion 657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel 2018-03-13 22:05:35 +01:00
emersion e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow 2018-03-13 19:57:21 +01:00
Guido Günther 2d0db16942 render: Flip textures in case of inverted_y 2018-03-11 19:02:05 +01:00
emersion 3f072bedd9
xdg-shell-v6: add map signal 2018-03-10 11:18:50 +01:00
Drew DeVault bfc0e95d2c Add mode support to libinput backend
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Scott Anderson 3c9fc7c68e Add const to x11 and input interfaces 2018-03-06 21:16:18 +13:00
Dominique Martinet 7d1870c6f1 move xwm.h out of include/wlr
xwm.h was meant to be private, so move it to include/xwayland/xwm.h
We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move
to xwm, it is not safe to use the WLR_HAS_* in the public headers.

I checked a few of our current users and none rely on xwm.h being
public as expected (rootston, sway, hsroots)
2018-03-03 17:03:21 +01:00
emersion c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
add xwayland unmanaged tests to support dmenu
2018-02-27 09:47:23 +01:00
Markus Ongyerth bb676013ed add xwayland unmanaged tests to support dmenu
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
2018-02-26 12:02:49 +01:00
Drew DeVault 3296365ce5
Merge pull request #659 from agx/alpha
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05: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
Tony Crisci b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth 67285c1d57 idle-inhibit: style adjustments and motivation 2018-02-23 13:18:05 +01:00
emersion b1e2718dd7
xwayland: fix some use-after-free in xwm 2018-02-23 10:20:53 +01:00
emersion bd9583a7e8
Merge pull request #652 from agx/symbols-file
Add symbols file
2018-02-23 09:54:49 +01:00
Markus Ongyerth a715826751 move activity_notify into events in wlr_idle
This moves the `struct wl_signal activity_notify` in `struct wlr_idle`
into a local `struct {} events` to keep consistency with other modules
in the library.
2018-02-22 21:14:28 +01:00
Markus Ongyerth 87a7afb641 idle-inhibit: second feedback pass 2018-02-21 16:22:04 +01:00
Guido Günther 2688f6163f Rename _strip_path to wlr_strip_path
since it's a public function
2018-02-21 10:25:52 +01:00
Markus Ongyerth 3016133f91 idle-inhibit: feedback pass 2018-02-20 13:41:10 +01:00
Drew DeVault 1d9be89e2d
Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
Drew DeVault 09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
add wlr_output_layout_adjacent_output
2018-02-19 18:00:32 -05:00
Scott Anderson f27c0b44b8 Remove usec_to_msec from public API 2018-02-19 10:43:25 +13:00
Tony Crisci 9a8808f8cf move direction to wlr_output_layout.h 2018-02-17 18:48:50 -05:00
Tony Crisci d2c7defa10 Merge branch 'master' into output-layout-adjacent 2018-02-17 16:34:32 -05:00