Skip to content
Snippets Groups Projects

gpu: vulkan: Add support for win32 handle types

Closed Philip Langdale requested to merge philipl/libplacebo:external-win32 into master
  1. Dec 06, 2018
    • Philip Langdale's avatar
      tests: Add coverage for win32 handle types · a363d811
      Philip Langdale authored
      No idea if this actually works, but perhaps we'll find out.
      
      If you wanted the test to run and pass on windows 7, you'd
      presumably not want the NT Handle test to run.
      a363d811
    • Philip Langdale's avatar
      gpu: vulkan: Add support for win32 handle types · f8ebca5f
      Philip Langdale authored
      There are two win32 specific handle types, which we believe to be
      the ones that would be primarily used by a win32 client.
      
      There is the 'NT Handle', which is available on Windows 8 or newer,
      and the 'Global share Handle' (abbreviated as KMT in the Vulkan spec),
      which is available on Windows 7 and newer, but which apparently
      shouldn't be used when the 'NT Handle' type is available. We do not
      attempt to judge usage, and it is up to the client to decide which
      of the two types it wants to use.
      
      Note that the existing logic for identifying the handle_caps is not
      actually sufficient. We need to call specific functions to identify
      what is possible for buffers, images, and semaphores.
      
      * vkGetPhysicalDeviceImageFormatProperties2KHR
      * vkGetPhysicalDeviceExternalBufferPropertiesKHR
      * vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
      
      and these need to be called with the specific flags and parameters,
      so I think it basically ends up being that you can't tell if your
      image/buffer/semaphore is exportable until you create it. Anyway.
      
      I am not in a position to test any of these changes. Someone who
      can build on win32 must do that.
      f8ebca5f
Loading