Testing new Mesa ACO shader compiler for AMD
Page: «5/9»
  Go to:
Linuxwarper Jul 13, 2019
As part of testing the ACO shader compiler from Valve, I'm going to benchmark games prior to adding the Ubuntu PPA. But Talos Principle frustrates me a great deal. Can someone PLEASE tell me how to toggle Vulkan on in the game? I've followed instructions, carefully I'd say, from a pinned thread on game's official discussion forum on Steam. The results end up with 86 FPS for OpenGL and about 75 for Vulkan. I could not find a way to verify Vulkan was running through game settings (or be able to toggle between two APIs). All I could do was search for Vulkan in games Talo.ini file, which includes a vulkan variable when you follow the instructions I mentioned. But 75 for Vulkan and 86 for OpenGL - what's going on??
Shmerl Jul 14, 2019
Quoting: Guestthx good to know !

Updated my script with workaround for Meson bug, and it can now also handle customizing Mesa repo to build both regular Mesa and Mesa-aco using the same script. See example in the inline documentation.
Shmerl Jul 14, 2019
Testing X4: Foundations, using Mesa-aco build with llvm9.

llvm:



aco:



ACO performs worse actually.
x_wing Jul 14, 2019
Quoting: LinuxwarperAs part of testing the ACO shader compiler from Valve, I'm going to benchmark games prior to adding the Ubuntu PPA. But Talos Principle frustrates me a great deal. Can someone PLEASE tell me how to toggle Vulkan on in the game? I've followed instructions, carefully I'd say, from a pinned thread on game's official discussion forum on Steam. The results end up with 86 FPS for OpenGL and about 75 for Vulkan. I could not find a way to verify Vulkan was running through game settings (or be able to toggle between two APIs). All I could do was search for Vulkan in games Talo.ini file, which includes a vulkan variable when you follow the instructions I mentioned. But 75 for Vulkan and 86 for OpenGL - what's going on??

I think that in the last update of the engine they probably removed the option to switch the graphic api (i.e. will always use vulkan). I'm 100% sure of this for Serious Sam (I definitely made the question in their forums).

Regarding the performance, I remember that TP always had better fps with OGL
Shmerl Jul 14, 2019
Quoting: GuestIf you find the time, could you by chance adopt the script so that the output wents to /opt/mesa-aco directly? It always lands in $HOME/mnt/vmshare/opt/mesa-aco/opt/mesa-aco . I tried adopting it myself but then it always lands in /opt/mesa-aco/opt/mesa-aco

I can take a look how to do it. The reason I put it in $HOME/mnt/vmshare in general, is that I like to build it in VM, that has a share with the host Linux (both through $HOME/mnt/vmshare). So I simply use another small script to publish the result on the host from that to /opt/mesa-master proper.

However, it should be possible to override the destination with the env var. Let me add that.
Shmerl Jul 14, 2019
Quoting: GuestIf you find the time, could you by chance adopt the script so that the output wents to /opt/mesa-aco directly?

I updated the script.

Try doing:

dest_dir=/ mesa_debian_build.sh

I don't recommend such method though, since it will try to write directly to /opt/mesa-<branch>/* and delete stuff there as well. It's preferable to build in some local isolation, and deploy as a separate step.
Shmerl Jul 16, 2019
Supraland

llvm:


aco:


Both are pretty bad, due to Unreal Engine not using Vulkan effectively and frametimes being completely messed up.
Ehvis Jul 16, 2019
Quoting: ShmerlBoth are pretty bad, due to Unreal Engine not using Vulkan effectively and frametimes being completely messed up.

The biggest part seems to be Supraland itself. The erratic frame timings show that it's clearly doing something it's not supposed to. Nothing that can be fixed by the shader compiler.
Shmerl Jul 17, 2019
Heh, compiling llvm itslef is a major pain, even on 3900X I assume. I just use the nightly snapshot form their repo: http://apt.llvm.org/unstable/pool/main/l/llvm-toolchain-snapshot/
sr_ls_boy Jul 17, 2019
Since we are discussing llvm, I'm looking for a way to add a suffix to the name of the targets.
For example, clang would be renamed clang-32. To do this with autotools you would add the
option, --program-suffix=-32. But I haven't figured out how to do this with cmake.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.

Buy Games
Buy games with our affiliate / partner links: