Browse Source

external: expose VK_KHR_copy_commands2.

At this point it's getting easier to say which commands *don't* have a
"V2" yet.
pull/494/head
Vladimír Vondruš 5 years ago
parent
commit
443a8b75fc
  1. 6
      doc/developers.dox
  2. 28
      doc/vulkan-mapping.dox
  3. 1
      doc/vulkan-support.dox
  4. 2
      src/Magnum/Vk/Device.h
  5. 1
      src/Magnum/Vk/Extensions.cpp
  6. 5
      src/Magnum/Vk/Extensions.h
  7. 1
      src/MagnumExternal/Vulkan/extensions.txt
  8. 6
      src/MagnumExternal/Vulkan/flextVk.cpp
  9. 141
      src/MagnumExternal/Vulkan/flextVk.h
  10. 12
      src/MagnumExternal/Vulkan/flextVkGlobal.h

6
doc/developers.dox

@ -737,9 +737,9 @@ unless it doesn't affect public API at all.
- update the numbering to stay monotonic and unique, round up start index - update the numbering to stay monotonic and unique, round up start index
of next section to nearest ten to make the updates bearable of next section to nearest ten to make the updates bearable
- in case there's a lot of new extensions, - in case there's a lot of new extensions,
@cpp Implementation::InstanceExtensionCount @ce / @cpp Implementation::InstanceExtensionCount @ce in `Instance.h` /
@cpp Implementation::DeviceExtensionCount @ce might needed to be @cpp Implementation::DeviceExtensionCount @ce in `Device.h` might
increased need to be increased
2. Add them alphabetically ordered to the correct list in 2. Add them alphabetically ordered to the correct list in
`src/Magnum/Vk/Extensions.cpp` `src/Magnum/Vk/Extensions.cpp`
3. Update existing extensions with version in which they become core (last 3. Update existing extensions with version in which they become core (last

28
doc/vulkan-mapping.dox

@ -80,7 +80,7 @@ Vulkan function | Matching API
@fn_vk{CmdBindIndexBuffer} | | @fn_vk{CmdBindIndexBuffer} | |
@fn_vk{CmdBindPipeline} | | @fn_vk{CmdBindPipeline} | |
@fn_vk{CmdBindVertexBuffers} | | @fn_vk{CmdBindVertexBuffers} | |
@fn_vk{CmdBlitImage} | | @fn_vk{CmdBlitImage}, \n @fn_vk{CmdBlitImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdBuildAccelerationStructuresIndirectKHR} @m_class{m-label m-flat m-warning} **KHR** | | @fn_vk{CmdBuildAccelerationStructuresIndirectKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdBuildAccelerationStructuresKHR} @m_class{m-label m-flat m-warning} **KHR** | | @fn_vk{CmdBuildAccelerationStructuresKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdClearAttachments} | | @fn_vk{CmdClearAttachments} | |
@ -88,10 +88,10 @@ Vulkan function | Matching API
@fn_vk{CmdClearDepthStencilImage} | | @fn_vk{CmdClearDepthStencilImage} | |
@fn_vk{CmdCopyAccelerationStructureKHR} @m_class{m-label m-flat m-warning} **KHR** | | @fn_vk{CmdCopyAccelerationStructureKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyAccelerationStructureToMemoryKHR} @m_class{m-label m-flat m-warning} **KHR** | | @fn_vk{CmdCopyAccelerationStructureToMemoryKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyBuffer} | | @fn_vk{CmdCopyBuffer}, \n @fn_vk{CmdCopyBuffer2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyBufferToImage} | | @fn_vk{CmdCopyBufferToImage}, \n @fn_vk{CmdCopyBufferToImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyImage} | | @fn_vk{CmdCopyImage}, \n @fn_vk{CmdCopyImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyImageToBuffer} | | @fn_vk{CmdCopyImageToBuffer}, \n @fn_vk{CmdCopyImageToBuffer2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyMemoryToAccelerationStructureKHR} @m_class{m-label m-flat m-warning} **KHR** | | @fn_vk{CmdCopyMemoryToAccelerationStructureKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdCopyQueryPoolResults} | | @fn_vk{CmdCopyQueryPoolResults} | |
@fn_vk{CmdDebugMarkerBeginEXT} @m_class{m-label m-danger} **deprecated** @m_class{m-label m-flat m-warning} **EXT**, \n @fn_vk{CmdDebugMarkerEndEXT} @m_class{m-label m-danger} **deprecated** @m_class{m-label m-flat m-warning} **EXT** | | @fn_vk{CmdDebugMarkerBeginEXT} @m_class{m-label m-danger} **deprecated** @m_class{m-label m-flat m-warning} **EXT**, \n @fn_vk{CmdDebugMarkerEndEXT} @m_class{m-label m-danger} **deprecated** @m_class{m-label m-flat m-warning} **EXT** | |
@ -112,7 +112,7 @@ Vulkan function | Matching API
@fn_vk{CmdPushConstants} | | @fn_vk{CmdPushConstants} | |
@fn_vk{CmdResetEvent} | | @fn_vk{CmdResetEvent} | |
@fn_vk{CmdResetQueryPool} | | @fn_vk{CmdResetQueryPool} | |
@fn_vk{CmdResolveImage} | | @fn_vk{CmdResolveImage}, \n @fn_vk{CmdResolveImage2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@fn_vk{CmdSetBlendConstants} | | @fn_vk{CmdSetBlendConstants} | |
@fn_vk{CmdSetDepthBias} | | @fn_vk{CmdSetDepthBias} | |
@fn_vk{CmdSetDeviceMask} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @fn_vk{CmdSetDeviceMask} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@ -363,10 +363,11 @@ Vulkan structure | Matching API
@type_vk{BaseInStructure} | | @type_vk{BaseInStructure} | |
@type_vk{BaseOutStructure} | | @type_vk{BaseOutStructure} | |
@type_vk{BindSparseInfo} | | @type_vk{BindSparseInfo} | |
@type_vk{BufferCopy} | | @type_vk{BlitImageInfo2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{BufferCopy}, \n @type_vk{BufferCopy2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{BufferCreateInfo} | @ref BufferCreateInfo @type_vk{BufferCreateInfo} | @ref BufferCreateInfo
@type_vk{BufferDeviceAddressInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | | @type_vk{BufferDeviceAddressInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | |
@type_vk{BufferImageCopy} | | @type_vk{BufferImageCopy}, \n @type_vk{BufferImageCopy2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{BufferMemoryBarrier} | | @type_vk{BufferMemoryBarrier} | |
@type_vk{BufferMemoryRequirementsInfo}, \n @type_vk{BufferMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | not exposed, internal to @ref Buffer::memoryRequirements() @type_vk{BufferMemoryRequirementsInfo}, \n @type_vk{BufferMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | not exposed, internal to @ref Buffer::memoryRequirements()
@type_vk{BufferOpaqueCaptureAddressCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | | @type_vk{BufferOpaqueCaptureAddressCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | |
@ -390,6 +391,10 @@ Vulkan structure | Matching API
@type_vk{ComponentMapping} | | @type_vk{ComponentMapping} | |
@type_vk{ComputePipelineCreateInfo} | | @type_vk{ComputePipelineCreateInfo} | |
@type_vk{ConformanceVersion} | | @type_vk{ConformanceVersion} | |
@type_vk{CopyBufferInfo2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyBufferToImageInfo2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyImageInfo2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyImageToBuffer2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyAccelerationStructureInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | | @type_vk{CopyAccelerationStructureInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyAccelerationStructureToMemoryInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | | @type_vk{CopyAccelerationStructureToMemoryInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{CopyMemoryToAccelerationStructureInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | | @type_vk{CopyMemoryToAccelerationStructureInfoKHR} @m_class{m-label m-flat m-warning} **KHR** | |
@ -486,8 +491,8 @@ Vulkan structure | Matching API
Vulkan structure | Matching API Vulkan structure | Matching API
--------------------------------------- | ------------ --------------------------------------- | ------------
@type_vk{ImageBlit} | | @type_vk{ImageBlit}, \n @type_vk{ImageBlit2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{ImageCopy} | | @type_vk{ImageCopy}, \n @type_vk{ImageCopy2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{ImageCreateInfo} | @ref ImageCreateInfo @type_vk{ImageCreateInfo} | @ref ImageCreateInfo
@type_vk{ImageFormatListCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | | @type_vk{ImageFormatListCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.2** | |
@type_vk{ImageFormatProperties}, \n @type_vk{ImageFormatProperties2} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @type_vk{ImageFormatProperties}, \n @type_vk{ImageFormatProperties2} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@ -495,7 +500,7 @@ Vulkan structure | Matching API
@type_vk{ImageMemoryBarrier} | | @type_vk{ImageMemoryBarrier} | |
@type_vk{ImageMemoryRequirementsInfo}, \n @type_vk{ImageMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | not exposed, internal to @ref Image::memoryRequirements() @type_vk{ImageMemoryRequirementsInfo}, \n @type_vk{ImageMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | not exposed, internal to @ref Image::memoryRequirements()
@type_vk{ImagePlaneMemoryRequirementsInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @type_vk{ImagePlaneMemoryRequirementsInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{ImageResolve} | | @type_vk{ImageResolve}, \n @type_vk{ImageResolve2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@type_vk{ImageSparseMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @type_vk{ImageSparseMemoryRequirementsInfo2} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{ImageStencilUsageCreateInfo} @m_class{m-label m-flat m-success} **EXT, 1.2** | | @type_vk{ImageStencilUsageCreateInfo} @m_class{m-label m-flat m-success} **EXT, 1.2** | |
@type_vk{ImageViewCreateInfo} | @ref ImageViewCreateInfo @type_vk{ImageViewCreateInfo} | @ref ImageViewCreateInfo
@ -644,6 +649,7 @@ Vulkan structure | Matching API
@type_vk{RenderPassCreateInfo}, \n @type_vk{RenderPassCreateInfo2} @m_class{m-label m-flat m-success} **KHR, 1.2** | @ref RenderPassCreateInfo @type_vk{RenderPassCreateInfo}, \n @type_vk{RenderPassCreateInfo2} @m_class{m-label m-flat m-success} **KHR, 1.2** | @ref RenderPassCreateInfo
@type_vk{RenderPassMultiviewCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @type_vk{RenderPassMultiviewCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{RenderPassInputAttachmentAspectCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | | @type_vk{RenderPassInputAttachmentAspectCreateInfo} @m_class{m-label m-flat m-success} **KHR, 1.1** | |
@type_vk{ResolveImageInfo2KHR} @m_class{m-label m-flat m-warning} **KHR** | |
@subsection vulkan-mapping-structures-s S @subsection vulkan-mapping-structures-s S

1
doc/vulkan-support.dox

@ -126,6 +126,7 @@ Extension | Status
@vk_extension{KHR,portability_subset} | done except properties @vk_extension{KHR,portability_subset} | done except properties
@vk_extension{KHR,deferred_host_operations} | | @vk_extension{KHR,deferred_host_operations} | |
@vk_extension{KHR,pipeline_library} | | @vk_extension{KHR,pipeline_library} | |
@vk_extension{KHR,copy_commands2} | |
@vk_extension{KHR,ray_tracing_pipeline} | | @vk_extension{KHR,ray_tracing_pipeline} | |
@vk_extension{KHR,ray_query} | | @vk_extension{KHR,ray_query} | |
@vk_extension{IMG,format_pvrtc} | done @vk_extension{IMG,format_pvrtc} | done

2
src/Magnum/Vk/Device.h

@ -44,7 +44,7 @@
namespace Magnum { namespace Vk { namespace Magnum { namespace Vk {
namespace Implementation { namespace Implementation {
enum: std::size_t { ExtensionCount = 72 }; enum: std::size_t { ExtensionCount = 96 };
struct DeviceState; struct DeviceState;
} }

1
src/Magnum/Vk/Extensions.cpp

@ -73,6 +73,7 @@ constexpr Extension DeviceExtensions[] {
Extensions::EXT::vertex_attribute_divisor{}, Extensions::EXT::vertex_attribute_divisor{},
Extensions::IMG::format_pvrtc{}, Extensions::IMG::format_pvrtc{},
Extensions::KHR::acceleration_structure{}, Extensions::KHR::acceleration_structure{},
Extensions::KHR::copy_commands2{},
Extensions::KHR::deferred_host_operations{}, Extensions::KHR::deferred_host_operations{},
Extensions::KHR::pipeline_library{}, Extensions::KHR::pipeline_library{},
Extensions::KHR::portability_subset{}, Extensions::KHR::portability_subset{},

5
src/Magnum/Vk/Extensions.h

@ -166,8 +166,9 @@ namespace EXT {
_extension(67, KHR,buffer_device_address, Vk10, Vk12) // #258 _extension(67, KHR,buffer_device_address, Vk10, Vk12) // #258
_extension(68, KHR,deferred_host_operations, Vk10, None) // #259 _extension(68, KHR,deferred_host_operations, Vk10, None) // #259
_extension(69, KHR,pipeline_library, Vk10, None) // #291 _extension(69, KHR,pipeline_library, Vk10, None) // #291
_extension(70, KHR,ray_tracing_pipeline, Vk11, None) // #348 _extension(70, KHR,copy_commands2, Vk10, None) // #338
_extension(71, KHR,ray_query, Vk11, None) // #349 _extension(71, KHR,ray_tracing_pipeline, Vk11, None) // #348
_extension(72, KHR,ray_query, Vk11, None) // #349
} }
#undef _extension #undef _extension

1
src/MagnumExternal/Vulkan/extensions.txt vendored

@ -68,6 +68,7 @@ extension KHR_acceleration_structure optional
extension KHR_portability_subset optional extension KHR_portability_subset optional
extension KHR_deferred_host_operations optional extension KHR_deferred_host_operations optional
extension KHR_pipeline_library optional extension KHR_pipeline_library optional
extension KHR_copy_commands2 optional
extension KHR_ray_tracing_pipeline optional extension KHR_ray_tracing_pipeline optional
extension KHR_ray_query optional extension KHR_ray_query optional

6
src/MagnumExternal/Vulkan/flextVk.cpp vendored

@ -111,6 +111,12 @@ void flextVkInitDevice(VkDevice device, FlextVkDevice* data, PFN_vkVoidFunction(
data->GetBufferDeviceAddressKHR = reinterpret_cast<VkDeviceAddress(VKAPI_PTR*)(VkDevice, const VkBufferDeviceAddressInfo*)>(getDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR")); data->GetBufferDeviceAddressKHR = reinterpret_cast<VkDeviceAddress(VKAPI_PTR*)(VkDevice, const VkBufferDeviceAddressInfo*)>(getDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR"));
data->GetBufferOpaqueCaptureAddressKHR = reinterpret_cast<uint64_t(VKAPI_PTR*)(VkDevice, const VkBufferDeviceAddressInfo*)>(getDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR")); data->GetBufferOpaqueCaptureAddressKHR = reinterpret_cast<uint64_t(VKAPI_PTR*)(VkDevice, const VkBufferDeviceAddressInfo*)>(getDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR"));
data->GetDeviceMemoryOpaqueCaptureAddressKHR = reinterpret_cast<uint64_t(VKAPI_PTR*)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo*)>(getDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR")); data->GetDeviceMemoryOpaqueCaptureAddressKHR = reinterpret_cast<uint64_t(VKAPI_PTR*)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo*)>(getDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"));
data->CmdBlitImage2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkBlitImageInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdBlitImage2KHR"));
data->CmdCopyBuffer2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkCopyBufferInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdCopyBuffer2KHR"));
data->CmdCopyBufferToImage2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkCopyBufferToImageInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR"));
data->CmdCopyImage2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkCopyImageInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdCopyImage2KHR"));
data->CmdCopyImageToBuffer2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkCopyImageToBufferInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR"));
data->CmdResolveImage2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkResolveImageInfo2KHR*)>(getDeviceProcAddr(device, "vkCmdResolveImage2KHR"));
data->CmdBeginRenderPass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkRenderPassBeginInfo*, const VkSubpassBeginInfo*)>(getDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR")); data->CmdBeginRenderPass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkRenderPassBeginInfo*, const VkSubpassBeginInfo*)>(getDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR"));
data->CmdEndRenderPass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkSubpassEndInfo*)>(getDeviceProcAddr(device, "vkCmdEndRenderPass2KHR")); data->CmdEndRenderPass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkSubpassEndInfo*)>(getDeviceProcAddr(device, "vkCmdEndRenderPass2KHR"));
data->CmdNextSubpass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkSubpassBeginInfo*, const VkSubpassEndInfo*)>(getDeviceProcAddr(device, "vkCmdNextSubpass2KHR")); data->CmdNextSubpass2KHR = reinterpret_cast<void(VKAPI_PTR*)(VkCommandBuffer, const VkSubpassBeginInfo*, const VkSubpassEndInfo*)>(getDeviceProcAddr(device, "vkCmdNextSubpass2KHR"));

141
src/MagnumExternal/Vulkan/flextVk.h vendored

@ -284,6 +284,11 @@ extern "C" {
#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
/* VK_KHR_copy_commands2 */
#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
/* VK_KHR_shader_float_controls */ /* VK_KHR_shader_float_controls */
#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
@ -319,7 +324,7 @@ extern "C" {
// Vulkan 1.2 version number // Vulkan 1.2 version number
#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0
// Version of this file // Version of this file
#define VK_HEADER_VERSION 165 #define VK_HEADER_VERSION 166
// Complete version of this file // Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
@ -1563,6 +1568,17 @@ typedef enum {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
@ -4754,6 +4770,117 @@ typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
uint32_t minVertexInputBindingStrideAlignment; uint32_t minVertexInputBindingStrideAlignment;
} VkPhysicalDevicePortabilitySubsetPropertiesKHR; } VkPhysicalDevicePortabilitySubsetPropertiesKHR;
typedef struct VkBufferCopy2KHR {
VkStructureType sType;
const void* pNext;
VkDeviceSize srcOffset;
VkDeviceSize dstOffset;
VkDeviceSize size;
} VkBufferCopy2KHR;
typedef struct VkImageCopy2KHR {
VkStructureType sType;
const void* pNext;
VkImageSubresourceLayers srcSubresource;
VkOffset3D srcOffset;
VkImageSubresourceLayers dstSubresource;
VkOffset3D dstOffset;
VkExtent3D extent;
} VkImageCopy2KHR;
typedef struct VkImageBlit2KHR {
VkStructureType sType;
const void* pNext;
VkImageSubresourceLayers srcSubresource;
VkOffset3D srcOffsets[2];
VkImageSubresourceLayers dstSubresource;
VkOffset3D dstOffsets[2];
} VkImageBlit2KHR;
typedef struct VkBufferImageCopy2KHR {
VkStructureType sType;
const void* pNext;
VkDeviceSize bufferOffset;
uint32_t bufferRowLength;
uint32_t bufferImageHeight;
VkImageSubresourceLayers imageSubresource;
VkOffset3D imageOffset;
VkExtent3D imageExtent;
} VkBufferImageCopy2KHR;
typedef struct VkImageResolve2KHR {
VkStructureType sType;
const void* pNext;
VkImageSubresourceLayers srcSubresource;
VkOffset3D srcOffset;
VkImageSubresourceLayers dstSubresource;
VkOffset3D dstOffset;
VkExtent3D extent;
} VkImageResolve2KHR;
typedef struct VkCopyBufferInfo2KHR {
VkStructureType sType;
const void* pNext;
VkBuffer srcBuffer;
VkBuffer dstBuffer;
uint32_t regionCount;
const VkBufferCopy2KHR* pRegions;
} VkCopyBufferInfo2KHR;
typedef struct VkCopyImageInfo2KHR {
VkStructureType sType;
const void* pNext;
VkImage srcImage;
VkImageLayout srcImageLayout;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
const VkImageCopy2KHR* pRegions;
} VkCopyImageInfo2KHR;
typedef struct VkBlitImageInfo2KHR {
VkStructureType sType;
const void* pNext;
VkImage srcImage;
VkImageLayout srcImageLayout;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
const VkImageBlit2KHR* pRegions;
VkFilter filter;
} VkBlitImageInfo2KHR;
typedef struct VkCopyBufferToImageInfo2KHR {
VkStructureType sType;
const void* pNext;
VkBuffer srcBuffer;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
const VkBufferImageCopy2KHR* pRegions;
} VkCopyBufferToImageInfo2KHR;
typedef struct VkCopyImageToBufferInfo2KHR {
VkStructureType sType;
const void* pNext;
VkImage srcImage;
VkImageLayout srcImageLayout;
VkBuffer dstBuffer;
uint32_t regionCount;
const VkBufferImageCopy2KHR* pRegions;
} VkCopyImageToBufferInfo2KHR;
typedef struct VkResolveImageInfo2KHR {
VkStructureType sType;
const void* pNext;
VkImage srcImage;
VkImageLayout srcImageLayout;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
const VkImageResolve2KHR* pRegions;
} VkResolveImageInfo2KHR;
typedef struct VkAccelerationStructureBuildSizesInfoKHR { typedef struct VkAccelerationStructureBuildSizesInfoKHR {
VkStructureType sType; VkStructureType sType;
const void* pNext; const void* pNext;
@ -4808,6 +4935,9 @@ struct FlextVkInstance {
/* VK_KHR_buffer_device_address */ /* VK_KHR_buffer_device_address */
/* VK_KHR_copy_commands2 */
/* VK_KHR_create_renderpass2 */ /* VK_KHR_create_renderpass2 */
@ -4962,6 +5092,15 @@ struct FlextVkDevice {
uint64_t (VKAPI_PTR *GetBufferOpaqueCaptureAddressKHR)(VkDevice, const VkBufferDeviceAddressInfo*); uint64_t (VKAPI_PTR *GetBufferOpaqueCaptureAddressKHR)(VkDevice, const VkBufferDeviceAddressInfo*);
uint64_t (VKAPI_PTR *GetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo*); uint64_t (VKAPI_PTR *GetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo*);
/* VK_KHR_copy_commands2 */
void (VKAPI_PTR *CmdBlitImage2KHR)(VkCommandBuffer, const VkBlitImageInfo2KHR*);
void (VKAPI_PTR *CmdCopyBuffer2KHR)(VkCommandBuffer, const VkCopyBufferInfo2KHR*);
void (VKAPI_PTR *CmdCopyBufferToImage2KHR)(VkCommandBuffer, const VkCopyBufferToImageInfo2KHR*);
void (VKAPI_PTR *CmdCopyImage2KHR)(VkCommandBuffer, const VkCopyImageInfo2KHR*);
void (VKAPI_PTR *CmdCopyImageToBuffer2KHR)(VkCommandBuffer, const VkCopyImageToBufferInfo2KHR*);
void (VKAPI_PTR *CmdResolveImage2KHR)(VkCommandBuffer, const VkResolveImageInfo2KHR*);
/* VK_KHR_create_renderpass2 */ /* VK_KHR_create_renderpass2 */
void (VKAPI_PTR *CmdBeginRenderPass2KHR)(VkCommandBuffer, const VkRenderPassBeginInfo*, const VkSubpassBeginInfo*); void (VKAPI_PTR *CmdBeginRenderPass2KHR)(VkCommandBuffer, const VkRenderPassBeginInfo*, const VkSubpassBeginInfo*);

12
src/MagnumExternal/Vulkan/flextVkGlobal.h vendored

@ -63,6 +63,9 @@ extern FLEXTVK_EXPORT FlextVkInstance flextVkInstance;
/* VK_KHR_buffer_device_address */ /* VK_KHR_buffer_device_address */
/* VK_KHR_copy_commands2 */
/* VK_KHR_create_renderpass2 */ /* VK_KHR_create_renderpass2 */
@ -213,6 +216,15 @@ extern FLEXTVK_EXPORT FlextVkDevice flextVkDevice;
#define vkGetBufferOpaqueCaptureAddressKHR flextVkDevice.GetBufferOpaqueCaptureAddressKHR #define vkGetBufferOpaqueCaptureAddressKHR flextVkDevice.GetBufferOpaqueCaptureAddressKHR
#define vkGetDeviceMemoryOpaqueCaptureAddressKHR flextVkDevice.GetDeviceMemoryOpaqueCaptureAddressKHR #define vkGetDeviceMemoryOpaqueCaptureAddressKHR flextVkDevice.GetDeviceMemoryOpaqueCaptureAddressKHR
/* VK_KHR_copy_commands2 */
#define vkCmdBlitImage2KHR flextVkDevice.CmdBlitImage2KHR
#define vkCmdCopyBuffer2KHR flextVkDevice.CmdCopyBuffer2KHR
#define vkCmdCopyBufferToImage2KHR flextVkDevice.CmdCopyBufferToImage2KHR
#define vkCmdCopyImage2KHR flextVkDevice.CmdCopyImage2KHR
#define vkCmdCopyImageToBuffer2KHR flextVkDevice.CmdCopyImageToBuffer2KHR
#define vkCmdResolveImage2KHR flextVkDevice.CmdResolveImage2KHR
/* VK_KHR_create_renderpass2 */ /* VK_KHR_create_renderpass2 */
#define vkCmdBeginRenderPass2KHR flextVkDevice.CmdBeginRenderPass2KHR #define vkCmdBeginRenderPass2KHR flextVkDevice.CmdBeginRenderPass2KHR

Loading…
Cancel
Save