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

Mesa Darwin support #63912

Closed
wants to merge 3 commits into from
Closed

Conversation

matthewbauer
Copy link
Member

@matthewbauer matthewbauer commented Jun 29, 2019

Fixes Mesa on Darwin and simplifies some flags. Should go to staging

This fixes the darwin build, while also using Meson’s auto features as
much as possible. As a result, we avoid using having to specify
default drivers and instead delegate that to Mesa’s build system.
Removed other flags that were specified to the default in Mesa.

The -fno-common is needed to address undefined symbol _lp_dummy_tile
in the build.

@eadwu

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

eadwu and others added 3 commits June 27, 2019 20:44
This fixes the darwin build, while also using Meson’s auto features as
much as possible. As a result, we avoid using having to specify
default drivers and instead delegate that to Mesa’s build system.
Removed other flags that were specified to the default in Mesa.

The -fno-common is needed to address undefined symbol _lp_dummy_tile
in the build.
@eadwu
Copy link
Member

eadwu commented Jun 29, 2019

Builds fine for me, as for the differences in configuration summary, the only differences are the addition of r100 and the removal of omxbellagio for me. (on x86_64)

old -> new

<         DRI drivers:     r200 nouveau i915 i965
---
>         DRI drivers:     i915 i965 r100 r200 nouveau

<         Gallium st:      mesa xa xvmc xvmc vdpau omxbellagio va nine
---
>         Gallium st:      mesa xa xvmc xvmc vdpau va nine

< Build targets in project: 206
---
> Build targets in project: 205

Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks nice. Really enjoying auto features in places like this where it should just work 👍

@worldofpeace worldofpeace mentioned this pull request Jul 9, 2019
10 tasks
@vcunat
Copy link
Member

vcunat commented Jul 9, 2019

On the current staging-next iteration #64236 we have thousands of darwin failures due to mesa not building (even though only headers would be used anyway IIRC). This can be re-based with a trivial conflict, but I don't have time to give it a proper review now.

vcunat pushed a commit that referenced this pull request Jul 9, 2019
This fixes the darwin build, while also using Meson’s auto features as
much as possible. As a result, we avoid using having to specify
default drivers and instead delegate that to Mesa’s build system.
Removed other flags that were specified to the default in Mesa.

The -fno-common is needed to address undefined symbol _lp_dummy_tile
in the build.
@vcunat
Copy link
Member

vcunat commented Jul 9, 2019

aarch64 changes are larger ATM:

-       DRI drivers:     nouveau
+       DRI drivers:     no

-       Vulkan drivers:  amd
-       Vulkan ICD dir:  share/vulkan/icd.d
+       Vulkan drivers:  no

-       Gallium drivers: virgl nouveau vc4 freedreno etnaviv swrast
-       Gallium st:      mesa xa xvmc xvmc vdpau omxbellagio va nine
+       Gallium drivers: kmsro v3d vc4 freedreno etnaviv nouveau tegra virgl lima swrast
+       Gallium st:      mesa xa xvmc xvmc vdpau va nine

I shall hope that their defaults are generally better than what we had 🤷‍♀️ No critical problem seems likely. I pushed the rebase to staging-next as 5c8472a.

@vcunat vcunat closed this Jul 9, 2019
@matthewbauer
Copy link
Member Author

The omxbellagio removal looks bad though! It probably needs its own flag.

@vcunat
Copy link
Member

vcunat commented Jul 9, 2019

You mean, make it configurable but keep the default from upstream? I must admit I don't know how much this feature is significant in practice (EDIT: I wouldn't expect it to be generally significant).

@colemickens colemickens mentioned this pull request Jul 18, 2019
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants