Skip to content

Instantly share code, notes, and snippets.

@aamedina
Created December 27, 2018 19:47
Show Gist options
  • Select an option

  • Save aamedina/a19c6e5becb56548054cf50523261003 to your computer and use it in GitHub Desktop.

Select an option

Save aamedina/a19c6e5becb56548054cf50523261003 to your computer and use it in GitHub Desktop.
Cleaned up output from the LispWorks foreign parser on vulkan.h
(in-package "CL-USER")
(fli:define-c-typedef (vk-flags (:foreign-name "VkFlags"))
:uint32)
(fli:define-c-typedef (vk-bool32 (:foreign-name "VkBool32"))
:uint32)
(fli:define-c-typedef (vk-device-size (:foreign-name "VkDeviceSize"))
:uint64)
(fli:define-c-typedef (vk-sample-mask (:foreign-name "VkSampleMask"))
:uint32)
(fli:define-c-struct (vk-instance-t
(:foreign-name "VkInstance_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-instance (:foreign-name "VkInstance"))
(:pointer (:struct vk-instance-t)))
(fli:define-c-struct (vk-physical-device-t
(:foreign-name "VkPhysicalDevice_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-physical-device
(:foreign-name "VkPhysicalDevice"))
(:pointer (:struct vk-physical-device-t)))
(fli:define-c-struct (vk-device-t
(:foreign-name "VkDevice_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-device (:foreign-name "VkDevice"))
(:pointer (:struct vk-device-t)))
(fli:define-c-struct (vk-queue-t
(:foreign-name "VkQueue_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-queue (:foreign-name "VkQueue"))
(:pointer (:struct vk-queue-t)))
(fli:define-c-struct (vk-semaphore-t
(:foreign-name "VkSemaphore_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-semaphore (:foreign-name "VkSemaphore"))
(:pointer (:struct vk-semaphore-t)))
(fli:define-c-struct (vk-command-buffer-t
(:foreign-name "VkCommandBuffer_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-command-buffer
(:foreign-name "VkCommandBuffer"))
(:pointer (:struct vk-command-buffer-t)))
(fli:define-c-struct (vk-fence-t
(:foreign-name "VkFence_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-fence (:foreign-name "VkFence"))
(:pointer (:struct vk-fence-t)))
(fli:define-c-struct (vk-device-memory-t
(:foreign-name "VkDeviceMemory_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-device-memory
(:foreign-name "VkDeviceMemory"))
(:pointer (:struct vk-device-memory-t)))
(fli:define-c-struct (vk-buffer-t
(:foreign-name "VkBuffer_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-buffer (:foreign-name "VkBuffer"))
(:pointer (:struct vk-buffer-t)))
(fli:define-c-struct (vk-image-t
(:foreign-name "VkImage_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-image (:foreign-name "VkImage"))
(:pointer (:struct vk-image-t)))
(fli:define-c-struct (vk-event-t
(:foreign-name "VkEvent_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-event (:foreign-name "VkEvent"))
(:pointer (:struct vk-event-t)))
(fli:define-c-struct (vk-query-pool-t
(:foreign-name "VkQueryPool_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-query-pool (:foreign-name "VkQueryPool"))
(:pointer (:struct vk-query-pool-t)))
(fli:define-c-struct (vk-buffer-view-t
(:foreign-name "VkBufferView_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-buffer-view (:foreign-name "VkBufferView"))
(:pointer (:struct vk-buffer-view-t)))
(fli:define-c-struct (vk-image-view-t
(:foreign-name "VkImageView_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-image-view (:foreign-name "VkImageView"))
(:pointer (:struct vk-image-view-t)))
(fli:define-c-struct (vk-shader-module-t
(:foreign-name "VkShaderModule_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-shader-module
(:foreign-name "VkShaderModule"))
(:pointer (:struct vk-shader-module-t)))
(fli:define-c-struct (vk-pipeline-cache-t
(:foreign-name "VkPipelineCache_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-pipeline-cache
(:foreign-name "VkPipelineCache"))
(:pointer (:struct vk-pipeline-cache-t)))
(fli:define-c-struct (vk-pipeline-layout-t
(:foreign-name "VkPipelineLayout_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-pipeline-layout
(:foreign-name "VkPipelineLayout"))
(:pointer (:struct vk-pipeline-layout-t)))
(fli:define-c-struct (vk-render-pass-t
(:foreign-name "VkRenderPass_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-render-pass (:foreign-name "VkRenderPass"))
(:pointer (:struct vk-render-pass-t)))
(fli:define-c-struct (vk-pipeline-t
(:foreign-name "VkPipeline_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-pipeline (:foreign-name "VkPipeline"))
(:pointer (:struct vk-pipeline-t)))
(fli:define-c-struct (vk-descriptor-set-layout-t
(:foreign-name "VkDescriptorSetLayout_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-descriptor-set-layout
(:foreign-name "VkDescriptorSetLayout"))
(:pointer (:struct vk-descriptor-set-layout-t)))
(fli:define-c-struct (vk-sampler-t
(:foreign-name "VkSampler_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-sampler (:foreign-name "VkSampler"))
(:pointer (:struct vk-sampler-t)))
(fli:define-c-struct (vk-descriptor-pool-t
(:foreign-name "VkDescriptorPool_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-descriptor-pool
(:foreign-name "VkDescriptorPool"))
(:pointer (:struct vk-descriptor-pool-t)))
(fli:define-c-struct (vk-descriptor-set-t
(:foreign-name "VkDescriptorSet_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-descriptor-set
(:foreign-name "VkDescriptorSet"))
(:pointer (:struct vk-descriptor-set-t)))
(fli:define-c-struct (vk-framebuffer-t
(:foreign-name "VkFramebuffer_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-framebuffer (:foreign-name "VkFramebuffer"))
(:pointer (:struct vk-framebuffer-t)))
(fli:define-c-struct (vk-command-pool-t
(:foreign-name "VkCommandPool_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-command-pool (:foreign-name "VkCommandPool"))
(:pointer (:struct vk-command-pool-t)))
(fli:define-c-enum (vk-pipeline-cache-header-version
(:foreign-name "VkPipelineCacheHeaderVersion"))
(vk-pipeline-cache-header-version-one 1)
(vk-pipeline-cache-header-version-begin-range 1)
(vk-pipeline-cache-header-version-end-range 1)
(vk-pipeline-cache-header-version-range-size 1)
(vk-pipeline-cache-header-version-max-enum
2147483647))
(fli:define-c-typedef (vk-pipeline-cache-header-version
(:foreign-name "VkPipelineCacheHeaderVersion"))
(:enum vk-pipeline-cache-header-version))
(fli:define-c-enum (vk-result (:foreign-name "VkResult"))
(vk-success 0)
(vk-not-ready 1)
(vk-timeout 2)
(vk-event-set 3)
(vk-event-reset 4)
(vk-incomplete 5)
(vk-error-out-of-host-memory -1)
(vk-error-out-of-device-memory -2)
(vk-error-initialization-failed -3)
(vk-error-device-lost -4)
(vk-error-memory-map-failed -5)
(vk-error-layer-not-present -6)
(vk-error-extension-not-present -7)
(vk-error-feature-not-present -8)
(vk-error-incompatible-driver -9)
(vk-error-too-many-objects -10)
(vk-error-format-not-supported -11)
(vk-error-fragmented-pool -12)
(vk-error-out-of-pool-memory -1000069000)
(vk-error-invalid-external-handle -1000072003)
(vk-error-surface-lost-khr -1000000000)
(vk-error-native-window-in-use-khr -1000000001)
(vk-suboptimal-khr 1000001003)
(vk-error-out-of-date-khr -1000001004)
(vk-error-incompatible-display-khr -1000003001)
(vk-error-validation-failed-ext -1000011001)
(vk-error-invalid-shader-nv -1000012000)
(vk-error-invalid-drm-format-modifier-plane-layout-ext
-1000158000)
(vk-error-fragmentation-ext -1000161000)
(vk-error-not-permitted-ext -1000174001)
(vk-error-out-of-pool-memory-khr -1000069000)
(vk-error-invalid-external-handle-khr -1000072003)
(vk-result-begin-range -12)
(vk-result-end-range 5)
(vk-result-range-size 18)
(vk-result-max-enum 2147483647))
(fli:define-c-typedef (vk-result (:foreign-name "VkResult"))
(:enum vk-result))
(fli:define-c-enum (vk-structure-type
(:foreign-name "VkStructureType"))
(vk-structure-type-application-info 0)
(vk-structure-type-instance-create-info 1)
(vk-structure-type-device-queue-create-info 2)
(vk-structure-type-device-create-info 3)
(vk-structure-type-submit-info 4)
(vk-structure-type-memory-allocate-info 5)
(vk-structure-type-mapped-memory-range 6)
(vk-structure-type-bind-sparse-info 7)
(vk-structure-type-fence-create-info 8)
(vk-structure-type-semaphore-create-info 9)
(vk-structure-type-event-create-info 10)
(vk-structure-type-query-pool-create-info 11)
(vk-structure-type-buffer-create-info 12)
(vk-structure-type-buffer-view-create-info 13)
(vk-structure-type-image-create-info 14)
(vk-structure-type-image-view-create-info 15)
(vk-structure-type-shader-module-create-info 16)
(vk-structure-type-pipeline-cache-create-info 17)
(vk-structure-type-pipeline-shader-stage-create-info
18)
(vk-structure-type-pipeline-vertex-input-state-create-info
19)
(vk-structure-type-pipeline-input-assembly-state-create-info
20)
(vk-structure-type-pipeline-tessellation-state-create-info
21)
(vk-structure-type-pipeline-viewport-state-create-info
22)
(vk-structure-type-pipeline-rasterization-state-create-info
23)
(vk-structure-type-pipeline-multisample-state-create-info
24)
(vk-structure-type-pipeline-depth-stencil-state-create-info
25)
(vk-structure-type-pipeline-color-blend-state-create-info
26)
(vk-structure-type-pipeline-dynamic-state-create-info
27)
(vk-structure-type-graphics-pipeline-create-info 28)
(vk-structure-type-compute-pipeline-create-info 29)
(vk-structure-type-pipeline-layout-create-info 30)
(vk-structure-type-sampler-create-info 31)
(vk-structure-type-descriptor-set-layout-create-info
32)
(vk-structure-type-descriptor-pool-create-info 33)
(vk-structure-type-descriptor-set-allocate-info 34)
(vk-structure-type-write-descriptor-set 35)
(vk-structure-type-copy-descriptor-set 36)
(vk-structure-type-framebuffer-create-info 37)
(vk-structure-type-render-pass-create-info 38)
(vk-structure-type-command-pool-create-info 39)
(vk-structure-type-command-buffer-allocate-info 40)
(vk-structure-type-command-buffer-inheritance-info
41)
(vk-structure-type-command-buffer-begin-info 42)
(vk-structure-type-render-pass-begin-info 43)
(vk-structure-type-buffer-memory-barrier 44)
(vk-structure-type-image-memory-barrier 45)
(vk-structure-type-memory-barrier 46)
(vk-structure-type-loader-instance-create-info 47)
(vk-structure-type-loader-device-create-info 48)
(vk-structure-type-physical-device-subgroup-properties
1000094000)
(vk-structure-type-bind-buffer-memory-info
1000157000)
(vk-structure-type-bind-image-memory-info
1000157001)
(vk-structure-type-physical-device-16-bit-storage-features
1000083000)
(vk-structure-type-memory-dedicated-requirements
1000127000)
(vk-structure-type-memory-dedicated-allocate-info
1000127001)
(vk-structure-type-memory-allocate-flags-info
1000060000)
(vk-structure-type-device-group-render-pass-begin-info
1000060003)
(vk-structure-type-device-group-command-buffer-begin-info
1000060004)
(vk-structure-type-device-group-submit-info
1000060005)
(vk-structure-type-device-group-bind-sparse-info
1000060006)
(vk-structure-type-bind-buffer-memory-device-group-info
1000060013)
(vk-structure-type-bind-image-memory-device-group-info
1000060014)
(vk-structure-type-physical-device-group-properties
1000070000)
(vk-structure-type-device-group-device-create-info
1000070001)
(vk-structure-type-buffer-memory-requirements-info-2
1000146000)
(vk-structure-type-image-memory-requirements-info-2
1000146001)
(vk-structure-type-image-sparse-memory-requirements-info-2
1000146002)
(vk-structure-type-memory-requirements-2 1000146003)
(vk-structure-type-sparse-image-memory-requirements-2
1000146004)
(vk-structure-type-physical-device-features-2
1000059000)
(vk-structure-type-physical-device-properties-2
1000059001)
(vk-structure-type-format-properties-2 1000059002)
(vk-structure-type-image-format-properties-2
1000059003)
(vk-structure-type-physical-device-image-format-info-2
1000059004)
(vk-structure-type-queue-family-properties-2
1000059005)
(vk-structure-type-physical-device-memory-properties-2
1000059006)
(vk-structure-type-sparse-image-format-properties-2
1000059007)
(vk-structure-type-physical-device-sparse-image-format-info-2
1000059008)
(vk-structure-type-physical-device-point-clipping-properties
1000117000)
(vk-structure-type-render-pass-input-attachment-aspect-create-info
1000117001)
(vk-structure-type-image-view-usage-create-info
1000117002)
(vk-structure-type-pipeline-tessellation-domain-origin-state-create-info
1000117003)
(vk-structure-type-render-pass-multiview-create-info
1000053000)
(vk-structure-type-physical-device-multiview-features
1000053001)
(vk-structure-type-physical-device-multiview-properties
1000053002)
(vk-structure-type-physical-device-variable-pointer-features
1000120000)
(vk-structure-type-protected-submit-info 1000145000)
(vk-structure-type-physical-device-protected-memory-features
1000145001)
(vk-structure-type-physical-device-protected-memory-properties
1000145002)
(vk-structure-type-device-queue-info-2 1000145003)
(vk-structure-type-sampler-ycbcr-conversion-create-info
1000156000)
(vk-structure-type-sampler-ycbcr-conversion-info
1000156001)
(vk-structure-type-bind-image-plane-memory-info
1000156002)
(vk-structure-type-image-plane-memory-requirements-info
1000156003)
(vk-structure-type-physical-device-sampler-ycbcr-conversion-features
1000156004)
(vk-structure-type-sampler-ycbcr-conversion-image-format-properties
1000156005)
(vk-structure-type-descriptor-update-template-create-info
1000085000)
(vk-structure-type-physical-device-external-image-format-info
1000071000)
(vk-structure-type-external-image-format-properties
1000071001)
(vk-structure-type-physical-device-external-buffer-info
1000071002)
(vk-structure-type-external-buffer-properties
1000071003)
(vk-structure-type-physical-device-id-properties
1000071004)
(vk-structure-type-external-memory-buffer-create-info
1000072000)
(vk-structure-type-external-memory-image-create-info
1000072001)
(vk-structure-type-export-memory-allocate-info
1000072002)
(vk-structure-type-physical-device-external-fence-info
1000112000)
(vk-structure-type-external-fence-properties
1000112001)
(vk-structure-type-export-fence-create-info
1000113000)
(vk-structure-type-export-semaphore-create-info
1000077000)
(vk-structure-type-physical-device-external-semaphore-info
1000076000)
(vk-structure-type-external-semaphore-properties
1000076001)
(vk-structure-type-physical-device-maintenance-3-properties
1000168000)
(vk-structure-type-descriptor-set-layout-support
1000168001)
(vk-structure-type-physical-device-shader-draw-parameter-features
1000063000)
(vk-structure-type-swapchain-create-info-khr
1000001000)
(vk-structure-type-present-info-khr 1000001001)
(vk-structure-type-device-group-present-capabilities-khr
1000060007)
(vk-structure-type-image-swapchain-create-info-khr
1000060008)
(vk-structure-type-bind-image-memory-swapchain-info-khr
1000060009)
(vk-structure-type-acquire-next-image-info-khr
1000060010)
(vk-structure-type-device-group-present-info-khr
1000060011)
(vk-structure-type-device-group-swapchain-create-info-khr
1000060012)
(vk-structure-type-display-mode-create-info-khr
1000002000)
(vk-structure-type-display-surface-create-info-khr
1000002001)
(vk-structure-type-display-present-info-khr
1000003000)
(vk-structure-type-xlib-surface-create-info-khr
1000004000)
(vk-structure-type-xcb-surface-create-info-khr
1000005000)
(vk-structure-type-wayland-surface-create-info-khr
1000006000)
(vk-structure-type-android-surface-create-info-khr
1000008000)
(vk-structure-type-win32-surface-create-info-khr
1000009000)
(vk-structure-type-debug-report-callback-create-info-ext
1000011000)
(vk-structure-type-pipeline-rasterization-state-rasterization-order-amd
1000018000)
(vk-structure-type-debug-marker-object-name-info-ext
1000022000)
(vk-structure-type-debug-marker-object-tag-info-ext
1000022001)
(vk-structure-type-debug-marker-marker-info-ext
1000022002)
(vk-structure-type-dedicated-allocation-image-create-info-nv
1000026000)
(vk-structure-type-dedicated-allocation-buffer-create-info-nv
1000026001)
(vk-structure-type-dedicated-allocation-memory-allocate-info-nv
1000026002)
(vk-structure-type-physical-device-transform-feedback-features-ext
1000028000)
(vk-structure-type-physical-device-transform-feedback-properties-ext
1000028001)
(vk-structure-type-pipeline-rasterization-state-stream-create-info-ext
1000028002)
(vk-structure-type-texture-lod-gather-format-properties-amd
1000041000)
(vk-structure-type-physical-device-corner-sampled-image-features-nv
1000050000)
(vk-structure-type-external-memory-image-create-info-nv
1000056000)
(vk-structure-type-export-memory-allocate-info-nv
1000056001)
(vk-structure-type-import-memory-win32-handle-info-nv
1000057000)
(vk-structure-type-export-memory-win32-handle-info-nv
1000057001)
(vk-structure-type-win32-keyed-mutex-acquire-release-info-nv
1000058000)
(vk-structure-type-validation-flags-ext 1000061000)
(vk-structure-type-vi-surface-create-info-nn
1000062000)
(vk-structure-type-image-view-astc-decode-mode-ext
1000067000)
(vk-structure-type-physical-device-astc-decode-features-ext
1000067001)
(vk-structure-type-import-memory-win32-handle-info-khr
1000073000)
(vk-structure-type-export-memory-win32-handle-info-khr
1000073001)
(vk-structure-type-memory-win32-handle-properties-khr
1000073002)
(vk-structure-type-memory-get-win32-handle-info-khr
1000073003)
(vk-structure-type-import-memory-fd-info-khr
1000074000)
(vk-structure-type-memory-fd-properties-khr
1000074001)
(vk-structure-type-memory-get-fd-info-khr
1000074002)
(vk-structure-type-win32-keyed-mutex-acquire-release-info-khr
1000075000)
(vk-structure-type-import-semaphore-win32-handle-info-khr
1000078000)
(vk-structure-type-export-semaphore-win32-handle-info-khr
1000078001)
(vk-structure-type-d3-d12-fence-submit-info-khr
1000078002)
(vk-structure-type-semaphore-get-win32-handle-info-khr
1000078003)
(vk-structure-type-import-semaphore-fd-info-khr
1000079000)
(vk-structure-type-semaphore-get-fd-info-khr
1000079001)
(vk-structure-type-physical-device-push-descriptor-properties-khr
1000080000)
(vk-structure-type-command-buffer-inheritance-conditional-rendering-info-ext
1000081000)
(vk-structure-type-physical-device-conditional-rendering-features-ext
1000081001)
(vk-structure-type-conditional-rendering-begin-info-ext
1000081002)
(vk-structure-type-present-regions-khr 1000084000)
(vk-structure-type-object-table-create-info-nvx
1000086000)
(vk-structure-type-indirect-commands-layout-create-info-nvx
1000086001)
(vk-structure-type-cmd-process-commands-info-nvx
1000086002)
(vk-structure-type-cmd-reserve-space-for-commands-info-nvx
1000086003)
(vk-structure-type-device-generated-commands-limits-nvx
1000086004)
(vk-structure-type-device-generated-commands-features-nvx
1000086005)
(vk-structure-type-pipeline-viewport-w-scaling-state-create-info-nv
1000087000)
(vk-structure-type-surface-capabilities-2-ext
1000090000)
(vk-structure-type-display-power-info-ext
1000091000)
(vk-structure-type-device-event-info-ext 1000091001)
(vk-structure-type-display-event-info-ext
1000091002)
(vk-structure-type-swapchain-counter-create-info-ext
1000091003)
(vk-structure-type-present-times-info-google
1000092000)
(vk-structure-type-physical-device-multiview-per-view-attributes-properties-nvx
1000097000)
(vk-structure-type-pipeline-viewport-swizzle-state-create-info-nv
1000098000)
(vk-structure-type-physical-device-discard-rectangle-properties-ext
1000099000)
(vk-structure-type-pipeline-discard-rectangle-state-create-info-ext
1000099001)
(vk-structure-type-physical-device-conservative-rasterization-properties-ext
1000101000)
(vk-structure-type-pipeline-rasterization-conservative-state-create-info-ext
1000101001)
(vk-structure-type-hdr-metadata-ext 1000105000)
(vk-structure-type-attachment-description-2-khr
1000109000)
(vk-structure-type-attachment-reference-2-khr
1000109001)
(vk-structure-type-subpass-description-2-khr
1000109002)
(vk-structure-type-subpass-dependency-2-khr
1000109003)
(vk-structure-type-render-pass-create-info-2-khr
1000109004)
(vk-structure-type-subpass-begin-info-khr
1000109005)
(vk-structure-type-subpass-end-info-khr 1000109006)
(vk-structure-type-shared-present-surface-capabilities-khr
1000111000)
(vk-structure-type-import-fence-win32-handle-info-khr
1000114000)
(vk-structure-type-export-fence-win32-handle-info-khr
1000114001)
(vk-structure-type-fence-get-win32-handle-info-khr
1000114002)
(vk-structure-type-import-fence-fd-info-khr
1000115000)
(vk-structure-type-fence-get-fd-info-khr 1000115001)
(vk-structure-type-physical-device-surface-info-2-khr
1000119000)
(vk-structure-type-surface-capabilities-2-khr
1000119001)
(vk-structure-type-surface-format-2-khr 1000119002)
(vk-structure-type-display-properties-2-khr
1000121000)
(vk-structure-type-display-plane-properties-2-khr
1000121001)
(vk-structure-type-display-mode-properties-2-khr
1000121002)
(vk-structure-type-display-plane-info-2-khr
1000121003)
(vk-structure-type-display-plane-capabilities-2-khr
1000121004)
(vk-structure-type-ios-surface-create-info-mvk
1000122000)
(vk-structure-type-macos-surface-create-info-mvk
1000123000)
(vk-structure-type-debug-utils-object-name-info-ext
1000128000)
(vk-structure-type-debug-utils-object-tag-info-ext
1000128001)
(vk-structure-type-debug-utils-label-ext 1000128002)
(vk-structure-type-debug-utils-messenger-callback-data-ext
1000128003)
(vk-structure-type-debug-utils-messenger-create-info-ext
1000128004)
(vk-structure-type-android-hardware-buffer-usage-android
1000129000)
(vk-structure-type-android-hardware-buffer-properties-android
1000129001)
(vk-structure-type-android-hardware-buffer-format-properties-android
1000129002)
(vk-structure-type-import-android-hardware-buffer-info-android
1000129003)
(vk-structure-type-memory-get-android-hardware-buffer-info-android
1000129004)
(vk-structure-type-external-format-android
1000129005)
(vk-structure-type-physical-device-sampler-filter-minmax-properties-ext
1000130000)
(vk-structure-type-sampler-reduction-mode-create-info-ext
1000130001)
(vk-structure-type-physical-device-inline-uniform-block-features-ext
1000138000)
(vk-structure-type-physical-device-inline-uniform-block-properties-ext
1000138001)
(vk-structure-type-write-descriptor-set-inline-uniform-block-ext
1000138002)
(vk-structure-type-descriptor-pool-inline-uniform-block-create-info-ext
1000138003)
(vk-structure-type-sample-locations-info-ext
1000143000)
(vk-structure-type-render-pass-sample-locations-begin-info-ext
1000143001)
(vk-structure-type-pipeline-sample-locations-state-create-info-ext
1000143002)
(vk-structure-type-physical-device-sample-locations-properties-ext
1000143003)
(vk-structure-type-multisample-properties-ext
1000143004)
(vk-structure-type-image-format-list-create-info-khr
1000147000)
(vk-structure-type-physical-device-blend-operation-advanced-features-ext
1000148000)
(vk-structure-type-physical-device-blend-operation-advanced-properties-ext
1000148001)
(vk-structure-type-pipeline-color-blend-advanced-state-create-info-ext
1000148002)
(vk-structure-type-pipeline-coverage-to-color-state-create-info-nv
1000149000)
(vk-structure-type-pipeline-coverage-modulation-state-create-info-nv
1000152000)
(vk-structure-type-drm-format-modifier-properties-list-ext
1000158000)
(vk-structure-type-drm-format-modifier-properties-ext
1000158001)
(vk-structure-type-physical-device-image-drm-format-modifier-info-ext
1000158002)
(vk-structure-type-image-drm-format-modifier-list-create-info-ext
1000158003)
(vk-structure-type-image-drm-format-modifier-explicit-create-info-ext
1000158004)
(vk-structure-type-image-drm-format-modifier-properties-ext
1000158005)
(vk-structure-type-validation-cache-create-info-ext
1000160000)
(vk-structure-type-shader-module-validation-cache-create-info-ext
1000160001)
(vk-structure-type-descriptor-set-layout-binding-flags-create-info-ext
1000161000)
(vk-structure-type-physical-device-descriptor-indexing-features-ext
1000161001)
(vk-structure-type-physical-device-descriptor-indexing-properties-ext
1000161002)
(vk-structure-type-descriptor-set-variable-descriptor-count-allocate-info-ext
1000161003)
(vk-structure-type-descriptor-set-variable-descriptor-count-layout-support-ext
1000161004)
(vk-structure-type-pipeline-viewport-shading-rate-image-state-create-info-nv
1000164000)
(vk-structure-type-physical-device-shading-rate-image-features-nv
1000164001)
(vk-structure-type-physical-device-shading-rate-image-properties-nv
1000164002)
(vk-structure-type-pipeline-viewport-coarse-sample-order-state-create-info-nv
1000164005)
(vk-structure-type-ray-tracing-pipeline-create-info-nv
1000165000)
(vk-structure-type-acceleration-structure-create-info-nv
1000165001)
(vk-structure-type-geometry-nv 1000165003)
(vk-structure-type-geometry-triangles-nv 1000165004)
(vk-structure-type-geometry-aabb-nv 1000165005)
(vk-structure-type-bind-acceleration-structure-memory-info-nv
1000165006)
(vk-structure-type-write-descriptor-set-acceleration-structure-nv
1000165007)
(vk-structure-type-acceleration-structure-memory-requirements-info-nv
1000165008)
(vk-structure-type-physical-device-ray-tracing-properties-nv
1000165009)
(vk-structure-type-ray-tracing-shader-group-create-info-nv
1000165011)
(vk-structure-type-acceleration-structure-info-nv
1000165012)
(vk-structure-type-physical-device-representative-fragment-test-features-nv
1000166000)
(vk-structure-type-pipeline-representative-fragment-test-state-create-info-nv
1000166001)
(vk-structure-type-device-queue-global-priority-create-info-ext
1000174000)
(vk-structure-type-physical-device-8-bit-storage-features-khr
1000177000)
(vk-structure-type-import-memory-host-pointer-info-ext
1000178000)
(vk-structure-type-memory-host-pointer-properties-ext
1000178001)
(vk-structure-type-physical-device-external-memory-host-properties-ext
1000178002)
(vk-structure-type-physical-device-shader-atomic-int64-features-khr
1000180000)
(vk-structure-type-calibrated-timestamp-info-ext
1000184000)
(vk-structure-type-physical-device-shader-core-properties-amd
1000185000)
(vk-structure-type-device-memory-overallocation-create-info-amd
1000189000)
(vk-structure-type-physical-device-vertex-attribute-divisor-properties-ext
1000190000)
(vk-structure-type-pipeline-vertex-input-divisor-state-create-info-ext
1000190001)
(vk-structure-type-physical-device-vertex-attribute-divisor-features-ext
1000190002)
(vk-structure-type-physical-device-driver-properties-khr
1000196000)
(vk-structure-type-physical-device-compute-shader-derivatives-features-nv
1000201000)
(vk-structure-type-physical-device-mesh-shader-features-nv
1000202000)
(vk-structure-type-physical-device-mesh-shader-properties-nv
1000202001)
(vk-structure-type-physical-device-fragment-shader-barycentric-features-nv
1000203000)
(vk-structure-type-physical-device-shader-image-footprint-features-nv
1000204000)
(vk-structure-type-pipeline-viewport-exclusive-scissor-state-create-info-nv
1000205000)
(vk-structure-type-physical-device-exclusive-scissor-features-nv
1000205002)
(vk-structure-type-checkpoint-data-nv 1000206000)
(vk-structure-type-queue-family-checkpoint-properties-nv
1000206001)
(vk-structure-type-physical-device-vulkan-memory-model-features-khr
1000211000)
(vk-structure-type-physical-device-pci-bus-info-properties-ext
1000212000)
(vk-structure-type-imagepipe-surface-create-info-fuchsia
1000214000)
(vk-structure-type-debug-report-create-info-ext
1000011000)
(vk-structure-type-render-pass-multiview-create-info-khr
1000053000)
(vk-structure-type-physical-device-multiview-features-khr
1000053001)
(vk-structure-type-physical-device-multiview-properties-khr
1000053002)
(vk-structure-type-physical-device-features-2-khr
1000059000)
(vk-structure-type-physical-device-properties-2-khr
1000059001)
(vk-structure-type-format-properties-2-khr
1000059002)
(vk-structure-type-image-format-properties-2-khr
1000059003)
(vk-structure-type-physical-device-image-format-info-2-khr
1000059004)
(vk-structure-type-queue-family-properties-2-khr
1000059005)
(vk-structure-type-physical-device-memory-properties-2-khr
1000059006)
(vk-structure-type-sparse-image-format-properties-2-khr
1000059007)
(vk-structure-type-physical-device-sparse-image-format-info-2-khr
1000059008)
(vk-structure-type-memory-allocate-flags-info-khr
1000060000)
(vk-structure-type-device-group-render-pass-begin-info-khr
1000060003)
(vk-structure-type-device-group-command-buffer-begin-info-khr
1000060004)
(vk-structure-type-device-group-submit-info-khr
1000060005)
(vk-structure-type-device-group-bind-sparse-info-khr
1000060006)
(vk-structure-type-bind-buffer-memory-device-group-info-khr
1000060013)
(vk-structure-type-bind-image-memory-device-group-info-khr
1000060014)
(vk-structure-type-physical-device-group-properties-khr
1000070000)
(vk-structure-type-device-group-device-create-info-khr
1000070001)
(vk-structure-type-physical-device-external-image-format-info-khr
1000071000)
(vk-structure-type-external-image-format-properties-khr
1000071001)
(vk-structure-type-physical-device-external-buffer-info-khr
1000071002)
(vk-structure-type-external-buffer-properties-khr
1000071003)
(vk-structure-type-physical-device-id-properties-khr
1000071004)
(vk-structure-type-external-memory-buffer-create-info-khr
1000072000)
(vk-structure-type-external-memory-image-create-info-khr
1000072001)
(vk-structure-type-export-memory-allocate-info-khr
1000072002)
(vk-structure-type-physical-device-external-semaphore-info-khr
1000076000)
(vk-structure-type-external-semaphore-properties-khr
1000076001)
(vk-structure-type-export-semaphore-create-info-khr
1000077000)
(vk-structure-type-physical-device-16-bit-storage-features-khr
1000083000)
(vk-structure-type-descriptor-update-template-create-info-khr
1000085000)
(vk-structure-type-surface-capabilities2-ext
1000090000)
(vk-structure-type-physical-device-external-fence-info-khr
1000112000)
(vk-structure-type-external-fence-properties-khr
1000112001)
(vk-structure-type-export-fence-create-info-khr
1000113000)
(vk-structure-type-physical-device-point-clipping-properties-khr
1000117000)
(vk-structure-type-render-pass-input-attachment-aspect-create-info-khr
1000117001)
(vk-structure-type-image-view-usage-create-info-khr
1000117002)
(vk-structure-type-pipeline-tessellation-domain-origin-state-create-info-khr
1000117003)
(vk-structure-type-physical-device-variable-pointer-features-khr
1000120000)
(vk-structure-type-memory-dedicated-requirements-khr
1000127000)
(vk-structure-type-memory-dedicated-allocate-info-khr
1000127001)
(vk-structure-type-buffer-memory-requirements-info-2-khr
1000146000)
(vk-structure-type-image-memory-requirements-info-2-khr
1000146001)
(vk-structure-type-image-sparse-memory-requirements-info-2-khr
1000146002)
(vk-structure-type-memory-requirements-2-khr
1000146003)
(vk-structure-type-sparse-image-memory-requirements-2-khr
1000146004)
(vk-structure-type-sampler-ycbcr-conversion-create-info-khr
1000156000)
(vk-structure-type-sampler-ycbcr-conversion-info-khr
1000156001)
(vk-structure-type-bind-image-plane-memory-info-khr
1000156002)
(vk-structure-type-image-plane-memory-requirements-info-khr
1000156003)
(vk-structure-type-physical-device-sampler-ycbcr-conversion-features-khr
1000156004)
(vk-structure-type-sampler-ycbcr-conversion-image-format-properties-khr
1000156005)
(vk-structure-type-bind-buffer-memory-info-khr
1000157000)
(vk-structure-type-bind-image-memory-info-khr
1000157001)
(vk-structure-type-physical-device-maintenance-3-properties-khr
1000168000)
(vk-structure-type-descriptor-set-layout-support-khr
1000168001)
(vk-structure-type-begin-range 0)
(vk-structure-type-end-range 48)
(vk-structure-type-range-size 49)
(vk-structure-type-max-enum 2147483647))
(fli:define-c-typedef (vk-structure-type
(:foreign-name "VkStructureType"))
(:enum vk-structure-type))
(fli:define-c-enum (vk-system-allocation-scope
(:foreign-name "VkSystemAllocationScope"))
(vk-system-allocation-scope-command 0)
(vk-system-allocation-scope-object 1)
(vk-system-allocation-scope-cache 2)
(vk-system-allocation-scope-device 3)
(vk-system-allocation-scope-instance 4)
(vk-system-allocation-scope-begin-range 0)
(vk-system-allocation-scope-end-range 4)
(vk-system-allocation-scope-range-size 5)
(vk-system-allocation-scope-max-enum 2147483647))
(fli:define-c-typedef (vk-system-allocation-scope
(:foreign-name "VkSystemAllocationScope"))
(:enum vk-system-allocation-scope))
(fli:define-c-enum (vk-internal-allocation-type
(:foreign-name "VkInternalAllocationType"))
(vk-internal-allocation-type-executable 0)
(vk-internal-allocation-type-begin-range 0)
(vk-internal-allocation-type-end-range 0)
(vk-internal-allocation-type-range-size 1)
(vk-internal-allocation-type-max-enum 2147483647))
(fli:define-c-typedef (vk-internal-allocation-type
(:foreign-name "VkInternalAllocationType"))
(:enum vk-internal-allocation-type))
(fli:define-c-enum (vk-format (:foreign-name "VkFormat"))
(vk-format-undefined 0)
(vk-format-r4-g4-unorm-pack8 1)
(vk-format-r4-g4-b4-a4-unorm-pack16 2)
(vk-format-b4-g4-r4-a4-unorm-pack16 3)
(vk-format-r5-g6-b5-unorm-pack16 4)
(vk-format-b5-g6-r5-unorm-pack16 5)
(vk-format-r5-g5-b5-a1-unorm-pack16 6)
(vk-format-b5-g5-r5-a1-unorm-pack16 7)
(vk-format-a1-r5-g5-b5-unorm-pack16 8)
(vk-format-r8-unorm 9)
(vk-format-r8-snorm 10)
(vk-format-r8-uscaled 11)
(vk-format-r8-sscaled 12)
(vk-format-r8-uint 13)
(vk-format-r8-sint 14)
(vk-format-r8-srgb 15)
(vk-format-r8-g8-unorm 16)
(vk-format-r8-g8-snorm 17)
(vk-format-r8-g8-uscaled 18)
(vk-format-r8-g8-sscaled 19)
(vk-format-r8-g8-uint 20)
(vk-format-r8-g8-sint 21)
(vk-format-r8-g8-srgb 22)
(vk-format-r8-g8-b8-unorm 23)
(vk-format-r8-g8-b8-snorm 24)
(vk-format-r8-g8-b8-uscaled 25)
(vk-format-r8-g8-b8-sscaled 26)
(vk-format-r8-g8-b8-uint 27)
(vk-format-r8-g8-b8-sint 28)
(vk-format-r8-g8-b8-srgb 29)
(vk-format-b8-g8-r8-unorm 30)
(vk-format-b8-g8-r8-snorm 31)
(vk-format-b8-g8-r8-uscaled 32)
(vk-format-b8-g8-r8-sscaled 33)
(vk-format-b8-g8-r8-uint 34)
(vk-format-b8-g8-r8-sint 35)
(vk-format-b8-g8-r8-srgb 36)
(vk-format-r8-g8-b8-a8-unorm 37)
(vk-format-r8-g8-b8-a8-snorm 38)
(vk-format-r8-g8-b8-a8-uscaled 39)
(vk-format-r8-g8-b8-a8-sscaled 40)
(vk-format-r8-g8-b8-a8-uint 41)
(vk-format-r8-g8-b8-a8-sint 42)
(vk-format-r8-g8-b8-a8-srgb 43)
(vk-format-b8-g8-r8-a8-unorm 44)
(vk-format-b8-g8-r8-a8-snorm 45)
(vk-format-b8-g8-r8-a8-uscaled 46)
(vk-format-b8-g8-r8-a8-sscaled 47)
(vk-format-b8-g8-r8-a8-uint 48)
(vk-format-b8-g8-r8-a8-sint 49)
(vk-format-b8-g8-r8-a8-srgb 50)
(vk-format-a8-b8-g8-r8-unorm-pack32 51)
(vk-format-a8-b8-g8-r8-snorm-pack32 52)
(vk-format-a8-b8-g8-r8-uscaled-pack32 53)
(vk-format-a8-b8-g8-r8-sscaled-pack32 54)
(vk-format-a8-b8-g8-r8-uint-pack32 55)
(vk-format-a8-b8-g8-r8-sint-pack32 56)
(vk-format-a8-b8-g8-r8-srgb-pack32 57)
(vk-format-a2-r10-g10-b10-unorm-pack32 58)
(vk-format-a2-r10-g10-b10-snorm-pack32 59)
(vk-format-a2-r10-g10-b10-uscaled-pack32 60)
(vk-format-a2-r10-g10-b10-sscaled-pack32 61)
(vk-format-a2-r10-g10-b10-uint-pack32 62)
(vk-format-a2-r10-g10-b10-sint-pack32 63)
(vk-format-a2-b10-g10-r10-unorm-pack32 64)
(vk-format-a2-b10-g10-r10-snorm-pack32 65)
(vk-format-a2-b10-g10-r10-uscaled-pack32 66)
(vk-format-a2-b10-g10-r10-sscaled-pack32 67)
(vk-format-a2-b10-g10-r10-uint-pack32 68)
(vk-format-a2-b10-g10-r10-sint-pack32 69)
(vk-format-r16-unorm 70)
(vk-format-r16-snorm 71)
(vk-format-r16-uscaled 72)
(vk-format-r16-sscaled 73)
(vk-format-r16-uint 74)
(vk-format-r16-sint 75)
(vk-format-r16-sfloat 76)
(vk-format-r16-g16-unorm 77)
(vk-format-r16-g16-snorm 78)
(vk-format-r16-g16-uscaled 79)
(vk-format-r16-g16-sscaled 80)
(vk-format-r16-g16-uint 81)
(vk-format-r16-g16-sint 82)
(vk-format-r16-g16-sfloat 83)
(vk-format-r16-g16-b16-unorm 84)
(vk-format-r16-g16-b16-snorm 85)
(vk-format-r16-g16-b16-uscaled 86)
(vk-format-r16-g16-b16-sscaled 87)
(vk-format-r16-g16-b16-uint 88)
(vk-format-r16-g16-b16-sint 89)
(vk-format-r16-g16-b16-sfloat 90)
(vk-format-r16-g16-b16-a16-unorm 91)
(vk-format-r16-g16-b16-a16-snorm 92)
(vk-format-r16-g16-b16-a16-uscaled 93)
(vk-format-r16-g16-b16-a16-sscaled 94)
(vk-format-r16-g16-b16-a16-uint 95)
(vk-format-r16-g16-b16-a16-sint 96)
(vk-format-r16-g16-b16-a16-sfloat 97)
(vk-format-r32-uint 98)
(vk-format-r32-sint 99)
(vk-format-r32-sfloat 100)
(vk-format-r32-g32-uint 101)
(vk-format-r32-g32-sint 102)
(vk-format-r32-g32-sfloat 103)
(vk-format-r32-g32-b32-uint 104)
(vk-format-r32-g32-b32-sint 105)
(vk-format-r32-g32-b32-sfloat 106)
(vk-format-r32-g32-b32-a32-uint 107)
(vk-format-r32-g32-b32-a32-sint 108)
(vk-format-r32-g32-b32-a32-sfloat 109)
(vk-format-r64-uint 110)
(vk-format-r64-sint 111)
(vk-format-r64-sfloat 112)
(vk-format-r64-g64-uint 113)
(vk-format-r64-g64-sint 114)
(vk-format-r64-g64-sfloat 115)
(vk-format-r64-g64-b64-uint 116)
(vk-format-r64-g64-b64-sint 117)
(vk-format-r64-g64-b64-sfloat 118)
(vk-format-r64-g64-b64-a64-uint 119)
(vk-format-r64-g64-b64-a64-sint 120)
(vk-format-r64-g64-b64-a64-sfloat 121)
(vk-format-b10-g11-r11-ufloat-pack32 122)
(vk-format-e5-b9-g9-r9-ufloat-pack32 123)
(vk-format-d16-unorm 124)
(vk-format-x8-d24-unorm-pack32 125)
(vk-format-d32-sfloat 126)
(vk-format-s8-uint 127)
(vk-format-d16-unorm-s8-uint 128)
(vk-format-d24-unorm-s8-uint 129)
(vk-format-d32-sfloat-s8-uint 130)
(vk-format-bc1-rgb-unorm-block 131)
(vk-format-bc1-rgb-srgb-block 132)
(vk-format-bc1-rgba-unorm-block 133)
(vk-format-bc1-rgba-srgb-block 134)
(vk-format-bc2-unorm-block 135)
(vk-format-bc2-srgb-block 136)
(vk-format-bc3-unorm-block 137)
(vk-format-bc3-srgb-block 138)
(vk-format-bc4-unorm-block 139)
(vk-format-bc4-snorm-block 140)
(vk-format-bc5-unorm-block 141)
(vk-format-bc5-snorm-block 142)
(vk-format-bc6-h-ufloat-block 143)
(vk-format-bc6-h-sfloat-block 144)
(vk-format-bc7-unorm-block 145)
(vk-format-bc7-srgb-block 146)
(vk-format-etc2-r8-g8-b8-unorm-block 147)
(vk-format-etc2-r8-g8-b8-srgb-block 148)
(vk-format-etc2-r8-g8-b8-a1-unorm-block 149)
(vk-format-etc2-r8-g8-b8-a1-srgb-block 150)
(vk-format-etc2-r8-g8-b8-a8-unorm-block 151)
(vk-format-etc2-r8-g8-b8-a8-srgb-block 152)
(vk-format-eac-r11-unorm-block 153)
(vk-format-eac-r11-snorm-block 154)
(vk-format-eac-r11-g11-unorm-block 155)
(vk-format-eac-r11-g11-snorm-block 156)
(vk-format-astc-4-x4-unorm-block 157)
(vk-format-astc-4-x4-srgb-block 158)
(vk-format-astc-5-x4-unorm-block 159)
(vk-format-astc-5-x4-srgb-block 160)
(vk-format-astc-5-x5-unorm-block 161)
(vk-format-astc-5-x5-srgb-block 162)
(vk-format-astc-6-x5-unorm-block 163)
(vk-format-astc-6-x5-srgb-block 164)
(vk-format-astc-6-x6-unorm-block 165)
(vk-format-astc-6-x6-srgb-block 166)
(vk-format-astc-8-x5-unorm-block 167)
(vk-format-astc-8-x5-srgb-block 168)
(vk-format-astc-8-x6-unorm-block 169)
(vk-format-astc-8-x6-srgb-block 170)
(vk-format-astc-8-x8-unorm-block 171)
(vk-format-astc-8-x8-srgb-block 172)
(vk-format-astc-10-x5-unorm-block 173)
(vk-format-astc-10-x5-srgb-block 174)
(vk-format-astc-10-x6-unorm-block 175)
(vk-format-astc-10-x6-srgb-block 176)
(vk-format-astc-10-x8-unorm-block 177)
(vk-format-astc-10-x8-srgb-block 178)
(vk-format-astc-10-x10-unorm-block 179)
(vk-format-astc-10-x10-srgb-block 180)
(vk-format-astc-12-x10-unorm-block 181)
(vk-format-astc-12-x10-srgb-block 182)
(vk-format-astc-12-x12-unorm-block 183)
(vk-format-astc-12-x12-srgb-block 184)
(vk-format-g8-b8-g8-r8-422-unorm 1000156000)
(vk-format-b8-g8-r8-g8-422-unorm 1000156001)
(vk-format-g8-b8-r8-3-plane-420-unorm 1000156002)
(vk-format-g8-b8-r8-2-plane-420-unorm 1000156003)
(vk-format-g8-b8-r8-3-plane-422-unorm 1000156004)
(vk-format-g8-b8-r8-2-plane-422-unorm 1000156005)
(vk-format-g8-b8-r8-3-plane-444-unorm 1000156006)
(vk-format-r10-x6-unorm-pack16 1000156007)
(vk-format-r10-x6-g10-x6-unorm-2-pack16 1000156008)
(vk-format-r10-x6-g10-x6-b10-x6-a10-x6-unorm-4-pack16
1000156009)
(vk-format-g10-x6-b10-x6-g10-x6-r10-x6-422-unorm-4-pack16
1000156010)
(vk-format-b10-x6-g10-x6-r10-x6-g10-x6-422-unorm-4-pack16
1000156011)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-420-unorm-3-pack16
1000156012)
(vk-format-g10-x6-b10-x6-r10-x6-2-plane-420-unorm-3-pack16
1000156013)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-422-unorm-3-pack16
1000156014)
(vk-format-g10-x6-b10-x6-r10-x6-2-plane-422-unorm-3-pack16
1000156015)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-444-unorm-3-pack16
1000156016)
(vk-format-r12-x4-unorm-pack16 1000156017)
(vk-format-r12-x4-g12-x4-unorm-2-pack16 1000156018)
(vk-format-r12-x4-g12-x4-b12-x4-a12-x4-unorm-4-pack16
1000156019)
(vk-format-g12-x4-b12-x4-g12-x4-r12-x4-422-unorm-4-pack16
1000156020)
(vk-format-b12-x4-g12-x4-r12-x4-g12-x4-422-unorm-4-pack16
1000156021)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-420-unorm-3-pack16
1000156022)
(vk-format-g12-x4-b12-x4-r12-x4-2-plane-420-unorm-3-pack16
1000156023)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-422-unorm-3-pack16
1000156024)
(vk-format-g12-x4-b12-x4-r12-x4-2-plane-422-unorm-3-pack16
1000156025)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-444-unorm-3-pack16
1000156026)
(vk-format-g16-b16-g16-r16-422-unorm 1000156027)
(vk-format-b16-g16-r16-g16-422-unorm 1000156028)
(vk-format-g16-b16-r16-3-plane-420-unorm 1000156029)
(vk-format-g16-b16-r16-2-plane-420-unorm 1000156030)
(vk-format-g16-b16-r16-3-plane-422-unorm 1000156031)
(vk-format-g16-b16-r16-2-plane-422-unorm 1000156032)
(vk-format-g16-b16-r16-3-plane-444-unorm 1000156033)
(vk-format-pvrtc1-2-bpp-unorm-block-img 1000054000)
(vk-format-pvrtc1-4-bpp-unorm-block-img 1000054001)
(vk-format-pvrtc2-2-bpp-unorm-block-img 1000054002)
(vk-format-pvrtc2-4-bpp-unorm-block-img 1000054003)
(vk-format-pvrtc1-2-bpp-srgb-block-img 1000054004)
(vk-format-pvrtc1-4-bpp-srgb-block-img 1000054005)
(vk-format-pvrtc2-2-bpp-srgb-block-img 1000054006)
(vk-format-pvrtc2-4-bpp-srgb-block-img 1000054007)
(vk-format-g8-b8-g8-r8-422-unorm-khr 1000156000)
(vk-format-b8-g8-r8-g8-422-unorm-khr 1000156001)
(vk-format-g8-b8-r8-3-plane-420-unorm-khr
1000156002)
(vk-format-g8-b8-r8-2-plane-420-unorm-khr
1000156003)
(vk-format-g8-b8-r8-3-plane-422-unorm-khr
1000156004)
(vk-format-g8-b8-r8-2-plane-422-unorm-khr
1000156005)
(vk-format-g8-b8-r8-3-plane-444-unorm-khr
1000156006)
(vk-format-r10-x6-unorm-pack16-khr 1000156007)
(vk-format-r10-x6-g10-x6-unorm-2-pack16-khr
1000156008)
(vk-format-r10-x6-g10-x6-b10-x6-a10-x6-unorm-4-pack16-khr
1000156009)
(vk-format-g10-x6-b10-x6-g10-x6-r10-x6-422-unorm-4-pack16-khr
1000156010)
(vk-format-b10-x6-g10-x6-r10-x6-g10-x6-422-unorm-4-pack16-khr
1000156011)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-420-unorm-3-pack16-khr
1000156012)
(vk-format-g10-x6-b10-x6-r10-x6-2-plane-420-unorm-3-pack16-khr
1000156013)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-422-unorm-3-pack16-khr
1000156014)
(vk-format-g10-x6-b10-x6-r10-x6-2-plane-422-unorm-3-pack16-khr
1000156015)
(vk-format-g10-x6-b10-x6-r10-x6-3-plane-444-unorm-3-pack16-khr
1000156016)
(vk-format-r12-x4-unorm-pack16-khr 1000156017)
(vk-format-r12-x4-g12-x4-unorm-2-pack16-khr
1000156018)
(vk-format-r12-x4-g12-x4-b12-x4-a12-x4-unorm-4-pack16-khr
1000156019)
(vk-format-g12-x4-b12-x4-g12-x4-r12-x4-422-unorm-4-pack16-khr
1000156020)
(vk-format-b12-x4-g12-x4-r12-x4-g12-x4-422-unorm-4-pack16-khr
1000156021)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-420-unorm-3-pack16-khr
1000156022)
(vk-format-g12-x4-b12-x4-r12-x4-2-plane-420-unorm-3-pack16-khr
1000156023)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-422-unorm-3-pack16-khr
1000156024)
(vk-format-g12-x4-b12-x4-r12-x4-2-plane-422-unorm-3-pack16-khr
1000156025)
(vk-format-g12-x4-b12-x4-r12-x4-3-plane-444-unorm-3-pack16-khr
1000156026)
(vk-format-g16-b16-g16-r16-422-unorm-khr 1000156027)
(vk-format-b16-g16-r16-g16-422-unorm-khr 1000156028)
(vk-format-g16-b16-r16-3-plane-420-unorm-khr
1000156029)
(vk-format-g16-b16-r16-2-plane-420-unorm-khr
1000156030)
(vk-format-g16-b16-r16-3-plane-422-unorm-khr
1000156031)
(vk-format-g16-b16-r16-2-plane-422-unorm-khr
1000156032)
(vk-format-g16-b16-r16-3-plane-444-unorm-khr
1000156033)
(vk-format-begin-range 0)
(vk-format-end-range 184)
(vk-format-range-size 185)
(vk-format-max-enum 2147483647))
(fli:define-c-typedef (vk-format (:foreign-name "VkFormat"))
(:enum vk-format))
(fli:define-c-enum (vk-image-type (:foreign-name "VkImageType"))
(vk-image-type-1-d 0)
(vk-image-type-2-d 1)
(vk-image-type-3-d 2)
(vk-image-type-begin-range 0)
(vk-image-type-end-range 2)
(vk-image-type-range-size 3)
(vk-image-type-max-enum 2147483647))
(fli:define-c-typedef (vk-image-type (:foreign-name "VkImageType"))
(:enum vk-image-type))
(fli:define-c-enum (vk-image-tiling (:foreign-name "VkImageTiling"))
(vk-image-tiling-optimal 0)
(vk-image-tiling-linear 1)
(vk-image-tiling-drm-format-modifier-ext 1000158000)
(vk-image-tiling-begin-range 0)
(vk-image-tiling-end-range 1)
(vk-image-tiling-range-size 2)
(vk-image-tiling-max-enum 2147483647))
(fli:define-c-typedef (vk-image-tiling (:foreign-name "VkImageTiling"))
(:enum vk-image-tiling))
(fli:define-c-enum (vk-physical-device-type
(:foreign-name "VkPhysicalDeviceType"))
(vk-physical-device-type-other 0)
(vk-physical-device-type-integrated-gpu 1)
(vk-physical-device-type-discrete-gpu 2)
(vk-physical-device-type-virtual-gpu 3)
(vk-physical-device-type-cpu 4)
(vk-physical-device-type-begin-range 0)
(vk-physical-device-type-end-range 4)
(vk-physical-device-type-range-size 5)
(vk-physical-device-type-max-enum 2147483647))
(fli:define-c-typedef (vk-physical-device-type
(:foreign-name "VkPhysicalDeviceType"))
(:enum vk-physical-device-type))
(fli:define-c-enum (vk-query-type (:foreign-name "VkQueryType"))
(vk-query-type-occlusion 0)
(vk-query-type-pipeline-statistics 1)
(vk-query-type-timestamp 2)
(vk-query-type-transform-feedback-stream-ext
1000028004)
(vk-query-type-acceleration-structure-compacted-size-nv
1000165000)
(vk-query-type-begin-range 0)
(vk-query-type-end-range 2)
(vk-query-type-range-size 3)
(vk-query-type-max-enum 2147483647))
(fli:define-c-typedef (vk-query-type (:foreign-name "VkQueryType"))
(:enum vk-query-type))
(fli:define-c-enum (vk-sharing-mode (:foreign-name "VkSharingMode"))
(vk-sharing-mode-exclusive 0)
(vk-sharing-mode-concurrent 1)
(vk-sharing-mode-begin-range 0)
(vk-sharing-mode-end-range 1)
(vk-sharing-mode-range-size 2)
(vk-sharing-mode-max-enum 2147483647))
(fli:define-c-typedef (vk-sharing-mode (:foreign-name "VkSharingMode"))
(:enum vk-sharing-mode))
(fli:define-c-enum (vk-image-layout (:foreign-name "VkImageLayout"))
(vk-image-layout-undefined 0)
(vk-image-layout-general 1)
(vk-image-layout-color-attachment-optimal 2)
(vk-image-layout-depth-stencil-attachment-optimal 3)
(vk-image-layout-depth-stencil-read-only-optimal 4)
(vk-image-layout-shader-read-only-optimal 5)
(vk-image-layout-transfer-src-optimal 6)
(vk-image-layout-transfer-dst-optimal 7)
(vk-image-layout-preinitialized 8)
(vk-image-layout-depth-read-only-stencil-attachment-optimal
1000117000)
(vk-image-layout-depth-attachment-stencil-read-only-optimal
1000117001)
(vk-image-layout-present-src-khr 1000001002)
(vk-image-layout-shared-present-khr 1000111000)
(vk-image-layout-shading-rate-optimal-nv 1000164003)
(vk-image-layout-depth-read-only-stencil-attachment-optimal-khr
1000117000)
(vk-image-layout-depth-attachment-stencil-read-only-optimal-khr
1000117001)
(vk-image-layout-begin-range 0)
(vk-image-layout-end-range 8)
(vk-image-layout-range-size 9)
(vk-image-layout-max-enum 2147483647))
(fli:define-c-typedef (vk-image-layout (:foreign-name "VkImageLayout"))
(:enum vk-image-layout))
(fli:define-c-enum (vk-image-view-type
(:foreign-name "VkImageViewType"))
(vk-image-view-type-1-d 0)
(vk-image-view-type-2-d 1)
(vk-image-view-type-3-d 2)
(vk-image-view-type-cube 3)
(vk-image-view-type-1-d-array 4)
(vk-image-view-type-2-d-array 5)
(vk-image-view-type-cube-array 6)
(vk-image-view-type-begin-range 0)
(vk-image-view-type-end-range 6)
(vk-image-view-type-range-size 7)
(vk-image-view-type-max-enum 2147483647))
(fli:define-c-typedef (vk-image-view-type
(:foreign-name "VkImageViewType"))
(:enum vk-image-view-type))
(fli:define-c-enum (vk-component-swizzle
(:foreign-name "VkComponentSwizzle"))
(vk-component-swizzle-identity 0)
(vk-component-swizzle-zero 1)
(vk-component-swizzle-one 2)
(vk-component-swizzle-r 3)
(vk-component-swizzle-g 4)
(vk-component-swizzle-b 5)
(vk-component-swizzle-a 6)
(vk-component-swizzle-begin-range 0)
(vk-component-swizzle-end-range 6)
(vk-component-swizzle-range-size 7)
(vk-component-swizzle-max-enum 2147483647))
(fli:define-c-typedef (vk-component-swizzle
(:foreign-name "VkComponentSwizzle"))
(:enum vk-component-swizzle))
(fli:define-c-enum (vk-vertex-input-rate
(:foreign-name "VkVertexInputRate"))
(vk-vertex-input-rate-vertex 0)
(vk-vertex-input-rate-instance 1)
(vk-vertex-input-rate-begin-range 0)
(vk-vertex-input-rate-end-range 1)
(vk-vertex-input-rate-range-size 2)
(vk-vertex-input-rate-max-enum 2147483647))
(fli:define-c-typedef (vk-vertex-input-rate
(:foreign-name "VkVertexInputRate"))
(:enum vk-vertex-input-rate))
(fli:define-c-enum (vk-primitive-topology
(:foreign-name "VkPrimitiveTopology"))
(vk-primitive-topology-point-list 0)
(vk-primitive-topology-line-list 1)
(vk-primitive-topology-line-strip 2)
(vk-primitive-topology-triangle-list 3)
(vk-primitive-topology-triangle-strip 4)
(vk-primitive-topology-triangle-fan 5)
(vk-primitive-topology-line-list-with-adjacency 6)
(vk-primitive-topology-line-strip-with-adjacency 7)
(vk-primitive-topology-triangle-list-with-adjacency
8)
(vk-primitive-topology-triangle-strip-with-adjacency
9)
(vk-primitive-topology-patch-list 10)
(vk-primitive-topology-begin-range 0)
(vk-primitive-topology-end-range 10)
(vk-primitive-topology-range-size 11)
(vk-primitive-topology-max-enum 2147483647))
(fli:define-c-typedef (vk-primitive-topology
(:foreign-name "VkPrimitiveTopology"))
(:enum vk-primitive-topology))
(fli:define-c-enum (vk-polygon-mode (:foreign-name "VkPolygonMode"))
(vk-polygon-mode-fill 0)
(vk-polygon-mode-line 1)
(vk-polygon-mode-point 2)
(vk-polygon-mode-fill-rectangle-nv 1000153000)
(vk-polygon-mode-begin-range 0)
(vk-polygon-mode-end-range 2)
(vk-polygon-mode-range-size 3)
(vk-polygon-mode-max-enum 2147483647))
(fli:define-c-typedef (vk-polygon-mode (:foreign-name "VkPolygonMode"))
(:enum vk-polygon-mode))
(fli:define-c-enum (vk-front-face (:foreign-name "VkFrontFace"))
(vk-front-face-counter-clockwise 0)
(vk-front-face-clockwise 1)
(vk-front-face-begin-range 0)
(vk-front-face-end-range 1)
(vk-front-face-range-size 2)
(vk-front-face-max-enum 2147483647))
(fli:define-c-typedef (vk-front-face (:foreign-name "VkFrontFace"))
(:enum vk-front-face))
(fli:define-c-enum (vk-compare-op (:foreign-name "VkCompareOp"))
(vk-compare-op-never 0)
(vk-compare-op-less 1)
(vk-compare-op-equal 2)
(vk-compare-op-less-or-equal 3)
(vk-compare-op-greater 4)
(vk-compare-op-not-equal 5)
(vk-compare-op-greater-or-equal 6)
(vk-compare-op-always 7)
(vk-compare-op-begin-range 0)
(vk-compare-op-end-range 7)
(vk-compare-op-range-size 8)
(vk-compare-op-max-enum 2147483647))
(fli:define-c-typedef (vk-compare-op (:foreign-name "VkCompareOp"))
(:enum vk-compare-op))
(fli:define-c-enum (vk-stencil-op (:foreign-name "VkStencilOp"))
(vk-stencil-op-keep 0)
(vk-stencil-op-zero 1)
(vk-stencil-op-replace 2)
(vk-stencil-op-increment-and-clamp 3)
(vk-stencil-op-decrement-and-clamp 4)
(vk-stencil-op-invert 5)
(vk-stencil-op-increment-and-wrap 6)
(vk-stencil-op-decrement-and-wrap 7)
(vk-stencil-op-begin-range 0)
(vk-stencil-op-end-range 7)
(vk-stencil-op-range-size 8)
(vk-stencil-op-max-enum 2147483647))
(fli:define-c-typedef (vk-stencil-op (:foreign-name "VkStencilOp"))
(:enum vk-stencil-op))
(fli:define-c-enum (vk-logic-op (:foreign-name "VkLogicOp"))
(vk-logic-op-clear 0)
(vk-logic-op-and 1)
(vk-logic-op-and-reverse 2)
(vk-logic-op-copy 3)
(vk-logic-op-and-inverted 4)
(vk-logic-op-no-op 5)
(vk-logic-op-xor 6)
(vk-logic-op-or 7)
(vk-logic-op-nor 8)
(vk-logic-op-equivalent 9)
(vk-logic-op-invert 10)
(vk-logic-op-or-reverse 11)
(vk-logic-op-copy-inverted 12)
(vk-logic-op-or-inverted 13)
(vk-logic-op-nand 14)
(vk-logic-op-set 15)
(vk-logic-op-begin-range 0)
(vk-logic-op-end-range 15)
(vk-logic-op-range-size 16)
(vk-logic-op-max-enum 2147483647))
(fli:define-c-typedef (vk-logic-op (:foreign-name "VkLogicOp"))
(:enum vk-logic-op))
(fli:define-c-enum (vk-blend-factor (:foreign-name "VkBlendFactor"))
(vk-blend-factor-zero 0)
(vk-blend-factor-one 1)
(vk-blend-factor-src-color 2)
(vk-blend-factor-one-minus-src-color 3)
(vk-blend-factor-dst-color 4)
(vk-blend-factor-one-minus-dst-color 5)
(vk-blend-factor-src-alpha 6)
(vk-blend-factor-one-minus-src-alpha 7)
(vk-blend-factor-dst-alpha 8)
(vk-blend-factor-one-minus-dst-alpha 9)
(vk-blend-factor-constant-color 10)
(vk-blend-factor-one-minus-constant-color 11)
(vk-blend-factor-constant-alpha 12)
(vk-blend-factor-one-minus-constant-alpha 13)
(vk-blend-factor-src-alpha-saturate 14)
(vk-blend-factor-src1-color 15)
(vk-blend-factor-one-minus-src1-color 16)
(vk-blend-factor-src1-alpha 17)
(vk-blend-factor-one-minus-src1-alpha 18)
(vk-blend-factor-begin-range 0)
(vk-blend-factor-end-range 18)
(vk-blend-factor-range-size 19)
(vk-blend-factor-max-enum 2147483647))
(fli:define-c-typedef (vk-blend-factor (:foreign-name "VkBlendFactor"))
(:enum vk-blend-factor))
(fli:define-c-enum (vk-blend-op (:foreign-name "VkBlendOp"))
(vk-blend-op-add 0)
(vk-blend-op-subtract 1)
(vk-blend-op-reverse-subtract 2)
(vk-blend-op-min 3)
(vk-blend-op-max 4)
(vk-blend-op-zero-ext 1000148000)
(vk-blend-op-src-ext 1000148001)
(vk-blend-op-dst-ext 1000148002)
(vk-blend-op-src-over-ext 1000148003)
(vk-blend-op-dst-over-ext 1000148004)
(vk-blend-op-src-in-ext 1000148005)
(vk-blend-op-dst-in-ext 1000148006)
(vk-blend-op-src-out-ext 1000148007)
(vk-blend-op-dst-out-ext 1000148008)
(vk-blend-op-src-atop-ext 1000148009)
(vk-blend-op-dst-atop-ext 1000148010)
(vk-blend-op-xor-ext 1000148011)
(vk-blend-op-multiply-ext 1000148012)
(vk-blend-op-screen-ext 1000148013)
(vk-blend-op-overlay-ext 1000148014)
(vk-blend-op-darken-ext 1000148015)
(vk-blend-op-lighten-ext 1000148016)
(vk-blend-op-colordodge-ext 1000148017)
(vk-blend-op-colorburn-ext 1000148018)
(vk-blend-op-hardlight-ext 1000148019)
(vk-blend-op-softlight-ext 1000148020)
(vk-blend-op-difference-ext 1000148021)
(vk-blend-op-exclusion-ext 1000148022)
(vk-blend-op-invert-ext 1000148023)
(vk-blend-op-invert-rgb-ext 1000148024)
(vk-blend-op-lineardodge-ext 1000148025)
(vk-blend-op-linearburn-ext 1000148026)
(vk-blend-op-vividlight-ext 1000148027)
(vk-blend-op-linearlight-ext 1000148028)
(vk-blend-op-pinlight-ext 1000148029)
(vk-blend-op-hardmix-ext 1000148030)
(vk-blend-op-hsl-hue-ext 1000148031)
(vk-blend-op-hsl-saturation-ext 1000148032)
(vk-blend-op-hsl-color-ext 1000148033)
(vk-blend-op-hsl-luminosity-ext 1000148034)
(vk-blend-op-plus-ext 1000148035)
(vk-blend-op-plus-clamped-ext 1000148036)
(vk-blend-op-plus-clamped-alpha-ext 1000148037)
(vk-blend-op-plus-darker-ext 1000148038)
(vk-blend-op-minus-ext 1000148039)
(vk-blend-op-minus-clamped-ext 1000148040)
(vk-blend-op-contrast-ext 1000148041)
(vk-blend-op-invert-ovg-ext 1000148042)
(vk-blend-op-red-ext 1000148043)
(vk-blend-op-green-ext 1000148044)
(vk-blend-op-blue-ext 1000148045)
(vk-blend-op-begin-range 0)
(vk-blend-op-end-range 4)
(vk-blend-op-range-size 5)
(vk-blend-op-max-enum 2147483647))
(fli:define-c-typedef (vk-blend-op (:foreign-name "VkBlendOp"))
(:enum vk-blend-op))
(fli:define-c-enum (vk-dynamic-state (:foreign-name "VkDynamicState"))
(vk-dynamic-state-viewport 0)
(vk-dynamic-state-scissor 1)
(vk-dynamic-state-line-width 2)
(vk-dynamic-state-depth-bias 3)
(vk-dynamic-state-blend-constants 4)
(vk-dynamic-state-depth-bounds 5)
(vk-dynamic-state-stencil-compare-mask 6)
(vk-dynamic-state-stencil-write-mask 7)
(vk-dynamic-state-stencil-reference 8)
(vk-dynamic-state-viewport-w-scaling-nv 1000087000)
(vk-dynamic-state-discard-rectangle-ext 1000099000)
(vk-dynamic-state-sample-locations-ext 1000143000)
(vk-dynamic-state-viewport-shading-rate-palette-nv
1000164004)
(vk-dynamic-state-viewport-coarse-sample-order-nv
1000164006)
(vk-dynamic-state-exclusive-scissor-nv 1000205001)
(vk-dynamic-state-begin-range 0)
(vk-dynamic-state-end-range 8)
(vk-dynamic-state-range-size 9)
(vk-dynamic-state-max-enum 2147483647))
(fli:define-c-typedef (vk-dynamic-state
(:foreign-name "VkDynamicState"))
(:enum vk-dynamic-state))
(fli:define-c-enum (vk-filter (:foreign-name "VkFilter"))
(vk-filter-nearest 0)
(vk-filter-linear 1)
(vk-filter-cubic-img 1000015000)
(vk-filter-begin-range 0)
(vk-filter-end-range 1)
(vk-filter-range-size 2)
(vk-filter-max-enum 2147483647))
(fli:define-c-typedef (vk-filter (:foreign-name "VkFilter"))
(:enum vk-filter))
(fli:define-c-enum (vk-sampler-mipmap-mode
(:foreign-name "VkSamplerMipmapMode"))
(vk-sampler-mipmap-mode-nearest 0)
(vk-sampler-mipmap-mode-linear 1)
(vk-sampler-mipmap-mode-begin-range 0)
(vk-sampler-mipmap-mode-end-range 1)
(vk-sampler-mipmap-mode-range-size 2)
(vk-sampler-mipmap-mode-max-enum 2147483647))
(fli:define-c-typedef (vk-sampler-mipmap-mode
(:foreign-name "VkSamplerMipmapMode"))
(:enum vk-sampler-mipmap-mode))
(fli:define-c-enum (vk-sampler-address-mode
(:foreign-name "VkSamplerAddressMode"))
(vk-sampler-address-mode-repeat 0)
(vk-sampler-address-mode-mirrored-repeat 1)
(vk-sampler-address-mode-clamp-to-edge 2)
(vk-sampler-address-mode-clamp-to-border 3)
(vk-sampler-address-mode-mirror-clamp-to-edge 4)
(vk-sampler-address-mode-begin-range 0)
(vk-sampler-address-mode-end-range 3)
(vk-sampler-address-mode-range-size 4)
(vk-sampler-address-mode-max-enum 2147483647))
(fli:define-c-typedef (vk-sampler-address-mode
(:foreign-name "VkSamplerAddressMode"))
(:enum vk-sampler-address-mode))
(fli:define-c-enum (vk-border-color (:foreign-name "VkBorderColor"))
(vk-border-color-float-transparent-black 0)
(vk-border-color-int-transparent-black 1)
(vk-border-color-float-opaque-black 2)
(vk-border-color-int-opaque-black 3)
(vk-border-color-float-opaque-white 4)
(vk-border-color-int-opaque-white 5)
(vk-border-color-begin-range 0)
(vk-border-color-end-range 5)
(vk-border-color-range-size 6)
(vk-border-color-max-enum 2147483647))
(fli:define-c-typedef (vk-border-color (:foreign-name "VkBorderColor"))
(:enum vk-border-color))
(fli:define-c-enum (vk-descriptor-type
(:foreign-name "VkDescriptorType"))
(vk-descriptor-type-sampler 0)
(vk-descriptor-type-combined-image-sampler 1)
(vk-descriptor-type-sampled-image 2)
(vk-descriptor-type-storage-image 3)
(vk-descriptor-type-uniform-texel-buffer 4)
(vk-descriptor-type-storage-texel-buffer 5)
(vk-descriptor-type-uniform-buffer 6)
(vk-descriptor-type-storage-buffer 7)
(vk-descriptor-type-uniform-buffer-dynamic 8)
(vk-descriptor-type-storage-buffer-dynamic 9)
(vk-descriptor-type-input-attachment 10)
(vk-descriptor-type-inline-uniform-block-ext
1000138000)
(vk-descriptor-type-acceleration-structure-nv
1000165000)
(vk-descriptor-type-begin-range 0)
(vk-descriptor-type-end-range 10)
(vk-descriptor-type-range-size 11)
(vk-descriptor-type-max-enum 2147483647))
(fli:define-c-typedef (vk-descriptor-type
(:foreign-name "VkDescriptorType"))
(:enum vk-descriptor-type))
(fli:define-c-enum (vk-attachment-load-op
(:foreign-name "VkAttachmentLoadOp"))
(vk-attachment-load-op-load 0)
(vk-attachment-load-op-clear 1)
(vk-attachment-load-op-dont-care 2)
(vk-attachment-load-op-begin-range 0)
(vk-attachment-load-op-end-range 2)
(vk-attachment-load-op-range-size 3)
(vk-attachment-load-op-max-enum 2147483647))
(fli:define-c-typedef (vk-attachment-load-op
(:foreign-name "VkAttachmentLoadOp"))
(:enum vk-attachment-load-op))
(fli:define-c-enum (vk-attachment-store-op
(:foreign-name "VkAttachmentStoreOp"))
(vk-attachment-store-op-store 0)
(vk-attachment-store-op-dont-care 1)
(vk-attachment-store-op-begin-range 0)
(vk-attachment-store-op-end-range 1)
(vk-attachment-store-op-range-size 2)
(vk-attachment-store-op-max-enum 2147483647))
(fli:define-c-typedef (vk-attachment-store-op
(:foreign-name "VkAttachmentStoreOp"))
(:enum vk-attachment-store-op))
(fli:define-c-enum (vk-pipeline-bind-point
(:foreign-name "VkPipelineBindPoint"))
(vk-pipeline-bind-point-graphics 0)
(vk-pipeline-bind-point-compute 1)
(vk-pipeline-bind-point-ray-tracing-nv 1000165000)
(vk-pipeline-bind-point-begin-range 0)
(vk-pipeline-bind-point-end-range 1)
(vk-pipeline-bind-point-range-size 2)
(vk-pipeline-bind-point-max-enum 2147483647))
(fli:define-c-typedef (vk-pipeline-bind-point
(:foreign-name "VkPipelineBindPoint"))
(:enum vk-pipeline-bind-point))
(fli:define-c-enum (vk-command-buffer-level
(:foreign-name "VkCommandBufferLevel"))
(vk-command-buffer-level-primary 0)
(vk-command-buffer-level-secondary 1)
(vk-command-buffer-level-begin-range 0)
(vk-command-buffer-level-end-range 1)
(vk-command-buffer-level-range-size 2)
(vk-command-buffer-level-max-enum 2147483647))
(fli:define-c-typedef (vk-command-buffer-level
(:foreign-name "VkCommandBufferLevel"))
(:enum vk-command-buffer-level))
(fli:define-c-enum (vk-index-type (:foreign-name "VkIndexType"))
(vk-index-type-uint16 0)
(vk-index-type-uint32 1)
(vk-index-type-none-nv 1000165000)
(vk-index-type-begin-range 0)
(vk-index-type-end-range 1)
(vk-index-type-range-size 2)
(vk-index-type-max-enum 2147483647))
(fli:define-c-typedef (vk-index-type (:foreign-name "VkIndexType"))
(:enum vk-index-type))
(fli:define-c-enum (vk-subpass-contents
(:foreign-name "VkSubpassContents"))
(vk-subpass-contents-inline 0)
(vk-subpass-contents-secondary-command-buffers 1)
(vk-subpass-contents-begin-range 0)
(vk-subpass-contents-end-range 1)
(vk-subpass-contents-range-size 2)
(vk-subpass-contents-max-enum 2147483647))
(fli:define-c-typedef (vk-subpass-contents
(:foreign-name "VkSubpassContents"))
(:enum vk-subpass-contents))
(fli:define-c-enum (vk-object-type (:foreign-name "VkObjectType"))
(vk-object-type-unknown 0)
(vk-object-type-instance 1)
(vk-object-type-physical-device 2)
(vk-object-type-device 3)
(vk-object-type-queue 4)
(vk-object-type-semaphore 5)
(vk-object-type-command-buffer 6)
(vk-object-type-fence 7)
(vk-object-type-device-memory 8)
(vk-object-type-buffer 9)
(vk-object-type-image 10)
(vk-object-type-event 11)
(vk-object-type-query-pool 12)
(vk-object-type-buffer-view 13)
(vk-object-type-image-view 14)
(vk-object-type-shader-module 15)
(vk-object-type-pipeline-cache 16)
(vk-object-type-pipeline-layout 17)
(vk-object-type-render-pass 18)
(vk-object-type-pipeline 19)
(vk-object-type-descriptor-set-layout 20)
(vk-object-type-sampler 21)
(vk-object-type-descriptor-pool 22)
(vk-object-type-descriptor-set 23)
(vk-object-type-framebuffer 24)
(vk-object-type-command-pool 25)
(vk-object-type-sampler-ycbcr-conversion 1000156000)
(vk-object-type-descriptor-update-template
1000085000)
(vk-object-type-surface-khr 1000000000)
(vk-object-type-swapchain-khr 1000001000)
(vk-object-type-display-khr 1000002000)
(vk-object-type-display-mode-khr 1000002001)
(vk-object-type-debug-report-callback-ext
1000011000)
(vk-object-type-object-table-nvx 1000086000)
(vk-object-type-indirect-commands-layout-nvx
1000086001)
(vk-object-type-debug-utils-messenger-ext
1000128000)
(vk-object-type-validation-cache-ext 1000160000)
(vk-object-type-acceleration-structure-nv
1000165000)
(vk-object-type-descriptor-update-template-khr
1000085000)
(vk-object-type-sampler-ycbcr-conversion-khr
1000156000)
(vk-object-type-begin-range 0)
(vk-object-type-end-range 25)
(vk-object-type-range-size 26)
(vk-object-type-max-enum 2147483647))
(fli:define-c-typedef (vk-object-type (:foreign-name "VkObjectType"))
(:enum vk-object-type))
(fli:define-c-enum (vk-vendor-id (:foreign-name "VkVendorId"))
(vk-vendor-id-viv 65537)
(vk-vendor-id-vsi 65538)
(vk-vendor-id-kazan 65539)
(vk-vendor-id-begin-range 65537)
(vk-vendor-id-end-range 65539)
(vk-vendor-id-range-size 3)
(vk-vendor-id-max-enum 2147483647))
(fli:define-c-typedef (vk-vendor-id (:foreign-name "VkVendorId"))
(:enum vk-vendor-id))
(fli:define-c-typedef (vk-instance-create-flags
(:foreign-name "VkInstanceCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-format-feature-flag-bits
(:foreign-name "VkFormatFeatureFlagBits"))
(vk-format-feature-sampled-image-bit 1)
(vk-format-feature-storage-image-bit 2)
(vk-format-feature-storage-image-atomic-bit 4)
(vk-format-feature-uniform-texel-buffer-bit 8)
(vk-format-feature-storage-texel-buffer-bit 16)
(vk-format-feature-storage-texel-buffer-atomic-bit
32)
(vk-format-feature-vertex-buffer-bit 64)
(vk-format-feature-color-attachment-bit 128)
(vk-format-feature-color-attachment-blend-bit 256)
(vk-format-feature-depth-stencil-attachment-bit 512)
(vk-format-feature-blit-src-bit 1024)
(vk-format-feature-blit-dst-bit 2048)
(vk-format-feature-sampled-image-filter-linear-bit
4096)
(vk-format-feature-transfer-src-bit 16384)
(vk-format-feature-transfer-dst-bit 32768)
(vk-format-feature-midpoint-chroma-samples-bit
131072)
(vk-format-feature-sampled-image-ycbcr-conversion-linear-filter-bit
262144)
(vk-format-feature-sampled-image-ycbcr-conversion-separate-reconstruction-filter-bit
524288)
(vk-format-feature-sampled-image-ycbcr-conversion-chroma-reconstruction-explicit-bit
1048576)
(vk-format-feature-sampled-image-ycbcr-conversion-chroma-reconstruction-explicit-forceable-bit
2097152)
(vk-format-feature-disjoint-bit 4194304)
(vk-format-feature-cosited-chroma-samples-bit
8388608)
(vk-format-feature-sampled-image-filter-cubic-bit-img
8192)
(vk-format-feature-sampled-image-filter-minmax-bit-ext
65536)
(vk-format-feature-transfer-src-bit-khr 16384)
(vk-format-feature-transfer-dst-bit-khr 32768)
(vk-format-feature-midpoint-chroma-samples-bit-khr
131072)
(vk-format-feature-sampled-image-ycbcr-conversion-linear-filter-bit-khr
262144)
(vk-format-feature-sampled-image-ycbcr-conversion-separate-reconstruction-filter-bit-khr
524288)
(vk-format-feature-sampled-image-ycbcr-conversion-chroma-reconstruction-explicit-bit-khr
1048576)
(vk-format-feature-sampled-image-ycbcr-conversion-chroma-reconstruction-explicit-forceable-bit-khr
2097152)
(vk-format-feature-disjoint-bit-khr 4194304)
(vk-format-feature-cosited-chroma-samples-bit-khr
8388608)
(vk-format-feature-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-format-feature-flag-bits
(:foreign-name "VkFormatFeatureFlagBits"))
(:enum vk-format-feature-flag-bits))
(fli:define-c-typedef (vk-format-feature-flags
(:foreign-name "VkFormatFeatureFlags"))
vk-flags)
(fli:define-c-enum (vk-image-usage-flag-bits
(:foreign-name "VkImageUsageFlagBits"))
(vk-image-usage-transfer-src-bit 1)
(vk-image-usage-transfer-dst-bit 2)
(vk-image-usage-sampled-bit 4)
(vk-image-usage-storage-bit 8)
(vk-image-usage-color-attachment-bit 16)
(vk-image-usage-depth-stencil-attachment-bit 32)
(vk-image-usage-transient-attachment-bit 64)
(vk-image-usage-input-attachment-bit 128)
(vk-image-usage-shading-rate-image-bit-nv 256)
(vk-image-usage-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-image-usage-flag-bits
(:foreign-name "VkImageUsageFlagBits"))
(:enum vk-image-usage-flag-bits))
(fli:define-c-typedef (vk-image-usage-flags
(:foreign-name "VkImageUsageFlags"))
vk-flags)
(fli:define-c-enum (vk-image-create-flag-bits
(:foreign-name "VkImageCreateFlagBits"))
(vk-image-create-sparse-binding-bit 1)
(vk-image-create-sparse-residency-bit 2)
(vk-image-create-sparse-aliased-bit 4)
(vk-image-create-mutable-format-bit 8)
(vk-image-create-cube-compatible-bit 16)
(vk-image-create-alias-bit 1024)
(vk-image-create-split-instance-bind-regions-bit 64)
(vk-image-create-2-d-array-compatible-bit 32)
(vk-image-create-block-texel-view-compatible-bit
128)
(vk-image-create-extended-usage-bit 256)
(vk-image-create-protected-bit 2048)
(vk-image-create-disjoint-bit 512)
(vk-image-create-corner-sampled-bit-nv 8192)
(vk-image-create-sample-locations-compatible-depth-bit-ext
4096)
(vk-image-create-split-instance-bind-regions-bit-khr
64)
(vk-image-create-2-d-array-compatible-bit-khr 32)
(vk-image-create-block-texel-view-compatible-bit-khr
128)
(vk-image-create-extended-usage-bit-khr 256)
(vk-image-create-disjoint-bit-khr 512)
(vk-image-create-alias-bit-khr 1024)
(vk-image-create-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-image-create-flag-bits
(:foreign-name "VkImageCreateFlagBits"))
(:enum vk-image-create-flag-bits))
(fli:define-c-typedef (vk-image-create-flags
(:foreign-name "VkImageCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-sample-count-flag-bits
(:foreign-name "VkSampleCountFlagBits"))
(vk-sample-count-1-bit 1)
(vk-sample-count-2-bit 2)
(vk-sample-count-4-bit 4)
(vk-sample-count-8-bit 8)
(vk-sample-count-16-bit 16)
(vk-sample-count-32-bit 32)
(vk-sample-count-64-bit 64)
(vk-sample-count-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-sample-count-flag-bits
(:foreign-name "VkSampleCountFlagBits"))
(:enum vk-sample-count-flag-bits))
(fli:define-c-typedef (vk-sample-count-flags
(:foreign-name "VkSampleCountFlags"))
vk-flags)
(fli:define-c-enum (vk-queue-flag-bits
(:foreign-name "VkQueueFlagBits"))
(vk-queue-graphics-bit 1)
(vk-queue-compute-bit 2)
(vk-queue-transfer-bit 4)
(vk-queue-sparse-binding-bit 8)
(vk-queue-protected-bit 16)
(vk-queue-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-queue-flag-bits
(:foreign-name "VkQueueFlagBits"))
(:enum vk-queue-flag-bits))
(fli:define-c-typedef (vk-queue-flags (:foreign-name "VkQueueFlags"))
vk-flags)
(fli:define-c-enum (vk-memory-property-flag-bits
(:foreign-name "VkMemoryPropertyFlagBits"))
(vk-memory-property-device-local-bit 1)
(vk-memory-property-host-visible-bit 2)
(vk-memory-property-host-coherent-bit 4)
(vk-memory-property-host-cached-bit 8)
(vk-memory-property-lazily-allocated-bit 16)
(vk-memory-property-protected-bit 32)
(vk-memory-property-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-memory-property-flag-bits
(:foreign-name "VkMemoryPropertyFlagBits"))
(:enum vk-memory-property-flag-bits))
(fli:define-c-typedef (vk-memory-property-flags
(:foreign-name "VkMemoryPropertyFlags"))
vk-flags)
(fli:define-c-enum (vk-memory-heap-flag-bits
(:foreign-name "VkMemoryHeapFlagBits"))
(vk-memory-heap-device-local-bit 1)
(vk-memory-heap-multi-instance-bit 2)
(vk-memory-heap-multi-instance-bit-khr 2)
(vk-memory-heap-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-memory-heap-flag-bits
(:foreign-name "VkMemoryHeapFlagBits"))
(:enum vk-memory-heap-flag-bits))
(fli:define-c-typedef (vk-memory-heap-flags
(:foreign-name "VkMemoryHeapFlags"))
vk-flags)
(fli:define-c-typedef (vk-device-create-flags
(:foreign-name "VkDeviceCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-device-queue-create-flag-bits
(:foreign-name "VkDeviceQueueCreateFlagBits"))
(vk-device-queue-create-protected-bit 1)
(vk-device-queue-create-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-device-queue-create-flag-bits
(:foreign-name "VkDeviceQueueCreateFlagBits"))
(:enum vk-device-queue-create-flag-bits))
(fli:define-c-typedef (vk-device-queue-create-flags
(:foreign-name "VkDeviceQueueCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-pipeline-stage-flag-bits
(:foreign-name "VkPipelineStageFlagBits"))
(vk-pipeline-stage-top-of-pipe-bit 1)
(vk-pipeline-stage-draw-indirect-bit 2)
(vk-pipeline-stage-vertex-input-bit 4)
(vk-pipeline-stage-vertex-shader-bit 8)
(vk-pipeline-stage-tessellation-control-shader-bit
16)
(vk-pipeline-stage-tessellation-evaluation-shader-bit
32)
(vk-pipeline-stage-geometry-shader-bit 64)
(vk-pipeline-stage-fragment-shader-bit 128)
(vk-pipeline-stage-early-fragment-tests-bit 256)
(vk-pipeline-stage-late-fragment-tests-bit 512)
(vk-pipeline-stage-color-attachment-output-bit 1024)
(vk-pipeline-stage-compute-shader-bit 2048)
(vk-pipeline-stage-transfer-bit 4096)
(vk-pipeline-stage-bottom-of-pipe-bit 8192)
(vk-pipeline-stage-host-bit 16384)
(vk-pipeline-stage-all-graphics-bit 32768)
(vk-pipeline-stage-all-commands-bit 65536)
(vk-pipeline-stage-transform-feedback-bit-ext
16777216)
(vk-pipeline-stage-conditional-rendering-bit-ext
262144)
(vk-pipeline-stage-command-process-bit-nvx 131072)
(vk-pipeline-stage-shading-rate-image-bit-nv
4194304)
(vk-pipeline-stage-ray-tracing-shader-bit-nv
2097152)
(vk-pipeline-stage-acceleration-structure-build-bit-nv
33554432)
(vk-pipeline-stage-task-shader-bit-nv 524288)
(vk-pipeline-stage-mesh-shader-bit-nv 1048576)
(vk-pipeline-stage-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-pipeline-stage-flag-bits
(:foreign-name "VkPipelineStageFlagBits"))
(:enum vk-pipeline-stage-flag-bits))
(fli:define-c-typedef (vk-pipeline-stage-flags
(:foreign-name "VkPipelineStageFlags"))
vk-flags)
(fli:define-c-typedef (vk-memory-map-flags
(:foreign-name "VkMemoryMapFlags"))
vk-flags)
(fli:define-c-enum (vk-image-aspect-flag-bits
(:foreign-name "VkImageAspectFlagBits"))
(vk-image-aspect-color-bit 1)
(vk-image-aspect-depth-bit 2)
(vk-image-aspect-stencil-bit 4)
(vk-image-aspect-metadata-bit 8)
(vk-image-aspect-plane-0-bit 16)
(vk-image-aspect-plane-1-bit 32)
(vk-image-aspect-plane-2-bit 64)
(vk-image-aspect-memory-plane-0-bit-ext 128)
(vk-image-aspect-memory-plane-1-bit-ext 256)
(vk-image-aspect-memory-plane-2-bit-ext 512)
(vk-image-aspect-memory-plane-3-bit-ext 1024)
(vk-image-aspect-plane-0-bit-khr 16)
(vk-image-aspect-plane-1-bit-khr 32)
(vk-image-aspect-plane-2-bit-khr 64)
(vk-image-aspect-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-image-aspect-flag-bits
(:foreign-name "VkImageAspectFlagBits"))
(:enum vk-image-aspect-flag-bits))
(fli:define-c-typedef (vk-image-aspect-flags
(:foreign-name "VkImageAspectFlags"))
vk-flags)
(fli:define-c-enum (vk-sparse-image-format-flag-bits
(:foreign-name "VkSparseImageFormatFlagBits"))
(vk-sparse-image-format-single-miptail-bit 1)
(vk-sparse-image-format-aligned-mip-size-bit 2)
(vk-sparse-image-format-nonstandard-block-size-bit
4)
(vk-sparse-image-format-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-sparse-image-format-flag-bits
(:foreign-name "VkSparseImageFormatFlagBits"))
(:enum vk-sparse-image-format-flag-bits))
(fli:define-c-typedef (vk-sparse-image-format-flags
(:foreign-name "VkSparseImageFormatFlags"))
vk-flags)
(fli:define-c-enum (vk-sparse-memory-bind-flag-bits
(:foreign-name "VkSparseMemoryBindFlagBits"))
(vk-sparse-memory-bind-metadata-bit 1)
(vk-sparse-memory-bind-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-sparse-memory-bind-flag-bits
(:foreign-name "VkSparseMemoryBindFlagBits"))
(:enum vk-sparse-memory-bind-flag-bits))
(fli:define-c-typedef (vk-sparse-memory-bind-flags
(:foreign-name "VkSparseMemoryBindFlags"))
vk-flags)
(fli:define-c-enum (vk-fence-create-flag-bits
(:foreign-name "VkFenceCreateFlagBits"))
(vk-fence-create-signaled-bit 1)
(vk-fence-create-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-fence-create-flag-bits
(:foreign-name "VkFenceCreateFlagBits"))
(:enum vk-fence-create-flag-bits))
(fli:define-c-typedef (vk-fence-create-flags
(:foreign-name "VkFenceCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-semaphore-create-flags
(:foreign-name "VkSemaphoreCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-event-create-flags
(:foreign-name "VkEventCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-query-pool-create-flags
(:foreign-name "VkQueryPoolCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-query-pipeline-statistic-flag-bits
(:foreign-name "VkQueryPipelineStatisticFlagBits"))
(vk-query-pipeline-statistic-input-assembly-vertices-bit
1)
(vk-query-pipeline-statistic-input-assembly-primitives-bit
2)
(vk-query-pipeline-statistic-vertex-shader-invocations-bit
4)
(vk-query-pipeline-statistic-geometry-shader-invocations-bit
8)
(vk-query-pipeline-statistic-geometry-shader-primitives-bit
16)
(vk-query-pipeline-statistic-clipping-invocations-bit
32)
(vk-query-pipeline-statistic-clipping-primitives-bit
64)
(vk-query-pipeline-statistic-fragment-shader-invocations-bit
128)
(vk-query-pipeline-statistic-tessellation-control-shader-patches-bit
256)
(vk-query-pipeline-statistic-tessellation-evaluation-shader-invocations-bit
512)
(vk-query-pipeline-statistic-compute-shader-invocations-bit
1024)
(vk-query-pipeline-statistic-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-query-pipeline-statistic-flag-bits
(:foreign-name
"VkQueryPipelineStatisticFlagBits"))
(:enum vk-query-pipeline-statistic-flag-bits))
(fli:define-c-typedef (vk-query-pipeline-statistic-flags
(:foreign-name "VkQueryPipelineStatisticFlags"))
vk-flags)
(fli:define-c-enum (vk-query-result-flag-bits
(:foreign-name "VkQueryResultFlagBits"))
(vk-query-result-64-bit 1)
(vk-query-result-wait-bit 2)
(vk-query-result-with-availability-bit 4)
(vk-query-result-partial-bit 8)
(vk-query-result-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-query-result-flag-bits
(:foreign-name "VkQueryResultFlagBits"))
(:enum vk-query-result-flag-bits))
(fli:define-c-typedef (vk-query-result-flags
(:foreign-name "VkQueryResultFlags"))
vk-flags)
(fli:define-c-enum (vk-buffer-create-flag-bits
(:foreign-name "VkBufferCreateFlagBits"))
(vk-buffer-create-sparse-binding-bit 1)
(vk-buffer-create-sparse-residency-bit 2)
(vk-buffer-create-sparse-aliased-bit 4)
(vk-buffer-create-protected-bit 8)
(vk-buffer-create-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-buffer-create-flag-bits
(:foreign-name "VkBufferCreateFlagBits"))
(:enum vk-buffer-create-flag-bits))
(fli:define-c-typedef (vk-buffer-create-flags
(:foreign-name "VkBufferCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-buffer-usage-flag-bits
(:foreign-name "VkBufferUsageFlagBits"))
(vk-buffer-usage-transfer-src-bit 1)
(vk-buffer-usage-transfer-dst-bit 2)
(vk-buffer-usage-uniform-texel-buffer-bit 4)
(vk-buffer-usage-storage-texel-buffer-bit 8)
(vk-buffer-usage-uniform-buffer-bit 16)
(vk-buffer-usage-storage-buffer-bit 32)
(vk-buffer-usage-index-buffer-bit 64)
(vk-buffer-usage-vertex-buffer-bit 128)
(vk-buffer-usage-indirect-buffer-bit 256)
(vk-buffer-usage-transform-feedback-buffer-bit-ext
2048)
(vk-buffer-usage-transform-feedback-counter-buffer-bit-ext
4096)
(vk-buffer-usage-conditional-rendering-bit-ext 512)
(vk-buffer-usage-ray-tracing-bit-nv 1024)
(vk-buffer-usage-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-buffer-usage-flag-bits
(:foreign-name "VkBufferUsageFlagBits"))
(:enum vk-buffer-usage-flag-bits))
(fli:define-c-typedef (vk-buffer-usage-flags
(:foreign-name "VkBufferUsageFlags"))
vk-flags)
(fli:define-c-typedef (vk-buffer-view-create-flags
(:foreign-name "VkBufferViewCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-image-view-create-flags
(:foreign-name "VkImageViewCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-shader-module-create-flags
(:foreign-name "VkShaderModuleCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-cache-create-flags
(:foreign-name "VkPipelineCacheCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-pipeline-create-flag-bits
(:foreign-name "VkPipelineCreateFlagBits"))
(vk-pipeline-create-disable-optimization-bit 1)
(vk-pipeline-create-allow-derivatives-bit 2)
(vk-pipeline-create-derivative-bit 4)
(vk-pipeline-create-view-index-from-device-index-bit
8)
(vk-pipeline-create-dispatch-base 16)
(vk-pipeline-create-defer-compile-bit-nv 32)
(vk-pipeline-create-view-index-from-device-index-bit-khr
8)
(vk-pipeline-create-dispatch-base-khr 16)
(vk-pipeline-create-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-pipeline-create-flag-bits
(:foreign-name "VkPipelineCreateFlagBits"))
(:enum vk-pipeline-create-flag-bits))
(fli:define-c-typedef (vk-pipeline-create-flags
(:foreign-name "VkPipelineCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-shader-stage-create-flags
(:foreign-name
"VkPipelineShaderStageCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-shader-stage-flag-bits
(:foreign-name "VkShaderStageFlagBits"))
(vk-shader-stage-vertex-bit 1)
(vk-shader-stage-tessellation-control-bit 2)
(vk-shader-stage-tessellation-evaluation-bit 4)
(vk-shader-stage-geometry-bit 8)
(vk-shader-stage-fragment-bit 16)
(vk-shader-stage-compute-bit 32)
(vk-shader-stage-all-graphics 31)
(vk-shader-stage-all 2147483647)
(vk-shader-stage-raygen-bit-nv 256)
(vk-shader-stage-any-hit-bit-nv 512)
(vk-shader-stage-closest-hit-bit-nv 1024)
(vk-shader-stage-miss-bit-nv 2048)
(vk-shader-stage-intersection-bit-nv 4096)
(vk-shader-stage-callable-bit-nv 8192)
(vk-shader-stage-task-bit-nv 64)
(vk-shader-stage-mesh-bit-nv 128)
(vk-shader-stage-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-shader-stage-flag-bits
(:foreign-name "VkShaderStageFlagBits"))
(:enum vk-shader-stage-flag-bits))
(fli:define-c-typedef (vk-pipeline-vertex-input-state-create-flags
(:foreign-name
"VkPipelineVertexInputStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-input-assembly-state-create-flags
(:foreign-name
"VkPipelineInputAssemblyStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-tessellation-state-create-flags
(:foreign-name
"VkPipelineTessellationStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-viewport-state-create-flags
(:foreign-name
"VkPipelineViewportStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-rasterization-state-create-flags
(:foreign-name
"VkPipelineRasterizationStateCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-cull-mode-flag-bits
(:foreign-name "VkCullModeFlagBits"))
(vk-cull-mode-none 0)
(vk-cull-mode-front-bit 1)
(vk-cull-mode-back-bit 2)
(vk-cull-mode-front-and-back 3)
(vk-cull-mode-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-cull-mode-flag-bits
(:foreign-name "VkCullModeFlagBits"))
(:enum vk-cull-mode-flag-bits))
(fli:define-c-typedef (vk-cull-mode-flags
(:foreign-name "VkCullModeFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-multisample-state-create-flags
(:foreign-name
"VkPipelineMultisampleStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-depth-stencil-state-create-flags
(:foreign-name
"VkPipelineDepthStencilStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-color-blend-state-create-flags
(:foreign-name
"VkPipelineColorBlendStateCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-color-component-flag-bits
(:foreign-name "VkColorComponentFlagBits"))
(vk-color-component-r-bit 1)
(vk-color-component-g-bit 2)
(vk-color-component-b-bit 4)
(vk-color-component-a-bit 8)
(vk-color-component-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-color-component-flag-bits
(:foreign-name "VkColorComponentFlagBits"))
(:enum vk-color-component-flag-bits))
(fli:define-c-typedef (vk-color-component-flags
(:foreign-name "VkColorComponentFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-dynamic-state-create-flags
(:foreign-name
"VkPipelineDynamicStateCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-pipeline-layout-create-flags
(:foreign-name "VkPipelineLayoutCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-shader-stage-flags
(:foreign-name "VkShaderStageFlags"))
vk-flags)
(fli:define-c-typedef (vk-sampler-create-flags
(:foreign-name "VkSamplerCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-descriptor-set-layout-create-flag-bits
(:foreign-name
"VkDescriptorSetLayoutCreateFlagBits"))
(vk-descriptor-set-layout-create-push-descriptor-bit-khr
1)
(vk-descriptor-set-layout-create-update-after-bind-pool-bit-ext
2)
(vk-descriptor-set-layout-create-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-descriptor-set-layout-create-flag-bits
(:foreign-name
"VkDescriptorSetLayoutCreateFlagBits"))
(:enum vk-descriptor-set-layout-create-flag-bits))
(fli:define-c-typedef (vk-descriptor-set-layout-create-flags
(:foreign-name
"VkDescriptorSetLayoutCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-descriptor-pool-create-flag-bits
(:foreign-name "VkDescriptorPoolCreateFlagBits"))
(vk-descriptor-pool-create-free-descriptor-set-bit
1)
(vk-descriptor-pool-create-update-after-bind-bit-ext
2)
(vk-descriptor-pool-create-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-descriptor-pool-create-flag-bits
(:foreign-name
"VkDescriptorPoolCreateFlagBits"))
(:enum vk-descriptor-pool-create-flag-bits))
(fli:define-c-typedef (vk-descriptor-pool-create-flags
(:foreign-name "VkDescriptorPoolCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-descriptor-pool-reset-flags
(:foreign-name "VkDescriptorPoolResetFlags"))
vk-flags)
(fli:define-c-typedef (vk-framebuffer-create-flags
(:foreign-name "VkFramebufferCreateFlags"))
vk-flags)
(fli:define-c-typedef (vk-render-pass-create-flags
(:foreign-name "VkRenderPassCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-attachment-description-flag-bits
(:foreign-name "VkAttachmentDescriptionFlagBits"))
(vk-attachment-description-may-alias-bit 1)
(vk-attachment-description-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-attachment-description-flag-bits
(:foreign-name
"VkAttachmentDescriptionFlagBits"))
(:enum vk-attachment-description-flag-bits))
(fli:define-c-typedef (vk-attachment-description-flags
(:foreign-name "VkAttachmentDescriptionFlags"))
vk-flags)
(fli:define-c-enum (vk-subpass-description-flag-bits
(:foreign-name "VkSubpassDescriptionFlagBits"))
(vk-subpass-description-per-view-attributes-bit-nvx
1)
(vk-subpass-description-per-view-position-x-only-bit-nvx
2)
(vk-subpass-description-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-subpass-description-flag-bits
(:foreign-name "VkSubpassDescriptionFlagBits"))
(:enum vk-subpass-description-flag-bits))
(fli:define-c-typedef (vk-subpass-description-flags
(:foreign-name "VkSubpassDescriptionFlags"))
vk-flags)
(fli:define-c-enum (vk-access-flag-bits
(:foreign-name "VkAccessFlagBits"))
(vk-access-indirect-command-read-bit 1)
(vk-access-index-read-bit 2)
(vk-access-vertex-attribute-read-bit 4)
(vk-access-uniform-read-bit 8)
(vk-access-input-attachment-read-bit 16)
(vk-access-shader-read-bit 32)
(vk-access-shader-write-bit 64)
(vk-access-color-attachment-read-bit 128)
(vk-access-color-attachment-write-bit 256)
(vk-access-depth-stencil-attachment-read-bit 512)
(vk-access-depth-stencil-attachment-write-bit 1024)
(vk-access-transfer-read-bit 2048)
(vk-access-transfer-write-bit 4096)
(vk-access-host-read-bit 8192)
(vk-access-host-write-bit 16384)
(vk-access-memory-read-bit 32768)
(vk-access-memory-write-bit 65536)
(vk-access-transform-feedback-write-bit-ext
33554432)
(vk-access-transform-feedback-counter-read-bit-ext
67108864)
(vk-access-transform-feedback-counter-write-bit-ext
134217728)
(vk-access-conditional-rendering-read-bit-ext
1048576)
(vk-access-command-process-read-bit-nvx 131072)
(vk-access-command-process-write-bit-nvx 262144)
(vk-access-color-attachment-read-noncoherent-bit-ext
524288)
(vk-access-shading-rate-image-read-bit-nv 8388608)
(vk-access-acceleration-structure-read-bit-nv
2097152)
(vk-access-acceleration-structure-write-bit-nv
4194304)
(vk-access-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-access-flag-bits
(:foreign-name "VkAccessFlagBits"))
(:enum vk-access-flag-bits))
(fli:define-c-typedef (vk-access-flags (:foreign-name "VkAccessFlags"))
vk-flags)
(fli:define-c-enum (vk-dependency-flag-bits
(:foreign-name "VkDependencyFlagBits"))
(vk-dependency-by-region-bit 1)
(vk-dependency-device-group-bit 4)
(vk-dependency-view-local-bit 2)
(vk-dependency-view-local-bit-khr 2)
(vk-dependency-device-group-bit-khr 4)
(vk-dependency-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-dependency-flag-bits
(:foreign-name "VkDependencyFlagBits"))
(:enum vk-dependency-flag-bits))
(fli:define-c-typedef (vk-dependency-flags
(:foreign-name "VkDependencyFlags"))
vk-flags)
(fli:define-c-enum (vk-command-pool-create-flag-bits
(:foreign-name "VkCommandPoolCreateFlagBits"))
(vk-command-pool-create-transient-bit 1)
(vk-command-pool-create-reset-command-buffer-bit 2)
(vk-command-pool-create-protected-bit 4)
(vk-command-pool-create-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-command-pool-create-flag-bits
(:foreign-name "VkCommandPoolCreateFlagBits"))
(:enum vk-command-pool-create-flag-bits))
(fli:define-c-typedef (vk-command-pool-create-flags
(:foreign-name "VkCommandPoolCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-command-pool-reset-flag-bits
(:foreign-name "VkCommandPoolResetFlagBits"))
(vk-command-pool-reset-release-resources-bit 1)
(vk-command-pool-reset-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-command-pool-reset-flag-bits
(:foreign-name "VkCommandPoolResetFlagBits"))
(:enum vk-command-pool-reset-flag-bits))
(fli:define-c-typedef (vk-command-pool-reset-flags
(:foreign-name "VkCommandPoolResetFlags"))
vk-flags)
(fli:define-c-enum (vk-command-buffer-usage-flag-bits
(:foreign-name "VkCommandBufferUsageFlagBits"))
(vk-command-buffer-usage-one-time-submit-bit 1)
(vk-command-buffer-usage-render-pass-continue-bit 2)
(vk-command-buffer-usage-simultaneous-use-bit 4)
(vk-command-buffer-usage-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-command-buffer-usage-flag-bits
(:foreign-name "VkCommandBufferUsageFlagBits"))
(:enum vk-command-buffer-usage-flag-bits))
(fli:define-c-typedef (vk-command-buffer-usage-flags
(:foreign-name "VkCommandBufferUsageFlags"))
vk-flags)
(fli:define-c-enum (vk-query-control-flag-bits
(:foreign-name "VkQueryControlFlagBits"))
(vk-query-control-precise-bit 1)
(vk-query-control-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-query-control-flag-bits
(:foreign-name "VkQueryControlFlagBits"))
(:enum vk-query-control-flag-bits))
(fli:define-c-typedef (vk-query-control-flags
(:foreign-name "VkQueryControlFlags"))
vk-flags)
(fli:define-c-enum (vk-command-buffer-reset-flag-bits
(:foreign-name "VkCommandBufferResetFlagBits"))
(vk-command-buffer-reset-release-resources-bit 1)
(vk-command-buffer-reset-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-command-buffer-reset-flag-bits
(:foreign-name "VkCommandBufferResetFlagBits"))
(:enum vk-command-buffer-reset-flag-bits))
(fli:define-c-typedef (vk-command-buffer-reset-flags
(:foreign-name "VkCommandBufferResetFlags"))
vk-flags)
(fli:define-c-enum (vk-stencil-face-flag-bits
(:foreign-name "VkStencilFaceFlagBits"))
(vk-stencil-face-front-bit 1)
(vk-stencil-face-back-bit 2)
(vk-stencil-front-and-back 3)
(vk-stencil-face-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-stencil-face-flag-bits
(:foreign-name "VkStencilFaceFlagBits"))
(:enum vk-stencil-face-flag-bits))
(fli:define-c-typedef (vk-stencil-face-flags
(:foreign-name "VkStencilFaceFlags"))
vk-flags)
(fli:define-c-enum (vk-render-pass-create-flag-bits
(:foreign-name "VkRenderPassCreateFlagBits"))
(vk-render-pass-create-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-render-pass-create-flag-bits
(:foreign-name "VkRenderPassCreateFlagBits"))
(:enum vk-render-pass-create-flag-bits))
(fli:define-c-struct (vk-application-info
(:foreign-name "VkApplicationInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(p-application-name (:pointer (:const :char)))
(application-version :uint32)
(p-engine-name (:pointer (:const :char)))
(engine-version :uint32)
(api-version :uint32))
(fli:define-c-typedef (vk-application-info
(:foreign-name "VkApplicationInfo"))
(:struct vk-application-info))
(fli:define-c-struct (vk-instance-create-info
(:foreign-name "VkInstanceCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-instance-create-flags)
(p-application-info
(:pointer (:const vk-application-info)))
(enabled-layer-count :uint32)
(pp-enabled-layer-names
(:pointer (:const (:pointer (:const :char)))))
(enabled-extension-count :uint32)
(pp-enabled-extension-names
(:pointer (:const (:pointer (:const :char))))))
(fli:define-c-typedef (vk-instance-create-info
(:foreign-name "VkInstanceCreateInfo"))
(:struct vk-instance-create-info))
(fli:define-c-typedef (pfn-vk-allocation-function
(:foreign-name "PFN_vkAllocationFunction"))
(:pointer
(:function
((:pointer :void)
:size-t
:size-t
vk-system-allocation-scope)
(:pointer :void))))
(fli:define-c-typedef (pfn-vk-reallocation-function
(:foreign-name "PFN_vkReallocationFunction"))
(:pointer
(:function
((:pointer :void)
(:pointer :void)
:size-t
:size-t
vk-system-allocation-scope)
(:pointer :void))))
(fli:define-c-typedef (pfn-vk-free-function
(:foreign-name "PFN_vkFreeFunction"))
(:pointer
(:function
((:pointer :void) (:pointer :void))
:void)))
(fli:define-c-typedef (pfn-vk-internal-allocation-notification
(:foreign-name
"PFN_vkInternalAllocationNotification"))
(:pointer
(:function
((:pointer :void)
:size-t
vk-internal-allocation-type
vk-system-allocation-scope)
:void)))
(fli:define-c-typedef (pfn-vk-internal-free-notification
(:foreign-name
"PFN_vkInternalFreeNotification"))
(:pointer
(:function
((:pointer :void)
:size-t
vk-internal-allocation-type
vk-system-allocation-scope)
:void)))
(fli:define-c-struct (vk-allocation-callbacks
(:foreign-name "VkAllocationCallbacks"))
(p-user-data (:pointer :void))
(pfn-allocation pfn-vk-allocation-function)
(pfn-reallocation pfn-vk-reallocation-function)
(pfn-free pfn-vk-free-function)
(pfn-internal-allocation
pfn-vk-internal-allocation-notification)
(pfn-internal-free
pfn-vk-internal-free-notification))
(fli:define-c-typedef (vk-allocation-callbacks
(:foreign-name "VkAllocationCallbacks"))
(:struct vk-allocation-callbacks))
(fli:define-c-struct (vk-physical-device-features
(:foreign-name "VkPhysicalDeviceFeatures"))
(robust-buffer-access vk-bool32)
(full-draw-index-uint32 vk-bool32)
(image-cube-array vk-bool32)
(independent-blend vk-bool32)
(geometry-shader vk-bool32)
(tessellation-shader vk-bool32)
(sample-rate-shading vk-bool32)
(dual-src-blend vk-bool32)
(logic-op vk-bool32)
(multi-draw-indirect vk-bool32)
(draw-indirect-first-instance vk-bool32)
(depth-clamp vk-bool32)
(depth-bias-clamp vk-bool32)
(fill-mode-non-solid vk-bool32)
(depth-bounds vk-bool32)
(wide-lines vk-bool32)
(large-points vk-bool32)
(alpha-to-one vk-bool32)
(multi-viewport vk-bool32)
(sampler-anisotropy vk-bool32)
(texture-compression-etc2 vk-bool32)
(texture-compression-astc-ldr vk-bool32)
(texture-compression-bc vk-bool32)
(occlusion-query-precise vk-bool32)
(pipeline-statistics-query vk-bool32)
(vertex-pipeline-stores-and-atomics vk-bool32)
(fragment-stores-and-atomics vk-bool32)
(shader-tessellation-and-geometry-point-size
vk-bool32)
(shader-image-gather-extended vk-bool32)
(shader-storage-image-extended-formats vk-bool32)
(shader-storage-image-multisample vk-bool32)
(shader-storage-image-read-without-format
vk-bool32)
(shader-storage-image-write-without-format
vk-bool32)
(shader-uniform-buffer-array-dynamic-indexing
vk-bool32)
(shader-sampled-image-array-dynamic-indexing
vk-bool32)
(shader-storage-buffer-array-dynamic-indexing
vk-bool32)
(shader-storage-image-array-dynamic-indexing
vk-bool32)
(shader-clip-distance vk-bool32)
(shader-cull-distance vk-bool32)
(shader-float64 vk-bool32)
(shader-int64 vk-bool32)
(shader-int16 vk-bool32)
(shader-resource-residency vk-bool32)
(shader-resource-min-lod vk-bool32)
(sparse-binding vk-bool32)
(sparse-residency-buffer vk-bool32)
(sparse-residency-image2-d vk-bool32)
(sparse-residency-image3-d vk-bool32)
(sparse-residency2-samples vk-bool32)
(sparse-residency4-samples vk-bool32)
(sparse-residency8-samples vk-bool32)
(sparse-residency16-samples vk-bool32)
(sparse-residency-aliased vk-bool32)
(variable-multisample-rate vk-bool32)
(inherited-queries vk-bool32))
(fli:define-c-typedef (vk-physical-device-features
(:foreign-name "VkPhysicalDeviceFeatures"))
(:struct vk-physical-device-features))
(fli:define-c-struct (vk-format-properties
(:foreign-name "VkFormatProperties"))
(linear-tiling-features vk-format-feature-flags)
(optimal-tiling-features vk-format-feature-flags)
(buffer-features vk-format-feature-flags))
(fli:define-c-typedef (vk-format-properties
(:foreign-name "VkFormatProperties"))
(:struct vk-format-properties))
(fli:define-c-struct (vk-extent3-d (:foreign-name "VkExtent3D"))
(width :uint32)
(height :uint32)
(depth :uint32))
(fli:define-c-typedef (vk-extent3-d (:foreign-name "VkExtent3D"))
(:struct vk-extent3-d))
(fli:define-c-struct (vk-image-format-properties
(:foreign-name "VkImageFormatProperties"))
(max-extent vk-extent3-d)
(max-mip-levels :uint32)
(max-array-layers :uint32)
(sample-counts vk-sample-count-flags)
(max-resource-size vk-device-size))
(fli:define-c-typedef (vk-image-format-properties
(:foreign-name "VkImageFormatProperties"))
(:struct vk-image-format-properties))
(fli:define-c-struct (vk-physical-device-limits
(:foreign-name "VkPhysicalDeviceLimits"))
(max-image-dimension1-d :uint32)
(max-image-dimension2-d :uint32)
(max-image-dimension3-d :uint32)
(max-image-dimension-cube :uint32)
(max-image-array-layers :uint32)
(max-texel-buffer-elements :uint32)
(max-uniform-buffer-range :uint32)
(max-storage-buffer-range :uint32)
(max-push-constants-size :uint32)
(max-memory-allocation-count :uint32)
(max-sampler-allocation-count :uint32)
(buffer-image-granularity vk-device-size)
(sparse-address-space-size vk-device-size)
(max-bound-descriptor-sets :uint32)
(max-per-stage-descriptor-samplers
:uint32)
(max-per-stage-descriptor-uniform-buffers
:uint32)
(max-per-stage-descriptor-storage-buffers
:uint32)
(max-per-stage-descriptor-sampled-images
:uint32)
(max-per-stage-descriptor-storage-images
:uint32)
(max-per-stage-descriptor-input-attachments
:uint32)
(max-per-stage-resources :uint32)
(max-descriptor-set-samplers :uint32)
(max-descriptor-set-uniform-buffers
:uint32)
(max-descriptor-set-uniform-buffers-dynamic
:uint32)
(max-descriptor-set-storage-buffers
:uint32)
(max-descriptor-set-storage-buffers-dynamic
:uint32)
(max-descriptor-set-sampled-images
:uint32)
(max-descriptor-set-storage-images
:uint32)
(max-descriptor-set-input-attachments
:uint32)
(max-vertex-input-attributes :uint32)
(max-vertex-input-bindings :uint32)
(max-vertex-input-attribute-offset
:uint32)
(max-vertex-input-binding-stride :uint32)
(max-vertex-output-components :uint32)
(max-tessellation-generation-level
:uint32)
(max-tessellation-patch-size :uint32)
(max-tessellation-control-per-vertex-input-components
:uint32)
(max-tessellation-control-per-vertex-output-components
:uint32)
(max-tessellation-control-per-patch-output-components
:uint32)
(max-tessellation-control-total-output-components
:uint32)
(max-tessellation-evaluation-input-components
:uint32)
(max-tessellation-evaluation-output-components
:uint32)
(max-geometry-shader-invocations :uint32)
(max-geometry-input-components :uint32)
(max-geometry-output-components :uint32)
(max-geometry-output-vertices :uint32)
(max-geometry-total-output-components
:uint32)
(max-fragment-input-components :uint32)
(max-fragment-output-attachments :uint32)
(max-fragment-dual-src-attachments
:uint32)
(max-fragment-combined-output-resources
:uint32)
(max-compute-shared-memory-size :uint32)
(max-compute-work-group-count
(:c-array :uint32 3))
(max-compute-work-group-invocations
:uint32)
(max-compute-work-group-size
(:c-array :uint32 3))
(sub-pixel-precision-bits :uint32)
(sub-texel-precision-bits :uint32)
(mipmap-precision-bits :uint32)
(max-draw-indexed-index-value :uint32)
(max-draw-indirect-count :uint32)
(max-sampler-lod-bias :float)
(max-sampler-anisotropy :float)
(max-viewports :uint32)
(max-viewport-dimensions
(:c-array :uint32 2))
(viewport-bounds-range (:c-array :float 2))
(viewport-sub-pixel-bits :uint32)
(min-memory-map-alignment :size-t)
(min-texel-buffer-offset-alignment vk-device-size)
(min-uniform-buffer-offset-alignment
vk-device-size)
(min-storage-buffer-offset-alignment
vk-device-size)
(min-texel-offset :int)
(max-texel-offset :uint32)
(min-texel-gather-offset :int)
(max-texel-gather-offset :uint32)
(min-interpolation-offset :float)
(max-interpolation-offset :float)
(sub-pixel-interpolation-offset-bits
:uint32)
(max-framebuffer-width :uint32)
(max-framebuffer-height :uint32)
(max-framebuffer-layers :uint32)
(framebuffer-color-sample-counts
vk-sample-count-flags)
(framebuffer-depth-sample-counts
vk-sample-count-flags)
(framebuffer-stencil-sample-counts
vk-sample-count-flags)
(framebuffer-no-attachments-sample-counts
vk-sample-count-flags)
(max-color-attachments :uint32)
(sampled-image-color-sample-counts
vk-sample-count-flags)
(sampled-image-integer-sample-counts
vk-sample-count-flags)
(sampled-image-depth-sample-counts
vk-sample-count-flags)
(sampled-image-stencil-sample-counts
vk-sample-count-flags)
(storage-image-sample-counts
vk-sample-count-flags)
(max-sample-mask-words :uint32)
(timestamp-compute-and-graphics vk-bool32)
(timestamp-period :float)
(max-clip-distances :uint32)
(max-cull-distances :uint32)
(max-combined-clip-and-cull-distances
:uint32)
(discrete-queue-priorities :uint32)
(point-size-range (:c-array :float 2))
(line-width-range (:c-array :float 2))
(point-size-granularity :float)
(line-width-granularity :float)
(strict-lines vk-bool32)
(standard-sample-locations vk-bool32)
(optimal-buffer-copy-offset-alignment
vk-device-size)
(optimal-buffer-copy-row-pitch-alignment
vk-device-size)
(non-coherent-atom-size vk-device-size))
(fli:define-c-typedef (vk-physical-device-limits
(:foreign-name "VkPhysicalDeviceLimits"))
(:struct vk-physical-device-limits))
(fli:define-c-struct (vk-physical-device-sparse-properties
(:foreign-name
"VkPhysicalDeviceSparseProperties"))
(residency-standard2-dblock-shape vk-bool32)
(residency-standard2-dmultisample-block-shape
vk-bool32)
(residency-standard3-dblock-shape vk-bool32)
(residency-aligned-mip-size vk-bool32)
(residency-non-resident-strict vk-bool32))
(fli:define-c-typedef (vk-physical-device-sparse-properties
(:foreign-name
"VkPhysicalDeviceSparseProperties"))
(:struct vk-physical-device-sparse-properties))
(fli:define-c-struct (vk-physical-device-properties
(:foreign-name "VkPhysicalDeviceProperties"))
(api-version :uint32)
(driver-version :uint32)
(vendor-id :uint32)
(device-id :uint32)
(device-type vk-physical-device-type)
(device-name (:c-array :char 256))
(pipeline-cache-uuid
(:c-array :uint8 16))
(limits vk-physical-device-limits)
(sparse-properties
vk-physical-device-sparse-properties))
(fli:define-c-typedef (vk-physical-device-properties
(:foreign-name "VkPhysicalDeviceProperties"))
(:struct vk-physical-device-properties))
(fli:define-c-struct (vk-queue-family-properties
(:foreign-name "VkQueueFamilyProperties"))
(queue-flags vk-queue-flags)
(queue-count :uint32)
(timestamp-valid-bits :uint32)
(min-image-transfer-granularity vk-extent3-d))
(fli:define-c-typedef (vk-queue-family-properties
(:foreign-name "VkQueueFamilyProperties"))
(:struct vk-queue-family-properties))
(fli:define-c-struct (vk-memory-type (:foreign-name "VkMemoryType"))
(property-flags vk-memory-property-flags)
(heap-index :uint32))
(fli:define-c-typedef (vk-memory-type (:foreign-name "VkMemoryType"))
(:struct vk-memory-type))
(fli:define-c-struct (vk-memory-heap (:foreign-name "VkMemoryHeap"))
(size vk-device-size)
(flags vk-memory-heap-flags))
(fli:define-c-typedef (vk-memory-heap (:foreign-name "VkMemoryHeap"))
(:struct vk-memory-heap))
(fli:define-c-struct (vk-physical-device-memory-properties
(:foreign-name
"VkPhysicalDeviceMemoryProperties"))
(memory-type-count :uint32)
(memory-types (:c-array vk-memory-type 32))
(memory-heap-count :uint32)
(memory-heaps (:c-array vk-memory-heap 16)))
(fli:define-c-typedef (vk-physical-device-memory-properties
(:foreign-name
"VkPhysicalDeviceMemoryProperties"))
(:struct vk-physical-device-memory-properties))
(fli:define-c-typedef (pfn-vk-void-function
(:foreign-name "PFN_vkVoidFunction"))
(:pointer (:function nil :void)))
(fli:define-c-struct (vk-device-queue-create-info
(:foreign-name "VkDeviceQueueCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-device-queue-create-flags)
(queue-family-index :uint32)
(queue-count :uint32)
(p-queue-priorities (:pointer (:const :float))))
(fli:define-c-typedef (vk-device-queue-create-info
(:foreign-name "VkDeviceQueueCreateInfo"))
(:struct vk-device-queue-create-info))
(fli:define-c-struct (vk-device-create-info
(:foreign-name "VkDeviceCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-device-create-flags)
(queue-create-info-count :uint32)
(p-queue-create-infos
(:pointer (:const vk-device-queue-create-info)))
(enabled-layer-count :uint32)
(pp-enabled-layer-names
(:pointer (:const (:pointer (:const :char)))))
(enabled-extension-count :uint32)
(pp-enabled-extension-names
(:pointer (:const (:pointer (:const :char)))))
(p-enabled-features
(:pointer (:const vk-physical-device-features))))
(fli:define-c-typedef (vk-device-create-info
(:foreign-name "VkDeviceCreateInfo"))
(:struct vk-device-create-info))
(fli:define-c-struct (vk-extension-properties
(:foreign-name "VkExtensionProperties"))
(extension-name (:c-array :char 256))
(spec-version :uint32))
(fli:define-c-typedef (vk-extension-properties
(:foreign-name "VkExtensionProperties"))
(:struct vk-extension-properties))
(fli:define-c-struct (vk-layer-properties
(:foreign-name "VkLayerProperties"))
(layer-name (:c-array :char 256))
(spec-version :uint32)
(implementation-version :uint32)
(description (:c-array :char 256)))
(fli:define-c-typedef (vk-layer-properties
(:foreign-name "VkLayerProperties"))
(:struct vk-layer-properties))
(fli:define-c-struct (vk-submit-info (:foreign-name "VkSubmitInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(wait-semaphore-count :uint32)
(p-wait-semaphores
(:pointer (:const vk-semaphore)))
(p-wait-dst-stage-mask
(:pointer (:const vk-pipeline-stage-flags)))
(command-buffer-count :uint32)
(p-command-buffers
(:pointer (:const vk-command-buffer)))
(signal-semaphore-count :uint32)
(p-signal-semaphores
(:pointer (:const vk-semaphore))))
(fli:define-c-typedef (vk-submit-info (:foreign-name "VkSubmitInfo"))
(:struct vk-submit-info))
(fli:define-c-struct (vk-memory-allocate-info
(:foreign-name "VkMemoryAllocateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(allocation-size vk-device-size)
(memory-type-index :uint32))
(fli:define-c-typedef (vk-memory-allocate-info
(:foreign-name "VkMemoryAllocateInfo"))
(:struct vk-memory-allocate-info))
(fli:define-c-struct (vk-mapped-memory-range
(:foreign-name "VkMappedMemoryRange"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(memory vk-device-memory)
(offset vk-device-size)
(size vk-device-size))
(fli:define-c-typedef (vk-mapped-memory-range
(:foreign-name "VkMappedMemoryRange"))
(:struct vk-mapped-memory-range))
(fli:define-c-struct (vk-memory-requirements
(:foreign-name "VkMemoryRequirements"))
(size vk-device-size)
(alignment vk-device-size)
(memory-type-bits :uint32))
(fli:define-c-typedef (vk-memory-requirements
(:foreign-name "VkMemoryRequirements"))
(:struct vk-memory-requirements))
(fli:define-c-struct (vk-sparse-image-format-properties
(:foreign-name "VkSparseImageFormatProperties"))
(aspect-mask vk-image-aspect-flags)
(image-granularity vk-extent3-d)
(flags vk-sparse-image-format-flags))
(fli:define-c-typedef (vk-sparse-image-format-properties
(:foreign-name "VkSparseImageFormatProperties"))
(:struct vk-sparse-image-format-properties))
(fli:define-c-struct (vk-sparse-image-memory-requirements
(:foreign-name
"VkSparseImageMemoryRequirements"))
(format-properties
vk-sparse-image-format-properties)
(image-mip-tail-first-lod :uint32)
(image-mip-tail-size vk-device-size)
(image-mip-tail-offset vk-device-size)
(image-mip-tail-stride vk-device-size))
(fli:define-c-typedef (vk-sparse-image-memory-requirements
(:foreign-name
"VkSparseImageMemoryRequirements"))
(:struct vk-sparse-image-memory-requirements))
(fli:define-c-struct (vk-sparse-memory-bind
(:foreign-name "VkSparseMemoryBind"))
(resource-offset vk-device-size)
(size vk-device-size)
(memory vk-device-memory)
(memory-offset vk-device-size)
(flags vk-sparse-memory-bind-flags))
(fli:define-c-typedef (vk-sparse-memory-bind
(:foreign-name "VkSparseMemoryBind"))
(:struct vk-sparse-memory-bind))
(fli:define-c-struct (vk-sparse-buffer-memory-bind-info
(:foreign-name "VkSparseBufferMemoryBindInfo"))
(buffer vk-buffer)
(bind-count :uint32)
(p-binds
(:pointer (:const vk-sparse-memory-bind))))
(fli:define-c-typedef (vk-sparse-buffer-memory-bind-info
(:foreign-name "VkSparseBufferMemoryBindInfo"))
(:struct vk-sparse-buffer-memory-bind-info))
(fli:define-c-struct (vk-sparse-image-opaque-memory-bind-info
(:foreign-name
"VkSparseImageOpaqueMemoryBindInfo"))
(image vk-image)
(bind-count :uint32)
(p-binds
(:pointer (:const vk-sparse-memory-bind))))
(fli:define-c-typedef (vk-sparse-image-opaque-memory-bind-info
(:foreign-name
"VkSparseImageOpaqueMemoryBindInfo"))
(:struct vk-sparse-image-opaque-memory-bind-info))
(fli:define-c-struct (vk-image-subresource
(:foreign-name "VkImageSubresource"))
(aspect-mask vk-image-aspect-flags)
(mip-level :uint32)
(array-layer :uint32))
(fli:define-c-typedef (vk-image-subresource
(:foreign-name "VkImageSubresource"))
(:struct vk-image-subresource))
(fli:define-c-struct (vk-offset3-d (:foreign-name "VkOffset3D"))
(x :int)
(y :int)
(z :int))
(fli:define-c-typedef (vk-offset3-d (:foreign-name "VkOffset3D"))
(:struct vk-offset3-d))
(fli:define-c-struct (vk-sparse-image-memory-bind
(:foreign-name "VkSparseImageMemoryBind"))
(subresource vk-image-subresource)
(offset vk-offset3-d)
(extent vk-extent3-d)
(memory vk-device-memory)
(memory-offset vk-device-size)
(flags vk-sparse-memory-bind-flags))
(fli:define-c-typedef (vk-sparse-image-memory-bind
(:foreign-name "VkSparseImageMemoryBind"))
(:struct vk-sparse-image-memory-bind))
(fli:define-c-struct (vk-sparse-image-memory-bind-info
(:foreign-name "VkSparseImageMemoryBindInfo"))
(image vk-image)
(bind-count :uint32)
(p-binds
(:pointer (:const vk-sparse-image-memory-bind))))
(fli:define-c-typedef (vk-sparse-image-memory-bind-info
(:foreign-name "VkSparseImageMemoryBindInfo"))
(:struct vk-sparse-image-memory-bind-info))
(fli:define-c-struct (vk-bind-sparse-info
(:foreign-name "VkBindSparseInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(wait-semaphore-count :uint32)
(p-wait-semaphores
(:pointer (:const vk-semaphore)))
(buffer-bind-count :uint32)
(p-buffer-binds
(:pointer
(:const vk-sparse-buffer-memory-bind-info)))
(image-opaque-bind-count :uint32)
(p-image-opaque-binds
(:pointer
(:const
vk-sparse-image-opaque-memory-bind-info)))
(image-bind-count :uint32)
(p-image-binds
(:pointer
(:const vk-sparse-image-memory-bind-info)))
(signal-semaphore-count :uint32)
(p-signal-semaphores
(:pointer (:const vk-semaphore))))
(fli:define-c-typedef (vk-bind-sparse-info
(:foreign-name "VkBindSparseInfo"))
(:struct vk-bind-sparse-info))
(fli:define-c-struct (vk-fence-create-info
(:foreign-name "VkFenceCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-fence-create-flags))
(fli:define-c-typedef (vk-fence-create-info
(:foreign-name "VkFenceCreateInfo"))
(:struct vk-fence-create-info))
(fli:define-c-struct (vk-semaphore-create-info
(:foreign-name "VkSemaphoreCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-semaphore-create-flags))
(fli:define-c-typedef (vk-semaphore-create-info
(:foreign-name "VkSemaphoreCreateInfo"))
(:struct vk-semaphore-create-info))
(fli:define-c-struct (vk-event-create-info
(:foreign-name "VkEventCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-event-create-flags))
(fli:define-c-typedef (vk-event-create-info
(:foreign-name "VkEventCreateInfo"))
(:struct vk-event-create-info))
(fli:define-c-struct (vk-query-pool-create-info
(:foreign-name "VkQueryPoolCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-query-pool-create-flags)
(query-type vk-query-type)
(query-count :uint32)
(pipeline-statistics
vk-query-pipeline-statistic-flags))
(fli:define-c-typedef (vk-query-pool-create-info
(:foreign-name "VkQueryPoolCreateInfo"))
(:struct vk-query-pool-create-info))
(fli:define-c-struct (vk-buffer-create-info
(:foreign-name "VkBufferCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-buffer-create-flags)
(size vk-device-size)
(usage vk-buffer-usage-flags)
(sharing-mode vk-sharing-mode)
(queue-family-index-count :uint32)
(p-queue-family-indices
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-buffer-create-info
(:foreign-name "VkBufferCreateInfo"))
(:struct vk-buffer-create-info))
(fli:define-c-struct (vk-buffer-view-create-info
(:foreign-name "VkBufferViewCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-buffer-view-create-flags)
(buffer vk-buffer)
(format vk-format)
(offset vk-device-size)
(range vk-device-size))
(fli:define-c-typedef (vk-buffer-view-create-info
(:foreign-name "VkBufferViewCreateInfo"))
(:struct vk-buffer-view-create-info))
(fli:define-c-struct (vk-image-create-info
(:foreign-name "VkImageCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-image-create-flags)
(image-type vk-image-type)
(format vk-format)
(extent vk-extent3-d)
(mip-levels :uint32)
(array-layers :uint32)
(samples vk-sample-count-flag-bits)
(tiling vk-image-tiling)
(usage vk-image-usage-flags)
(sharing-mode vk-sharing-mode)
(queue-family-index-count :uint32)
(p-queue-family-indices
(:pointer (:const :uint32)))
(initial-layout vk-image-layout))
(fli:define-c-typedef (vk-image-create-info
(:foreign-name "VkImageCreateInfo"))
(:struct vk-image-create-info))
(fli:define-c-struct (vk-subresource-layout
(:foreign-name "VkSubresourceLayout"))
(offset vk-device-size)
(size vk-device-size)
(row-pitch vk-device-size)
(array-pitch vk-device-size)
(depth-pitch vk-device-size))
(fli:define-c-typedef (vk-subresource-layout
(:foreign-name "VkSubresourceLayout"))
(:struct vk-subresource-layout))
(fli:define-c-struct (vk-component-mapping
(:foreign-name "VkComponentMapping"))
(r vk-component-swizzle)
(g vk-component-swizzle)
(b vk-component-swizzle)
(a vk-component-swizzle))
(fli:define-c-typedef (vk-component-mapping
(:foreign-name "VkComponentMapping"))
(:struct vk-component-mapping))
(fli:define-c-struct (vk-image-subresource-range
(:foreign-name "VkImageSubresourceRange"))
(aspect-mask vk-image-aspect-flags)
(base-mip-level :uint32)
(level-count :uint32)
(base-array-layer :uint32)
(layer-count :uint32))
(fli:define-c-typedef (vk-image-subresource-range
(:foreign-name "VkImageSubresourceRange"))
(:struct vk-image-subresource-range))
(fli:define-c-struct (vk-image-view-create-info
(:foreign-name "VkImageViewCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-image-view-create-flags)
(image vk-image)
(view-type vk-image-view-type)
(format vk-format)
(components vk-component-mapping)
(subresource-range vk-image-subresource-range))
(fli:define-c-typedef (vk-image-view-create-info
(:foreign-name "VkImageViewCreateInfo"))
(:struct vk-image-view-create-info))
(fli:define-c-struct (vk-shader-module-create-info
(:foreign-name "VkShaderModuleCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-shader-module-create-flags)
(code-size :size-t)
(p-code (:pointer (:const :uint32))))
(fli:define-c-typedef (vk-shader-module-create-info
(:foreign-name "VkShaderModuleCreateInfo"))
(:struct vk-shader-module-create-info))
(fli:define-c-struct (vk-pipeline-cache-create-info
(:foreign-name "VkPipelineCacheCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-cache-create-flags)
(initial-data-size :size-t)
(p-initial-data (:pointer (:const :void))))
(fli:define-c-typedef (vk-pipeline-cache-create-info
(:foreign-name "VkPipelineCacheCreateInfo"))
(:struct vk-pipeline-cache-create-info))
(fli:define-c-struct (vk-specialization-map-entry
(:foreign-name "VkSpecializationMapEntry"))
(constant-id :uint32)
(offset :uint32)
(size :size-t))
(fli:define-c-typedef (vk-specialization-map-entry
(:foreign-name "VkSpecializationMapEntry"))
(:struct vk-specialization-map-entry))
(fli:define-c-struct (vk-specialization-info
(:foreign-name "VkSpecializationInfo"))
(map-entry-count :uint32)
(p-map-entries
(:pointer (:const vk-specialization-map-entry)))
(data-size :size-t)
(p-data (:pointer (:const :void))))
(fli:define-c-typedef (vk-specialization-info
(:foreign-name "VkSpecializationInfo"))
(:struct vk-specialization-info))
(fli:define-c-struct (vk-pipeline-shader-stage-create-info
(:foreign-name
"VkPipelineShaderStageCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-shader-stage-create-flags)
(stage vk-shader-stage-flag-bits)
(module vk-shader-module)
(p-name (:pointer (:const :char)))
(p-specialization-info
(:pointer (:const vk-specialization-info))))
(fli:define-c-typedef (vk-pipeline-shader-stage-create-info
(:foreign-name
"VkPipelineShaderStageCreateInfo"))
(:struct vk-pipeline-shader-stage-create-info))
(fli:define-c-struct (vk-vertex-input-binding-description
(:foreign-name
"VkVertexInputBindingDescription"))
(binding :uint32)
(stride :uint32)
(input-rate vk-vertex-input-rate))
(fli:define-c-typedef (vk-vertex-input-binding-description
(:foreign-name
"VkVertexInputBindingDescription"))
(:struct vk-vertex-input-binding-description))
(fli:define-c-struct (vk-vertex-input-attribute-description
(:foreign-name
"VkVertexInputAttributeDescription"))
(location :uint32)
(binding :uint32)
(format vk-format)
(offset :uint32))
(fli:define-c-typedef (vk-vertex-input-attribute-description
(:foreign-name
"VkVertexInputAttributeDescription"))
(:struct vk-vertex-input-attribute-description))
(fli:define-c-struct (vk-pipeline-vertex-input-state-create-info
(:foreign-name
"VkPipelineVertexInputStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-vertex-input-state-create-flags)
(vertex-binding-description-count
:uint32)
(p-vertex-binding-descriptions
(:pointer
(:const vk-vertex-input-binding-description)))
(vertex-attribute-description-count
:uint32)
(p-vertex-attribute-descriptions
(:pointer
(:const vk-vertex-input-attribute-description))))
(fli:define-c-typedef (vk-pipeline-vertex-input-state-create-info
(:foreign-name
"VkPipelineVertexInputStateCreateInfo"))
(:struct
vk-pipeline-vertex-input-state-create-info))
(fli:define-c-struct (vk-pipeline-input-assembly-state-create-info
(:foreign-name
"VkPipelineInputAssemblyStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-input-assembly-state-create-flags)
(topology vk-primitive-topology)
(primitive-restart-enable vk-bool32))
(fli:define-c-typedef (vk-pipeline-input-assembly-state-create-info
(:foreign-name
"VkPipelineInputAssemblyStateCreateInfo"))
(:struct
vk-pipeline-input-assembly-state-create-info))
(fli:define-c-struct (vk-pipeline-tessellation-state-create-info
(:foreign-name
"VkPipelineTessellationStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-tessellation-state-create-flags)
(patch-control-points :uint32))
(fli:define-c-typedef (vk-pipeline-tessellation-state-create-info
(:foreign-name
"VkPipelineTessellationStateCreateInfo"))
(:struct
vk-pipeline-tessellation-state-create-info))
(fli:define-c-struct (vk-viewport (:foreign-name "VkViewport"))
(x :float)
(y :float)
(width :float)
(height :float)
(min-depth :float)
(max-depth :float))
(fli:define-c-typedef (vk-viewport (:foreign-name "VkViewport"))
(:struct vk-viewport))
(fli:define-c-struct (vk-offset2-d (:foreign-name "VkOffset2D"))
(x :int)
(y :int))
(fli:define-c-typedef (vk-offset2-d (:foreign-name "VkOffset2D"))
(:struct vk-offset2-d))
(fli:define-c-struct (vk-extent2-d (:foreign-name "VkExtent2D"))
(width :uint32)
(height :uint32))
(fli:define-c-typedef (vk-extent2-d (:foreign-name "VkExtent2D"))
(:struct vk-extent2-d))
(fli:define-c-struct (vk-rect2-d (:foreign-name "VkRect2D"))
(offset vk-offset2-d)
(extent vk-extent2-d))
(fli:define-c-typedef (vk-rect2-d (:foreign-name "VkRect2D"))
(:struct vk-rect2-d))
(fli:define-c-struct (vk-pipeline-viewport-state-create-info
(:foreign-name
"VkPipelineViewportStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-viewport-state-create-flags)
(viewport-count :uint32)
(p-viewports (:pointer (:const vk-viewport)))
(scissor-count :uint32)
(p-scissors (:pointer (:const vk-rect2-d))))
(fli:define-c-typedef (vk-pipeline-viewport-state-create-info
(:foreign-name
"VkPipelineViewportStateCreateInfo"))
(:struct vk-pipeline-viewport-state-create-info))
(fli:define-c-struct (vk-pipeline-rasterization-state-create-info
(:foreign-name
"VkPipelineRasterizationStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-rasterization-state-create-flags)
(depth-clamp-enable vk-bool32)
(rasterizer-discard-enable vk-bool32)
(polygon-mode vk-polygon-mode)
(cull-mode vk-cull-mode-flags)
(front-face vk-front-face)
(depth-bias-enable vk-bool32)
(depth-bias-constant-factor :float)
(depth-bias-clamp :float)
(depth-bias-slope-factor :float)
(line-width :float))
(fli:define-c-typedef (vk-pipeline-rasterization-state-create-info
(:foreign-name
"VkPipelineRasterizationStateCreateInfo"))
(:struct
vk-pipeline-rasterization-state-create-info))
(fli:define-c-struct (vk-pipeline-multisample-state-create-info
(:foreign-name
"VkPipelineMultisampleStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-multisample-state-create-flags)
(rasterization-samples vk-sample-count-flag-bits)
(sample-shading-enable vk-bool32)
(min-sample-shading :float)
(p-sample-mask (:pointer (:const vk-sample-mask)))
(alpha-to-coverage-enable vk-bool32)
(alpha-to-one-enable vk-bool32))
(fli:define-c-typedef (vk-pipeline-multisample-state-create-info
(:foreign-name
"VkPipelineMultisampleStateCreateInfo"))
(:struct
vk-pipeline-multisample-state-create-info))
(fli:define-c-struct (vk-stencil-op-state
(:foreign-name "VkStencilOpState"))
(fail-op vk-stencil-op)
(pass-op vk-stencil-op)
(depth-fail-op vk-stencil-op)
(compare-op vk-compare-op)
(compare-mask :uint32)
(write-mask :uint32)
(reference :uint32))
(fli:define-c-typedef (vk-stencil-op-state
(:foreign-name "VkStencilOpState"))
(:struct vk-stencil-op-state))
(fli:define-c-struct (vk-pipeline-depth-stencil-state-create-info
(:foreign-name
"VkPipelineDepthStencilStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-depth-stencil-state-create-flags)
(depth-test-enable vk-bool32)
(depth-write-enable vk-bool32)
(depth-compare-op vk-compare-op)
(depth-bounds-test-enable vk-bool32)
(stencil-test-enable vk-bool32)
(front vk-stencil-op-state)
(back vk-stencil-op-state)
(min-depth-bounds :float)
(max-depth-bounds :float))
(fli:define-c-typedef (vk-pipeline-depth-stencil-state-create-info
(:foreign-name
"VkPipelineDepthStencilStateCreateInfo"))
(:struct
vk-pipeline-depth-stencil-state-create-info))
(fli:define-c-struct (vk-pipeline-color-blend-attachment-state
(:foreign-name
"VkPipelineColorBlendAttachmentState"))
(blend-enable vk-bool32)
(src-color-blend-factor vk-blend-factor)
(dst-color-blend-factor vk-blend-factor)
(color-blend-op vk-blend-op)
(src-alpha-blend-factor vk-blend-factor)
(dst-alpha-blend-factor vk-blend-factor)
(alpha-blend-op vk-blend-op)
(color-write-mask vk-color-component-flags))
(fli:define-c-typedef (vk-pipeline-color-blend-attachment-state
(:foreign-name
"VkPipelineColorBlendAttachmentState"))
(:struct
vk-pipeline-color-blend-attachment-state))
(fli:define-c-struct (vk-pipeline-color-blend-state-create-info
(:foreign-name
"VkPipelineColorBlendStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-color-blend-state-create-flags)
(logic-op-enable vk-bool32)
(logic-op vk-logic-op)
(attachment-count :uint32)
(p-attachments
(:pointer
(:const
vk-pipeline-color-blend-attachment-state)))
(blend-constants (:c-array :float 4)))
(fli:define-c-typedef (vk-pipeline-color-blend-state-create-info
(:foreign-name
"VkPipelineColorBlendStateCreateInfo"))
(:struct
vk-pipeline-color-blend-state-create-info))
(fli:define-c-struct (vk-pipeline-dynamic-state-create-info
(:foreign-name
"VkPipelineDynamicStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-dynamic-state-create-flags)
(dynamic-state-count :uint32)
(p-dynamic-states
(:pointer (:const vk-dynamic-state))))
(fli:define-c-typedef (vk-pipeline-dynamic-state-create-info
(:foreign-name
"VkPipelineDynamicStateCreateInfo"))
(:struct vk-pipeline-dynamic-state-create-info))
(fli:define-c-struct (vk-graphics-pipeline-create-info
(:foreign-name "VkGraphicsPipelineCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-create-flags)
(stage-count :uint32)
(p-stages
(:pointer
(:const vk-pipeline-shader-stage-create-info)))
(p-vertex-input-state
(:pointer
(:const
vk-pipeline-vertex-input-state-create-info)))
(p-input-assembly-state
(:pointer
(:const
vk-pipeline-input-assembly-state-create-info)))
(p-tessellation-state
(:pointer
(:const
vk-pipeline-tessellation-state-create-info)))
(p-viewport-state
(:pointer
(:const
vk-pipeline-viewport-state-create-info)))
(p-rasterization-state
(:pointer
(:const
vk-pipeline-rasterization-state-create-info)))
(p-multisample-state
(:pointer
(:const
vk-pipeline-multisample-state-create-info)))
(p-depth-stencil-state
(:pointer
(:const
vk-pipeline-depth-stencil-state-create-info)))
(p-color-blend-state
(:pointer
(:const
vk-pipeline-color-blend-state-create-info)))
(p-dynamic-state
(:pointer
(:const vk-pipeline-dynamic-state-create-info)))
(layout vk-pipeline-layout)
(render-pass vk-render-pass)
(subpass :uint32)
(base-pipeline-handle vk-pipeline)
(base-pipeline-index :int))
(fli:define-c-typedef (vk-graphics-pipeline-create-info
(:foreign-name "VkGraphicsPipelineCreateInfo"))
(:struct vk-graphics-pipeline-create-info))
(fli:define-c-struct (vk-compute-pipeline-create-info
(:foreign-name "VkComputePipelineCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-create-flags)
(stage vk-pipeline-shader-stage-create-info)
(layout vk-pipeline-layout)
(base-pipeline-handle vk-pipeline)
(base-pipeline-index :int))
(fli:define-c-typedef (vk-compute-pipeline-create-info
(:foreign-name "VkComputePipelineCreateInfo"))
(:struct vk-compute-pipeline-create-info))
(fli:define-c-struct (vk-push-constant-range
(:foreign-name "VkPushConstantRange"))
(stage-flags vk-shader-stage-flags)
(offset :uint32)
(size :uint32))
(fli:define-c-typedef (vk-push-constant-range
(:foreign-name "VkPushConstantRange"))
(:struct vk-push-constant-range))
(fli:define-c-struct (vk-pipeline-layout-create-info
(:foreign-name "VkPipelineLayoutCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-layout-create-flags)
(set-layout-count :uint32)
(p-set-layouts
(:pointer (:const vk-descriptor-set-layout)))
(push-constant-range-count :uint32)
(p-push-constant-ranges
(:pointer (:const vk-push-constant-range))))
(fli:define-c-typedef (vk-pipeline-layout-create-info
(:foreign-name "VkPipelineLayoutCreateInfo"))
(:struct vk-pipeline-layout-create-info))
(fli:define-c-struct (vk-sampler-create-info
(:foreign-name "VkSamplerCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-sampler-create-flags)
(mag-filter vk-filter)
(min-filter vk-filter)
(mipmap-mode vk-sampler-mipmap-mode)
(address-mode-u vk-sampler-address-mode)
(address-mode-v vk-sampler-address-mode)
(address-mode-w vk-sampler-address-mode)
(mip-lod-bias :float)
(anisotropy-enable vk-bool32)
(max-anisotropy :float)
(compare-enable vk-bool32)
(compare-op vk-compare-op)
(min-lod :float)
(max-lod :float)
(border-color vk-border-color)
(unnormalized-coordinates vk-bool32))
(fli:define-c-typedef (vk-sampler-create-info
(:foreign-name "VkSamplerCreateInfo"))
(:struct vk-sampler-create-info))
(fli:define-c-struct (vk-descriptor-set-layout-binding
(:foreign-name "VkDescriptorSetLayoutBinding"))
(binding :uint32)
(descriptor-type vk-descriptor-type)
(descriptor-count :uint32)
(stage-flags vk-shader-stage-flags)
(p-immutable-samplers
(:pointer (:const vk-sampler))))
(fli:define-c-typedef (vk-descriptor-set-layout-binding
(:foreign-name "VkDescriptorSetLayoutBinding"))
(:struct vk-descriptor-set-layout-binding))
(fli:define-c-struct (vk-descriptor-set-layout-create-info
(:foreign-name
"VkDescriptorSetLayoutCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-descriptor-set-layout-create-flags)
(binding-count :uint32)
(p-bindings
(:pointer
(:const vk-descriptor-set-layout-binding))))
(fli:define-c-typedef (vk-descriptor-set-layout-create-info
(:foreign-name
"VkDescriptorSetLayoutCreateInfo"))
(:struct vk-descriptor-set-layout-create-info))
(fli:define-c-struct (vk-descriptor-pool-size
(:foreign-name "VkDescriptorPoolSize"))
(type vk-descriptor-type)
(descriptor-count :uint32))
(fli:define-c-typedef (vk-descriptor-pool-size
(:foreign-name "VkDescriptorPoolSize"))
(:struct vk-descriptor-pool-size))
(fli:define-c-struct (vk-descriptor-pool-create-info
(:foreign-name "VkDescriptorPoolCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-descriptor-pool-create-flags)
(max-sets :uint32)
(pool-size-count :uint32)
(p-pool-sizes
(:pointer (:const vk-descriptor-pool-size))))
(fli:define-c-typedef (vk-descriptor-pool-create-info
(:foreign-name "VkDescriptorPoolCreateInfo"))
(:struct vk-descriptor-pool-create-info))
(fli:define-c-struct (vk-descriptor-set-allocate-info
(:foreign-name "VkDescriptorSetAllocateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(descriptor-pool vk-descriptor-pool)
(descriptor-set-count :uint32)
(p-set-layouts
(:pointer (:const vk-descriptor-set-layout))))
(fli:define-c-typedef (vk-descriptor-set-allocate-info
(:foreign-name "VkDescriptorSetAllocateInfo"))
(:struct vk-descriptor-set-allocate-info))
(fli:define-c-struct (vk-descriptor-image-info
(:foreign-name "VkDescriptorImageInfo"))
(sampler vk-sampler)
(image-view vk-image-view)
(image-layout vk-image-layout))
(fli:define-c-typedef (vk-descriptor-image-info
(:foreign-name "VkDescriptorImageInfo"))
(:struct vk-descriptor-image-info))
(fli:define-c-struct (vk-descriptor-buffer-info
(:foreign-name "VkDescriptorBufferInfo"))
(buffer vk-buffer)
(offset vk-device-size)
(range vk-device-size))
(fli:define-c-typedef (vk-descriptor-buffer-info
(:foreign-name "VkDescriptorBufferInfo"))
(:struct vk-descriptor-buffer-info))
(fli:define-c-struct (vk-write-descriptor-set
(:foreign-name "VkWriteDescriptorSet"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(dst-set vk-descriptor-set)
(dst-binding :uint32)
(dst-array-element :uint32)
(descriptor-count :uint32)
(descriptor-type vk-descriptor-type)
(p-image-info
(:pointer (:const vk-descriptor-image-info)))
(p-buffer-info
(:pointer (:const vk-descriptor-buffer-info)))
(p-texel-buffer-view
(:pointer (:const vk-buffer-view))))
(fli:define-c-typedef (vk-write-descriptor-set
(:foreign-name "VkWriteDescriptorSet"))
(:struct vk-write-descriptor-set))
(fli:define-c-struct (vk-copy-descriptor-set
(:foreign-name "VkCopyDescriptorSet"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-set vk-descriptor-set)
(src-binding :uint32)
(src-array-element :uint32)
(dst-set vk-descriptor-set)
(dst-binding :uint32)
(dst-array-element :uint32)
(descriptor-count :uint32))
(fli:define-c-typedef (vk-copy-descriptor-set
(:foreign-name "VkCopyDescriptorSet"))
(:struct vk-copy-descriptor-set))
(fli:define-c-struct (vk-framebuffer-create-info
(:foreign-name "VkFramebufferCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-framebuffer-create-flags)
(render-pass vk-render-pass)
(attachment-count :uint32)
(p-attachments (:pointer (:const vk-image-view)))
(width :uint32)
(height :uint32)
(layers :uint32))
(fli:define-c-typedef (vk-framebuffer-create-info
(:foreign-name "VkFramebufferCreateInfo"))
(:struct vk-framebuffer-create-info))
(fli:define-c-struct (vk-attachment-description
(:foreign-name "VkAttachmentDescription"))
(flags vk-attachment-description-flags)
(format vk-format)
(samples vk-sample-count-flag-bits)
(load-op vk-attachment-load-op)
(store-op vk-attachment-store-op)
(stencil-load-op vk-attachment-load-op)
(stencil-store-op vk-attachment-store-op)
(initial-layout vk-image-layout)
(final-layout vk-image-layout))
(fli:define-c-typedef (vk-attachment-description
(:foreign-name "VkAttachmentDescription"))
(:struct vk-attachment-description))
(fli:define-c-struct (vk-attachment-reference
(:foreign-name "VkAttachmentReference"))
(attachment :uint32)
(layout vk-image-layout))
(fli:define-c-typedef (vk-attachment-reference
(:foreign-name "VkAttachmentReference"))
(:struct vk-attachment-reference))
(fli:define-c-struct (vk-subpass-description
(:foreign-name "VkSubpassDescription"))
(flags vk-subpass-description-flags)
(pipeline-bind-point vk-pipeline-bind-point)
(input-attachment-count :uint32)
(p-input-attachments
(:pointer (:const vk-attachment-reference)))
(color-attachment-count :uint32)
(p-color-attachments
(:pointer (:const vk-attachment-reference)))
(p-resolve-attachments
(:pointer (:const vk-attachment-reference)))
(p-depth-stencil-attachment
(:pointer (:const vk-attachment-reference)))
(preserve-attachment-count :uint32)
(p-preserve-attachments
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-subpass-description
(:foreign-name "VkSubpassDescription"))
(:struct vk-subpass-description))
(fli:define-c-struct (vk-subpass-dependency
(:foreign-name "VkSubpassDependency"))
(src-subpass :uint32)
(dst-subpass :uint32)
(src-stage-mask vk-pipeline-stage-flags)
(dst-stage-mask vk-pipeline-stage-flags)
(src-access-mask vk-access-flags)
(dst-access-mask vk-access-flags)
(dependency-flags vk-dependency-flags))
(fli:define-c-typedef (vk-subpass-dependency
(:foreign-name "VkSubpassDependency"))
(:struct vk-subpass-dependency))
(fli:define-c-struct (vk-render-pass-create-info
(:foreign-name "VkRenderPassCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-render-pass-create-flags)
(attachment-count :uint32)
(p-attachments
(:pointer (:const vk-attachment-description)))
(subpass-count :uint32)
(p-subpasses
(:pointer (:const vk-subpass-description)))
(dependency-count :uint32)
(p-dependencies
(:pointer (:const vk-subpass-dependency))))
(fli:define-c-typedef (vk-render-pass-create-info
(:foreign-name "VkRenderPassCreateInfo"))
(:struct vk-render-pass-create-info))
(fli:define-c-struct (vk-command-pool-create-info
(:foreign-name "VkCommandPoolCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-command-pool-create-flags)
(queue-family-index :uint32))
(fli:define-c-typedef (vk-command-pool-create-info
(:foreign-name "VkCommandPoolCreateInfo"))
(:struct vk-command-pool-create-info))
(fli:define-c-struct (vk-command-buffer-allocate-info
(:foreign-name "VkCommandBufferAllocateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(command-pool vk-command-pool)
(level vk-command-buffer-level)
(command-buffer-count :uint32))
(fli:define-c-typedef (vk-command-buffer-allocate-info
(:foreign-name "VkCommandBufferAllocateInfo"))
(:struct vk-command-buffer-allocate-info))
(fli:define-c-struct (vk-command-buffer-inheritance-info
(:foreign-name "VkCommandBufferInheritanceInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(render-pass vk-render-pass)
(subpass :uint32)
(framebuffer vk-framebuffer)
(occlusion-query-enable vk-bool32)
(query-flags vk-query-control-flags)
(pipeline-statistics
vk-query-pipeline-statistic-flags))
(fli:define-c-typedef (vk-command-buffer-inheritance-info
(:foreign-name
"VkCommandBufferInheritanceInfo"))
(:struct vk-command-buffer-inheritance-info))
(fli:define-c-struct (vk-command-buffer-begin-info
(:foreign-name "VkCommandBufferBeginInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-command-buffer-usage-flags)
(p-inheritance-info
(:pointer
(:const vk-command-buffer-inheritance-info))))
(fli:define-c-typedef (vk-command-buffer-begin-info
(:foreign-name "VkCommandBufferBeginInfo"))
(:struct vk-command-buffer-begin-info))
(fli:define-c-struct (vk-buffer-copy (:foreign-name "VkBufferCopy"))
(src-offset vk-device-size)
(dst-offset vk-device-size)
(size vk-device-size))
(fli:define-c-typedef (vk-buffer-copy (:foreign-name "VkBufferCopy"))
(:struct vk-buffer-copy))
(fli:define-c-struct (vk-image-subresource-layers
(:foreign-name "VkImageSubresourceLayers"))
(aspect-mask vk-image-aspect-flags)
(mip-level :uint32)
(base-array-layer :uint32)
(layer-count :uint32))
(fli:define-c-typedef (vk-image-subresource-layers
(:foreign-name "VkImageSubresourceLayers"))
(:struct vk-image-subresource-layers))
(fli:define-c-struct (vk-image-copy (:foreign-name "VkImageCopy"))
(src-subresource vk-image-subresource-layers)
(src-offset vk-offset3-d)
(dst-subresource vk-image-subresource-layers)
(dst-offset vk-offset3-d)
(extent vk-extent3-d))
(fli:define-c-typedef (vk-image-copy (:foreign-name "VkImageCopy"))
(:struct vk-image-copy))
(fli:define-c-struct (vk-image-blit (:foreign-name "VkImageBlit"))
(src-subresource vk-image-subresource-layers)
(src-offsets (:c-array vk-offset3-d 2))
(dst-subresource vk-image-subresource-layers)
(dst-offsets (:c-array vk-offset3-d 2)))
(fli:define-c-typedef (vk-image-blit (:foreign-name "VkImageBlit"))
(:struct vk-image-blit))
(fli:define-c-struct (vk-buffer-image-copy
(:foreign-name "VkBufferImageCopy"))
(buffer-offset vk-device-size)
(buffer-row-length :uint32)
(buffer-image-height :uint32)
(image-subresource vk-image-subresource-layers)
(image-offset vk-offset3-d)
(image-extent vk-extent3-d))
(fli:define-c-typedef (vk-buffer-image-copy
(:foreign-name "VkBufferImageCopy"))
(:struct vk-buffer-image-copy))
(fli:define-c-union (vk-clear-color-value
(:foreign-name "VkClearColorValue"))
(float32 (:c-array :float 4))
(int32 (:c-array :int 4))
(uint32 (:c-array :uint32 4)))
(fli:define-c-typedef (vk-clear-color-value
(:foreign-name "VkClearColorValue"))
(:union vk-clear-color-value))
(fli:define-c-struct (vk-clear-depth-stencil-value
(:foreign-name "VkClearDepthStencilValue"))
(depth :float)
(stencil :uint32))
(fli:define-c-typedef (vk-clear-depth-stencil-value
(:foreign-name "VkClearDepthStencilValue"))
(:struct vk-clear-depth-stencil-value))
(fli:define-c-union (vk-clear-value (:foreign-name "VkClearValue"))
(color vk-clear-color-value)
(depth-stencil vk-clear-depth-stencil-value))
(fli:define-c-typedef (vk-clear-value (:foreign-name "VkClearValue"))
(:union vk-clear-value))
(fli:define-c-struct (vk-clear-attachment
(:foreign-name "VkClearAttachment"))
(aspect-mask vk-image-aspect-flags)
(color-attachment :uint32)
(clear-value vk-clear-value))
(fli:define-c-typedef (vk-clear-attachment
(:foreign-name "VkClearAttachment"))
(:struct vk-clear-attachment))
(fli:define-c-struct (vk-clear-rect (:foreign-name "VkClearRect"))
(rect vk-rect2-d)
(base-array-layer :uint32)
(layer-count :uint32))
(fli:define-c-typedef (vk-clear-rect (:foreign-name "VkClearRect"))
(:struct vk-clear-rect))
(fli:define-c-struct (vk-image-resolve
(:foreign-name "VkImageResolve"))
(src-subresource vk-image-subresource-layers)
(src-offset vk-offset3-d)
(dst-subresource vk-image-subresource-layers)
(dst-offset vk-offset3-d)
(extent vk-extent3-d))
(fli:define-c-typedef (vk-image-resolve
(:foreign-name "VkImageResolve"))
(:struct vk-image-resolve))
(fli:define-c-struct (vk-memory-barrier
(:foreign-name "VkMemoryBarrier"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-access-mask vk-access-flags)
(dst-access-mask vk-access-flags))
(fli:define-c-typedef (vk-memory-barrier
(:foreign-name "VkMemoryBarrier"))
(:struct vk-memory-barrier))
(fli:define-c-struct (vk-buffer-memory-barrier
(:foreign-name "VkBufferMemoryBarrier"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-access-mask vk-access-flags)
(dst-access-mask vk-access-flags)
(src-queue-family-index :uint32)
(dst-queue-family-index :uint32)
(buffer vk-buffer)
(offset vk-device-size)
(size vk-device-size))
(fli:define-c-typedef (vk-buffer-memory-barrier
(:foreign-name "VkBufferMemoryBarrier"))
(:struct vk-buffer-memory-barrier))
(fli:define-c-struct (vk-image-memory-barrier
(:foreign-name "VkImageMemoryBarrier"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-access-mask vk-access-flags)
(dst-access-mask vk-access-flags)
(old-layout vk-image-layout)
(new-layout vk-image-layout)
(src-queue-family-index :uint32)
(dst-queue-family-index :uint32)
(image vk-image)
(subresource-range vk-image-subresource-range))
(fli:define-c-typedef (vk-image-memory-barrier
(:foreign-name "VkImageMemoryBarrier"))
(:struct vk-image-memory-barrier))
(fli:define-c-struct (vk-render-pass-begin-info
(:foreign-name "VkRenderPassBeginInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(render-pass vk-render-pass)
(framebuffer vk-framebuffer)
(render-area vk-rect2-d)
(clear-value-count :uint32)
(p-clear-values
(:pointer (:const vk-clear-value))))
(fli:define-c-typedef (vk-render-pass-begin-info
(:foreign-name "VkRenderPassBeginInfo"))
(:struct vk-render-pass-begin-info))
(fli:define-c-struct (vk-dispatch-indirect-command
(:foreign-name "VkDispatchIndirectCommand"))
(x :uint32)
(y :uint32)
(z :uint32))
(fli:define-c-typedef (vk-dispatch-indirect-command
(:foreign-name "VkDispatchIndirectCommand"))
(:struct vk-dispatch-indirect-command))
(fli:define-c-struct (vk-draw-indexed-indirect-command
(:foreign-name "VkDrawIndexedIndirectCommand"))
(index-count :uint32)
(instance-count :uint32)
(first-index :uint32)
(vertex-offset :int)
(first-instance :uint32))
(fli:define-c-typedef (vk-draw-indexed-indirect-command
(:foreign-name "VkDrawIndexedIndirectCommand"))
(:struct vk-draw-indexed-indirect-command))
(fli:define-c-struct (vk-draw-indirect-command
(:foreign-name "VkDrawIndirectCommand"))
(vertex-count :uint32)
(instance-count :uint32)
(first-vertex :uint32)
(first-instance :uint32))
(fli:define-c-typedef (vk-draw-indirect-command
(:foreign-name "VkDrawIndirectCommand"))
(:struct vk-draw-indirect-command))
(fli:define-c-struct (vk-base-out-structure
(:foreign-name "VkBaseOutStructure")
(:forward-reference-p t)))
(fli:define-c-struct (vk-base-out-structure
(:foreign-name "VkBaseOutStructure"))
(s-type vk-structure-type)
(p-next
(:pointer (:struct vk-base-out-structure))))
(fli:define-c-typedef (vk-base-out-structure
(:foreign-name "VkBaseOutStructure"))
(:struct vk-base-out-structure))
(fli:define-c-struct (vk-base-in-structure
(:foreign-name "VkBaseInStructure")
(:forward-reference-p t)))
(fli:define-c-struct (vk-base-in-structure
(:foreign-name "VkBaseInStructure"))
(s-type vk-structure-type)
(p-next
(:pointer
(:const (:struct vk-base-in-structure)))))
(fli:define-c-typedef (vk-base-in-structure
(:foreign-name "VkBaseInStructure"))
(:struct vk-base-in-structure))
(fli:define-c-typedef (pfn-vk-create-instance
(:foreign-name "PFN_vkCreateInstance"))
(:pointer
(:function
((:pointer (:const vk-instance-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-instance))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-instance
(:foreign-name "PFN_vkDestroyInstance"))
(:pointer
(:function
(vk-instance
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-enumerate-physical-devices
(:foreign-name
"PFN_vkEnumeratePhysicalDevices"))
(:pointer
(:function
(vk-instance
(:pointer :uint32)
(:pointer vk-physical-device))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-features
(:foreign-name
"PFN_vkGetPhysicalDeviceFeatures"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-features))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-format-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceFormatProperties"))
(:pointer
(:function
(vk-physical-device
vk-format
(:pointer vk-format-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-image-format-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceImageFormatProperties"))
(:pointer
(:function
(vk-physical-device
vk-format
vk-image-type
vk-image-tiling
vk-image-usage-flags
vk-image-create-flags
(:pointer vk-image-format-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-queue-family-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceQueueFamilyProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-queue-family-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-memory-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceMemoryProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer
vk-physical-device-memory-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-instance-proc-addr
(:foreign-name "PFN_vkGetInstanceProcAddr"))
(:pointer
(:function
(vk-instance (:pointer (:const :char)))
pfn-vk-void-function)))
(fli:define-c-typedef (pfn-vk-get-device-proc-addr
(:foreign-name "PFN_vkGetDeviceProcAddr"))
(:pointer
(:function
(vk-device (:pointer (:const :char)))
pfn-vk-void-function)))
(fli:define-c-typedef (pfn-vk-create-device
(:foreign-name "PFN_vkCreateDevice"))
(:pointer
(:function
(vk-physical-device
(:pointer (:const vk-device-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-device))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-device
(:foreign-name "PFN_vkDestroyDevice"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-enumerate-instance-extension-properties
(:foreign-name
"PFN_vkEnumerateInstanceExtensionProperties"))
(:pointer
(:function
((:pointer (:const :char))
(:pointer :uint32)
(:pointer vk-extension-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-enumerate-device-extension-properties
(:foreign-name
"PFN_vkEnumerateDeviceExtensionProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer (:const :char))
(:pointer :uint32)
(:pointer vk-extension-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-enumerate-instance-layer-properties
(:foreign-name
"PFN_vkEnumerateInstanceLayerProperties"))
(:pointer
(:function
((:pointer :uint32)
(:pointer vk-layer-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-enumerate-device-layer-properties
(:foreign-name
"PFN_vkEnumerateDeviceLayerProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-layer-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-device-queue
(:foreign-name "PFN_vkGetDeviceQueue"))
(:pointer
(:function
(vk-device
:uint32
:uint32
(:pointer vk-queue))
:void)))
(fli:define-c-typedef (pfn-vk-queue-submit
(:foreign-name "PFN_vkQueueSubmit"))
(:pointer
(:function
(vk-queue
:uint32
(:pointer (:const vk-submit-info))
vk-fence)
vk-result)))
(fli:define-c-typedef (pfn-vk-queue-wait-idle
(:foreign-name "PFN_vkQueueWaitIdle"))
(:pointer (:function (vk-queue) vk-result)))
(fli:define-c-typedef (pfn-vk-device-wait-idle
(:foreign-name "PFN_vkDeviceWaitIdle"))
(:pointer (:function (vk-device) vk-result)))
(fli:define-c-typedef (pfn-vk-allocate-memory
(:foreign-name "PFN_vkAllocateMemory"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-memory-allocate-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-device-memory))
vk-result)))
(fli:define-c-typedef (pfn-vk-free-memory
(:foreign-name "PFN_vkFreeMemory"))
(:pointer
(:function
(vk-device
vk-device-memory
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-map-memory
(:foreign-name "PFN_vkMapMemory"))
(:pointer
(:function
(vk-device
vk-device-memory
vk-device-size
vk-device-size
vk-memory-map-flags
(:pointer (:pointer :void)))
vk-result)))
(fli:define-c-typedef (pfn-vk-unmap-memory
(:foreign-name "PFN_vkUnmapMemory"))
(:pointer
(:function (vk-device vk-device-memory) :void)))
(fli:define-c-typedef (pfn-vk-flush-mapped-memory-ranges
(:foreign-name "PFN_vkFlushMappedMemoryRanges"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-mapped-memory-range)))
vk-result)))
(fli:define-c-typedef (pfn-vk-invalidate-mapped-memory-ranges
(:foreign-name
"PFN_vkInvalidateMappedMemoryRanges"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-mapped-memory-range)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-device-memory-commitment
(:foreign-name
"PFN_vkGetDeviceMemoryCommitment"))
(:pointer
(:function
(vk-device
vk-device-memory
(:pointer vk-device-size))
:void)))
(fli:define-c-typedef (pfn-vk-bind-buffer-memory
(:foreign-name "PFN_vkBindBufferMemory"))
(:pointer
(:function
(vk-device
vk-buffer
vk-device-memory
vk-device-size)
vk-result)))
(fli:define-c-typedef (pfn-vk-bind-image-memory
(:foreign-name "PFN_vkBindImageMemory"))
(:pointer
(:function
(vk-device
vk-image
vk-device-memory
vk-device-size)
vk-result)))
(fli:define-c-typedef (pfn-vk-get-buffer-memory-requirements
(:foreign-name
"PFN_vkGetBufferMemoryRequirements"))
(:pointer
(:function
(vk-device
vk-buffer
(:pointer vk-memory-requirements))
:void)))
(fli:define-c-typedef (pfn-vk-get-image-memory-requirements
(:foreign-name
"PFN_vkGetImageMemoryRequirements"))
(:pointer
(:function
(vk-device
vk-image
(:pointer vk-memory-requirements))
:void)))
(fli:define-c-typedef (pfn-vk-get-image-sparse-memory-requirements
(:foreign-name
"PFN_vkGetImageSparseMemoryRequirements"))
(:pointer
(:function
(vk-device
vk-image
(:pointer :uint32)
(:pointer
vk-sparse-image-memory-requirements))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-sparse-image-format-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceSparseImageFormatProperties"))
(:pointer
(:function
(vk-physical-device
vk-format
vk-image-type
vk-sample-count-flag-bits
vk-image-usage-flags
vk-image-tiling
(:pointer :uint32)
(:pointer vk-sparse-image-format-properties))
:void)))
(fli:define-c-typedef (pfn-vk-queue-bind-sparse
(:foreign-name "PFN_vkQueueBindSparse"))
(:pointer
(:function
(vk-queue
:uint32
(:pointer (:const vk-bind-sparse-info))
vk-fence)
vk-result)))
(fli:define-c-typedef (pfn-vk-create-fence
(:foreign-name "PFN_vkCreateFence"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-fence-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-fence))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-fence
(:foreign-name "PFN_vkDestroyFence"))
(:pointer
(:function
(vk-device
vk-fence
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-reset-fences
(:foreign-name "PFN_vkResetFences"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-fence)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-fence-status
(:foreign-name "PFN_vkGetFenceStatus"))
(:pointer
(:function (vk-device vk-fence) vk-result)))
(fli:define-c-typedef (pfn-vk-wait-for-fences
(:foreign-name "PFN_vkWaitForFences"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-fence))
vk-bool32
:uint64)
vk-result)))
(fli:define-c-typedef (pfn-vk-create-semaphore
(:foreign-name "PFN_vkCreateSemaphore"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-semaphore-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-semaphore))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-semaphore
(:foreign-name "PFN_vkDestroySemaphore"))
(:pointer
(:function
(vk-device
vk-semaphore
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-event
(:foreign-name "PFN_vkCreateEvent"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-event-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-event))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-event
(:foreign-name "PFN_vkDestroyEvent"))
(:pointer
(:function
(vk-device
vk-event
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-event-status
(:foreign-name "PFN_vkGetEventStatus"))
(:pointer
(:function (vk-device vk-event) vk-result)))
(fli:define-c-typedef (pfn-vk-set-event
(:foreign-name "PFN_vkSetEvent"))
(:pointer
(:function (vk-device vk-event) vk-result)))
(fli:define-c-typedef (pfn-vk-reset-event
(:foreign-name "PFN_vkResetEvent"))
(:pointer
(:function (vk-device vk-event) vk-result)))
(fli:define-c-typedef (pfn-vk-create-query-pool
(:foreign-name "PFN_vkCreateQueryPool"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-query-pool-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-query-pool))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-query-pool
(:foreign-name "PFN_vkDestroyQueryPool"))
(:pointer
(:function
(vk-device
vk-query-pool
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-query-pool-results
(:foreign-name "PFN_vkGetQueryPoolResults"))
(:pointer
(:function
(vk-device
vk-query-pool
:uint32
:uint32
:size-t
(:pointer :void)
vk-device-size
vk-query-result-flags)
vk-result)))
(fli:define-c-typedef (pfn-vk-create-buffer
(:foreign-name "PFN_vkCreateBuffer"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-buffer-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-buffer))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-buffer
(:foreign-name "PFN_vkDestroyBuffer"))
(:pointer
(:function
(vk-device
vk-buffer
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-buffer-view
(:foreign-name "PFN_vkCreateBufferView"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-buffer-view-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-buffer-view))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-buffer-view
(:foreign-name "PFN_vkDestroyBufferView"))
(:pointer
(:function
(vk-device
vk-buffer-view
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-image
(:foreign-name "PFN_vkCreateImage"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-image-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-image))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-image
(:foreign-name "PFN_vkDestroyImage"))
(:pointer
(:function
(vk-device
vk-image
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-image-subresource-layout
(:foreign-name
"PFN_vkGetImageSubresourceLayout"))
(:pointer
(:function
(vk-device
vk-image
(:pointer (:const vk-image-subresource))
(:pointer vk-subresource-layout))
:void)))
(fli:define-c-typedef (pfn-vk-create-image-view
(:foreign-name "PFN_vkCreateImageView"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-image-view-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-image-view))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-image-view
(:foreign-name "PFN_vkDestroyImageView"))
(:pointer
(:function
(vk-device
vk-image-view
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-shader-module
(:foreign-name "PFN_vkCreateShaderModule"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-shader-module-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-shader-module))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-shader-module
(:foreign-name "PFN_vkDestroyShaderModule"))
(:pointer
(:function
(vk-device
vk-shader-module
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-pipeline-cache
(:foreign-name "PFN_vkCreatePipelineCache"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-pipeline-cache-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-pipeline-cache))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-pipeline-cache
(:foreign-name "PFN_vkDestroyPipelineCache"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-pipeline-cache-data
(:foreign-name "PFN_vkGetPipelineCacheData"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
(:pointer :size-t)
(:pointer :void))
vk-result)))
(fli:define-c-typedef (pfn-vk-merge-pipeline-caches
(:foreign-name "PFN_vkMergePipelineCaches"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
:uint32
(:pointer (:const vk-pipeline-cache)))
vk-result)))
(fli:define-c-typedef (pfn-vk-create-graphics-pipelines
(:foreign-name "PFN_vkCreateGraphicsPipelines"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
:uint32
(:pointer
(:const vk-graphics-pipeline-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-pipeline))
vk-result)))
(fli:define-c-typedef (pfn-vk-create-compute-pipelines
(:foreign-name "PFN_vkCreateComputePipelines"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
:uint32
(:pointer
(:const vk-compute-pipeline-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-pipeline))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-pipeline
(:foreign-name "PFN_vkDestroyPipeline"))
(:pointer
(:function
(vk-device
vk-pipeline
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-pipeline-layout
(:foreign-name "PFN_vkCreatePipelineLayout"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-pipeline-layout-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-pipeline-layout))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-pipeline-layout
(:foreign-name "PFN_vkDestroyPipelineLayout"))
(:pointer
(:function
(vk-device
vk-pipeline-layout
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-sampler
(:foreign-name "PFN_vkCreateSampler"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-sampler-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-sampler))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-sampler
(:foreign-name "PFN_vkDestroySampler"))
(:pointer
(:function
(vk-device
vk-sampler
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-descriptor-set-layout
(:foreign-name
"PFN_vkCreateDescriptorSetLayout"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-descriptor-set-layout-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-descriptor-set-layout))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-descriptor-set-layout
(:foreign-name
"PFN_vkDestroyDescriptorSetLayout"))
(:pointer
(:function
(vk-device
vk-descriptor-set-layout
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-descriptor-pool
(:foreign-name "PFN_vkCreateDescriptorPool"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-descriptor-pool-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-descriptor-pool))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-descriptor-pool
(:foreign-name "PFN_vkDestroyDescriptorPool"))
(:pointer
(:function
(vk-device
vk-descriptor-pool
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-reset-descriptor-pool
(:foreign-name "PFN_vkResetDescriptorPool"))
(:pointer
(:function
(vk-device
vk-descriptor-pool
vk-descriptor-pool-reset-flags)
vk-result)))
(fli:define-c-typedef (pfn-vk-allocate-descriptor-sets
(:foreign-name "PFN_vkAllocateDescriptorSets"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-descriptor-set-allocate-info))
(:pointer vk-descriptor-set))
vk-result)))
(fli:define-c-typedef (pfn-vk-free-descriptor-sets
(:foreign-name "PFN_vkFreeDescriptorSets"))
(:pointer
(:function
(vk-device
vk-descriptor-pool
:uint32
(:pointer (:const vk-descriptor-set)))
vk-result)))
(fli:define-c-typedef (pfn-vk-update-descriptor-sets
(:foreign-name "PFN_vkUpdateDescriptorSets"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-write-descriptor-set))
:uint32
(:pointer (:const vk-copy-descriptor-set)))
:void)))
(fli:define-c-typedef (pfn-vk-create-framebuffer
(:foreign-name "PFN_vkCreateFramebuffer"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-framebuffer-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-framebuffer))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-framebuffer
(:foreign-name "PFN_vkDestroyFramebuffer"))
(:pointer
(:function
(vk-device
vk-framebuffer
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-render-pass
(:foreign-name "PFN_vkCreateRenderPass"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-render-pass-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-render-pass))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-render-pass
(:foreign-name "PFN_vkDestroyRenderPass"))
(:pointer
(:function
(vk-device
vk-render-pass
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-render-area-granularity
(:foreign-name
"PFN_vkGetRenderAreaGranularity"))
(:pointer
(:function
(vk-device
vk-render-pass
(:pointer vk-extent2-d))
:void)))
(fli:define-c-typedef (pfn-vk-create-command-pool
(:foreign-name "PFN_vkCreateCommandPool"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-command-pool-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-command-pool))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-command-pool
(:foreign-name "PFN_vkDestroyCommandPool"))
(:pointer
(:function
(vk-device
vk-command-pool
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-reset-command-pool
(:foreign-name "PFN_vkResetCommandPool"))
(:pointer
(:function
(vk-device
vk-command-pool
vk-command-pool-reset-flags)
vk-result)))
(fli:define-c-typedef (pfn-vk-allocate-command-buffers
(:foreign-name "PFN_vkAllocateCommandBuffers"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-command-buffer-allocate-info))
(:pointer vk-command-buffer))
vk-result)))
(fli:define-c-typedef (pfn-vk-free-command-buffers
(:foreign-name "PFN_vkFreeCommandBuffers"))
(:pointer
(:function
(vk-device
vk-command-pool
:uint32
(:pointer (:const vk-command-buffer)))
:void)))
(fli:define-c-typedef (pfn-vk-begin-command-buffer
(:foreign-name "PFN_vkBeginCommandBuffer"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-command-buffer-begin-info)))
vk-result)))
(fli:define-c-typedef (pfn-vk-end-command-buffer
(:foreign-name "PFN_vkEndCommandBuffer"))
(:pointer
(:function (vk-command-buffer) vk-result)))
(fli:define-c-typedef (pfn-vk-reset-command-buffer
(:foreign-name "PFN_vkResetCommandBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-command-buffer-reset-flags)
vk-result)))
(fli:define-c-typedef (pfn-vk-cmd-bind-pipeline
(:foreign-name "PFN_vkCmdBindPipeline"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-bind-point
vk-pipeline)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-viewport
(:foreign-name "PFN_vkCmdSetViewport"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-viewport)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-scissor
(:foreign-name "PFN_vkCmdSetScissor"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-rect2-d)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-line-width
(:foreign-name "PFN_vkCmdSetLineWidth"))
(:pointer
(:function (vk-command-buffer :float) :void)))
(fli:define-c-typedef (pfn-vk-cmd-set-depth-bias
(:foreign-name "PFN_vkCmdSetDepthBias"))
(:pointer
(:function
(vk-command-buffer :float :float :float)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-blend-constants
(:foreign-name "PFN_vkCmdSetBlendConstants"))
(:pointer
(:function
(vk-command-buffer
(:c-array (:const :float) 4))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-depth-bounds
(:foreign-name "PFN_vkCmdSetDepthBounds"))
(:pointer
(:function
(vk-command-buffer :float :float)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-stencil-compare-mask
(:foreign-name
"PFN_vkCmdSetStencilCompareMask"))
(:pointer
(:function
(vk-command-buffer
vk-stencil-face-flags
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-stencil-write-mask
(:foreign-name "PFN_vkCmdSetStencilWriteMask"))
(:pointer
(:function
(vk-command-buffer
vk-stencil-face-flags
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-stencil-reference
(:foreign-name "PFN_vkCmdSetStencilReference"))
(:pointer
(:function
(vk-command-buffer
vk-stencil-face-flags
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-bind-descriptor-sets
(:foreign-name "PFN_vkCmdBindDescriptorSets"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-bind-point
vk-pipeline-layout
:uint32
:uint32
(:pointer (:const vk-descriptor-set))
:uint32
(:pointer (:const :uint32)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-bind-index-buffer
(:foreign-name "PFN_vkCmdBindIndexBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-index-type)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-bind-vertex-buffers
(:foreign-name "PFN_vkCmdBindVertexBuffers"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-buffer))
(:pointer (:const vk-device-size)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw (:foreign-name "PFN_vkCmdDraw"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indexed
(:foreign-name "PFN_vkCmdDrawIndexed"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
:uint32
:int
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indirect
(:foreign-name "PFN_vkCmdDrawIndirect"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indexed-indirect
(:foreign-name "PFN_vkCmdDrawIndexedIndirect"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-dispatch
(:foreign-name "PFN_vkCmdDispatch"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-dispatch-indirect
(:foreign-name "PFN_vkCmdDispatchIndirect"))
(:pointer
(:function
(vk-command-buffer vk-buffer vk-device-size)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-buffer
(:foreign-name "PFN_vkCmdCopyBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-buffer
:uint32
(:pointer (:const vk-buffer-copy)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-image
(:foreign-name "PFN_vkCmdCopyImage"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
vk-image
vk-image-layout
:uint32
(:pointer (:const vk-image-copy)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-blit-image
(:foreign-name "PFN_vkCmdBlitImage"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
vk-image
vk-image-layout
:uint32
(:pointer (:const vk-image-blit))
vk-filter)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-buffer-to-image
(:foreign-name "PFN_vkCmdCopyBufferToImage"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-image
vk-image-layout
:uint32
(:pointer (:const vk-buffer-image-copy)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-image-to-buffer
(:foreign-name "PFN_vkCmdCopyImageToBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
vk-buffer
:uint32
(:pointer (:const vk-buffer-image-copy)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-update-buffer
(:foreign-name "PFN_vkCmdUpdateBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-device-size
(:pointer (:const :void)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-fill-buffer
(:foreign-name "PFN_vkCmdFillBuffer"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-device-size
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-clear-color-image
(:foreign-name "PFN_vkCmdClearColorImage"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
(:pointer (:const vk-clear-color-value))
:uint32
(:pointer
(:const vk-image-subresource-range)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-clear-depth-stencil-image
(:foreign-name
"PFN_vkCmdClearDepthStencilImage"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
(:pointer
(:const vk-clear-depth-stencil-value))
:uint32
(:pointer
(:const vk-image-subresource-range)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-clear-attachments
(:foreign-name "PFN_vkCmdClearAttachments"))
(:pointer
(:function
(vk-command-buffer
:uint32
(:pointer (:const vk-clear-attachment))
:uint32
(:pointer (:const vk-clear-rect)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-resolve-image
(:foreign-name "PFN_vkCmdResolveImage"))
(:pointer
(:function
(vk-command-buffer
vk-image
vk-image-layout
vk-image
vk-image-layout
:uint32
(:pointer (:const vk-image-resolve)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-event
(:foreign-name "PFN_vkCmdSetEvent"))
(:pointer
(:function
(vk-command-buffer
vk-event
vk-pipeline-stage-flags)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-reset-event
(:foreign-name "PFN_vkCmdResetEvent"))
(:pointer
(:function
(vk-command-buffer
vk-event
vk-pipeline-stage-flags)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-wait-events
(:foreign-name "PFN_vkCmdWaitEvents"))
(:pointer
(:function
(vk-command-buffer
:uint32
(:pointer (:const vk-event))
vk-pipeline-stage-flags
vk-pipeline-stage-flags
:uint32
(:pointer (:const vk-memory-barrier))
:uint32
(:pointer (:const vk-buffer-memory-barrier))
:uint32
(:pointer (:const vk-image-memory-barrier)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-pipeline-barrier
(:foreign-name "PFN_vkCmdPipelineBarrier"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-stage-flags
vk-pipeline-stage-flags
vk-dependency-flags
:uint32
(:pointer (:const vk-memory-barrier))
:uint32
(:pointer (:const vk-buffer-memory-barrier))
:uint32
(:pointer (:const vk-image-memory-barrier)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-begin-query
(:foreign-name "PFN_vkCmdBeginQuery"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32
vk-query-control-flags)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-query
(:foreign-name "PFN_vkCmdEndQuery"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-reset-query-pool
(:foreign-name "PFN_vkCmdResetQueryPool"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-write-timestamp
(:foreign-name "PFN_vkCmdWriteTimestamp"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-stage-flag-bits
vk-query-pool
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-query-pool-results
(:foreign-name "PFN_vkCmdCopyQueryPoolResults"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32
:uint32
vk-buffer
vk-device-size
vk-device-size
vk-query-result-flags)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-push-constants
(:foreign-name "PFN_vkCmdPushConstants"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-layout
vk-shader-stage-flags
:uint32
:uint32
(:pointer (:const :void)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-begin-render-pass
(:foreign-name "PFN_vkCmdBeginRenderPass"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-render-pass-begin-info))
vk-subpass-contents)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-next-subpass
(:foreign-name "PFN_vkCmdNextSubpass"))
(:pointer
(:function
(vk-command-buffer vk-subpass-contents)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-render-pass
(:foreign-name "PFN_vkCmdEndRenderPass"))
(:pointer (:function (vk-command-buffer) :void)))
(fli:define-c-typedef (pfn-vk-cmd-execute-commands
(:foreign-name "PFN_vkCmdExecuteCommands"))
(:pointer
(:function
(vk-command-buffer
:uint32
(:pointer (:const vk-command-buffer)))
:void)))
(fli:define-foreign-function (vk-create-instance
"vkCreateInstance"
:source)
((p-create-info
(:pointer
(:const vk-instance-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-instance (:pointer vk-instance)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-instance
"vkDestroyInstance"
:source)
((instance vk-instance)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-physical-devices
"vkEnumeratePhysicalDevices"
:source)
((instance vk-instance)
(p-physical-device-count
(:pointer :uint32))
(p-physical-devices
(:pointer vk-physical-device)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-features
"vkGetPhysicalDeviceFeatures"
:source)
((physical-device vk-physical-device)
(p-features
(:pointer vk-physical-device-features)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-format-properties
"vkGetPhysicalDeviceFormatProperties"
:source)
((physical-device vk-physical-device)
(format vk-format)
(p-format-properties
(:pointer vk-format-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-image-format-properties
"vkGetPhysicalDeviceImageFormatProperties"
:source)
((physical-device vk-physical-device)
(format vk-format)
(type vk-image-type)
(tiling vk-image-tiling)
(usage vk-image-usage-flags)
(flags vk-image-create-flags)
(p-image-format-properties
(:pointer vk-image-format-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-properties
"vkGetPhysicalDeviceProperties"
:source)
((physical-device vk-physical-device)
(p-properties
(:pointer
vk-physical-device-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-queue-family-properties
"vkGetPhysicalDeviceQueueFamilyProperties"
:source)
((physical-device vk-physical-device)
(p-queue-family-property-count
(:pointer :uint32))
(p-queue-family-properties
(:pointer vk-queue-family-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-memory-properties
"vkGetPhysicalDeviceMemoryProperties"
:source)
((physical-device vk-physical-device)
(p-memory-properties
(:pointer
vk-physical-device-memory-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-instance-proc-addr
"vkGetInstanceProcAddr"
:source)
((instance vk-instance)
(p-name (:pointer (:const :char))))
:result-type
pfn-vk-void-function
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-proc-addr
"vkGetDeviceProcAddr"
:source)
((device vk-device)
(p-name (:pointer (:const :char))))
:result-type
pfn-vk-void-function
:language
:ansi-c)
(fli:define-foreign-function (vk-create-device
"vkCreateDevice"
:source)
((physical-device vk-physical-device)
(p-create-info
(:pointer
(:const vk-device-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-device (:pointer vk-device)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-device
"vkDestroyDevice"
:source)
((device vk-device)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-instance-extension-properties
"vkEnumerateInstanceExtensionProperties"
:source)
((p-layer-name (:pointer (:const :char)))
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-extension-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-device-extension-properties
"vkEnumerateDeviceExtensionProperties"
:source)
((physical-device vk-physical-device)
(p-layer-name (:pointer (:const :char)))
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-extension-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-instance-layer-properties
"vkEnumerateInstanceLayerProperties"
:source)
((p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-layer-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-device-layer-properties
"vkEnumerateDeviceLayerProperties"
:source)
((physical-device vk-physical-device)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-layer-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-queue
"vkGetDeviceQueue"
:source)
((device vk-device)
(queue-family-index :uint32)
(queue-index :uint32)
(p-queue (:pointer vk-queue)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-submit "vkQueueSubmit" :source)
((queue vk-queue)
(submit-count :uint32)
(p-submits
(:pointer (:const vk-submit-info)))
(fence vk-fence))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-wait-idle
"vkQueueWaitIdle"
:source)
((queue vk-queue))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-device-wait-idle
"vkDeviceWaitIdle"
:source)
((device vk-device))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-allocate-memory
"vkAllocateMemory"
:source)
((device vk-device)
(p-allocate-info
(:pointer
(:const vk-memory-allocate-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-memory (:pointer vk-device-memory)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-free-memory "vkFreeMemory" :source)
((device vk-device)
(memory vk-device-memory)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-map-memory "vkMapMemory" :source)
((device vk-device)
(memory vk-device-memory)
(offset vk-device-size)
(size vk-device-size)
(flags vk-memory-map-flags)
(pp-data (:pointer (:pointer :void))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-unmap-memory "vkUnmapMemory" :source)
((device vk-device)
(memory vk-device-memory))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-flush-mapped-memory-ranges
"vkFlushMappedMemoryRanges"
:source)
((device vk-device)
(memory-range-count :uint32)
(p-memory-ranges
(:pointer
(:const vk-mapped-memory-range))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-invalidate-mapped-memory-ranges
"vkInvalidateMappedMemoryRanges"
:source)
((device vk-device)
(memory-range-count :uint32)
(p-memory-ranges
(:pointer
(:const vk-mapped-memory-range))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-memory-commitment
"vkGetDeviceMemoryCommitment"
:source)
((device vk-device)
(memory vk-device-memory)
(p-committed-memory-in-bytes
(:pointer vk-device-size)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-buffer-memory
"vkBindBufferMemory"
:source)
((device vk-device)
(buffer vk-buffer)
(memory vk-device-memory)
(memory-offset vk-device-size))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-image-memory
"vkBindImageMemory"
:source)
((device vk-device)
(image vk-image)
(memory vk-device-memory)
(memory-offset vk-device-size))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-buffer-memory-requirements
"vkGetBufferMemoryRequirements"
:source)
((device vk-device)
(buffer vk-buffer)
(p-memory-requirements
(:pointer vk-memory-requirements)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-memory-requirements
"vkGetImageMemoryRequirements"
:source)
((device vk-device)
(image vk-image)
(p-memory-requirements
(:pointer vk-memory-requirements)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-sparse-memory-requirements
"vkGetImageSparseMemoryRequirements"
:source)
((device vk-device)
(image vk-image)
(p-sparse-memory-requirement-count
(:pointer :uint32))
(p-sparse-memory-requirements
(:pointer
vk-sparse-image-memory-requirements)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-sparse-image-format-properties
"vkGetPhysicalDeviceSparseImageFormatProperties"
:source)
((physical-device vk-physical-device)
(format vk-format)
(type vk-image-type)
(samples vk-sample-count-flag-bits)
(usage vk-image-usage-flags)
(tiling vk-image-tiling)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-sparse-image-format-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-bind-sparse
"vkQueueBindSparse"
:source)
((queue vk-queue)
(bind-info-count :uint32)
(p-bind-info
(:pointer (:const vk-bind-sparse-info)))
(fence vk-fence))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-fence "vkCreateFence" :source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-fence-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-fence (:pointer vk-fence)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-fence
"vkDestroyFence"
:source)
((device vk-device)
(fence vk-fence)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-reset-fences "vkResetFences" :source)
((device vk-device)
(fence-count :uint32)
(p-fences (:pointer (:const vk-fence))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-fence-status
"vkGetFenceStatus"
:source)
((device vk-device) (fence vk-fence))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-wait-for-fences
"vkWaitForFences"
:source)
((device vk-device)
(fence-count :uint32)
(p-fences (:pointer (:const vk-fence)))
(wait-all vk-bool32)
(timeout :uint64))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-semaphore
"vkCreateSemaphore"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-semaphore-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-semaphore (:pointer vk-semaphore)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-semaphore
"vkDestroySemaphore"
:source)
((device vk-device)
(semaphore vk-semaphore)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-event "vkCreateEvent" :source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-event-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-event (:pointer vk-event)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-event
"vkDestroyEvent"
:source)
((device vk-device)
(event vk-event)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-event-status
"vkGetEventStatus"
:source)
((device vk-device) (event vk-event))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-set-event "vkSetEvent" :source)
((device vk-device) (event vk-event))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-reset-event "vkResetEvent" :source)
((device vk-device) (event vk-event))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-query-pool
"vkCreateQueryPool"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-query-pool-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-query-pool (:pointer vk-query-pool)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-query-pool
"vkDestroyQueryPool"
:source)
((device vk-device)
(query-pool vk-query-pool)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-query-pool-results
"vkGetQueryPoolResults"
:source)
((device vk-device)
(query-pool vk-query-pool)
(first-query :uint32)
(query-count :uint32)
(data-size :size-t)
(p-data (:pointer :void))
(stride vk-device-size)
(flags vk-query-result-flags))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-buffer
"vkCreateBuffer"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-buffer-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-buffer (:pointer vk-buffer)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-buffer
"vkDestroyBuffer"
:source)
((device vk-device)
(buffer vk-buffer)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-buffer-view
"vkCreateBufferView"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-buffer-view-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-view (:pointer vk-buffer-view)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-buffer-view
"vkDestroyBufferView"
:source)
((device vk-device)
(buffer-view vk-buffer-view)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-image "vkCreateImage" :source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-image-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-image (:pointer vk-image)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-image
"vkDestroyImage"
:source)
((device vk-device)
(image vk-image)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-subresource-layout
"vkGetImageSubresourceLayout"
:source)
((device vk-device)
(image vk-image)
(p-subresource
(:pointer
(:const vk-image-subresource)))
(p-layout
(:pointer vk-subresource-layout)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-image-view
"vkCreateImageView"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-image-view-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-view (:pointer vk-image-view)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-image-view
"vkDestroyImageView"
:source)
((device vk-device)
(image-view vk-image-view)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-shader-module
"vkCreateShaderModule"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-shader-module-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-shader-module
(:pointer vk-shader-module)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-shader-module
"vkDestroyShaderModule"
:source)
((device vk-device)
(shader-module vk-shader-module)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-pipeline-cache
"vkCreatePipelineCache"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-pipeline-cache-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-pipeline-cache
(:pointer vk-pipeline-cache)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-pipeline-cache
"vkDestroyPipelineCache"
:source)
((device vk-device)
(pipeline-cache vk-pipeline-cache)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-pipeline-cache-data
"vkGetPipelineCacheData"
:source)
((device vk-device)
(pipeline-cache vk-pipeline-cache)
(p-data-size (:pointer :size-t))
(p-data (:pointer :void)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-merge-pipeline-caches
"vkMergePipelineCaches"
:source)
((device vk-device)
(dst-cache vk-pipeline-cache)
(src-cache-count :uint32)
(p-src-caches
(:pointer (:const vk-pipeline-cache))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-graphics-pipelines
"vkCreateGraphicsPipelines"
:source)
((device vk-device)
(pipeline-cache vk-pipeline-cache)
(create-info-count :uint32)
(p-create-infos
(:pointer
(:const
vk-graphics-pipeline-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-pipelines (:pointer vk-pipeline)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-compute-pipelines
"vkCreateComputePipelines"
:source)
((device vk-device)
(pipeline-cache vk-pipeline-cache)
(create-info-count :uint32)
(p-create-infos
(:pointer
(:const
vk-compute-pipeline-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-pipelines (:pointer vk-pipeline)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-pipeline
"vkDestroyPipeline"
:source)
((device vk-device)
(pipeline vk-pipeline)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-pipeline-layout
"vkCreatePipelineLayout"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-pipeline-layout-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-pipeline-layout
(:pointer vk-pipeline-layout)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-pipeline-layout
"vkDestroyPipelineLayout"
:source)
((device vk-device)
(pipeline-layout vk-pipeline-layout)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-sampler
"vkCreateSampler"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-sampler-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-sampler (:pointer vk-sampler)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-sampler
"vkDestroySampler"
:source)
((device vk-device)
(sampler vk-sampler)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-descriptor-set-layout
"vkCreateDescriptorSetLayout"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-set-layout-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-set-layout
(:pointer vk-descriptor-set-layout)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-descriptor-set-layout
"vkDestroyDescriptorSetLayout"
:source)
((device vk-device)
(descriptor-set-layout
vk-descriptor-set-layout)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-descriptor-pool
"vkCreateDescriptorPool"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-pool-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-descriptor-pool
(:pointer vk-descriptor-pool)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-descriptor-pool
"vkDestroyDescriptorPool"
:source)
((device vk-device)
(descriptor-pool vk-descriptor-pool)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-reset-descriptor-pool
"vkResetDescriptorPool"
:source)
((device vk-device)
(descriptor-pool vk-descriptor-pool)
(flags vk-descriptor-pool-reset-flags))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-allocate-descriptor-sets
"vkAllocateDescriptorSets"
:source)
((device vk-device)
(p-allocate-info
(:pointer
(:const
vk-descriptor-set-allocate-info)))
(p-descriptor-sets
(:pointer vk-descriptor-set)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-free-descriptor-sets
"vkFreeDescriptorSets"
:source)
((device vk-device)
(descriptor-pool vk-descriptor-pool)
(descriptor-set-count :uint32)
(p-descriptor-sets
(:pointer (:const vk-descriptor-set))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-update-descriptor-sets
"vkUpdateDescriptorSets"
:source)
((device vk-device)
(descriptor-write-count :uint32)
(p-descriptor-writes
(:pointer
(:const vk-write-descriptor-set)))
(descriptor-copy-count :uint32)
(p-descriptor-copies
(:pointer
(:const vk-copy-descriptor-set))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-framebuffer
"vkCreateFramebuffer"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-framebuffer-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-framebuffer
(:pointer vk-framebuffer)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-framebuffer
"vkDestroyFramebuffer"
:source)
((device vk-device)
(framebuffer vk-framebuffer)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-render-pass
"vkCreateRenderPass"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-render-pass-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-render-pass
(:pointer vk-render-pass)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-render-pass
"vkDestroyRenderPass"
:source)
((device vk-device)
(render-pass vk-render-pass)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-render-area-granularity
"vkGetRenderAreaGranularity"
:source)
((device vk-device)
(render-pass vk-render-pass)
(p-granularity (:pointer vk-extent2-d)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-command-pool
"vkCreateCommandPool"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-command-pool-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-command-pool
(:pointer vk-command-pool)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-command-pool
"vkDestroyCommandPool"
:source)
((device vk-device)
(command-pool vk-command-pool)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-reset-command-pool
"vkResetCommandPool"
:source)
((device vk-device)
(command-pool vk-command-pool)
(flags vk-command-pool-reset-flags))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-allocate-command-buffers
"vkAllocateCommandBuffers"
:source)
((device vk-device)
(p-allocate-info
(:pointer
(:const
vk-command-buffer-allocate-info)))
(p-command-buffers
(:pointer vk-command-buffer)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-free-command-buffers
"vkFreeCommandBuffers"
:source)
((device vk-device)
(command-pool vk-command-pool)
(command-buffer-count :uint32)
(p-command-buffers
(:pointer (:const vk-command-buffer))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-begin-command-buffer
"vkBeginCommandBuffer"
:source)
((command-buffer vk-command-buffer)
(p-begin-info
(:pointer
(:const
vk-command-buffer-begin-info))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-end-command-buffer
"vkEndCommandBuffer"
:source)
((command-buffer vk-command-buffer))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-reset-command-buffer
"vkResetCommandBuffer"
:source)
((command-buffer vk-command-buffer)
(flags vk-command-buffer-reset-flags))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-bind-pipeline
"vkCmdBindPipeline"
:source)
((command-buffer vk-command-buffer)
(pipeline-bind-point
vk-pipeline-bind-point)
(pipeline vk-pipeline))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-viewport
"vkCmdSetViewport"
:source)
((command-buffer vk-command-buffer)
(first-viewport :uint32)
(viewport-count :uint32)
(p-viewports
(:pointer (:const vk-viewport))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-scissor
"vkCmdSetScissor"
:source)
((command-buffer vk-command-buffer)
(first-scissor :uint32)
(scissor-count :uint32)
(p-scissors
(:pointer (:const vk-rect2-d))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-line-width
"vkCmdSetLineWidth"
:source)
((command-buffer vk-command-buffer)
(line-width :float))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-depth-bias
"vkCmdSetDepthBias"
:source)
((command-buffer vk-command-buffer)
(depth-bias-constant-factor :float)
(depth-bias-clamp :float)
(depth-bias-slope-factor :float))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-blend-constants
"vkCmdSetBlendConstants"
:source)
((command-buffer vk-command-buffer)
(blend-constants
(:c-array (:const :float) 4)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-depth-bounds
"vkCmdSetDepthBounds"
:source)
((command-buffer vk-command-buffer)
(min-depth-bounds :float)
(max-depth-bounds :float))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-stencil-compare-mask
"vkCmdSetStencilCompareMask"
:source)
((command-buffer vk-command-buffer)
(face-mask vk-stencil-face-flags)
(compare-mask :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-stencil-write-mask
"vkCmdSetStencilWriteMask"
:source)
((command-buffer vk-command-buffer)
(face-mask vk-stencil-face-flags)
(write-mask :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-stencil-reference
"vkCmdSetStencilReference"
:source)
((command-buffer vk-command-buffer)
(face-mask vk-stencil-face-flags)
(reference :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-bind-descriptor-sets
"vkCmdBindDescriptorSets"
:source)
((command-buffer vk-command-buffer)
(pipeline-bind-point
vk-pipeline-bind-point)
(layout vk-pipeline-layout)
(first-set :uint32)
(descriptor-set-count :uint32)
(p-descriptor-sets
(:pointer (:const vk-descriptor-set)))
(dynamic-offset-count :uint32)
(p-dynamic-offsets
(:pointer (:const :uint32))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-bind-index-buffer
"vkCmdBindIndexBuffer"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(index-type vk-index-type))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-bind-vertex-buffers
"vkCmdBindVertexBuffers"
:source)
((command-buffer vk-command-buffer)
(first-binding :uint32)
(binding-count :uint32)
(p-buffers (:pointer (:const vk-buffer)))
(p-offsets
(:pointer (:const vk-device-size))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw "vkCmdDraw" :source)
((command-buffer vk-command-buffer)
(vertex-count :uint32)
(instance-count :uint32)
(first-vertex :uint32)
(first-instance :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indexed
"vkCmdDrawIndexed"
:source)
((command-buffer vk-command-buffer)
(index-count :uint32)
(instance-count :uint32)
(first-index :uint32)
(vertex-offset :int)
(first-instance :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indirect
"vkCmdDrawIndirect"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indexed-indirect
"vkCmdDrawIndexedIndirect"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-dispatch "vkCmdDispatch" :source)
((command-buffer vk-command-buffer)
(group-count-x :uint32)
(group-count-y :uint32)
(group-count-z :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-dispatch-indirect
"vkCmdDispatchIndirect"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-buffer
"vkCmdCopyBuffer"
:source)
((command-buffer vk-command-buffer)
(src-buffer vk-buffer)
(dst-buffer vk-buffer)
(region-count :uint32)
(p-regions
(:pointer (:const vk-buffer-copy))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-image
"vkCmdCopyImage"
:source)
((command-buffer vk-command-buffer)
(src-image vk-image)
(src-image-layout vk-image-layout)
(dst-image vk-image)
(dst-image-layout vk-image-layout)
(region-count :uint32)
(p-regions
(:pointer (:const vk-image-copy))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-blit-image
"vkCmdBlitImage"
:source)
((command-buffer vk-command-buffer)
(src-image vk-image)
(src-image-layout vk-image-layout)
(dst-image vk-image)
(dst-image-layout vk-image-layout)
(region-count :uint32)
(p-regions
(:pointer (:const vk-image-blit)))
(filter vk-filter))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-buffer-to-image
"vkCmdCopyBufferToImage"
:source)
((command-buffer vk-command-buffer)
(src-buffer vk-buffer)
(dst-image vk-image)
(dst-image-layout vk-image-layout)
(region-count :uint32)
(p-regions
(:pointer
(:const vk-buffer-image-copy))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-image-to-buffer
"vkCmdCopyImageToBuffer"
:source)
((command-buffer vk-command-buffer)
(src-image vk-image)
(src-image-layout vk-image-layout)
(dst-buffer vk-buffer)
(region-count :uint32)
(p-regions
(:pointer
(:const vk-buffer-image-copy))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-update-buffer
"vkCmdUpdateBuffer"
:source)
((command-buffer vk-command-buffer)
(dst-buffer vk-buffer)
(dst-offset vk-device-size)
(data-size vk-device-size)
(p-data (:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-fill-buffer
"vkCmdFillBuffer"
:source)
((command-buffer vk-command-buffer)
(dst-buffer vk-buffer)
(dst-offset vk-device-size)
(size vk-device-size)
(data :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-clear-color-image
"vkCmdClearColorImage"
:source)
((command-buffer vk-command-buffer)
(image vk-image)
(image-layout vk-image-layout)
(p-color
(:pointer
(:const vk-clear-color-value)))
(range-count :uint32)
(p-ranges
(:pointer
(:const vk-image-subresource-range))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-clear-depth-stencil-image
"vkCmdClearDepthStencilImage"
:source)
((command-buffer vk-command-buffer)
(image vk-image)
(image-layout vk-image-layout)
(p-depth-stencil
(:pointer
(:const vk-clear-depth-stencil-value)))
(range-count :uint32)
(p-ranges
(:pointer
(:const vk-image-subresource-range))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-clear-attachments
"vkCmdClearAttachments"
:source)
((command-buffer vk-command-buffer)
(attachment-count :uint32)
(p-attachments
(:pointer (:const vk-clear-attachment)))
(rect-count :uint32)
(p-rects
(:pointer (:const vk-clear-rect))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-resolve-image
"vkCmdResolveImage"
:source)
((command-buffer vk-command-buffer)
(src-image vk-image)
(src-image-layout vk-image-layout)
(dst-image vk-image)
(dst-image-layout vk-image-layout)
(region-count :uint32)
(p-regions
(:pointer (:const vk-image-resolve))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-event "vkCmdSetEvent" :source)
((command-buffer vk-command-buffer)
(event vk-event)
(stage-mask vk-pipeline-stage-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-reset-event
"vkCmdResetEvent"
:source)
((command-buffer vk-command-buffer)
(event vk-event)
(stage-mask vk-pipeline-stage-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-wait-events
"vkCmdWaitEvents"
:source)
((command-buffer vk-command-buffer)
(event-count :uint32)
(p-events (:pointer (:const vk-event)))
(src-stage-mask vk-pipeline-stage-flags)
(dst-stage-mask vk-pipeline-stage-flags)
(memory-barrier-count :uint32)
(p-memory-barriers
(:pointer (:const vk-memory-barrier)))
(buffer-memory-barrier-count
:uint32)
(p-buffer-memory-barriers
(:pointer
(:const vk-buffer-memory-barrier)))
(image-memory-barrier-count
:uint32)
(p-image-memory-barriers
(:pointer
(:const vk-image-memory-barrier))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-pipeline-barrier
"vkCmdPipelineBarrier"
:source)
((command-buffer vk-command-buffer)
(src-stage-mask vk-pipeline-stage-flags)
(dst-stage-mask vk-pipeline-stage-flags)
(dependency-flags vk-dependency-flags)
(memory-barrier-count :uint32)
(p-memory-barriers
(:pointer (:const vk-memory-barrier)))
(buffer-memory-barrier-count
:uint32)
(p-buffer-memory-barriers
(:pointer
(:const vk-buffer-memory-barrier)))
(image-memory-barrier-count
:uint32)
(p-image-memory-barriers
(:pointer
(:const vk-image-memory-barrier))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-query
"vkCmdBeginQuery"
:source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(query :uint32)
(flags vk-query-control-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-query "vkCmdEndQuery" :source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(query :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-reset-query-pool
"vkCmdResetQueryPool"
:source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(first-query :uint32)
(query-count :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-write-timestamp
"vkCmdWriteTimestamp"
:source)
((command-buffer vk-command-buffer)
(pipeline-stage
vk-pipeline-stage-flag-bits)
(query-pool vk-query-pool)
(query :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-query-pool-results
"vkCmdCopyQueryPoolResults"
:source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(first-query :uint32)
(query-count :uint32)
(dst-buffer vk-buffer)
(dst-offset vk-device-size)
(stride vk-device-size)
(flags vk-query-result-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-push-constants
"vkCmdPushConstants"
:source)
((command-buffer vk-command-buffer)
(layout vk-pipeline-layout)
(stage-flags vk-shader-stage-flags)
(offset :uint32)
(size :uint32)
(p-values (:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-render-pass
"vkCmdBeginRenderPass"
:source)
((command-buffer vk-command-buffer)
(p-render-pass-begin
(:pointer
(:const vk-render-pass-begin-info)))
(contents vk-subpass-contents))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-next-subpass
"vkCmdNextSubpass"
:source)
((command-buffer vk-command-buffer)
(contents vk-subpass-contents))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-render-pass
"vkCmdEndRenderPass"
:source)
((command-buffer vk-command-buffer))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-execute-commands
"vkCmdExecuteCommands"
:source)
((command-buffer vk-command-buffer)
(command-buffer-count :uint32)
(p-command-buffers
(:pointer (:const vk-command-buffer))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-sampler-ycbcr-conversion-t
(:foreign-name "VkSamplerYcbcrConversion_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-sampler-ycbcr-conversion
(:foreign-name "VkSamplerYcbcrConversion"))
(:pointer
(:struct vk-sampler-ycbcr-conversion-t)))
(fli:define-c-struct (vk-descriptor-update-template-t
(:foreign-name "VkDescriptorUpdateTemplate_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-descriptor-update-template
(:foreign-name "VkDescriptorUpdateTemplate"))
(:pointer
(:struct vk-descriptor-update-template-t)))
(fli:define-c-enum (vk-point-clipping-behavior
(:foreign-name "VkPointClippingBehavior"))
(vk-point-clipping-behavior-all-clip-planes 0)
(vk-point-clipping-behavior-user-clip-planes-only 1)
(vk-point-clipping-behavior-all-clip-planes-khr 0)
(vk-point-clipping-behavior-user-clip-planes-only-khr
1)
(vk-point-clipping-behavior-begin-range 0)
(vk-point-clipping-behavior-end-range 1)
(vk-point-clipping-behavior-range-size 2)
(vk-point-clipping-behavior-max-enum 2147483647))
(fli:define-c-typedef (vk-point-clipping-behavior
(:foreign-name "VkPointClippingBehavior"))
(:enum vk-point-clipping-behavior))
(fli:define-c-enum (vk-tessellation-domain-origin
(:foreign-name "VkTessellationDomainOrigin"))
(vk-tessellation-domain-origin-upper-left 0)
(vk-tessellation-domain-origin-lower-left 1)
(vk-tessellation-domain-origin-upper-left-khr 0)
(vk-tessellation-domain-origin-lower-left-khr 1)
(vk-tessellation-domain-origin-begin-range 0)
(vk-tessellation-domain-origin-end-range 1)
(vk-tessellation-domain-origin-range-size 2)
(vk-tessellation-domain-origin-max-enum 2147483647))
(fli:define-c-typedef (vk-tessellation-domain-origin
(:foreign-name "VkTessellationDomainOrigin"))
(:enum vk-tessellation-domain-origin))
(fli:define-c-enum (vk-sampler-ycbcr-model-conversion
(:foreign-name "VkSamplerYcbcrModelConversion"))
(vk-sampler-ycbcr-model-conversion-rgb-identity 0)
(vk-sampler-ycbcr-model-conversion-ycbcr-identity 1)
(vk-sampler-ycbcr-model-conversion-ycbcr-709 2)
(vk-sampler-ycbcr-model-conversion-ycbcr-601 3)
(vk-sampler-ycbcr-model-conversion-ycbcr-2020 4)
(vk-sampler-ycbcr-model-conversion-rgb-identity-khr
0)
(vk-sampler-ycbcr-model-conversion-ycbcr-identity-khr
1)
(vk-sampler-ycbcr-model-conversion-ycbcr-709-khr 2)
(vk-sampler-ycbcr-model-conversion-ycbcr-601-khr 3)
(vk-sampler-ycbcr-model-conversion-ycbcr-2020-khr 4)
(vk-sampler-ycbcr-model-conversion-begin-range 0)
(vk-sampler-ycbcr-model-conversion-end-range 4)
(vk-sampler-ycbcr-model-conversion-range-size 5)
(vk-sampler-ycbcr-model-conversion-max-enum
2147483647))
(fli:define-c-typedef (vk-sampler-ycbcr-model-conversion
(:foreign-name "VkSamplerYcbcrModelConversion"))
(:enum vk-sampler-ycbcr-model-conversion))
(fli:define-c-enum (vk-sampler-ycbcr-range
(:foreign-name "VkSamplerYcbcrRange"))
(vk-sampler-ycbcr-range-itu-full 0)
(vk-sampler-ycbcr-range-itu-narrow 1)
(vk-sampler-ycbcr-range-itu-full-khr 0)
(vk-sampler-ycbcr-range-itu-narrow-khr 1)
(vk-sampler-ycbcr-range-begin-range 0)
(vk-sampler-ycbcr-range-end-range 1)
(vk-sampler-ycbcr-range-range-size 2)
(vk-sampler-ycbcr-range-max-enum 2147483647))
(fli:define-c-typedef (vk-sampler-ycbcr-range
(:foreign-name "VkSamplerYcbcrRange"))
(:enum vk-sampler-ycbcr-range))
(fli:define-c-enum (vk-chroma-location
(:foreign-name "VkChromaLocation"))
(vk-chroma-location-cosited-even 0)
(vk-chroma-location-midpoint 1)
(vk-chroma-location-cosited-even-khr 0)
(vk-chroma-location-midpoint-khr 1)
(vk-chroma-location-begin-range 0)
(vk-chroma-location-end-range 1)
(vk-chroma-location-range-size 2)
(vk-chroma-location-max-enum 2147483647))
(fli:define-c-typedef (vk-chroma-location
(:foreign-name "VkChromaLocation"))
(:enum vk-chroma-location))
(fli:define-c-enum (vk-descriptor-update-template-type
(:foreign-name "VkDescriptorUpdateTemplateType"))
(vk-descriptor-update-template-type-descriptor-set
0)
(vk-descriptor-update-template-type-push-descriptors-khr
1)
(vk-descriptor-update-template-type-descriptor-set-khr
0)
(vk-descriptor-update-template-type-begin-range 0)
(vk-descriptor-update-template-type-end-range 0)
(vk-descriptor-update-template-type-range-size 1)
(vk-descriptor-update-template-type-max-enum
2147483647))
(fli:define-c-typedef (vk-descriptor-update-template-type
(:foreign-name
"VkDescriptorUpdateTemplateType"))
(:enum vk-descriptor-update-template-type))
(fli:define-c-enum (vk-subgroup-feature-flag-bits
(:foreign-name "VkSubgroupFeatureFlagBits"))
(vk-subgroup-feature-basic-bit 1)
(vk-subgroup-feature-vote-bit 2)
(vk-subgroup-feature-arithmetic-bit 4)
(vk-subgroup-feature-ballot-bit 8)
(vk-subgroup-feature-shuffle-bit 16)
(vk-subgroup-feature-shuffle-relative-bit 32)
(vk-subgroup-feature-clustered-bit 64)
(vk-subgroup-feature-quad-bit 128)
(vk-subgroup-feature-partitioned-bit-nv 256)
(vk-subgroup-feature-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-subgroup-feature-flag-bits
(:foreign-name "VkSubgroupFeatureFlagBits"))
(:enum vk-subgroup-feature-flag-bits))
(fli:define-c-typedef (vk-subgroup-feature-flags
(:foreign-name "VkSubgroupFeatureFlags"))
vk-flags)
(fli:define-c-enum (vk-peer-memory-feature-flag-bits
(:foreign-name "VkPeerMemoryFeatureFlagBits"))
(vk-peer-memory-feature-copy-src-bit 1)
(vk-peer-memory-feature-copy-dst-bit 2)
(vk-peer-memory-feature-generic-src-bit 4)
(vk-peer-memory-feature-generic-dst-bit 8)
(vk-peer-memory-feature-copy-src-bit-khr 1)
(vk-peer-memory-feature-copy-dst-bit-khr 2)
(vk-peer-memory-feature-generic-src-bit-khr 4)
(vk-peer-memory-feature-generic-dst-bit-khr 8)
(vk-peer-memory-feature-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-peer-memory-feature-flag-bits
(:foreign-name "VkPeerMemoryFeatureFlagBits"))
(:enum vk-peer-memory-feature-flag-bits))
(fli:define-c-typedef (vk-peer-memory-feature-flags
(:foreign-name "VkPeerMemoryFeatureFlags"))
vk-flags)
(fli:define-c-enum (vk-memory-allocate-flag-bits
(:foreign-name "VkMemoryAllocateFlagBits"))
(vk-memory-allocate-device-mask-bit 1)
(vk-memory-allocate-device-mask-bit-khr 1)
(vk-memory-allocate-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-memory-allocate-flag-bits
(:foreign-name "VkMemoryAllocateFlagBits"))
(:enum vk-memory-allocate-flag-bits))
(fli:define-c-typedef (vk-memory-allocate-flags
(:foreign-name "VkMemoryAllocateFlags"))
vk-flags)
(fli:define-c-typedef (vk-command-pool-trim-flags
(:foreign-name "VkCommandPoolTrimFlags"))
vk-flags)
(fli:define-c-typedef (vk-descriptor-update-template-create-flags
(:foreign-name
"VkDescriptorUpdateTemplateCreateFlags"))
vk-flags)
(fli:define-c-enum (vk-external-memory-handle-type-flag-bits
(:foreign-name
"VkExternalMemoryHandleTypeFlagBits"))
(vk-external-memory-handle-type-opaque-fd-bit 1)
(vk-external-memory-handle-type-opaque-win32-bit 2)
(vk-external-memory-handle-type-opaque-win32-kmt-bit
4)
(vk-external-memory-handle-type-d3-d11-texture-bit
8)
(vk-external-memory-handle-type-d3-d11-texture-kmt-bit
16)
(vk-external-memory-handle-type-d3-d12-heap-bit 32)
(vk-external-memory-handle-type-d3-d12-resource-bit
64)
(vk-external-memory-handle-type-dma-buf-bit-ext 512)
(vk-external-memory-handle-type-android-hardware-buffer-bit-android
1024)
(vk-external-memory-handle-type-host-allocation-bit-ext
128)
(vk-external-memory-handle-type-host-mapped-foreign-memory-bit-ext
256)
(vk-external-memory-handle-type-opaque-fd-bit-khr 1)
(vk-external-memory-handle-type-opaque-win32-bit-khr
2)
(vk-external-memory-handle-type-opaque-win32-kmt-bit-khr
4)
(vk-external-memory-handle-type-d3-d11-texture-bit-khr
8)
(vk-external-memory-handle-type-d3-d11-texture-kmt-bit-khr
16)
(vk-external-memory-handle-type-d3-d12-heap-bit-khr
32)
(vk-external-memory-handle-type-d3-d12-resource-bit-khr
64)
(vk-external-memory-handle-type-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-memory-handle-type-flag-bits
(:foreign-name
"VkExternalMemoryHandleTypeFlagBits"))
(:enum vk-external-memory-handle-type-flag-bits))
(fli:define-c-typedef (vk-external-memory-handle-type-flags
(:foreign-name
"VkExternalMemoryHandleTypeFlags"))
vk-flags)
(fli:define-c-enum (vk-external-memory-feature-flag-bits
(:foreign-name "VkExternalMemoryFeatureFlagBits"))
(vk-external-memory-feature-dedicated-only-bit 1)
(vk-external-memory-feature-exportable-bit 2)
(vk-external-memory-feature-importable-bit 4)
(vk-external-memory-feature-dedicated-only-bit-khr
1)
(vk-external-memory-feature-exportable-bit-khr 2)
(vk-external-memory-feature-importable-bit-khr 4)
(vk-external-memory-feature-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-memory-feature-flag-bits
(:foreign-name
"VkExternalMemoryFeatureFlagBits"))
(:enum vk-external-memory-feature-flag-bits))
(fli:define-c-typedef (vk-external-memory-feature-flags
(:foreign-name "VkExternalMemoryFeatureFlags"))
vk-flags)
(fli:define-c-enum (vk-external-fence-handle-type-flag-bits
(:foreign-name
"VkExternalFenceHandleTypeFlagBits"))
(vk-external-fence-handle-type-opaque-fd-bit 1)
(vk-external-fence-handle-type-opaque-win32-bit 2)
(vk-external-fence-handle-type-opaque-win32-kmt-bit
4)
(vk-external-fence-handle-type-sync-fd-bit 8)
(vk-external-fence-handle-type-opaque-fd-bit-khr 1)
(vk-external-fence-handle-type-opaque-win32-bit-khr
2)
(vk-external-fence-handle-type-opaque-win32-kmt-bit-khr
4)
(vk-external-fence-handle-type-sync-fd-bit-khr 8)
(vk-external-fence-handle-type-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-fence-handle-type-flag-bits
(:foreign-name
"VkExternalFenceHandleTypeFlagBits"))
(:enum vk-external-fence-handle-type-flag-bits))
(fli:define-c-typedef (vk-external-fence-handle-type-flags
(:foreign-name
"VkExternalFenceHandleTypeFlags"))
vk-flags)
(fli:define-c-enum (vk-external-fence-feature-flag-bits
(:foreign-name "VkExternalFenceFeatureFlagBits"))
(vk-external-fence-feature-exportable-bit 1)
(vk-external-fence-feature-importable-bit 2)
(vk-external-fence-feature-exportable-bit-khr 1)
(vk-external-fence-feature-importable-bit-khr 2)
(vk-external-fence-feature-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-fence-feature-flag-bits
(:foreign-name
"VkExternalFenceFeatureFlagBits"))
(:enum vk-external-fence-feature-flag-bits))
(fli:define-c-typedef (vk-external-fence-feature-flags
(:foreign-name "VkExternalFenceFeatureFlags"))
vk-flags)
(fli:define-c-enum (vk-fence-import-flag-bits
(:foreign-name "VkFenceImportFlagBits"))
(vk-fence-import-temporary-bit 1)
(vk-fence-import-temporary-bit-khr 1)
(vk-fence-import-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-fence-import-flag-bits
(:foreign-name "VkFenceImportFlagBits"))
(:enum vk-fence-import-flag-bits))
(fli:define-c-typedef (vk-fence-import-flags
(:foreign-name "VkFenceImportFlags"))
vk-flags)
(fli:define-c-enum (vk-semaphore-import-flag-bits
(:foreign-name "VkSemaphoreImportFlagBits"))
(vk-semaphore-import-temporary-bit 1)
(vk-semaphore-import-temporary-bit-khr 1)
(vk-semaphore-import-flag-bits-max-enum 2147483647))
(fli:define-c-typedef (vk-semaphore-import-flag-bits
(:foreign-name "VkSemaphoreImportFlagBits"))
(:enum vk-semaphore-import-flag-bits))
(fli:define-c-typedef (vk-semaphore-import-flags
(:foreign-name "VkSemaphoreImportFlags"))
vk-flags)
(fli:define-c-enum (vk-external-semaphore-handle-type-flag-bits
(:foreign-name
"VkExternalSemaphoreHandleTypeFlagBits"))
(vk-external-semaphore-handle-type-opaque-fd-bit 1)
(vk-external-semaphore-handle-type-opaque-win32-bit
2)
(vk-external-semaphore-handle-type-opaque-win32-kmt-bit
4)
(vk-external-semaphore-handle-type-d3-d12-fence-bit
8)
(vk-external-semaphore-handle-type-sync-fd-bit 16)
(vk-external-semaphore-handle-type-opaque-fd-bit-khr
1)
(vk-external-semaphore-handle-type-opaque-win32-bit-khr
2)
(vk-external-semaphore-handle-type-opaque-win32-kmt-bit-khr
4)
(vk-external-semaphore-handle-type-d3-d12-fence-bit-khr
8)
(vk-external-semaphore-handle-type-sync-fd-bit-khr
16)
(vk-external-semaphore-handle-type-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-semaphore-handle-type-flag-bits
(:foreign-name
"VkExternalSemaphoreHandleTypeFlagBits"))
(:enum
vk-external-semaphore-handle-type-flag-bits))
(fli:define-c-typedef (vk-external-semaphore-handle-type-flags
(:foreign-name
"VkExternalSemaphoreHandleTypeFlags"))
vk-flags)
(fli:define-c-enum (vk-external-semaphore-feature-flag-bits
(:foreign-name
"VkExternalSemaphoreFeatureFlagBits"))
(vk-external-semaphore-feature-exportable-bit 1)
(vk-external-semaphore-feature-importable-bit 2)
(vk-external-semaphore-feature-exportable-bit-khr 1)
(vk-external-semaphore-feature-importable-bit-khr 2)
(vk-external-semaphore-feature-flag-bits-max-enum
2147483647))
(fli:define-c-typedef (vk-external-semaphore-feature-flag-bits
(:foreign-name
"VkExternalSemaphoreFeatureFlagBits"))
(:enum vk-external-semaphore-feature-flag-bits))
(fli:define-c-typedef (vk-external-semaphore-feature-flags
(:foreign-name
"VkExternalSemaphoreFeatureFlags"))
vk-flags)
(fli:define-c-struct (vk-physical-device-subgroup-properties
(:foreign-name
"VkPhysicalDeviceSubgroupProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(subgroup-size :uint32)
(supported-stages vk-shader-stage-flags)
(supported-operations vk-subgroup-feature-flags)
(quad-operations-in-all-stages vk-bool32))
(fli:define-c-typedef (vk-physical-device-subgroup-properties
(:foreign-name
"VkPhysicalDeviceSubgroupProperties"))
(:struct vk-physical-device-subgroup-properties))
(fli:define-c-struct (vk-bind-buffer-memory-info
(:foreign-name "VkBindBufferMemoryInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(buffer vk-buffer)
(memory vk-device-memory)
(memory-offset vk-device-size))
(fli:define-c-typedef (vk-bind-buffer-memory-info
(:foreign-name "VkBindBufferMemoryInfo"))
(:struct vk-bind-buffer-memory-info))
(fli:define-c-struct (vk-bind-image-memory-info
(:foreign-name "VkBindImageMemoryInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(image vk-image)
(memory vk-device-memory)
(memory-offset vk-device-size))
(fli:define-c-typedef (vk-bind-image-memory-info
(:foreign-name "VkBindImageMemoryInfo"))
(:struct vk-bind-image-memory-info))
(fli:define-c-struct (vk-physical-device16-bit-storage-features
(:foreign-name
"VkPhysicalDevice16BitStorageFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(storage-buffer16-bit-access vk-bool32)
(uniform-and-storage-buffer16-bit-access
vk-bool32)
(storage-push-constant16 vk-bool32)
(storage-input-output16 vk-bool32))
(fli:define-c-typedef (vk-physical-device16-bit-storage-features
(:foreign-name
"VkPhysicalDevice16BitStorageFeatures"))
(:struct
vk-physical-device16-bit-storage-features))
(fli:define-c-struct (vk-memory-dedicated-requirements
(:foreign-name "VkMemoryDedicatedRequirements"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(prefers-dedicated-allocation vk-bool32)
(requires-dedicated-allocation vk-bool32))
(fli:define-c-typedef (vk-memory-dedicated-requirements
(:foreign-name "VkMemoryDedicatedRequirements"))
(:struct vk-memory-dedicated-requirements))
(fli:define-c-struct (vk-memory-dedicated-allocate-info
(:foreign-name "VkMemoryDedicatedAllocateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(image vk-image)
(buffer vk-buffer))
(fli:define-c-typedef (vk-memory-dedicated-allocate-info
(:foreign-name "VkMemoryDedicatedAllocateInfo"))
(:struct vk-memory-dedicated-allocate-info))
(fli:define-c-struct (vk-memory-allocate-flags-info
(:foreign-name "VkMemoryAllocateFlagsInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-memory-allocate-flags)
(device-mask :uint32))
(fli:define-c-typedef (vk-memory-allocate-flags-info
(:foreign-name "VkMemoryAllocateFlagsInfo"))
(:struct vk-memory-allocate-flags-info))
(fli:define-c-struct (vk-device-group-render-pass-begin-info
(:foreign-name
"VkDeviceGroupRenderPassBeginInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(device-mask :uint32)
(device-render-area-count :uint32)
(p-device-render-areas
(:pointer (:const vk-rect2-d))))
(fli:define-c-typedef (vk-device-group-render-pass-begin-info
(:foreign-name
"VkDeviceGroupRenderPassBeginInfo"))
(:struct vk-device-group-render-pass-begin-info))
(fli:define-c-struct (vk-device-group-command-buffer-begin-info
(:foreign-name
"VkDeviceGroupCommandBufferBeginInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(device-mask :uint32))
(fli:define-c-typedef (vk-device-group-command-buffer-begin-info
(:foreign-name
"VkDeviceGroupCommandBufferBeginInfo"))
(:struct
vk-device-group-command-buffer-begin-info))
(fli:define-c-struct (vk-device-group-submit-info
(:foreign-name "VkDeviceGroupSubmitInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(wait-semaphore-count :uint32)
(p-wait-semaphore-device-indices
(:pointer (:const :uint32)))
(command-buffer-count :uint32)
(p-command-buffer-device-masks
(:pointer (:const :uint32)))
(signal-semaphore-count :uint32)
(p-signal-semaphore-device-indices
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-device-group-submit-info
(:foreign-name "VkDeviceGroupSubmitInfo"))
(:struct vk-device-group-submit-info))
(fli:define-c-struct (vk-device-group-bind-sparse-info
(:foreign-name "VkDeviceGroupBindSparseInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(resource-device-index :uint32)
(memory-device-index :uint32))
(fli:define-c-typedef (vk-device-group-bind-sparse-info
(:foreign-name "VkDeviceGroupBindSparseInfo"))
(:struct vk-device-group-bind-sparse-info))
(fli:define-c-struct (vk-bind-buffer-memory-device-group-info
(:foreign-name
"VkBindBufferMemoryDeviceGroupInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(device-index-count :uint32)
(p-device-indices
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-bind-buffer-memory-device-group-info
(:foreign-name
"VkBindBufferMemoryDeviceGroupInfo"))
(:struct vk-bind-buffer-memory-device-group-info))
(fli:define-c-struct (vk-bind-image-memory-device-group-info
(:foreign-name
"VkBindImageMemoryDeviceGroupInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(device-index-count :uint32)
(p-device-indices
(:pointer (:const :uint32)))
(split-instance-bind-region-count
:uint32)
(p-split-instance-bind-regions
(:pointer (:const vk-rect2-d))))
(fli:define-c-typedef (vk-bind-image-memory-device-group-info
(:foreign-name
"VkBindImageMemoryDeviceGroupInfo"))
(:struct vk-bind-image-memory-device-group-info))
(fli:define-c-struct (vk-physical-device-group-properties
(:foreign-name
"VkPhysicalDeviceGroupProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(physical-device-count :uint32)
(physical-devices
(:c-array vk-physical-device 32))
(subset-allocation vk-bool32))
(fli:define-c-typedef (vk-physical-device-group-properties
(:foreign-name
"VkPhysicalDeviceGroupProperties"))
(:struct vk-physical-device-group-properties))
(fli:define-c-struct (vk-device-group-device-create-info
(:foreign-name "VkDeviceGroupDeviceCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(physical-device-count :uint32)
(p-physical-devices
(:pointer (:const vk-physical-device))))
(fli:define-c-typedef (vk-device-group-device-create-info
(:foreign-name "VkDeviceGroupDeviceCreateInfo"))
(:struct vk-device-group-device-create-info))
(fli:define-c-struct (vk-buffer-memory-requirements-info2
(:foreign-name
"VkBufferMemoryRequirementsInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(buffer vk-buffer))
(fli:define-c-typedef (vk-buffer-memory-requirements-info2
(:foreign-name
"VkBufferMemoryRequirementsInfo2"))
(:struct vk-buffer-memory-requirements-info2))
(fli:define-c-struct (vk-image-memory-requirements-info2
(:foreign-name "VkImageMemoryRequirementsInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(image vk-image))
(fli:define-c-typedef (vk-image-memory-requirements-info2
(:foreign-name
"VkImageMemoryRequirementsInfo2"))
(:struct vk-image-memory-requirements-info2))
(fli:define-c-struct (vk-image-sparse-memory-requirements-info2
(:foreign-name
"VkImageSparseMemoryRequirementsInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(image vk-image))
(fli:define-c-typedef (vk-image-sparse-memory-requirements-info2
(:foreign-name
"VkImageSparseMemoryRequirementsInfo2"))
(:struct
vk-image-sparse-memory-requirements-info2))
(fli:define-c-struct (vk-memory-requirements2
(:foreign-name "VkMemoryRequirements2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(memory-requirements vk-memory-requirements))
(fli:define-c-typedef (vk-memory-requirements2
(:foreign-name "VkMemoryRequirements2"))
(:struct vk-memory-requirements2))
(fli:define-c-typedef (vk-memory-requirements2-khr
(:foreign-name "VkMemoryRequirements2KHR"))
vk-memory-requirements2)
(fli:define-c-struct (vk-sparse-image-memory-requirements2
(:foreign-name
"VkSparseImageMemoryRequirements2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(memory-requirements
vk-sparse-image-memory-requirements))
(fli:define-c-typedef (vk-sparse-image-memory-requirements2
(:foreign-name
"VkSparseImageMemoryRequirements2"))
(:struct vk-sparse-image-memory-requirements2))
(fli:define-c-struct (vk-physical-device-features2
(:foreign-name "VkPhysicalDeviceFeatures2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(features vk-physical-device-features))
(fli:define-c-typedef (vk-physical-device-features2
(:foreign-name "VkPhysicalDeviceFeatures2"))
(:struct vk-physical-device-features2))
(fli:define-c-struct (vk-physical-device-properties2
(:foreign-name "VkPhysicalDeviceProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(properties vk-physical-device-properties))
(fli:define-c-typedef (vk-physical-device-properties2
(:foreign-name "VkPhysicalDeviceProperties2"))
(:struct vk-physical-device-properties2))
(fli:define-c-struct (vk-format-properties2
(:foreign-name "VkFormatProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(format-properties vk-format-properties))
(fli:define-c-typedef (vk-format-properties2
(:foreign-name "VkFormatProperties2"))
(:struct vk-format-properties2))
(fli:define-c-struct (vk-image-format-properties2
(:foreign-name "VkImageFormatProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(image-format-properties
vk-image-format-properties))
(fli:define-c-typedef (vk-image-format-properties2
(:foreign-name "VkImageFormatProperties2"))
(:struct vk-image-format-properties2))
(fli:define-c-struct (vk-physical-device-image-format-info2
(:foreign-name
"VkPhysicalDeviceImageFormatInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(format vk-format)
(type vk-image-type)
(tiling vk-image-tiling)
(usage vk-image-usage-flags)
(flags vk-image-create-flags))
(fli:define-c-typedef (vk-physical-device-image-format-info2
(:foreign-name
"VkPhysicalDeviceImageFormatInfo2"))
(:struct vk-physical-device-image-format-info2))
(fli:define-c-struct (vk-queue-family-properties2
(:foreign-name "VkQueueFamilyProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(queue-family-properties
vk-queue-family-properties))
(fli:define-c-typedef (vk-queue-family-properties2
(:foreign-name "VkQueueFamilyProperties2"))
(:struct vk-queue-family-properties2))
(fli:define-c-struct (vk-physical-device-memory-properties2
(:foreign-name
"VkPhysicalDeviceMemoryProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(memory-properties
vk-physical-device-memory-properties))
(fli:define-c-typedef (vk-physical-device-memory-properties2
(:foreign-name
"VkPhysicalDeviceMemoryProperties2"))
(:struct vk-physical-device-memory-properties2))
(fli:define-c-struct (vk-sparse-image-format-properties2
(:foreign-name "VkSparseImageFormatProperties2"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(properties vk-sparse-image-format-properties))
(fli:define-c-typedef (vk-sparse-image-format-properties2
(:foreign-name
"VkSparseImageFormatProperties2"))
(:struct vk-sparse-image-format-properties2))
(fli:define-c-struct (vk-physical-device-sparse-image-format-info2
(:foreign-name
"VkPhysicalDeviceSparseImageFormatInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(format vk-format)
(type vk-image-type)
(samples vk-sample-count-flag-bits)
(usage vk-image-usage-flags)
(tiling vk-image-tiling))
(fli:define-c-typedef (vk-physical-device-sparse-image-format-info2
(:foreign-name
"VkPhysicalDeviceSparseImageFormatInfo2"))
(:struct
vk-physical-device-sparse-image-format-info2))
(fli:define-c-struct (vk-physical-device-point-clipping-properties
(:foreign-name
"VkPhysicalDevicePointClippingProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(point-clipping-behavior
vk-point-clipping-behavior))
(fli:define-c-typedef (vk-physical-device-point-clipping-properties
(:foreign-name
"VkPhysicalDevicePointClippingProperties"))
(:struct
vk-physical-device-point-clipping-properties))
(fli:define-c-struct (vk-input-attachment-aspect-reference
(:foreign-name
"VkInputAttachmentAspectReference"))
(subpass :uint32)
(input-attachment-index :uint32)
(aspect-mask vk-image-aspect-flags))
(fli:define-c-typedef (vk-input-attachment-aspect-reference
(:foreign-name
"VkInputAttachmentAspectReference"))
(:struct vk-input-attachment-aspect-reference))
(fli:define-c-struct (vk-render-pass-input-attachment-aspect-create-info
(:foreign-name
"VkRenderPassInputAttachmentAspectCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(aspect-reference-count :uint32)
(p-aspect-references
(:pointer
(:const vk-input-attachment-aspect-reference))))
(fli:define-c-typedef (vk-render-pass-input-attachment-aspect-create-info
(:foreign-name
"VkRenderPassInputAttachmentAspectCreateInfo"))
(:struct
vk-render-pass-input-attachment-aspect-create-info))
(fli:define-c-struct (vk-image-view-usage-create-info
(:foreign-name "VkImageViewUsageCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(usage vk-image-usage-flags))
(fli:define-c-typedef (vk-image-view-usage-create-info
(:foreign-name "VkImageViewUsageCreateInfo"))
(:struct vk-image-view-usage-create-info))
(fli:define-c-struct (vk-pipeline-tessellation-domain-origin-state-create-info
(:foreign-name
"VkPipelineTessellationDomainOriginStateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(domain-origin vk-tessellation-domain-origin))
(fli:define-c-typedef (vk-pipeline-tessellation-domain-origin-state-create-info
(:foreign-name
"VkPipelineTessellationDomainOriginStateCreateInfo"))
(:struct
vk-pipeline-tessellation-domain-origin-state-create-info))
(fli:define-c-struct (vk-render-pass-multiview-create-info
(:foreign-name
"VkRenderPassMultiviewCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(subpass-count :uint32)
(p-view-masks
(:pointer (:const :uint32)))
(dependency-count :uint32)
(p-view-offsets (:pointer (:const :int)))
(correlation-mask-count :uint32)
(p-correlation-masks
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-render-pass-multiview-create-info
(:foreign-name
"VkRenderPassMultiviewCreateInfo"))
(:struct vk-render-pass-multiview-create-info))
(fli:define-c-struct (vk-physical-device-multiview-features
(:foreign-name
"VkPhysicalDeviceMultiviewFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(multiview vk-bool32)
(multiview-geometry-shader vk-bool32)
(multiview-tessellation-shader vk-bool32))
(fli:define-c-typedef (vk-physical-device-multiview-features
(:foreign-name
"VkPhysicalDeviceMultiviewFeatures"))
(:struct vk-physical-device-multiview-features))
(fli:define-c-struct (vk-physical-device-multiview-properties
(:foreign-name
"VkPhysicalDeviceMultiviewProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-multiview-view-count :uint32)
(max-multiview-instance-index :uint32))
(fli:define-c-typedef (vk-physical-device-multiview-properties
(:foreign-name
"VkPhysicalDeviceMultiviewProperties"))
(:struct vk-physical-device-multiview-properties))
(fli:define-c-struct (vk-physical-device-variable-pointer-features
(:foreign-name
"VkPhysicalDeviceVariablePointerFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(variable-pointers-storage-buffer vk-bool32)
(variable-pointers vk-bool32))
(fli:define-c-typedef (vk-physical-device-variable-pointer-features
(:foreign-name
"VkPhysicalDeviceVariablePointerFeatures"))
(:struct
vk-physical-device-variable-pointer-features))
(fli:define-c-struct (vk-physical-device-protected-memory-features
(:foreign-name
"VkPhysicalDeviceProtectedMemoryFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(protected-memory vk-bool32))
(fli:define-c-typedef (vk-physical-device-protected-memory-features
(:foreign-name
"VkPhysicalDeviceProtectedMemoryFeatures"))
(:struct
vk-physical-device-protected-memory-features))
(fli:define-c-struct (vk-physical-device-protected-memory-properties
(:foreign-name
"VkPhysicalDeviceProtectedMemoryProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(protected-no-fault vk-bool32))
(fli:define-c-typedef (vk-physical-device-protected-memory-properties
(:foreign-name
"VkPhysicalDeviceProtectedMemoryProperties"))
(:struct
vk-physical-device-protected-memory-properties))
(fli:define-c-struct (vk-device-queue-info2
(:foreign-name "VkDeviceQueueInfo2"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-device-queue-create-flags)
(queue-family-index :uint32)
(queue-index :uint32))
(fli:define-c-typedef (vk-device-queue-info2
(:foreign-name "VkDeviceQueueInfo2"))
(:struct vk-device-queue-info2))
(fli:define-c-struct (vk-protected-submit-info
(:foreign-name "VkProtectedSubmitInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(protected-submit vk-bool32))
(fli:define-c-typedef (vk-protected-submit-info
(:foreign-name "VkProtectedSubmitInfo"))
(:struct vk-protected-submit-info))
(fli:define-c-struct (vk-sampler-ycbcr-conversion-create-info
(:foreign-name
"VkSamplerYcbcrConversionCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(format vk-format)
(ycbcr-model vk-sampler-ycbcr-model-conversion)
(ycbcr-range vk-sampler-ycbcr-range)
(components vk-component-mapping)
(x-chroma-offset vk-chroma-location)
(y-chroma-offset vk-chroma-location)
(chroma-filter vk-filter)
(force-explicit-reconstruction vk-bool32))
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-create-info
(:foreign-name
"VkSamplerYcbcrConversionCreateInfo"))
(:struct vk-sampler-ycbcr-conversion-create-info))
(fli:define-c-struct (vk-sampler-ycbcr-conversion-info
(:foreign-name "VkSamplerYcbcrConversionInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(conversion vk-sampler-ycbcr-conversion))
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-info
(:foreign-name "VkSamplerYcbcrConversionInfo"))
(:struct vk-sampler-ycbcr-conversion-info))
(fli:define-c-struct (vk-bind-image-plane-memory-info
(:foreign-name "VkBindImagePlaneMemoryInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(plane-aspect vk-image-aspect-flag-bits))
(fli:define-c-typedef (vk-bind-image-plane-memory-info
(:foreign-name "VkBindImagePlaneMemoryInfo"))
(:struct vk-bind-image-plane-memory-info))
(fli:define-c-struct (vk-image-plane-memory-requirements-info
(:foreign-name
"VkImagePlaneMemoryRequirementsInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(plane-aspect vk-image-aspect-flag-bits))
(fli:define-c-typedef (vk-image-plane-memory-requirements-info
(:foreign-name
"VkImagePlaneMemoryRequirementsInfo"))
(:struct vk-image-plane-memory-requirements-info))
(fli:define-c-struct (vk-physical-device-sampler-ycbcr-conversion-features
(:foreign-name
"VkPhysicalDeviceSamplerYcbcrConversionFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(sampler-ycbcr-conversion vk-bool32))
(fli:define-c-typedef (vk-physical-device-sampler-ycbcr-conversion-features
(:foreign-name
"VkPhysicalDeviceSamplerYcbcrConversionFeatures"))
(:struct
vk-physical-device-sampler-ycbcr-conversion-features))
(fli:define-c-struct (vk-sampler-ycbcr-conversion-image-format-properties
(:foreign-name
"VkSamplerYcbcrConversionImageFormatProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(combined-image-sampler-descriptor-count
:uint32))
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-image-format-properties
(:foreign-name
"VkSamplerYcbcrConversionImageFormatProperties"))
(:struct
vk-sampler-ycbcr-conversion-image-format-properties))
(fli:define-c-struct (vk-descriptor-update-template-entry
(:foreign-name
"VkDescriptorUpdateTemplateEntry"))
(dst-binding :uint32)
(dst-array-element :uint32)
(descriptor-count :uint32)
(descriptor-type vk-descriptor-type)
(offset :size-t)
(stride :size-t))
(fli:define-c-typedef (vk-descriptor-update-template-entry
(:foreign-name
"VkDescriptorUpdateTemplateEntry"))
(:struct vk-descriptor-update-template-entry))
(fli:define-c-struct (vk-descriptor-update-template-create-info
(:foreign-name
"VkDescriptorUpdateTemplateCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(flags vk-descriptor-update-template-create-flags)
(descriptor-update-entry-count :uint32)
(p-descriptor-update-entries
(:pointer
(:const vk-descriptor-update-template-entry)))
(template-type vk-descriptor-update-template-type)
(descriptor-set-layout vk-descriptor-set-layout)
(pipeline-bind-point vk-pipeline-bind-point)
(pipeline-layout vk-pipeline-layout)
(set :uint32))
(fli:define-c-typedef (vk-descriptor-update-template-create-info
(:foreign-name
"VkDescriptorUpdateTemplateCreateInfo"))
(:struct
vk-descriptor-update-template-create-info))
(fli:define-c-struct (vk-external-memory-properties
(:foreign-name "VkExternalMemoryProperties"))
(external-memory-features
vk-external-memory-feature-flags)
(export-from-imported-handle-types
vk-external-memory-handle-type-flags)
(compatible-handle-types
vk-external-memory-handle-type-flags))
(fli:define-c-typedef (vk-external-memory-properties
(:foreign-name "VkExternalMemoryProperties"))
(:struct vk-external-memory-properties))
(fli:define-c-struct (vk-physical-device-external-image-format-info
(:foreign-name
"VkPhysicalDeviceExternalImageFormatInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-type
vk-external-memory-handle-type-flag-bits))
(fli:define-c-typedef (vk-physical-device-external-image-format-info
(:foreign-name
"VkPhysicalDeviceExternalImageFormatInfo"))
(:struct
vk-physical-device-external-image-format-info))
(fli:define-c-struct (vk-external-image-format-properties
(:foreign-name
"VkExternalImageFormatProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(external-memory-properties
vk-external-memory-properties))
(fli:define-c-typedef (vk-external-image-format-properties
(:foreign-name
"VkExternalImageFormatProperties"))
(:struct vk-external-image-format-properties))
(fli:define-c-struct (vk-physical-device-external-buffer-info
(:foreign-name
"VkPhysicalDeviceExternalBufferInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-buffer-create-flags)
(usage vk-buffer-usage-flags)
(handle-type
vk-external-memory-handle-type-flag-bits))
(fli:define-c-typedef (vk-physical-device-external-buffer-info
(:foreign-name
"VkPhysicalDeviceExternalBufferInfo"))
(:struct vk-physical-device-external-buffer-info))
(fli:define-c-struct (vk-external-buffer-properties
(:foreign-name "VkExternalBufferProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(external-memory-properties
vk-external-memory-properties))
(fli:define-c-typedef (vk-external-buffer-properties
(:foreign-name "VkExternalBufferProperties"))
(:struct vk-external-buffer-properties))
(fli:define-c-struct (vk-physical-device-idproperties
(:foreign-name "VkPhysicalDeviceIDProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(device-uuid (:c-array :uint8 16))
(driver-uuid (:c-array :uint8 16))
(device-luid (:c-array :uint8 8))
(device-node-mask :uint32)
(device-luidvalid vk-bool32))
(fli:define-c-typedef (vk-physical-device-idproperties
(:foreign-name "VkPhysicalDeviceIDProperties"))
(:struct vk-physical-device-idproperties))
(fli:define-c-struct (vk-external-memory-image-create-info
(:foreign-name
"VkExternalMemoryImageCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-memory-handle-type-flags))
(fli:define-c-typedef (vk-external-memory-image-create-info
(:foreign-name
"VkExternalMemoryImageCreateInfo"))
(:struct vk-external-memory-image-create-info))
(fli:define-c-struct (vk-external-memory-buffer-create-info
(:foreign-name
"VkExternalMemoryBufferCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-memory-handle-type-flags))
(fli:define-c-typedef (vk-external-memory-buffer-create-info
(:foreign-name
"VkExternalMemoryBufferCreateInfo"))
(:struct vk-external-memory-buffer-create-info))
(fli:define-c-struct (vk-export-memory-allocate-info
(:foreign-name "VkExportMemoryAllocateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-memory-handle-type-flags))
(fli:define-c-typedef (vk-export-memory-allocate-info
(:foreign-name "VkExportMemoryAllocateInfo"))
(:struct vk-export-memory-allocate-info))
(fli:define-c-struct (vk-physical-device-external-fence-info
(:foreign-name
"VkPhysicalDeviceExternalFenceInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-type
vk-external-fence-handle-type-flag-bits))
(fli:define-c-typedef (vk-physical-device-external-fence-info
(:foreign-name
"VkPhysicalDeviceExternalFenceInfo"))
(:struct vk-physical-device-external-fence-info))
(fli:define-c-struct (vk-external-fence-properties
(:foreign-name "VkExternalFenceProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(export-from-imported-handle-types
vk-external-fence-handle-type-flags)
(compatible-handle-types
vk-external-fence-handle-type-flags)
(external-fence-features
vk-external-fence-feature-flags))
(fli:define-c-typedef (vk-external-fence-properties
(:foreign-name "VkExternalFenceProperties"))
(:struct vk-external-fence-properties))
(fli:define-c-struct (vk-export-fence-create-info
(:foreign-name "VkExportFenceCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types vk-external-fence-handle-type-flags))
(fli:define-c-typedef (vk-export-fence-create-info
(:foreign-name "VkExportFenceCreateInfo"))
(:struct vk-export-fence-create-info))
(fli:define-c-struct (vk-export-semaphore-create-info
(:foreign-name "VkExportSemaphoreCreateInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-semaphore-handle-type-flags))
(fli:define-c-typedef (vk-export-semaphore-create-info
(:foreign-name "VkExportSemaphoreCreateInfo"))
(:struct vk-export-semaphore-create-info))
(fli:define-c-struct (vk-physical-device-external-semaphore-info
(:foreign-name
"VkPhysicalDeviceExternalSemaphoreInfo"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-type
vk-external-semaphore-handle-type-flag-bits))
(fli:define-c-typedef (vk-physical-device-external-semaphore-info
(:foreign-name
"VkPhysicalDeviceExternalSemaphoreInfo"))
(:struct
vk-physical-device-external-semaphore-info))
(fli:define-c-struct (vk-external-semaphore-properties
(:foreign-name "VkExternalSemaphoreProperties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(export-from-imported-handle-types
vk-external-semaphore-handle-type-flags)
(compatible-handle-types
vk-external-semaphore-handle-type-flags)
(external-semaphore-features
vk-external-semaphore-feature-flags))
(fli:define-c-typedef (vk-external-semaphore-properties
(:foreign-name "VkExternalSemaphoreProperties"))
(:struct vk-external-semaphore-properties))
(fli:define-c-struct (vk-physical-device-maintenance3-properties
(:foreign-name
"VkPhysicalDeviceMaintenance3Properties"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-per-set-descriptors :uint32)
(max-memory-allocation-size vk-device-size))
(fli:define-c-typedef (vk-physical-device-maintenance3-properties
(:foreign-name
"VkPhysicalDeviceMaintenance3Properties"))
(:struct
vk-physical-device-maintenance3-properties))
(fli:define-c-struct (vk-descriptor-set-layout-support
(:foreign-name "VkDescriptorSetLayoutSupport"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(supported vk-bool32))
(fli:define-c-typedef (vk-descriptor-set-layout-support
(:foreign-name "VkDescriptorSetLayoutSupport"))
(:struct vk-descriptor-set-layout-support))
(fli:define-c-struct (vk-physical-device-shader-draw-parameter-features
(:foreign-name
"VkPhysicalDeviceShaderDrawParameterFeatures"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shader-draw-parameters vk-bool32))
(fli:define-c-typedef (vk-physical-device-shader-draw-parameter-features
(:foreign-name
"VkPhysicalDeviceShaderDrawParameterFeatures"))
(:struct
vk-physical-device-shader-draw-parameter-features))
(fli:define-c-typedef (pfn-vk-enumerate-instance-version
(:foreign-name
"PFN_vkEnumerateInstanceVersion"))
(:pointer
(:function
((:pointer :uint32))
vk-result)))
(fli:define-c-typedef (pfn-vk-bind-buffer-memory2
(:foreign-name "PFN_vkBindBufferMemory2"))
(:pointer
(:function
(vk-device
:uint32
(:pointer
(:const vk-bind-buffer-memory-info)))
vk-result)))
(fli:define-c-typedef (pfn-vk-bind-image-memory2
(:foreign-name "PFN_vkBindImageMemory2"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-bind-image-memory-info)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-device-group-peer-memory-features
(:foreign-name
"PFN_vkGetDeviceGroupPeerMemoryFeatures"))
(:pointer
(:function
(vk-device
:uint32
:uint32
:uint32
(:pointer vk-peer-memory-feature-flags))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-device-mask
(:foreign-name "PFN_vkCmdSetDeviceMask"))
(:pointer
(:function
(vk-command-buffer :uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-dispatch-base
(:foreign-name "PFN_vkCmdDispatchBase"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
:uint32
:uint32
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-enumerate-physical-device-groups
(:foreign-name
"PFN_vkEnumeratePhysicalDeviceGroups"))
(:pointer
(:function
(vk-instance
(:pointer :uint32)
(:pointer
vk-physical-device-group-properties))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-image-memory-requirements2
(:foreign-name
"PFN_vkGetImageMemoryRequirements2"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-image-memory-requirements-info2))
(:pointer vk-memory-requirements2))
:void)))
(fli:define-c-typedef (pfn-vk-get-buffer-memory-requirements2
(:foreign-name
"PFN_vkGetBufferMemoryRequirements2"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-buffer-memory-requirements-info2))
(:pointer vk-memory-requirements2))
:void)))
(fli:define-c-typedef (pfn-vk-get-image-sparse-memory-requirements2
(:foreign-name
"PFN_vkGetImageSparseMemoryRequirements2"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-image-sparse-memory-requirements-info2))
(:pointer :uint32)
(:pointer
vk-sparse-image-memory-requirements2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-features2
(:foreign-name
"PFN_vkGetPhysicalDeviceFeatures2"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-features2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceProperties2"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-format-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceFormatProperties2"))
(:pointer
(:function
(vk-physical-device
vk-format
(:pointer vk-format-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-image-format-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceImageFormatProperties2"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-image-format-info2))
(:pointer vk-image-format-properties2))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-queue-family-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceQueueFamilyProperties2"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-queue-family-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-memory-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceMemoryProperties2"))
(:pointer
(:function
(vk-physical-device
(:pointer
vk-physical-device-memory-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-sparse-image-format-properties2
(:foreign-name
"PFN_vkGetPhysicalDeviceSparseImageFormatProperties2"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-sparse-image-format-info2))
(:pointer :uint32)
(:pointer vk-sparse-image-format-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-trim-command-pool
(:foreign-name "PFN_vkTrimCommandPool"))
(:pointer
(:function
(vk-device
vk-command-pool
vk-command-pool-trim-flags)
:void)))
(fli:define-c-typedef (pfn-vk-get-device-queue2
(:foreign-name "PFN_vkGetDeviceQueue2"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-device-queue-info2))
(:pointer vk-queue))
:void)))
(fli:define-c-typedef (pfn-vk-create-sampler-ycbcr-conversion
(:foreign-name
"PFN_vkCreateSamplerYcbcrConversion"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-sampler-ycbcr-conversion-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-sampler-ycbcr-conversion))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-sampler-ycbcr-conversion
(:foreign-name
"PFN_vkDestroySamplerYcbcrConversion"))
(:pointer
(:function
(vk-device
vk-sampler-ycbcr-conversion
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-descriptor-update-template
(:foreign-name
"PFN_vkCreateDescriptorUpdateTemplate"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-descriptor-update-template-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-descriptor-update-template))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-descriptor-update-template
(:foreign-name
"PFN_vkDestroyDescriptorUpdateTemplate"))
(:pointer
(:function
(vk-device
vk-descriptor-update-template
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-update-descriptor-set-with-template
(:foreign-name
"PFN_vkUpdateDescriptorSetWithTemplate"))
(:pointer
(:function
(vk-device
vk-descriptor-set
vk-descriptor-update-template
(:pointer (:const :void)))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-external-buffer-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalBufferProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-buffer-info))
(:pointer vk-external-buffer-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-external-fence-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalFenceProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-fence-info))
(:pointer vk-external-fence-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-external-semaphore-properties
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalSemaphoreProperties"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-semaphore-info))
(:pointer vk-external-semaphore-properties))
:void)))
(fli:define-c-typedef (pfn-vk-get-descriptor-set-layout-support
(:foreign-name
"PFN_vkGetDescriptorSetLayoutSupport"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-descriptor-set-layout-create-info))
(:pointer vk-descriptor-set-layout-support))
:void)))
(fli:define-foreign-function (vk-enumerate-instance-version
"vkEnumerateInstanceVersion"
:source)
((p-api-version
(:pointer :uint32)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-buffer-memory2
"vkBindBufferMemory2"
:source)
((device vk-device)
(bind-info-count :uint32)
(p-bind-infos
(:pointer
(:const vk-bind-buffer-memory-info))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-image-memory2
"vkBindImageMemory2"
:source)
((device vk-device)
(bind-info-count :uint32)
(p-bind-infos
(:pointer
(:const vk-bind-image-memory-info))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-group-peer-memory-features
"vkGetDeviceGroupPeerMemoryFeatures"
:source)
((device vk-device)
(heap-index :uint32)
(local-device-index :uint32)
(remote-device-index :uint32)
(p-peer-memory-features
(:pointer
vk-peer-memory-feature-flags)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-device-mask
"vkCmdSetDeviceMask"
:source)
((command-buffer vk-command-buffer)
(device-mask :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-dispatch-base
"vkCmdDispatchBase"
:source)
((command-buffer vk-command-buffer)
(base-group-x :uint32)
(base-group-y :uint32)
(base-group-z :uint32)
(group-count-x :uint32)
(group-count-y :uint32)
(group-count-z :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-enumerate-physical-device-groups
"vkEnumeratePhysicalDeviceGroups"
:source)
((instance vk-instance)
(p-physical-device-group-count
(:pointer :uint32))
(p-physical-device-group-properties
(:pointer
vk-physical-device-group-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-memory-requirements2
"vkGetImageMemoryRequirements2"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-image-memory-requirements-info2)))
(p-memory-requirements
(:pointer vk-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-buffer-memory-requirements2
"vkGetBufferMemoryRequirements2"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-buffer-memory-requirements-info2)))
(p-memory-requirements
(:pointer vk-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-sparse-memory-requirements2
"vkGetImageSparseMemoryRequirements2"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-image-sparse-memory-requirements-info2)))
(p-sparse-memory-requirement-count
(:pointer :uint32))
(p-sparse-memory-requirements
(:pointer
vk-sparse-image-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-features2
"vkGetPhysicalDeviceFeatures2"
:source)
((physical-device vk-physical-device)
(p-features
(:pointer
vk-physical-device-features2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-properties2
"vkGetPhysicalDeviceProperties2"
:source)
((physical-device vk-physical-device)
(p-properties
(:pointer
vk-physical-device-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-format-properties2
"vkGetPhysicalDeviceFormatProperties2"
:source)
((physical-device vk-physical-device)
(format vk-format)
(p-format-properties
(:pointer vk-format-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-image-format-properties2
"vkGetPhysicalDeviceImageFormatProperties2"
:source)
((physical-device vk-physical-device)
(p-image-format-info
(:pointer
(:const
vk-physical-device-image-format-info2)))
(p-image-format-properties
(:pointer vk-image-format-properties2)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-queue-family-properties2
"vkGetPhysicalDeviceQueueFamilyProperties2"
:source)
((physical-device vk-physical-device)
(p-queue-family-property-count
(:pointer :uint32))
(p-queue-family-properties
(:pointer vk-queue-family-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-memory-properties2
"vkGetPhysicalDeviceMemoryProperties2"
:source)
((physical-device vk-physical-device)
(p-memory-properties
(:pointer
vk-physical-device-memory-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-sparse-image-format-properties2
"vkGetPhysicalDeviceSparseImageFormatProperties2"
:source)
((physical-device vk-physical-device)
(p-format-info
(:pointer
(:const
vk-physical-device-sparse-image-format-info2)))
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-sparse-image-format-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-trim-command-pool
"vkTrimCommandPool"
:source)
((device vk-device)
(command-pool vk-command-pool)
(flags vk-command-pool-trim-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-queue2
"vkGetDeviceQueue2"
:source)
((device vk-device)
(p-queue-info
(:pointer
(:const vk-device-queue-info2)))
(p-queue (:pointer vk-queue)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-sampler-ycbcr-conversion
"vkCreateSamplerYcbcrConversion"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-sampler-ycbcr-conversion-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-ycbcr-conversion
(:pointer vk-sampler-ycbcr-conversion)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-sampler-ycbcr-conversion
"vkDestroySamplerYcbcrConversion"
:source)
((device vk-device)
(ycbcr-conversion
vk-sampler-ycbcr-conversion)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-descriptor-update-template
"vkCreateDescriptorUpdateTemplate"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-update-template-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-descriptor-update-template
(:pointer
vk-descriptor-update-template)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-descriptor-update-template
"vkDestroyDescriptorUpdateTemplate"
:source)
((device vk-device)
(descriptor-update-template
vk-descriptor-update-template)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-update-descriptor-set-with-template
"vkUpdateDescriptorSetWithTemplate"
:source)
((device vk-device)
(descriptor-set vk-descriptor-set)
(descriptor-update-template
vk-descriptor-update-template)
(p-data (:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-external-buffer-properties
"vkGetPhysicalDeviceExternalBufferProperties"
:source)
((physical-device vk-physical-device)
(p-external-buffer-info
(:pointer
(:const
vk-physical-device-external-buffer-info)))
(p-external-buffer-properties
(:pointer
vk-external-buffer-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-external-fence-properties
"vkGetPhysicalDeviceExternalFenceProperties"
:source)
((physical-device vk-physical-device)
(p-external-fence-info
(:pointer
(:const
vk-physical-device-external-fence-info)))
(p-external-fence-properties
(:pointer
vk-external-fence-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-external-semaphore-properties
"vkGetPhysicalDeviceExternalSemaphoreProperties"
:source)
((physical-device vk-physical-device)
(p-external-semaphore-info
(:pointer
(:const
vk-physical-device-external-semaphore-info)))
(p-external-semaphore-properties
(:pointer
vk-external-semaphore-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-descriptor-set-layout-support
"vkGetDescriptorSetLayoutSupport"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-set-layout-create-info)))
(p-support
(:pointer
vk-descriptor-set-layout-support)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-surface-khr-t
(:foreign-name "VkSurfaceKHR_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-surface-khr (:foreign-name "VkSurfaceKHR"))
(:pointer (:struct vk-surface-khr-t)))
(fli:define-c-enum (vk-color-space-khr
(:foreign-name "VkColorSpaceKHR"))
(vk-color-space-srgb-nonlinear-khr 0)
(vk-color-space-display-p3-nonlinear-ext 1000104001)
(vk-color-space-extended-srgb-linear-ext 1000104002)
(vk-color-space-dci-p3-linear-ext 1000104003)
(vk-color-space-dci-p3-nonlinear-ext 1000104004)
(vk-color-space-bt709-linear-ext 1000104005)
(vk-color-space-bt709-nonlinear-ext 1000104006)
(vk-color-space-bt2020-linear-ext 1000104007)
(vk-color-space-hdr10-st2084-ext 1000104008)
(vk-color-space-dolbyvision-ext 1000104009)
(vk-color-space-hdr10-hlg-ext 1000104010)
(vk-color-space-adobergb-linear-ext 1000104011)
(vk-color-space-adobergb-nonlinear-ext 1000104012)
(vk-color-space-pass-through-ext 1000104013)
(vk-color-space-extended-srgb-nonlinear-ext
1000104014)
(vk-colorspace-srgb-nonlinear-khr 0)
(vk-color-space-begin-range-khr 0)
(vk-color-space-end-range-khr 0)
(vk-color-space-range-size-khr 1)
(vk-color-space-max-enum-khr 2147483647))
(fli:define-c-typedef (vk-color-space-khr
(:foreign-name "VkColorSpaceKHR"))
(:enum vk-color-space-khr))
(fli:define-c-enum (vk-present-mode-khr
(:foreign-name "VkPresentModeKHR"))
(vk-present-mode-immediate-khr 0)
(vk-present-mode-mailbox-khr 1)
(vk-present-mode-fifo-khr 2)
(vk-present-mode-fifo-relaxed-khr 3)
(vk-present-mode-shared-demand-refresh-khr
1000111000)
(vk-present-mode-shared-continuous-refresh-khr
1000111001)
(vk-present-mode-begin-range-khr 0)
(vk-present-mode-end-range-khr 3)
(vk-present-mode-range-size-khr 4)
(vk-present-mode-max-enum-khr 2147483647))
(fli:define-c-typedef (vk-present-mode-khr
(:foreign-name "VkPresentModeKHR"))
(:enum vk-present-mode-khr))
(fli:define-c-enum (vk-surface-transform-flag-bits-khr
(:foreign-name "VkSurfaceTransformFlagBitsKHR"))
(vk-surface-transform-identity-bit-khr 1)
(vk-surface-transform-rotate-90-bit-khr 2)
(vk-surface-transform-rotate-180-bit-khr 4)
(vk-surface-transform-rotate-270-bit-khr 8)
(vk-surface-transform-horizontal-mirror-bit-khr 16)
(vk-surface-transform-horizontal-mirror-rotate-90-bit-khr
32)
(vk-surface-transform-horizontal-mirror-rotate-180-bit-khr
64)
(vk-surface-transform-horizontal-mirror-rotate-270-bit-khr
128)
(vk-surface-transform-inherit-bit-khr 256)
(vk-surface-transform-flag-bits-max-enum-khr
2147483647))
(fli:define-c-typedef (vk-surface-transform-flag-bits-khr
(:foreign-name "VkSurfaceTransformFlagBitsKHR"))
(:enum vk-surface-transform-flag-bits-khr))
(fli:define-c-typedef (vk-surface-transform-flags-khr
(:foreign-name "VkSurfaceTransformFlagsKHR"))
vk-flags)
(fli:define-c-enum (vk-composite-alpha-flag-bits-khr
(:foreign-name "VkCompositeAlphaFlagBitsKHR"))
(vk-composite-alpha-opaque-bit-khr 1)
(vk-composite-alpha-pre-multiplied-bit-khr 2)
(vk-composite-alpha-post-multiplied-bit-khr 4)
(vk-composite-alpha-inherit-bit-khr 8)
(vk-composite-alpha-flag-bits-max-enum-khr
2147483647))
(fli:define-c-typedef (vk-composite-alpha-flag-bits-khr
(:foreign-name "VkCompositeAlphaFlagBitsKHR"))
(:enum vk-composite-alpha-flag-bits-khr))
(fli:define-c-typedef (vk-composite-alpha-flags-khr
(:foreign-name "VkCompositeAlphaFlagsKHR"))
vk-flags)
(fli:define-c-struct (vk-surface-capabilities-khr
(:foreign-name "VkSurfaceCapabilitiesKHR"))
(min-image-count :uint32)
(max-image-count :uint32)
(current-extent vk-extent2-d)
(min-image-extent vk-extent2-d)
(max-image-extent vk-extent2-d)
(max-image-array-layers :uint32)
(supported-transforms
vk-surface-transform-flags-khr)
(current-transform
vk-surface-transform-flag-bits-khr)
(supported-composite-alpha
vk-composite-alpha-flags-khr)
(supported-usage-flags vk-image-usage-flags))
(fli:define-c-typedef (vk-surface-capabilities-khr
(:foreign-name "VkSurfaceCapabilitiesKHR"))
(:struct vk-surface-capabilities-khr))
(fli:define-c-struct (vk-surface-format-khr
(:foreign-name "VkSurfaceFormatKHR"))
(format vk-format)
(color-space vk-color-space-khr))
(fli:define-c-typedef (vk-surface-format-khr
(:foreign-name "VkSurfaceFormatKHR"))
(:struct vk-surface-format-khr))
(fli:define-c-typedef (pfn-vk-destroy-surface-khr
(:foreign-name "PFN_vkDestroySurfaceKHR"))
(:pointer
(:function
(vk-instance
vk-surface-khr
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-support-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceSupportKHR"))
(:pointer
(:function
(vk-physical-device
:uint32
vk-surface-khr
(:pointer vk-bool32))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-capabilities-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
(:pointer
(:function
(vk-physical-device
vk-surface-khr
(:pointer vk-surface-capabilities-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-formats-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceFormatsKHR"))
(:pointer
(:function
(vk-physical-device
vk-surface-khr
(:pointer :uint32)
(:pointer vk-surface-format-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-present-modes-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfacePresentModesKHR"))
(:pointer
(:function
(vk-physical-device
vk-surface-khr
(:pointer :uint32)
(:pointer vk-present-mode-khr))
vk-result)))
(fli:define-foreign-function (vk-destroy-surface-khr
"vkDestroySurfaceKHR"
:source)
((instance vk-instance)
(surface vk-surface-khr)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-surface-support-khr
"vkGetPhysicalDeviceSurfaceSupportKHR"
:source)
((physical-device vk-physical-device)
(queue-family-index :uint32)
(surface vk-surface-khr)
(p-supported (:pointer vk-bool32)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-surface-capabilities-khr
"vkGetPhysicalDeviceSurfaceCapabilitiesKHR"
:source)
((physical-device vk-physical-device)
(surface vk-surface-khr)
(p-surface-capabilities
(:pointer vk-surface-capabilities-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-surface-formats-khr
"vkGetPhysicalDeviceSurfaceFormatsKHR"
:source)
((physical-device vk-physical-device)
(surface vk-surface-khr)
(p-surface-format-count
(:pointer :uint32))
(p-surface-formats
(:pointer vk-surface-format-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-surface-present-modes-khr
"vkGetPhysicalDeviceSurfacePresentModesKHR"
:source)
((physical-device vk-physical-device)
(surface vk-surface-khr)
(p-present-mode-count
(:pointer :uint32))
(p-present-modes
(:pointer vk-present-mode-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-swapchain-khr-t
(:foreign-name "VkSwapchainKHR_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-swapchain-khr
(:foreign-name "VkSwapchainKHR"))
(:pointer (:struct vk-swapchain-khr-t)))
(fli:define-c-enum (vk-swapchain-create-flag-bits-khr
(:foreign-name "VkSwapchainCreateFlagBitsKHR"))
(vk-swapchain-create-split-instance-bind-regions-bit-khr
1)
(vk-swapchain-create-protected-bit-khr 2)
(vk-swapchain-create-flag-bits-max-enum-khr
2147483647))
(fli:define-c-typedef (vk-swapchain-create-flag-bits-khr
(:foreign-name "VkSwapchainCreateFlagBitsKHR"))
(:enum vk-swapchain-create-flag-bits-khr))
(fli:define-c-typedef (vk-swapchain-create-flags-khr
(:foreign-name "VkSwapchainCreateFlagsKHR"))
vk-flags)
(fli:define-c-enum (vk-device-group-present-mode-flag-bits-khr
(:foreign-name
"VkDeviceGroupPresentModeFlagBitsKHR"))
(vk-device-group-present-mode-local-bit-khr 1)
(vk-device-group-present-mode-remote-bit-khr 2)
(vk-device-group-present-mode-sum-bit-khr 4)
(vk-device-group-present-mode-local-multi-device-bit-khr
8)
(vk-device-group-present-mode-flag-bits-max-enum-khr
2147483647))
(fli:define-c-typedef (vk-device-group-present-mode-flag-bits-khr
(:foreign-name
"VkDeviceGroupPresentModeFlagBitsKHR"))
(:enum
vk-device-group-present-mode-flag-bits-khr))
(fli:define-c-typedef (vk-device-group-present-mode-flags-khr
(:foreign-name
"VkDeviceGroupPresentModeFlagsKHR"))
vk-flags)
(fli:define-c-struct (vk-swapchain-create-info-khr
(:foreign-name "VkSwapchainCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-swapchain-create-flags-khr)
(surface vk-surface-khr)
(min-image-count :uint32)
(image-format vk-format)
(image-color-space vk-color-space-khr)
(image-extent vk-extent2-d)
(image-array-layers :uint32)
(image-usage vk-image-usage-flags)
(image-sharing-mode vk-sharing-mode)
(queue-family-index-count :uint32)
(p-queue-family-indices
(:pointer (:const :uint32)))
(pre-transform vk-surface-transform-flag-bits-khr)
(composite-alpha vk-composite-alpha-flag-bits-khr)
(present-mode vk-present-mode-khr)
(clipped vk-bool32)
(old-swapchain vk-swapchain-khr))
(fli:define-c-typedef (vk-swapchain-create-info-khr
(:foreign-name "VkSwapchainCreateInfoKHR"))
(:struct vk-swapchain-create-info-khr))
(fli:define-c-struct (vk-present-info-khr
(:foreign-name "VkPresentInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(wait-semaphore-count :uint32)
(p-wait-semaphores
(:pointer (:const vk-semaphore)))
(swapchain-count :uint32)
(p-swapchains
(:pointer (:const vk-swapchain-khr)))
(p-image-indices
(:pointer (:const :uint32)))
(p-results (:pointer vk-result)))
(fli:define-c-typedef (vk-present-info-khr
(:foreign-name "VkPresentInfoKHR"))
(:struct vk-present-info-khr))
(fli:define-c-struct (vk-image-swapchain-create-info-khr
(:foreign-name "VkImageSwapchainCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain vk-swapchain-khr))
(fli:define-c-typedef (vk-image-swapchain-create-info-khr
(:foreign-name "VkImageSwapchainCreateInfoKHR"))
(:struct vk-image-swapchain-create-info-khr))
(fli:define-c-struct (vk-bind-image-memory-swapchain-info-khr
(:foreign-name
"VkBindImageMemorySwapchainInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain vk-swapchain-khr)
(image-index :uint32))
(fli:define-c-typedef (vk-bind-image-memory-swapchain-info-khr
(:foreign-name
"VkBindImageMemorySwapchainInfoKHR"))
(:struct vk-bind-image-memory-swapchain-info-khr))
(fli:define-c-struct (vk-acquire-next-image-info-khr
(:foreign-name "VkAcquireNextImageInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain vk-swapchain-khr)
(timeout :uint64)
(semaphore vk-semaphore)
(fence vk-fence)
(device-mask :uint32))
(fli:define-c-typedef (vk-acquire-next-image-info-khr
(:foreign-name "VkAcquireNextImageInfoKHR"))
(:struct vk-acquire-next-image-info-khr))
(fli:define-c-struct (vk-device-group-present-capabilities-khr
(:foreign-name
"VkDeviceGroupPresentCapabilitiesKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(present-mask (:c-array :uint32 32))
(modes vk-device-group-present-mode-flags-khr))
(fli:define-c-typedef (vk-device-group-present-capabilities-khr
(:foreign-name
"VkDeviceGroupPresentCapabilitiesKHR"))
(:struct
vk-device-group-present-capabilities-khr))
(fli:define-c-struct (vk-device-group-present-info-khr
(:foreign-name "VkDeviceGroupPresentInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain-count :uint32)
(p-device-masks
(:pointer (:const :uint32)))
(mode vk-device-group-present-mode-flag-bits-khr))
(fli:define-c-typedef (vk-device-group-present-info-khr
(:foreign-name "VkDeviceGroupPresentInfoKHR"))
(:struct vk-device-group-present-info-khr))
(fli:define-c-struct (vk-device-group-swapchain-create-info-khr
(:foreign-name
"VkDeviceGroupSwapchainCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(modes vk-device-group-present-mode-flags-khr))
(fli:define-c-typedef (vk-device-group-swapchain-create-info-khr
(:foreign-name
"VkDeviceGroupSwapchainCreateInfoKHR"))
(:struct
vk-device-group-swapchain-create-info-khr))
(fli:define-c-typedef (pfn-vk-create-swapchain-khr
(:foreign-name "PFN_vkCreateSwapchainKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-swapchain-create-info-khr))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-swapchain-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-swapchain-khr
(:foreign-name "PFN_vkDestroySwapchainKHR"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-swapchain-images-khr
(:foreign-name "PFN_vkGetSwapchainImagesKHR"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
(:pointer :uint32)
(:pointer vk-image))
vk-result)))
(fli:define-c-typedef (pfn-vk-acquire-next-image-khr
(:foreign-name "PFN_vkAcquireNextImageKHR"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
:uint64
vk-semaphore
vk-fence
(:pointer :uint32))
vk-result)))
(fli:define-c-typedef (pfn-vk-queue-present-khr
(:foreign-name "PFN_vkQueuePresentKHR"))
(:pointer
(:function
(vk-queue
(:pointer (:const vk-present-info-khr)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-device-group-present-capabilities-khr
(:foreign-name
"PFN_vkGetDeviceGroupPresentCapabilitiesKHR"))
(:pointer
(:function
(vk-device
(:pointer
vk-device-group-present-capabilities-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-device-group-surface-present-modes-khr
(:foreign-name
"PFN_vkGetDeviceGroupSurfacePresentModesKHR"))
(:pointer
(:function
(vk-device
vk-surface-khr
(:pointer
vk-device-group-present-mode-flags-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-present-rectangles-khr
(:foreign-name
"PFN_vkGetPhysicalDevicePresentRectanglesKHR"))
(:pointer
(:function
(vk-physical-device
vk-surface-khr
(:pointer :uint32)
(:pointer vk-rect2-d))
vk-result)))
(fli:define-c-typedef (pfn-vk-acquire-next-image2-khr
(:foreign-name "PFN_vkAcquireNextImage2KHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-acquire-next-image-info-khr))
(:pointer :uint32))
vk-result)))
(fli:define-foreign-function (vk-create-swapchain-khr
"vkCreateSwapchainKHR"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const vk-swapchain-create-info-khr)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-swapchain
(:pointer vk-swapchain-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-swapchain-khr
"vkDestroySwapchainKHR"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-swapchain-images-khr
"vkGetSwapchainImagesKHR"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(p-swapchain-image-count
(:pointer :uint32))
(p-swapchain-images (:pointer vk-image)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-acquire-next-image-khr
"vkAcquireNextImageKHR"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(timeout :uint64)
(semaphore vk-semaphore)
(fence vk-fence)
(p-image-index
(:pointer :uint32)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-present-khr
"vkQueuePresentKHR"
:source)
((queue vk-queue)
(p-present-info
(:pointer
(:const vk-present-info-khr))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-group-present-capabilities-khr
"vkGetDeviceGroupPresentCapabilitiesKHR"
:source)
((device vk-device)
(p-device-group-present-capabilities
(:pointer
vk-device-group-present-capabilities-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-device-group-surface-present-modes-khr
"vkGetDeviceGroupSurfacePresentModesKHR"
:source)
((device vk-device)
(surface vk-surface-khr)
(p-modes
(:pointer
vk-device-group-present-mode-flags-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-present-rectangles-khr
"vkGetPhysicalDevicePresentRectanglesKHR"
:source)
((physical-device vk-physical-device)
(surface vk-surface-khr)
(p-rect-count
(:pointer :uint32))
(p-rects (:pointer vk-rect2-d)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-acquire-next-image2-khr
"vkAcquireNextImage2KHR"
:source)
((device vk-device)
(p-acquire-info
(:pointer
(:const
vk-acquire-next-image-info-khr)))
(p-image-index
(:pointer :uint32)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-display-khr-t
(:foreign-name "VkDisplayKHR_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-display-khr (:foreign-name "VkDisplayKHR"))
(:pointer (:struct vk-display-khr-t)))
(fli:define-c-struct (vk-display-mode-khr-t
(:foreign-name "VkDisplayModeKHR_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-display-mode-khr
(:foreign-name "VkDisplayModeKHR"))
(:pointer (:struct vk-display-mode-khr-t)))
(fli:define-c-enum (vk-display-plane-alpha-flag-bits-khr
(:foreign-name "VkDisplayPlaneAlphaFlagBitsKHR"))
(vk-display-plane-alpha-opaque-bit-khr 1)
(vk-display-plane-alpha-global-bit-khr 2)
(vk-display-plane-alpha-per-pixel-bit-khr 4)
(vk-display-plane-alpha-per-pixel-premultiplied-bit-khr
8)
(vk-display-plane-alpha-flag-bits-max-enum-khr
2147483647))
(fli:define-c-typedef (vk-display-plane-alpha-flag-bits-khr
(:foreign-name
"VkDisplayPlaneAlphaFlagBitsKHR"))
(:enum vk-display-plane-alpha-flag-bits-khr))
(fli:define-c-typedef (vk-display-plane-alpha-flags-khr
(:foreign-name "VkDisplayPlaneAlphaFlagsKHR"))
vk-flags)
(fli:define-c-typedef (vk-display-mode-create-flags-khr
(:foreign-name "VkDisplayModeCreateFlagsKHR"))
vk-flags)
(fli:define-c-typedef (vk-display-surface-create-flags-khr
(:foreign-name
"VkDisplaySurfaceCreateFlagsKHR"))
vk-flags)
(fli:define-c-struct (vk-display-properties-khr
(:foreign-name "VkDisplayPropertiesKHR"))
(display vk-display-khr)
(display-name (:pointer (:const :char)))
(physical-dimensions vk-extent2-d)
(physical-resolution vk-extent2-d)
(supported-transforms
vk-surface-transform-flags-khr)
(plane-reorder-possible vk-bool32)
(persistent-content vk-bool32))
(fli:define-c-typedef (vk-display-properties-khr
(:foreign-name "VkDisplayPropertiesKHR"))
(:struct vk-display-properties-khr))
(fli:define-c-struct (vk-display-mode-parameters-khr
(:foreign-name "VkDisplayModeParametersKHR"))
(visible-region vk-extent2-d)
(refresh-rate :uint32))
(fli:define-c-typedef (vk-display-mode-parameters-khr
(:foreign-name "VkDisplayModeParametersKHR"))
(:struct vk-display-mode-parameters-khr))
(fli:define-c-struct (vk-display-mode-properties-khr
(:foreign-name "VkDisplayModePropertiesKHR"))
(display-mode vk-display-mode-khr)
(parameters vk-display-mode-parameters-khr))
(fli:define-c-typedef (vk-display-mode-properties-khr
(:foreign-name "VkDisplayModePropertiesKHR"))
(:struct vk-display-mode-properties-khr))
(fli:define-c-struct (vk-display-mode-create-info-khr
(:foreign-name "VkDisplayModeCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-display-mode-create-flags-khr)
(parameters vk-display-mode-parameters-khr))
(fli:define-c-typedef (vk-display-mode-create-info-khr
(:foreign-name "VkDisplayModeCreateInfoKHR"))
(:struct vk-display-mode-create-info-khr))
(fli:define-c-struct (vk-display-plane-capabilities-khr
(:foreign-name "VkDisplayPlaneCapabilitiesKHR"))
(supported-alpha vk-display-plane-alpha-flags-khr)
(min-src-position vk-offset2-d)
(max-src-position vk-offset2-d)
(min-src-extent vk-extent2-d)
(max-src-extent vk-extent2-d)
(min-dst-position vk-offset2-d)
(max-dst-position vk-offset2-d)
(min-dst-extent vk-extent2-d)
(max-dst-extent vk-extent2-d))
(fli:define-c-typedef (vk-display-plane-capabilities-khr
(:foreign-name "VkDisplayPlaneCapabilitiesKHR"))
(:struct vk-display-plane-capabilities-khr))
(fli:define-c-struct (vk-display-plane-properties-khr
(:foreign-name "VkDisplayPlanePropertiesKHR"))
(current-display vk-display-khr)
(current-stack-index :uint32))
(fli:define-c-typedef (vk-display-plane-properties-khr
(:foreign-name "VkDisplayPlanePropertiesKHR"))
(:struct vk-display-plane-properties-khr))
(fli:define-c-struct (vk-display-surface-create-info-khr
(:foreign-name "VkDisplaySurfaceCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-display-surface-create-flags-khr)
(display-mode vk-display-mode-khr)
(plane-index :uint32)
(plane-stack-index :uint32)
(transform vk-surface-transform-flag-bits-khr)
(global-alpha :float)
(alpha-mode vk-display-plane-alpha-flag-bits-khr)
(image-extent vk-extent2-d))
(fli:define-c-typedef (vk-display-surface-create-info-khr
(:foreign-name "VkDisplaySurfaceCreateInfoKHR"))
(:struct vk-display-surface-create-info-khr))
(fli:define-c-typedef (pfn-vk-get-physical-device-display-properties-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceDisplayPropertiesKHR"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-display-properties-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-display-plane-properties-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-display-plane-properties-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-display-plane-supported-displays-khr
(:foreign-name
"PFN_vkGetDisplayPlaneSupportedDisplaysKHR"))
(:pointer
(:function
(vk-physical-device
:uint32
(:pointer :uint32)
(:pointer vk-display-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-display-mode-properties-khr
(:foreign-name
"PFN_vkGetDisplayModePropertiesKHR"))
(:pointer
(:function
(vk-physical-device
vk-display-khr
(:pointer :uint32)
(:pointer vk-display-mode-properties-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-create-display-mode-khr
(:foreign-name "PFN_vkCreateDisplayModeKHR"))
(:pointer
(:function
(vk-physical-device
vk-display-khr
(:pointer
(:const vk-display-mode-create-info-khr))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-display-mode-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-display-plane-capabilities-khr
(:foreign-name
"PFN_vkGetDisplayPlaneCapabilitiesKHR"))
(:pointer
(:function
(vk-physical-device
vk-display-mode-khr
:uint32
(:pointer vk-display-plane-capabilities-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-create-display-plane-surface-khr
(:foreign-name
"PFN_vkCreateDisplayPlaneSurfaceKHR"))
(:pointer
(:function
(vk-instance
(:pointer
(:const vk-display-surface-create-info-khr))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-surface-khr))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-display-properties-khr
"vkGetPhysicalDeviceDisplayPropertiesKHR"
:source)
((physical-device vk-physical-device)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-display-properties-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-display-plane-properties-khr
"vkGetPhysicalDeviceDisplayPlanePropertiesKHR"
:source)
((physical-device vk-physical-device)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-display-plane-properties-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-display-plane-supported-displays-khr
"vkGetDisplayPlaneSupportedDisplaysKHR"
:source)
((physical-device vk-physical-device)
(plane-index :uint32)
(p-display-count
(:pointer :uint32))
(p-displays (:pointer vk-display-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-display-mode-properties-khr
"vkGetDisplayModePropertiesKHR"
:source)
((physical-device vk-physical-device)
(display vk-display-khr)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-display-mode-properties-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-display-mode-khr
"vkCreateDisplayModeKHR"
:source)
((physical-device vk-physical-device)
(display vk-display-khr)
(p-create-info
(:pointer
(:const
vk-display-mode-create-info-khr)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-mode (:pointer vk-display-mode-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-display-plane-capabilities-khr
"vkGetDisplayPlaneCapabilitiesKHR"
:source)
((physical-device vk-physical-device)
(mode vk-display-mode-khr)
(plane-index :uint32)
(p-capabilities
(:pointer
vk-display-plane-capabilities-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-create-display-plane-surface-khr
"vkCreateDisplayPlaneSurfaceKHR"
:source)
((instance vk-instance)
(p-create-info
(:pointer
(:const
vk-display-surface-create-info-khr)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-surface (:pointer vk-surface-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-display-present-info-khr
(:foreign-name "VkDisplayPresentInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-rect vk-rect2-d)
(dst-rect vk-rect2-d)
(persistent vk-bool32))
(fli:define-c-typedef (vk-display-present-info-khr
(:foreign-name "VkDisplayPresentInfoKHR"))
(:struct vk-display-present-info-khr))
(fli:define-c-typedef (pfn-vk-create-shared-swapchains-khr
(:foreign-name
"PFN_vkCreateSharedSwapchainsKHR"))
(:pointer
(:function
(vk-device
:uint32
(:pointer
(:const vk-swapchain-create-info-khr))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-swapchain-khr))
vk-result)))
(fli:define-foreign-function (vk-create-shared-swapchains-khr
"vkCreateSharedSwapchainsKHR"
:source)
((device vk-device)
(swapchain-count :uint32)
(p-create-infos
(:pointer
(:const vk-swapchain-create-info-khr)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-swapchains
(:pointer vk-swapchain-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-render-pass-multiview-create-info-khr
(:foreign-name
"VkRenderPassMultiviewCreateInfoKHR"))
vk-render-pass-multiview-create-info)
(fli:define-c-typedef (vk-physical-device-multiview-features-khr
(:foreign-name
"VkPhysicalDeviceMultiviewFeaturesKHR"))
vk-physical-device-multiview-features)
(fli:define-c-typedef (vk-physical-device-multiview-properties-khr
(:foreign-name
"VkPhysicalDeviceMultiviewPropertiesKHR"))
vk-physical-device-multiview-properties)
(fli:define-c-typedef (vk-physical-device-features2-khr
(:foreign-name "VkPhysicalDeviceFeatures2KHR"))
vk-physical-device-features2)
(fli:define-c-typedef (vk-physical-device-properties2-khr
(:foreign-name
"VkPhysicalDeviceProperties2KHR"))
vk-physical-device-properties2)
(fli:define-c-typedef (vk-format-properties2-khr
(:foreign-name "VkFormatProperties2KHR"))
vk-format-properties2)
(fli:define-c-typedef (vk-image-format-properties2-khr
(:foreign-name "VkImageFormatProperties2KHR"))
vk-image-format-properties2)
(fli:define-c-typedef (vk-physical-device-image-format-info2-khr
(:foreign-name
"VkPhysicalDeviceImageFormatInfo2KHR"))
vk-physical-device-image-format-info2)
(fli:define-c-typedef (vk-queue-family-properties2-khr
(:foreign-name "VkQueueFamilyProperties2KHR"))
vk-queue-family-properties2)
(fli:define-c-typedef (vk-physical-device-memory-properties2-khr
(:foreign-name
"VkPhysicalDeviceMemoryProperties2KHR"))
vk-physical-device-memory-properties2)
(fli:define-c-typedef (vk-sparse-image-format-properties2-khr
(:foreign-name
"VkSparseImageFormatProperties2KHR"))
vk-sparse-image-format-properties2)
(fli:define-c-typedef (vk-physical-device-sparse-image-format-info2-khr
(:foreign-name
"VkPhysicalDeviceSparseImageFormatInfo2KHR"))
vk-physical-device-sparse-image-format-info2)
(fli:define-c-typedef (pfn-vk-get-physical-device-features2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceFeatures2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-features2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer vk-physical-device-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-format-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceFormatProperties2KHR"))
(:pointer
(:function
(vk-physical-device
vk-format
(:pointer vk-format-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-image-format-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceImageFormatProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-image-format-info2))
(:pointer vk-image-format-properties2))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-queue-family-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-queue-family-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-memory-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceMemoryProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
vk-physical-device-memory-properties2))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-sparse-image-format-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-sparse-image-format-info2))
(:pointer :uint32)
(:pointer vk-sparse-image-format-properties2))
:void)))
(fli:define-foreign-function (vk-get-physical-device-features2-khr
"vkGetPhysicalDeviceFeatures2KHR"
:source)
((physical-device vk-physical-device)
(p-features
(:pointer
vk-physical-device-features2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-properties2-khr
"vkGetPhysicalDeviceProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-properties
(:pointer
vk-physical-device-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-format-properties2-khr
"vkGetPhysicalDeviceFormatProperties2KHR"
:source)
((physical-device vk-physical-device)
(format vk-format)
(p-format-properties
(:pointer vk-format-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-image-format-properties2-khr
"vkGetPhysicalDeviceImageFormatProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-image-format-info
(:pointer
(:const
vk-physical-device-image-format-info2)))
(p-image-format-properties
(:pointer vk-image-format-properties2)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-queue-family-properties2-khr
"vkGetPhysicalDeviceQueueFamilyProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-queue-family-property-count
(:pointer :uint32))
(p-queue-family-properties
(:pointer vk-queue-family-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-memory-properties2-khr
"vkGetPhysicalDeviceMemoryProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-memory-properties
(:pointer
vk-physical-device-memory-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-sparse-image-format-properties2-khr
"vkGetPhysicalDeviceSparseImageFormatProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-format-info
(:pointer
(:const
vk-physical-device-sparse-image-format-info2)))
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-sparse-image-format-properties2)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-peer-memory-feature-flags-khr
(:foreign-name "VkPeerMemoryFeatureFlagsKHR"))
vk-peer-memory-feature-flags)
(fli:define-c-typedef (vk-peer-memory-feature-flag-bits-khr
(:foreign-name
"VkPeerMemoryFeatureFlagBitsKHR"))
vk-peer-memory-feature-flag-bits)
(fli:define-c-typedef (vk-memory-allocate-flags-khr
(:foreign-name "VkMemoryAllocateFlagsKHR"))
vk-memory-allocate-flags)
(fli:define-c-typedef (vk-memory-allocate-flag-bits-khr
(:foreign-name "VkMemoryAllocateFlagBitsKHR"))
vk-memory-allocate-flag-bits)
(fli:define-c-typedef (vk-memory-allocate-flags-info-khr
(:foreign-name "VkMemoryAllocateFlagsInfoKHR"))
vk-memory-allocate-flags-info)
(fli:define-c-typedef (vk-device-group-render-pass-begin-info-khr
(:foreign-name
"VkDeviceGroupRenderPassBeginInfoKHR"))
vk-device-group-render-pass-begin-info)
(fli:define-c-typedef (vk-device-group-command-buffer-begin-info-khr
(:foreign-name
"VkDeviceGroupCommandBufferBeginInfoKHR"))
vk-device-group-command-buffer-begin-info)
(fli:define-c-typedef (vk-device-group-submit-info-khr
(:foreign-name "VkDeviceGroupSubmitInfoKHR"))
vk-device-group-submit-info)
(fli:define-c-typedef (vk-device-group-bind-sparse-info-khr
(:foreign-name
"VkDeviceGroupBindSparseInfoKHR"))
vk-device-group-bind-sparse-info)
(fli:define-c-typedef (vk-bind-buffer-memory-device-group-info-khr
(:foreign-name
"VkBindBufferMemoryDeviceGroupInfoKHR"))
vk-bind-buffer-memory-device-group-info)
(fli:define-c-typedef (vk-bind-image-memory-device-group-info-khr
(:foreign-name
"VkBindImageMemoryDeviceGroupInfoKHR"))
vk-bind-image-memory-device-group-info)
(fli:define-c-typedef (pfn-vk-get-device-group-peer-memory-features-khr
(:foreign-name
"PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR"))
(:pointer
(:function
(vk-device
:uint32
:uint32
:uint32
(:pointer vk-peer-memory-feature-flags))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-device-mask-khr
(:foreign-name "PFN_vkCmdSetDeviceMaskKHR"))
(:pointer
(:function
(vk-command-buffer :uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-dispatch-base-khr
(:foreign-name "PFN_vkCmdDispatchBaseKHR"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
:uint32
:uint32
:uint32
:uint32)
:void)))
(fli:define-foreign-function (vk-get-device-group-peer-memory-features-khr
"vkGetDeviceGroupPeerMemoryFeaturesKHR"
:source)
((device vk-device)
(heap-index :uint32)
(local-device-index :uint32)
(remote-device-index :uint32)
(p-peer-memory-features
(:pointer
vk-peer-memory-feature-flags)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-device-mask-khr
"vkCmdSetDeviceMaskKHR"
:source)
((command-buffer vk-command-buffer)
(device-mask :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-dispatch-base-khr
"vkCmdDispatchBaseKHR"
:source)
((command-buffer vk-command-buffer)
(base-group-x :uint32)
(base-group-y :uint32)
(base-group-z :uint32)
(group-count-x :uint32)
(group-count-y :uint32)
(group-count-z :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-command-pool-trim-flags-khr
(:foreign-name "VkCommandPoolTrimFlagsKHR"))
vk-command-pool-trim-flags)
(fli:define-c-typedef (pfn-vk-trim-command-pool-khr
(:foreign-name "PFN_vkTrimCommandPoolKHR"))
(:pointer
(:function
(vk-device
vk-command-pool
vk-command-pool-trim-flags)
:void)))
(fli:define-foreign-function (vk-trim-command-pool-khr
"vkTrimCommandPoolKHR"
:source)
((device vk-device)
(command-pool vk-command-pool)
(flags vk-command-pool-trim-flags))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-physical-device-group-properties-khr
(:foreign-name
"VkPhysicalDeviceGroupPropertiesKHR"))
vk-physical-device-group-properties)
(fli:define-c-typedef (vk-device-group-device-create-info-khr
(:foreign-name
"VkDeviceGroupDeviceCreateInfoKHR"))
vk-device-group-device-create-info)
(fli:define-c-typedef (pfn-vk-enumerate-physical-device-groups-khr
(:foreign-name
"PFN_vkEnumeratePhysicalDeviceGroupsKHR"))
(:pointer
(:function
(vk-instance
(:pointer :uint32)
(:pointer
vk-physical-device-group-properties))
vk-result)))
(fli:define-foreign-function (vk-enumerate-physical-device-groups-khr
"vkEnumeratePhysicalDeviceGroupsKHR"
:source)
((instance vk-instance)
(p-physical-device-group-count
(:pointer :uint32))
(p-physical-device-group-properties
(:pointer
vk-physical-device-group-properties)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-external-memory-handle-type-flags-khr
(:foreign-name
"VkExternalMemoryHandleTypeFlagsKHR"))
vk-external-memory-handle-type-flags)
(fli:define-c-typedef (vk-external-memory-handle-type-flag-bits-khr
(:foreign-name
"VkExternalMemoryHandleTypeFlagBitsKHR"))
vk-external-memory-handle-type-flag-bits)
(fli:define-c-typedef (vk-external-memory-feature-flags-khr
(:foreign-name
"VkExternalMemoryFeatureFlagsKHR"))
vk-external-memory-feature-flags)
(fli:define-c-typedef (vk-external-memory-feature-flag-bits-khr
(:foreign-name
"VkExternalMemoryFeatureFlagBitsKHR"))
vk-external-memory-feature-flag-bits)
(fli:define-c-typedef (vk-external-memory-properties-khr
(:foreign-name "VkExternalMemoryPropertiesKHR"))
vk-external-memory-properties)
(fli:define-c-typedef (vk-physical-device-external-image-format-info-khr
(:foreign-name
"VkPhysicalDeviceExternalImageFormatInfoKHR"))
vk-physical-device-external-image-format-info)
(fli:define-c-typedef (vk-external-image-format-properties-khr
(:foreign-name
"VkExternalImageFormatPropertiesKHR"))
vk-external-image-format-properties)
(fli:define-c-typedef (vk-physical-device-external-buffer-info-khr
(:foreign-name
"VkPhysicalDeviceExternalBufferInfoKHR"))
vk-physical-device-external-buffer-info)
(fli:define-c-typedef (vk-external-buffer-properties-khr
(:foreign-name "VkExternalBufferPropertiesKHR"))
vk-external-buffer-properties)
(fli:define-c-typedef (vk-physical-device-idproperties-khr
(:foreign-name
"VkPhysicalDeviceIDPropertiesKHR"))
vk-physical-device-idproperties)
(fli:define-c-typedef (pfn-vk-get-physical-device-external-buffer-properties-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-buffer-info))
(:pointer vk-external-buffer-properties))
:void)))
(fli:define-foreign-function (vk-get-physical-device-external-buffer-properties-khr
"vkGetPhysicalDeviceExternalBufferPropertiesKHR"
:source)
((physical-device vk-physical-device)
(p-external-buffer-info
(:pointer
(:const
vk-physical-device-external-buffer-info)))
(p-external-buffer-properties
(:pointer
vk-external-buffer-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-external-memory-image-create-info-khr
(:foreign-name
"VkExternalMemoryImageCreateInfoKHR"))
vk-external-memory-image-create-info)
(fli:define-c-typedef (vk-external-memory-buffer-create-info-khr
(:foreign-name
"VkExternalMemoryBufferCreateInfoKHR"))
vk-external-memory-buffer-create-info)
(fli:define-c-typedef (vk-export-memory-allocate-info-khr
(:foreign-name "VkExportMemoryAllocateInfoKHR"))
vk-export-memory-allocate-info)
(fli:define-c-struct (vk-import-memory-fd-info-khr
(:foreign-name "VkImportMemoryFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-type
vk-external-memory-handle-type-flag-bits)
(fd :int))
(fli:define-c-typedef (vk-import-memory-fd-info-khr
(:foreign-name "VkImportMemoryFdInfoKHR"))
(:struct vk-import-memory-fd-info-khr))
(fli:define-c-struct (vk-memory-fd-properties-khr
(:foreign-name "VkMemoryFdPropertiesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(memory-type-bits :uint32))
(fli:define-c-typedef (vk-memory-fd-properties-khr
(:foreign-name "VkMemoryFdPropertiesKHR"))
(:struct vk-memory-fd-properties-khr))
(fli:define-c-struct (vk-memory-get-fd-info-khr
(:foreign-name "VkMemoryGetFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(memory vk-device-memory)
(handle-type
vk-external-memory-handle-type-flag-bits))
(fli:define-c-typedef (vk-memory-get-fd-info-khr
(:foreign-name "VkMemoryGetFdInfoKHR"))
(:struct vk-memory-get-fd-info-khr))
(fli:define-c-typedef (pfn-vk-get-memory-fd-khr
(:foreign-name "PFN_vkGetMemoryFdKHR"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-memory-get-fd-info-khr))
(:pointer :int))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-memory-fd-properties-khr
(:foreign-name
"PFN_vkGetMemoryFdPropertiesKHR"))
(:pointer
(:function
(vk-device
vk-external-memory-handle-type-flag-bits
:int
(:pointer vk-memory-fd-properties-khr))
vk-result)))
(fli:define-foreign-function (vk-get-memory-fd-khr
"vkGetMemoryFdKHR"
:source)
((device vk-device)
(p-get-fd-info
(:pointer
(:const vk-memory-get-fd-info-khr)))
(p-fd (:pointer :int)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-memory-fd-properties-khr
"vkGetMemoryFdPropertiesKHR"
:source)
((device vk-device)
(handle-type
vk-external-memory-handle-type-flag-bits)
(fd :int)
(p-memory-fd-properties
(:pointer vk-memory-fd-properties-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-external-semaphore-handle-type-flags-khr
(:foreign-name
"VkExternalSemaphoreHandleTypeFlagsKHR"))
vk-external-semaphore-handle-type-flags)
(fli:define-c-typedef (vk-external-semaphore-handle-type-flag-bits-khr
(:foreign-name
"VkExternalSemaphoreHandleTypeFlagBitsKHR"))
vk-external-semaphore-handle-type-flag-bits)
(fli:define-c-typedef (vk-external-semaphore-feature-flags-khr
(:foreign-name
"VkExternalSemaphoreFeatureFlagsKHR"))
vk-external-semaphore-feature-flags)
(fli:define-c-typedef (vk-external-semaphore-feature-flag-bits-khr
(:foreign-name
"VkExternalSemaphoreFeatureFlagBitsKHR"))
vk-external-semaphore-feature-flag-bits)
(fli:define-c-typedef (vk-physical-device-external-semaphore-info-khr
(:foreign-name
"VkPhysicalDeviceExternalSemaphoreInfoKHR"))
vk-physical-device-external-semaphore-info)
(fli:define-c-typedef (vk-external-semaphore-properties-khr
(:foreign-name
"VkExternalSemaphorePropertiesKHR"))
vk-external-semaphore-properties)
(fli:define-c-typedef (pfn-vk-get-physical-device-external-semaphore-properties-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-semaphore-info))
(:pointer vk-external-semaphore-properties))
:void)))
(fli:define-foreign-function (vk-get-physical-device-external-semaphore-properties-khr
"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"
:source)
((physical-device vk-physical-device)
(p-external-semaphore-info
(:pointer
(:const
vk-physical-device-external-semaphore-info)))
(p-external-semaphore-properties
(:pointer
vk-external-semaphore-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-semaphore-import-flags-khr
(:foreign-name "VkSemaphoreImportFlagsKHR"))
vk-semaphore-import-flags)
(fli:define-c-typedef (vk-semaphore-import-flag-bits-khr
(:foreign-name "VkSemaphoreImportFlagBitsKHR"))
vk-semaphore-import-flag-bits)
(fli:define-c-typedef (vk-export-semaphore-create-info-khr
(:foreign-name
"VkExportSemaphoreCreateInfoKHR"))
vk-export-semaphore-create-info)
(fli:define-c-struct (vk-import-semaphore-fd-info-khr
(:foreign-name "VkImportSemaphoreFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(semaphore vk-semaphore)
(flags vk-semaphore-import-flags)
(handle-type
vk-external-semaphore-handle-type-flag-bits)
(fd :int))
(fli:define-c-typedef (vk-import-semaphore-fd-info-khr
(:foreign-name "VkImportSemaphoreFdInfoKHR"))
(:struct vk-import-semaphore-fd-info-khr))
(fli:define-c-struct (vk-semaphore-get-fd-info-khr
(:foreign-name "VkSemaphoreGetFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(semaphore vk-semaphore)
(handle-type
vk-external-semaphore-handle-type-flag-bits))
(fli:define-c-typedef (vk-semaphore-get-fd-info-khr
(:foreign-name "VkSemaphoreGetFdInfoKHR"))
(:struct vk-semaphore-get-fd-info-khr))
(fli:define-c-typedef (pfn-vk-import-semaphore-fd-khr
(:foreign-name "PFN_vkImportSemaphoreFdKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-import-semaphore-fd-info-khr)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-semaphore-fd-khr
(:foreign-name "PFN_vkGetSemaphoreFdKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-semaphore-get-fd-info-khr))
(:pointer :int))
vk-result)))
(fli:define-foreign-function (vk-import-semaphore-fd-khr
"vkImportSemaphoreFdKHR"
:source)
((device vk-device)
(p-import-semaphore-fd-info
(:pointer
(:const
vk-import-semaphore-fd-info-khr))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-semaphore-fd-khr
"vkGetSemaphoreFdKHR"
:source)
((device vk-device)
(p-get-fd-info
(:pointer
(:const vk-semaphore-get-fd-info-khr)))
(p-fd (:pointer :int)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-push-descriptor-properties-khr
(:foreign-name
"VkPhysicalDevicePushDescriptorPropertiesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-push-descriptors :uint32))
(fli:define-c-typedef (vk-physical-device-push-descriptor-properties-khr
(:foreign-name
"VkPhysicalDevicePushDescriptorPropertiesKHR"))
(:struct
vk-physical-device-push-descriptor-properties-khr))
(fli:define-c-typedef (pfn-vk-cmd-push-descriptor-set-khr
(:foreign-name "PFN_vkCmdPushDescriptorSetKHR"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-bind-point
vk-pipeline-layout
:uint32
:uint32
(:pointer (:const vk-write-descriptor-set)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-push-descriptor-set-with-template-khr
(:foreign-name
"PFN_vkCmdPushDescriptorSetWithTemplateKHR"))
(:pointer
(:function
(vk-command-buffer
vk-descriptor-update-template
vk-pipeline-layout
:uint32
(:pointer (:const :void)))
:void)))
(fli:define-foreign-function (vk-cmd-push-descriptor-set-khr
"vkCmdPushDescriptorSetKHR"
:source)
((command-buffer vk-command-buffer)
(pipeline-bind-point
vk-pipeline-bind-point)
(layout vk-pipeline-layout)
(set :uint32)
(descriptor-write-count :uint32)
(p-descriptor-writes
(:pointer
(:const vk-write-descriptor-set))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-push-descriptor-set-with-template-khr
"vkCmdPushDescriptorSetWithTemplateKHR"
:source)
((command-buffer vk-command-buffer)
(descriptor-update-template
vk-descriptor-update-template)
(layout vk-pipeline-layout)
(set :uint32)
(p-data (:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-physical-device16-bit-storage-features-khr
(:foreign-name
"VkPhysicalDevice16BitStorageFeaturesKHR"))
vk-physical-device16-bit-storage-features)
(fli:define-c-struct (vk-rect-layer-khr
(:foreign-name "VkRectLayerKHR"))
(offset vk-offset2-d)
(extent vk-extent2-d)
(layer :uint32))
(fli:define-c-typedef (vk-rect-layer-khr
(:foreign-name "VkRectLayerKHR"))
(:struct vk-rect-layer-khr))
(fli:define-c-struct (vk-present-region-khr
(:foreign-name "VkPresentRegionKHR"))
(rectangle-count :uint32)
(p-rectangles
(:pointer (:const vk-rect-layer-khr))))
(fli:define-c-typedef (vk-present-region-khr
(:foreign-name "VkPresentRegionKHR"))
(:struct vk-present-region-khr))
(fli:define-c-struct (vk-present-regions-khr
(:foreign-name "VkPresentRegionsKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain-count :uint32)
(p-regions
(:pointer (:const vk-present-region-khr))))
(fli:define-c-typedef (vk-present-regions-khr
(:foreign-name "VkPresentRegionsKHR"))
(:struct vk-present-regions-khr))
(fli:define-c-typedef (vk-descriptor-update-template-khr
(:foreign-name "VkDescriptorUpdateTemplateKHR"))
vk-descriptor-update-template)
(fli:define-c-typedef (vk-descriptor-update-template-type-khr
(:foreign-name
"VkDescriptorUpdateTemplateTypeKHR"))
vk-descriptor-update-template-type)
(fli:define-c-typedef (vk-descriptor-update-template-create-flags-khr
(:foreign-name
"VkDescriptorUpdateTemplateCreateFlagsKHR"))
vk-descriptor-update-template-create-flags)
(fli:define-c-typedef (vk-descriptor-update-template-entry-khr
(:foreign-name
"VkDescriptorUpdateTemplateEntryKHR"))
vk-descriptor-update-template-entry)
(fli:define-c-typedef (vk-descriptor-update-template-create-info-khr
(:foreign-name
"VkDescriptorUpdateTemplateCreateInfoKHR"))
vk-descriptor-update-template-create-info)
(fli:define-c-typedef (pfn-vk-create-descriptor-update-template-khr
(:foreign-name
"PFN_vkCreateDescriptorUpdateTemplateKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-descriptor-update-template-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-descriptor-update-template))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-descriptor-update-template-khr
(:foreign-name
"PFN_vkDestroyDescriptorUpdateTemplateKHR"))
(:pointer
(:function
(vk-device
vk-descriptor-update-template
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-update-descriptor-set-with-template-khr
(:foreign-name
"PFN_vkUpdateDescriptorSetWithTemplateKHR"))
(:pointer
(:function
(vk-device
vk-descriptor-set
vk-descriptor-update-template
(:pointer (:const :void)))
:void)))
(fli:define-foreign-function (vk-create-descriptor-update-template-khr
"vkCreateDescriptorUpdateTemplateKHR"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-update-template-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-descriptor-update-template
(:pointer
vk-descriptor-update-template)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-descriptor-update-template-khr
"vkDestroyDescriptorUpdateTemplateKHR"
:source)
((device vk-device)
(descriptor-update-template
vk-descriptor-update-template)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-update-descriptor-set-with-template-khr
"vkUpdateDescriptorSetWithTemplateKHR"
:source)
((device vk-device)
(descriptor-set vk-descriptor-set)
(descriptor-update-template
vk-descriptor-update-template)
(p-data (:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-attachment-description2-khr
(:foreign-name "VkAttachmentDescription2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-attachment-description-flags)
(format vk-format)
(samples vk-sample-count-flag-bits)
(load-op vk-attachment-load-op)
(store-op vk-attachment-store-op)
(stencil-load-op vk-attachment-load-op)
(stencil-store-op vk-attachment-store-op)
(initial-layout vk-image-layout)
(final-layout vk-image-layout))
(fli:define-c-typedef (vk-attachment-description2-khr
(:foreign-name "VkAttachmentDescription2KHR"))
(:struct vk-attachment-description2-khr))
(fli:define-c-struct (vk-attachment-reference2-khr
(:foreign-name "VkAttachmentReference2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(attachment :uint32)
(layout vk-image-layout)
(aspect-mask vk-image-aspect-flags))
(fli:define-c-typedef (vk-attachment-reference2-khr
(:foreign-name "VkAttachmentReference2KHR"))
(:struct vk-attachment-reference2-khr))
(fli:define-c-struct (vk-subpass-description2-khr
(:foreign-name "VkSubpassDescription2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-subpass-description-flags)
(pipeline-bind-point vk-pipeline-bind-point)
(view-mask :uint32)
(input-attachment-count :uint32)
(p-input-attachments
(:pointer (:const vk-attachment-reference2-khr)))
(color-attachment-count :uint32)
(p-color-attachments
(:pointer (:const vk-attachment-reference2-khr)))
(p-resolve-attachments
(:pointer (:const vk-attachment-reference2-khr)))
(p-depth-stencil-attachment
(:pointer (:const vk-attachment-reference2-khr)))
(preserve-attachment-count :uint32)
(p-preserve-attachments
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-subpass-description2-khr
(:foreign-name "VkSubpassDescription2KHR"))
(:struct vk-subpass-description2-khr))
(fli:define-c-struct (vk-subpass-dependency2-khr
(:foreign-name "VkSubpassDependency2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-subpass :uint32)
(dst-subpass :uint32)
(src-stage-mask vk-pipeline-stage-flags)
(dst-stage-mask vk-pipeline-stage-flags)
(src-access-mask vk-access-flags)
(dst-access-mask vk-access-flags)
(dependency-flags vk-dependency-flags)
(view-offset :int))
(fli:define-c-typedef (vk-subpass-dependency2-khr
(:foreign-name "VkSubpassDependency2KHR"))
(:struct vk-subpass-dependency2-khr))
(fli:define-c-struct (vk-render-pass-create-info2-khr
(:foreign-name "VkRenderPassCreateInfo2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-render-pass-create-flags)
(attachment-count :uint32)
(p-attachments
(:pointer
(:const vk-attachment-description2-khr)))
(subpass-count :uint32)
(p-subpasses
(:pointer (:const vk-subpass-description2-khr)))
(dependency-count :uint32)
(p-dependencies
(:pointer (:const vk-subpass-dependency2-khr)))
(correlated-view-mask-count :uint32)
(p-correlated-view-masks
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-render-pass-create-info2-khr
(:foreign-name "VkRenderPassCreateInfo2KHR"))
(:struct vk-render-pass-create-info2-khr))
(fli:define-c-struct (vk-subpass-begin-info-khr
(:foreign-name "VkSubpassBeginInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(contents vk-subpass-contents))
(fli:define-c-typedef (vk-subpass-begin-info-khr
(:foreign-name "VkSubpassBeginInfoKHR"))
(:struct vk-subpass-begin-info-khr))
(fli:define-c-struct (vk-subpass-end-info-khr
(:foreign-name "VkSubpassEndInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void))))
(fli:define-c-typedef (vk-subpass-end-info-khr
(:foreign-name "VkSubpassEndInfoKHR"))
(:struct vk-subpass-end-info-khr))
(fli:define-c-typedef (pfn-vk-create-render-pass2-khr
(:foreign-name "PFN_vkCreateRenderPass2KHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-render-pass-create-info2-khr))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-render-pass))
vk-result)))
(fli:define-c-typedef (pfn-vk-cmd-begin-render-pass2-khr
(:foreign-name "PFN_vkCmdBeginRenderPass2KHR"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-render-pass-begin-info))
(:pointer (:const vk-subpass-begin-info-khr)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-next-subpass2-khr
(:foreign-name "PFN_vkCmdNextSubpass2KHR"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-subpass-begin-info-khr))
(:pointer (:const vk-subpass-end-info-khr)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-render-pass2-khr
(:foreign-name "PFN_vkCmdEndRenderPass2KHR"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-subpass-end-info-khr)))
:void)))
(fli:define-foreign-function (vk-create-render-pass2-khr
"vkCreateRenderPass2KHR"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-render-pass-create-info2-khr)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-render-pass
(:pointer vk-render-pass)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-render-pass2-khr
"vkCmdBeginRenderPass2KHR"
:source)
((command-buffer vk-command-buffer)
(p-render-pass-begin
(:pointer
(:const vk-render-pass-begin-info)))
(p-subpass-begin-info
(:pointer
(:const vk-subpass-begin-info-khr))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-next-subpass2-khr
"vkCmdNextSubpass2KHR"
:source)
((command-buffer vk-command-buffer)
(p-subpass-begin-info
(:pointer
(:const vk-subpass-begin-info-khr)))
(p-subpass-end-info
(:pointer
(:const vk-subpass-end-info-khr))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-render-pass2-khr
"vkCmdEndRenderPass2KHR"
:source)
((command-buffer vk-command-buffer)
(p-subpass-end-info
(:pointer
(:const vk-subpass-end-info-khr))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-shared-present-surface-capabilities-khr
(:foreign-name
"VkSharedPresentSurfaceCapabilitiesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shared-present-supported-usage-flags
vk-image-usage-flags))
(fli:define-c-typedef (vk-shared-present-surface-capabilities-khr
(:foreign-name
"VkSharedPresentSurfaceCapabilitiesKHR"))
(:struct
vk-shared-present-surface-capabilities-khr))
(fli:define-c-typedef (pfn-vk-get-swapchain-status-khr
(:foreign-name "PFN_vkGetSwapchainStatusKHR"))
(:pointer
(:function
(vk-device vk-swapchain-khr)
vk-result)))
(fli:define-foreign-function (vk-get-swapchain-status-khr
"vkGetSwapchainStatusKHR"
:source)
((device vk-device)
(swapchain vk-swapchain-khr))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-external-fence-handle-type-flags-khr
(:foreign-name
"VkExternalFenceHandleTypeFlagsKHR"))
vk-external-fence-handle-type-flags)
(fli:define-c-typedef (vk-external-fence-handle-type-flag-bits-khr
(:foreign-name
"VkExternalFenceHandleTypeFlagBitsKHR"))
vk-external-fence-handle-type-flag-bits)
(fli:define-c-typedef (vk-external-fence-feature-flags-khr
(:foreign-name
"VkExternalFenceFeatureFlagsKHR"))
vk-external-fence-feature-flags)
(fli:define-c-typedef (vk-external-fence-feature-flag-bits-khr
(:foreign-name
"VkExternalFenceFeatureFlagBitsKHR"))
vk-external-fence-feature-flag-bits)
(fli:define-c-typedef (vk-physical-device-external-fence-info-khr
(:foreign-name
"VkPhysicalDeviceExternalFenceInfoKHR"))
vk-physical-device-external-fence-info)
(fli:define-c-typedef (vk-external-fence-properties-khr
(:foreign-name "VkExternalFencePropertiesKHR"))
vk-external-fence-properties)
(fli:define-c-typedef (pfn-vk-get-physical-device-external-fence-properties-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-external-fence-info))
(:pointer vk-external-fence-properties))
:void)))
(fli:define-foreign-function (vk-get-physical-device-external-fence-properties-khr
"vkGetPhysicalDeviceExternalFencePropertiesKHR"
:source)
((physical-device vk-physical-device)
(p-external-fence-info
(:pointer
(:const
vk-physical-device-external-fence-info)))
(p-external-fence-properties
(:pointer
vk-external-fence-properties)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-fence-import-flags-khr
(:foreign-name "VkFenceImportFlagsKHR"))
vk-fence-import-flags)
(fli:define-c-typedef (vk-fence-import-flag-bits-khr
(:foreign-name "VkFenceImportFlagBitsKHR"))
vk-fence-import-flag-bits)
(fli:define-c-typedef (vk-export-fence-create-info-khr
(:foreign-name "VkExportFenceCreateInfoKHR"))
vk-export-fence-create-info)
(fli:define-c-struct (vk-import-fence-fd-info-khr
(:foreign-name "VkImportFenceFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(fence vk-fence)
(flags vk-fence-import-flags)
(handle-type
vk-external-fence-handle-type-flag-bits)
(fd :int))
(fli:define-c-typedef (vk-import-fence-fd-info-khr
(:foreign-name "VkImportFenceFdInfoKHR"))
(:struct vk-import-fence-fd-info-khr))
(fli:define-c-struct (vk-fence-get-fd-info-khr
(:foreign-name "VkFenceGetFdInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(fence vk-fence)
(handle-type
vk-external-fence-handle-type-flag-bits))
(fli:define-c-typedef (vk-fence-get-fd-info-khr
(:foreign-name "VkFenceGetFdInfoKHR"))
(:struct vk-fence-get-fd-info-khr))
(fli:define-c-typedef (pfn-vk-import-fence-fd-khr
(:foreign-name "PFN_vkImportFenceFdKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-import-fence-fd-info-khr)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-fence-fd-khr
(:foreign-name "PFN_vkGetFenceFdKHR"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-fence-get-fd-info-khr))
(:pointer :int))
vk-result)))
(fli:define-foreign-function (vk-import-fence-fd-khr
"vkImportFenceFdKHR"
:source)
((device vk-device)
(p-import-fence-fd-info
(:pointer
(:const vk-import-fence-fd-info-khr))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-fence-fd-khr
"vkGetFenceFdKHR"
:source)
((device vk-device)
(p-get-fd-info
(:pointer
(:const vk-fence-get-fd-info-khr)))
(p-fd (:pointer :int)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-point-clipping-behavior-khr
(:foreign-name "VkPointClippingBehaviorKHR"))
vk-point-clipping-behavior)
(fli:define-c-typedef (vk-tessellation-domain-origin-khr
(:foreign-name "VkTessellationDomainOriginKHR"))
vk-tessellation-domain-origin)
(fli:define-c-typedef (vk-physical-device-point-clipping-properties-khr
(:foreign-name
"VkPhysicalDevicePointClippingPropertiesKHR"))
vk-physical-device-point-clipping-properties)
(fli:define-c-typedef (vk-render-pass-input-attachment-aspect-create-info-khr
(:foreign-name
"VkRenderPassInputAttachmentAspectCreateInfoKHR"))
vk-render-pass-input-attachment-aspect-create-info)
(fli:define-c-typedef (vk-input-attachment-aspect-reference-khr
(:foreign-name
"VkInputAttachmentAspectReferenceKHR"))
vk-input-attachment-aspect-reference)
(fli:define-c-typedef (vk-image-view-usage-create-info-khr
(:foreign-name "VkImageViewUsageCreateInfoKHR"))
vk-image-view-usage-create-info)
(fli:define-c-typedef (vk-pipeline-tessellation-domain-origin-state-create-info-khr
(:foreign-name
"VkPipelineTessellationDomainOriginStateCreateInfoKHR"))
vk-pipeline-tessellation-domain-origin-state-create-info)
(fli:define-c-struct (vk-physical-device-surface-info2-khr
(:foreign-name
"VkPhysicalDeviceSurfaceInfo2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(surface vk-surface-khr))
(fli:define-c-typedef (vk-physical-device-surface-info2-khr
(:foreign-name
"VkPhysicalDeviceSurfaceInfo2KHR"))
(:struct vk-physical-device-surface-info2-khr))
(fli:define-c-struct (vk-surface-capabilities2-khr
(:foreign-name "VkSurfaceCapabilities2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(surface-capabilities vk-surface-capabilities-khr))
(fli:define-c-typedef (vk-surface-capabilities2-khr
(:foreign-name "VkSurfaceCapabilities2KHR"))
(:struct vk-surface-capabilities2-khr))
(fli:define-c-struct (vk-surface-format2-khr
(:foreign-name "VkSurfaceFormat2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(surface-format vk-surface-format-khr))
(fli:define-c-typedef (vk-surface-format2-khr
(:foreign-name "VkSurfaceFormat2KHR"))
(:struct vk-surface-format2-khr))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-capabilities2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-surface-info2-khr))
(:pointer vk-surface-capabilities2-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-formats2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceFormats2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer
(:const
vk-physical-device-surface-info2-khr))
(:pointer :uint32)
(:pointer vk-surface-format2-khr))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-surface-capabilities2-khr
"vkGetPhysicalDeviceSurfaceCapabilities2KHR"
:source)
((physical-device vk-physical-device)
(p-surface-info
(:pointer
(:const
vk-physical-device-surface-info2-khr)))
(p-surface-capabilities
(:pointer
vk-surface-capabilities2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-surface-formats2-khr
"vkGetPhysicalDeviceSurfaceFormats2KHR"
:source)
((physical-device vk-physical-device)
(p-surface-info
(:pointer
(:const
vk-physical-device-surface-info2-khr)))
(p-surface-format-count
(:pointer :uint32))
(p-surface-formats
(:pointer vk-surface-format2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-physical-device-variable-pointer-features-khr
(:foreign-name
"VkPhysicalDeviceVariablePointerFeaturesKHR"))
vk-physical-device-variable-pointer-features)
(fli:define-c-struct (vk-display-properties2-khr
(:foreign-name "VkDisplayProperties2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(display-properties vk-display-properties-khr))
(fli:define-c-typedef (vk-display-properties2-khr
(:foreign-name "VkDisplayProperties2KHR"))
(:struct vk-display-properties2-khr))
(fli:define-c-struct (vk-display-plane-properties2-khr
(:foreign-name "VkDisplayPlaneProperties2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(display-plane-properties
vk-display-plane-properties-khr))
(fli:define-c-typedef (vk-display-plane-properties2-khr
(:foreign-name "VkDisplayPlaneProperties2KHR"))
(:struct vk-display-plane-properties2-khr))
(fli:define-c-struct (vk-display-mode-properties2-khr
(:foreign-name "VkDisplayModeProperties2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(display-mode-properties
vk-display-mode-properties-khr))
(fli:define-c-typedef (vk-display-mode-properties2-khr
(:foreign-name "VkDisplayModeProperties2KHR"))
(:struct vk-display-mode-properties2-khr))
(fli:define-c-struct (vk-display-plane-info2-khr
(:foreign-name "VkDisplayPlaneInfo2KHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(mode vk-display-mode-khr)
(plane-index :uint32))
(fli:define-c-typedef (vk-display-plane-info2-khr
(:foreign-name "VkDisplayPlaneInfo2KHR"))
(:struct vk-display-plane-info2-khr))
(fli:define-c-struct (vk-display-plane-capabilities2-khr
(:foreign-name "VkDisplayPlaneCapabilities2KHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(capabilities vk-display-plane-capabilities-khr))
(fli:define-c-typedef (vk-display-plane-capabilities2-khr
(:foreign-name
"VkDisplayPlaneCapabilities2KHR"))
(:struct vk-display-plane-capabilities2-khr))
(fli:define-c-typedef (pfn-vk-get-physical-device-display-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceDisplayProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-display-properties2-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-display-plane-properties2-khr
(:foreign-name
"PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-display-plane-properties2-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-display-mode-properties2-khr
(:foreign-name
"PFN_vkGetDisplayModeProperties2KHR"))
(:pointer
(:function
(vk-physical-device
vk-display-khr
(:pointer :uint32)
(:pointer vk-display-mode-properties2-khr))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-display-plane-capabilities2-khr
(:foreign-name
"PFN_vkGetDisplayPlaneCapabilities2KHR"))
(:pointer
(:function
(vk-physical-device
(:pointer (:const vk-display-plane-info2-khr))
(:pointer vk-display-plane-capabilities2-khr))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-display-properties2-khr
"vkGetPhysicalDeviceDisplayProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer vk-display-properties2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-display-plane-properties2-khr
"vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
:source)
((physical-device vk-physical-device)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-display-plane-properties2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-display-mode-properties2-khr
"vkGetDisplayModeProperties2KHR"
:source)
((physical-device vk-physical-device)
(display vk-display-khr)
(p-property-count
(:pointer :uint32))
(p-properties
(:pointer
vk-display-mode-properties2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-display-plane-capabilities2-khr
"vkGetDisplayPlaneCapabilities2KHR"
:source)
((physical-device vk-physical-device)
(p-display-plane-info
(:pointer
(:const vk-display-plane-info2-khr)))
(p-capabilities
(:pointer
vk-display-plane-capabilities2-khr)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-memory-dedicated-requirements-khr
(:foreign-name
"VkMemoryDedicatedRequirementsKHR"))
vk-memory-dedicated-requirements)
(fli:define-c-typedef (vk-memory-dedicated-allocate-info-khr
(:foreign-name
"VkMemoryDedicatedAllocateInfoKHR"))
vk-memory-dedicated-allocate-info)
(fli:define-c-typedef (vk-buffer-memory-requirements-info2-khr
(:foreign-name
"VkBufferMemoryRequirementsInfo2KHR"))
vk-buffer-memory-requirements-info2)
(fli:define-c-typedef (vk-image-memory-requirements-info2-khr
(:foreign-name
"VkImageMemoryRequirementsInfo2KHR"))
vk-image-memory-requirements-info2)
(fli:define-c-typedef (vk-image-sparse-memory-requirements-info2-khr
(:foreign-name
"VkImageSparseMemoryRequirementsInfo2KHR"))
vk-image-sparse-memory-requirements-info2)
(fli:define-c-typedef (vk-sparse-image-memory-requirements2-khr
(:foreign-name
"VkSparseImageMemoryRequirements2KHR"))
vk-sparse-image-memory-requirements2)
(fli:define-c-typedef (pfn-vk-get-image-memory-requirements2-khr
(:foreign-name
"PFN_vkGetImageMemoryRequirements2KHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-image-memory-requirements-info2))
(:pointer vk-memory-requirements2))
:void)))
(fli:define-c-typedef (pfn-vk-get-buffer-memory-requirements2-khr
(:foreign-name
"PFN_vkGetBufferMemoryRequirements2KHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-buffer-memory-requirements-info2))
(:pointer vk-memory-requirements2))
:void)))
(fli:define-c-typedef (pfn-vk-get-image-sparse-memory-requirements2-khr
(:foreign-name
"PFN_vkGetImageSparseMemoryRequirements2KHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-image-sparse-memory-requirements-info2))
(:pointer :uint32)
(:pointer
vk-sparse-image-memory-requirements2))
:void)))
(fli:define-foreign-function (vk-get-image-memory-requirements2-khr
"vkGetImageMemoryRequirements2KHR"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-image-memory-requirements-info2)))
(p-memory-requirements
(:pointer vk-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-buffer-memory-requirements2-khr
"vkGetBufferMemoryRequirements2KHR"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-buffer-memory-requirements-info2)))
(p-memory-requirements
(:pointer vk-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-image-sparse-memory-requirements2-khr
"vkGetImageSparseMemoryRequirements2KHR"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-image-sparse-memory-requirements-info2)))
(p-sparse-memory-requirement-count
(:pointer :uint32))
(p-sparse-memory-requirements
(:pointer
vk-sparse-image-memory-requirements2)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-image-format-list-create-info-khr
(:foreign-name "VkImageFormatListCreateInfoKHR"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(view-format-count :uint32)
(p-view-formats (:pointer (:const vk-format))))
(fli:define-c-typedef (vk-image-format-list-create-info-khr
(:foreign-name
"VkImageFormatListCreateInfoKHR"))
(:struct vk-image-format-list-create-info-khr))
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-khr
(:foreign-name "VkSamplerYcbcrConversionKHR"))
vk-sampler-ycbcr-conversion)
(fli:define-c-typedef (vk-sampler-ycbcr-model-conversion-khr
(:foreign-name
"VkSamplerYcbcrModelConversionKHR"))
vk-sampler-ycbcr-model-conversion)
(fli:define-c-typedef (vk-sampler-ycbcr-range-khr
(:foreign-name "VkSamplerYcbcrRangeKHR"))
vk-sampler-ycbcr-range)
(fli:define-c-typedef (vk-chroma-location-khr
(:foreign-name "VkChromaLocationKHR"))
vk-chroma-location)
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-create-info-khr
(:foreign-name
"VkSamplerYcbcrConversionCreateInfoKHR"))
vk-sampler-ycbcr-conversion-create-info)
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-info-khr
(:foreign-name
"VkSamplerYcbcrConversionInfoKHR"))
vk-sampler-ycbcr-conversion-info)
(fli:define-c-typedef (vk-bind-image-plane-memory-info-khr
(:foreign-name "VkBindImagePlaneMemoryInfoKHR"))
vk-bind-image-plane-memory-info)
(fli:define-c-typedef (vk-image-plane-memory-requirements-info-khr
(:foreign-name
"VkImagePlaneMemoryRequirementsInfoKHR"))
vk-image-plane-memory-requirements-info)
(fli:define-c-typedef (vk-physical-device-sampler-ycbcr-conversion-features-khr
(:foreign-name
"VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR"))
vk-physical-device-sampler-ycbcr-conversion-features)
(fli:define-c-typedef (vk-sampler-ycbcr-conversion-image-format-properties-khr
(:foreign-name
"VkSamplerYcbcrConversionImageFormatPropertiesKHR"))
vk-sampler-ycbcr-conversion-image-format-properties)
(fli:define-c-typedef (pfn-vk-create-sampler-ycbcr-conversion-khr
(:foreign-name
"PFN_vkCreateSamplerYcbcrConversionKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-sampler-ycbcr-conversion-create-info))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-sampler-ycbcr-conversion))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-sampler-ycbcr-conversion-khr
(:foreign-name
"PFN_vkDestroySamplerYcbcrConversionKHR"))
(:pointer
(:function
(vk-device
vk-sampler-ycbcr-conversion
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-foreign-function (vk-create-sampler-ycbcr-conversion-khr
"vkCreateSamplerYcbcrConversionKHR"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-sampler-ycbcr-conversion-create-info)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-ycbcr-conversion
(:pointer vk-sampler-ycbcr-conversion)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-sampler-ycbcr-conversion-khr
"vkDestroySamplerYcbcrConversionKHR"
:source)
((device vk-device)
(ycbcr-conversion
vk-sampler-ycbcr-conversion)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (vk-bind-buffer-memory-info-khr
(:foreign-name "VkBindBufferMemoryInfoKHR"))
vk-bind-buffer-memory-info)
(fli:define-c-typedef (vk-bind-image-memory-info-khr
(:foreign-name "VkBindImageMemoryInfoKHR"))
vk-bind-image-memory-info)
(fli:define-c-typedef (pfn-vk-bind-buffer-memory2-khr
(:foreign-name "PFN_vkBindBufferMemory2KHR"))
(:pointer
(:function
(vk-device
:uint32
(:pointer
(:const vk-bind-buffer-memory-info)))
vk-result)))
(fli:define-c-typedef (pfn-vk-bind-image-memory2-khr
(:foreign-name "PFN_vkBindImageMemory2KHR"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-bind-image-memory-info)))
vk-result)))
(fli:define-foreign-function (vk-bind-buffer-memory2-khr
"vkBindBufferMemory2KHR"
:source)
((device vk-device)
(bind-info-count :uint32)
(p-bind-infos
(:pointer
(:const vk-bind-buffer-memory-info))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-image-memory2-khr
"vkBindImageMemory2KHR"
:source)
((device vk-device)
(bind-info-count :uint32)
(p-bind-infos
(:pointer
(:const vk-bind-image-memory-info))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (vk-physical-device-maintenance3-properties-khr
(:foreign-name
"VkPhysicalDeviceMaintenance3PropertiesKHR"))
vk-physical-device-maintenance3-properties)
(fli:define-c-typedef (vk-descriptor-set-layout-support-khr
(:foreign-name
"VkDescriptorSetLayoutSupportKHR"))
vk-descriptor-set-layout-support)
(fli:define-c-typedef (pfn-vk-get-descriptor-set-layout-support-khr
(:foreign-name
"PFN_vkGetDescriptorSetLayoutSupportKHR"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-descriptor-set-layout-create-info))
(:pointer vk-descriptor-set-layout-support))
:void)))
(fli:define-foreign-function (vk-get-descriptor-set-layout-support-khr
"vkGetDescriptorSetLayoutSupportKHR"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-descriptor-set-layout-create-info)))
(p-support
(:pointer
vk-descriptor-set-layout-support)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (pfn-vk-cmd-draw-indirect-count-khr
(:foreign-name "PFN_vkCmdDrawIndirectCountKHR"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indexed-indirect-count-khr
(:foreign-name
"PFN_vkCmdDrawIndexedIndirectCountKHR"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-foreign-function (vk-cmd-draw-indirect-count-khr
"vkCmdDrawIndirectCountKHR"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(count-buffer vk-buffer)
(count-buffer-offset vk-device-size)
(max-draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indexed-indirect-count-khr
"vkCmdDrawIndexedIndirectCountKHR"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(count-buffer vk-buffer)
(count-buffer-offset vk-device-size)
(max-draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device8-bit-storage-features-khr
(:foreign-name
"VkPhysicalDevice8BitStorageFeaturesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(storage-buffer8-bit-access vk-bool32)
(uniform-and-storage-buffer8-bit-access vk-bool32)
(storage-push-constant8 vk-bool32))
(fli:define-c-typedef (vk-physical-device8-bit-storage-features-khr
(:foreign-name
"VkPhysicalDevice8BitStorageFeaturesKHR"))
(:struct
vk-physical-device8-bit-storage-features-khr))
(fli:define-c-struct (vk-physical-device-shader-atomic-int64-features-khr
(:foreign-name
"VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shader-buffer-int64-atomics vk-bool32)
(shader-shared-int64-atomics vk-bool32))
(fli:define-c-typedef (vk-physical-device-shader-atomic-int64-features-khr
(:foreign-name
"VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"))
(:struct
vk-physical-device-shader-atomic-int64-features-khr))
(fli:define-c-enum (vk-driver-id-khr (:foreign-name "VkDriverIdKHR"))
(vk-driver-id-amd-proprietary-khr 1)
(vk-driver-id-amd-open-source-khr 2)
(vk-driver-id-mesa-radv-khr 3)
(vk-driver-id-nvidia-proprietary-khr 4)
(vk-driver-id-intel-proprietary-windows-khr 5)
(vk-driver-id-intel-open-source-mesa-khr 6)
(vk-driver-id-imagination-proprietary-khr 7)
(vk-driver-id-qualcomm-proprietary-khr 8)
(vk-driver-id-arm-proprietary-khr 9)
(vk-driver-id-begin-range-khr 1)
(vk-driver-id-end-range-khr 9)
(vk-driver-id-range-size-khr 9)
(vk-driver-id-max-enum-khr 2147483647))
(fli:define-c-typedef (vk-driver-id-khr
(:foreign-name "VkDriverIdKHR"))
(:enum vk-driver-id-khr))
(fli:define-c-struct (vk-conformance-version-khr
(:foreign-name "VkConformanceVersionKHR"))
(major :uint8)
(minor :uint8)
(subminor :uint8)
(patch :uint8))
(fli:define-c-typedef (vk-conformance-version-khr
(:foreign-name "VkConformanceVersionKHR"))
(:struct vk-conformance-version-khr))
(fli:define-c-struct (vk-physical-device-driver-properties-khr
(:foreign-name
"VkPhysicalDeviceDriverPropertiesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(driver-id vk-driver-id-khr)
(driver-name (:c-array :char 256))
(driver-info (:c-array :char 256))
(conformance-version vk-conformance-version-khr))
(fli:define-c-typedef (vk-physical-device-driver-properties-khr
(:foreign-name
"VkPhysicalDeviceDriverPropertiesKHR"))
(:struct
vk-physical-device-driver-properties-khr))
(fli:define-c-struct (vk-physical-device-vulkan-memory-model-features-khr
(:foreign-name
"VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(vulkan-memory-model vk-bool32)
(vulkan-memory-model-device-scope vk-bool32))
(fli:define-c-typedef (vk-physical-device-vulkan-memory-model-features-khr
(:foreign-name
"VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"))
(:struct
vk-physical-device-vulkan-memory-model-features-khr))
(fli:define-c-struct (vk-debug-report-callback-ext-t
(:foreign-name "VkDebugReportCallbackEXT_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-debug-report-callback-ext
(:foreign-name "VkDebugReportCallbackEXT"))
(:pointer
(:struct vk-debug-report-callback-ext-t)))
(fli:define-c-enum (vk-debug-report-object-type-ext
(:foreign-name "VkDebugReportObjectTypeEXT"))
(vk-debug-report-object-type-unknown-ext 0)
(vk-debug-report-object-type-instance-ext 1)
(vk-debug-report-object-type-physical-device-ext 2)
(vk-debug-report-object-type-device-ext 3)
(vk-debug-report-object-type-queue-ext 4)
(vk-debug-report-object-type-semaphore-ext 5)
(vk-debug-report-object-type-command-buffer-ext 6)
(vk-debug-report-object-type-fence-ext 7)
(vk-debug-report-object-type-device-memory-ext 8)
(vk-debug-report-object-type-buffer-ext 9)
(vk-debug-report-object-type-image-ext 10)
(vk-debug-report-object-type-event-ext 11)
(vk-debug-report-object-type-query-pool-ext 12)
(vk-debug-report-object-type-buffer-view-ext 13)
(vk-debug-report-object-type-image-view-ext 14)
(vk-debug-report-object-type-shader-module-ext 15)
(vk-debug-report-object-type-pipeline-cache-ext 16)
(vk-debug-report-object-type-pipeline-layout-ext 17)
(vk-debug-report-object-type-render-pass-ext 18)
(vk-debug-report-object-type-pipeline-ext 19)
(vk-debug-report-object-type-descriptor-set-layout-ext
20)
(vk-debug-report-object-type-sampler-ext 21)
(vk-debug-report-object-type-descriptor-pool-ext 22)
(vk-debug-report-object-type-descriptor-set-ext 23)
(vk-debug-report-object-type-framebuffer-ext 24)
(vk-debug-report-object-type-command-pool-ext 25)
(vk-debug-report-object-type-surface-khr-ext 26)
(vk-debug-report-object-type-swapchain-khr-ext 27)
(vk-debug-report-object-type-debug-report-callback-ext-ext
28)
(vk-debug-report-object-type-display-khr-ext 29)
(vk-debug-report-object-type-display-mode-khr-ext
30)
(vk-debug-report-object-type-object-table-nvx-ext
31)
(vk-debug-report-object-type-indirect-commands-layout-nvx-ext
32)
(vk-debug-report-object-type-validation-cache-ext-ext
33)
(vk-debug-report-object-type-sampler-ycbcr-conversion-ext
1000156000)
(vk-debug-report-object-type-descriptor-update-template-ext
1000085000)
(vk-debug-report-object-type-acceleration-structure-nv-ext
1000165000)
(vk-debug-report-object-type-debug-report-ext 28)
(vk-debug-report-object-type-validation-cache-ext
33)
(vk-debug-report-object-type-descriptor-update-template-khr-ext
1000085000)
(vk-debug-report-object-type-sampler-ycbcr-conversion-khr-ext
1000156000)
(vk-debug-report-object-type-begin-range-ext 0)
(vk-debug-report-object-type-end-range-ext 33)
(vk-debug-report-object-type-range-size-ext 34)
(vk-debug-report-object-type-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-debug-report-object-type-ext
(:foreign-name "VkDebugReportObjectTypeEXT"))
(:enum vk-debug-report-object-type-ext))
(fli:define-c-enum (vk-debug-report-flag-bits-ext
(:foreign-name "VkDebugReportFlagBitsEXT"))
(vk-debug-report-information-bit-ext 1)
(vk-debug-report-warning-bit-ext 2)
(vk-debug-report-performance-warning-bit-ext 4)
(vk-debug-report-error-bit-ext 8)
(vk-debug-report-debug-bit-ext 16)
(vk-debug-report-flag-bits-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-debug-report-flag-bits-ext
(:foreign-name "VkDebugReportFlagBitsEXT"))
(:enum vk-debug-report-flag-bits-ext))
(fli:define-c-typedef (vk-debug-report-flags-ext
(:foreign-name "VkDebugReportFlagsEXT"))
vk-flags)
(fli:define-c-typedef (pfn-vk-debug-report-callback-ext
(:foreign-name "PFN_vkDebugReportCallbackEXT"))
(:pointer
(:function
(vk-debug-report-flags-ext
vk-debug-report-object-type-ext
:uint64
:size-t
:int
(:pointer (:const :char))
(:pointer (:const :char))
(:pointer :void))
vk-bool32)))
(fli:define-c-struct (vk-debug-report-callback-create-info-ext
(:foreign-name
"VkDebugReportCallbackCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-debug-report-flags-ext)
(pfn-callback pfn-vk-debug-report-callback-ext)
(p-user-data (:pointer :void)))
(fli:define-c-typedef (vk-debug-report-callback-create-info-ext
(:foreign-name
"VkDebugReportCallbackCreateInfoEXT"))
(:struct
vk-debug-report-callback-create-info-ext))
(fli:define-c-typedef (pfn-vk-create-debug-report-callback-ext
(:foreign-name
"PFN_vkCreateDebugReportCallbackEXT"))
(:pointer
(:function
(vk-instance
(:pointer
(:const
vk-debug-report-callback-create-info-ext))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-debug-report-callback-ext))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-debug-report-callback-ext
(:foreign-name
"PFN_vkDestroyDebugReportCallbackEXT"))
(:pointer
(:function
(vk-instance
vk-debug-report-callback-ext
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-debug-report-message-ext
(:foreign-name "PFN_vkDebugReportMessageEXT"))
(:pointer
(:function
(vk-instance
vk-debug-report-flags-ext
vk-debug-report-object-type-ext
:uint64
:size-t
:int
(:pointer (:const :char))
(:pointer (:const :char)))
:void)))
(fli:define-foreign-function (vk-create-debug-report-callback-ext
"vkCreateDebugReportCallbackEXT"
:source)
((instance vk-instance)
(p-create-info
(:pointer
(:const
vk-debug-report-callback-create-info-ext)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-callback
(:pointer
vk-debug-report-callback-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-debug-report-callback-ext
"vkDestroyDebugReportCallbackEXT"
:source)
((instance vk-instance)
(callback vk-debug-report-callback-ext)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-debug-report-message-ext
"vkDebugReportMessageEXT"
:source)
((instance vk-instance)
(flags vk-debug-report-flags-ext)
(object-type
vk-debug-report-object-type-ext)
(object :uint64)
(location :size-t)
(message-code :int)
(p-layer-prefix
(:pointer (:const :char)))
(p-message (:pointer (:const :char))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-enum (vk-rasterization-order-amd
(:foreign-name "VkRasterizationOrderAMD"))
(vk-rasterization-order-strict-amd 0)
(vk-rasterization-order-relaxed-amd 1)
(vk-rasterization-order-begin-range-amd 0)
(vk-rasterization-order-end-range-amd 1)
(vk-rasterization-order-range-size-amd 2)
(vk-rasterization-order-max-enum-amd 2147483647))
(fli:define-c-typedef (vk-rasterization-order-amd
(:foreign-name "VkRasterizationOrderAMD"))
(:enum vk-rasterization-order-amd))
(fli:define-c-struct (vk-pipeline-rasterization-state-rasterization-order-amd
(:foreign-name
"VkPipelineRasterizationStateRasterizationOrderAMD"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(rasterization-order vk-rasterization-order-amd))
(fli:define-c-typedef (vk-pipeline-rasterization-state-rasterization-order-amd
(:foreign-name
"VkPipelineRasterizationStateRasterizationOrderAMD"))
(:struct
vk-pipeline-rasterization-state-rasterization-order-amd))
(fli:define-c-struct (vk-debug-marker-object-name-info-ext
(:foreign-name "VkDebugMarkerObjectNameInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-type vk-debug-report-object-type-ext)
(object :uint64)
(p-object-name (:pointer (:const :char))))
(fli:define-c-typedef (vk-debug-marker-object-name-info-ext
(:foreign-name
"VkDebugMarkerObjectNameInfoEXT"))
(:struct vk-debug-marker-object-name-info-ext))
(fli:define-c-struct (vk-debug-marker-object-tag-info-ext
(:foreign-name "VkDebugMarkerObjectTagInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-type vk-debug-report-object-type-ext)
(object :uint64)
(tag-name :uint64)
(tag-size :size-t)
(p-tag (:pointer (:const :void))))
(fli:define-c-typedef (vk-debug-marker-object-tag-info-ext
(:foreign-name "VkDebugMarkerObjectTagInfoEXT"))
(:struct vk-debug-marker-object-tag-info-ext))
(fli:define-c-struct (vk-debug-marker-marker-info-ext
(:foreign-name "VkDebugMarkerMarkerInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(p-marker-name (:pointer (:const :char)))
(color (:c-array :float 4)))
(fli:define-c-typedef (vk-debug-marker-marker-info-ext
(:foreign-name "VkDebugMarkerMarkerInfoEXT"))
(:struct vk-debug-marker-marker-info-ext))
(fli:define-c-typedef (pfn-vk-debug-marker-set-object-tag-ext
(:foreign-name
"PFN_vkDebugMarkerSetObjectTagEXT"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-debug-marker-object-tag-info-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-debug-marker-set-object-name-ext
(:foreign-name
"PFN_vkDebugMarkerSetObjectNameEXT"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-debug-marker-object-name-info-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-cmd-debug-marker-begin-ext
(:foreign-name "PFN_vkCmdDebugMarkerBeginEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-debug-marker-marker-info-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-debug-marker-end-ext
(:foreign-name "PFN_vkCmdDebugMarkerEndEXT"))
(:pointer (:function (vk-command-buffer) :void)))
(fli:define-c-typedef (pfn-vk-cmd-debug-marker-insert-ext
(:foreign-name "PFN_vkCmdDebugMarkerInsertEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-debug-marker-marker-info-ext)))
:void)))
(fli:define-foreign-function (vk-debug-marker-set-object-tag-ext
"vkDebugMarkerSetObjectTagEXT"
:source)
((device vk-device)
(p-tag-info
(:pointer
(:const
vk-debug-marker-object-tag-info-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-debug-marker-set-object-name-ext
"vkDebugMarkerSetObjectNameEXT"
:source)
((device vk-device)
(p-name-info
(:pointer
(:const
vk-debug-marker-object-name-info-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-debug-marker-begin-ext
"vkCmdDebugMarkerBeginEXT"
:source)
((command-buffer vk-command-buffer)
(p-marker-info
(:pointer
(:const
vk-debug-marker-marker-info-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-debug-marker-end-ext
"vkCmdDebugMarkerEndEXT"
:source)
((command-buffer vk-command-buffer))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-debug-marker-insert-ext
"vkCmdDebugMarkerInsertEXT"
:source)
((command-buffer vk-command-buffer)
(p-marker-info
(:pointer
(:const
vk-debug-marker-marker-info-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-dedicated-allocation-image-create-info-nv
(:foreign-name
"VkDedicatedAllocationImageCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(dedicated-allocation vk-bool32))
(fli:define-c-typedef (vk-dedicated-allocation-image-create-info-nv
(:foreign-name
"VkDedicatedAllocationImageCreateInfoNV"))
(:struct
vk-dedicated-allocation-image-create-info-nv))
(fli:define-c-struct (vk-dedicated-allocation-buffer-create-info-nv
(:foreign-name
"VkDedicatedAllocationBufferCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(dedicated-allocation vk-bool32))
(fli:define-c-typedef (vk-dedicated-allocation-buffer-create-info-nv
(:foreign-name
"VkDedicatedAllocationBufferCreateInfoNV"))
(:struct
vk-dedicated-allocation-buffer-create-info-nv))
(fli:define-c-struct (vk-dedicated-allocation-memory-allocate-info-nv
(:foreign-name
"VkDedicatedAllocationMemoryAllocateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(image vk-image)
(buffer vk-buffer))
(fli:define-c-typedef (vk-dedicated-allocation-memory-allocate-info-nv
(:foreign-name
"VkDedicatedAllocationMemoryAllocateInfoNV"))
(:struct
vk-dedicated-allocation-memory-allocate-info-nv))
(fli:define-c-typedef (vk-pipeline-rasterization-state-stream-create-flags-ext
(:foreign-name
"VkPipelineRasterizationStateStreamCreateFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-physical-device-transform-feedback-features-ext
(:foreign-name
"VkPhysicalDeviceTransformFeedbackFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(transform-feedback vk-bool32)
(geometry-streams vk-bool32))
(fli:define-c-typedef (vk-physical-device-transform-feedback-features-ext
(:foreign-name
"VkPhysicalDeviceTransformFeedbackFeaturesEXT"))
(:struct
vk-physical-device-transform-feedback-features-ext))
(fli:define-c-struct (vk-physical-device-transform-feedback-properties-ext
(:foreign-name
"VkPhysicalDeviceTransformFeedbackPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-transform-feedback-streams :uint32)
(max-transform-feedback-buffers :uint32)
(max-transform-feedback-buffer-size
vk-device-size)
(max-transform-feedback-stream-data-size
:uint32)
(max-transform-feedback-buffer-data-size
:uint32)
(max-transform-feedback-buffer-data-stride
:uint32)
(transform-feedback-queries vk-bool32)
(transform-feedback-streams-lines-triangles
vk-bool32)
(transform-feedback-rasterization-stream-select
vk-bool32)
(transform-feedback-draw vk-bool32))
(fli:define-c-typedef (vk-physical-device-transform-feedback-properties-ext
(:foreign-name
"VkPhysicalDeviceTransformFeedbackPropertiesEXT"))
(:struct
vk-physical-device-transform-feedback-properties-ext))
(fli:define-c-struct (vk-pipeline-rasterization-state-stream-create-info-ext
(:foreign-name
"VkPipelineRasterizationStateStreamCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-rasterization-state-stream-create-flags-ext)
(rasterization-stream :uint32))
(fli:define-c-typedef (vk-pipeline-rasterization-state-stream-create-info-ext
(:foreign-name
"VkPipelineRasterizationStateStreamCreateInfoEXT"))
(:struct
vk-pipeline-rasterization-state-stream-create-info-ext))
(fli:define-c-typedef (pfn-vk-cmd-bind-transform-feedback-buffers-ext
(:foreign-name
"PFN_vkCmdBindTransformFeedbackBuffersEXT"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-buffer))
(:pointer (:const vk-device-size))
(:pointer (:const vk-device-size)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-begin-transform-feedback-ext
(:foreign-name
"PFN_vkCmdBeginTransformFeedbackEXT"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-buffer))
(:pointer (:const vk-device-size)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-transform-feedback-ext
(:foreign-name
"PFN_vkCmdEndTransformFeedbackEXT"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-buffer))
(:pointer (:const vk-device-size)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-begin-query-indexed-ext
(:foreign-name "PFN_vkCmdBeginQueryIndexedEXT"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32
vk-query-control-flags
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-query-indexed-ext
(:foreign-name "PFN_vkCmdEndQueryIndexedEXT"))
(:pointer
(:function
(vk-command-buffer
vk-query-pool
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indirect-byte-count-ext
(:foreign-name
"PFN_vkCmdDrawIndirectByteCountEXT"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-foreign-function (vk-cmd-bind-transform-feedback-buffers-ext
"vkCmdBindTransformFeedbackBuffersEXT"
:source)
((command-buffer vk-command-buffer)
(first-binding :uint32)
(binding-count :uint32)
(p-buffers (:pointer (:const vk-buffer)))
(p-offsets
(:pointer (:const vk-device-size)))
(p-sizes
(:pointer (:const vk-device-size))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-transform-feedback-ext
"vkCmdBeginTransformFeedbackEXT"
:source)
((command-buffer vk-command-buffer)
(first-counter-buffer :uint32)
(counter-buffer-count :uint32)
(p-counter-buffers
(:pointer (:const vk-buffer)))
(p-counter-buffer-offsets
(:pointer (:const vk-device-size))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-transform-feedback-ext
"vkCmdEndTransformFeedbackEXT"
:source)
((command-buffer vk-command-buffer)
(first-counter-buffer :uint32)
(counter-buffer-count :uint32)
(p-counter-buffers
(:pointer (:const vk-buffer)))
(p-counter-buffer-offsets
(:pointer (:const vk-device-size))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-query-indexed-ext
"vkCmdBeginQueryIndexedEXT"
:source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(query :uint32)
(flags vk-query-control-flags)
(index :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-query-indexed-ext
"vkCmdEndQueryIndexedEXT"
:source)
((command-buffer vk-command-buffer)
(query-pool vk-query-pool)
(query :uint32)
(index :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indirect-byte-count-ext
"vkCmdDrawIndirectByteCountEXT"
:source)
((command-buffer vk-command-buffer)
(instance-count :uint32)
(first-instance :uint32)
(counter-buffer vk-buffer)
(counter-buffer-offset vk-device-size)
(counter-offset :uint32)
(vertex-stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (pfn-vk-cmd-draw-indirect-count-amd
(:foreign-name "PFN_vkCmdDrawIndirectCountAMD"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-indexed-indirect-count-amd
(:foreign-name
"PFN_vkCmdDrawIndexedIndirectCountAMD"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-foreign-function (vk-cmd-draw-indirect-count-amd
"vkCmdDrawIndirectCountAMD"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(count-buffer vk-buffer)
(count-buffer-offset vk-device-size)
(max-draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-indexed-indirect-count-amd
"vkCmdDrawIndexedIndirectCountAMD"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(count-buffer vk-buffer)
(count-buffer-offset vk-device-size)
(max-draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-texture-lodgather-format-properties-amd
(:foreign-name
"VkTextureLODGatherFormatPropertiesAMD"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(supports-texture-gather-lodbias-amd vk-bool32))
(fli:define-c-typedef (vk-texture-lodgather-format-properties-amd
(:foreign-name
"VkTextureLODGatherFormatPropertiesAMD"))
(:struct
vk-texture-lodgather-format-properties-amd))
(fli:define-c-enum (vk-shader-info-type-amd
(:foreign-name "VkShaderInfoTypeAMD"))
(vk-shader-info-type-statistics-amd 0)
(vk-shader-info-type-binary-amd 1)
(vk-shader-info-type-disassembly-amd 2)
(vk-shader-info-type-begin-range-amd 0)
(vk-shader-info-type-end-range-amd 2)
(vk-shader-info-type-range-size-amd 3)
(vk-shader-info-type-max-enum-amd 2147483647))
(fli:define-c-typedef (vk-shader-info-type-amd
(:foreign-name "VkShaderInfoTypeAMD"))
(:enum vk-shader-info-type-amd))
(fli:define-c-struct (vk-shader-resource-usage-amd
(:foreign-name "VkShaderResourceUsageAMD"))
(num-used-vgprs :uint32)
(num-used-sgprs :uint32)
(lds-size-per-local-work-group :uint32)
(lds-usage-size-in-bytes :size-t)
(scratch-mem-usage-in-bytes :size-t))
(fli:define-c-typedef (vk-shader-resource-usage-amd
(:foreign-name "VkShaderResourceUsageAMD"))
(:struct vk-shader-resource-usage-amd))
(fli:define-c-struct (vk-shader-statistics-info-amd
(:foreign-name "VkShaderStatisticsInfoAMD"))
(shader-stage-mask vk-shader-stage-flags)
(resource-usage vk-shader-resource-usage-amd)
(num-physical-vgprs :uint32)
(num-physical-sgprs :uint32)
(num-available-vgprs :uint32)
(num-available-sgprs :uint32)
(compute-work-group-size
(:c-array :uint32 3)))
(fli:define-c-typedef (vk-shader-statistics-info-amd
(:foreign-name "VkShaderStatisticsInfoAMD"))
(:struct vk-shader-statistics-info-amd))
(fli:define-c-typedef (pfn-vk-get-shader-info-amd
(:foreign-name "PFN_vkGetShaderInfoAMD"))
(:pointer
(:function
(vk-device
vk-pipeline
vk-shader-stage-flag-bits
vk-shader-info-type-amd
(:pointer :size-t)
(:pointer :void))
vk-result)))
(fli:define-foreign-function (vk-get-shader-info-amd
"vkGetShaderInfoAMD"
:source)
((device vk-device)
(pipeline vk-pipeline)
(shader-stage vk-shader-stage-flag-bits)
(info-type vk-shader-info-type-amd)
(p-info-size (:pointer :size-t))
(p-info (:pointer :void)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-corner-sampled-image-features-nv
(:foreign-name
"VkPhysicalDeviceCornerSampledImageFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(corner-sampled-image vk-bool32))
(fli:define-c-typedef (vk-physical-device-corner-sampled-image-features-nv
(:foreign-name
"VkPhysicalDeviceCornerSampledImageFeaturesNV"))
(:struct
vk-physical-device-corner-sampled-image-features-nv))
(fli:define-c-enum (vk-external-memory-handle-type-flag-bits-nv
(:foreign-name
"VkExternalMemoryHandleTypeFlagBitsNV"))
(vk-external-memory-handle-type-opaque-win32-bit-nv
1)
(vk-external-memory-handle-type-opaque-win32-kmt-bit-nv
2)
(vk-external-memory-handle-type-d3-d11-image-bit-nv
4)
(vk-external-memory-handle-type-d3-d11-image-kmt-bit-nv
8)
(vk-external-memory-handle-type-flag-bits-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-external-memory-handle-type-flag-bits-nv
(:foreign-name
"VkExternalMemoryHandleTypeFlagBitsNV"))
(:enum
vk-external-memory-handle-type-flag-bits-nv))
(fli:define-c-typedef (vk-external-memory-handle-type-flags-nv
(:foreign-name
"VkExternalMemoryHandleTypeFlagsNV"))
vk-flags)
(fli:define-c-enum (vk-external-memory-feature-flag-bits-nv
(:foreign-name
"VkExternalMemoryFeatureFlagBitsNV"))
(vk-external-memory-feature-dedicated-only-bit-nv 1)
(vk-external-memory-feature-exportable-bit-nv 2)
(vk-external-memory-feature-importable-bit-nv 4)
(vk-external-memory-feature-flag-bits-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-external-memory-feature-flag-bits-nv
(:foreign-name
"VkExternalMemoryFeatureFlagBitsNV"))
(:enum vk-external-memory-feature-flag-bits-nv))
(fli:define-c-typedef (vk-external-memory-feature-flags-nv
(:foreign-name
"VkExternalMemoryFeatureFlagsNV"))
vk-flags)
(fli:define-c-struct (vk-external-image-format-properties-nv
(:foreign-name
"VkExternalImageFormatPropertiesNV"))
(image-format-properties
vk-image-format-properties)
(external-memory-features
vk-external-memory-feature-flags-nv)
(export-from-imported-handle-types
vk-external-memory-handle-type-flags-nv)
(compatible-handle-types
vk-external-memory-handle-type-flags-nv))
(fli:define-c-typedef (vk-external-image-format-properties-nv
(:foreign-name
"VkExternalImageFormatPropertiesNV"))
(:struct vk-external-image-format-properties-nv))
(fli:define-c-typedef (pfn-vk-get-physical-device-external-image-format-properties-nv
(:foreign-name
"PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
(:pointer
(:function
(vk-physical-device
vk-format
vk-image-type
vk-image-tiling
vk-image-usage-flags
vk-image-create-flags
vk-external-memory-handle-type-flags-nv
(:pointer
vk-external-image-format-properties-nv))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-external-image-format-properties-nv
"vkGetPhysicalDeviceExternalImageFormatPropertiesNV"
:source)
((physical-device vk-physical-device)
(format vk-format)
(type vk-image-type)
(tiling vk-image-tiling)
(usage vk-image-usage-flags)
(flags vk-image-create-flags)
(external-handle-type
vk-external-memory-handle-type-flags-nv)
(p-external-image-format-properties
(:pointer
vk-external-image-format-properties-nv)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-external-memory-image-create-info-nv
(:foreign-name
"VkExternalMemoryImageCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-memory-handle-type-flags-nv))
(fli:define-c-typedef (vk-external-memory-image-create-info-nv
(:foreign-name
"VkExternalMemoryImageCreateInfoNV"))
(:struct vk-external-memory-image-create-info-nv))
(fli:define-c-struct (vk-export-memory-allocate-info-nv
(:foreign-name "VkExportMemoryAllocateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-types
vk-external-memory-handle-type-flags-nv))
(fli:define-c-typedef (vk-export-memory-allocate-info-nv
(:foreign-name "VkExportMemoryAllocateInfoNV"))
(:struct vk-export-memory-allocate-info-nv))
(fli:define-c-enum (vk-validation-check-ext
(:foreign-name "VkValidationCheckEXT"))
(vk-validation-check-all-ext 0)
(vk-validation-check-shaders-ext 1)
(vk-validation-check-begin-range-ext 0)
(vk-validation-check-end-range-ext 1)
(vk-validation-check-range-size-ext 2)
(vk-validation-check-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-validation-check-ext
(:foreign-name "VkValidationCheckEXT"))
(:enum vk-validation-check-ext))
(fli:define-c-struct (vk-validation-flags-ext
(:foreign-name "VkValidationFlagsEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(disabled-validation-check-count :uint32)
(p-disabled-validation-checks
(:pointer (:const vk-validation-check-ext))))
(fli:define-c-typedef (vk-validation-flags-ext
(:foreign-name "VkValidationFlagsEXT"))
(:struct vk-validation-flags-ext))
(fli:define-c-struct (vk-image-view-astcdecode-mode-ext
(:foreign-name "VkImageViewASTCDecodeModeEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(decode-mode vk-format))
(fli:define-c-typedef (vk-image-view-astcdecode-mode-ext
(:foreign-name "VkImageViewASTCDecodeModeEXT"))
(:struct vk-image-view-astcdecode-mode-ext))
(fli:define-c-struct (vk-physical-device-astcdecode-features-ext
(:foreign-name
"VkPhysicalDeviceASTCDecodeFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(decode-mode-shared-exponent vk-bool32))
(fli:define-c-typedef (vk-physical-device-astcdecode-features-ext
(:foreign-name
"VkPhysicalDeviceASTCDecodeFeaturesEXT"))
(:struct
vk-physical-device-astcdecode-features-ext))
(fli:define-c-enum (vk-conditional-rendering-flag-bits-ext
(:foreign-name
"VkConditionalRenderingFlagBitsEXT"))
(vk-conditional-rendering-inverted-bit-ext 1)
(vk-conditional-rendering-flag-bits-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-conditional-rendering-flag-bits-ext
(:foreign-name
"VkConditionalRenderingFlagBitsEXT"))
(:enum vk-conditional-rendering-flag-bits-ext))
(fli:define-c-typedef (vk-conditional-rendering-flags-ext
(:foreign-name
"VkConditionalRenderingFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-conditional-rendering-begin-info-ext
(:foreign-name
"VkConditionalRenderingBeginInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(buffer vk-buffer)
(offset vk-device-size)
(flags vk-conditional-rendering-flags-ext))
(fli:define-c-typedef (vk-conditional-rendering-begin-info-ext
(:foreign-name
"VkConditionalRenderingBeginInfoEXT"))
(:struct vk-conditional-rendering-begin-info-ext))
(fli:define-c-struct (vk-physical-device-conditional-rendering-features-ext
(:foreign-name
"VkPhysicalDeviceConditionalRenderingFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(conditional-rendering vk-bool32)
(inherited-conditional-rendering vk-bool32))
(fli:define-c-typedef (vk-physical-device-conditional-rendering-features-ext
(:foreign-name
"VkPhysicalDeviceConditionalRenderingFeaturesEXT"))
(:struct
vk-physical-device-conditional-rendering-features-ext))
(fli:define-c-struct (vk-command-buffer-inheritance-conditional-rendering-info-ext
(:foreign-name
"VkCommandBufferInheritanceConditionalRenderingInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(conditional-rendering-enable vk-bool32))
(fli:define-c-typedef (vk-command-buffer-inheritance-conditional-rendering-info-ext
(:foreign-name
"VkCommandBufferInheritanceConditionalRenderingInfoEXT"))
(:struct
vk-command-buffer-inheritance-conditional-rendering-info-ext))
(fli:define-c-typedef (pfn-vk-cmd-begin-conditional-rendering-ext
(:foreign-name
"PFN_vkCmdBeginConditionalRenderingEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const
vk-conditional-rendering-begin-info-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-conditional-rendering-ext
(:foreign-name
"PFN_vkCmdEndConditionalRenderingEXT"))
(:pointer (:function (vk-command-buffer) :void)))
(fli:define-foreign-function (vk-cmd-begin-conditional-rendering-ext
"vkCmdBeginConditionalRenderingEXT"
:source)
((command-buffer vk-command-buffer)
(p-conditional-rendering-begin
(:pointer
(:const
vk-conditional-rendering-begin-info-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-conditional-rendering-ext
"vkCmdEndConditionalRenderingEXT"
:source)
((command-buffer vk-command-buffer))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-object-table-nvx-t
(:foreign-name "VkObjectTableNVX_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-object-table-nvx
(:foreign-name "VkObjectTableNVX"))
(:pointer (:struct vk-object-table-nvx-t)))
(fli:define-c-struct (vk-indirect-commands-layout-nvx-t
(:foreign-name "VkIndirectCommandsLayoutNVX_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-indirect-commands-layout-nvx
(:foreign-name "VkIndirectCommandsLayoutNVX"))
(:pointer
(:struct vk-indirect-commands-layout-nvx-t)))
(fli:define-c-enum (vk-indirect-commands-token-type-nvx
(:foreign-name "VkIndirectCommandsTokenTypeNVX"))
(vk-indirect-commands-token-type-pipeline-nvx 0)
(vk-indirect-commands-token-type-descriptor-set-nvx
1)
(vk-indirect-commands-token-type-index-buffer-nvx 2)
(vk-indirect-commands-token-type-vertex-buffer-nvx
3)
(vk-indirect-commands-token-type-push-constant-nvx
4)
(vk-indirect-commands-token-type-draw-indexed-nvx 5)
(vk-indirect-commands-token-type-draw-nvx 6)
(vk-indirect-commands-token-type-dispatch-nvx 7)
(vk-indirect-commands-token-type-begin-range-nvx 0)
(vk-indirect-commands-token-type-end-range-nvx 7)
(vk-indirect-commands-token-type-range-size-nvx 8)
(vk-indirect-commands-token-type-max-enum-nvx
2147483647))
(fli:define-c-typedef (vk-indirect-commands-token-type-nvx
(:foreign-name
"VkIndirectCommandsTokenTypeNVX"))
(:enum vk-indirect-commands-token-type-nvx))
(fli:define-c-enum (vk-object-entry-type-nvx
(:foreign-name "VkObjectEntryTypeNVX"))
(vk-object-entry-type-descriptor-set-nvx 0)
(vk-object-entry-type-pipeline-nvx 1)
(vk-object-entry-type-index-buffer-nvx 2)
(vk-object-entry-type-vertex-buffer-nvx 3)
(vk-object-entry-type-push-constant-nvx 4)
(vk-object-entry-type-begin-range-nvx 0)
(vk-object-entry-type-end-range-nvx 4)
(vk-object-entry-type-range-size-nvx 5)
(vk-object-entry-type-max-enum-nvx 2147483647))
(fli:define-c-typedef (vk-object-entry-type-nvx
(:foreign-name "VkObjectEntryTypeNVX"))
(:enum vk-object-entry-type-nvx))
(fli:define-c-enum (vk-indirect-commands-layout-usage-flag-bits-nvx
(:foreign-name
"VkIndirectCommandsLayoutUsageFlagBitsNVX"))
(vk-indirect-commands-layout-usage-unordered-sequences-bit-nvx
1)
(vk-indirect-commands-layout-usage-sparse-sequences-bit-nvx
2)
(vk-indirect-commands-layout-usage-empty-executions-bit-nvx
4)
(vk-indirect-commands-layout-usage-indexed-sequences-bit-nvx
8)
(vk-indirect-commands-layout-usage-flag-bits-max-enum-nvx
2147483647))
(fli:define-c-typedef (vk-indirect-commands-layout-usage-flag-bits-nvx
(:foreign-name
"VkIndirectCommandsLayoutUsageFlagBitsNVX"))
(:enum
vk-indirect-commands-layout-usage-flag-bits-nvx))
(fli:define-c-typedef (vk-indirect-commands-layout-usage-flags-nvx
(:foreign-name
"VkIndirectCommandsLayoutUsageFlagsNVX"))
vk-flags)
(fli:define-c-enum (vk-object-entry-usage-flag-bits-nvx
(:foreign-name "VkObjectEntryUsageFlagBitsNVX"))
(vk-object-entry-usage-graphics-bit-nvx 1)
(vk-object-entry-usage-compute-bit-nvx 2)
(vk-object-entry-usage-flag-bits-max-enum-nvx
2147483647))
(fli:define-c-typedef (vk-object-entry-usage-flag-bits-nvx
(:foreign-name "VkObjectEntryUsageFlagBitsNVX"))
(:enum vk-object-entry-usage-flag-bits-nvx))
(fli:define-c-typedef (vk-object-entry-usage-flags-nvx
(:foreign-name "VkObjectEntryUsageFlagsNVX"))
vk-flags)
(fli:define-c-struct (vk-device-generated-commands-features-nvx
(:foreign-name
"VkDeviceGeneratedCommandsFeaturesNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(compute-binding-point-support vk-bool32))
(fli:define-c-typedef (vk-device-generated-commands-features-nvx
(:foreign-name
"VkDeviceGeneratedCommandsFeaturesNVX"))
(:struct
vk-device-generated-commands-features-nvx))
(fli:define-c-struct (vk-device-generated-commands-limits-nvx
(:foreign-name
"VkDeviceGeneratedCommandsLimitsNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(max-indirect-commands-layout-token-count
:uint32)
(max-object-entry-counts :uint32)
(min-sequence-count-buffer-offset-alignment
:uint32)
(min-sequence-index-buffer-offset-alignment
:uint32)
(min-commands-token-buffer-offset-alignment
:uint32))
(fli:define-c-typedef (vk-device-generated-commands-limits-nvx
(:foreign-name
"VkDeviceGeneratedCommandsLimitsNVX"))
(:struct vk-device-generated-commands-limits-nvx))
(fli:define-c-struct (vk-indirect-commands-token-nvx
(:foreign-name "VkIndirectCommandsTokenNVX"))
(token-type vk-indirect-commands-token-type-nvx)
(buffer vk-buffer)
(offset vk-device-size))
(fli:define-c-typedef (vk-indirect-commands-token-nvx
(:foreign-name "VkIndirectCommandsTokenNVX"))
(:struct vk-indirect-commands-token-nvx))
(fli:define-c-struct (vk-indirect-commands-layout-token-nvx
(:foreign-name
"VkIndirectCommandsLayoutTokenNVX"))
(token-type vk-indirect-commands-token-type-nvx)
(binding-unit :uint32)
(dynamic-count :uint32)
(divisor :uint32))
(fli:define-c-typedef (vk-indirect-commands-layout-token-nvx
(:foreign-name
"VkIndirectCommandsLayoutTokenNVX"))
(:struct vk-indirect-commands-layout-token-nvx))
(fli:define-c-struct (vk-indirect-commands-layout-create-info-nvx
(:foreign-name
"VkIndirectCommandsLayoutCreateInfoNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(pipeline-bind-point vk-pipeline-bind-point)
(flags
vk-indirect-commands-layout-usage-flags-nvx)
(token-count :uint32)
(p-tokens
(:pointer
(:const vk-indirect-commands-layout-token-nvx))))
(fli:define-c-typedef (vk-indirect-commands-layout-create-info-nvx
(:foreign-name
"VkIndirectCommandsLayoutCreateInfoNVX"))
(:struct
vk-indirect-commands-layout-create-info-nvx))
(fli:define-c-struct (vk-cmd-process-commands-info-nvx
(:foreign-name "VkCmdProcessCommandsInfoNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-table vk-object-table-nvx)
(indirect-commands-layout
vk-indirect-commands-layout-nvx)
(indirect-commands-token-count :uint32)
(p-indirect-commands-tokens
(:pointer
(:const vk-indirect-commands-token-nvx)))
(max-sequences-count :uint32)
(target-command-buffer vk-command-buffer)
(sequences-count-buffer vk-buffer)
(sequences-count-offset vk-device-size)
(sequences-index-buffer vk-buffer)
(sequences-index-offset vk-device-size))
(fli:define-c-typedef (vk-cmd-process-commands-info-nvx
(:foreign-name "VkCmdProcessCommandsInfoNVX"))
(:struct vk-cmd-process-commands-info-nvx))
(fli:define-c-struct (vk-cmd-reserve-space-for-commands-info-nvx
(:foreign-name
"VkCmdReserveSpaceForCommandsInfoNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-table vk-object-table-nvx)
(indirect-commands-layout
vk-indirect-commands-layout-nvx)
(max-sequences-count :uint32))
(fli:define-c-typedef (vk-cmd-reserve-space-for-commands-info-nvx
(:foreign-name
"VkCmdReserveSpaceForCommandsInfoNVX"))
(:struct
vk-cmd-reserve-space-for-commands-info-nvx))
(fli:define-c-struct (vk-object-table-create-info-nvx
(:foreign-name "VkObjectTableCreateInfoNVX"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-count :uint32)
(p-object-entry-types
(:pointer (:const vk-object-entry-type-nvx)))
(p-object-entry-counts
(:pointer (:const :uint32)))
(p-object-entry-usage-flags
(:pointer
(:const vk-object-entry-usage-flags-nvx)))
(max-uniform-buffers-per-descriptor
:uint32)
(max-storage-buffers-per-descriptor
:uint32)
(max-storage-images-per-descriptor
:uint32)
(max-sampled-images-per-descriptor
:uint32)
(max-pipeline-layouts :uint32))
(fli:define-c-typedef (vk-object-table-create-info-nvx
(:foreign-name "VkObjectTableCreateInfoNVX"))
(:struct vk-object-table-create-info-nvx))
(fli:define-c-struct (vk-object-table-entry-nvx
(:foreign-name "VkObjectTableEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx))
(fli:define-c-typedef (vk-object-table-entry-nvx
(:foreign-name "VkObjectTableEntryNVX"))
(:struct vk-object-table-entry-nvx))
(fli:define-c-struct (vk-object-table-pipeline-entry-nvx
(:foreign-name "VkObjectTablePipelineEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx)
(pipeline vk-pipeline))
(fli:define-c-typedef (vk-object-table-pipeline-entry-nvx
(:foreign-name "VkObjectTablePipelineEntryNVX"))
(:struct vk-object-table-pipeline-entry-nvx))
(fli:define-c-struct (vk-object-table-descriptor-set-entry-nvx
(:foreign-name
"VkObjectTableDescriptorSetEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx)
(pipeline-layout vk-pipeline-layout)
(descriptor-set vk-descriptor-set))
(fli:define-c-typedef (vk-object-table-descriptor-set-entry-nvx
(:foreign-name
"VkObjectTableDescriptorSetEntryNVX"))
(:struct
vk-object-table-descriptor-set-entry-nvx))
(fli:define-c-struct (vk-object-table-vertex-buffer-entry-nvx
(:foreign-name
"VkObjectTableVertexBufferEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx)
(buffer vk-buffer))
(fli:define-c-typedef (vk-object-table-vertex-buffer-entry-nvx
(:foreign-name
"VkObjectTableVertexBufferEntryNVX"))
(:struct vk-object-table-vertex-buffer-entry-nvx))
(fli:define-c-struct (vk-object-table-index-buffer-entry-nvx
(:foreign-name
"VkObjectTableIndexBufferEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx)
(buffer vk-buffer)
(index-type vk-index-type))
(fli:define-c-typedef (vk-object-table-index-buffer-entry-nvx
(:foreign-name
"VkObjectTableIndexBufferEntryNVX"))
(:struct vk-object-table-index-buffer-entry-nvx))
(fli:define-c-struct (vk-object-table-push-constant-entry-nvx
(:foreign-name
"VkObjectTablePushConstantEntryNVX"))
(type vk-object-entry-type-nvx)
(flags vk-object-entry-usage-flags-nvx)
(pipeline-layout vk-pipeline-layout)
(stage-flags vk-shader-stage-flags))
(fli:define-c-typedef (vk-object-table-push-constant-entry-nvx
(:foreign-name
"VkObjectTablePushConstantEntryNVX"))
(:struct vk-object-table-push-constant-entry-nvx))
(fli:define-c-typedef (pfn-vk-cmd-process-commands-nvx
(:foreign-name "PFN_vkCmdProcessCommandsNVX"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-cmd-process-commands-info-nvx)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-reserve-space-for-commands-nvx
(:foreign-name
"PFN_vkCmdReserveSpaceForCommandsNVX"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const
vk-cmd-reserve-space-for-commands-info-nvx)))
:void)))
(fli:define-c-typedef (pfn-vk-create-indirect-commands-layout-nvx
(:foreign-name
"PFN_vkCreateIndirectCommandsLayoutNVX"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-indirect-commands-layout-create-info-nvx))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-indirect-commands-layout-nvx))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-indirect-commands-layout-nvx
(:foreign-name
"PFN_vkDestroyIndirectCommandsLayoutNVX"))
(:pointer
(:function
(vk-device
vk-indirect-commands-layout-nvx
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-create-object-table-nvx
(:foreign-name "PFN_vkCreateObjectTableNVX"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-object-table-create-info-nvx))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-object-table-nvx))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-object-table-nvx
(:foreign-name "PFN_vkDestroyObjectTableNVX"))
(:pointer
(:function
(vk-device
vk-object-table-nvx
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-register-objects-nvx
(:foreign-name "PFN_vkRegisterObjectsNVX"))
(:pointer
(:function
(vk-device
vk-object-table-nvx
:uint32
(:pointer
(:const
(:pointer
(:const vk-object-table-entry-nvx))))
(:pointer (:const :uint32)))
vk-result)))
(fli:define-c-typedef (pfn-vk-unregister-objects-nvx
(:foreign-name "PFN_vkUnregisterObjectsNVX"))
(:pointer
(:function
(vk-device
vk-object-table-nvx
:uint32
(:pointer (:const vk-object-entry-type-nvx))
(:pointer (:const :uint32)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-physical-device-generated-commands-properties-nvx
(:foreign-name
"PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
(:pointer
(:function
(vk-physical-device
(:pointer
vk-device-generated-commands-features-nvx)
(:pointer
vk-device-generated-commands-limits-nvx))
:void)))
(fli:define-foreign-function (vk-cmd-process-commands-nvx
"vkCmdProcessCommandsNVX"
:source)
((command-buffer vk-command-buffer)
(p-process-commands-info
(:pointer
(:const
vk-cmd-process-commands-info-nvx))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-reserve-space-for-commands-nvx
"vkCmdReserveSpaceForCommandsNVX"
:source)
((command-buffer vk-command-buffer)
(p-reserve-space-info
(:pointer
(:const
vk-cmd-reserve-space-for-commands-info-nvx))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-indirect-commands-layout-nvx
"vkCreateIndirectCommandsLayoutNVX"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-indirect-commands-layout-create-info-nvx)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-indirect-commands-layout
(:pointer
vk-indirect-commands-layout-nvx)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-indirect-commands-layout-nvx
"vkDestroyIndirectCommandsLayoutNVX"
:source)
((device vk-device)
(indirect-commands-layout
vk-indirect-commands-layout-nvx)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-object-table-nvx
"vkCreateObjectTableNVX"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-object-table-create-info-nvx)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-object-table
(:pointer vk-object-table-nvx)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-object-table-nvx
"vkDestroyObjectTableNVX"
:source)
((device vk-device)
(object-table vk-object-table-nvx)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-register-objects-nvx
"vkRegisterObjectsNVX"
:source)
((device vk-device)
(object-table vk-object-table-nvx)
(object-count :uint32)
(pp-object-table-entries
(:pointer
(:const
(:pointer
(:const
vk-object-table-entry-nvx)))))
(p-object-indices
(:pointer (:const :uint32))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-unregister-objects-nvx
"vkUnregisterObjectsNVX"
:source)
((device vk-device)
(object-table vk-object-table-nvx)
(object-count :uint32)
(p-object-entry-types
(:pointer
(:const vk-object-entry-type-nvx)))
(p-object-indices
(:pointer (:const :uint32))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-generated-commands-properties-nvx
"vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"
:source)
((physical-device vk-physical-device)
(p-features
(:pointer
vk-device-generated-commands-features-nvx))
(p-limits
(:pointer
vk-device-generated-commands-limits-nvx)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-viewport-wscaling-nv
(:foreign-name "VkViewportWScalingNV"))
(xcoeff :float)
(ycoeff :float))
(fli:define-c-typedef (vk-viewport-wscaling-nv
(:foreign-name "VkViewportWScalingNV"))
(:struct vk-viewport-wscaling-nv))
(fli:define-c-struct (vk-pipeline-viewport-wscaling-state-create-info-nv
(:foreign-name
"VkPipelineViewportWScalingStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(viewport-wscaling-enable vk-bool32)
(viewport-count :uint32)
(p-viewport-wscalings
(:pointer (:const vk-viewport-wscaling-nv))))
(fli:define-c-typedef (vk-pipeline-viewport-wscaling-state-create-info-nv
(:foreign-name
"VkPipelineViewportWScalingStateCreateInfoNV"))
(:struct
vk-pipeline-viewport-wscaling-state-create-info-nv))
(fli:define-c-typedef (pfn-vk-cmd-set-viewport-wscaling-nv
(:foreign-name
"PFN_vkCmdSetViewportWScalingNV"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-viewport-wscaling-nv)))
:void)))
(fli:define-foreign-function (vk-cmd-set-viewport-wscaling-nv
"vkCmdSetViewportWScalingNV"
:source)
((command-buffer vk-command-buffer)
(first-viewport :uint32)
(viewport-count :uint32)
(p-viewport-wscalings
(:pointer
(:const vk-viewport-wscaling-nv))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-typedef (pfn-vk-release-display-ext
(:foreign-name "PFN_vkReleaseDisplayEXT"))
(:pointer
(:function
(vk-physical-device vk-display-khr)
vk-result)))
(fli:define-foreign-function (vk-release-display-ext
"vkReleaseDisplayEXT"
:source)
((physical-device vk-physical-device)
(display vk-display-khr))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-enum (vk-surface-counter-flag-bits-ext
(:foreign-name "VkSurfaceCounterFlagBitsEXT"))
(vk-surface-counter-vblank-ext 1)
(vk-surface-counter-flag-bits-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-surface-counter-flag-bits-ext
(:foreign-name "VkSurfaceCounterFlagBitsEXT"))
(:enum vk-surface-counter-flag-bits-ext))
(fli:define-c-typedef (vk-surface-counter-flags-ext
(:foreign-name "VkSurfaceCounterFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-surface-capabilities2-ext
(:foreign-name "VkSurfaceCapabilities2EXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(min-image-count :uint32)
(max-image-count :uint32)
(current-extent vk-extent2-d)
(min-image-extent vk-extent2-d)
(max-image-extent vk-extent2-d)
(max-image-array-layers :uint32)
(supported-transforms
vk-surface-transform-flags-khr)
(current-transform
vk-surface-transform-flag-bits-khr)
(supported-composite-alpha
vk-composite-alpha-flags-khr)
(supported-usage-flags vk-image-usage-flags)
(supported-surface-counters
vk-surface-counter-flags-ext))
(fli:define-c-typedef (vk-surface-capabilities2-ext
(:foreign-name "VkSurfaceCapabilities2EXT"))
(:struct vk-surface-capabilities2-ext))
(fli:define-c-typedef (pfn-vk-get-physical-device-surface-capabilities2-ext
(:foreign-name
"PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
(:pointer
(:function
(vk-physical-device
vk-surface-khr
(:pointer vk-surface-capabilities2-ext))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-surface-capabilities2-ext
"vkGetPhysicalDeviceSurfaceCapabilities2EXT"
:source)
((physical-device vk-physical-device)
(surface vk-surface-khr)
(p-surface-capabilities
(:pointer
vk-surface-capabilities2-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-enum (vk-display-power-state-ext
(:foreign-name "VkDisplayPowerStateEXT"))
(vk-display-power-state-off-ext 0)
(vk-display-power-state-suspend-ext 1)
(vk-display-power-state-on-ext 2)
(vk-display-power-state-begin-range-ext 0)
(vk-display-power-state-end-range-ext 2)
(vk-display-power-state-range-size-ext 3)
(vk-display-power-state-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-display-power-state-ext
(:foreign-name "VkDisplayPowerStateEXT"))
(:enum vk-display-power-state-ext))
(fli:define-c-enum (vk-device-event-type-ext
(:foreign-name "VkDeviceEventTypeEXT"))
(vk-device-event-type-display-hotplug-ext 0)
(vk-device-event-type-begin-range-ext 0)
(vk-device-event-type-end-range-ext 0)
(vk-device-event-type-range-size-ext 1)
(vk-device-event-type-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-device-event-type-ext
(:foreign-name "VkDeviceEventTypeEXT"))
(:enum vk-device-event-type-ext))
(fli:define-c-enum (vk-display-event-type-ext
(:foreign-name "VkDisplayEventTypeEXT"))
(vk-display-event-type-first-pixel-out-ext 0)
(vk-display-event-type-begin-range-ext 0)
(vk-display-event-type-end-range-ext 0)
(vk-display-event-type-range-size-ext 1)
(vk-display-event-type-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-display-event-type-ext
(:foreign-name "VkDisplayEventTypeEXT"))
(:enum vk-display-event-type-ext))
(fli:define-c-struct (vk-display-power-info-ext
(:foreign-name "VkDisplayPowerInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(power-state vk-display-power-state-ext))
(fli:define-c-typedef (vk-display-power-info-ext
(:foreign-name "VkDisplayPowerInfoEXT"))
(:struct vk-display-power-info-ext))
(fli:define-c-struct (vk-device-event-info-ext
(:foreign-name "VkDeviceEventInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(device-event vk-device-event-type-ext))
(fli:define-c-typedef (vk-device-event-info-ext
(:foreign-name "VkDeviceEventInfoEXT"))
(:struct vk-device-event-info-ext))
(fli:define-c-struct (vk-display-event-info-ext
(:foreign-name "VkDisplayEventInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(display-event vk-display-event-type-ext))
(fli:define-c-typedef (vk-display-event-info-ext
(:foreign-name "VkDisplayEventInfoEXT"))
(:struct vk-display-event-info-ext))
(fli:define-c-struct (vk-swapchain-counter-create-info-ext
(:foreign-name
"VkSwapchainCounterCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(surface-counters vk-surface-counter-flags-ext))
(fli:define-c-typedef (vk-swapchain-counter-create-info-ext
(:foreign-name
"VkSwapchainCounterCreateInfoEXT"))
(:struct vk-swapchain-counter-create-info-ext))
(fli:define-c-typedef (pfn-vk-display-power-control-ext
(:foreign-name "PFN_vkDisplayPowerControlEXT"))
(:pointer
(:function
(vk-device
vk-display-khr
(:pointer (:const vk-display-power-info-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-register-device-event-ext
(:foreign-name "PFN_vkRegisterDeviceEventEXT"))
(:pointer
(:function
(vk-device
(:pointer (:const vk-device-event-info-ext))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-fence))
vk-result)))
(fli:define-c-typedef (pfn-vk-register-display-event-ext
(:foreign-name "PFN_vkRegisterDisplayEventEXT"))
(:pointer
(:function
(vk-device
vk-display-khr
(:pointer (:const vk-display-event-info-ext))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-fence))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-swapchain-counter-ext
(:foreign-name "PFN_vkGetSwapchainCounterEXT"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
vk-surface-counter-flag-bits-ext
(:pointer :uint64))
vk-result)))
(fli:define-foreign-function (vk-display-power-control-ext
"vkDisplayPowerControlEXT"
:source)
((device vk-device)
(display vk-display-khr)
(p-display-power-info
(:pointer
(:const vk-display-power-info-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-register-device-event-ext
"vkRegisterDeviceEventEXT"
:source)
((device vk-device)
(p-device-event-info
(:pointer
(:const vk-device-event-info-ext)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-fence (:pointer vk-fence)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-register-display-event-ext
"vkRegisterDisplayEventEXT"
:source)
((device vk-device)
(display vk-display-khr)
(p-display-event-info
(:pointer
(:const vk-display-event-info-ext)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-fence (:pointer vk-fence)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-swapchain-counter-ext
"vkGetSwapchainCounterEXT"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(counter
vk-surface-counter-flag-bits-ext)
(p-counter-value
(:pointer :uint64)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-refresh-cycle-duration-google
(:foreign-name "VkRefreshCycleDurationGOOGLE"))
(refresh-duration :uint64))
(fli:define-c-typedef (vk-refresh-cycle-duration-google
(:foreign-name "VkRefreshCycleDurationGOOGLE"))
(:struct vk-refresh-cycle-duration-google))
(fli:define-c-struct (vk-past-presentation-timing-google
(:foreign-name "VkPastPresentationTimingGOOGLE"))
(present-id :uint32)
(desired-present-time :uint64)
(actual-present-time :uint64)
(earliest-present-time :uint64)
(present-margin :uint64))
(fli:define-c-typedef (vk-past-presentation-timing-google
(:foreign-name
"VkPastPresentationTimingGOOGLE"))
(:struct vk-past-presentation-timing-google))
(fli:define-c-struct (vk-present-time-google
(:foreign-name "VkPresentTimeGOOGLE"))
(present-id :uint32)
(desired-present-time :uint64))
(fli:define-c-typedef (vk-present-time-google
(:foreign-name "VkPresentTimeGOOGLE"))
(:struct vk-present-time-google))
(fli:define-c-struct (vk-present-times-info-google
(:foreign-name "VkPresentTimesInfoGOOGLE"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(swapchain-count :uint32)
(p-times
(:pointer (:const vk-present-time-google))))
(fli:define-c-typedef (vk-present-times-info-google
(:foreign-name "VkPresentTimesInfoGOOGLE"))
(:struct vk-present-times-info-google))
(fli:define-c-typedef (pfn-vk-get-refresh-cycle-duration-google
(:foreign-name
"PFN_vkGetRefreshCycleDurationGOOGLE"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
(:pointer vk-refresh-cycle-duration-google))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-past-presentation-timing-google
(:foreign-name
"PFN_vkGetPastPresentationTimingGOOGLE"))
(:pointer
(:function
(vk-device
vk-swapchain-khr
(:pointer :uint32)
(:pointer vk-past-presentation-timing-google))
vk-result)))
(fli:define-foreign-function (vk-get-refresh-cycle-duration-google
"vkGetRefreshCycleDurationGOOGLE"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(p-display-timing-properties
(:pointer
vk-refresh-cycle-duration-google)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-past-presentation-timing-google
"vkGetPastPresentationTimingGOOGLE"
:source)
((device vk-device)
(swapchain vk-swapchain-khr)
(p-presentation-timing-count
(:pointer :uint32))
(p-presentation-timings
(:pointer
vk-past-presentation-timing-google)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-multiview-per-view-attributes-properties-nvx
(:foreign-name
"VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(per-view-position-all-components vk-bool32))
(fli:define-c-typedef (vk-physical-device-multiview-per-view-attributes-properties-nvx
(:foreign-name
"VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"))
(:struct
vk-physical-device-multiview-per-view-attributes-properties-nvx))
(fli:define-c-enum (vk-viewport-coordinate-swizzle-nv
(:foreign-name "VkViewportCoordinateSwizzleNV"))
(vk-viewport-coordinate-swizzle-positive-x-nv 0)
(vk-viewport-coordinate-swizzle-negative-x-nv 1)
(vk-viewport-coordinate-swizzle-positive-y-nv 2)
(vk-viewport-coordinate-swizzle-negative-y-nv 3)
(vk-viewport-coordinate-swizzle-positive-z-nv 4)
(vk-viewport-coordinate-swizzle-negative-z-nv 5)
(vk-viewport-coordinate-swizzle-positive-w-nv 6)
(vk-viewport-coordinate-swizzle-negative-w-nv 7)
(vk-viewport-coordinate-swizzle-begin-range-nv 0)
(vk-viewport-coordinate-swizzle-end-range-nv 7)
(vk-viewport-coordinate-swizzle-range-size-nv 8)
(vk-viewport-coordinate-swizzle-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-viewport-coordinate-swizzle-nv
(:foreign-name "VkViewportCoordinateSwizzleNV"))
(:enum vk-viewport-coordinate-swizzle-nv))
(fli:define-c-typedef (vk-pipeline-viewport-swizzle-state-create-flags-nv
(:foreign-name
"VkPipelineViewportSwizzleStateCreateFlagsNV"))
vk-flags)
(fli:define-c-struct (vk-viewport-swizzle-nv
(:foreign-name "VkViewportSwizzleNV"))
(x vk-viewport-coordinate-swizzle-nv)
(y vk-viewport-coordinate-swizzle-nv)
(z vk-viewport-coordinate-swizzle-nv)
(w vk-viewport-coordinate-swizzle-nv))
(fli:define-c-typedef (vk-viewport-swizzle-nv
(:foreign-name "VkViewportSwizzleNV"))
(:struct vk-viewport-swizzle-nv))
(fli:define-c-struct (vk-pipeline-viewport-swizzle-state-create-info-nv
(:foreign-name
"VkPipelineViewportSwizzleStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-viewport-swizzle-state-create-flags-nv)
(viewport-count :uint32)
(p-viewport-swizzles
(:pointer (:const vk-viewport-swizzle-nv))))
(fli:define-c-typedef (vk-pipeline-viewport-swizzle-state-create-info-nv
(:foreign-name
"VkPipelineViewportSwizzleStateCreateInfoNV"))
(:struct
vk-pipeline-viewport-swizzle-state-create-info-nv))
(fli:define-c-enum (vk-discard-rectangle-mode-ext
(:foreign-name "VkDiscardRectangleModeEXT"))
(vk-discard-rectangle-mode-inclusive-ext 0)
(vk-discard-rectangle-mode-exclusive-ext 1)
(vk-discard-rectangle-mode-begin-range-ext 0)
(vk-discard-rectangle-mode-end-range-ext 1)
(vk-discard-rectangle-mode-range-size-ext 2)
(vk-discard-rectangle-mode-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-discard-rectangle-mode-ext
(:foreign-name "VkDiscardRectangleModeEXT"))
(:enum vk-discard-rectangle-mode-ext))
(fli:define-c-typedef (vk-pipeline-discard-rectangle-state-create-flags-ext
(:foreign-name
"VkPipelineDiscardRectangleStateCreateFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-physical-device-discard-rectangle-properties-ext
(:foreign-name
"VkPhysicalDeviceDiscardRectanglePropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-discard-rectangles :uint32))
(fli:define-c-typedef (vk-physical-device-discard-rectangle-properties-ext
(:foreign-name
"VkPhysicalDeviceDiscardRectanglePropertiesEXT"))
(:struct
vk-physical-device-discard-rectangle-properties-ext))
(fli:define-c-struct (vk-pipeline-discard-rectangle-state-create-info-ext
(:foreign-name
"VkPipelineDiscardRectangleStateCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-discard-rectangle-state-create-flags-ext)
(discard-rectangle-mode
vk-discard-rectangle-mode-ext)
(discard-rectangle-count :uint32)
(p-discard-rectangles
(:pointer (:const vk-rect2-d))))
(fli:define-c-typedef (vk-pipeline-discard-rectangle-state-create-info-ext
(:foreign-name
"VkPipelineDiscardRectangleStateCreateInfoEXT"))
(:struct
vk-pipeline-discard-rectangle-state-create-info-ext))
(fli:define-c-typedef (pfn-vk-cmd-set-discard-rectangle-ext
(:foreign-name
"PFN_vkCmdSetDiscardRectangleEXT"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-rect2-d)))
:void)))
(fli:define-foreign-function (vk-cmd-set-discard-rectangle-ext
"vkCmdSetDiscardRectangleEXT"
:source)
((command-buffer vk-command-buffer)
(first-discard-rectangle
:uint32)
(discard-rectangle-count
:uint32)
(p-discard-rectangles
(:pointer (:const vk-rect2-d))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-enum (vk-conservative-rasterization-mode-ext
(:foreign-name
"VkConservativeRasterizationModeEXT"))
(vk-conservative-rasterization-mode-disabled-ext 0)
(vk-conservative-rasterization-mode-overestimate-ext
1)
(vk-conservative-rasterization-mode-underestimate-ext
2)
(vk-conservative-rasterization-mode-begin-range-ext
0)
(vk-conservative-rasterization-mode-end-range-ext 2)
(vk-conservative-rasterization-mode-range-size-ext
3)
(vk-conservative-rasterization-mode-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-conservative-rasterization-mode-ext
(:foreign-name
"VkConservativeRasterizationModeEXT"))
(:enum vk-conservative-rasterization-mode-ext))
(fli:define-c-typedef (vk-pipeline-rasterization-conservative-state-create-flags-ext
(:foreign-name
"VkPipelineRasterizationConservativeStateCreateFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-physical-device-conservative-rasterization-properties-ext
(:foreign-name
"VkPhysicalDeviceConservativeRasterizationPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(primitive-overestimation-size :float)
(max-extra-primitive-overestimation-size :float)
(extra-primitive-overestimation-size-granularity
:float)
(primitive-underestimation vk-bool32)
(conservative-point-and-line-rasterization
vk-bool32)
(degenerate-triangles-rasterized vk-bool32)
(degenerate-lines-rasterized vk-bool32)
(fully-covered-fragment-shader-input-variable
vk-bool32)
(conservative-rasterization-post-depth-coverage
vk-bool32))
(fli:define-c-typedef (vk-physical-device-conservative-rasterization-properties-ext
(:foreign-name
"VkPhysicalDeviceConservativeRasterizationPropertiesEXT"))
(:struct
vk-physical-device-conservative-rasterization-properties-ext))
(fli:define-c-struct (vk-pipeline-rasterization-conservative-state-create-info-ext
(:foreign-name
"VkPipelineRasterizationConservativeStateCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-rasterization-conservative-state-create-flags-ext)
(conservative-rasterization-mode
vk-conservative-rasterization-mode-ext)
(extra-primitive-overestimation-size :float))
(fli:define-c-typedef (vk-pipeline-rasterization-conservative-state-create-info-ext
(:foreign-name
"VkPipelineRasterizationConservativeStateCreateInfoEXT"))
(:struct
vk-pipeline-rasterization-conservative-state-create-info-ext))
(fli:define-c-struct (vk-xycolor-ext (:foreign-name "VkXYColorEXT"))
(x :float)
(y :float))
(fli:define-c-typedef (vk-xycolor-ext (:foreign-name "VkXYColorEXT"))
(:struct vk-xycolor-ext))
(fli:define-c-struct (vk-hdr-metadata-ext
(:foreign-name "VkHdrMetadataEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(display-primary-red vk-xycolor-ext)
(display-primary-green vk-xycolor-ext)
(display-primary-blue vk-xycolor-ext)
(white-point vk-xycolor-ext)
(max-luminance :float)
(min-luminance :float)
(max-content-light-level :float)
(max-frame-average-light-level :float))
(fli:define-c-typedef (vk-hdr-metadata-ext
(:foreign-name "VkHdrMetadataEXT"))
(:struct vk-hdr-metadata-ext))
(fli:define-c-typedef (pfn-vk-set-hdr-metadata-ext
(:foreign-name "PFN_vkSetHdrMetadataEXT"))
(:pointer
(:function
(vk-device
:uint32
(:pointer (:const vk-swapchain-khr))
(:pointer (:const vk-hdr-metadata-ext)))
:void)))
(fli:define-foreign-function (vk-set-hdr-metadata-ext
"vkSetHdrMetadataEXT"
:source)
((device vk-device)
(swapchain-count :uint32)
(p-swapchains
(:pointer (:const vk-swapchain-khr)))
(p-metadata
(:pointer
(:const vk-hdr-metadata-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-debug-utils-messenger-ext-t
(:foreign-name "VkDebugUtilsMessengerEXT_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-debug-utils-messenger-ext
(:foreign-name "VkDebugUtilsMessengerEXT"))
(:pointer
(:struct vk-debug-utils-messenger-ext-t)))
(fli:define-c-typedef (vk-debug-utils-messenger-callback-data-flags-ext
(:foreign-name
"VkDebugUtilsMessengerCallbackDataFlagsEXT"))
vk-flags)
(fli:define-c-typedef (vk-debug-utils-messenger-create-flags-ext
(:foreign-name
"VkDebugUtilsMessengerCreateFlagsEXT"))
vk-flags)
(fli:define-c-enum (vk-debug-utils-message-severity-flag-bits-ext
(:foreign-name
"VkDebugUtilsMessageSeverityFlagBitsEXT"))
(vk-debug-utils-message-severity-verbose-bit-ext 1)
(vk-debug-utils-message-severity-info-bit-ext 16)
(vk-debug-utils-message-severity-warning-bit-ext
256)
(vk-debug-utils-message-severity-error-bit-ext 4096)
(vk-debug-utils-message-severity-flag-bits-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-debug-utils-message-severity-flag-bits-ext
(:foreign-name
"VkDebugUtilsMessageSeverityFlagBitsEXT"))
(:enum
vk-debug-utils-message-severity-flag-bits-ext))
(fli:define-c-typedef (vk-debug-utils-message-severity-flags-ext
(:foreign-name
"VkDebugUtilsMessageSeverityFlagsEXT"))
vk-flags)
(fli:define-c-enum (vk-debug-utils-message-type-flag-bits-ext
(:foreign-name
"VkDebugUtilsMessageTypeFlagBitsEXT"))
(vk-debug-utils-message-type-general-bit-ext 1)
(vk-debug-utils-message-type-validation-bit-ext 2)
(vk-debug-utils-message-type-performance-bit-ext 4)
(vk-debug-utils-message-type-flag-bits-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-debug-utils-message-type-flag-bits-ext
(:foreign-name
"VkDebugUtilsMessageTypeFlagBitsEXT"))
(:enum vk-debug-utils-message-type-flag-bits-ext))
(fli:define-c-typedef (vk-debug-utils-message-type-flags-ext
(:foreign-name
"VkDebugUtilsMessageTypeFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-debug-utils-object-name-info-ext
(:foreign-name "VkDebugUtilsObjectNameInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-type vk-object-type)
(object-handle :uint64)
(p-object-name (:pointer (:const :char))))
(fli:define-c-typedef (vk-debug-utils-object-name-info-ext
(:foreign-name "VkDebugUtilsObjectNameInfoEXT"))
(:struct vk-debug-utils-object-name-info-ext))
(fli:define-c-struct (vk-debug-utils-object-tag-info-ext
(:foreign-name "VkDebugUtilsObjectTagInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(object-type vk-object-type)
(object-handle :uint64)
(tag-name :uint64)
(tag-size :size-t)
(p-tag (:pointer (:const :void))))
(fli:define-c-typedef (vk-debug-utils-object-tag-info-ext
(:foreign-name "VkDebugUtilsObjectTagInfoEXT"))
(:struct vk-debug-utils-object-tag-info-ext))
(fli:define-c-struct (vk-debug-utils-label-ext
(:foreign-name "VkDebugUtilsLabelEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(p-label-name (:pointer (:const :char)))
(color (:c-array :float 4)))
(fli:define-c-typedef (vk-debug-utils-label-ext
(:foreign-name "VkDebugUtilsLabelEXT"))
(:struct vk-debug-utils-label-ext))
(fli:define-c-struct (vk-debug-utils-messenger-callback-data-ext
(:foreign-name
"VkDebugUtilsMessengerCallbackDataEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-debug-utils-messenger-callback-data-flags-ext)
(p-message-id-name (:pointer (:const :char)))
(message-id-number :int)
(p-message (:pointer (:const :char)))
(queue-label-count :uint32)
(p-queue-labels
(:pointer vk-debug-utils-label-ext))
(cmd-buf-label-count :uint32)
(p-cmd-buf-labels
(:pointer vk-debug-utils-label-ext))
(object-count :uint32)
(p-objects
(:pointer vk-debug-utils-object-name-info-ext)))
(fli:define-c-typedef (vk-debug-utils-messenger-callback-data-ext
(:foreign-name
"VkDebugUtilsMessengerCallbackDataEXT"))
(:struct
vk-debug-utils-messenger-callback-data-ext))
(fli:define-c-typedef (pfn-vk-debug-utils-messenger-callback-ext
(:foreign-name
"PFN_vkDebugUtilsMessengerCallbackEXT"))
(:pointer
(:function
(vk-debug-utils-message-severity-flag-bits-ext
vk-debug-utils-message-type-flags-ext
(:pointer
(:const
vk-debug-utils-messenger-callback-data-ext))
(:pointer :void))
vk-bool32)))
(fli:define-c-struct (vk-debug-utils-messenger-create-info-ext
(:foreign-name
"VkDebugUtilsMessengerCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-debug-utils-messenger-create-flags-ext)
(message-severity
vk-debug-utils-message-severity-flags-ext)
(message-type
vk-debug-utils-message-type-flags-ext)
(pfn-user-callback
pfn-vk-debug-utils-messenger-callback-ext)
(p-user-data (:pointer :void)))
(fli:define-c-typedef (vk-debug-utils-messenger-create-info-ext
(:foreign-name
"VkDebugUtilsMessengerCreateInfoEXT"))
(:struct
vk-debug-utils-messenger-create-info-ext))
(fli:define-c-typedef (pfn-vk-set-debug-utils-object-name-ext
(:foreign-name
"PFN_vkSetDebugUtilsObjectNameEXT"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-debug-utils-object-name-info-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-set-debug-utils-object-tag-ext
(:foreign-name
"PFN_vkSetDebugUtilsObjectTagEXT"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-debug-utils-object-tag-info-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-queue-begin-debug-utils-label-ext
(:foreign-name
"PFN_vkQueueBeginDebugUtilsLabelEXT"))
(:pointer
(:function
(vk-queue
(:pointer (:const vk-debug-utils-label-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-queue-end-debug-utils-label-ext
(:foreign-name
"PFN_vkQueueEndDebugUtilsLabelEXT"))
(:pointer (:function (vk-queue) :void)))
(fli:define-c-typedef (pfn-vk-queue-insert-debug-utils-label-ext
(:foreign-name
"PFN_vkQueueInsertDebugUtilsLabelEXT"))
(:pointer
(:function
(vk-queue
(:pointer (:const vk-debug-utils-label-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-begin-debug-utils-label-ext
(:foreign-name
"PFN_vkCmdBeginDebugUtilsLabelEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-debug-utils-label-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-end-debug-utils-label-ext
(:foreign-name
"PFN_vkCmdEndDebugUtilsLabelEXT"))
(:pointer (:function (vk-command-buffer) :void)))
(fli:define-c-typedef (pfn-vk-cmd-insert-debug-utils-label-ext
(:foreign-name
"PFN_vkCmdInsertDebugUtilsLabelEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer (:const vk-debug-utils-label-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-create-debug-utils-messenger-ext
(:foreign-name
"PFN_vkCreateDebugUtilsMessengerEXT"))
(:pointer
(:function
(vk-instance
(:pointer
(:const
vk-debug-utils-messenger-create-info-ext))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-debug-utils-messenger-ext))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-debug-utils-messenger-ext
(:foreign-name
"PFN_vkDestroyDebugUtilsMessengerEXT"))
(:pointer
(:function
(vk-instance
vk-debug-utils-messenger-ext
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-submit-debug-utils-message-ext
(:foreign-name
"PFN_vkSubmitDebugUtilsMessageEXT"))
(:pointer
(:function
(vk-instance
vk-debug-utils-message-severity-flag-bits-ext
vk-debug-utils-message-type-flags-ext
(:pointer
(:const
vk-debug-utils-messenger-callback-data-ext)))
:void)))
(fli:define-foreign-function (vk-set-debug-utils-object-name-ext
"vkSetDebugUtilsObjectNameEXT"
:source)
((device vk-device)
(p-name-info
(:pointer
(:const
vk-debug-utils-object-name-info-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-set-debug-utils-object-tag-ext
"vkSetDebugUtilsObjectTagEXT"
:source)
((device vk-device)
(p-tag-info
(:pointer
(:const
vk-debug-utils-object-tag-info-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-begin-debug-utils-label-ext
"vkQueueBeginDebugUtilsLabelEXT"
:source)
((queue vk-queue)
(p-label-info
(:pointer
(:const vk-debug-utils-label-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-end-debug-utils-label-ext
"vkQueueEndDebugUtilsLabelEXT"
:source)
((queue vk-queue))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-queue-insert-debug-utils-label-ext
"vkQueueInsertDebugUtilsLabelEXT"
:source)
((queue vk-queue)
(p-label-info
(:pointer
(:const vk-debug-utils-label-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-begin-debug-utils-label-ext
"vkCmdBeginDebugUtilsLabelEXT"
:source)
((command-buffer vk-command-buffer)
(p-label-info
(:pointer
(:const vk-debug-utils-label-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-end-debug-utils-label-ext
"vkCmdEndDebugUtilsLabelEXT"
:source)
((command-buffer vk-command-buffer))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-insert-debug-utils-label-ext
"vkCmdInsertDebugUtilsLabelEXT"
:source)
((command-buffer vk-command-buffer)
(p-label-info
(:pointer
(:const vk-debug-utils-label-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-debug-utils-messenger-ext
"vkCreateDebugUtilsMessengerEXT"
:source)
((instance vk-instance)
(p-create-info
(:pointer
(:const
vk-debug-utils-messenger-create-info-ext)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-messenger
(:pointer
vk-debug-utils-messenger-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-debug-utils-messenger-ext
"vkDestroyDebugUtilsMessengerEXT"
:source)
((instance vk-instance)
(messenger vk-debug-utils-messenger-ext)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-submit-debug-utils-message-ext
"vkSubmitDebugUtilsMessageEXT"
:source)
((instance vk-instance)
(message-severity
vk-debug-utils-message-severity-flag-bits-ext)
(message-types
vk-debug-utils-message-type-flags-ext)
(p-callback-data
(:pointer
(:const
vk-debug-utils-messenger-callback-data-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-enum (vk-sampler-reduction-mode-ext
(:foreign-name "VkSamplerReductionModeEXT"))
(vk-sampler-reduction-mode-weighted-average-ext 0)
(vk-sampler-reduction-mode-min-ext 1)
(vk-sampler-reduction-mode-max-ext 2)
(vk-sampler-reduction-mode-begin-range-ext 0)
(vk-sampler-reduction-mode-end-range-ext 2)
(vk-sampler-reduction-mode-range-size-ext 3)
(vk-sampler-reduction-mode-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-sampler-reduction-mode-ext
(:foreign-name "VkSamplerReductionModeEXT"))
(:enum vk-sampler-reduction-mode-ext))
(fli:define-c-struct (vk-sampler-reduction-mode-create-info-ext
(:foreign-name
"VkSamplerReductionModeCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(reduction-mode vk-sampler-reduction-mode-ext))
(fli:define-c-typedef (vk-sampler-reduction-mode-create-info-ext
(:foreign-name
"VkSamplerReductionModeCreateInfoEXT"))
(:struct
vk-sampler-reduction-mode-create-info-ext))
(fli:define-c-struct (vk-physical-device-sampler-filter-minmax-properties-ext
(:foreign-name
"VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(filter-minmax-single-component-formats vk-bool32)
(filter-minmax-image-component-mapping vk-bool32))
(fli:define-c-typedef (vk-physical-device-sampler-filter-minmax-properties-ext
(:foreign-name
"VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT"))
(:struct
vk-physical-device-sampler-filter-minmax-properties-ext))
(fli:define-c-struct (vk-physical-device-inline-uniform-block-features-ext
(:foreign-name
"VkPhysicalDeviceInlineUniformBlockFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(inline-uniform-block vk-bool32)
(descriptor-binding-inline-uniform-block-update-after-bind
vk-bool32))
(fli:define-c-typedef (vk-physical-device-inline-uniform-block-features-ext
(:foreign-name
"VkPhysicalDeviceInlineUniformBlockFeaturesEXT"))
(:struct
vk-physical-device-inline-uniform-block-features-ext))
(fli:define-c-struct (vk-physical-device-inline-uniform-block-properties-ext
(:foreign-name
"VkPhysicalDeviceInlineUniformBlockPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-inline-uniform-block-size :uint32)
(max-per-stage-descriptor-inline-uniform-blocks
:uint32)
(max-per-stage-descriptor-update-after-bind-inline-uniform-blocks
:uint32)
(max-descriptor-set-inline-uniform-blocks
:uint32)
(max-descriptor-set-update-after-bind-inline-uniform-blocks
:uint32))
(fli:define-c-typedef (vk-physical-device-inline-uniform-block-properties-ext
(:foreign-name
"VkPhysicalDeviceInlineUniformBlockPropertiesEXT"))
(:struct
vk-physical-device-inline-uniform-block-properties-ext))
(fli:define-c-struct (vk-write-descriptor-set-inline-uniform-block-ext
(:foreign-name
"VkWriteDescriptorSetInlineUniformBlockEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(data-size :uint32)
(p-data (:pointer (:const :void))))
(fli:define-c-typedef (vk-write-descriptor-set-inline-uniform-block-ext
(:foreign-name
"VkWriteDescriptorSetInlineUniformBlockEXT"))
(:struct
vk-write-descriptor-set-inline-uniform-block-ext))
(fli:define-c-struct (vk-descriptor-pool-inline-uniform-block-create-info-ext
(:foreign-name
"VkDescriptorPoolInlineUniformBlockCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(max-inline-uniform-block-bindings
:uint32))
(fli:define-c-typedef (vk-descriptor-pool-inline-uniform-block-create-info-ext
(:foreign-name
"VkDescriptorPoolInlineUniformBlockCreateInfoEXT"))
(:struct
vk-descriptor-pool-inline-uniform-block-create-info-ext))
(fli:define-c-struct (vk-sample-location-ext
(:foreign-name "VkSampleLocationEXT"))
(x :float)
(y :float))
(fli:define-c-typedef (vk-sample-location-ext
(:foreign-name "VkSampleLocationEXT"))
(:struct vk-sample-location-ext))
(fli:define-c-struct (vk-sample-locations-info-ext
(:foreign-name "VkSampleLocationsInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(sample-locations-per-pixel
vk-sample-count-flag-bits)
(sample-location-grid-size vk-extent2-d)
(sample-locations-count :uint32)
(p-sample-locations
(:pointer (:const vk-sample-location-ext))))
(fli:define-c-typedef (vk-sample-locations-info-ext
(:foreign-name "VkSampleLocationsInfoEXT"))
(:struct vk-sample-locations-info-ext))
(fli:define-c-struct (vk-attachment-sample-locations-ext
(:foreign-name "VkAttachmentSampleLocationsEXT"))
(attachment-index :uint32)
(sample-locations-info
vk-sample-locations-info-ext))
(fli:define-c-typedef (vk-attachment-sample-locations-ext
(:foreign-name
"VkAttachmentSampleLocationsEXT"))
(:struct vk-attachment-sample-locations-ext))
(fli:define-c-struct (vk-subpass-sample-locations-ext
(:foreign-name "VkSubpassSampleLocationsEXT"))
(subpass-index :uint32)
(sample-locations-info
vk-sample-locations-info-ext))
(fli:define-c-typedef (vk-subpass-sample-locations-ext
(:foreign-name "VkSubpassSampleLocationsEXT"))
(:struct vk-subpass-sample-locations-ext))
(fli:define-c-struct (vk-render-pass-sample-locations-begin-info-ext
(:foreign-name
"VkRenderPassSampleLocationsBeginInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(attachment-initial-sample-locations-count
:uint32)
(p-attachment-initial-sample-locations
(:pointer
(:const vk-attachment-sample-locations-ext)))
(post-subpass-sample-locations-count
:uint32)
(p-post-subpass-sample-locations
(:pointer
(:const vk-subpass-sample-locations-ext))))
(fli:define-c-typedef (vk-render-pass-sample-locations-begin-info-ext
(:foreign-name
"VkRenderPassSampleLocationsBeginInfoEXT"))
(:struct
vk-render-pass-sample-locations-begin-info-ext))
(fli:define-c-struct (vk-pipeline-sample-locations-state-create-info-ext
(:foreign-name
"VkPipelineSampleLocationsStateCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(sample-locations-enable vk-bool32)
(sample-locations-info
vk-sample-locations-info-ext))
(fli:define-c-typedef (vk-pipeline-sample-locations-state-create-info-ext
(:foreign-name
"VkPipelineSampleLocationsStateCreateInfoEXT"))
(:struct
vk-pipeline-sample-locations-state-create-info-ext))
(fli:define-c-struct (vk-physical-device-sample-locations-properties-ext
(:foreign-name
"VkPhysicalDeviceSampleLocationsPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(sample-location-sample-counts
vk-sample-count-flags)
(max-sample-location-grid-size vk-extent2-d)
(sample-location-coordinate-range
(:c-array :float 2))
(sample-location-sub-pixel-bits :uint32)
(variable-sample-locations vk-bool32))
(fli:define-c-typedef (vk-physical-device-sample-locations-properties-ext
(:foreign-name
"VkPhysicalDeviceSampleLocationsPropertiesEXT"))
(:struct
vk-physical-device-sample-locations-properties-ext))
(fli:define-c-struct (vk-multisample-properties-ext
(:foreign-name "VkMultisamplePropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-sample-location-grid-size vk-extent2-d))
(fli:define-c-typedef (vk-multisample-properties-ext
(:foreign-name "VkMultisamplePropertiesEXT"))
(:struct vk-multisample-properties-ext))
(fli:define-c-typedef (pfn-vk-cmd-set-sample-locations-ext
(:foreign-name
"PFN_vkCmdSetSampleLocationsEXT"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-sample-locations-info-ext)))
:void)))
(fli:define-c-typedef (pfn-vk-get-physical-device-multisample-properties-ext
(:foreign-name
"PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT"))
(:pointer
(:function
(vk-physical-device
vk-sample-count-flag-bits
(:pointer vk-multisample-properties-ext))
:void)))
(fli:define-foreign-function (vk-cmd-set-sample-locations-ext
"vkCmdSetSampleLocationsEXT"
:source)
((command-buffer vk-command-buffer)
(p-sample-locations-info
(:pointer
(:const
vk-sample-locations-info-ext))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-physical-device-multisample-properties-ext
"vkGetPhysicalDeviceMultisamplePropertiesEXT"
:source)
((physical-device vk-physical-device)
(samples vk-sample-count-flag-bits)
(p-multisample-properties
(:pointer
vk-multisample-properties-ext)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-enum (vk-blend-overlap-ext
(:foreign-name "VkBlendOverlapEXT"))
(vk-blend-overlap-uncorrelated-ext 0)
(vk-blend-overlap-disjoint-ext 1)
(vk-blend-overlap-conjoint-ext 2)
(vk-blend-overlap-begin-range-ext 0)
(vk-blend-overlap-end-range-ext 2)
(vk-blend-overlap-range-size-ext 3)
(vk-blend-overlap-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-blend-overlap-ext
(:foreign-name "VkBlendOverlapEXT"))
(:enum vk-blend-overlap-ext))
(fli:define-c-struct (vk-physical-device-blend-operation-advanced-features-ext
(:foreign-name
"VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(advanced-blend-coherent-operations vk-bool32))
(fli:define-c-typedef (vk-physical-device-blend-operation-advanced-features-ext
(:foreign-name
"VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"))
(:struct
vk-physical-device-blend-operation-advanced-features-ext))
(fli:define-c-struct (vk-physical-device-blend-operation-advanced-properties-ext
(:foreign-name
"VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(advanced-blend-max-color-attachments
:uint32)
(advanced-blend-independent-blend vk-bool32)
(advanced-blend-non-premultiplied-src-color
vk-bool32)
(advanced-blend-non-premultiplied-dst-color
vk-bool32)
(advanced-blend-correlated-overlap vk-bool32)
(advanced-blend-all-operations vk-bool32))
(fli:define-c-typedef (vk-physical-device-blend-operation-advanced-properties-ext
(:foreign-name
"VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"))
(:struct
vk-physical-device-blend-operation-advanced-properties-ext))
(fli:define-c-struct (vk-pipeline-color-blend-advanced-state-create-info-ext
(:foreign-name
"VkPipelineColorBlendAdvancedStateCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(src-premultiplied vk-bool32)
(dst-premultiplied vk-bool32)
(blend-overlap vk-blend-overlap-ext))
(fli:define-c-typedef (vk-pipeline-color-blend-advanced-state-create-info-ext
(:foreign-name
"VkPipelineColorBlendAdvancedStateCreateInfoEXT"))
(:struct
vk-pipeline-color-blend-advanced-state-create-info-ext))
(fli:define-c-typedef (vk-pipeline-coverage-to-color-state-create-flags-nv
(:foreign-name
"VkPipelineCoverageToColorStateCreateFlagsNV"))
vk-flags)
(fli:define-c-struct (vk-pipeline-coverage-to-color-state-create-info-nv
(:foreign-name
"VkPipelineCoverageToColorStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-coverage-to-color-state-create-flags-nv)
(coverage-to-color-enable vk-bool32)
(coverage-to-color-location :uint32))
(fli:define-c-typedef (vk-pipeline-coverage-to-color-state-create-info-nv
(:foreign-name
"VkPipelineCoverageToColorStateCreateInfoNV"))
(:struct
vk-pipeline-coverage-to-color-state-create-info-nv))
(fli:define-c-enum (vk-coverage-modulation-mode-nv
(:foreign-name "VkCoverageModulationModeNV"))
(vk-coverage-modulation-mode-none-nv 0)
(vk-coverage-modulation-mode-rgb-nv 1)
(vk-coverage-modulation-mode-alpha-nv 2)
(vk-coverage-modulation-mode-rgba-nv 3)
(vk-coverage-modulation-mode-begin-range-nv 0)
(vk-coverage-modulation-mode-end-range-nv 3)
(vk-coverage-modulation-mode-range-size-nv 4)
(vk-coverage-modulation-mode-max-enum-nv 2147483647))
(fli:define-c-typedef (vk-coverage-modulation-mode-nv
(:foreign-name "VkCoverageModulationModeNV"))
(:enum vk-coverage-modulation-mode-nv))
(fli:define-c-typedef (vk-pipeline-coverage-modulation-state-create-flags-nv
(:foreign-name
"VkPipelineCoverageModulationStateCreateFlagsNV"))
vk-flags)
(fli:define-c-struct (vk-pipeline-coverage-modulation-state-create-info-nv
(:foreign-name
"VkPipelineCoverageModulationStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags
vk-pipeline-coverage-modulation-state-create-flags-nv)
(coverage-modulation-mode
vk-coverage-modulation-mode-nv)
(coverage-modulation-table-enable vk-bool32)
(coverage-modulation-table-count :uint32)
(p-coverage-modulation-table
(:pointer (:const :float))))
(fli:define-c-typedef (vk-pipeline-coverage-modulation-state-create-info-nv
(:foreign-name
"VkPipelineCoverageModulationStateCreateInfoNV"))
(:struct
vk-pipeline-coverage-modulation-state-create-info-nv))
(fli:define-c-struct (vk-drm-format-modifier-properties-ext
(:foreign-name
"VkDrmFormatModifierPropertiesEXT"))
(drm-format-modifier :uint64)
(drm-format-modifier-plane-count :uint32)
(drm-format-modifier-tiling-features
vk-format-feature-flags))
(fli:define-c-typedef (vk-drm-format-modifier-properties-ext
(:foreign-name
"VkDrmFormatModifierPropertiesEXT"))
(:struct vk-drm-format-modifier-properties-ext))
(fli:define-c-struct (vk-drm-format-modifier-properties-list-ext
(:foreign-name
"VkDrmFormatModifierPropertiesListEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(drm-format-modifier-count :uint32)
(p-drm-format-modifier-properties
(:pointer vk-drm-format-modifier-properties-ext)))
(fli:define-c-typedef (vk-drm-format-modifier-properties-list-ext
(:foreign-name
"VkDrmFormatModifierPropertiesListEXT"))
(:struct
vk-drm-format-modifier-properties-list-ext))
(fli:define-c-struct (vk-physical-device-image-drm-format-modifier-info-ext
(:foreign-name
"VkPhysicalDeviceImageDrmFormatModifierInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(drm-format-modifier :uint64)
(sharing-mode vk-sharing-mode)
(queue-family-index-count :uint32)
(p-queue-family-indices
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-physical-device-image-drm-format-modifier-info-ext
(:foreign-name
"VkPhysicalDeviceImageDrmFormatModifierInfoEXT"))
(:struct
vk-physical-device-image-drm-format-modifier-info-ext))
(fli:define-c-struct (vk-image-drm-format-modifier-list-create-info-ext
(:foreign-name
"VkImageDrmFormatModifierListCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(drm-format-modifier-count :uint32)
(p-drm-format-modifiers
(:pointer (:const :uint64))))
(fli:define-c-typedef (vk-image-drm-format-modifier-list-create-info-ext
(:foreign-name
"VkImageDrmFormatModifierListCreateInfoEXT"))
(:struct
vk-image-drm-format-modifier-list-create-info-ext))
(fli:define-c-struct (vk-image-drm-format-modifier-explicit-create-info-ext
(:foreign-name
"VkImageDrmFormatModifierExplicitCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(drm-format-modifier :uint64)
(drm-format-modifier-plane-count :uint32)
(p-plane-layouts
(:pointer (:const vk-subresource-layout))))
(fli:define-c-typedef (vk-image-drm-format-modifier-explicit-create-info-ext
(:foreign-name
"VkImageDrmFormatModifierExplicitCreateInfoEXT"))
(:struct
vk-image-drm-format-modifier-explicit-create-info-ext))
(fli:define-c-struct (vk-image-drm-format-modifier-properties-ext
(:foreign-name
"VkImageDrmFormatModifierPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(drm-format-modifier :uint64))
(fli:define-c-typedef (vk-image-drm-format-modifier-properties-ext
(:foreign-name
"VkImageDrmFormatModifierPropertiesEXT"))
(:struct
vk-image-drm-format-modifier-properties-ext))
(fli:define-c-typedef (pfn-vk-get-image-drm-format-modifier-properties-ext
(:foreign-name
"PFN_vkGetImageDrmFormatModifierPropertiesEXT"))
(:pointer
(:function
(vk-device
vk-image
(:pointer
vk-image-drm-format-modifier-properties-ext))
vk-result)))
(fli:define-foreign-function (vk-get-image-drm-format-modifier-properties-ext
"vkGetImageDrmFormatModifierPropertiesEXT"
:source)
((device vk-device)
(image vk-image)
(p-properties
(:pointer
vk-image-drm-format-modifier-properties-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-validation-cache-ext-t
(:foreign-name "VkValidationCacheEXT_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-validation-cache-ext
(:foreign-name "VkValidationCacheEXT"))
(:pointer (:struct vk-validation-cache-ext-t)))
(fli:define-c-enum (vk-validation-cache-header-version-ext
(:foreign-name
"VkValidationCacheHeaderVersionEXT"))
(vk-validation-cache-header-version-one-ext 1)
(vk-validation-cache-header-version-begin-range-ext
1)
(vk-validation-cache-header-version-end-range-ext 1)
(vk-validation-cache-header-version-range-size-ext
1)
(vk-validation-cache-header-version-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-validation-cache-header-version-ext
(:foreign-name
"VkValidationCacheHeaderVersionEXT"))
(:enum vk-validation-cache-header-version-ext))
(fli:define-c-typedef (vk-validation-cache-create-flags-ext
(:foreign-name
"VkValidationCacheCreateFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-validation-cache-create-info-ext
(:foreign-name "VkValidationCacheCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-validation-cache-create-flags-ext)
(initial-data-size :size-t)
(p-initial-data (:pointer (:const :void))))
(fli:define-c-typedef (vk-validation-cache-create-info-ext
(:foreign-name
"VkValidationCacheCreateInfoEXT"))
(:struct vk-validation-cache-create-info-ext))
(fli:define-c-struct (vk-shader-module-validation-cache-create-info-ext
(:foreign-name
"VkShaderModuleValidationCacheCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(validation-cache vk-validation-cache-ext))
(fli:define-c-typedef (vk-shader-module-validation-cache-create-info-ext
(:foreign-name
"VkShaderModuleValidationCacheCreateInfoEXT"))
(:struct
vk-shader-module-validation-cache-create-info-ext))
(fli:define-c-typedef (pfn-vk-create-validation-cache-ext
(:foreign-name
"PFN_vkCreateValidationCacheEXT"))
(:pointer
(:function
(vk-device
(:pointer
(:const vk-validation-cache-create-info-ext))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-validation-cache-ext))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-validation-cache-ext
(:foreign-name
"PFN_vkDestroyValidationCacheEXT"))
(:pointer
(:function
(vk-device
vk-validation-cache-ext
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-merge-validation-caches-ext
(:foreign-name
"PFN_vkMergeValidationCachesEXT"))
(:pointer
(:function
(vk-device
vk-validation-cache-ext
:uint32
(:pointer (:const vk-validation-cache-ext)))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-validation-cache-data-ext
(:foreign-name
"PFN_vkGetValidationCacheDataEXT"))
(:pointer
(:function
(vk-device
vk-validation-cache-ext
(:pointer :size-t)
(:pointer :void))
vk-result)))
(fli:define-foreign-function (vk-create-validation-cache-ext
"vkCreateValidationCacheEXT"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-validation-cache-create-info-ext)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-validation-cache
(:pointer vk-validation-cache-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-validation-cache-ext
"vkDestroyValidationCacheEXT"
:source)
((device vk-device)
(validation-cache
vk-validation-cache-ext)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-merge-validation-caches-ext
"vkMergeValidationCachesEXT"
:source)
((device vk-device)
(dst-cache vk-validation-cache-ext)
(src-cache-count :uint32)
(p-src-caches
(:pointer
(:const vk-validation-cache-ext))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-validation-cache-data-ext
"vkGetValidationCacheDataEXT"
:source)
((device vk-device)
(validation-cache
vk-validation-cache-ext)
(p-data-size (:pointer :size-t))
(p-data (:pointer :void)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-enum (vk-descriptor-binding-flag-bits-ext
(:foreign-name "VkDescriptorBindingFlagBitsEXT"))
(vk-descriptor-binding-update-after-bind-bit-ext 1)
(vk-descriptor-binding-update-unused-while-pending-bit-ext
2)
(vk-descriptor-binding-partially-bound-bit-ext 4)
(vk-descriptor-binding-variable-descriptor-count-bit-ext
8)
(vk-descriptor-binding-flag-bits-max-enum-ext
2147483647))
(fli:define-c-typedef (vk-descriptor-binding-flag-bits-ext
(:foreign-name
"VkDescriptorBindingFlagBitsEXT"))
(:enum vk-descriptor-binding-flag-bits-ext))
(fli:define-c-typedef (vk-descriptor-binding-flags-ext
(:foreign-name "VkDescriptorBindingFlagsEXT"))
vk-flags)
(fli:define-c-struct (vk-descriptor-set-layout-binding-flags-create-info-ext
(:foreign-name
"VkDescriptorSetLayoutBindingFlagsCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(binding-count :uint32)
(p-binding-flags
(:pointer
(:const vk-descriptor-binding-flags-ext))))
(fli:define-c-typedef (vk-descriptor-set-layout-binding-flags-create-info-ext
(:foreign-name
"VkDescriptorSetLayoutBindingFlagsCreateInfoEXT"))
(:struct
vk-descriptor-set-layout-binding-flags-create-info-ext))
(fli:define-c-struct (vk-physical-device-descriptor-indexing-features-ext
(:foreign-name
"VkPhysicalDeviceDescriptorIndexingFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shader-input-attachment-array-dynamic-indexing
vk-bool32)
(shader-uniform-texel-buffer-array-dynamic-indexing
vk-bool32)
(shader-storage-texel-buffer-array-dynamic-indexing
vk-bool32)
(shader-uniform-buffer-array-non-uniform-indexing
vk-bool32)
(shader-sampled-image-array-non-uniform-indexing
vk-bool32)
(shader-storage-buffer-array-non-uniform-indexing
vk-bool32)
(shader-storage-image-array-non-uniform-indexing
vk-bool32)
(shader-input-attachment-array-non-uniform-indexing
vk-bool32)
(shader-uniform-texel-buffer-array-non-uniform-indexing
vk-bool32)
(shader-storage-texel-buffer-array-non-uniform-indexing
vk-bool32)
(descriptor-binding-uniform-buffer-update-after-bind
vk-bool32)
(descriptor-binding-sampled-image-update-after-bind
vk-bool32)
(descriptor-binding-storage-image-update-after-bind
vk-bool32)
(descriptor-binding-storage-buffer-update-after-bind
vk-bool32)
(descriptor-binding-uniform-texel-buffer-update-after-bind
vk-bool32)
(descriptor-binding-storage-texel-buffer-update-after-bind
vk-bool32)
(descriptor-binding-update-unused-while-pending
vk-bool32)
(descriptor-binding-partially-bound vk-bool32)
(descriptor-binding-variable-descriptor-count
vk-bool32)
(runtime-descriptor-array vk-bool32))
(fli:define-c-typedef (vk-physical-device-descriptor-indexing-features-ext
(:foreign-name
"VkPhysicalDeviceDescriptorIndexingFeaturesEXT"))
(:struct
vk-physical-device-descriptor-indexing-features-ext))
(fli:define-c-struct (vk-physical-device-descriptor-indexing-properties-ext
(:foreign-name
"VkPhysicalDeviceDescriptorIndexingPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-update-after-bind-descriptors-in-all-pools
:uint32)
(shader-uniform-buffer-array-non-uniform-indexing-native
vk-bool32)
(shader-sampled-image-array-non-uniform-indexing-native
vk-bool32)
(shader-storage-buffer-array-non-uniform-indexing-native
vk-bool32)
(shader-storage-image-array-non-uniform-indexing-native
vk-bool32)
(shader-input-attachment-array-non-uniform-indexing-native
vk-bool32)
(robust-buffer-access-update-after-bind vk-bool32)
(quad-divergent-implicit-lod vk-bool32)
(max-per-stage-descriptor-update-after-bind-samplers
:uint32)
(max-per-stage-descriptor-update-after-bind-uniform-buffers
:uint32)
(max-per-stage-descriptor-update-after-bind-storage-buffers
:uint32)
(max-per-stage-descriptor-update-after-bind-sampled-images
:uint32)
(max-per-stage-descriptor-update-after-bind-storage-images
:uint32)
(max-per-stage-descriptor-update-after-bind-input-attachments
:uint32)
(max-per-stage-update-after-bind-resources
:uint32)
(max-descriptor-set-update-after-bind-samplers
:uint32)
(max-descriptor-set-update-after-bind-uniform-buffers
:uint32)
(max-descriptor-set-update-after-bind-uniform-buffers-dynamic
:uint32)
(max-descriptor-set-update-after-bind-storage-buffers
:uint32)
(max-descriptor-set-update-after-bind-storage-buffers-dynamic
:uint32)
(max-descriptor-set-update-after-bind-sampled-images
:uint32)
(max-descriptor-set-update-after-bind-storage-images
:uint32)
(max-descriptor-set-update-after-bind-input-attachments
:uint32))
(fli:define-c-typedef (vk-physical-device-descriptor-indexing-properties-ext
(:foreign-name
"VkPhysicalDeviceDescriptorIndexingPropertiesEXT"))
(:struct
vk-physical-device-descriptor-indexing-properties-ext))
(fli:define-c-struct (vk-descriptor-set-variable-descriptor-count-allocate-info-ext
(:foreign-name
"VkDescriptorSetVariableDescriptorCountAllocateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(descriptor-set-count :uint32)
(p-descriptor-counts
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-descriptor-set-variable-descriptor-count-allocate-info-ext
(:foreign-name
"VkDescriptorSetVariableDescriptorCountAllocateInfoEXT"))
(:struct
vk-descriptor-set-variable-descriptor-count-allocate-info-ext))
(fli:define-c-struct (vk-descriptor-set-variable-descriptor-count-layout-support-ext
(:foreign-name
"VkDescriptorSetVariableDescriptorCountLayoutSupportEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-variable-descriptor-count :uint32))
(fli:define-c-typedef (vk-descriptor-set-variable-descriptor-count-layout-support-ext
(:foreign-name
"VkDescriptorSetVariableDescriptorCountLayoutSupportEXT"))
(:struct
vk-descriptor-set-variable-descriptor-count-layout-support-ext))
(fli:define-c-enum (vk-shading-rate-palette-entry-nv
(:foreign-name "VkShadingRatePaletteEntryNV"))
(vk-shading-rate-palette-entry-no-invocations-nv 0)
(vk-shading-rate-palette-entry-16-invocations-per-pixel-nv
1)
(vk-shading-rate-palette-entry-8-invocations-per-pixel-nv
2)
(vk-shading-rate-palette-entry-4-invocations-per-pixel-nv
3)
(vk-shading-rate-palette-entry-2-invocations-per-pixel-nv
4)
(vk-shading-rate-palette-entry-1-invocation-per-pixel-nv
5)
(vk-shading-rate-palette-entry-1-invocation-per-2-x1-pixels-nv
6)
(vk-shading-rate-palette-entry-1-invocation-per-1-x2-pixels-nv
7)
(vk-shading-rate-palette-entry-1-invocation-per-2-x2-pixels-nv
8)
(vk-shading-rate-palette-entry-1-invocation-per-4-x2-pixels-nv
9)
(vk-shading-rate-palette-entry-1-invocation-per-2-x4-pixels-nv
10)
(vk-shading-rate-palette-entry-1-invocation-per-4-x4-pixels-nv
11)
(vk-shading-rate-palette-entry-begin-range-nv 0)
(vk-shading-rate-palette-entry-end-range-nv 11)
(vk-shading-rate-palette-entry-range-size-nv 12)
(vk-shading-rate-palette-entry-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-shading-rate-palette-entry-nv
(:foreign-name "VkShadingRatePaletteEntryNV"))
(:enum vk-shading-rate-palette-entry-nv))
(fli:define-c-enum (vk-coarse-sample-order-type-nv
(:foreign-name "VkCoarseSampleOrderTypeNV"))
(vk-coarse-sample-order-type-default-nv 0)
(vk-coarse-sample-order-type-custom-nv 1)
(vk-coarse-sample-order-type-pixel-major-nv 2)
(vk-coarse-sample-order-type-sample-major-nv 3)
(vk-coarse-sample-order-type-begin-range-nv 0)
(vk-coarse-sample-order-type-end-range-nv 3)
(vk-coarse-sample-order-type-range-size-nv 4)
(vk-coarse-sample-order-type-max-enum-nv 2147483647))
(fli:define-c-typedef (vk-coarse-sample-order-type-nv
(:foreign-name "VkCoarseSampleOrderTypeNV"))
(:enum vk-coarse-sample-order-type-nv))
(fli:define-c-struct (vk-shading-rate-palette-nv
(:foreign-name "VkShadingRatePaletteNV"))
(shading-rate-palette-entry-count
:uint32)
(p-shading-rate-palette-entries
(:pointer
(:const vk-shading-rate-palette-entry-nv))))
(fli:define-c-typedef (vk-shading-rate-palette-nv
(:foreign-name "VkShadingRatePaletteNV"))
(:struct vk-shading-rate-palette-nv))
(fli:define-c-struct (vk-pipeline-viewport-shading-rate-image-state-create-info-nv
(:foreign-name
"VkPipelineViewportShadingRateImageStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(shading-rate-image-enable vk-bool32)
(viewport-count :uint32)
(p-shading-rate-palettes
(:pointer (:const vk-shading-rate-palette-nv))))
(fli:define-c-typedef (vk-pipeline-viewport-shading-rate-image-state-create-info-nv
(:foreign-name
"VkPipelineViewportShadingRateImageStateCreateInfoNV"))
(:struct
vk-pipeline-viewport-shading-rate-image-state-create-info-nv))
(fli:define-c-struct (vk-physical-device-shading-rate-image-features-nv
(:foreign-name
"VkPhysicalDeviceShadingRateImageFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shading-rate-image vk-bool32)
(shading-rate-coarse-sample-order vk-bool32))
(fli:define-c-typedef (vk-physical-device-shading-rate-image-features-nv
(:foreign-name
"VkPhysicalDeviceShadingRateImageFeaturesNV"))
(:struct
vk-physical-device-shading-rate-image-features-nv))
(fli:define-c-struct (vk-physical-device-shading-rate-image-properties-nv
(:foreign-name
"VkPhysicalDeviceShadingRateImagePropertiesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shading-rate-texel-size vk-extent2-d)
(shading-rate-palette-size :uint32)
(shading-rate-max-coarse-samples :uint32))
(fli:define-c-typedef (vk-physical-device-shading-rate-image-properties-nv
(:foreign-name
"VkPhysicalDeviceShadingRateImagePropertiesNV"))
(:struct
vk-physical-device-shading-rate-image-properties-nv))
(fli:define-c-struct (vk-coarse-sample-location-nv
(:foreign-name "VkCoarseSampleLocationNV"))
(pixel-x :uint32)
(pixel-y :uint32)
(sample :uint32))
(fli:define-c-typedef (vk-coarse-sample-location-nv
(:foreign-name "VkCoarseSampleLocationNV"))
(:struct vk-coarse-sample-location-nv))
(fli:define-c-struct (vk-coarse-sample-order-custom-nv
(:foreign-name "VkCoarseSampleOrderCustomNV"))
(shading-rate vk-shading-rate-palette-entry-nv)
(sample-count :uint32)
(sample-location-count :uint32)
(p-sample-locations
(:pointer (:const vk-coarse-sample-location-nv))))
(fli:define-c-typedef (vk-coarse-sample-order-custom-nv
(:foreign-name "VkCoarseSampleOrderCustomNV"))
(:struct vk-coarse-sample-order-custom-nv))
(fli:define-c-struct (vk-pipeline-viewport-coarse-sample-order-state-create-info-nv
(:foreign-name
"VkPipelineViewportCoarseSampleOrderStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(sample-order-type vk-coarse-sample-order-type-nv)
(custom-sample-order-count :uint32)
(p-custom-sample-orders
(:pointer
(:const vk-coarse-sample-order-custom-nv))))
(fli:define-c-typedef (vk-pipeline-viewport-coarse-sample-order-state-create-info-nv
(:foreign-name
"VkPipelineViewportCoarseSampleOrderStateCreateInfoNV"))
(:struct
vk-pipeline-viewport-coarse-sample-order-state-create-info-nv))
(fli:define-c-typedef (pfn-vk-cmd-bind-shading-rate-image-nv
(:foreign-name
"PFN_vkCmdBindShadingRateImageNV"))
(:pointer
(:function
(vk-command-buffer
vk-image-view
vk-image-layout)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-viewport-shading-rate-palette-nv
(:foreign-name
"PFN_vkCmdSetViewportShadingRatePaletteNV"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer
(:const vk-shading-rate-palette-nv)))
:void)))
(fli:define-c-typedef (pfn-vk-cmd-set-coarse-sample-order-nv
(:foreign-name
"PFN_vkCmdSetCoarseSampleOrderNV"))
(:pointer
(:function
(vk-command-buffer
vk-coarse-sample-order-type-nv
:uint32
(:pointer
(:const vk-coarse-sample-order-custom-nv)))
:void)))
(fli:define-foreign-function (vk-cmd-bind-shading-rate-image-nv
"vkCmdBindShadingRateImageNV"
:source)
((command-buffer vk-command-buffer)
(image-view vk-image-view)
(image-layout vk-image-layout))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-viewport-shading-rate-palette-nv
"vkCmdSetViewportShadingRatePaletteNV"
:source)
((command-buffer vk-command-buffer)
(first-viewport :uint32)
(viewport-count :uint32)
(p-shading-rate-palettes
(:pointer
(:const vk-shading-rate-palette-nv))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-set-coarse-sample-order-nv
"vkCmdSetCoarseSampleOrderNV"
:source)
((command-buffer vk-command-buffer)
(sample-order-type
vk-coarse-sample-order-type-nv)
(custom-sample-order-count
:uint32)
(p-custom-sample-orders
(:pointer
(:const
vk-coarse-sample-order-custom-nv))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-acceleration-structure-nv-t
(:foreign-name "VkAccelerationStructureNV_T")
(:forward-reference-p t)))
(fli:define-c-typedef (vk-acceleration-structure-nv
(:foreign-name "VkAccelerationStructureNV"))
(:pointer
(:struct vk-acceleration-structure-nv-t)))
(fli:define-c-enum (vk-ray-tracing-shader-group-type-nv
(:foreign-name "VkRayTracingShaderGroupTypeNV"))
(vk-ray-tracing-shader-group-type-general-nv 0)
(vk-ray-tracing-shader-group-type-triangles-hit-group-nv
1)
(vk-ray-tracing-shader-group-type-procedural-hit-group-nv
2)
(vk-ray-tracing-shader-group-type-begin-range-nv 0)
(vk-ray-tracing-shader-group-type-end-range-nv 2)
(vk-ray-tracing-shader-group-type-range-size-nv 3)
(vk-ray-tracing-shader-group-type-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-ray-tracing-shader-group-type-nv
(:foreign-name "VkRayTracingShaderGroupTypeNV"))
(:enum vk-ray-tracing-shader-group-type-nv))
(fli:define-c-enum (vk-geometry-type-nv
(:foreign-name "VkGeometryTypeNV"))
(vk-geometry-type-triangles-nv 0)
(vk-geometry-type-aabbs-nv 1)
(vk-geometry-type-begin-range-nv 0)
(vk-geometry-type-end-range-nv 1)
(vk-geometry-type-range-size-nv 2)
(vk-geometry-type-max-enum-nv 2147483647))
(fli:define-c-typedef (vk-geometry-type-nv
(:foreign-name "VkGeometryTypeNV"))
(:enum vk-geometry-type-nv))
(fli:define-c-enum (vk-acceleration-structure-type-nv
(:foreign-name "VkAccelerationStructureTypeNV"))
(vk-acceleration-structure-type-top-level-nv 0)
(vk-acceleration-structure-type-bottom-level-nv 1)
(vk-acceleration-structure-type-begin-range-nv 0)
(vk-acceleration-structure-type-end-range-nv 1)
(vk-acceleration-structure-type-range-size-nv 2)
(vk-acceleration-structure-type-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-acceleration-structure-type-nv
(:foreign-name "VkAccelerationStructureTypeNV"))
(:enum vk-acceleration-structure-type-nv))
(fli:define-c-enum (vk-copy-acceleration-structure-mode-nv
(:foreign-name
"VkCopyAccelerationStructureModeNV"))
(vk-copy-acceleration-structure-mode-clone-nv 0)
(vk-copy-acceleration-structure-mode-compact-nv 1)
(vk-copy-acceleration-structure-mode-begin-range-nv
0)
(vk-copy-acceleration-structure-mode-end-range-nv 1)
(vk-copy-acceleration-structure-mode-range-size-nv
2)
(vk-copy-acceleration-structure-mode-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-copy-acceleration-structure-mode-nv
(:foreign-name
"VkCopyAccelerationStructureModeNV"))
(:enum vk-copy-acceleration-structure-mode-nv))
(fli:define-c-enum (vk-acceleration-structure-memory-requirements-type-nv
(:foreign-name
"VkAccelerationStructureMemoryRequirementsTypeNV"))
(vk-acceleration-structure-memory-requirements-type-object-nv
0)
(vk-acceleration-structure-memory-requirements-type-build-scratch-nv
1)
(vk-acceleration-structure-memory-requirements-type-update-scratch-nv
2)
(vk-acceleration-structure-memory-requirements-type-begin-range-nv
0)
(vk-acceleration-structure-memory-requirements-type-end-range-nv
2)
(vk-acceleration-structure-memory-requirements-type-range-size-nv
3)
(vk-acceleration-structure-memory-requirements-type-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-acceleration-structure-memory-requirements-type-nv
(:foreign-name
"VkAccelerationStructureMemoryRequirementsTypeNV"))
(:enum
vk-acceleration-structure-memory-requirements-type-nv))
(fli:define-c-enum (vk-geometry-flag-bits-nv
(:foreign-name "VkGeometryFlagBitsNV"))
(vk-geometry-opaque-bit-nv 1)
(vk-geometry-no-duplicate-any-hit-invocation-bit-nv
2)
(vk-geometry-flag-bits-max-enum-nv 2147483647))
(fli:define-c-typedef (vk-geometry-flag-bits-nv
(:foreign-name "VkGeometryFlagBitsNV"))
(:enum vk-geometry-flag-bits-nv))
(fli:define-c-typedef (vk-geometry-flags-nv
(:foreign-name "VkGeometryFlagsNV"))
vk-flags)
(fli:define-c-enum (vk-geometry-instance-flag-bits-nv
(:foreign-name "VkGeometryInstanceFlagBitsNV"))
(vk-geometry-instance-triangle-cull-disable-bit-nv
1)
(vk-geometry-instance-triangle-front-counterclockwise-bit-nv
2)
(vk-geometry-instance-force-opaque-bit-nv 4)
(vk-geometry-instance-force-no-opaque-bit-nv 8)
(vk-geometry-instance-flag-bits-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-geometry-instance-flag-bits-nv
(:foreign-name "VkGeometryInstanceFlagBitsNV"))
(:enum vk-geometry-instance-flag-bits-nv))
(fli:define-c-typedef (vk-geometry-instance-flags-nv
(:foreign-name "VkGeometryInstanceFlagsNV"))
vk-flags)
(fli:define-c-enum (vk-build-acceleration-structure-flag-bits-nv
(:foreign-name
"VkBuildAccelerationStructureFlagBitsNV"))
(vk-build-acceleration-structure-allow-update-bit-nv
1)
(vk-build-acceleration-structure-allow-compaction-bit-nv
2)
(vk-build-acceleration-structure-prefer-fast-trace-bit-nv
4)
(vk-build-acceleration-structure-prefer-fast-build-bit-nv
8)
(vk-build-acceleration-structure-low-memory-bit-nv
16)
(vk-build-acceleration-structure-flag-bits-max-enum-nv
2147483647))
(fli:define-c-typedef (vk-build-acceleration-structure-flag-bits-nv
(:foreign-name
"VkBuildAccelerationStructureFlagBitsNV"))
(:enum
vk-build-acceleration-structure-flag-bits-nv))
(fli:define-c-typedef (vk-build-acceleration-structure-flags-nv
(:foreign-name
"VkBuildAccelerationStructureFlagsNV"))
vk-flags)
(fli:define-c-struct (vk-ray-tracing-shader-group-create-info-nv
(:foreign-name
"VkRayTracingShaderGroupCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(type vk-ray-tracing-shader-group-type-nv)
(general-shader :uint32)
(closest-hit-shader :uint32)
(any-hit-shader :uint32)
(intersection-shader :uint32))
(fli:define-c-typedef (vk-ray-tracing-shader-group-create-info-nv
(:foreign-name
"VkRayTracingShaderGroupCreateInfoNV"))
(:struct
vk-ray-tracing-shader-group-create-info-nv))
(fli:define-c-struct (vk-ray-tracing-pipeline-create-info-nv
(:foreign-name
"VkRayTracingPipelineCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(flags vk-pipeline-create-flags)
(stage-count :uint32)
(p-stages
(:pointer
(:const vk-pipeline-shader-stage-create-info)))
(group-count :uint32)
(p-groups
(:pointer
(:const
vk-ray-tracing-shader-group-create-info-nv)))
(max-recursion-depth :uint32)
(layout vk-pipeline-layout)
(base-pipeline-handle vk-pipeline)
(base-pipeline-index :int))
(fli:define-c-typedef (vk-ray-tracing-pipeline-create-info-nv
(:foreign-name
"VkRayTracingPipelineCreateInfoNV"))
(:struct vk-ray-tracing-pipeline-create-info-nv))
(fli:define-c-struct (vk-geometry-triangles-nv
(:foreign-name "VkGeometryTrianglesNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(vertex-data vk-buffer)
(vertex-offset vk-device-size)
(vertex-count :uint32)
(vertex-stride vk-device-size)
(vertex-format vk-format)
(index-data vk-buffer)
(index-offset vk-device-size)
(index-count :uint32)
(index-type vk-index-type)
(transform-data vk-buffer)
(transform-offset vk-device-size))
(fli:define-c-typedef (vk-geometry-triangles-nv
(:foreign-name "VkGeometryTrianglesNV"))
(:struct vk-geometry-triangles-nv))
(fli:define-c-struct (vk-geometry-aabbnv
(:foreign-name "VkGeometryAABBNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(aabb-data vk-buffer)
(num-aabbs :uint32)
(stride :uint32)
(offset vk-device-size))
(fli:define-c-typedef (vk-geometry-aabbnv
(:foreign-name "VkGeometryAABBNV"))
(:struct vk-geometry-aabbnv))
(fli:define-c-struct (vk-geometry-data-nv
(:foreign-name "VkGeometryDataNV"))
(triangles vk-geometry-triangles-nv)
(aabbs vk-geometry-aabbnv))
(fli:define-c-typedef (vk-geometry-data-nv
(:foreign-name "VkGeometryDataNV"))
(:struct vk-geometry-data-nv))
(fli:define-c-struct (vk-geometry-nv (:foreign-name "VkGeometryNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(geometry-type vk-geometry-type-nv)
(geometry vk-geometry-data-nv)
(flags vk-geometry-flags-nv))
(fli:define-c-typedef (vk-geometry-nv (:foreign-name "VkGeometryNV"))
(:struct vk-geometry-nv))
(fli:define-c-struct (vk-acceleration-structure-info-nv
(:foreign-name "VkAccelerationStructureInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(type vk-acceleration-structure-type-nv)
(flags vk-build-acceleration-structure-flags-nv)
(instance-count :uint32)
(geometry-count :uint32)
(p-geometries (:pointer (:const vk-geometry-nv))))
(fli:define-c-typedef (vk-acceleration-structure-info-nv
(:foreign-name "VkAccelerationStructureInfoNV"))
(:struct vk-acceleration-structure-info-nv))
(fli:define-c-struct (vk-acceleration-structure-create-info-nv
(:foreign-name
"VkAccelerationStructureCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(compacted-size vk-device-size)
(info vk-acceleration-structure-info-nv))
(fli:define-c-typedef (vk-acceleration-structure-create-info-nv
(:foreign-name
"VkAccelerationStructureCreateInfoNV"))
(:struct
vk-acceleration-structure-create-info-nv))
(fli:define-c-struct (vk-bind-acceleration-structure-memory-info-nv
(:foreign-name
"VkBindAccelerationStructureMemoryInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(acceleration-structure
vk-acceleration-structure-nv)
(memory vk-device-memory)
(memory-offset vk-device-size)
(device-index-count :uint32)
(p-device-indices
(:pointer (:const :uint32))))
(fli:define-c-typedef (vk-bind-acceleration-structure-memory-info-nv
(:foreign-name
"VkBindAccelerationStructureMemoryInfoNV"))
(:struct
vk-bind-acceleration-structure-memory-info-nv))
(fli:define-c-struct (vk-write-descriptor-set-acceleration-structure-nv
(:foreign-name
"VkWriteDescriptorSetAccelerationStructureNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(acceleration-structure-count :uint32)
(p-acceleration-structures
(:pointer (:const vk-acceleration-structure-nv))))
(fli:define-c-typedef (vk-write-descriptor-set-acceleration-structure-nv
(:foreign-name
"VkWriteDescriptorSetAccelerationStructureNV"))
(:struct
vk-write-descriptor-set-acceleration-structure-nv))
(fli:define-c-struct (vk-acceleration-structure-memory-requirements-info-nv
(:foreign-name
"VkAccelerationStructureMemoryRequirementsInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(type
vk-acceleration-structure-memory-requirements-type-nv)
(acceleration-structure
vk-acceleration-structure-nv))
(fli:define-c-typedef (vk-acceleration-structure-memory-requirements-info-nv
(:foreign-name
"VkAccelerationStructureMemoryRequirementsInfoNV"))
(:struct
vk-acceleration-structure-memory-requirements-info-nv))
(fli:define-c-struct (vk-physical-device-ray-tracing-properties-nv
(:foreign-name
"VkPhysicalDeviceRayTracingPropertiesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shader-group-handle-size :uint32)
(max-recursion-depth :uint32)
(max-shader-group-stride :uint32)
(shader-group-base-alignment :uint32)
(max-geometry-count :uint64)
(max-instance-count :uint64)
(max-triangle-count :uint64)
(max-descriptor-set-acceleration-structures
:uint32))
(fli:define-c-typedef (vk-physical-device-ray-tracing-properties-nv
(:foreign-name
"VkPhysicalDeviceRayTracingPropertiesNV"))
(:struct
vk-physical-device-ray-tracing-properties-nv))
(fli:define-c-typedef (pfn-vk-create-acceleration-structure-nv
(:foreign-name
"PFN_vkCreateAccelerationStructureNV"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-acceleration-structure-create-info-nv))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-acceleration-structure-nv))
vk-result)))
(fli:define-c-typedef (pfn-vk-destroy-acceleration-structure-nv
(:foreign-name
"PFN_vkDestroyAccelerationStructureNV"))
(:pointer
(:function
(vk-device
vk-acceleration-structure-nv
(:pointer (:const vk-allocation-callbacks)))
:void)))
(fli:define-c-typedef (pfn-vk-get-acceleration-structure-memory-requirements-nv
(:foreign-name
"PFN_vkGetAccelerationStructureMemoryRequirementsNV"))
(:pointer
(:function
(vk-device
(:pointer
(:const
vk-acceleration-structure-memory-requirements-info-nv))
(:pointer vk-memory-requirements2-khr))
:void)))
(fli:define-c-typedef (pfn-vk-bind-acceleration-structure-memory-nv
(:foreign-name
"PFN_vkBindAccelerationStructureMemoryNV"))
(:pointer
(:function
(vk-device
:uint32
(:pointer
(:const
vk-bind-acceleration-structure-memory-info-nv)))
vk-result)))
(fli:define-c-typedef (pfn-vk-cmd-build-acceleration-structure-nv
(:foreign-name
"PFN_vkCmdBuildAccelerationStructureNV"))
(:pointer
(:function
(vk-command-buffer
(:pointer
(:const vk-acceleration-structure-info-nv))
vk-buffer
vk-device-size
vk-bool32
vk-acceleration-structure-nv
vk-acceleration-structure-nv
vk-buffer
vk-device-size)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-copy-acceleration-structure-nv
(:foreign-name
"PFN_vkCmdCopyAccelerationStructureNV"))
(:pointer
(:function
(vk-command-buffer
vk-acceleration-structure-nv
vk-acceleration-structure-nv
vk-copy-acceleration-structure-mode-nv)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-trace-rays-nv
(:foreign-name "PFN_vkCmdTraceRaysNV"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
vk-device-size
vk-buffer
vk-device-size
vk-device-size
vk-buffer
vk-device-size
vk-device-size
:uint32
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-create-ray-tracing-pipelines-nv
(:foreign-name
"PFN_vkCreateRayTracingPipelinesNV"))
(:pointer
(:function
(vk-device
vk-pipeline-cache
:uint32
(:pointer
(:const
vk-ray-tracing-pipeline-create-info-nv))
(:pointer (:const vk-allocation-callbacks))
(:pointer vk-pipeline))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-ray-tracing-shader-group-handles-nv
(:foreign-name
"PFN_vkGetRayTracingShaderGroupHandlesNV"))
(:pointer
(:function
(vk-device
vk-pipeline
:uint32
:uint32
:size-t
(:pointer :void))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-acceleration-structure-handle-nv
(:foreign-name
"PFN_vkGetAccelerationStructureHandleNV"))
(:pointer
(:function
(vk-device
vk-acceleration-structure-nv
:size-t
(:pointer :void))
vk-result)))
(fli:define-c-typedef (pfn-vk-cmd-write-acceleration-structures-properties-nv
(:foreign-name
"PFN_vkCmdWriteAccelerationStructuresPropertiesNV"))
(:pointer
(:function
(vk-command-buffer
:uint32
(:pointer
(:const vk-acceleration-structure-nv))
vk-query-type
vk-query-pool
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-compile-deferred-nv
(:foreign-name "PFN_vkCompileDeferredNV"))
(:pointer
(:function
(vk-device vk-pipeline :uint32)
vk-result)))
(fli:define-foreign-function (vk-create-acceleration-structure-nv
"vkCreateAccelerationStructureNV"
:source)
((device vk-device)
(p-create-info
(:pointer
(:const
vk-acceleration-structure-create-info-nv)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-acceleration-structure
(:pointer
vk-acceleration-structure-nv)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-destroy-acceleration-structure-nv
"vkDestroyAccelerationStructureNV"
:source)
((device vk-device)
(acceleration-structure
vk-acceleration-structure-nv)
(p-allocator
(:pointer
(:const vk-allocation-callbacks))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-acceleration-structure-memory-requirements-nv
"vkGetAccelerationStructureMemoryRequirementsNV"
:source)
((device vk-device)
(p-info
(:pointer
(:const
vk-acceleration-structure-memory-requirements-info-nv)))
(p-memory-requirements
(:pointer vk-memory-requirements2-khr)))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-bind-acceleration-structure-memory-nv
"vkBindAccelerationStructureMemoryNV"
:source)
((device vk-device)
(bind-info-count :uint32)
(p-bind-infos
(:pointer
(:const
vk-bind-acceleration-structure-memory-info-nv))))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-build-acceleration-structure-nv
"vkCmdBuildAccelerationStructureNV"
:source)
((command-buffer vk-command-buffer)
(p-info
(:pointer
(:const
vk-acceleration-structure-info-nv)))
(instance-data vk-buffer)
(instance-offset vk-device-size)
(update vk-bool32)
(dst vk-acceleration-structure-nv)
(src vk-acceleration-structure-nv)
(scratch vk-buffer)
(scratch-offset vk-device-size))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-copy-acceleration-structure-nv
"vkCmdCopyAccelerationStructureNV"
:source)
((command-buffer vk-command-buffer)
(dst vk-acceleration-structure-nv)
(src vk-acceleration-structure-nv)
(mode
vk-copy-acceleration-structure-mode-nv))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-trace-rays-nv
"vkCmdTraceRaysNV"
:source)
((command-buffer vk-command-buffer)
(raygen-shader-binding-table-buffer
vk-buffer)
(raygen-shader-binding-offset
vk-device-size)
(miss-shader-binding-table-buffer
vk-buffer)
(miss-shader-binding-offset
vk-device-size)
(miss-shader-binding-stride
vk-device-size)
(hit-shader-binding-table-buffer
vk-buffer)
(hit-shader-binding-offset
vk-device-size)
(hit-shader-binding-stride
vk-device-size)
(callable-shader-binding-table-buffer
vk-buffer)
(callable-shader-binding-offset
vk-device-size)
(callable-shader-binding-stride
vk-device-size)
(width :uint32)
(height :uint32)
(depth :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-create-ray-tracing-pipelines-nv
"vkCreateRayTracingPipelinesNV"
:source)
((device vk-device)
(pipeline-cache vk-pipeline-cache)
(create-info-count :uint32)
(p-create-infos
(:pointer
(:const
vk-ray-tracing-pipeline-create-info-nv)))
(p-allocator
(:pointer
(:const vk-allocation-callbacks)))
(p-pipelines (:pointer vk-pipeline)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-ray-tracing-shader-group-handles-nv
"vkGetRayTracingShaderGroupHandlesNV"
:source)
((device vk-device)
(pipeline vk-pipeline)
(first-group :uint32)
(group-count :uint32)
(data-size :size-t)
(p-data (:pointer :void)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-acceleration-structure-handle-nv
"vkGetAccelerationStructureHandleNV"
:source)
((device vk-device)
(acceleration-structure
vk-acceleration-structure-nv)
(data-size :size-t)
(p-data (:pointer :void)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-write-acceleration-structures-properties-nv
"vkCmdWriteAccelerationStructuresPropertiesNV"
:source)
((command-buffer vk-command-buffer)
(acceleration-structure-count
:uint32)
(p-acceleration-structures
(:pointer
(:const vk-acceleration-structure-nv)))
(query-type vk-query-type)
(query-pool vk-query-pool)
(first-query :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-compile-deferred-nv
"vkCompileDeferredNV"
:source)
((device vk-device)
(pipeline vk-pipeline)
(shader :uint32))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-representative-fragment-test-features-nv
(:foreign-name
"VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(representative-fragment-test vk-bool32))
(fli:define-c-typedef (vk-physical-device-representative-fragment-test-features-nv
(:foreign-name
"VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV"))
(:struct
vk-physical-device-representative-fragment-test-features-nv))
(fli:define-c-struct (vk-pipeline-representative-fragment-test-state-create-info-nv
(:foreign-name
"VkPipelineRepresentativeFragmentTestStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(representative-fragment-test-enable vk-bool32))
(fli:define-c-typedef (vk-pipeline-representative-fragment-test-state-create-info-nv
(:foreign-name
"VkPipelineRepresentativeFragmentTestStateCreateInfoNV"))
(:struct
vk-pipeline-representative-fragment-test-state-create-info-nv))
(fli:define-c-enum (vk-queue-global-priority-ext
(:foreign-name "VkQueueGlobalPriorityEXT"))
(vk-queue-global-priority-low-ext 128)
(vk-queue-global-priority-medium-ext 256)
(vk-queue-global-priority-high-ext 512)
(vk-queue-global-priority-realtime-ext 1024)
(vk-queue-global-priority-begin-range-ext 128)
(vk-queue-global-priority-end-range-ext 1024)
(vk-queue-global-priority-range-size-ext 897)
(vk-queue-global-priority-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-queue-global-priority-ext
(:foreign-name "VkQueueGlobalPriorityEXT"))
(:enum vk-queue-global-priority-ext))
(fli:define-c-struct (vk-device-queue-global-priority-create-info-ext
(:foreign-name
"VkDeviceQueueGlobalPriorityCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(global-priority vk-queue-global-priority-ext))
(fli:define-c-typedef (vk-device-queue-global-priority-create-info-ext
(:foreign-name
"VkDeviceQueueGlobalPriorityCreateInfoEXT"))
(:struct
vk-device-queue-global-priority-create-info-ext))
(fli:define-c-struct (vk-import-memory-host-pointer-info-ext
(:foreign-name
"VkImportMemoryHostPointerInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(handle-type
vk-external-memory-handle-type-flag-bits)
(p-host-pointer (:pointer :void)))
(fli:define-c-typedef (vk-import-memory-host-pointer-info-ext
(:foreign-name
"VkImportMemoryHostPointerInfoEXT"))
(:struct vk-import-memory-host-pointer-info-ext))
(fli:define-c-struct (vk-memory-host-pointer-properties-ext
(:foreign-name
"VkMemoryHostPointerPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(memory-type-bits :uint32))
(fli:define-c-typedef (vk-memory-host-pointer-properties-ext
(:foreign-name
"VkMemoryHostPointerPropertiesEXT"))
(:struct vk-memory-host-pointer-properties-ext))
(fli:define-c-struct (vk-physical-device-external-memory-host-properties-ext
(:foreign-name
"VkPhysicalDeviceExternalMemoryHostPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(min-imported-host-pointer-alignment
vk-device-size))
(fli:define-c-typedef (vk-physical-device-external-memory-host-properties-ext
(:foreign-name
"VkPhysicalDeviceExternalMemoryHostPropertiesEXT"))
(:struct
vk-physical-device-external-memory-host-properties-ext))
(fli:define-c-typedef (pfn-vk-get-memory-host-pointer-properties-ext
(:foreign-name
"PFN_vkGetMemoryHostPointerPropertiesEXT"))
(:pointer
(:function
(vk-device
vk-external-memory-handle-type-flag-bits
(:pointer (:const :void))
(:pointer
vk-memory-host-pointer-properties-ext))
vk-result)))
(fli:define-foreign-function (vk-get-memory-host-pointer-properties-ext
"vkGetMemoryHostPointerPropertiesEXT"
:source)
((device vk-device)
(handle-type
vk-external-memory-handle-type-flag-bits)
(p-host-pointer
(:pointer (:const :void)))
(p-memory-host-pointer-properties
(:pointer
vk-memory-host-pointer-properties-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-typedef (pfn-vk-cmd-write-buffer-marker-amd
(:foreign-name "PFN_vkCmdWriteBufferMarkerAMD"))
(:pointer
(:function
(vk-command-buffer
vk-pipeline-stage-flag-bits
vk-buffer
vk-device-size
:uint32)
:void)))
(fli:define-foreign-function (vk-cmd-write-buffer-marker-amd
"vkCmdWriteBufferMarkerAMD"
:source)
((command-buffer vk-command-buffer)
(pipeline-stage
vk-pipeline-stage-flag-bits)
(dst-buffer vk-buffer)
(dst-offset vk-device-size)
(marker :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-enum (vk-time-domain-ext
(:foreign-name "VkTimeDomainEXT"))
(vk-time-domain-device-ext 0)
(vk-time-domain-clock-monotonic-ext 1)
(vk-time-domain-clock-monotonic-raw-ext 2)
(vk-time-domain-query-performance-counter-ext 3)
(vk-time-domain-begin-range-ext 0)
(vk-time-domain-end-range-ext 3)
(vk-time-domain-range-size-ext 4)
(vk-time-domain-max-enum-ext 2147483647))
(fli:define-c-typedef (vk-time-domain-ext
(:foreign-name "VkTimeDomainEXT"))
(:enum vk-time-domain-ext))
(fli:define-c-struct (vk-calibrated-timestamp-info-ext
(:foreign-name "VkCalibratedTimestampInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(time-domain vk-time-domain-ext))
(fli:define-c-typedef (vk-calibrated-timestamp-info-ext
(:foreign-name "VkCalibratedTimestampInfoEXT"))
(:struct vk-calibrated-timestamp-info-ext))
(fli:define-c-typedef (pfn-vk-get-physical-device-calibrateable-time-domains-ext
(:foreign-name
"PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"))
(:pointer
(:function
(vk-physical-device
(:pointer :uint32)
(:pointer vk-time-domain-ext))
vk-result)))
(fli:define-c-typedef (pfn-vk-get-calibrated-timestamps-ext
(:foreign-name
"PFN_vkGetCalibratedTimestampsEXT"))
(:pointer
(:function
(vk-device
:uint32
(:pointer
(:const vk-calibrated-timestamp-info-ext))
(:pointer :uint64)
(:pointer :uint64))
vk-result)))
(fli:define-foreign-function (vk-get-physical-device-calibrateable-time-domains-ext
"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"
:source)
((physical-device vk-physical-device)
(p-time-domain-count
(:pointer :uint32))
(p-time-domains
(:pointer vk-time-domain-ext)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-foreign-function (vk-get-calibrated-timestamps-ext
"vkGetCalibratedTimestampsEXT"
:source)
((device vk-device)
(timestamp-count :uint32)
(p-timestamp-infos
(:pointer
(:const
vk-calibrated-timestamp-info-ext)))
(p-timestamps
(:pointer :uint64))
(p-max-deviation
(:pointer :uint64)))
:result-type
vk-result
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-shader-core-properties-amd
(:foreign-name
"VkPhysicalDeviceShaderCorePropertiesAMD"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(shader-engine-count :uint32)
(shader-arrays-per-engine-count :uint32)
(compute-units-per-shader-array :uint32)
(simd-per-compute-unit :uint32)
(wavefronts-per-simd :uint32)
(wavefront-size :uint32)
(sgprs-per-simd :uint32)
(min-sgpr-allocation :uint32)
(max-sgpr-allocation :uint32)
(sgpr-allocation-granularity :uint32)
(vgprs-per-simd :uint32)
(min-vgpr-allocation :uint32)
(max-vgpr-allocation :uint32)
(vgpr-allocation-granularity :uint32))
(fli:define-c-typedef (vk-physical-device-shader-core-properties-amd
(:foreign-name
"VkPhysicalDeviceShaderCorePropertiesAMD"))
(:struct
vk-physical-device-shader-core-properties-amd))
(fli:define-c-enum (vk-memory-overallocation-behavior-amd
(:foreign-name
"VkMemoryOverallocationBehaviorAMD"))
(vk-memory-overallocation-behavior-default-amd 0)
(vk-memory-overallocation-behavior-allowed-amd 1)
(vk-memory-overallocation-behavior-disallowed-amd 2)
(vk-memory-overallocation-behavior-begin-range-amd
0)
(vk-memory-overallocation-behavior-end-range-amd 2)
(vk-memory-overallocation-behavior-range-size-amd 3)
(vk-memory-overallocation-behavior-max-enum-amd
2147483647))
(fli:define-c-typedef (vk-memory-overallocation-behavior-amd
(:foreign-name
"VkMemoryOverallocationBehaviorAMD"))
(:enum vk-memory-overallocation-behavior-amd))
(fli:define-c-struct (vk-device-memory-overallocation-create-info-amd
(:foreign-name
"VkDeviceMemoryOverallocationCreateInfoAMD"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(overallocation-behavior
vk-memory-overallocation-behavior-amd))
(fli:define-c-typedef (vk-device-memory-overallocation-create-info-amd
(:foreign-name
"VkDeviceMemoryOverallocationCreateInfoAMD"))
(:struct
vk-device-memory-overallocation-create-info-amd))
(fli:define-c-struct (vk-physical-device-vertex-attribute-divisor-properties-ext
(:foreign-name
"VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-vertex-attrib-divisor :uint32))
(fli:define-c-typedef (vk-physical-device-vertex-attribute-divisor-properties-ext
(:foreign-name
"VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT"))
(:struct
vk-physical-device-vertex-attribute-divisor-properties-ext))
(fli:define-c-struct (vk-vertex-input-binding-divisor-description-ext
(:foreign-name
"VkVertexInputBindingDivisorDescriptionEXT"))
(binding :uint32)
(divisor :uint32))
(fli:define-c-typedef (vk-vertex-input-binding-divisor-description-ext
(:foreign-name
"VkVertexInputBindingDivisorDescriptionEXT"))
(:struct
vk-vertex-input-binding-divisor-description-ext))
(fli:define-c-struct (vk-pipeline-vertex-input-divisor-state-create-info-ext
(:foreign-name
"VkPipelineVertexInputDivisorStateCreateInfoEXT"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(vertex-binding-divisor-count :uint32)
(p-vertex-binding-divisors
(:pointer
(:const
vk-vertex-input-binding-divisor-description-ext))))
(fli:define-c-typedef (vk-pipeline-vertex-input-divisor-state-create-info-ext
(:foreign-name
"VkPipelineVertexInputDivisorStateCreateInfoEXT"))
(:struct
vk-pipeline-vertex-input-divisor-state-create-info-ext))
(fli:define-c-struct (vk-physical-device-vertex-attribute-divisor-features-ext
(:foreign-name
"VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(vertex-attribute-instance-rate-divisor vk-bool32)
(vertex-attribute-instance-rate-zero-divisor
vk-bool32))
(fli:define-c-typedef (vk-physical-device-vertex-attribute-divisor-features-ext
(:foreign-name
"VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT"))
(:struct
vk-physical-device-vertex-attribute-divisor-features-ext))
(fli:define-c-struct (vk-physical-device-compute-shader-derivatives-features-nv
(:foreign-name
"VkPhysicalDeviceComputeShaderDerivativesFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(compute-derivative-group-quads vk-bool32)
(compute-derivative-group-linear vk-bool32))
(fli:define-c-typedef (vk-physical-device-compute-shader-derivatives-features-nv
(:foreign-name
"VkPhysicalDeviceComputeShaderDerivativesFeaturesNV"))
(:struct
vk-physical-device-compute-shader-derivatives-features-nv))
(fli:define-c-struct (vk-physical-device-mesh-shader-features-nv
(:foreign-name
"VkPhysicalDeviceMeshShaderFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(task-shader vk-bool32)
(mesh-shader vk-bool32))
(fli:define-c-typedef (vk-physical-device-mesh-shader-features-nv
(:foreign-name
"VkPhysicalDeviceMeshShaderFeaturesNV"))
(:struct
vk-physical-device-mesh-shader-features-nv))
(fli:define-c-struct (vk-physical-device-mesh-shader-properties-nv
(:foreign-name
"VkPhysicalDeviceMeshShaderPropertiesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(max-draw-mesh-tasks-count :uint32)
(max-task-work-group-invocations :uint32)
(max-task-work-group-size
(:c-array :uint32 3))
(max-task-total-memory-size :uint32)
(max-task-output-count :uint32)
(max-mesh-work-group-invocations :uint32)
(max-mesh-work-group-size
(:c-array :uint32 3))
(max-mesh-total-memory-size :uint32)
(max-mesh-output-vertices :uint32)
(max-mesh-output-primitives :uint32)
(max-mesh-multiview-view-count :uint32)
(mesh-output-per-vertex-granularity
:uint32)
(mesh-output-per-primitive-granularity
:uint32))
(fli:define-c-typedef (vk-physical-device-mesh-shader-properties-nv
(:foreign-name
"VkPhysicalDeviceMeshShaderPropertiesNV"))
(:struct
vk-physical-device-mesh-shader-properties-nv))
(fli:define-c-struct (vk-draw-mesh-tasks-indirect-command-nv
(:foreign-name
"VkDrawMeshTasksIndirectCommandNV"))
(task-count :uint32)
(first-task :uint32))
(fli:define-c-typedef (vk-draw-mesh-tasks-indirect-command-nv
(:foreign-name
"VkDrawMeshTasksIndirectCommandNV"))
(:struct vk-draw-mesh-tasks-indirect-command-nv))
(fli:define-c-typedef (pfn-vk-cmd-draw-mesh-tasks-nv
(:foreign-name "PFN_vkCmdDrawMeshTasksNV"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-mesh-tasks-indirect-nv
(:foreign-name
"PFN_vkCmdDrawMeshTasksIndirectNV"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-c-typedef (pfn-vk-cmd-draw-mesh-tasks-indirect-count-nv
(:foreign-name
"PFN_vkCmdDrawMeshTasksIndirectCountNV"))
(:pointer
(:function
(vk-command-buffer
vk-buffer
vk-device-size
vk-buffer
vk-device-size
:uint32
:uint32)
:void)))
(fli:define-foreign-function (vk-cmd-draw-mesh-tasks-nv
"vkCmdDrawMeshTasksNV"
:source)
((command-buffer vk-command-buffer)
(task-count :uint32)
(first-task :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-mesh-tasks-indirect-nv
"vkCmdDrawMeshTasksIndirectNV"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-cmd-draw-mesh-tasks-indirect-count-nv
"vkCmdDrawMeshTasksIndirectCountNV"
:source)
((command-buffer vk-command-buffer)
(buffer vk-buffer)
(offset vk-device-size)
(count-buffer vk-buffer)
(count-buffer-offset vk-device-size)
(max-draw-count :uint32)
(stride :uint32))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-fragment-shader-barycentric-features-nv
(:foreign-name
"VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(fragment-shader-barycentric vk-bool32))
(fli:define-c-typedef (vk-physical-device-fragment-shader-barycentric-features-nv
(:foreign-name
"VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV"))
(:struct
vk-physical-device-fragment-shader-barycentric-features-nv))
(fli:define-c-struct (vk-physical-device-shader-image-footprint-features-nv
(:foreign-name
"VkPhysicalDeviceShaderImageFootprintFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(image-footprint vk-bool32))
(fli:define-c-typedef (vk-physical-device-shader-image-footprint-features-nv
(:foreign-name
"VkPhysicalDeviceShaderImageFootprintFeaturesNV"))
(:struct
vk-physical-device-shader-image-footprint-features-nv))
(fli:define-c-struct (vk-pipeline-viewport-exclusive-scissor-state-create-info-nv
(:foreign-name
"VkPipelineViewportExclusiveScissorStateCreateInfoNV"))
(s-type vk-structure-type)
(p-next (:pointer (:const :void)))
(exclusive-scissor-count :uint32)
(p-exclusive-scissors
(:pointer (:const vk-rect2-d))))
(fli:define-c-typedef (vk-pipeline-viewport-exclusive-scissor-state-create-info-nv
(:foreign-name
"VkPipelineViewportExclusiveScissorStateCreateInfoNV"))
(:struct
vk-pipeline-viewport-exclusive-scissor-state-create-info-nv))
(fli:define-c-struct (vk-physical-device-exclusive-scissor-features-nv
(:foreign-name
"VkPhysicalDeviceExclusiveScissorFeaturesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(exclusive-scissor vk-bool32))
(fli:define-c-typedef (vk-physical-device-exclusive-scissor-features-nv
(:foreign-name
"VkPhysicalDeviceExclusiveScissorFeaturesNV"))
(:struct
vk-physical-device-exclusive-scissor-features-nv))
(fli:define-c-typedef (pfn-vk-cmd-set-exclusive-scissor-nv
(:foreign-name
"PFN_vkCmdSetExclusiveScissorNV"))
(:pointer
(:function
(vk-command-buffer
:uint32
:uint32
(:pointer (:const vk-rect2-d)))
:void)))
(fli:define-foreign-function (vk-cmd-set-exclusive-scissor-nv
"vkCmdSetExclusiveScissorNV"
:source)
((command-buffer vk-command-buffer)
(first-exclusive-scissor
:uint32)
(exclusive-scissor-count
:uint32)
(p-exclusive-scissors
(:pointer (:const vk-rect2-d))))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-queue-family-checkpoint-properties-nv
(:foreign-name
"VkQueueFamilyCheckpointPropertiesNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(checkpoint-execution-stage-mask
vk-pipeline-stage-flags))
(fli:define-c-typedef (vk-queue-family-checkpoint-properties-nv
(:foreign-name
"VkQueueFamilyCheckpointPropertiesNV"))
(:struct
vk-queue-family-checkpoint-properties-nv))
(fli:define-c-struct (vk-checkpoint-data-nv
(:foreign-name "VkCheckpointDataNV"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(stage vk-pipeline-stage-flag-bits)
(p-checkpoint-marker (:pointer :void)))
(fli:define-c-typedef (vk-checkpoint-data-nv
(:foreign-name "VkCheckpointDataNV"))
(:struct vk-checkpoint-data-nv))
(fli:define-c-typedef (pfn-vk-cmd-set-checkpoint-nv
(:foreign-name "PFN_vkCmdSetCheckpointNV"))
(:pointer
(:function
(vk-command-buffer (:pointer (:const :void)))
:void)))
(fli:define-c-typedef (pfn-vk-get-queue-checkpoint-data-nv
(:foreign-name
"PFN_vkGetQueueCheckpointDataNV"))
(:pointer
(:function
(vk-queue
(:pointer :uint32)
(:pointer vk-checkpoint-data-nv))
:void)))
(fli:define-foreign-function (vk-cmd-set-checkpoint-nv
"vkCmdSetCheckpointNV"
:source)
((command-buffer vk-command-buffer)
(p-checkpoint-marker
(:pointer (:const :void))))
:result-type
:void
:language
:ansi-c)
(fli:define-foreign-function (vk-get-queue-checkpoint-data-nv
"vkGetQueueCheckpointDataNV"
:source)
((queue vk-queue)
(p-checkpoint-data-count
(:pointer :uint32))
(p-checkpoint-data
(:pointer vk-checkpoint-data-nv)))
:result-type
:void
:language
:ansi-c)
(fli:define-c-struct (vk-physical-device-pcibus-info-properties-ext
(:foreign-name
"VkPhysicalDevicePCIBusInfoPropertiesEXT"))
(s-type vk-structure-type)
(p-next (:pointer :void))
(pci-domain :uint16)
(pci-bus :uint8)
(pci-device :uint8)
(pci-function :uint8))
(fli:define-c-typedef (vk-physical-device-pcibus-info-properties-ext
(:foreign-name
"VkPhysicalDevicePCIBusInfoPropertiesEXT"))
(:struct
vk-physical-device-pcibus-info-properties-ext))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment