path: root/src/lib/ecore_wl2/ecore_wl2_surface.c (follow)
AgeCommit message (Collapse)Author
2018-07-06ecore_wl2: Replace window ids with pointersDerek Foreman
Summary: There's no benefit to generating ids instead of just using the Ecore_Wl2_Window pointer in events. This has the added benefit of working around a really nasty hash collision bug when multiple ecore_evas engines are used at once. ref T7053 ref T6222 @beta_break Depends on D6521 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #committers, zmike Tags: #efl Maniphest Tasks: T7053, T6222 Differential Revision:
2018-06-15ecore_wl2: Add a purge option to surface flushDerek Foreman
Summary: We need to be able to forcibly destroy all surface buffers to make session recovery work safely for software rendering. @betabreak Depends on D6278 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision:
2018-06-15ecore_wl2: Set the parent window's surface to NULL on surface destroyDerek Foreman
Summary: Prevents potential use after free. Depends on D6277 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision:
2018-04-20ecore_wl2: Add ecore_wl2_surface_alpha_get queryDerek Foreman
We'll need this for some surface modules to properly handle alpha changes
2018-04-20ecore_wl2: Add alpha to reconfigureDerek Foreman
Currently we only ever make wayland windows with alpha, this is a step towards changing that.
2018-02-15ecore_wl2: Take a library reference on surface createDerek Foreman
Since surface handling is now done via modules, we need to ensure the library can't be shutdown while a surface exists. Otherwise, we get a segfault trying to call a function we've unmapped. Fixes a bug on shutdown for some wayland clients using software rendering.
2018-02-09ecore_wl2: Destroy offscreen event handler in surface destroyDerek Foreman
Or we can get the event after destroying the surface and crash.
2018-01-30ecore_wl2_surface: Flush surfaces for offscreen windowsDerek Foreman
When a surface leaves all outputs we can discard its buffers to save memory. Currently most compositors don't send leave events for iconify, so this pretty much just saves us a cursor buffer under weston for now, but in the future it could be used for freeing resources of offscreen (fully occluded or iconified) windows.
2018-01-26ecore_wl2: Make surface managers modularDerek Foreman
This allows loading modules to handle wayland surfaces, and makes the existing dmabuf manager a module.
2018-01-26ecore_wl2: Use wl_buffer_get in dmabuf_surface_postDerek Foreman
This is the final place where this code was reliant on internal structures, it now solely uses (beta) public api.
2018-01-26ecore_wl2: Add surface_window_get apiDerek Foreman
One of the last remaining blockers for compiling dmabuf support as a plug-in.
2018-01-26ecore_wl2: Add API to remove surface managersDerek Foreman
Someone might want to do this I guess.
2018-01-26ecore_wl2: Add a way to register new surface managersDerek Foreman
And use it for the existing dmabuf surface manager.
2018-01-26ecore_wl2: rename _surface_flush for consistencyDerek Foreman
It was originally thought that this could be common code for multiple back-ends, but that doesn't really make sense now, so rename it to match the other dmabuf functions.
2018-01-26ecore_wl2: Move private data allocation into back-end codeDerek Foreman
The backend should allocate its own private data and return it instead of a bool. This assumes all back-ends will need some manner of private data, which is certanly true for the one back-end we provide.
2018-01-26ecore_wl2: Move backend specific members into a private data structDerek Foreman
buffers and current buffers are really specific to the dmabuf backend, another plug-in might not need them.
2018-01-26ecore_wl2: Move surface size update into generic codeDerek Foreman
This didn't have to be in backend code in the first place.
2018-01-26ecore_wl2: Add API surface_buffer_createDerek Foreman
The specific surface code only needs these generic surface bits to pass to buffer_create, so make a helper function for that instead of queries for w, h, and alpha.
2018-01-26ecore_wl2: Remove force from surface reconfigureDerek Foreman
It no longer has any users or need to exist.
2018-01-26ecore_wl2: Move smarts from surface_map to buffer_mapDerek Foreman
This simplifies the surface code so that it no longer needs access to buffer structure members.
2018-01-26ecore_wl2: Add buffer_fit API and use it from surface codeDerek Foreman
This tries to resize the buffer's useable area to fit the specified size - this is possible if the stride of the buffer is larger than the current width.
2018-01-26ecore_wl2: Add buffer age inc and use it in surface codeDerek Foreman
Technically not necessary, since we could do this with get and set, but it's a little more convenient to the user this way.
2018-01-26ecore_wl2: Add buffer_age_set and use it in surface codeDerek Foreman
2018-01-26ecore_wl2: Add buffer_age_get API and use it in surface codeDerek Foreman
2018-01-26ecore_wl2: Add API for setting buffer busy status and use itDerek Foreman
Since surfaces will be managed by plug-ins, we need to make sure they don't rely on internal structures.
2018-01-26ecore_wl2: Add API for querying buffer lock status and use itDerek Foreman
Since surfaces will be managed by plug-ins, we need to make sure they don't rely on internal structures.
2018-01-26ecore_wl2: Make the surface interface a pointerDerek Foreman
2018-01-26ecore_wl2: Call check function through a pointerDerek Foreman
We'll need this in the function array when we make surface managers modular.
2018-01-26ecore_wl2: Move dmabuf surface specific tests into their own functionDerek Foreman
Refactoring to allow non-dmabuf surface managers.
2017-12-01ecore_wl2: Add ecore_wl2_surface_flushDerek Foreman
This removes all buffers from a surface.
2017-12-01ecore_wl2: add Ecore_Wl2_Surface to Ecore_Wl2_WindowDerek Foreman
Track the surface of a window and only allow one. Eventually this might be worthwhile to apply to subsurfaces, but for today lazy is the way.
2017-12-01ecore_wl2 wayland_shm: Move surface functions into ecore_wl2Derek Foreman
Finish pushing these all into ecore_wl2