Commit Graph

8 Commits

Author SHA1 Message Date
Derek Foreman 925be86f9e ecore_wl2: Fix dmabuf test failure
We need to destroy the buffer manager on fail, since it will exist but
only be able to create buffers we can't actually use.
2017-11-16 13:18:48 -06:00
Derek Foreman c08920820b ecore_wl2: Don't try to close drm_fd if we never opened it
derp.
2017-11-16 13:13:38 -06:00
Derek Foreman fcdbc07fe3 ecore_wl2: Don't open rendernode if we're not going to use it
We should only open this when actually testing dmabuf.  Otherwise we're
just wasting time and adding an opportunity to fail shm init over
unrelated issues.
2017-11-15 11:54:37 -06:00
Derek Foreman 23f5b41176 ecore_wl2: Reset buffer_manager to NULL on failure
Calling this multiple times even after it fails the first time is a legit
thing now.  We'll be doing that when we want to test dmabuf at connection
start.
2017-11-15 11:54:37 -06:00
Derek Foreman 517f929aa5 ecore_wl2: Send a dmabuf non-immediate create at startup
We use immediate mode dmabuf creation at runtime, but this can result in
clients being killed with no option to fallback if the buffers can't be
consumed by the compositor.

This test should catch when a system can allocate a dmabuf buffer and the
compositor claims to accept dmabuf, but the buffer can't actually be used
for whatever reason.  We'll then use wl_shm at runtime instead of dmabuf.
2017-11-15 11:54:37 -06:00
Derek Foreman 3ac556f2e1 ecore_wl2: factor out part of buffer creation
So we can use it to make a non-immediate mode buffer test.
2017-11-15 11:54:37 -06:00
Derek Foreman 04cebba623 ecore_wl2: Filter buffer types by compositor capabilities
It does us no good to be able to allocate dmabuf capable memory if the
compositor can't handle it.  This should fix failures on systems where
allocation is possible but the compositor doesn't advertise dmabuf.
2017-11-15 11:54:37 -06:00
Derek Foreman 9fdcf7d0eb wayland_shm/ecore_wl2: Move buffer allocation into ecore_wl2
This moves all the platform specific buffer allocation into ecore_wl2
instead of the engine.

Note that this makes an internal struct available in the header.  This
will be removed shortly.
2017-11-15 11:54:37 -06:00