simias / rustation

Playstation emulator in the Rust programing language
Other
554 stars 21 forks source link

Vulkan API support #27

Open ADormant opened 8 years ago

ADormant commented 8 years ago

Vulkan has been released. Vulkan would be great because it has the same compatibility between desktop and mobile.

https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/xhtml/vkspec.html#introduction https://www.khronos.org/registry/vulkan/specs/1.0/apispec.html https://github.com/KhronosGroup https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification https://www.khronos.org/registry/vulkan/ https://github.com/SaschaWillems/Vulkan https://github.com/vlj/rpcs3/tree/vulkan https://github.com/benvanik/xenia/commit/77a321135ed1b3761aac2834a74d89020c91626c https://developer.nvidia.com/vulkan-android#samples https://developer.nvidia.com/opengl-vulkan

http://developer.download.nvidia.com/assets/gameworks/downloads/secure/Vulkan_Beta_Drivers/GL_NV_draw_vulkan_image.txt?autho=1455930702_6e20c053df9f561ee2dfe9118e4d0421&file=GL_NV_draw_vulkan_image.txt

http://developer.download.nvidia.com/assets/gameworks/downloads/secure/Vulkan_Beta_Drivers/VK_NV_glsl_shader.txt?autho=1455930728_9ec8a4f1844d5e3e7d7600905fbd07cb&file=VK_NV_glsl_shader.txt

https://github.com/nvpro-samples https://github.com/McNopper/Vulkan https://github.com/nvpro-pipeline/vkcpp https://github.com/john-chapman/VulkanTest https://github.com/mlaveaux/VulkanRenderer https://github.com/pld-linux/vulkan-loader https://github.com/FaultyRAM/vulkan-sys https://github.com/kainino0x/rust-vulkan https://github.com/LunarG/VulkanSamples https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/vulkan/resources.md https://github.com/tomaka/vulkano

simias commented 8 years ago

Unfortunately my graphic card doesn't support it!

At any rate it's a bit too new for me to consider adopting it right now. I'll give it a few months at least for things to stabilize a bit.

Besides I feel like there's a lot of hardware out there that could run Rustation but won't get Vulkan drivers so it might still be a good idea to have an OpenGL backend for the time being anyway.

ADormant commented 8 years ago

@simias If you decide to buy a new gpu then I recommend waiting for Pascal NVIDIA is most likely going to have new Vulkan and OpenGL extensions.

http://www.phoronix.com/scan.php?page=article&item=vulkan-10&num=1

GL_NV_draw_vulkan_image VK_NV_glsl_shader

With GL_NV_draw_vulkan_image and OpenGL 4.5 you can even make a hybrid Vulkan/OpenGL renderer. This extension provides DrawVkImageNV() for drawing a rectangle to display some/all of the contents of a two-dimensional Vulkan VkImage. This extension also provides functions for synchronizing drawing between Vulkan and OpenGL. Basically the extension provides a way for presenting rendered Vulkan content within an OpenGL context.

simias commented 8 years ago

Thanks for the recommendation, I'll keep it in mind when I build myself a new computer. I'll still probably want to finish the OpenGL renderer before I attempt to do it with Vulkan. Unless maybe libretro/RetroArch gives me a true incentive to switch to Vulkan.