-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
WIP: mesa bleeding edge #20454
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
WIP: mesa bleeding edge #20454
Conversation
@corngood, thanks for your PR! By analyzing the history of the files in this pull request, we identified @vcunat, @shlevy and @wkennington to be potential reviewers. |
d9b687f
to
87863d8
Compare
Intended for use in mesa amdgpu drivers
87863d8
to
4b94b4f
Compare
Removing WIP. Any thoughts on this @vcunat? |
I don't know if I can get to this properly within several days. Quick thoughts:
|
Tracking bleeding edge llvm + mesa is important these days for good GPU support/performance. It's the only way I can get a Vulkan driver and OpenGL 4.5 core context for my GPU, for example. I do think it's probably a bad idea to be putting svn/git refs in nixpkgs, so how about if I just do the abstractions necessary to make this achievable via user config? Having non-default bleeding edge configs in nixpkgs is probably worth doing in the future, but only for upstream releases, not just random commits. I'll mark this WIP again, and do those changes next time I update. |
|
@vcunat I wouldn't worry about it too much for 17.03. I'd like it to be as easy as possible for people to run with bleeding edge mesa/llvm (for AAA games, etc), but that shouldn't impact the stable release. It looks like there are tons of changes going in recently for amdgpu on llvm (https://github.com/llvm-mirror/llvm/commits/master/lib/Target/AMDGPU). Any one of them could make a big performance difference for a recently released game, or enable support of a new device (e.g. Vega). I still think it's best to just better abstract llvm so that it can easily build from svn with user config, but I haven't had any time to work on it. |
Motivation for this change
@Ralith @vcunat
This brings in development versions of llvm and mesa, which provides the open source amdgpu vulkan driver, OpenGL 4.5 core context, etc.
The amount of duplicate code in /llvm/*/ seems excessive. if I was going to package a new release (e.g. 4.0) I think I'd start by abstracting what I have in svn/).
I'm not quite sure about the way I exposed multiple versions of mesa. It's more like openssl than llvm.
My packageOverrides currently looks like this:
Interesting glxinfo to prove it's working:
Any thoughts?
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)