Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Krypton wayland #9

Open
wants to merge 59 commits into
base: Krypton
Choose a base branch
from

Conversation

mihailescu2m
Copy link

@mihailescu2m mihailescu2m commented Oct 9, 2017

adds Wayland support to Kodi/Krypton
based on the old XBMC code, cherrypicked from MaxKellermann's repository

this is for Krypton only, as Kodi/Leia has an updated Wayland implementation

to use Wayland, add -DENABLE_WAYLAND=ON to the cmake command

MaxKellermann and others added 30 commits October 9, 2017 11:58
Remove redundant "virtual" keywords.

Signed-off-by: memeka <[email protected]>
The program gets installed to $(PREFIX)/bin, not to $(SOURCE).

Signed-off-by: memeka <[email protected]>
Don't need a copy of src/ for this.  This was fragile anyway.

Signed-off-by: memeka <[email protected]>
This reduces the overhead, because resizing the std::vector will
create lots of temporary CGUIListItemLayout copies.  A std::list never
needs to move its items.

Signed-off-by: memeka <[email protected]>
Fixes missing green channel when VA-API is used with GLES2.  This
switch was already present in OpenGL, but not in GLES2.

Signed-off-by: memeka <[email protected]>
Fix out-of-tree build due to VPATH breakage.

Signed-off-by: memeka <[email protected]>
After Count() has been called, streams may be added or removed,
leading to bogus results, because the mutex is released during the
loop.

Fix this by adding another recursive lock.

Signed-off-by: memeka <[email protected]>
In xbmc#9442 (comment),
FernetMenta mandated that "this particular method does not require
locking".  It is important to document semantic API restrictions like
this one.

Signed-off-by: memeka <[email protected]>
Eliminate all but one std::vector reallocations.

Signed-off-by: memeka <[email protected]>
This reverts commit cd81447.

That commit deleted Wayland support completely without describing a
reason.  But I want to run Kodi on Wayland.

Signed-off-by: memeka <[email protected]>
It is important to define WL_EGL_PLATFORM prior to including EGL/egl.h
if Wayland is used, because the headers default to X11.

Signed-off-by: memeka <[email protected]>
In xbmc#8980, FernetMenta postulated:

 "If anybody wants to re-submit wayland, it has to comply to the
 architecture.  That is no components under the folder windowing/egl,
 no boost."

This patch is trying to comply with this rule.

Signed-off-by: memeka <[email protected]>
MaxKellermann and others added 29 commits October 9, 2017 16:10
Replace with light reimplementation, with no dependencies.

Boost removal was requested on xbmc#8980

Fixes https://github.com/MaxKellermann/xbmc/issues/3

Signed-off-by: memeka <[email protected]>
Its essentially the same thing as static

Signed-off-by: memeka <[email protected]>
There is some dark magic that goes on here. Essentially, container_of
uses offsetof in order to get the struct that contained the listener.

However, it only works with structs, so we have to have an inner
struct for the listener and the this pointer and then an outer
class which contains the inner struct.

Signed-off-by: memeka <[email protected]>
This was an ABI break that happened earlier.

Signed-off-by: memeka <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants