Vulkan Resources

Started by
30 comments, last by Steve_Segreto 4 years, 5 months ago

Homehttps://www.khronos.org/vulkan/
SDKhttp://lunarg.com/vulkan-sdk/
 
AMD drivershttp://gpuopen.com/gaming-product/vulkan/ (Note that Vulkan support is now part of AMD’s official drivers, so simply getting the latest drivers for your card should give you Vulkan support.)
NVIDIA drivershttps://developer.nvidia.com/vulkan-driver (Note that Vulkan support is now part of NVIDIA’s official drivers, so simply getting the latest drivers for your card should give you Vulkan support.)
Intel drivershttp://blogs.intel.com/evangelists/2016/02/16/intel-open-source-graphics-drivers-now-support-vulkan/
 
Quick referencehttps://www.khronos.org/registry/vulkan/specs/1.0/refguide/Vulkan-1.0-web.pdf
Referenceshttps://www.khronos.org/registry/vulkan/specs/1.0/apispec.html
https://matthewwellings.com/blog/the-new-vulkan-coordinate-system/

 
GLSL-to-SPIR-Vhttps://github.com/KhronosGroup/glslang

Sample code: https://github.com/LunarG/VulkanSamples
https://github.com/SaschaWillems/Vulkan
https://github.com/nvpro-samples
https://github.com/nvpro-samples/gl_vk_chopper
https://github.com/nvpro-samples/gl_vk_threaded_cadscene
https://github.com/nvpro-samples/gl_vk_bk3dthreaded
https://github.com/nvpro-samples/gl_vk_supersampled
https://github.com/McNopper/Vulkan
https://github.com/GPUOpen-LibrariesAndSDKs/HelloVulkan
 
C++https://github.com/nvpro-pipeline/vkcpp
https://developer.nvidia.com/open-source-vulkan-c-api

Getting startedhttps://vulkan-tutorial.com/
https://renderdoc.org/vulkan-in-30-minutes.html
https://www.khronos.org/news/events/vulkan-webinar
https://developer.nvidia.com/engaging-voyage-vulkan
https://developer.nvidia.com/vulkan-shader-resource-binding
https://developer.nvidia.com/vulkan-memory-management
https://developer.nvidia.com/opengl-vulkan
https://github.com/vinjn/awesome-vulkan

Videoshttps://www.youtube.com/playlist?list=PLYO7XTAX41FPg08uM_bgPE9HLgDAyzDaZ

Utilitieshttps://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator (AMD Memory allocator.)
https://github.com/GPUOpen-LibrariesAndSDKs/Anvil (AMD Miniature Vulkan engine/framework.)

 
L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Advertisement

Awesome, many thanks for the roundup!

One thing to mention, you need those specific older Nvidia drivers, their newer ones on their site do not support Vulkan (yet?); or at least they didn't for me.

I liked Vulkan in 30 Minutes as a short overview of Vulkan concepts.

I liked Vulkan in 30 Minutes as a short overview of Vulkan concepts.

Added to the top.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

FYI the AMD drivers are partially broken, at least on my 290X. There's something wrong with their ICD implementation, there are posts on the internal AMD developer forum about the issue.

EDIT: Never mind. I went to go check on the status of this and it looks like AMD has issued a hotfix.

clb: At the end of 2012, the positions of jupiter, saturn, mercury, and deimos are aligned so as to cause a denormalized flush-to-zero bug when computing earth's gravitational force, slinging it to the sun.


https://github.com/SaschaWillems/Vulkan

Is it just me or are most of the samples doing a ton of unnecessary waiting?

With the exception maybe doing something quick and dirty, special blocking loads, or maybe something fancy I can't think of at the moment, I kind of assume one wouldn't want to call vkDeviceWaitIdle or vkQueueWaitIdle very frequently. Right? But they seem littered everywhere.

https://www.khronos.org/news/events/vulkan-webinar

Added.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Is it just me or are most of the samples doing a ton of unnecessary waiting?

With the exception maybe doing something quick and dirty, special blocking loads, or maybe something fancy I can't think of at the moment, I kind of assume one wouldn't want to call vkDeviceWaitIdle or vkQueueWaitIdle very frequently. Right? But they seem littered everywhere.

It's a hell of a lot easier than setting up the infrastructure for double (or more) buffering, where you need to ensure that you don't change/delete things that are being used for the previous frame. You still need to issue a wait every 2 frames for double buffering (3 for triple buffering, and so on), but in practice, it's just there as a safeguard for pathological scenarios and should typically be a no-op.

"So there you have it, ladies and gentlemen: the only API I’ve ever used that requires both elevated privileges and a dedicated user thread just to copy a block of structures from the kernel to the user." - Casey Muratori

boreal.aggydaggy.com

This topic is closed to new replies.

Advertisement