Vulkan.jl API

Vulkan.VulkanModule

Vulkan

tests

Vulkan.jl is a lightweight wrapper around the Vulkan graphics and compute library. It exposes abstractions over the underlying C interface, primarily geared towards developers looking for a more natural way to work with Vulkan with minimal overhead.

It builds upon the core API provided by VulkanCore.jl. Because Vulkan is originally a C specification, interfacing with it requires some knowledge before correctly being used from Julia. This package acts as an abstraction layer, so that you don't need to know how to properly call a C library, while still retaining full functionality. The wrapper is generated directly from the Vulkan Specification.

This is a very similar approach to that taken by VulkanHpp, except that the target language is Julia and not C++.

If you have questions, want to brainstorm ideas or simply want to share cool things you do with Vulkan don't hesitate to create a thread in our Zulip channel.

Status

This package is a work in progress and has not reached its 1.0 version yet. As such, documentation may not be complete and functionality may change without warning. If it happens, make sure to check out the changelog. At this stage, you should not use this library in production; however, you are encouraged to push its boundaries through non-critical projects. If you find limitations, bugs or want to suggest potential improvements, do not hesitate to submit issues or pull requests. The goal is definitely to be production-ready as soon as possible.

In particular, because the library relies on automatic code generation, there may be portions of the Vulkan API that are not wrapped correctly. While you should not have trouble in most cases, there are always edge cases which were not accounted for during generation. Please open an issue whenever you encounter such a case, so that we can reliably fix those wrapping issues for future use.

Testing

Currently, continuous integration runs only on Ubuntu 32/64 bits, for lack of a functional CI setup with Vulkan for MacOS and Windows. Because public CI services lack proper driver support, the CPU Vulkan implementation SwiftShader is used. If you are not on Linux, we cannot guarantee that this library will work for you, although so far nothing is platform-dependent. If that is the case, we recommend that you test this package with your own setup.

Depends on:

  • Base
  • BitMasks
  • Core
  • DocStringExtensions
  • FixedPointNumbers
  • Logging
  • MLStyle
  • PrecompileTools
  • Reexport
  • Vulkan.CEnum
  • VulkanCore.LibVulkan
source
Vulkan.AabbPositionsKHRType

High-level wrapper for VkAabbPositionsKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AabbPositionsKHR <: Vulkan.HighLevelStruct
  • min_x::Float32

  • min_y::Float32

  • min_z::Float32

  • max_x::Float32

  • max_y::Float32

  • max_z::Float32

source
Vulkan.AccelerationStructureBuildGeometryInfoKHRType

High-level wrapper for VkAccelerationStructureBuildGeometryInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureBuildGeometryInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • type::AccelerationStructureTypeKHR

  • flags::BuildAccelerationStructureFlagKHR

  • mode::BuildAccelerationStructureModeKHR

  • src_acceleration_structure::Union{Ptr{Nothing}, AccelerationStructureKHR}

  • dst_acceleration_structure::Union{Ptr{Nothing}, AccelerationStructureKHR}

  • geometries::Union{Ptr{Nothing}, Vector{AccelerationStructureGeometryKHR}}

  • geometries_2::Union{Ptr{Nothing}, Vector{AccelerationStructureGeometryKHR}}

  • scratch_data::DeviceOrHostAddressKHR

source
Vulkan.AccelerationStructureBuildGeometryInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • type::AccelerationStructureTypeKHR
  • mode::BuildAccelerationStructureModeKHR
  • scratch_data::DeviceOrHostAddressKHR
  • next::Any: defaults to C_NULL
  • flags::BuildAccelerationStructureFlagKHR: defaults to 0
  • src_acceleration_structure::AccelerationStructureKHR: defaults to C_NULL
  • dst_acceleration_structure::AccelerationStructureKHR: defaults to C_NULL
  • geometries::Vector{AccelerationStructureGeometryKHR}: defaults to C_NULL
  • geometries_2::Vector{AccelerationStructureGeometryKHR}: defaults to C_NULL

API documentation

AccelerationStructureBuildGeometryInfoKHR(
    type::AccelerationStructureTypeKHR,
    mode::BuildAccelerationStructureModeKHR,
    scratch_data::DeviceOrHostAddressKHR;
    next,
    flags,
    src_acceleration_structure,
    dst_acceleration_structure,
    geometries,
    geometries_2
) -> AccelerationStructureBuildGeometryInfoKHR
source
Vulkan.AccelerationStructureBuildRangeInfoKHRType

High-level wrapper for VkAccelerationStructureBuildRangeInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureBuildRangeInfoKHR <: Vulkan.HighLevelStruct
  • primitive_count::UInt32

  • primitive_offset::UInt32

  • first_vertex::UInt32

  • transform_offset::UInt32

source
Vulkan.AccelerationStructureBuildSizesInfoKHRType

High-level wrapper for VkAccelerationStructureBuildSizesInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureBuildSizesInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • acceleration_structure_size::UInt64

  • update_scratch_size::UInt64

  • build_scratch_size::UInt64

source
Vulkan.AccelerationStructureBuildSizesInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • acceleration_structure_size::UInt64
  • update_scratch_size::UInt64
  • build_scratch_size::UInt64
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureBuildSizesInfoKHR(
    acceleration_structure_size::Integer,
    update_scratch_size::Integer,
    build_scratch_size::Integer;
    next
) -> AccelerationStructureBuildSizesInfoKHR
source
Vulkan.AccelerationStructureCaptureDescriptorDataInfoEXTType

High-level wrapper for VkAccelerationStructureCaptureDescriptorDataInfoEXT.

Extension: VK_EXT_descriptor_buffer

API documentation

struct AccelerationStructureCaptureDescriptorDataInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • acceleration_structure::Union{Ptr{Nothing}, AccelerationStructureKHR}

  • acceleration_structure_nv::Union{Ptr{Nothing}, AccelerationStructureNV}

source
Vulkan.AccelerationStructureCaptureDescriptorDataInfoEXTMethod

Extension: VK_EXT_descriptor_buffer

Arguments:

  • next::Any: defaults to C_NULL
  • acceleration_structure::AccelerationStructureKHR: defaults to C_NULL
  • acceleration_structure_nv::AccelerationStructureNV: defaults to C_NULL

API documentation

AccelerationStructureCaptureDescriptorDataInfoEXT(
;
    next,
    acceleration_structure,
    acceleration_structure_nv
) -> AccelerationStructureCaptureDescriptorDataInfoEXT
source
Vulkan.AccelerationStructureCreateInfoKHRType

High-level wrapper for VkAccelerationStructureCreateInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureCreateInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • create_flags::AccelerationStructureCreateFlagKHR

  • buffer::Buffer

  • offset::UInt64

  • size::UInt64

  • type::AccelerationStructureTypeKHR

  • device_address::UInt64

source
Vulkan.AccelerationStructureCreateInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • buffer::Buffer
  • offset::UInt64
  • size::UInt64
  • type::AccelerationStructureTypeKHR
  • next::Any: defaults to C_NULL
  • create_flags::AccelerationStructureCreateFlagKHR: defaults to 0
  • device_address::UInt64: defaults to 0

API documentation

AccelerationStructureCreateInfoKHR(
    buffer::Buffer,
    offset::Integer,
    size::Integer,
    type::AccelerationStructureTypeKHR;
    next,
    create_flags,
    device_address
) -> AccelerationStructureCreateInfoKHR
source
Vulkan.AccelerationStructureCreateInfoNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • compacted_size::UInt64
  • info::AccelerationStructureInfoNV
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureCreateInfoNV(
    compacted_size::Integer,
    info::AccelerationStructureInfoNV;
    next
) -> AccelerationStructureCreateInfoNV
source
Vulkan.AccelerationStructureGeometryAabbsDataKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • data::DeviceOrHostAddressConstKHR
  • stride::UInt64
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureGeometryAabbsDataKHR(
    data::DeviceOrHostAddressConstKHR,
    stride::Integer;
    next
) -> AccelerationStructureGeometryAabbsDataKHR
source
Vulkan.AccelerationStructureGeometryInstancesDataKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • array_of_pointers::Bool
  • data::DeviceOrHostAddressConstKHR
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureGeometryInstancesDataKHR(
    array_of_pointers::Bool,
    data::DeviceOrHostAddressConstKHR;
    next
) -> AccelerationStructureGeometryInstancesDataKHR
source
Vulkan.AccelerationStructureGeometryKHRType

High-level wrapper for VkAccelerationStructureGeometryKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureGeometryKHR <: Vulkan.HighLevelStruct
  • next::Any

  • geometry_type::GeometryTypeKHR

  • geometry::AccelerationStructureGeometryDataKHR

  • flags::GeometryFlagKHR

source
Vulkan.AccelerationStructureGeometryKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • geometry_type::GeometryTypeKHR
  • geometry::AccelerationStructureGeometryDataKHR
  • next::Any: defaults to C_NULL
  • flags::GeometryFlagKHR: defaults to 0

API documentation

AccelerationStructureGeometryKHR(
    geometry_type::GeometryTypeKHR,
    geometry::AccelerationStructureGeometryDataKHR;
    next,
    flags
) -> AccelerationStructureGeometryKHR
source
Vulkan.AccelerationStructureGeometryTrianglesDataKHRType

High-level wrapper for VkAccelerationStructureGeometryTrianglesDataKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureGeometryTrianglesDataKHR <: Vulkan.HighLevelStruct
  • next::Any

  • vertex_format::Format

  • vertex_data::DeviceOrHostAddressConstKHR

  • vertex_stride::UInt64

  • max_vertex::UInt32

  • index_type::IndexType

  • index_data::DeviceOrHostAddressConstKHR

  • transform_data::DeviceOrHostAddressConstKHR

source
Vulkan.AccelerationStructureGeometryTrianglesDataKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • vertex_format::Format
  • vertex_data::DeviceOrHostAddressConstKHR
  • vertex_stride::UInt64
  • max_vertex::UInt32
  • index_type::IndexType
  • index_data::DeviceOrHostAddressConstKHR
  • transform_data::DeviceOrHostAddressConstKHR
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureGeometryTrianglesDataKHR(
    vertex_format::Format,
    vertex_data::DeviceOrHostAddressConstKHR,
    vertex_stride::Integer,
    max_vertex::Integer,
    index_type::IndexType,
    index_data::DeviceOrHostAddressConstKHR,
    transform_data::DeviceOrHostAddressConstKHR;
    next
) -> AccelerationStructureGeometryTrianglesDataKHR
source
Vulkan.AccelerationStructureInfoNVType

High-level wrapper for VkAccelerationStructureInfoNV.

Extension: VK_NV_ray_tracing

API documentation

struct AccelerationStructureInfoNV <: Vulkan.HighLevelStruct
  • next::Any

  • type::VulkanCore.LibVulkan.VkAccelerationStructureTypeKHR

  • flags::Union{Ptr{Nothing}, UInt32}

  • instance_count::UInt32

  • geometries::Vector{GeometryNV}

source
Vulkan.AccelerationStructureInfoNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • type::VkAccelerationStructureTypeNV
  • geometries::Vector{GeometryNV}
  • next::Any: defaults to C_NULL
  • flags::VkBuildAccelerationStructureFlagsNV: defaults to C_NULL
  • instance_count::UInt32: defaults to 0

API documentation

AccelerationStructureInfoNV(
    type::VulkanCore.LibVulkan.VkAccelerationStructureTypeKHR,
    geometries::AbstractArray;
    next,
    flags,
    instance_count
) -> AccelerationStructureInfoNV
source
Vulkan.AccelerationStructureInstanceKHRType

High-level wrapper for VkAccelerationStructureInstanceKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct AccelerationStructureInstanceKHR <: Vulkan.HighLevelStruct
  • transform::TransformMatrixKHR

  • instance_custom_index::UInt32

  • mask::UInt32

  • instance_shader_binding_table_record_offset::UInt32

  • flags::GeometryInstanceFlagKHR

  • acceleration_structure_reference::UInt64

source
Vulkan.AccelerationStructureInstanceKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • transform::TransformMatrixKHR
  • instance_custom_index::UInt32
  • mask::UInt32
  • instance_shader_binding_table_record_offset::UInt32
  • acceleration_structure_reference::UInt64
  • flags::GeometryInstanceFlagKHR: defaults to 0

API documentation

AccelerationStructureInstanceKHR(
    transform::TransformMatrixKHR,
    instance_custom_index::Integer,
    mask::Integer,
    instance_shader_binding_table_record_offset::Integer,
    acceleration_structure_reference::Integer;
    flags
) -> AccelerationStructureInstanceKHR
source
Vulkan.AccelerationStructureKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • device::Device
  • buffer::Buffer
  • offset::UInt64
  • size::UInt64
  • type::AccelerationStructureTypeKHR
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • create_flags::AccelerationStructureCreateFlagKHR: defaults to 0
  • device_address::UInt64: defaults to 0

API documentation

AccelerationStructureKHR(
    device,
    buffer,
    offset::Integer,
    size::Integer,
    type::AccelerationStructureTypeKHR;
    allocator,
    next,
    create_flags,
    device_address
) -> AccelerationStructureKHR
source
Vulkan.AccelerationStructureMatrixMotionInstanceNVType

High-level wrapper for VkAccelerationStructureMatrixMotionInstanceNV.

Extension: VK_NV_ray_tracing_motion_blur

API documentation

struct AccelerationStructureMatrixMotionInstanceNV <: Vulkan.HighLevelStruct
  • transform_t_0::TransformMatrixKHR

  • transform_t_1::TransformMatrixKHR

  • instance_custom_index::UInt32

  • mask::UInt32

  • instance_shader_binding_table_record_offset::UInt32

  • flags::GeometryInstanceFlagKHR

  • acceleration_structure_reference::UInt64

source
Vulkan.AccelerationStructureMatrixMotionInstanceNVMethod

Extension: VK_NV_ray_tracing_motion_blur

Arguments:

  • transform_t_0::TransformMatrixKHR
  • transform_t_1::TransformMatrixKHR
  • instance_custom_index::UInt32
  • mask::UInt32
  • instance_shader_binding_table_record_offset::UInt32
  • acceleration_structure_reference::UInt64
  • flags::GeometryInstanceFlagKHR: defaults to 0

API documentation

AccelerationStructureMatrixMotionInstanceNV(
    transform_t_0::TransformMatrixKHR,
    transform_t_1::TransformMatrixKHR,
    instance_custom_index::Integer,
    mask::Integer,
    instance_shader_binding_table_record_offset::Integer,
    acceleration_structure_reference::Integer;
    flags
) -> AccelerationStructureMatrixMotionInstanceNV
source
Vulkan.AccelerationStructureMemoryRequirementsInfoNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • type::AccelerationStructureMemoryRequirementsTypeNV
  • acceleration_structure::AccelerationStructureNV
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureMemoryRequirementsInfoNV(
    type::AccelerationStructureMemoryRequirementsTypeNV,
    acceleration_structure::AccelerationStructureNV;
    next
) -> AccelerationStructureMemoryRequirementsInfoNV
source
Vulkan.AccelerationStructureMotionInstanceNVType

High-level wrapper for VkAccelerationStructureMotionInstanceNV.

Extension: VK_NV_ray_tracing_motion_blur

API documentation

struct AccelerationStructureMotionInstanceNV <: Vulkan.HighLevelStruct
  • type::AccelerationStructureMotionInstanceTypeNV

  • flags::UInt32

  • data::AccelerationStructureMotionInstanceDataNV

source
Vulkan.AccelerationStructureMotionInstanceNVMethod

Extension: VK_NV_ray_tracing_motion_blur

Arguments:

  • type::AccelerationStructureMotionInstanceTypeNV
  • data::AccelerationStructureMotionInstanceDataNV
  • flags::UInt32: defaults to 0

API documentation

AccelerationStructureMotionInstanceNV(
    type::AccelerationStructureMotionInstanceTypeNV,
    data::AccelerationStructureMotionInstanceDataNV;
    flags
) -> AccelerationStructureMotionInstanceNV
source
Vulkan.AccelerationStructureNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • device::Device
  • compacted_size::UInt64
  • info::AccelerationStructureInfoNV
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL

API documentation

AccelerationStructureNV(
    device,
    compacted_size::Integer,
    info::AccelerationStructureInfoNV;
    allocator,
    next
) -> AccelerationStructureNV
source
Vulkan.AccelerationStructureNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • device::Device
  • compacted_size::UInt64
  • info::_AccelerationStructureInfoNV
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL

API documentation

AccelerationStructureNV(
    device,
    compacted_size::Integer,
    info::_AccelerationStructureInfoNV;
    allocator,
    next
) -> AccelerationStructureNV
source
Vulkan.AccelerationStructureSRTMotionInstanceNVType

High-level wrapper for VkAccelerationStructureSRTMotionInstanceNV.

Extension: VK_NV_ray_tracing_motion_blur

API documentation

struct AccelerationStructureSRTMotionInstanceNV <: Vulkan.HighLevelStruct
  • transform_t_0::SRTDataNV

  • transform_t_1::SRTDataNV

  • instance_custom_index::UInt32

  • mask::UInt32

  • instance_shader_binding_table_record_offset::UInt32

  • flags::GeometryInstanceFlagKHR

  • acceleration_structure_reference::UInt64

source
Vulkan.AccelerationStructureSRTMotionInstanceNVMethod

Extension: VK_NV_ray_tracing_motion_blur

Arguments:

  • transform_t_0::SRTDataNV
  • transform_t_1::SRTDataNV
  • instance_custom_index::UInt32
  • mask::UInt32
  • instance_shader_binding_table_record_offset::UInt32
  • acceleration_structure_reference::UInt64
  • flags::GeometryInstanceFlagKHR: defaults to 0

API documentation

AccelerationStructureSRTMotionInstanceNV(
    transform_t_0::SRTDataNV,
    transform_t_1::SRTDataNV,
    instance_custom_index::Integer,
    mask::Integer,
    instance_shader_binding_table_record_offset::Integer,
    acceleration_structure_reference::Integer;
    flags
) -> AccelerationStructureSRTMotionInstanceNV
source
Vulkan.AccelerationStructureTrianglesOpacityMicromapEXTType

High-level wrapper for VkAccelerationStructureTrianglesOpacityMicromapEXT.

Extension: VK_EXT_opacity_micromap

API documentation

struct AccelerationStructureTrianglesOpacityMicromapEXT <: Vulkan.HighLevelStruct
  • next::Any

  • index_type::IndexType

  • index_buffer::DeviceOrHostAddressConstKHR

  • index_stride::UInt64

  • base_triangle::UInt32

  • usage_counts::Union{Ptr{Nothing}, Vector{MicromapUsageEXT}}

  • usage_counts_2::Union{Ptr{Nothing}, Vector{MicromapUsageEXT}}

  • micromap::MicromapEXT

source
Vulkan.AccelerationStructureTrianglesOpacityMicromapEXTMethod

Extension: VK_EXT_opacity_micromap

Arguments:

  • index_type::IndexType
  • index_buffer::DeviceOrHostAddressConstKHR
  • index_stride::UInt64
  • base_triangle::UInt32
  • micromap::MicromapEXT
  • next::Any: defaults to C_NULL
  • usage_counts::Vector{MicromapUsageEXT}: defaults to C_NULL
  • usage_counts_2::Vector{MicromapUsageEXT}: defaults to C_NULL

API documentation

AccelerationStructureTrianglesOpacityMicromapEXT(
    index_type::IndexType,
    index_buffer::DeviceOrHostAddressConstKHR,
    index_stride::Integer,
    base_triangle::Integer,
    micromap::MicromapEXT;
    next,
    usage_counts,
    usage_counts_2
) -> AccelerationStructureTrianglesOpacityMicromapEXT
source
Vulkan.AcquireNextImageInfoKHRType

High-level wrapper for VkAcquireNextImageInfoKHR.

Extension: VK_KHR_swapchain

API documentation

struct AcquireNextImageInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • swapchain::SwapchainKHR

  • timeout::UInt64

  • semaphore::Union{Ptr{Nothing}, Semaphore}

  • fence::Union{Ptr{Nothing}, Fence}

  • device_mask::UInt32

source
Vulkan.AcquireNextImageInfoKHRMethod

Extension: VK_KHR_swapchain

Arguments:

  • swapchain::SwapchainKHR (externsync)
  • timeout::UInt64
  • device_mask::UInt32
  • next::Any: defaults to C_NULL
  • semaphore::Semaphore: defaults to C_NULL (externsync)
  • fence::Fence: defaults to C_NULL (externsync)

API documentation

AcquireNextImageInfoKHR(
    swapchain::SwapchainKHR,
    timeout::Integer,
    device_mask::Integer;
    next,
    semaphore,
    fence
) -> AcquireNextImageInfoKHR
source
Vulkan.AcquireProfilingLockInfoKHRMethod

Extension: VK_KHR_performance_query

Arguments:

  • timeout::UInt64
  • next::Any: defaults to C_NULL
  • flags::AcquireProfilingLockFlagKHR: defaults to 0

API documentation

AcquireProfilingLockInfoKHR(
    timeout::Integer;
    next,
    flags
) -> AcquireProfilingLockInfoKHR
source
Vulkan.AllocationCallbacksType

High-level wrapper for VkAllocationCallbacks.

API documentation

struct AllocationCallbacks <: Vulkan.HighLevelStruct
  • user_data::Ptr{Nothing}

  • pfn_allocation::Union{Ptr{Nothing}, Base.CFunction}

  • pfn_reallocation::Union{Ptr{Nothing}, Base.CFunction}

  • pfn_free::Union{Ptr{Nothing}, Base.CFunction}

  • pfn_internal_allocation::Union{Ptr{Nothing}, Base.CFunction}

  • pfn_internal_free::Union{Ptr{Nothing}, Base.CFunction}

source
Vulkan.AllocationCallbacksMethod

Arguments:

  • pfn_allocation::FunctionPtr
  • pfn_reallocation::FunctionPtr
  • pfn_free::FunctionPtr
  • user_data::Ptr{Cvoid}: defaults to C_NULL
  • pfn_internal_allocation::FunctionPtr: defaults to C_NULL
  • pfn_internal_free::FunctionPtr: defaults to C_NULL

API documentation

AllocationCallbacks(
    pfn_allocation::Union{Ptr{Nothing}, Base.CFunction},
    pfn_reallocation::Union{Ptr{Nothing}, Base.CFunction},
    pfn_free::Union{Ptr{Nothing}, Base.CFunction};
    user_data,
    pfn_internal_allocation,
    pfn_internal_free
) -> AllocationCallbacks
source
Vulkan.AmigoProfilingSubmitInfoSECMethod

Extension: VK_SEC_amigo_profiling

Arguments:

  • first_draw_timestamp::UInt64
  • swap_buffer_timestamp::UInt64
  • next::Any: defaults to C_NULL

API documentation

AmigoProfilingSubmitInfoSEC(
    first_draw_timestamp::Integer,
    swap_buffer_timestamp::Integer;
    next
) -> AmigoProfilingSubmitInfoSEC
source
Vulkan.ApplicationInfoType

High-level wrapper for VkApplicationInfo.

API documentation

struct ApplicationInfo <: Vulkan.HighLevelStruct
  • next::Any

  • application_name::String

  • application_version::VersionNumber

  • engine_name::String

  • engine_version::VersionNumber

  • api_version::VersionNumber

source
Vulkan.ApplicationInfoMethod

Arguments:

  • application_version::VersionNumber
  • engine_version::VersionNumber
  • api_version::VersionNumber
  • next::Any: defaults to C_NULL
  • application_name::String: defaults to ``
  • engine_name::String: defaults to ``

API documentation

ApplicationInfo(
    application_version::VersionNumber,
    engine_version::VersionNumber,
    api_version::VersionNumber;
    next,
    application_name,
    engine_name
) -> ApplicationInfo
source
Vulkan.AttachmentDescriptionType

High-level wrapper for VkAttachmentDescription.

API documentation

struct AttachmentDescription <: Vulkan.HighLevelStruct
  • flags::AttachmentDescriptionFlag

  • format::Format

  • samples::SampleCountFlag

  • load_op::AttachmentLoadOp

  • store_op::AttachmentStoreOp

  • stencil_load_op::AttachmentLoadOp

  • stencil_store_op::AttachmentStoreOp

  • initial_layout::ImageLayout

  • final_layout::ImageLayout

source
Vulkan.AttachmentDescriptionMethod

Arguments:

  • format::Format
  • samples::SampleCountFlag
  • load_op::AttachmentLoadOp
  • store_op::AttachmentStoreOp
  • stencil_load_op::AttachmentLoadOp
  • stencil_store_op::AttachmentStoreOp
  • initial_layout::ImageLayout
  • final_layout::ImageLayout
  • flags::AttachmentDescriptionFlag: defaults to 0

API documentation

AttachmentDescription(
    format::Format,
    samples::SampleCountFlag,
    load_op::AttachmentLoadOp,
    store_op::AttachmentStoreOp,
    stencil_load_op::AttachmentLoadOp,
    stencil_store_op::AttachmentStoreOp,
    initial_layout::ImageLayout,
    final_layout::ImageLayout;
    flags
) -> AttachmentDescription
source
Vulkan.AttachmentDescription2Type

High-level wrapper for VkAttachmentDescription2.

API documentation

struct AttachmentDescription2 <: Vulkan.HighLevelStruct
  • next::Any

  • flags::AttachmentDescriptionFlag

  • format::Format

  • samples::SampleCountFlag

  • load_op::AttachmentLoadOp

  • store_op::AttachmentStoreOp

  • stencil_load_op::AttachmentLoadOp

  • stencil_store_op::AttachmentStoreOp

  • initial_layout::ImageLayout

  • final_layout::ImageLayout

source
Vulkan.AttachmentDescription2Method

Arguments:

  • format::Format
  • samples::SampleCountFlag
  • load_op::AttachmentLoadOp
  • store_op::AttachmentStoreOp
  • stencil_load_op::AttachmentLoadOp
  • stencil_store_op::AttachmentStoreOp
  • initial_layout::ImageLayout
  • final_layout::ImageLayout
  • next::Any: defaults to C_NULL
  • flags::AttachmentDescriptionFlag: defaults to 0

API documentation

AttachmentDescription2(
    format::Format,
    samples::SampleCountFlag,
    load_op::AttachmentLoadOp,
    store_op::AttachmentStoreOp,
    stencil_load_op::AttachmentLoadOp,
    stencil_store_op::AttachmentStoreOp,
    initial_layout::ImageLayout,
    final_layout::ImageLayout;
    next,
    flags
) -> AttachmentDescription2
source
Vulkan.AttachmentDescriptionStencilLayoutMethod

Arguments:

  • stencil_initial_layout::ImageLayout
  • stencil_final_layout::ImageLayout
  • next::Any: defaults to C_NULL

API documentation

AttachmentDescriptionStencilLayout(
    stencil_initial_layout::ImageLayout,
    stencil_final_layout::ImageLayout;
    next
) -> AttachmentDescriptionStencilLayout
source
Vulkan.AttachmentReference2Method

Arguments:

  • attachment::UInt32
  • layout::ImageLayout
  • aspect_mask::ImageAspectFlag
  • next::Any: defaults to C_NULL

API documentation

AttachmentReference2(
    attachment::Integer,
    layout::ImageLayout,
    aspect_mask::ImageAspectFlag;
    next
) -> AttachmentReference2
source
Vulkan.AttachmentSampleCountInfoAMDType

High-level wrapper for VkAttachmentSampleCountInfoAMD.

Extension: VK_KHR_dynamic_rendering

API documentation

struct AttachmentSampleCountInfoAMD <: Vulkan.HighLevelStruct
  • next::Any

  • color_attachment_samples::Vector{SampleCountFlag}

  • depth_stencil_attachment_samples::SampleCountFlag

source
Vulkan.AttachmentSampleCountInfoAMDMethod

Extension: VK_KHR_dynamic_rendering

Arguments:

  • color_attachment_samples::Vector{SampleCountFlag}
  • next::Any: defaults to C_NULL
  • depth_stencil_attachment_samples::SampleCountFlag: defaults to 0

API documentation

AttachmentSampleCountInfoAMD(
    color_attachment_samples::AbstractArray;
    next,
    depth_stencil_attachment_samples
) -> AttachmentSampleCountInfoAMD
source
Vulkan.BindAccelerationStructureMemoryInfoNVType

High-level wrapper for VkBindAccelerationStructureMemoryInfoNV.

Extension: VK_NV_ray_tracing

API documentation

struct BindAccelerationStructureMemoryInfoNV <: Vulkan.HighLevelStruct
  • next::Any

  • acceleration_structure::AccelerationStructureNV

  • memory::DeviceMemory

  • memory_offset::UInt64

  • device_indices::Vector{UInt32}

source
Vulkan.BindAccelerationStructureMemoryInfoNVMethod

Extension: VK_NV_ray_tracing

Arguments:

  • acceleration_structure::AccelerationStructureNV
  • memory::DeviceMemory
  • memory_offset::UInt64
  • device_indices::Vector{UInt32}
  • next::Any: defaults to C_NULL

API documentation

BindAccelerationStructureMemoryInfoNV(
    acceleration_structure::AccelerationStructureNV,
    memory::DeviceMemory,
    memory_offset::Integer,
    device_indices::AbstractArray;
    next
) -> BindAccelerationStructureMemoryInfoNV
source
Vulkan.BindBufferMemoryInfoMethod

Arguments:

  • buffer::Buffer
  • memory::DeviceMemory
  • memory_offset::UInt64
  • next::Any: defaults to C_NULL

API documentation

BindBufferMemoryInfo(
    buffer::Buffer,
    memory::DeviceMemory,
    memory_offset::Integer;
    next
) -> BindBufferMemoryInfo
source
Vulkan.BindImageMemoryDeviceGroupInfoMethod

Arguments:

  • device_indices::Vector{UInt32}
  • split_instance_bind_regions::Vector{Rect2D}
  • next::Any: defaults to C_NULL

API documentation

BindImageMemoryDeviceGroupInfo(
    device_indices::AbstractArray,
    split_instance_bind_regions::AbstractArray;
    next
) -> BindImageMemoryDeviceGroupInfo
source
Vulkan.BindImageMemoryInfoMethod

Arguments:

  • image::Image
  • memory::DeviceMemory
  • memory_offset::UInt64
  • next::Any: defaults to C_NULL

API documentation

BindImageMemoryInfo(
    image::Image,
    memory::DeviceMemory,
    memory_offset::Integer;
    next
) -> BindImageMemoryInfo
source
Vulkan.BindImageMemorySwapchainInfoKHRMethod

Extension: VK_KHR_swapchain

Arguments:

  • swapchain::SwapchainKHR (externsync)
  • image_index::UInt32
  • next::Any: defaults to C_NULL

API documentation

BindImageMemorySwapchainInfoKHR(
    swapchain::SwapchainKHR,
    image_index::Integer;
    next
) -> BindImageMemorySwapchainInfoKHR
source
Vulkan.BindSparseInfoType

High-level wrapper for VkBindSparseInfo.

API documentation

struct BindSparseInfo <: Vulkan.HighLevelStruct
  • next::Any

  • wait_semaphores::Vector{Semaphore}

  • buffer_binds::Vector{SparseBufferMemoryBindInfo}

  • image_opaque_binds::Vector{SparseImageOpaqueMemoryBindInfo}

  • image_binds::Vector{SparseImageMemoryBindInfo}

  • signal_semaphores::Vector{Semaphore}

source
Vulkan.BindSparseInfoMethod

Arguments:

  • wait_semaphores::Vector{Semaphore}
  • buffer_binds::Vector{SparseBufferMemoryBindInfo}
  • image_opaque_binds::Vector{SparseImageOpaqueMemoryBindInfo}
  • image_binds::Vector{SparseImageMemoryBindInfo}
  • signal_semaphores::Vector{Semaphore}
  • next::Any: defaults to C_NULL

API documentation

BindSparseInfo(
    wait_semaphores::AbstractArray,
    buffer_binds::AbstractArray,
    image_opaque_binds::AbstractArray,
    image_binds::AbstractArray,
    signal_semaphores::AbstractArray;
    next
) -> BindSparseInfo
source
Vulkan.BindVideoSessionMemoryInfoKHRType

High-level wrapper for VkBindVideoSessionMemoryInfoKHR.

Extension: VK_KHR_video_queue

API documentation

struct BindVideoSessionMemoryInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • memory_bind_index::UInt32

  • memory::DeviceMemory

  • memory_offset::UInt64

  • memory_size::UInt64

source
Vulkan.BindVideoSessionMemoryInfoKHRMethod

Extension: VK_KHR_video_queue

Arguments:

  • memory_bind_index::UInt32
  • memory::DeviceMemory
  • memory_offset::UInt64
  • memory_size::UInt64
  • next::Any: defaults to C_NULL

API documentation

BindVideoSessionMemoryInfoKHR(
    memory_bind_index::Integer,
    memory::DeviceMemory,
    memory_offset::Integer,
    memory_size::Integer;
    next
) -> BindVideoSessionMemoryInfoKHR
source
Vulkan.BlitImageInfo2Type

High-level wrapper for VkBlitImageInfo2.

API documentation

struct BlitImageInfo2 <: Vulkan.HighLevelStruct
  • next::Any

  • src_image::Image

  • src_image_layout::ImageLayout

  • dst_image::Image

  • dst_image_layout::ImageLayout

  • regions::Vector{ImageBlit2}

  • filter::Filter

source
Vulkan.BlitImageInfo2Method

Arguments:

  • src_image::Image
  • src_image_layout::ImageLayout
  • dst_image::Image
  • dst_image_layout::ImageLayout
  • regions::Vector{ImageBlit2}
  • filter::Filter
  • next::Any: defaults to C_NULL

API documentation

BlitImageInfo2(
    src_image::Image,
    src_image_layout::ImageLayout,
    dst_image::Image,
    dst_image_layout::ImageLayout,
    regions::AbstractArray,
    filter::Filter;
    next
) -> BlitImageInfo2
source
Vulkan.BufferMethod

Arguments:

  • device::Device
  • size::UInt64
  • usage::BufferUsageFlag
  • sharing_mode::SharingMode
  • queue_family_indices::Vector{UInt32}
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::BufferCreateFlag: defaults to 0

API documentation

Buffer(
    device,
    size::Integer,
    usage::BufferUsageFlag,
    sharing_mode::SharingMode,
    queue_family_indices::AbstractArray;
    allocator,
    next,
    flags
) -> Buffer
source
Vulkan.BufferCopy2Method

Arguments:

  • src_offset::UInt64
  • dst_offset::UInt64
  • size::UInt64
  • next::Any: defaults to C_NULL

API documentation

BufferCopy2(
    src_offset::Integer,
    dst_offset::Integer,
    size::Integer;
    next
) -> BufferCopy2
source
Vulkan.BufferCreateInfoType

High-level wrapper for VkBufferCreateInfo.

API documentation

struct BufferCreateInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::BufferCreateFlag

  • size::UInt64

  • usage::BufferUsageFlag

  • sharing_mode::SharingMode

  • queue_family_indices::Vector{UInt32}

source
Vulkan.BufferCreateInfoMethod

Arguments:

  • size::UInt64
  • usage::BufferUsageFlag
  • sharing_mode::SharingMode
  • queue_family_indices::Vector{UInt32}
  • next::Any: defaults to C_NULL
  • flags::BufferCreateFlag: defaults to 0

API documentation

BufferCreateInfo(
    size::Integer,
    usage::BufferUsageFlag,
    sharing_mode::SharingMode,
    queue_family_indices::AbstractArray;
    next,
    flags
) -> BufferCreateInfo
source
Vulkan.BufferImageCopyType

High-level wrapper for VkBufferImageCopy.

API documentation

struct BufferImageCopy <: Vulkan.HighLevelStruct
  • buffer_offset::UInt64

  • buffer_row_length::UInt32

  • buffer_image_height::UInt32

  • image_subresource::ImageSubresourceLayers

  • image_offset::Offset3D

  • image_extent::Extent3D

source
Vulkan.BufferImageCopy2Type

High-level wrapper for VkBufferImageCopy2.

API documentation

struct BufferImageCopy2 <: Vulkan.HighLevelStruct
  • next::Any

  • buffer_offset::UInt64

  • buffer_row_length::UInt32

  • buffer_image_height::UInt32

  • image_subresource::ImageSubresourceLayers

  • image_offset::Offset3D

  • image_extent::Extent3D

source
Vulkan.BufferImageCopy2Method

Arguments:

  • buffer_offset::UInt64
  • buffer_row_length::UInt32
  • buffer_image_height::UInt32
  • image_subresource::ImageSubresourceLayers
  • image_offset::Offset3D
  • image_extent::Extent3D
  • next::Any: defaults to C_NULL

API documentation

BufferImageCopy2(
    buffer_offset::Integer,
    buffer_row_length::Integer,
    buffer_image_height::Integer,
    image_subresource::ImageSubresourceLayers,
    image_offset::Offset3D,
    image_extent::Extent3D;
    next
) -> BufferImageCopy2
source
Vulkan.BufferMemoryBarrierType

High-level wrapper for VkBufferMemoryBarrier.

API documentation

struct BufferMemoryBarrier <: Vulkan.HighLevelStruct
  • next::Any

  • src_access_mask::AccessFlag

  • dst_access_mask::AccessFlag

  • src_queue_family_index::UInt32

  • dst_queue_family_index::UInt32

  • buffer::Buffer

  • offset::UInt64

  • size::UInt64

source
Vulkan.BufferMemoryBarrierMethod

Arguments:

  • src_access_mask::AccessFlag
  • dst_access_mask::AccessFlag
  • src_queue_family_index::UInt32
  • dst_queue_family_index::UInt32
  • buffer::Buffer
  • offset::UInt64
  • size::UInt64
  • next::Any: defaults to C_NULL

API documentation

BufferMemoryBarrier(
    src_access_mask::AccessFlag,
    dst_access_mask::AccessFlag,
    src_queue_family_index::Integer,
    dst_queue_family_index::Integer,
    buffer::Buffer,
    offset::Integer,
    size::Integer;
    next
) -> BufferMemoryBarrier
source
Vulkan.BufferMemoryBarrier2Type

High-level wrapper for VkBufferMemoryBarrier2.

API documentation

struct BufferMemoryBarrier2 <: Vulkan.HighLevelStruct
  • next::Any

  • src_stage_mask::UInt64

  • src_access_mask::UInt64

  • dst_stage_mask::UInt64

  • dst_access_mask::UInt64

  • src_queue_family_index::UInt32

  • dst_queue_family_index::UInt32

  • buffer::Buffer

  • offset::UInt64

  • size::UInt64

source
Vulkan.BufferMemoryBarrier2Method

Arguments:

  • src_queue_family_index::UInt32
  • dst_queue_family_index::UInt32
  • buffer::Buffer
  • offset::UInt64
  • size::UInt64
  • next::Any: defaults to C_NULL
  • src_stage_mask::UInt64: defaults to 0
  • src_access_mask::UInt64: defaults to 0
  • dst_stage_mask::UInt64: defaults to 0
  • dst_access_mask::UInt64: defaults to 0

API documentation

BufferMemoryBarrier2(
    src_queue_family_index::Integer,
    dst_queue_family_index::Integer,
    buffer::Buffer,
    offset::Integer,
    size::Integer;
    next,
    src_stage_mask,
    src_access_mask,
    dst_stage_mask,
    dst_access_mask
) -> BufferMemoryBarrier2
source
Vulkan.BufferViewMethod

Arguments:

  • device::Device
  • buffer::Buffer
  • format::Format
  • offset::UInt64
  • range::UInt64
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

BufferView(
    device,
    buffer,
    format::Format,
    offset::Integer,
    range::Integer;
    allocator,
    next,
    flags
) -> BufferView
source
Vulkan.BufferViewCreateInfoMethod

Arguments:

  • buffer::Buffer
  • format::Format
  • offset::UInt64
  • range::UInt64
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

BufferViewCreateInfo(
    buffer::Buffer,
    format::Format,
    offset::Integer,
    range::Integer;
    next,
    flags
) -> BufferViewCreateInfo
source
Vulkan.CheckpointData2NVType

High-level wrapper for VkCheckpointData2NV.

Extension: VK_KHR_synchronization2

API documentation

struct CheckpointData2NV <: Vulkan.HighLevelStruct
  • next::Any

  • stage::UInt64

  • checkpoint_marker::Ptr{Nothing}

source
Vulkan.CheckpointData2NVMethod

Extension: VK_KHR_synchronization2

Arguments:

  • stage::UInt64
  • checkpoint_marker::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

CheckpointData2NV(
    stage::Integer,
    checkpoint_marker::Ptr{Nothing};
    next
) -> CheckpointData2NV
source
Vulkan.CheckpointDataNVType

High-level wrapper for VkCheckpointDataNV.

Extension: VK_NV_device_diagnostic_checkpoints

API documentation

struct CheckpointDataNV <: Vulkan.HighLevelStruct
  • next::Any

  • stage::PipelineStageFlag

  • checkpoint_marker::Ptr{Nothing}

source
Vulkan.CheckpointDataNVMethod

Extension: VK_NV_device_diagnostic_checkpoints

Arguments:

  • stage::PipelineStageFlag
  • checkpoint_marker::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

CheckpointDataNV(
    stage::PipelineStageFlag,
    checkpoint_marker::Ptr{Nothing};
    next
) -> CheckpointDataNV
source
Vulkan.CoarseSampleOrderCustomNVType

High-level wrapper for VkCoarseSampleOrderCustomNV.

Extension: VK_NV_shading_rate_image

API documentation

struct CoarseSampleOrderCustomNV <: Vulkan.HighLevelStruct
  • shading_rate::ShadingRatePaletteEntryNV

  • sample_count::UInt32

  • sample_locations::Vector{CoarseSampleLocationNV}

source
Vulkan.ColorBlendAdvancedEXTType

High-level wrapper for VkColorBlendAdvancedEXT.

Extension: VK_EXT_extended_dynamic_state3

API documentation

struct ColorBlendAdvancedEXT <: Vulkan.HighLevelStruct
  • advanced_blend_op::BlendOp

  • src_premultiplied::Bool

  • dst_premultiplied::Bool

  • blend_overlap::BlendOverlapEXT

  • clamp_results::Bool

source
Vulkan.ColorBlendEquationEXTType

High-level wrapper for VkColorBlendEquationEXT.

Extension: VK_EXT_extended_dynamic_state3

API documentation

struct ColorBlendEquationEXT <: Vulkan.HighLevelStruct
  • src_color_blend_factor::BlendFactor

  • dst_color_blend_factor::BlendFactor

  • color_blend_op::BlendOp

  • src_alpha_blend_factor::BlendFactor

  • dst_alpha_blend_factor::BlendFactor

  • alpha_blend_op::BlendOp

source
Vulkan.CommandBufferAllocateInfoMethod

Arguments:

  • command_pool::CommandPool
  • level::CommandBufferLevel
  • command_buffer_count::UInt32
  • next::Any: defaults to C_NULL

API documentation

CommandBufferAllocateInfo(
    command_pool::CommandPool,
    level::CommandBufferLevel,
    command_buffer_count::Integer;
    next
) -> CommandBufferAllocateInfo
source
Vulkan.CommandBufferBeginInfoType

High-level wrapper for VkCommandBufferBeginInfo.

API documentation

struct CommandBufferBeginInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::CommandBufferUsageFlag

  • inheritance_info::Union{Ptr{Nothing}, CommandBufferInheritanceInfo}

source
Vulkan.CommandBufferBeginInfoMethod

Arguments:

  • next::Any: defaults to C_NULL
  • flags::CommandBufferUsageFlag: defaults to 0
  • inheritance_info::CommandBufferInheritanceInfo: defaults to C_NULL

API documentation

CommandBufferBeginInfo(
;
    next,
    flags,
    inheritance_info
) -> CommandBufferBeginInfo
source
Vulkan.CommandBufferInheritanceInfoType

High-level wrapper for VkCommandBufferInheritanceInfo.

API documentation

struct CommandBufferInheritanceInfo <: Vulkan.HighLevelStruct
  • next::Any

  • render_pass::Union{Ptr{Nothing}, RenderPass}

  • subpass::UInt32

  • framebuffer::Union{Ptr{Nothing}, Framebuffer}

  • occlusion_query_enable::Bool

  • query_flags::QueryControlFlag

  • pipeline_statistics::QueryPipelineStatisticFlag

source
Vulkan.CommandBufferInheritanceInfoMethod

Arguments:

  • subpass::UInt32
  • occlusion_query_enable::Bool
  • next::Any: defaults to C_NULL
  • render_pass::RenderPass: defaults to C_NULL
  • framebuffer::Framebuffer: defaults to C_NULL
  • query_flags::QueryControlFlag: defaults to 0
  • pipeline_statistics::QueryPipelineStatisticFlag: defaults to 0

API documentation

CommandBufferInheritanceInfo(
    subpass::Integer,
    occlusion_query_enable::Bool;
    next,
    render_pass,
    framebuffer,
    query_flags,
    pipeline_statistics
) -> CommandBufferInheritanceInfo
source
Vulkan.CommandBufferInheritanceRenderingInfoType

High-level wrapper for VkCommandBufferInheritanceRenderingInfo.

API documentation

struct CommandBufferInheritanceRenderingInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::RenderingFlag

  • view_mask::UInt32

  • color_attachment_formats::Vector{Format}

  • depth_attachment_format::Format

  • stencil_attachment_format::Format

  • rasterization_samples::SampleCountFlag

source
Vulkan.CommandBufferInheritanceRenderingInfoMethod

Arguments:

  • view_mask::UInt32
  • color_attachment_formats::Vector{Format}
  • depth_attachment_format::Format
  • stencil_attachment_format::Format
  • next::Any: defaults to C_NULL
  • flags::RenderingFlag: defaults to 0
  • rasterization_samples::SampleCountFlag: defaults to 0

API documentation

CommandBufferInheritanceRenderingInfo(
    view_mask::Integer,
    color_attachment_formats::AbstractArray,
    depth_attachment_format::Format,
    stencil_attachment_format::Format;
    next,
    flags,
    rasterization_samples
) -> CommandBufferInheritanceRenderingInfo
source
Vulkan.CommandBufferInheritanceViewportScissorInfoNVMethod

Extension: VK_NV_inherited_viewport_scissor

Arguments:

  • viewport_scissor_2_d::Bool
  • viewport_depth_count::UInt32
  • viewport_depths::Viewport
  • next::Any: defaults to C_NULL

API documentation

CommandBufferInheritanceViewportScissorInfoNV(
    viewport_scissor_2_d::Bool,
    viewport_depth_count::Integer,
    viewport_depths::Viewport;
    next
) -> CommandBufferInheritanceViewportScissorInfoNV
source
Vulkan.CommandPoolMethod

Arguments:

  • device::Device
  • queue_family_index::UInt32
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::CommandPoolCreateFlag: defaults to 0

API documentation

CommandPool(
    device,
    queue_family_index::Integer;
    allocator,
    next,
    flags
) -> CommandPool
source
Vulkan.CommandPoolCreateInfoMethod

Arguments:

  • queue_family_index::UInt32
  • next::Any: defaults to C_NULL
  • flags::CommandPoolCreateFlag: defaults to 0

API documentation

CommandPoolCreateInfo(
    queue_family_index::Integer;
    next,
    flags
) -> CommandPoolCreateInfo
source
Vulkan.ComputePipelineCreateInfoType

High-level wrapper for VkComputePipelineCreateInfo.

API documentation

struct ComputePipelineCreateInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::PipelineCreateFlag

  • stage::PipelineShaderStageCreateInfo

  • layout::PipelineLayout

  • base_pipeline_handle::Union{Ptr{Nothing}, Pipeline}

  • base_pipeline_index::Int32

source
Vulkan.ComputePipelineCreateInfoMethod

Arguments:

  • stage::PipelineShaderStageCreateInfo
  • layout::PipelineLayout
  • base_pipeline_index::Int32
  • next::Any: defaults to C_NULL
  • flags::PipelineCreateFlag: defaults to 0
  • base_pipeline_handle::Pipeline: defaults to C_NULL

API documentation

ComputePipelineCreateInfo(
    stage::PipelineShaderStageCreateInfo,
    layout::PipelineLayout,
    base_pipeline_index::Integer;
    next,
    flags,
    base_pipeline_handle
) -> ComputePipelineCreateInfo
source
Vulkan.ConditionalRenderingBeginInfoEXTMethod

Extension: VK_EXT_conditional_rendering

Arguments:

  • buffer::Buffer
  • offset::UInt64
  • next::Any: defaults to C_NULL
  • flags::ConditionalRenderingFlagEXT: defaults to 0

API documentation

ConditionalRenderingBeginInfoEXT(
    buffer::Buffer,
    offset::Integer;
    next,
    flags
) -> ConditionalRenderingBeginInfoEXT
source
Vulkan.CooperativeMatrixPropertiesNVType

High-level wrapper for VkCooperativeMatrixPropertiesNV.

Extension: VK_NV_cooperative_matrix

API documentation

struct CooperativeMatrixPropertiesNV <: Vulkan.HighLevelStruct
  • next::Any

  • m_size::UInt32

  • n_size::UInt32

  • k_size::UInt32

  • a_type::ComponentTypeNV

  • b_type::ComponentTypeNV

  • c_type::ComponentTypeNV

  • d_type::ComponentTypeNV

  • scope::ScopeNV

source
Vulkan.CooperativeMatrixPropertiesNVMethod

Extension: VK_NV_cooperative_matrix

Arguments:

  • m_size::UInt32
  • n_size::UInt32
  • k_size::UInt32
  • a_type::ComponentTypeNV
  • b_type::ComponentTypeNV
  • c_type::ComponentTypeNV
  • d_type::ComponentTypeNV
  • scope::ScopeNV
  • next::Any: defaults to C_NULL

API documentation

CooperativeMatrixPropertiesNV(
    m_size::Integer,
    n_size::Integer,
    k_size::Integer,
    a_type::ComponentTypeNV,
    b_type::ComponentTypeNV,
    c_type::ComponentTypeNV,
    d_type::ComponentTypeNV,
    scope::ScopeNV;
    next
) -> CooperativeMatrixPropertiesNV
source
Vulkan.CopyAccelerationStructureInfoKHRType

High-level wrapper for VkCopyAccelerationStructureInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct CopyAccelerationStructureInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • src::AccelerationStructureKHR

  • dst::AccelerationStructureKHR

  • mode::CopyAccelerationStructureModeKHR

source
Vulkan.CopyAccelerationStructureInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • src::AccelerationStructureKHR
  • dst::AccelerationStructureKHR
  • mode::CopyAccelerationStructureModeKHR
  • next::Any: defaults to C_NULL

API documentation

CopyAccelerationStructureInfoKHR(
    src::AccelerationStructureKHR,
    dst::AccelerationStructureKHR,
    mode::CopyAccelerationStructureModeKHR;
    next
) -> CopyAccelerationStructureInfoKHR
source
Vulkan.CopyAccelerationStructureToMemoryInfoKHRType

High-level wrapper for VkCopyAccelerationStructureToMemoryInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct CopyAccelerationStructureToMemoryInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • src::AccelerationStructureKHR

  • dst::DeviceOrHostAddressKHR

  • mode::CopyAccelerationStructureModeKHR

source
Vulkan.CopyAccelerationStructureToMemoryInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • src::AccelerationStructureKHR
  • dst::DeviceOrHostAddressKHR
  • mode::CopyAccelerationStructureModeKHR
  • next::Any: defaults to C_NULL

API documentation

CopyAccelerationStructureToMemoryInfoKHR(
    src::AccelerationStructureKHR,
    dst::DeviceOrHostAddressKHR,
    mode::CopyAccelerationStructureModeKHR;
    next
) -> CopyAccelerationStructureToMemoryInfoKHR
source
Vulkan.CopyBufferInfo2Method

Arguments:

  • src_buffer::Buffer
  • dst_buffer::Buffer
  • regions::Vector{BufferCopy2}
  • next::Any: defaults to C_NULL

API documentation

CopyBufferInfo2(
    src_buffer::Buffer,
    dst_buffer::Buffer,
    regions::AbstractArray;
    next
) -> CopyBufferInfo2
source
Vulkan.CopyBufferToImageInfo2Type

High-level wrapper for VkCopyBufferToImageInfo2.

API documentation

struct CopyBufferToImageInfo2 <: Vulkan.HighLevelStruct
  • next::Any

  • src_buffer::Buffer

  • dst_image::Image

  • dst_image_layout::ImageLayout

  • regions::Vector{BufferImageCopy2}

source
Vulkan.CopyBufferToImageInfo2Method

Arguments:

  • src_buffer::Buffer
  • dst_image::Image
  • dst_image_layout::ImageLayout
  • regions::Vector{BufferImageCopy2}
  • next::Any: defaults to C_NULL

API documentation

CopyBufferToImageInfo2(
    src_buffer::Buffer,
    dst_image::Image,
    dst_image_layout::ImageLayout,
    regions::AbstractArray;
    next
) -> CopyBufferToImageInfo2
source
Vulkan.CopyDescriptorSetType

High-level wrapper for VkCopyDescriptorSet.

API documentation

struct CopyDescriptorSet <: Vulkan.HighLevelStruct
  • next::Any

  • src_set::DescriptorSet

  • src_binding::UInt32

  • src_array_element::UInt32

  • dst_set::DescriptorSet

  • dst_binding::UInt32

  • dst_array_element::UInt32

  • descriptor_count::UInt32

source
Vulkan.CopyDescriptorSetMethod

Arguments:

  • src_set::DescriptorSet
  • src_binding::UInt32
  • src_array_element::UInt32
  • dst_set::DescriptorSet
  • dst_binding::UInt32
  • dst_array_element::UInt32
  • descriptor_count::UInt32
  • next::Any: defaults to C_NULL

API documentation

CopyDescriptorSet(
    src_set::DescriptorSet,
    src_binding::Integer,
    src_array_element::Integer,
    dst_set::DescriptorSet,
    dst_binding::Integer,
    dst_array_element::Integer,
    descriptor_count::Integer;
    next
) -> CopyDescriptorSet
source
Vulkan.CopyImageInfo2Type

High-level wrapper for VkCopyImageInfo2.

API documentation

struct CopyImageInfo2 <: Vulkan.HighLevelStruct
  • next::Any

  • src_image::Image

  • src_image_layout::ImageLayout

  • dst_image::Image

  • dst_image_layout::ImageLayout

  • regions::Vector{ImageCopy2}

source
Vulkan.CopyImageInfo2Method

Arguments:

  • src_image::Image
  • src_image_layout::ImageLayout
  • dst_image::Image
  • dst_image_layout::ImageLayout
  • regions::Vector{ImageCopy2}
  • next::Any: defaults to C_NULL

API documentation

CopyImageInfo2(
    src_image::Image,
    src_image_layout::ImageLayout,
    dst_image::Image,
    dst_image_layout::ImageLayout,
    regions::AbstractArray;
    next
) -> CopyImageInfo2
source
Vulkan.CopyImageToBufferInfo2Type

High-level wrapper for VkCopyImageToBufferInfo2.

API documentation

struct CopyImageToBufferInfo2 <: Vulkan.HighLevelStruct
  • next::Any

  • src_image::Image

  • src_image_layout::ImageLayout

  • dst_buffer::Buffer

  • regions::Vector{BufferImageCopy2}

source
Vulkan.CopyImageToBufferInfo2Method

Arguments:

  • src_image::Image
  • src_image_layout::ImageLayout
  • dst_buffer::Buffer
  • regions::Vector{BufferImageCopy2}
  • next::Any: defaults to C_NULL

API documentation

CopyImageToBufferInfo2(
    src_image::Image,
    src_image_layout::ImageLayout,
    dst_buffer::Buffer,
    regions::AbstractArray;
    next
) -> CopyImageToBufferInfo2
source
Vulkan.CopyMemoryToAccelerationStructureInfoKHRType

High-level wrapper for VkCopyMemoryToAccelerationStructureInfoKHR.

Extension: VK_KHR_acceleration_structure

API documentation

struct CopyMemoryToAccelerationStructureInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • src::DeviceOrHostAddressConstKHR

  • dst::AccelerationStructureKHR

  • mode::CopyAccelerationStructureModeKHR

source
Vulkan.CopyMemoryToAccelerationStructureInfoKHRMethod

Extension: VK_KHR_acceleration_structure

Arguments:

  • src::DeviceOrHostAddressConstKHR
  • dst::AccelerationStructureKHR
  • mode::CopyAccelerationStructureModeKHR
  • next::Any: defaults to C_NULL

API documentation

CopyMemoryToAccelerationStructureInfoKHR(
    src::DeviceOrHostAddressConstKHR,
    dst::AccelerationStructureKHR,
    mode::CopyAccelerationStructureModeKHR;
    next
) -> CopyMemoryToAccelerationStructureInfoKHR
source
Vulkan.CopyMemoryToImageIndirectCommandNVType

High-level wrapper for VkCopyMemoryToImageIndirectCommandNV.

Extension: VK_NV_copy_memory_indirect

API documentation

struct CopyMemoryToImageIndirectCommandNV <: Vulkan.HighLevelStruct
  • src_address::UInt64

  • buffer_row_length::UInt32

  • buffer_image_height::UInt32

  • image_subresource::ImageSubresourceLayers

  • image_offset::Offset3D

  • image_extent::Extent3D

source
Vulkan.CopyMemoryToMicromapInfoEXTType

High-level wrapper for VkCopyMemoryToMicromapInfoEXT.

Extension: VK_EXT_opacity_micromap

API documentation

struct CopyMemoryToMicromapInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • src::DeviceOrHostAddressConstKHR

  • dst::MicromapEXT

  • mode::CopyMicromapModeEXT

source
Vulkan.CopyMemoryToMicromapInfoEXTMethod

Extension: VK_EXT_opacity_micromap

Arguments:

  • src::DeviceOrHostAddressConstKHR
  • dst::MicromapEXT
  • mode::CopyMicromapModeEXT
  • next::Any: defaults to C_NULL

API documentation

CopyMemoryToMicromapInfoEXT(
    src::DeviceOrHostAddressConstKHR,
    dst::MicromapEXT,
    mode::CopyMicromapModeEXT;
    next
) -> CopyMemoryToMicromapInfoEXT
source
Vulkan.CopyMicromapInfoEXTType

High-level wrapper for VkCopyMicromapInfoEXT.

Extension: VK_EXT_opacity_micromap

API documentation

struct CopyMicromapInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • src::MicromapEXT

  • dst::MicromapEXT

  • mode::CopyMicromapModeEXT

source
Vulkan.CopyMicromapInfoEXTMethod

Extension: VK_EXT_opacity_micromap

Arguments:

  • src::MicromapEXT
  • dst::MicromapEXT
  • mode::CopyMicromapModeEXT
  • next::Any: defaults to C_NULL

API documentation

CopyMicromapInfoEXT(
    src::MicromapEXT,
    dst::MicromapEXT,
    mode::CopyMicromapModeEXT;
    next
) -> CopyMicromapInfoEXT
source
Vulkan.CopyMicromapToMemoryInfoEXTType

High-level wrapper for VkCopyMicromapToMemoryInfoEXT.

Extension: VK_EXT_opacity_micromap

API documentation

struct CopyMicromapToMemoryInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • src::MicromapEXT

  • dst::DeviceOrHostAddressKHR

  • mode::CopyMicromapModeEXT

source
Vulkan.CopyMicromapToMemoryInfoEXTMethod

Extension: VK_EXT_opacity_micromap

Arguments:

  • src::MicromapEXT
  • dst::DeviceOrHostAddressKHR
  • mode::CopyMicromapModeEXT
  • next::Any: defaults to C_NULL

API documentation

CopyMicromapToMemoryInfoEXT(
    src::MicromapEXT,
    dst::DeviceOrHostAddressKHR,
    mode::CopyMicromapModeEXT;
    next
) -> CopyMicromapToMemoryInfoEXT
source
Vulkan.CuFunctionCreateInfoNVXMethod

Extension: VK_NVX_binary_import

Arguments:

  • _module::CuModuleNVX
  • name::String
  • next::Any: defaults to C_NULL

API documentation

CuFunctionCreateInfoNVX(
    _module::CuModuleNVX,
    name::AbstractString;
    next
) -> CuFunctionCreateInfoNVX
source
Vulkan.CuFunctionNVXMethod

Extension: VK_NVX_binary_import

Arguments:

  • device::Device
  • _module::CuModuleNVX
  • name::String
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL

API documentation

CuFunctionNVX(
    device,
    _module,
    name::AbstractString;
    allocator,
    next
) -> CuFunctionNVX
source
Vulkan.CuLaunchInfoNVXType

High-level wrapper for VkCuLaunchInfoNVX.

Extension: VK_NVX_binary_import

API documentation

struct CuLaunchInfoNVX <: Vulkan.HighLevelStruct
  • next::Any

  • _function::CuFunctionNVX

  • grid_dim_x::UInt32

  • grid_dim_y::UInt32

  • grid_dim_z::UInt32

  • block_dim_x::UInt32

  • block_dim_y::UInt32

  • block_dim_z::UInt32

  • shared_mem_bytes::UInt32

source
Vulkan.CuLaunchInfoNVXMethod

Extension: VK_NVX_binary_import

Arguments:

  • _function::CuFunctionNVX
  • grid_dim_x::UInt32
  • grid_dim_y::UInt32
  • grid_dim_z::UInt32
  • block_dim_x::UInt32
  • block_dim_y::UInt32
  • block_dim_z::UInt32
  • shared_mem_bytes::UInt32
  • next::Any: defaults to C_NULL

API documentation

CuLaunchInfoNVX(
    _function::CuFunctionNVX,
    grid_dim_x::Integer,
    grid_dim_y::Integer,
    grid_dim_z::Integer,
    block_dim_x::Integer,
    block_dim_y::Integer,
    block_dim_z::Integer,
    shared_mem_bytes::Integer;
    next
) -> CuLaunchInfoNVX
source
Vulkan.CuModuleCreateInfoNVXMethod

Extension: VK_NVX_binary_import

Arguments:

  • data_size::UInt
  • data::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

CuModuleCreateInfoNVX(
    data_size::Integer,
    data::Ptr{Nothing};
    next
) -> CuModuleCreateInfoNVX
source
Vulkan.CuModuleNVXMethod

Extension: VK_NVX_binary_import

Arguments:

  • device::Device
  • data_size::UInt
  • data::Ptr{Cvoid}
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL

API documentation

CuModuleNVX(
    device,
    data_size::Integer,
    data::Ptr{Nothing};
    allocator,
    next
) -> CuModuleNVX
source
Vulkan.DebugMarkerMarkerInfoEXTMethod

Extension: VK_EXT_debug_marker

Arguments:

  • marker_name::String
  • color::NTuple{4, Float32}
  • next::Any: defaults to C_NULL

API documentation

DebugMarkerMarkerInfoEXT(
    marker_name::AbstractString,
    color::NTuple{4, Float32};
    next
) -> DebugMarkerMarkerInfoEXT
source
Vulkan.DebugMarkerObjectNameInfoEXTType

High-level wrapper for VkDebugMarkerObjectNameInfoEXT.

Extension: VK_EXT_debug_marker

API documentation

struct DebugMarkerObjectNameInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • object_type::DebugReportObjectTypeEXT

  • object::UInt64

  • object_name::String

source
Vulkan.DebugMarkerObjectNameInfoEXTMethod

Extension: VK_EXT_debug_marker

Arguments:

  • object_type::DebugReportObjectTypeEXT
  • object::UInt64
  • object_name::String
  • next::Any: defaults to C_NULL

API documentation

DebugMarkerObjectNameInfoEXT(
    object_type::DebugReportObjectTypeEXT,
    object::Integer,
    object_name::AbstractString;
    next
) -> DebugMarkerObjectNameInfoEXT
source
Vulkan.DebugMarkerObjectTagInfoEXTType

High-level wrapper for VkDebugMarkerObjectTagInfoEXT.

Extension: VK_EXT_debug_marker

API documentation

struct DebugMarkerObjectTagInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • object_type::DebugReportObjectTypeEXT

  • object::UInt64

  • tag_name::UInt64

  • tag_size::UInt64

  • tag::Ptr{Nothing}

source
Vulkan.DebugMarkerObjectTagInfoEXTMethod

Extension: VK_EXT_debug_marker

Arguments:

  • object_type::DebugReportObjectTypeEXT
  • object::UInt64
  • tag_name::UInt64
  • tag_size::UInt
  • tag::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

DebugMarkerObjectTagInfoEXT(
    object_type::DebugReportObjectTypeEXT,
    object::Integer,
    tag_name::Integer,
    tag_size::Integer,
    tag::Ptr{Nothing};
    next
) -> DebugMarkerObjectTagInfoEXT
source
Vulkan.DebugReportCallbackCreateInfoEXTType

High-level wrapper for VkDebugReportCallbackCreateInfoEXT.

Extension: VK_EXT_debug_report

API documentation

struct DebugReportCallbackCreateInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::DebugReportFlagEXT

  • pfn_callback::Union{Ptr{Nothing}, Base.CFunction}

  • user_data::Ptr{Nothing}

source
Vulkan.DebugReportCallbackCreateInfoEXTMethod

Extension: VK_EXT_debug_report

Arguments:

  • pfn_callback::FunctionPtr
  • next::Any: defaults to C_NULL
  • flags::DebugReportFlagEXT: defaults to 0
  • user_data::Ptr{Cvoid}: defaults to C_NULL

API documentation

DebugReportCallbackCreateInfoEXT(
    pfn_callback::Union{Ptr{Nothing}, Base.CFunction};
    next,
    flags,
    user_data
) -> DebugReportCallbackCreateInfoEXT
source
Vulkan.DebugReportCallbackEXTMethod

Extension: VK_EXT_debug_report

Arguments:

  • instance::Instance
  • pfn_callback::FunctionPtr
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::DebugReportFlagEXT: defaults to 0
  • user_data::Ptr{Cvoid}: defaults to C_NULL

API documentation

DebugReportCallbackEXT(
    instance,
    pfn_callback::Union{Ptr{Nothing}, Base.CFunction};
    allocator,
    next,
    flags,
    user_data
) -> DebugReportCallbackEXT
source
Vulkan.DebugUtilsLabelEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • label_name::String
  • color::NTuple{4, Float32}
  • next::Any: defaults to C_NULL

API documentation

DebugUtilsLabelEXT(
    label_name::AbstractString,
    color::NTuple{4, Float32};
    next
) -> DebugUtilsLabelEXT
source
Vulkan.DebugUtilsMessengerCallbackDataEXTType

High-level wrapper for VkDebugUtilsMessengerCallbackDataEXT.

Extension: VK_EXT_debug_utils

API documentation

struct DebugUtilsMessengerCallbackDataEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • message_id_name::String

  • message_id_number::Int32

  • message::String

  • queue_labels::Vector{DebugUtilsLabelEXT}

  • cmd_buf_labels::Vector{DebugUtilsLabelEXT}

  • objects::Vector{DebugUtilsObjectNameInfoEXT}

source
Vulkan.DebugUtilsMessengerCallbackDataEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • message_id_number::Int32
  • message::String
  • queue_labels::Vector{DebugUtilsLabelEXT}
  • cmd_buf_labels::Vector{DebugUtilsLabelEXT}
  • objects::Vector{DebugUtilsObjectNameInfoEXT}
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • message_id_name::String: defaults to ``

API documentation

DebugUtilsMessengerCallbackDataEXT(
    message_id_number::Integer,
    message::AbstractString,
    queue_labels::AbstractArray,
    cmd_buf_labels::AbstractArray,
    objects::AbstractArray;
    next,
    flags,
    message_id_name
) -> DebugUtilsMessengerCallbackDataEXT
source
Vulkan.DebugUtilsMessengerCreateInfoEXTType

High-level wrapper for VkDebugUtilsMessengerCreateInfoEXT.

Extension: VK_EXT_debug_utils

API documentation

struct DebugUtilsMessengerCreateInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • message_severity::DebugUtilsMessageSeverityFlagEXT

  • message_type::DebugUtilsMessageTypeFlagEXT

  • pfn_user_callback::Union{Ptr{Nothing}, Base.CFunction}

  • user_data::Ptr{Nothing}

source
Vulkan.DebugUtilsMessengerCreateInfoEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • message_severity::DebugUtilsMessageSeverityFlagEXT
  • message_type::DebugUtilsMessageTypeFlagEXT
  • pfn_user_callback::FunctionPtr
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • user_data::Ptr{Cvoid}: defaults to C_NULL

API documentation

DebugUtilsMessengerCreateInfoEXT(
    message_severity::DebugUtilsMessageSeverityFlagEXT,
    message_type::DebugUtilsMessageTypeFlagEXT,
    pfn_user_callback::Union{Ptr{Nothing}, Base.CFunction};
    next,
    flags,
    user_data
) -> DebugUtilsMessengerCreateInfoEXT
source
Vulkan.DebugUtilsMessengerEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • instance::Instance
  • message_severity::DebugUtilsMessageSeverityFlagEXT
  • message_type::DebugUtilsMessageTypeFlagEXT
  • pfn_user_callback::FunctionPtr
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • user_data::Ptr{Cvoid}: defaults to C_NULL

API documentation

DebugUtilsMessengerEXT(
    instance,
    message_severity::DebugUtilsMessageSeverityFlagEXT,
    message_type::DebugUtilsMessageTypeFlagEXT,
    pfn_user_callback::Union{Ptr{Nothing}, Base.CFunction};
    allocator,
    next,
    flags,
    user_data
) -> DebugUtilsMessengerEXT
source
Vulkan.DebugUtilsMessengerEXTMethod

Register a user-defined callback and return the corresponding messenger. All the levels from min_severity will be included. Note that this controls only what messages are sent to the callback. The logging function may use logging macros such as @info or @error to easily filter logs through the Julia logging system.

A default function default_debug_callback can be converted to a function pointer to use as a callback.

Warning

callback must be a function pointer of type Ptr{Nothing} obtained from a callback_f function as follows: callback = @cfunction(callback_f, UInt32, (DebugUtilsMessageSeverityFlagEXT, DebugUtilsMessageTypeFlagEXT, Ptr{VkCore.VkDebugUtilsMessengerCallbackDataEXT}, Ptr{Cvoid})) with callback_f a Julia function with a signature matching the @cfunction call.

DebugUtilsMessengerEXT(
    instance::Instance,
    callback::Ptr{Nothing};
    min_severity,
    types
) -> DebugUtilsMessengerEXT
source
Vulkan.DebugUtilsObjectNameInfoEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • object_type::ObjectType
  • object_handle::UInt64
  • next::Any: defaults to C_NULL
  • object_name::String: defaults to ``

API documentation

DebugUtilsObjectNameInfoEXT(
    object_type::ObjectType,
    object_handle::Integer;
    next,
    object_name
) -> DebugUtilsObjectNameInfoEXT
source
Vulkan.DebugUtilsObjectTagInfoEXTType

High-level wrapper for VkDebugUtilsObjectTagInfoEXT.

Extension: VK_EXT_debug_utils

API documentation

struct DebugUtilsObjectTagInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • object_type::ObjectType

  • object_handle::UInt64

  • tag_name::UInt64

  • tag_size::UInt64

  • tag::Ptr{Nothing}

source
Vulkan.DebugUtilsObjectTagInfoEXTMethod

Extension: VK_EXT_debug_utils

Arguments:

  • object_type::ObjectType
  • object_handle::UInt64
  • tag_name::UInt64
  • tag_size::UInt
  • tag::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

DebugUtilsObjectTagInfoEXT(
    object_type::ObjectType,
    object_handle::Integer,
    tag_name::Integer,
    tag_size::Integer,
    tag::Ptr{Nothing};
    next
) -> DebugUtilsObjectTagInfoEXT
source
Vulkan.DecompressMemoryRegionNVType

High-level wrapper for VkDecompressMemoryRegionNV.

Extension: VK_NV_memory_decompression

API documentation

struct DecompressMemoryRegionNV <: Vulkan.HighLevelStruct
  • src_address::UInt64

  • dst_address::UInt64

  • compressed_size::UInt64

  • decompressed_size::UInt64

  • decompression_method::UInt64

source
Vulkan.DependencyInfoType

High-level wrapper for VkDependencyInfo.

API documentation

struct DependencyInfo <: Vulkan.HighLevelStruct
  • next::Any

  • dependency_flags::DependencyFlag

  • memory_barriers::Vector{MemoryBarrier2}

  • buffer_memory_barriers::Vector{BufferMemoryBarrier2}

  • image_memory_barriers::Vector{ImageMemoryBarrier2}

source
Vulkan.DependencyInfoMethod

Arguments:

  • memory_barriers::Vector{MemoryBarrier2}
  • buffer_memory_barriers::Vector{BufferMemoryBarrier2}
  • image_memory_barriers::Vector{ImageMemoryBarrier2}
  • next::Any: defaults to C_NULL
  • dependency_flags::DependencyFlag: defaults to 0

API documentation

DependencyInfo(
    memory_barriers::AbstractArray,
    buffer_memory_barriers::AbstractArray,
    image_memory_barriers::AbstractArray;
    next,
    dependency_flags
) -> DependencyInfo
source
Vulkan.DescriptorAddressInfoEXTMethod

Extension: VK_EXT_descriptor_buffer

Arguments:

  • address::UInt64
  • range::UInt64
  • format::Format
  • next::Any: defaults to C_NULL

API documentation

DescriptorAddressInfoEXT(
    address::Integer,
    range::Integer,
    format::Format;
    next
) -> DescriptorAddressInfoEXT
source
Vulkan.DescriptorGetInfoEXTMethod

Extension: VK_EXT_descriptor_buffer

Arguments:

  • type::DescriptorType
  • data::DescriptorDataEXT
  • next::Any: defaults to C_NULL

API documentation

DescriptorGetInfoEXT(
    type::DescriptorType,
    data::DescriptorDataEXT;
    next
) -> DescriptorGetInfoEXT
source
Vulkan.DescriptorPoolMethod

Arguments:

  • device::Device
  • max_sets::UInt32
  • pool_sizes::Vector{_DescriptorPoolSize}
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL
  • flags::DescriptorPoolCreateFlag: defaults to 0

API documentation

DescriptorPool(
    device,
    max_sets::Integer,
    pool_sizes::AbstractArray{_DescriptorPoolSize};
    allocator,
    next,
    flags
) -> DescriptorPool
source
Vulkan.DescriptorPoolMethod

Arguments:

  • device::Device
  • max_sets::UInt32
  • pool_sizes::Vector{DescriptorPoolSize}
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::DescriptorPoolCreateFlag: defaults to 0

API documentation

DescriptorPool(
    device,
    max_sets::Integer,
    pool_sizes::AbstractArray;
    allocator,
    next,
    flags
) -> DescriptorPool
source
Vulkan.DescriptorPoolCreateInfoMethod

Arguments:

  • max_sets::UInt32
  • pool_sizes::Vector{DescriptorPoolSize}
  • next::Any: defaults to C_NULL
  • flags::DescriptorPoolCreateFlag: defaults to 0

API documentation

DescriptorPoolCreateInfo(
    max_sets::Integer,
    pool_sizes::AbstractArray;
    next,
    flags
) -> DescriptorPoolCreateInfo
source
Vulkan.DescriptorSetAllocateInfoMethod

Arguments:

  • descriptor_pool::DescriptorPool
  • set_layouts::Vector{DescriptorSetLayout}
  • next::Any: defaults to C_NULL

API documentation

DescriptorSetAllocateInfo(
    descriptor_pool::DescriptorPool,
    set_layouts::AbstractArray;
    next
) -> DescriptorSetAllocateInfo
source
Vulkan.DescriptorSetBindingReferenceVALVEMethod

Extension: VK_VALVE_descriptor_set_host_mapping

Arguments:

  • descriptor_set_layout::DescriptorSetLayout
  • binding::UInt32
  • next::Any: defaults to C_NULL

API documentation

DescriptorSetBindingReferenceVALVE(
    descriptor_set_layout::DescriptorSetLayout,
    binding::Integer;
    next
) -> DescriptorSetBindingReferenceVALVE
source
Vulkan.DescriptorSetLayoutMethod

Arguments:

  • device::Device
  • bindings::Vector{_DescriptorSetLayoutBinding}
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL
  • flags::DescriptorSetLayoutCreateFlag: defaults to 0

API documentation

DescriptorSetLayout(
    device,
    bindings::AbstractArray{_DescriptorSetLayoutBinding};
    allocator,
    next,
    flags
) -> DescriptorSetLayout
source
Vulkan.DescriptorSetLayoutMethod

Arguments:

  • device::Device
  • bindings::Vector{DescriptorSetLayoutBinding}
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::DescriptorSetLayoutCreateFlag: defaults to 0

API documentation

DescriptorSetLayout(
    device,
    bindings::AbstractArray;
    allocator,
    next,
    flags
) -> DescriptorSetLayout
source
Vulkan.DescriptorSetLayoutBindingType

High-level wrapper for VkDescriptorSetLayoutBinding.

API documentation

struct DescriptorSetLayoutBinding <: Vulkan.HighLevelStruct
  • binding::UInt32

  • descriptor_type::DescriptorType

  • descriptor_count::UInt32

  • stage_flags::ShaderStageFlag

  • immutable_samplers::Union{Ptr{Nothing}, Vector{Sampler}}

source
Vulkan.DescriptorSetLayoutBindingMethod

Arguments:

  • binding::UInt32
  • descriptor_type::DescriptorType
  • stage_flags::ShaderStageFlag
  • descriptor_count::UInt32: defaults to 0
  • immutable_samplers::Vector{Sampler}: defaults to C_NULL

API documentation

DescriptorSetLayoutBinding(
    binding::Integer,
    descriptor_type::DescriptorType,
    stage_flags::ShaderStageFlag;
    descriptor_count,
    immutable_samplers
) -> DescriptorSetLayoutBinding
source
Vulkan.DescriptorSetLayoutCreateInfoMethod

Arguments:

  • bindings::Vector{DescriptorSetLayoutBinding}
  • next::Any: defaults to C_NULL
  • flags::DescriptorSetLayoutCreateFlag: defaults to 0

API documentation

DescriptorSetLayoutCreateInfo(
    bindings::AbstractArray;
    next,
    flags
) -> DescriptorSetLayoutCreateInfo
source
Vulkan.DescriptorSetLayoutHostMappingInfoVALVEMethod

Extension: VK_VALVE_descriptor_set_host_mapping

Arguments:

  • descriptor_offset::UInt
  • descriptor_size::UInt32
  • next::Any: defaults to C_NULL

API documentation

DescriptorSetLayoutHostMappingInfoVALVE(
    descriptor_offset::Integer,
    descriptor_size::Integer;
    next
) -> DescriptorSetLayoutHostMappingInfoVALVE
source
Vulkan.DescriptorUpdateTemplateMethod

Arguments:

  • device::Device
  • descriptor_update_entries::Vector{DescriptorUpdateTemplateEntry}
  • template_type::DescriptorUpdateTemplateType
  • descriptor_set_layout::DescriptorSetLayout
  • pipeline_bind_point::PipelineBindPoint
  • pipeline_layout::PipelineLayout
  • set::UInt32
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DescriptorUpdateTemplate(
    device,
    descriptor_update_entries::AbstractArray,
    template_type::DescriptorUpdateTemplateType,
    descriptor_set_layout,
    pipeline_bind_point::PipelineBindPoint,
    pipeline_layout,
    set::Integer;
    allocator,
    next,
    flags
) -> DescriptorUpdateTemplate
source
Vulkan.DescriptorUpdateTemplateMethod

Arguments:

  • device::Device
  • descriptor_update_entries::Vector{_DescriptorUpdateTemplateEntry}
  • template_type::DescriptorUpdateTemplateType
  • descriptor_set_layout::DescriptorSetLayout
  • pipeline_bind_point::PipelineBindPoint
  • pipeline_layout::PipelineLayout
  • set::UInt32
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DescriptorUpdateTemplate(
    device,
    descriptor_update_entries::AbstractArray{_DescriptorUpdateTemplateEntry},
    template_type::DescriptorUpdateTemplateType,
    descriptor_set_layout,
    pipeline_bind_point::PipelineBindPoint,
    pipeline_layout,
    set::Integer;
    allocator,
    next,
    flags
) -> DescriptorUpdateTemplate
source
Vulkan.DescriptorUpdateTemplateCreateInfoType

High-level wrapper for VkDescriptorUpdateTemplateCreateInfo.

API documentation

struct DescriptorUpdateTemplateCreateInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • descriptor_update_entries::Vector{DescriptorUpdateTemplateEntry}

  • template_type::DescriptorUpdateTemplateType

  • descriptor_set_layout::DescriptorSetLayout

  • pipeline_bind_point::PipelineBindPoint

  • pipeline_layout::PipelineLayout

  • set::UInt32

source
Vulkan.DescriptorUpdateTemplateCreateInfoMethod

Arguments:

  • descriptor_update_entries::Vector{DescriptorUpdateTemplateEntry}
  • template_type::DescriptorUpdateTemplateType
  • descriptor_set_layout::DescriptorSetLayout
  • pipeline_bind_point::PipelineBindPoint
  • pipeline_layout::PipelineLayout
  • set::UInt32
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DescriptorUpdateTemplateCreateInfo(
    descriptor_update_entries::AbstractArray,
    template_type::DescriptorUpdateTemplateType,
    descriptor_set_layout::DescriptorSetLayout,
    pipeline_bind_point::PipelineBindPoint,
    pipeline_layout::PipelineLayout,
    set::Integer;
    next,
    flags
) -> DescriptorUpdateTemplateCreateInfo
source
Vulkan.DescriptorUpdateTemplateEntryType

High-level wrapper for VkDescriptorUpdateTemplateEntry.

API documentation

struct DescriptorUpdateTemplateEntry <: Vulkan.HighLevelStruct
  • dst_binding::UInt32

  • dst_array_element::UInt32

  • descriptor_count::UInt32

  • descriptor_type::DescriptorType

  • offset::UInt64

  • stride::UInt64

source
Vulkan.DeviceMethod

Arguments:

  • physical_device::PhysicalDevice
  • queue_create_infos::Vector{DeviceQueueCreateInfo}
  • enabled_layer_names::Vector{String}
  • enabled_extension_names::Vector{String}
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • enabled_features::PhysicalDeviceFeatures: defaults to C_NULL

API documentation

Device(
    physical_device,
    queue_create_infos::AbstractArray,
    enabled_layer_names::AbstractArray,
    enabled_extension_names::AbstractArray;
    allocator,
    next,
    flags,
    enabled_features
) -> Device
source
Vulkan.DeviceMethod

Arguments:

  • physical_device::PhysicalDevice
  • queue_create_infos::Vector{_DeviceQueueCreateInfo}
  • enabled_layer_names::Vector{String}
  • enabled_extension_names::Vector{String}
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • enabled_features::_PhysicalDeviceFeatures: defaults to C_NULL

API documentation

Device(
    physical_device,
    queue_create_infos::AbstractArray{_DeviceQueueCreateInfo},
    enabled_layer_names::AbstractArray,
    enabled_extension_names::AbstractArray;
    allocator,
    next,
    flags,
    enabled_features
) -> Device
source
Vulkan.DeviceAddressBindingCallbackDataEXTType

High-level wrapper for VkDeviceAddressBindingCallbackDataEXT.

Extension: VK_EXT_device_address_binding_report

API documentation

struct DeviceAddressBindingCallbackDataEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::DeviceAddressBindingFlagEXT

  • base_address::UInt64

  • size::UInt64

  • binding_type::DeviceAddressBindingTypeEXT

source
Vulkan.DeviceAddressBindingCallbackDataEXTMethod

Extension: VK_EXT_device_address_binding_report

Arguments:

  • base_address::UInt64
  • size::UInt64
  • binding_type::DeviceAddressBindingTypeEXT
  • next::Any: defaults to C_NULL
  • flags::DeviceAddressBindingFlagEXT: defaults to 0

API documentation

DeviceAddressBindingCallbackDataEXT(
    base_address::Integer,
    size::Integer,
    binding_type::DeviceAddressBindingTypeEXT;
    next,
    flags
) -> DeviceAddressBindingCallbackDataEXT
source
Vulkan.DeviceCreateInfoType

High-level wrapper for VkDeviceCreateInfo.

API documentation

struct DeviceCreateInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • queue_create_infos::Vector{DeviceQueueCreateInfo}

  • enabled_layer_names::Vector{String}

  • enabled_extension_names::Vector{String}

  • enabled_features::Union{Ptr{Nothing}, PhysicalDeviceFeatures}

source
Vulkan.DeviceCreateInfoMethod

Arguments:

  • queue_create_infos::Vector{DeviceQueueCreateInfo}
  • enabled_layer_names::Vector{String}
  • enabled_extension_names::Vector{String}
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0
  • enabled_features::PhysicalDeviceFeatures: defaults to C_NULL

API documentation

DeviceCreateInfo(
    queue_create_infos::AbstractArray,
    enabled_layer_names::AbstractArray,
    enabled_extension_names::AbstractArray;
    next,
    flags,
    enabled_features
) -> DeviceCreateInfo
source
Vulkan.DeviceDeviceMemoryReportCreateInfoEXTType

High-level wrapper for VkDeviceDeviceMemoryReportCreateInfoEXT.

Extension: VK_EXT_device_memory_report

API documentation

struct DeviceDeviceMemoryReportCreateInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • pfn_user_callback::Union{Ptr{Nothing}, Base.CFunction}

  • user_data::Ptr{Nothing}

source
Vulkan.DeviceDeviceMemoryReportCreateInfoEXTMethod

Extension: VK_EXT_device_memory_report

Arguments:

  • flags::UInt32
  • pfn_user_callback::FunctionPtr
  • user_data::Ptr{Cvoid}
  • next::Any: defaults to C_NULL

API documentation

DeviceDeviceMemoryReportCreateInfoEXT(
    flags::Integer,
    pfn_user_callback::Union{Ptr{Nothing}, Base.CFunction},
    user_data::Ptr{Nothing};
    next
) -> DeviceDeviceMemoryReportCreateInfoEXT
source
Vulkan.DeviceEventInfoEXTMethod

Extension: VK_EXT_display_control

Arguments:

  • device_event::DeviceEventTypeEXT
  • next::Any: defaults to C_NULL

API documentation

DeviceEventInfoEXT(
    device_event::DeviceEventTypeEXT;
    next
) -> DeviceEventInfoEXT
source
Vulkan.DeviceFaultAddressInfoEXTType

High-level wrapper for VkDeviceFaultAddressInfoEXT.

Extension: VK_EXT_device_fault

API documentation

struct DeviceFaultAddressInfoEXT <: Vulkan.HighLevelStruct
  • address_type::DeviceFaultAddressTypeEXT

  • reported_address::UInt64

  • address_precision::UInt64

source
Vulkan.DeviceFaultCountsEXTType

High-level wrapper for VkDeviceFaultCountsEXT.

Extension: VK_EXT_device_fault

API documentation

struct DeviceFaultCountsEXT <: Vulkan.HighLevelStruct
  • next::Any

  • address_info_count::UInt32

  • vendor_info_count::UInt32

  • vendor_binary_size::UInt64

source
Vulkan.DeviceFaultCountsEXTMethod

Extension: VK_EXT_device_fault

Arguments:

  • next::Any: defaults to C_NULL
  • address_info_count::UInt32: defaults to 0
  • vendor_info_count::UInt32: defaults to 0
  • vendor_binary_size::UInt64: defaults to 0

API documentation

DeviceFaultCountsEXT(
;
    next,
    address_info_count,
    vendor_info_count,
    vendor_binary_size
) -> DeviceFaultCountsEXT
source
Vulkan.DeviceFaultInfoEXTType

High-level wrapper for VkDeviceFaultInfoEXT.

Extension: VK_EXT_device_fault

API documentation

struct DeviceFaultInfoEXT <: Vulkan.HighLevelStruct
  • next::Any

  • description::String

  • address_infos::Union{Ptr{Nothing}, DeviceFaultAddressInfoEXT}

  • vendor_infos::Union{Ptr{Nothing}, DeviceFaultVendorInfoEXT}

  • vendor_binary_data::Ptr{Nothing}

source
Vulkan.DeviceFaultInfoEXTMethod

Extension: VK_EXT_device_fault

Arguments:

  • description::String
  • next::Any: defaults to C_NULL
  • address_infos::DeviceFaultAddressInfoEXT: defaults to C_NULL
  • vendor_infos::DeviceFaultVendorInfoEXT: defaults to C_NULL
  • vendor_binary_data::Ptr{Cvoid}: defaults to C_NULL

API documentation

DeviceFaultInfoEXT(
    description::AbstractString;
    next,
    address_infos,
    vendor_infos,
    vendor_binary_data
) -> DeviceFaultInfoEXT
source
Vulkan.DeviceFaultVendorBinaryHeaderVersionOneEXTType

High-level wrapper for VkDeviceFaultVendorBinaryHeaderVersionOneEXT.

Extension: VK_EXT_device_fault

API documentation

struct DeviceFaultVendorBinaryHeaderVersionOneEXT <: Vulkan.HighLevelStruct
  • header_size::UInt32

  • header_version::DeviceFaultVendorBinaryHeaderVersionEXT

  • vendor_id::UInt32

  • device_id::UInt32

  • driver_version::VersionNumber

  • pipeline_cache_uuid::NTuple{16, UInt8}

  • application_name_offset::UInt32

  • application_version::VersionNumber

  • engine_name_offset::UInt32

source
Vulkan.DeviceGroupBindSparseInfoMethod

Arguments:

  • resource_device_index::UInt32
  • memory_device_index::UInt32
  • next::Any: defaults to C_NULL

API documentation

DeviceGroupBindSparseInfo(
    resource_device_index::Integer,
    memory_device_index::Integer;
    next
) -> DeviceGroupBindSparseInfo
source
Vulkan.DeviceGroupPresentCapabilitiesKHRMethod

Extension: VK_KHR_swapchain

Arguments:

  • present_mask::NTuple{Int(VK_MAX_DEVICE_GROUP_SIZE), UInt32}
  • modes::DeviceGroupPresentModeFlagKHR
  • next::Any: defaults to C_NULL

API documentation

DeviceGroupPresentCapabilitiesKHR(
    present_mask::NTuple{32, UInt32},
    modes::DeviceGroupPresentModeFlagKHR;
    next
) -> DeviceGroupPresentCapabilitiesKHR
source
Vulkan.DeviceGroupPresentInfoKHRMethod

Extension: VK_KHR_swapchain

Arguments:

  • device_masks::Vector{UInt32}
  • mode::DeviceGroupPresentModeFlagKHR
  • next::Any: defaults to C_NULL

API documentation

DeviceGroupPresentInfoKHR(
    device_masks::AbstractArray,
    mode::DeviceGroupPresentModeFlagKHR;
    next
) -> DeviceGroupPresentInfoKHR
source
Vulkan.DeviceGroupSubmitInfoType

High-level wrapper for VkDeviceGroupSubmitInfo.

API documentation

struct DeviceGroupSubmitInfo <: Vulkan.HighLevelStruct
  • next::Any

  • wait_semaphore_device_indices::Vector{UInt32}

  • command_buffer_device_masks::Vector{UInt32}

  • signal_semaphore_device_indices::Vector{UInt32}

source
Vulkan.DeviceGroupSubmitInfoMethod

Arguments:

  • wait_semaphore_device_indices::Vector{UInt32}
  • command_buffer_device_masks::Vector{UInt32}
  • signal_semaphore_device_indices::Vector{UInt32}
  • next::Any: defaults to C_NULL

API documentation

DeviceGroupSubmitInfo(
    wait_semaphore_device_indices::AbstractArray,
    command_buffer_device_masks::AbstractArray,
    signal_semaphore_device_indices::AbstractArray;
    next
) -> DeviceGroupSubmitInfo
source
Vulkan.DeviceImageMemoryRequirementsMethod

Arguments:

  • create_info::ImageCreateInfo
  • next::Any: defaults to C_NULL
  • plane_aspect::ImageAspectFlag: defaults to 0

API documentation

DeviceImageMemoryRequirements(
    create_info::ImageCreateInfo;
    next,
    plane_aspect
) -> DeviceImageMemoryRequirements
source
Vulkan.DeviceMemoryMethod

Arguments:

  • device::Device
  • allocation_size::UInt64
  • memory_type_index::UInt32
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL

API documentation

DeviceMemory(
    device,
    allocation_size::Integer,
    memory_type_index::Integer;
    allocator,
    next
) -> DeviceMemory
source
Vulkan.DeviceMemoryOverallocationCreateInfoAMDMethod

Extension: VK_AMD_memory_overallocation_behavior

Arguments:

  • overallocation_behavior::MemoryOverallocationBehaviorAMD
  • next::Any: defaults to C_NULL

API documentation

DeviceMemoryOverallocationCreateInfoAMD(
    overallocation_behavior::MemoryOverallocationBehaviorAMD;
    next
) -> DeviceMemoryOverallocationCreateInfoAMD
source
Vulkan.DeviceMemoryReportCallbackDataEXTType

High-level wrapper for VkDeviceMemoryReportCallbackDataEXT.

Extension: VK_EXT_device_memory_report

API documentation

struct DeviceMemoryReportCallbackDataEXT <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • type::DeviceMemoryReportEventTypeEXT

  • memory_object_id::UInt64

  • size::UInt64

  • object_type::ObjectType

  • object_handle::UInt64

  • heap_index::UInt32

source
Vulkan.DeviceMemoryReportCallbackDataEXTMethod

Extension: VK_EXT_device_memory_report

Arguments:

  • flags::UInt32
  • type::DeviceMemoryReportEventTypeEXT
  • memory_object_id::UInt64
  • size::UInt64
  • object_type::ObjectType
  • object_handle::UInt64
  • heap_index::UInt32
  • next::Any: defaults to C_NULL

API documentation

DeviceMemoryReportCallbackDataEXT(
    flags::Integer,
    type::DeviceMemoryReportEventTypeEXT,
    memory_object_id::Integer,
    size::Integer,
    object_type::ObjectType,
    object_handle::Integer,
    heap_index::Integer;
    next
) -> DeviceMemoryReportCallbackDataEXT
source
Vulkan.DeviceQueueCreateInfoType

High-level wrapper for VkDeviceQueueCreateInfo.

API documentation

struct DeviceQueueCreateInfo <: Vulkan.HighLevelStruct
  • next::Any

  • flags::DeviceQueueCreateFlag

  • queue_family_index::UInt32

  • queue_priorities::Vector{Float32}

source
Vulkan.DeviceQueueCreateInfoMethod

Arguments:

  • queue_family_index::UInt32
  • queue_priorities::Vector{Float32}
  • next::Any: defaults to C_NULL
  • flags::DeviceQueueCreateFlag: defaults to 0

API documentation

DeviceQueueCreateInfo(
    queue_family_index::Integer,
    queue_priorities::AbstractArray;
    next,
    flags
) -> DeviceQueueCreateInfo
source
Vulkan.DeviceQueueInfo2Method

Arguments:

  • queue_family_index::UInt32
  • queue_index::UInt32
  • next::Any: defaults to C_NULL
  • flags::DeviceQueueCreateFlag: defaults to 0

API documentation

DeviceQueueInfo2(
    queue_family_index::Integer,
    queue_index::Integer;
    next,
    flags
) -> DeviceQueueInfo2
source
Vulkan.DirectDriverLoadingInfoLUNARGType

High-level wrapper for VkDirectDriverLoadingInfoLUNARG.

Extension: VK_LUNARG_direct_driver_loading

API documentation

struct DirectDriverLoadingInfoLUNARG <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • pfn_get_instance_proc_addr::Union{Ptr{Nothing}, Base.CFunction}

source
Vulkan.DirectDriverLoadingInfoLUNARGMethod

Extension: VK_LUNARG_direct_driver_loading

Arguments:

  • flags::UInt32
  • pfn_get_instance_proc_addr::FunctionPtr
  • next::Any: defaults to C_NULL

API documentation

DirectDriverLoadingInfoLUNARG(
    flags::Integer,
    pfn_get_instance_proc_addr::Union{Ptr{Nothing}, Base.CFunction};
    next
) -> DirectDriverLoadingInfoLUNARG
source
Vulkan.DirectDriverLoadingListLUNARGType

High-level wrapper for VkDirectDriverLoadingListLUNARG.

Extension: VK_LUNARG_direct_driver_loading

API documentation

struct DirectDriverLoadingListLUNARG <: Vulkan.HighLevelStruct
  • next::Any

  • mode::DirectDriverLoadingModeLUNARG

  • drivers::Vector{DirectDriverLoadingInfoLUNARG}

source
Vulkan.DirectDriverLoadingListLUNARGMethod

Extension: VK_LUNARG_direct_driver_loading

Arguments:

  • mode::DirectDriverLoadingModeLUNARG
  • drivers::Vector{DirectDriverLoadingInfoLUNARG}
  • next::Any: defaults to C_NULL

API documentation

DirectDriverLoadingListLUNARG(
    mode::DirectDriverLoadingModeLUNARG,
    drivers::AbstractArray;
    next
) -> DirectDriverLoadingListLUNARG
source
Vulkan.DisplayEventInfoEXTMethod

Extension: VK_EXT_display_control

Arguments:

  • display_event::DisplayEventTypeEXT
  • next::Any: defaults to C_NULL

API documentation

DisplayEventInfoEXT(
    display_event::DisplayEventTypeEXT;
    next
) -> DisplayEventInfoEXT
source
Vulkan.DisplayModeCreateInfoKHRMethod

Extension: VK_KHR_display

Arguments:

  • parameters::DisplayModeParametersKHR
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DisplayModeCreateInfoKHR(
    parameters::DisplayModeParametersKHR;
    next,
    flags
) -> DisplayModeCreateInfoKHR
source
Vulkan.DisplayModeKHRMethod

Extension: VK_KHR_display

Arguments:

  • physical_device::PhysicalDevice
  • display::DisplayKHR (externsync)
  • parameters::DisplayModeParametersKHR
  • allocator::AllocationCallbacks: defaults to C_NULL
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DisplayModeKHR(
    physical_device,
    display,
    parameters::DisplayModeParametersKHR;
    allocator,
    next,
    flags
) -> DisplayModeKHR
source
Vulkan.DisplayModeKHRMethod

Extension: VK_KHR_display

Arguments:

  • physical_device::PhysicalDevice
  • display::DisplayKHR (externsync)
  • parameters::_DisplayModeParametersKHR
  • allocator::_AllocationCallbacks: defaults to C_NULL
  • next::Ptr{Cvoid}: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DisplayModeKHR(
    physical_device,
    display,
    parameters::_DisplayModeParametersKHR;
    allocator,
    next,
    flags
) -> DisplayModeKHR
source
Vulkan.DisplayModeProperties2KHRMethod

Extension: VK_KHR_get_display_properties2

Arguments:

  • display_mode_properties::DisplayModePropertiesKHR
  • next::Any: defaults to C_NULL

API documentation

DisplayModeProperties2KHR(
    display_mode_properties::DisplayModePropertiesKHR;
    next
) -> DisplayModeProperties2KHR
source
Vulkan.DisplayPlaneCapabilities2KHRMethod

Extension: VK_KHR_get_display_properties2

Arguments:

  • capabilities::DisplayPlaneCapabilitiesKHR
  • next::Any: defaults to C_NULL

API documentation

DisplayPlaneCapabilities2KHR(
    capabilities::DisplayPlaneCapabilitiesKHR;
    next
) -> DisplayPlaneCapabilities2KHR
source
Vulkan.DisplayPlaneCapabilitiesKHRType

High-level wrapper for VkDisplayPlaneCapabilitiesKHR.

Extension: VK_KHR_display

API documentation

struct DisplayPlaneCapabilitiesKHR <: Vulkan.HighLevelStruct
  • supported_alpha::DisplayPlaneAlphaFlagKHR

  • min_src_position::Offset2D

  • max_src_position::Offset2D

  • min_src_extent::Extent2D

  • max_src_extent::Extent2D

  • min_dst_position::Offset2D

  • max_dst_position::Offset2D

  • min_dst_extent::Extent2D

  • max_dst_extent::Extent2D

source
Vulkan.DisplayPlaneCapabilitiesKHRMethod

Extension: VK_KHR_display

Arguments:

  • min_src_position::Offset2D
  • max_src_position::Offset2D
  • min_src_extent::Extent2D
  • max_src_extent::Extent2D
  • min_dst_position::Offset2D
  • max_dst_position::Offset2D
  • min_dst_extent::Extent2D
  • max_dst_extent::Extent2D
  • supported_alpha::DisplayPlaneAlphaFlagKHR: defaults to 0

API documentation

DisplayPlaneCapabilitiesKHR(
    min_src_position::Offset2D,
    max_src_position::Offset2D,
    min_src_extent::Extent2D,
    max_src_extent::Extent2D,
    min_dst_position::Offset2D,
    max_dst_position::Offset2D,
    min_dst_extent::Extent2D,
    max_dst_extent::Extent2D;
    supported_alpha
) -> DisplayPlaneCapabilitiesKHR
source
Vulkan.DisplayPlaneInfo2KHRMethod

Extension: VK_KHR_get_display_properties2

Arguments:

  • mode::DisplayModeKHR (externsync)
  • plane_index::UInt32
  • next::Any: defaults to C_NULL

API documentation

DisplayPlaneInfo2KHR(
    mode::DisplayModeKHR,
    plane_index::Integer;
    next
) -> DisplayPlaneInfo2KHR
source
Vulkan.DisplayPlaneProperties2KHRMethod

Extension: VK_KHR_get_display_properties2

Arguments:

  • display_plane_properties::DisplayPlanePropertiesKHR
  • next::Any: defaults to C_NULL

API documentation

DisplayPlaneProperties2KHR(
    display_plane_properties::DisplayPlanePropertiesKHR;
    next
) -> DisplayPlaneProperties2KHR
source
Vulkan.DisplayPowerInfoEXTMethod

Extension: VK_EXT_display_control

Arguments:

  • power_state::DisplayPowerStateEXT
  • next::Any: defaults to C_NULL

API documentation

DisplayPowerInfoEXT(
    power_state::DisplayPowerStateEXT;
    next
) -> DisplayPowerInfoEXT
source
Vulkan.DisplayPresentInfoKHRMethod

Extension: VK_KHR_display_swapchain

Arguments:

  • src_rect::Rect2D
  • dst_rect::Rect2D
  • persistent::Bool
  • next::Any: defaults to C_NULL

API documentation

DisplayPresentInfoKHR(
    src_rect::Rect2D,
    dst_rect::Rect2D,
    persistent::Bool;
    next
) -> DisplayPresentInfoKHR
source
Vulkan.DisplayProperties2KHRMethod

Extension: VK_KHR_get_display_properties2

Arguments:

  • display_properties::DisplayPropertiesKHR
  • next::Any: defaults to C_NULL

API documentation

DisplayProperties2KHR(
    display_properties::DisplayPropertiesKHR;
    next
) -> DisplayProperties2KHR
source
Vulkan.DisplayPropertiesKHRType

High-level wrapper for VkDisplayPropertiesKHR.

Extension: VK_KHR_display

API documentation

struct DisplayPropertiesKHR <: Vulkan.HighLevelStruct
  • display::DisplayKHR

  • display_name::String

  • physical_dimensions::Extent2D

  • physical_resolution::Extent2D

  • supported_transforms::SurfaceTransformFlagKHR

  • plane_reorder_possible::Bool

  • persistent_content::Bool

source
Vulkan.DisplayPropertiesKHRMethod

Extension: VK_KHR_display

Arguments:

  • display::DisplayKHR
  • display_name::String
  • physical_dimensions::Extent2D
  • physical_resolution::Extent2D
  • plane_reorder_possible::Bool
  • persistent_content::Bool
  • supported_transforms::SurfaceTransformFlagKHR: defaults to 0

API documentation

DisplayPropertiesKHR(
    display::DisplayKHR,
    display_name::AbstractString,
    physical_dimensions::Extent2D,
    physical_resolution::Extent2D,
    plane_reorder_possible::Bool,
    persistent_content::Bool;
    supported_transforms
) -> DisplayPropertiesKHR
source
Vulkan.DisplaySurfaceCreateInfoKHRType

High-level wrapper for VkDisplaySurfaceCreateInfoKHR.

Extension: VK_KHR_display

API documentation

struct DisplaySurfaceCreateInfoKHR <: Vulkan.HighLevelStruct
  • next::Any

  • flags::UInt32

  • display_mode::DisplayModeKHR

  • plane_index::UInt32

  • plane_stack_index::UInt32

  • transform::SurfaceTransformFlagKHR

  • global_alpha::Float32

  • alpha_mode::DisplayPlaneAlphaFlagKHR

  • image_extent::Extent2D

source
Vulkan.DisplaySurfaceCreateInfoKHRMethod

Extension: VK_KHR_display

Arguments:

  • display_mode::DisplayModeKHR
  • plane_index::UInt32
  • plane_stack_index::UInt32
  • transform::SurfaceTransformFlagKHR
  • global_alpha::Float32
  • alpha_mode::DisplayPlaneAlphaFlagKHR
  • image_extent::Extent2D
  • next::Any: defaults to C_NULL
  • flags::UInt32: defaults to 0

API documentation

DisplaySurfaceCreateInfoKHR(
    display_mode::DisplayModeKHR,
    plane_index::Integer,
    plane_stack_index::Integer,
    transform::SurfaceTransformFlagKHR,
    global_alpha::Real,
    alpha_mode::DisplayPlaneAlphaFlagKHR,
    image_extent::Extent2D;
    next,
    flags
) -> DisplaySurfaceCreateInfoKHR
source