Commit Graph

825 Commits

Author SHA1 Message Date
Tony Crisci 14654ecb77 implement compositor create region
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain 1901c3e1b6 Fix example for updated gles 2017-08-10 11:03:58 +02:00
nyorain 67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Drew DeVault 750d0ad458 Flesh out wlr_surface state lifecycle a bit
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault 4de930542f Implement partial texture uploads 2017-08-09 22:17:40 -04:00
Tony Crisci 8306f46dfb implement surface frame
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
nyorain cf9ee6ce3f Move wlr_surface into wlr 2017-08-09 17:27:12 +02:00
nyorain 1bea754521 Implement wlr_region using pixman 2017-08-09 17:05:55 +02:00
Scott Anderson af67966d92 Atomic modesetting 2017-08-09 08:07:00 -04:00
nyorain e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Drew DeVault 7486263f7e Add xcursor sublibrary 2017-08-07 21:13:04 -04:00
Scott Anderson d09ca20a4d Use gbm_bo_map for cursor 2017-08-07 21:07:42 +12:00
Scott Anderson 5a636b21ba Remove old fields 2017-08-06 21:51:34 +12:00
Scott Anderson 5f7042a1f2 Moved headers 2017-08-06 21:49:04 +12:00
Scott Anderson 1db97a9af9 Updated DRM cursor rendering 2017-08-06 21:38:40 +12:00
Scott Anderson 7b772e1a4b DRM resource initalisation 2017-08-06 15:49:02 +12:00
Drew DeVault 5bf61ca7ed Check for multi backend before using it 2017-08-05 23:08:35 -04:00
Scott Anderson 4d4da18437 Fixed VT switching 2017-08-06 13:37:49 +12:00
Scott Anderson cb4d50e22c Changed header paths. 2017-08-06 13:25:26 +12:00
Scott Anderson 2ae5cd6539 Moved session/ into backend/ 2017-08-06 13:25:26 +12:00
Scott Anderson ae4478e17f Changed ownership of wlr_session to the multi backend.
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
Tony Crisci effea557bb Implement destroying surfaces
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.

Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.

Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.

Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
2017-08-04 11:53:55 -04:00
Drew DeVault e92a65fee8 Remove use of missing header 2017-07-12 09:49:26 -04:00
Scott Anderson 8189c64d7f Fixed that warnings that showed up with optimisations. 2017-07-11 00:14:55 +12:00
Scott Anderson 5b8ec107b9 Session documentation. 2017-07-09 23:02:41 +12:00
Scott Anderson 3779ef802d Stop remembering the drm fd in child. 2017-07-09 22:23:54 +12:00
Scott Anderson 2f2c8205d8 Moved IPC to its own file. 2017-07-09 22:12:50 +12:00
Scott Anderson bd5bca5283 Added public fields to wlr_session 2017-07-09 17:53:13 +12:00
Drew DeVault 8920b5d607 Merge branch 'wlcore' 2017-06-29 16:00:24 -04:00
Drew DeVault 18e6ddc1c5 Remove wlr_compositor 2017-06-28 17:25:01 -04:00
Drew DeVault f5b7bc033e Add wlr_wl_compositor and remove wlr_wl_shm 2017-06-26 10:26:55 -04:00
Scott Anderson 0cd94f0cf0 Added software cursor fallback 2017-06-26 17:34:15 +12:00
Drew DeVault 8a18cf456a Remove endian.h
Fuck big endian systems anyway
2017-06-23 14:46:18 -04:00
Drew DeVault 5a2796266f Support wl_shm pixel formats in gles2 renderer 2017-06-23 14:25:55 -04:00
Drew DeVault 2aafb5dd19 Add wlcore/wl_shm (WIP) 2017-06-23 13:41:07 -04:00
Drew DeVault b18209c904 Switch to GLES2
Closes #13
2017-06-23 11:38:45 -04:00
Drew DeVault 168f0955ab Add wl_output globals for wlr_outputs 2017-06-22 14:27:35 -04:00
nyorain dbde1f7340 Store wayland backend axis source 2017-06-22 17:58:53 +02:00
nyorain 272030652a Implement absolute motion events for wayland 2017-06-22 17:55:00 +02:00
nyorain c1520077b6 Implement wayland backend input events 2017-06-22 16:53:48 +02:00
Drew DeVault 3d71969b2a Make event names consistent 2017-06-21 14:07:09 -04:00
Drew DeVault f4453d104d Reorganize wlr-common 2017-06-21 12:10:07 -04:00
Drew DeVault fd91244e83 Update everyone to use new headers 2017-06-21 10:27:45 -04:00
Drew DeVault 53a8b4f127 Split out types.h and wlr/types.h
TODO: Update the code accordingly and move other types into the same
paradigm
2017-06-21 10:10:04 -04:00
Scott Anderson 55854565dc Fixed VT switching 2017-06-21 13:31:29 +12:00
Scott Anderson 091de12bf4 Changed session signal to only emit on DRM changes 2017-06-21 12:47:53 +12:00
Drew DeVault c2d0090ad7 Support multiple wl backend outputs 2017-06-20 18:22:21 -04:00
Drew DeVault b9d36c8149 Add dynamic output resizing for Wayland backend
This allows outputs to:
- Not support modesetting
- Resize themselves
2017-06-20 17:51:45 -04:00
nyorain 50ce35e9da Implement wayland backend output 2017-06-20 18:27:05 +02:00
nyorain 62b1421635 Make egl_error function part of the egl interface
The function may be useful for backends using egl.
2017-06-20 18:26:29 +02:00
nyorain 792d535225 Rework wayland backend output implementation 2017-06-19 22:36:40 +02:00
nyorain e65ca967f9 Merge branch 'master' into wayland-backend 2017-06-19 21:22:42 +02:00
Drew DeVault 41b5294013 Merge pull request #16 from nyorain/master
Make logging ninja friendly
2017-06-19 15:18:48 -04:00
Drew DeVault 632a04f1b7 Implement keyboard LEDs 2017-06-19 15:15:37 -04:00
Drew DeVault ecb04afcad Implement tablet pads 2017-06-19 14:49:07 -04:00
nyorain acbc0a019a Make logging ninja friendly
When building with ninja instead of make __FILE__ will be relative
and logging therefore break. This moves stripping the path
from __FILE__ to runtime and handles a relative filepath as
well as a full one.
2017-06-19 20:01:35 +02:00
nyorain 8fbf1ca3ff Continue wayland backend update
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
2017-06-19 19:05:10 +02:00
nyorain 41a477375c Merge branch 'libinput' into wayland-backend 2017-06-19 17:49:26 +02:00
nyorain 904739c405 Start to fix wayland backend
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
2017-06-19 17:46:50 +02:00
Drew DeVault 7e038a6110 Add (broken) DRM hardware cursors 2017-06-16 15:38:34 -04:00
Drew DeVault 2443a070e7 Add colored quad and ellipse rendering primitives 2017-06-15 15:31:13 -04:00
Drew DeVault 4a9966b1a4 Implement wlr_tablet_tool 2017-06-15 14:32:53 -04:00
Drew DeVault 3f24f8a1be Flesh out touch events and add demo 2017-06-14 14:50:09 -04:00
Drew DeVault d6905f86cb Allocate wlr_touch devices 2017-06-14 11:40:03 -04:00
Drew DeVault a63230e59c Implement libinput wlr_pointer 2017-06-13 11:05:45 -04:00
Drew DeVault e257afeb7e Establish multi backend support 2017-06-13 08:10:36 -04:00
Drew DeVault 5dd96c0772 Incorporate XKBCommon into example 2017-06-13 08:10:36 -04:00
Drew DeVault 7a5f35b5bb Reassign ownership of libinput handle 2017-06-13 08:10:36 -04:00
Drew DeVault f479b7c8c7 Split keyboard code out into its own file 2017-06-13 08:10:36 -04:00
Drew DeVault 59ceaf507e Handle key presses 2017-06-13 08:10:36 -04:00
Drew DeVault 0e75d157f5 Initialize keyboards from libinput 2017-06-13 08:10:36 -04:00
Drew DeVault 019fff06be Fix issues, flesh out event handling somewhat 2017-06-13 08:10:36 -04:00
Drew DeVault af69591e62 Add error handling and init in backend_autocreate 2017-06-13 08:10:36 -04:00
Drew DeVault 1262f1400c Initial pass on libinput backend 2017-06-13 08:10:22 -04:00
Drew DeVault 325a331425 Fix some build errors 2017-06-12 22:45:25 -04:00
Drew DeVault 2b06f88f0b Combine internal DRM headers into one
Everything always just included both anyway
2017-06-10 12:30:02 -04:00
Drew DeVault 2b909e1729 Add error "handling" to gles3 backend 2017-06-09 10:28:50 -04:00
Scott Anderson 63c3faa006 Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
has been scanned out.
2017-06-09 17:15:55 +12:00
Drew DeVault cd6a40d816 Further improvements to rendering subsystem 2017-06-08 15:52:42 -04:00
Drew DeVault 83f8864f0a Add wlr_renderer and move quad rendering there 2017-06-08 12:02:51 -04:00
Drew DeVault 211488131f Add wlr_shader to wlr-render 2017-06-08 11:30:38 -04:00
Drew DeVault fc1dc1b5b0 Use constant VBO for quad, add matrix stuff 2017-06-07 21:35:07 -04:00
Scott Anderson 382f712792 Merge remote-tracking branch 'upstream/master' into rotation 2017-06-08 00:52:33 +12:00
Scott Anderson 632a7acb03 Filled out more wlr_output fields. 2017-06-08 00:39:40 +12:00
Scott Anderson 53dd622263 Provide user with transformation matrix 2017-06-07 16:43:57 +12:00
Drew DeVault 6f5c70ac69 Let backend track transform state
This will be necessary to provide it to clients via wl_output.
2017-06-06 11:48:30 -04:00
Scott Anderson c97de93fe1 Added output rotation example 2017-06-05 22:48:51 +12:00
Scott Anderson b537656b4b Removed inline function 2017-06-05 15:09:41 +12:00
Scott Anderson cf07a9fc4f Logging improvements 2017-06-05 14:50:33 +12:00
Drew DeVault 7d82476590 Refactor type implementations 2017-06-04 19:30:50 -04:00
Scott Anderson 5df56653ab Changed invalidate interface. 2017-06-04 17:43:34 +12:00
Scott Anderson de44994dfc Udev event device matching 2017-06-03 15:47:33 +12:00
Drew DeVault 40b85d992a Refactor udev and drm initialization 2017-06-01 20:29:10 -04:00
ascent12 62d612a01e Merge branch 'master' into session 2017-06-01 23:10:19 +12:00
Drew DeVault e2ee67125e s/wayland.h/types.h/g 2017-05-31 16:24:32 -04:00
Drew DeVault c7f6981d9c Clean up outputs on exit 2017-05-31 16:17:04 -04:00
Drew DeVault fee409bd0a Generalize DPMS, remove DRM refs from example 2017-05-31 15:38:26 -04:00
Drew DeVault 03c9b46034 Have backend manage opengl context 2017-05-31 15:15:42 -04:00
Scott Anderson f9d363fece Added device matching 2017-05-14 13:07:34 +12:00
Scott Anderson 7efdd3c9fc Refactored renderer startup to function. 2017-05-14 12:48:47 +12:00
Scott Anderson 058b8bdf27 Working commit 2017-05-14 12:42:49 +12:00
Scott Anderson c88f252580 Initial D-Bus signal support. 2017-05-14 12:40:17 +12:00
Scott Anderson 599d1bcbdc DPMS support 2017-05-13 20:37:15 +12:00
Drew DeVault 00931f2f8f Generalize output handling 2017-05-07 12:26:48 -04:00
Drew DeVault 15b1ce9e6c Refactor backend state management 2017-05-07 10:12:54 -04:00
Scott Anderson 7e9feb70a0 Fixed hotplugging + make EGL more chatty. 2017-05-04 21:58:11 +12:00
Scott Anderson 4285b0c218 Removed unused fields. 2017-05-03 22:50:18 +12:00
Scott Anderson ef9768858e Changed modesetting interface. 2017-05-03 22:41:49 +12:00
Scott Anderson d196a79b6c Changed backend to accept wl_display. 2017-05-03 21:28:44 +12:00
Scott Anderson 0002b8dd08 Added 'direct' session backend 2017-05-03 19:26:43 +12:00
Scott Anderson 18387468bb Renamed 'wlr_drm_display' to 'wlr_drm_output' 2017-05-03 17:49:03 +12:00
Scott Anderson 15d247bf34 Changed drm to use new EGL interface. 2017-05-03 17:17:14 +12:00
Scott Anderson dbceaee9fa Added EGL interface for backends. 2017-05-03 17:04:41 +12:00
Scott Anderson 81998fdc98 Removed old session code from DRM backend. 2017-05-03 16:23:07 +12:00
Scott Anderson 762ac7f4c0 New session interface. 2017-05-03 14:11:22 +12:00
Scott Anderson e446a5300b Added example. 2017-05-02 18:13:17 +12:00
Scott Anderson e9d716fc0c Changed display to use list_t. 2017-05-02 14:34:33 +12:00
Scott Anderson 115d4ae637 Changed events to use wayland functions. 2017-05-02 14:08:34 +12:00
Scott Anderson 562d43a5ec Changed logging. 2017-05-02 13:00:25 +12:00
Scott Anderson 41a82fd2fc Renaming. 2017-05-01 17:49:18 +12:00
Scott Anderson 95a553dc51 Moved headers to the correct place. 2017-05-01 15:33:42 +12:00
Drew DeVault 1aed987301 Add free functions for allocated resources 2017-04-25 21:26:29 -04:00
Drew DeVault 5ca9d612f4 Flesh out wayland backend registry 2017-04-25 19:19:21 -04:00
Drew DeVault de01e654ce Flesh out wayland backend somewhat, add example 2017-04-25 15:06:58 -04:00
Drew DeVault 52e6ed54cb Initial commit 2017-04-25 11:32:52 -04:00