Can't wait to try it out
Found this one, it's a good beginning:
https://github.com/MaksymTymkovych/Delphi-Vulkan
Sometimes I secretly divide by zero! - Albert Einstein
The current state of my vkxml2pas translator tool including output vulkan.pas: https://github.com/BeRo1985/pasvulkan/tree/master/src
It's so far complete, except the Vulkan library loading part, where I'm working still on it in a vk.xml future-proof compliant way, due to the extensions and so on.
Edit: Now it generates real enums.
Last edited by BeRo; 22-02-2016 at 11:49 PM.
My vkxml2pas-generated header has the followed load interface now:
where LoadVulkanLibrary loads only vkGetInstanceProcAddr, and LoadVulkanGlobalCommands loads then the remaining functions with help of vkGetInstanceProcAddr(nil,*) (what the Vulkan spec recommend it also), and what LoadVulkanInstanceCommands and LoadVulkanDeviceCommands does, should be clear, when you've read the Vulkan specs.Code:function LoadVulkanLibrary(const LibraryName:string=VK_DEFAULT_LIB_NAME):boolean; function LoadVulkanGlobalCommands:boolean; function LoadVulkanInstanceCommands(const GetInstanceProcAddr:TvkGetInstanceProcAddr;const Instance:TVkInstance;out InstanceCommands:TVulkanCommands):boolean; function LoadVulkanDeviceCommands(const GetDeviceProcAddr:TvkGetDeviceProcAddr;const Device:TVkDevice;out DeviceCommands:TVulkanCommands):boolean;
And now. i must buy a Vulkan-ready Android device zu legen, i.e. at best the NVidia Shield TV (which've already a Vulkan-ready Stock AndroidTV ROM), so that I can make the vkxml2pas-generated Vulkan header also Android/armv7a ready and so that I can test it also.
And a TVulkan class does exist now also, which do also the for-Android/armv7a-target-needed calling-convention-proxying stuff then, because the specs says:
And a default-global TVulkan instance with the name vk does exist now also, so that you can use for example instead vkCreateInstance also vk.CreateInstance (with automatic calling-convention-proxing then).On Android/ARMv7a, Vulkan functions use the armeabi-v7a-hard calling convention, even if the application's native code is compiled with the armeabi-v7a calling convention.
Last edited by BeRo; 24-02-2016 at 02:20 AM.
Very good job!
It turned out that my GTX 850M supports Vulkan after all, so I'll be able to try it out soon.
Here is another place where you can check - http://vulkan.gpuinfo.org/listreports.phpOriginally Posted by SilverWarrior
Last edited by Anton; 29-02-2016 at 06:55 PM.
Bookmarks