Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 831217 - games-emulation/pcsx2-9999: unbundle glslang
Summary: games-emulation/pcsx2-9999: unbundle glslang
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: nE0sIghT
URL: https://github.com/KhronosGroup/glsla...
Whiteboard:
Keywords:
Depends on:
Blocks: bundled-libs
  Show dependency tree
 
Reported: 2022-01-15 01:56 UTC by Samuel Bauer
Modified: 2023-02-02 20:33 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
pcsx2_unbundle-glslang.patch (pcsx2_unbundle-glslang.patch,1.75 KB, patch)
2022-01-15 01:56 UTC, Samuel Bauer
Details | Diff
files/DefaultTBuiltInResource.h (DefaultTBuiltInResource.h,4.35 KB, text/x-chdr)
2022-01-15 02:04 UTC, Samuel Bauer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Bauer 2022-01-15 01:56:52 UTC
Created attachment 762182 [details, diff]
pcsx2_unbundle-glslang.patch

Here's provided a patch to allow to use system dev-util/glslang instead of fetching upstream source and recompile at each install.
Comment 1 Samuel Bauer 2022-01-15 02:04:53 UTC
Created attachment 762183 [details]
files/DefaultTBuiltInResource.h

Latest versions of vulkan-headers do not ship default resources.
Here's a dummy default resource that reproduces old included default resources.

Made a while ago to unbundle glslang for dolphin emulator. I think I just copied this file suppressed during a commit and added one definitions added after it.
Comment 2 Samuel Bauer 2022-01-15 02:08:43 UTC
files/DefaultTBuiltInResource.h: will have to be removed when upstream will update their version of glslang
Comment 3 Ionen Wolkens gentoo-dev 2022-01-15 02:10:43 UTC
I was already looking into simplifying the previous unbundling seds, and I think this is starting to be too much for the -9999 ebuild even though it's something I'd want to see done -- especially for something upstream just started using and may be change/break anytime.

I wouldn't say if we released a snapshot (could just do a patch then), although given upstream is changing things around a lot lately it may not be the best time to do that.

Optimal would be to get upstream to give us switches like they did for yaml a while ago, unfortunately each of these new 3rdparty/ additions never have any (feel free to ask them).
Comment 4 Samuel Bauer 2022-01-15 02:28:23 UTC
(In reply to Ionen Wolkens from comment #3)
> I was already looking into simplifying the previous unbundling seds, and I
> think this is starting to be too much for the -9999 ebuild even though it's
> something I'd want to see done -- especially for something upstream just
> started using and may be change/break anytime.
Yes for the same reason it is also not done in dolphin-emu-9999

> I wouldn't say if we released a snapshot (could just do a patch then),
> although given upstream is changing things around a lot lately it may not be
> the best time to do that.
Idk much about pcsx2 activity, just seen the ebuild was modified in a way where I can unbundle glslang.
 
> Optimal would be to get upstream to give us switches like they did for yaml
> a while ago, unfortunately each of these new 3rdparty/ additions never have
> any (feel free to ask them).
For this thing their internal glslang/vk-headers need to be updated.

I think cubeb is included in gentoo tree for the purpose of this ebuild, this is a nice new as it is widely used in many emulators. So progress hoped to be done for my local pkgs, many thanks.
Comment 5 Ionen Wolkens gentoo-dev 2022-01-15 02:33:45 UTC
(In reply to Samuel Bauer from comment #4)
> I think cubeb is included in gentoo tree for the purpose of this ebuild,
> this is a nice new as it is widely used in many emulators. So progress hoped
> to be done for my local pkgs, many thanks.
Yes, this is why I added it (also libchdr and rapidyaml were recently newly needed for pcsx2 too). glslang unfortunately got messy to unbundle though.
Comment 6 Ionen Wolkens gentoo-dev 2022-11-02 08:24:14 UTC
May be possible to visit this in a future glslang release, there's a tentative fix[1] to $URL

[1] https://github.com/greg-lunarg/glslang/commit/90c521434
Comment 7 Ionen Wolkens gentoo-dev 2023-02-02 20:33:58 UTC
(In reply to Ionen Wolkens from comment #6)
> May be possible to visit this in a future glslang release, there's a
> tentative fix[1] to $URL
> 
> [1] https://github.com/greg-lunarg/glslang/commit/90c521434
For example sake, libplacebo is making use of this already:
https://code.videolan.org/videolan/libplacebo/-/commit/2a64dacaefe05e9d883409a01f06abc9f42b046f

But upon consideration, don't think I want to unbundle this. It's still a very fickle library (unlike most other unbundled libs) and, from previous interactions[1], upstream will have no interest in fixing bugs with system version until they bump their bundled copy and will leave us constantly on our own.

Will consider it if glslang can get used normally with -DUSE_SYSTEM_LIBS=yes or similar without doing yet more of our own hacks (upstream likely won't care to implement these themselves, but past has shown they do accept some PRs to unbundle even if not fully supported -- not that I have the patience to push for this myself). So, marking this UPSTREAM.

[1] https://github.com/PCSX2/pcsx2/issues/7623