Results 1 to 10 of 17

Thread: Vulkan 1.0 released

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #9
    My vkxml2pas-generated header has the followed load interface now:

    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;
    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.

    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:

    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.
    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).
    Last edited by BeRo; 24-02-2016 at 02:20 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •