Commit graph

4167 commits

Author SHA1 Message Date
DerVerruckteFuchs
6589bc8b02 correct color depth for 10bit wl_shm color formats 2020-08-01 18:49:39 -04:00
DerVerruckteFuchs
aed7bd0126 add 10bit color to strip_alpha_channel() in backend/drm/renderer.c 2020-07-21 23:35:11 -04:00
DerVerruckteFuchs
52298c8a3c add 10bit color to strip_alpha_channel() 2020-07-21 23:32:26 -04:00
DerVerruckteFuchs
128eb56dc4 update comment with 10bit color formats 2020-07-21 23:26:24 -04:00
DerVerruckteFuchs
02e94738eb fix if statement so clang build can succeed 2020-07-21 22:27:02 -04:00
DerVerruckteFuchs
caacc7c47a collapse first three if blocks into one 2020-07-21 21:27:04 -04:00
DerVerruckteFuchs
200f864088 make comment a single line and fix typo 2020-07-21 21:16:54 -04:00
DerVerruckteFuchs
5971a0425a remove extra line in comment 2020-07-21 20:42:55 -04:00
DerVerruckteFuchs
e9855a3571 Merge remote-tracking branch 'upstream/master' into 10bit-color 2020-07-19 22:39:11 -04:00
DerVerruckteFuchs
bc9ab21de7 add TODO for setting renderer->gbm_format from sway 2020-07-19 22:33:26 -04:00
DerVerruckteFuchs
b91c59b7c8 add 10 bit color formats for drm plane 2020-07-19 22:33:26 -04:00
DerVerruckteFuchs
b51a73cb77 add 10 bit pixel formats 2020-07-19 22:33:26 -04:00
Simon Ser
751a21d94f
Update version to 0.11.0 2020-07-16 00:27:23 +02:00
Tudor Brindus
a145430afa
input/pointer: add wlr_seat_pointer_wrap
It allows a compositor to do things like skip motion events on pointer
constraint unlock.

References: https://github.com/swaywm/sway/pull/5431
2020-07-15 19:31:13 +02:00
Andri Yngvason
6ef5d18757 render: egl: Use current display to restore NULL context
eglGetCurrentDisplay() returns EGL_NO_DISPLAY when there is no context current
and eglMakeCurrent() needs a display argument.

Fixes #2327
2020-07-14 19:55:20 +02:00
xdavidwu
842df2bd6c examples/input-method-keyboard-grab: new example 2020-07-08 11:21:57 +02:00
xdavidwu
595f324f8b input-method: implement keyboard grabs 2020-07-08 11:21:57 +02:00
xdavidwu
61e2ebac90 virtual-keyboard: add wlr_input_device_get_virtual_keyboard 2020-07-08 11:21:57 +02:00
Simon Ser
b6377b59ff backend/drm: check drm_surface_make_current return value
drm_connector_set_cursor wasn't checking the return value of the
drm_surface_make_current call. On failure, this results in a failed
assertion in wlr_renderer_begin (because no rendering context is
current).
2020-07-07 11:18:07 -06:00
Simon Ser
cccca368c5
backend/drm: fix typo in drm_surface_make_current arg 2020-07-07 17:36:51 +02:00
Isaac Freund
92c85858a9 layer-shell: remove unused surface list
This was rendered useless in 5cde359.
2020-07-07 12:11:31 +02:00
DerVerruckteFuchs
a801e1cccb add initial wlr_output_set_format() function 2020-07-06 01:11:15 -04:00
DerVerruckteFuchs
9ade689ca0 add prototype function for wlr_output_set_format() and add the wl_shm_format enum to the wlr_output struct 2020-07-06 01:11:15 -04:00
DerVerruckteFuchs
d91a464552 apply tadeokondrak's 10bit color patch from 'https://github.com/swaywm/wlroots/issues/1378#issuecomment-569826428' 2020-07-06 01:11:15 -04:00
j-n-f
b61a98c417 examples: fix improper use of free
Closes #2303
2020-07-06 00:40:14 +02:00
Greg V
b2bd536308 xdg-shell: check for existing role before setting xdg_popup_surface_role
Hopefully fixes #2056
2020-07-04 12:11:19 +02:00
John Chadwick
58bcec9d94 xwm: end transfers when the requestor is destroyed
This improves the failure cases when incremental transfers fail to
complete successfully for one reason or another.
2020-07-03 09:42:36 +02:00
Simon Ser
f82a27f55a backend/drm: fix DPMS on legacy interface
This mirrors what the atomic code does in create_mode_blob.

Closes: https://github.com/swaywm/wlroots/issues/2312
2020-07-02 09:39:41 -06:00
Andri Yngvason
a54ed85881 examples: screencopy-dmabuf: Fix y-inversion 2020-07-01 11:43:02 +02:00
Andri Yngvason
1d835f2035 screencopy: Use correct dmabuf to get y-inversion flag
Because wlr_renderer_blit_dmabuf() undoes y-inversion on the source
buffer, it is incorrect to pass the y-inversion flag of the source
buffer to the user.
2020-07-01 11:43:02 +02:00
Andri Yngvason
e05a85327f render: gles2: Fix y-inversion in gles2_blit_dmabuf() 2020-07-01 11:43:02 +02:00
Scott Moreau
b1a47245a1 xwm: Destroy xwm on hangup or error
If Xwayland is restarted, the ready handler assumes there is no xwm instance.
This means all of xwm was leaked on Xwayland restart. This caused compositors
to consume all cpu resources, where time is spent dispatching. Now we destroy
xwm if we get an event mask containing WL_EVENT_HANGUP or WL_EVENT_ERROR.
2020-06-30 21:21:25 +02:00
Scott Moreau
84d2f30faa xwayland: Don't discard ready signals
The xwayland ready signals are used to do initial setup like starting xwm.
Discarding the signals means that the handler functions will not be called
in the case that Xwayland is restarted and thus, xwm managed clients fail.

Fixes #2174."
2020-06-30 21:21:25 +02:00
Simon Ser
c611a8f7e7 output: add backend docs 2020-06-30 08:03:58 -06:00
Isaac Freund
45c0877e34 layer-shell: upgrade to v3, implement destructor 2020-06-30 13:33:15 +02:00
Kenny Levinsen
d2ca220fda wlr_drag: Destroy drag after releasing grabs
wlr_drag sets up keyboard, pointer and touch grabs, which block 'enter'
events (and thus focus changes). For the compositor to be able to update
focus (e.g. to focus the drop target) from the destroy handler, the
grabs must be released before the destroy event is signalled.
2020-06-30 11:11:52 +02:00
Kirill Chibisov
6c8f66ff59 xcursor: add xorg-x11 and cursors path to XCURSORPATH
This should match default XCURSORPATH, which is used by libwayland-cursor
and other xcursor loading libraries more closely.
2020-06-26 11:20:52 +02:00
Isaac Freund
a7f48aab69 xdg-decoration: free old configure structs 2020-06-25 10:33:58 +02:00
Isaac Freund
86e20f48c6 xdg-shell: handle serial wrapping overflow 2020-06-25 10:33:58 +02:00
Isaac Freund
b937c7b05e layer-shell: handle serial wrapping overflow 2020-06-25 10:33:58 +02:00
Simon Zeni
4a4da256dd render/gles2: use glGetAttribLocation instead of hardcoded indices 2020-06-24 20:01:19 +02:00
Simon Ser
d5530b26d7 examples/pointer: fix wlr_renderer_end call order
Calling wlr_renderer_end after wlr_output_commit would make an
assertion fail.
2020-06-20 11:05:54 -06:00
Simon Ser
c930160286 backend/noop: add missing rollback_render output impl
3c5dbfd97c ("output: make rollback_render mandatory") makes a no-op
output init fail without this function.
2020-06-19 13:07:24 -06:00
Simon Ser
155d57b01d output: fix dangling renderer context after wlr_output_preferred_read_format
attach_render was called without un-setting the current rendering
context afterwards.

Closes: https://github.com/swaywm/wlroots/issues/2164
2020-06-19 11:50:42 -06:00
Simon Ser
3c5dbfd97c output: make rollback_render mandatory
If the output backend provides attach_render, assert it also provides a
way to revert it via rollback_render.
2020-06-19 11:50:42 -06:00
Simon Ser
bf93d2e67c output: rename impl->rollback to rollback_render
The output backend API is now mostly state-less thanks to the atomic
hooks (commit and test). There is one exception though: attach_render.
This function makes the rendering context current. However sometimes the
compositor might decide not to render after attach_render (e.g. when
there's nothing new to render to the back buffer). Thus
wlr_output_rollback has been introduced to revert the pending state.

Because the output backend API is mostly state-less, the only thing
wlr_output_impl.rollback needs to do is revert the current rendering
context. Rename the function to rollback_render to make this clear. Add
a check in the common wlr_output code to only call rollback_render when
attach_buffer has been previously called.

On the long term, we'll be able to remove attach_render and
rollback_render together.
2020-06-19 11:50:42 -06:00
Simon Ser
58df3eda9f render/egl: print error name
Allows for easier debugging.
2020-06-18 07:56:05 -06:00
Simon Ser
d177abecae surface: ignore viewport src rect on NULL buffer
According to the viewporter protocol:

> If the wl_buffer is NULL, the surface has no content and therefore no size.
2020-06-18 07:55:33 -06:00
Rouven Czerwinski
c18c419b56 surface: don't unset width and height in finalize
During surface finalization we may not have received a new buffer,
resetting width and height in this case is wrong since we display the
old buffer in this case.
2020-06-18 09:54:15 +02:00
Tudor Brindus
c768309ab4 input/keyboard: send modifiers on first keyboard enter
Will fix Firefox bug
https://bugzilla.mozilla.org/show_bug.cgi?id=1643991.

Fixes swaywm/sway#5462.
2020-06-17 18:54:38 +02:00