To tick the feature box?Why do they even include it then?
To tick the feature box?Why do they even include it then?
Are the shader intrinsic's exclusive to Vega? Also I asked this somewhere else but no one answered, does Nvidia have any shader intrinsics for Vulkan yet?This way we'd know if the optimizations are strictly related to async compute or if they're Vega based (e.g. more shaders using FP16).
At launch, the Vega 64 was only 50% faster than a RX580 in this game, so I'd say definitely not.Are the shader intrinsic's exclusive to Vega?
nvidia cards are a lot closer to AMD cards in Wolfenstein II than they were in Vulkan Doom, so I'd say yes.Also I asked this somewhere else but no one answered, does Nvidia have any shader intrinsics for Vulkan yet?
Not that I'm aware, however there were some statements to the effect that the intriniscs used were coming from consoles. So just ballot and inter-thread stuff.Out of curiosity is the exact intrinsics used listed anywhere?
Though Vega 64 is still slower than GTX 1080 @1080p and 1440p in the taxing scene, and only gets faster @4K.
Unlike when using a graphics card with GPU from Nvidia: Async Compute was active from the beginning, with the last patch Async Compute was now turned off on each GeForce, as it should cause problems. The developer talks about waiting for a new driver from Nvidia.
Well NVIDIA supports VK_EXT_shader_subgroup_ballot and VK_EXT_shader_subgroup_vote. On the other hand AMD supports VK_AMD_shader_ballot, VK_EXT_shader_subgroup_vote and VK_AMD_shader_explicit_vertex_parameter (barycentric support). VK_EXT_shader_subgroup_ballot and VK_AMD_shader_ballot are not equal.Are the shader intrinsic's exclusive to Vega? Also I asked this somewhere else but no one answered, does Nvidia have any shader intrinsics for Vulkan yet?
I know it is recommended that if you go down the DX12 route you should maintain at least two code paths, one for AMD and one for Nvidia. Do they recommend the same thing for Vulkan?Well NVIDIA supports VK_EXT_shader_subgroup_ballot and VK_EXT_shader_subgroup_vote. On the other hand AMD supports VK_AMD_shader_ballot, VK_EXT_shader_subgroup_vote and VK_AMD_shader_explicit_vertex_parameter (barycentric support). VK_EXT_shader_subgroup_ballot and VK_AMD_shader_ballot are not equal.
So unless there are two code paths...
Worst-Case is a scenario that is very rare.Though Vega 64 is still slower than GTX 1080 @1080p and 1440p in the taxing scene, and only gets faster @4K.
Where'd you read that?And that was telegraphed months ahead when id announced that they wont support nVidia anymore and that nVidia user should not expect any optimizitions.
But the performance is closer in Wolfenstein 2 than Doom 2016 when looking at Nvidia to AMD GPUs and Vulkan.The bad performance in Wolfenstein 2 is a result from an unoptimized game. And that was telegraphed months ahead when id announced that they wont support nVidia anymore and that nVidia user should not expect any optimizitions.
Look over to the F1 2017 Linux Vulkan benchmarks: https://www.phoronix.com/scan.php?page=article&item=nvidia-gtx1070-ti&num=4
Totally different result with the "same" API.
In the end it doesnt matter what nVidia supports. id wont use it.
It kinda has to be the same recommendation as best practices for certain resources differ between NV and AMD.I know it is recommended that if you go down the DX12 route you should maintain at least two code paths, one for AMD and one for Nvidia. Do they recommend the same thing for Vulkan?
16 bit floats. Nvidia still doesn't have double rate 16b float in consumer hardware.VK_AMD_gpu_shader_half_float
Cross lane ops (wave ballot). Can be used for various optimizations (mostly with loops and branches).VK_EXT_shader_subgroup_ballot
VK_AMD_shader_ballot
GCN supports trinary min/max instructions. Compiler should in most cases emit them automatically, but intrinsics are nice to have for cases where the compiler doesn't do what you want.VK_AMD_shader_trinary_minmax
For tuning async computeVK_AMD_wave_limits
https://gpuopen.com/unlock-the-rasterizer-with-out-of-order-rasterization/VK_AMD_rasterization_order