Age | Commit message (Collapse) | Author |
|
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: https://phab.enlightenment.org/D6522
|
|
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: https://phab.enlightenment.org/D6279
|
|
Summary:
Prevents potential use after free.
Depends on D6277
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6278
|
|
We'll need this for some surface modules to properly handle alpha changes
|
|
Currently we only ever make wayland windows with alpha, this is a step
towards changing that.
|
|
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.
|
|
Or we can get the event after destroying the surface and crash.
|
|
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.
|
|
This allows loading modules to handle wayland surfaces, and makes the
existing dmabuf manager a module.
|
|
This is the final place where this code was reliant on internal structures,
it now solely uses (beta) public api.
|
|
One of the last remaining blockers for compiling dmabuf support as a
plug-in.
|
|
Someone might want to do this I guess.
|
|
And use it for the existing dmabuf surface manager.
|
|
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.
|
|
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.
|
|
buffers and current buffers are really specific to the dmabuf backend,
another plug-in might not need them.
|
|
This didn't have to be in backend code in the first place.
|
|
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.
|
|
It no longer has any users or need to exist.
|
|
This simplifies the surface code so that it no longer needs access to
buffer structure members.
|
|
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.
|
|
Technically not necessary, since we could do this with get and set, but
it's a little more convenient to the user this way.
|
|
|
|
|
|
Since surfaces will be managed by plug-ins, we need to make sure they
don't rely on internal structures.
|
|
Since surfaces will be managed by plug-ins, we need to make sure they
don't rely on internal structures.
|
|
|
|
We'll need this in the function array when we make surface managers
modular.
|
|
Refactoring to allow non-dmabuf surface managers.
|
|
This removes all buffers from a surface.
|
|
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.
|
|
Finish pushing these all into ecore_wl2
|