aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2018-11-09Tell Mesa not to attempt X11 headersCedric Sodhi
If no X11 related things are being built, tell Mesa's eglplatform.h not to attempt inclusion of associated X11 header.
2018-11-09Remove WLR_HAS_POSIX_FALLOCATE from build systemsghctoma
2018-11-04Merge pull request #1261 from arandomhuman/damage-controlDrew DeVault
Fix damage tracking for surfaces with transforms
2018-11-04surface: fix wlr_surface_get_effective_damage to give surface coordsemersion
Transforms were applied, but scale wasn't.
2018-11-04render/gles2: check for GL_OES_EGL_image_externalemersion
2018-11-04render/gles2: remove assumptions about supported formatsemersion
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.
2018-10-29backend/drm: fix frame scheduling on secondary GPUsemersion
There was a missing copy_drm_surface_mgpu call in drm_connector_schedule_frame so we asked for a pageflip with an unknown BO, resulting in ENOENT. Additionally, this commit makes schedule_frame return a bool indicating failures. This allows schedule_frame_handle_idle_timer to only set frame_pending to true if a frame has been successfully scheduled. Thus, if a pageflip fails, rendering won't be blocked forever anymore. In case a pageflip is already pending, true is returned because a frame has already been scheduled and will be sent sometime soon.
2018-10-28util: use shm_open for in-memory filesemersion
shm_open is a POSIX function creating an in-memory file. Using it simplifies the code and removes the dependency on XDG_RUNTIME_DIR. The only downside is that we need to generate a random name for the shm file.
2018-10-28render: on Wayland, make eglSwapBuffers non-blockingemersion
2018-10-27xwayland: fix typo to enable transparencyemersion
We spent literally hours trying to debug this. Turns out it's a typo. Kill me.
2018-10-19Merge pull request #1287 from emersion/source-seat-clientDrew DeVault
data-device: remove wlr_data_source.seat_client
2018-10-16Use enum wl_shm_format for gles2 texture formatsnyorain
Also rephrase the write_pixels comment.
2018-10-15Remove fmt parameter from wlr_texture_write_pixelsnyorain
It's not allowed to change the format of a texture so remove the confusing parameter.
2018-10-12Support older wlr_linux_dmabuf_v1 clientsnyorain
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-12input-method-v2: fix include guard nameemersion
2018-10-12Merge pull request #1203 from dcz-purism/inputDrew DeVault
Support input method and text input
2018-10-12Include wlr/config.h in x11.hScott Anderson
This fixes a warning from the linker when using LTO, due to mismatched types.
2018-10-09rootston: add support for text input and the basic of input methodDorota Czaplejewicz
The compositor acts as a relay between applications using the text-input protocol and input methods using the input-method protocol. This change implements the basic but useful support for input-method, leaving out grabs as well as popups.
2018-10-09wlroots: add basic support for zwp_input_method_v2Dorota Czaplejewicz
Implemented basic input method functionality. Not included: popups, grabbing.
2018-10-09wlroots: add support for zwp_text_input_unstable_v3Dorota Czaplejewicz
2018-10-08Merge pull request #1280 from emersion/drm-link-statusScott Anderson
backend/drm: add support for the link-status property
2018-10-07data-device: remove wlr_data_source.seat_clientemersion
Since the source doesn't always come from a client, this field doesn't make sense. It is replaced by a new "finalized" field in wlr_client_data_source. This is used to make sure set_actions is not sent after start_drag has been sent. A check in data_offer_choose_action has been removed: if an offer has been sent then start_drag has been called, no need to check. I also wanted to add a check for wl_data_source.offer, but it turns out (1) this isn't in the spec (2) it breaks GTK+. This is some preliminary work for Firefox on Wayland compatibility.
2018-10-05output: don't trigger a frame immediately in schedule_frameemersion
This desynchronizes our rendering loop with the vblank cycle. In case a compositor doesn't swap buffers but schedules a frame, emitting a frame event immediately enters a busy-loop. Instead, ask the backend to send a frame when appropriate. On Wayland we can just register a frame callback on our surface. On DRM we can do a no-op pageflip. Fixes #617 Fixes swaywm/sway#2748
2018-10-04output: add presentation refresh predictionemersion
2018-10-04rootston: send presentation eventsemersion
2018-10-04Rename get_present_clock to get_presentation clock, use itemersion
2018-10-04backend: add get_present_clockemersion
2018-10-04output: document signalsemersion
2018-10-04output: add present eventemersion
2018-10-04presentation-time: add protocol implementationemersion
2018-10-04backend/drm: add support for the link-status propertyemersion
2018-10-04Merge pull request #1281 from aereaux/edid-sizesemersion
Update sizes for new EDID database.
2018-10-04Merge pull request #1262 from nyorain/session_fixDrew DeVault
Improve session handling
2018-10-04Update sizes for new EDID database.Aidan Epstein
2018-10-04Use sd_bus_get_property_trivial & remove numberingnyorain
2018-10-04wlr_surface: add wlr_surface_get_effective_damagerandom human
This calculates and returns the effective damage of the surface in surface coordinates, including the client damage (in buffer coordinates), and damage induced by resize or move events.
2018-10-03backend/drm: reset gamma table on VT switchemersion
2018-10-03output: make gamma size a size_t and gamma table constemersion
2018-09-28backend/drm: don't free connector immediatelyemersion
When a pageflip is pending, we'll get a DRM event for the connector in the future. We don't want to free the connector immediately otherwise we'll use-after-free in the pageflip handler. This commit adds a new state, "DISAPPEARED". This asks the pageflip handler to destroy the output after it's done pageflipping.
2018-09-27Merge pull request #1266 from Ongy/xdc_tablet_fixDrew DeVault
Fix tablet_tool tilt and send proximity_out
2018-09-27Fix tablet_tool tilt and send proximity_outMarkus Ongyerth
Originally I asumed tilt_x and tilt_y are very unlikely to change independent, I was proven wrong. And while investigating Krita not using the Erasor tool, I found a bug, which is unrelated though.
2018-09-27Merge pull request #852 from Laaas/masterDrew DeVault
Implement pointer-constraints-unstable-v1 protocol
2018-09-27pointer-constraints: add unstable headeremersion
2018-09-27seat: remove unused keyboard focus_change eventemersion
2018-09-27pointer-constraints: use proper wayland-scanner functionsemersion
2018-09-27pointer-constraints: refactoringemersion
* Rename the constraint_create signal to new_constraint for consistency * Move the constraint_destroy signal to the constraint itself * Use rotate_child_position instead of duplicating logic * Fix inert constraint resource handling * Style fixes
2018-09-26pointer-constraints: make region not a pointer, add committed bitfieldemersion
2018-09-26pointer-constraints: rename wl_{global,resources}emersion
2018-09-24Rework session handlingnyorain
Sessions can now be retrieved from a backend in a more general manner. Multi-backend gets back its `session` field that contains the session if one was created, removing the interfacing from multi backend with the drm backend directly. This adds the possibility to use sessions even without the drm backend. It additionally fixes the bug that 2 session objects got created when WLR_BACKENDS were set to "libinput,drm". To allow vt switching without drm backend (and drm fd) on logind, start listening to PropertiesChanged signals from dbus and parse the session "Active" property when no master fd was created (this does not change current drm backend behaviour in any way).
2018-09-24xwayland: Introduce set_decorations eventRyan Dwyer