core1_1

package
v3.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 11, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MemoryHeapMultiInstance specifies that ina  logical Device representing more than one
	// PhysicalDevice, there is a per-PhysicalDevice instance of the heap memory
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryHeapFlagBits.html
	MemoryHeapMultiInstance core1_0.MemoryHeapFlags = C.VK_MEMORY_HEAP_MULTI_INSTANCE_BIT

	// MemoryPropertyProtected specifies that the memory type only allows Device access to the
	// memory, and allows protected Queue operations to access the DeviceMemory
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryPropertyFlagBits.html
	MemoryPropertyProtected core1_0.MemoryPropertyFlags = C.VK_MEMORY_PROPERTY_PROTECTED_BIT
)
View Source
const (

	// PeerMemoryFeatureCopyDst specifies that the memory can be accessed as the destination of
	// any CommandBuffer.CmdCopy... command
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureCopyDst PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_COPY_DST_BIT
	// PeerMemoryFeatureCopySrc specifies that the memory can be accessed as the source of any
	// CommandBuffer.CmdCopy... command
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureCopySrc PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT
	// PeerMemoryFeatureGenericDst specifies that the memory can be written as any memory access type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureGenericDst PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
	// PeerMemoryFeatureGenericSrc specifies that the memory can be read as any memory access type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html
	PeerMemoryFeatureGenericSrc PeerMemoryFeatureFlags = C.VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT

	// QueueFamilyExternal represents any Queue external to the resource's current Vulkan instance,
	// as long as the Queue uses the same underlying Device group or PhysicalDevice
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_QUEUE_FAMILY_EXTERNAL_KHR.html
	QueueFamilyExternal int = C.VK_QUEUE_FAMILY_EXTERNAL

	// DependencyDeviceGroup specifies that dependencies are non-device-local
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDependencyFlagBits.html
	DependencyDeviceGroup core1_0.DependencyFlags = C.VK_DEPENDENCY_DEVICE_GROUP_BIT
	// DependencyViewLocal specifies that a subpass has more than one view
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDependencyFlagBits.html
	DependencyViewLocal core1_0.DependencyFlags = C.VK_DEPENDENCY_VIEW_LOCAL_BIT
)
View Source
const (
	// ExternalFenceFeatureExportable specifies handles of this type can be exported from Vulkan
	// Fence objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceFeatureFlagBits.html
	ExternalFenceFeatureExportable ExternalFenceFeatureFlags = C.VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT
	// ExternalFenceFeatureImportable specifies handles of this type can be imported to Vulkan Fence
	// objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceFeatureFlagBits.html
	ExternalFenceFeatureImportable ExternalFenceFeatureFlags = C.VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT

	// ExternalFenceHandleTypeOpaqueFD specifies a POSIX file descriptor handle that has only limited
	// valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueFD ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
	// ExternalFenceHandleTypeOpaqueWin32 specifies an NT handle that has only limited valid usage
	// outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueWin32 ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
	// ExternalFenceHandleTypeOpaqueWin32KMT specifies a global share handle that has only limited
	// usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeOpaqueWin32KMT ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
	// ExternalFenceHandleTypeSyncFD specifies a POSIX file descriptor handle to a Linux Sync File
	// or Android Fence
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html
	ExternalFenceHandleTypeSyncFD ExternalFenceHandleTypeFlags = C.VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT

	// FenceImportTemporary specifies that the Fence payload will be imported only temporarily,
	// regardless of the permanence of HandleType
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFenceImportFlagBits.html
	FenceImportTemporary FenceImportFlags = C.VK_FENCE_IMPORT_TEMPORARY_BIT
)
View Source
const (
	// FormatB10X6G10X6R10X6G10X6HorizontalChromaComponentPacked specifies a four-component, 64-bit
	// format containing a pair of G components, an R component, and a B component, collectiely
	// encoding a 2x1 rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatB10X6G10X6R10X6G10X6HorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
	// FormatB12X4G12X4R12X4G12X4HorizontalChromaComponentPacked specifies a four-component,
	// 64-bit format containing a pair of G components, an R component, and a B component,
	// collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatB12X4G12X4R12X4G12X4HorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
	// FormatB16G16R16G16HorizontalChroma specifies a four-component, 64-bit format containing a
	// pair of G components, an R component, and a B component, collectively encoding a 2×1
	// rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatB16G16R16G16HorizontalChroma core1_0.Format = C.VK_FORMAT_B16G16R16G16_422_UNORM
	// FormatB8G8R8G8HorizontalChroma specifies a four-component, 32-bit format containing a pair
	// of G components, an R component, and a B component, collectively encoding a 2×1 rectangle
	// of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatB8G8R8G8HorizontalChroma core1_0.Format = C.VK_FORMAT_B8G8R8G8_422_UNORM
	// FormatG10X6B10X6G10X6R10X6HorizontalChromaComponentPacked specifies a four-component, 64-bit
	// format containing a pair of G components, an R component, and a B component, collectively
	// encoding a 2×1 rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6B10X6G10X6R10X6HorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
	// FormatG10X6_B10X6R10X6_2PlaneDualChromaComponentPacked  specifies an unsigned normalized
	// multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of
	// plane 0, and a two-component, 32-bit BR plane 1 consisting of a 10-bit B component in the
	// top 10 bits of the word in bytes 0..1, and a 10-bit R component in the top 10 bits of the
	// word in bytes 2..3, with the bottom 6 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6_B10X6R10X6_2PlaneDualChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
	// FormatG10X6_B10X6R10X6_2PlaneHorizontalChromaComponentPacked   specifies an unsigned
	// normalized multi-planar format that has a 10-bit G component in the top 10 bits of each
	// 16-bit word of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 10-bit B
	// component in the top 10 bits of the word in bytes 0..1, and a 10-bit R component in the top
	// 10 bits of the word in bytes 2..3, with the bottom 6 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6_B10X6R10X6_2PlaneHorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
	// FormatG10X6_B10X6_R10X6_3PlaneDualChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word of
	// plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane 1, and a
	// 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the bottom 6 bits
	// of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6_B10X6_R10X6_3PlaneDualChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
	// FormatG10X6_B10X6_R10X6_3PlaneHorizontalChromaComponentPacked specifies an unsigned
	// normalized multi-planar format that has a 10-bit G component in the top 10 bits of each
	// 16-bit word of plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane
	// 1, and a 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the
	// bottom 6 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6_B10X6_R10X6_3PlaneHorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
	// FormatG10X6_B10X6_R10X6_3PlaneNoChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 10-bit G component in the top 10 bits of each 16-bit word
	// of plane 0, a 10-bit B component in the top 10 bits of each 16-bit word of plane 1, and a
	// 10-bit R component in the top 10 bits of each 16-bit word of plane 2, with the bottom 6
	// bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG10X6_B10X6_R10X6_3PlaneNoChromaComponentPacked core1_0.Format = C.VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
	// FormatG12X4B12X4G12X4R12X4_HorizontalChromaComponentPacked specifies a four-component,
	// 64-bit format containing a pair of G components, an R component, and a B component,
	// collectively encoding a 2×1 rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4B12X4G12X4R12X4_HorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
	// FormatG12X4_B12X4R12X4_2PlaneDualChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word
	// of plane 0, and a two-component, 32-bit BR plane 1 consisting of a 12-bit B component in
	// the top 12 bits of the word in bytes 0..1, and a 12-bit R component in the top 12 bits of
	// the word in bytes 2..3, with the bottom 4 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4_B12X4R12X4_2PlaneDualChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
	// FormatG12X4_B12X4R12X4_2PlaneHorizontalChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of
	// plane 0, and a two-component, 32-bit BR plane 1 consisting of a 12-bit B component in the
	// top 12 bits of the word in bytes 0..1, and a 12-bit R component in the top 12 bits of the
	// word in bytes 2..3, with the bottom 4 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4_B12X4R12X4_2PlaneHorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
	// FormatG12X4_B12X4_R12X4_3PlaneDualChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word
	// of plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of plane 1, and a
	// 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with the bottom 4
	// bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4_B12X4_R12X4_3PlaneDualChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
	// FormatG12X4_B12X4_R12X4_3PlaneHorizontalChromaComponentPacked specifies an unsigned
	// normalized multi-planar format that has a 12-bit G component in the top 12 bits of each
	// 16-bit word of plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of
	// plane 1, and a 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with
	// the bottom 4 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4_B12X4_R12X4_3PlaneHorizontalChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
	// FormatG12X4_B12X4_R12X4_3PlaneNoChromaComponentPacked specifies an unsigned normalized
	// multi-planar format that has a 12-bit G component in the top 12 bits of each 16-bit word of
	// plane 0, a 12-bit B component in the top 12 bits of each 16-bit word of plane 1, and a
	// 12-bit R component in the top 12 bits of each 16-bit word of plane 2, with the bottom 4
	// bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG12X4_B12X4_R12X4_3PlaneNoChromaComponentPacked core1_0.Format = C.VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
	// FormatG16B16G16R16_HorizontalChroma specifies a four-component, 64-bit format containing a
	// pair of G components, an R component, and a B component, collectively encoding a 2×1
	// rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16B16G16R16_HorizontalChroma core1_0.Format = C.VK_FORMAT_G16B16G16R16_422_UNORM
	// FormatG16_B16R16_2PlaneDualChroma specifies an unsigned normalized multi-planar format
	// that has a 16-bit G component in each 16-bit word of plane 0, and a two-component, 32-bit
	// BR plane 1 consisting of a 16-bit B component in the word in bytes 0..1, and a 16-bit R
	// component in the word in bytes 2..3
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16_B16R16_2PlaneDualChroma core1_0.Format = C.VK_FORMAT_G16_B16R16_2PLANE_420_UNORM
	// FormatG16_B16R16_2PlaneHorizontalChroma  specifies an unsigned normalized multi-planar
	// format that has a 16-bit G component in each 16-bit word of plane 0, and a two-component,
	// 32-bit BR plane 1 consisting of a 16-bit B component in the word in bytes 0..1, and a
	// 16-bit R component in the word in bytes 2..3
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16_B16R16_2PlaneHorizontalChroma core1_0.Format = C.VK_FORMAT_G16_B16R16_2PLANE_422_UNORM
	// FormatG16_B16_R16_3PlaneDualChroma  specifies an unsigned normalized multi-planar format
	// that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in
	// each 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16_B16_R16_3PlaneDualChroma core1_0.Format = C.VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM
	// FormatG16_B16_R16_3PlaneHorizontalChroma  specifies an unsigned normalized multi-planar
	// format that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in
	// each 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16_B16_R16_3PlaneHorizontalChroma core1_0.Format = C.VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM
	// FormatG16_B16_R16_3PlaneNoChroma  specifies an unsigned normalized multi-planar format
	// that has a 16-bit G component in each 16-bit word of plane 0, a 16-bit B component in each
	// 16-bit word of plane 1, and a 16-bit R component in each 16-bit word of plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG16_B16_R16_3PlaneNoChroma core1_0.Format = C.VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM
	// FormatG8B8G8R8_HorizontalChroma specifies a four-component, 32-bit format containing a
	//pair of G components, an R component, and a B component, collectively encoding a 2×1
	// rectangle of unsigned normalized RGB texel data
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8B8G8R8_HorizontalChroma core1_0.Format = C.VK_FORMAT_G8B8G8R8_422_UNORM
	// FormatG8_B8R8_2PlaneDualChroma specifies an unsigned normalized multi-planar format that
	// has an 8-bit G component in plane 0, and a two-component, 16-bit BR plane 1 consisting of
	// an 8-bit B component in byte 0 and an 8-bit R component in byte 1
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8_B8R8_2PlaneDualChroma core1_0.Format = C.VK_FORMAT_G8_B8R8_2PLANE_420_UNORM
	// FormatG8_B8R8_2PlaneHorizontalChroma specifies an unsigned normalized multi-planar format
	// that has an 8-bit G component in plane 0, and a two-component, 16-bit BR plane 1 consisting
	// of an 8-bit B component in byte 0 and an 8-bit R component in byte 1
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8_B8R8_2PlaneHorizontalChroma core1_0.Format = C.VK_FORMAT_G8_B8R8_2PLANE_422_UNORM
	// FormatG8_B8_R8_3PlaneDualChroma specifies an unsigned normalized multi-planar format that
	// has an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R
	// component in plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8_B8_R8_3PlaneDualChroma core1_0.Format = C.VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM
	// FormatG8_B8_R8_3PlaneHorizontalChroma specifies an unsigned normalized multi-planar format
	// that has an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R
	// component in plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8_B8_R8_3PlaneHorizontalChroma core1_0.Format = C.VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM
	// FormatG8_B8_R8_3PlaneNoChroma specifies an unsigned normalized multi-planar format that has
	// an 8-bit G component in plane 0, an 8-bit B component in plane 1, and an 8-bit R component
	// in plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatG8_B8_R8_3PlaneNoChroma core1_0.Format = C.VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM
	// FormatR10X6G10X6B10X6A10X6UnsignedNormalizedComponentPacked specifies a four-component,
	// 64-bit unsigned normalized format that has a 10-bit R component in the top 10 bits of the
	// word in bytes 0..1, a 10-bit G component in the top 10 bits of the word in bytes 2..3, a
	// 10-bit B component in the top 10 bits of the word in bytes 4..5, and a 10-bit A component
	// in the top 10 bits of the word in bytes 6..7, with the bottom 6 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR10X6G10X6B10X6A10X6UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
	// FormatR10X6G10X6UnsignedNormalizedComponentPacked specifies a two-component, 32-bit
	// unsigned normalized format that has a 10-bit R component in the top 10 bits of the word in
	// bytes 0..1, and a 10-bit G component in the top 10 bits of the word in bytes 2..3, with the
	// bottom 6 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR10X6G10X6UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R10X6G10X6_UNORM_2PACK16
	// FormatR10X6UnsignedNormalizedComponentPacked specifies a one-component, 16-bit unsigned
	// normalized format that has a single 10-bit R component in the top 10 bits of a 16-bit word,
	// with the bottom 6 bits unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR10X6UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R10X6_UNORM_PACK16
	// FormatR12X4G12X4B12X4A12X4UnsignedNormalizedComponentPacked specifies a four-component,
	// 64-bit unsigned normalized format that has a 12-bit R component in the top 12 bits of the
	// word in bytes 0..1, a 12-bit G component in the top 12 bits of the word in bytes 2..3, a
	// 12-bit B component in the top 12 bits of the word in bytes 4..5, and a 12-bit A component
	// in the top 12 bits of the word in bytes 6..7, with the bottom 4 bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR12X4G12X4B12X4A12X4UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
	// FormatR12X4G12X4UnsignedNormalizedComponentPacked specifies a two-component, 32-bit unsigned
	// normalized format that has a 12-bit R component in the top 12 bits of the word in bytes 0..1,
	// and a 12-bit G component in the top 12 bits of the word in bytes 2..3, with the bottom 4
	// bits of each word unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR12X4G12X4UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R12X4G12X4_UNORM_2PACK16
	// FormatR12X4UnsignedNormalizedComponentPacked specifies a one-component, 16-bit unsigned
	// normalized format that has a single 12-bit R component in the top 12 bits of a 16-bit word,
	// with the bottom 4 bits unused
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormat.html
	FormatR12X4UnsignedNormalizedComponentPacked core1_0.Format = C.VK_FORMAT_R12X4_UNORM_PACK16
)
View Source
const (
	// ImageAspectPlane0 specifies memory plane 0
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageAspectFlagBits.html
	ImageAspectPlane0 core1_0.ImageAspectFlags = C.VK_IMAGE_ASPECT_PLANE_0_BIT
	// ImageAspectPlane1 specifies memory plane 1
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageAspectFlagBits.html
	ImageAspectPlane1 core1_0.ImageAspectFlags = C.VK_IMAGE_ASPECT_PLANE_1_BIT
	// ImageAspectPlane2 specifies memory plane 2
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageAspectFlagBits.html
	ImageAspectPlane2 core1_0.ImageAspectFlags = C.VK_IMAGE_ASPECT_PLANE_2_BIT

	// ImageCreate2DArrayCompatible specifies that the Image can be used to create an ImageView of
	// type core1_0.ImageViewType2D or core1_0.ImageViewType2DArray
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreate2DArrayCompatible core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
	// ImageCreateAlias specifies that two Image objects created with the same creation parameters
	// and aliased to the same memory can interpret the contents of the memory consistently each
	// other
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateAlias core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_ALIAS_BIT
	// ImageCreateBlockTexelViewCompatible specifies that the Image having a compressed format can be
	// used to create an ImageView with an uncompressed format where each texel in the ImageView
	// corresponds to a compressed texel block of the Image
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateBlockTexelViewCompatible core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
	// ImageCreateDisjoint specifies that an Image with a multi-planar format must have each plane
	// separately bound to memory, rather than having a single memory binding for the whole Image
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateDisjoint core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_DISJOINT_BIT
	// ImageCreateExtendedUsage specifies that the Image can be created with usage flags that are not
	// supported for the format the Image is created with but are supported for at least one format
	// an ImageView created from this Image can have
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateExtendedUsage core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
	// ImageCreateProtected specifies that the Image is a protected Image
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateProtected core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_PROTECTED_BIT
	// ImageCreateSplitInstanceBindRegions specifies that the Image can be used with a non-empty
	// BindImageMemoryDeviceGroupInfo.SplitInstanceBindRegions
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html
	ImageCreateSplitInstanceBindRegions core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT

	// ImageLayoutDepthAttachmentStencilReadOnlyOptimal specifies a layout for depth/stencil format
	// Image objects allowing read and write access to the depth aspect as a depth attachment, and read-only
	// access to the stencil aspect as a stencil attachment or in shaders as a sampled Image, combined
	// Image/Sampler, or input attachment
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageLayout.html
	ImageLayoutDepthAttachmentStencilReadOnlyOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
	// ImageLayoutDepthReadOnlyStencilAttachmentOptimal specifies a layout for depth/stencil format Image objects
	// allowing read and write access to the stencil aspect as a stencil attachment, and read-only access
	// to the depth aspect as a depth attachment or in shaders as a sampled Image, combined Image/Sampler,
	// or input attachment
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageLayout.html
	ImageLayoutDepthReadOnlyStencilAttachmentOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
)
View Source
const (
	// ExternalMemoryFeatureDedicatedOnly specifies that Image or Buffer objects created with the
	// specified parameters and handle type must create or import a dedicated allocation for
	// the Image or Buffer object
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryFeatureFlagBits.html
	ExternalMemoryFeatureDedicatedOnly ExternalMemoryFeatureFlags = C.VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
	// ExternalMemoryFeatureExportable specifies that handles of this type can be exported from
	// Vulkan memory objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryFeatureFlagBits.html
	ExternalMemoryFeatureExportable ExternalMemoryFeatureFlags = C.VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT
	// ExternalMemoryFeatureImportable specifies that handles of this type can be imported as Vulkan
	// memory objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryFeatureFlagBits.html
	ExternalMemoryFeatureImportable ExternalMemoryFeatureFlags = C.VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT

	// ExternalMemoryHandleTypeD3D11Texture specifies an NT handle returned by
	// IDXGIResource1::CreateSharedHandle referring to a Direct3D 10 or 11 texture resource
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeD3D11Texture ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT
	// ExternalMemoryHandleTypeD3D11TextureKMT specifies a global share handle returned by
	// IDXGIResource::GetSharedHandle referring to a Direct3D 10 or 11 texture resource
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeD3D11TextureKMT ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT
	// ExternalMemoryHandleTypeD3D12Heap specifies an NT handle returned by
	// ID3D12Device::CreateSharedHandle referring to a Direct3D 12 heap resource
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeD3D12Heap ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT
	// ExternalMemoryHandleTypeD3D12Resource specifies an NT handle returned by
	// ID3D12Device::CreateSharedHandle referring to a Direct3D 12 committed resource
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeD3D12Resource ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT
	// ExternalMemoryHandleTypeOpaqueFD specifies a POSIX file descriptor handle that has only limited
	// valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeOpaqueFD ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
	// ExternalMemoryHandleTypeOpaqueWin32 specifies an NT handle that has only limited valid usage
	// outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeOpaqueWin32 ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
	// ExternalMemoryHandleTypeOpaqueWin32KMT specifies a global share handle that has only
	// limited valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html
	ExternalMemoryHandleTypeOpaqueWin32KMT ExternalMemoryHandleTypeFlags = C.VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
)
View Source
const (
	// ObjectTypeDescriptorUpdateTemplate specifies a DescriptorUpdateTemplate handle
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkObjectType.html
	ObjectTypeDescriptorUpdateTemplate core1_0.ObjectType = C.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
	// ObjectTypeSamplerYcbcrConversion specifies a SamplerYcbcrConversion handle
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkObjectType.html
	ObjectTypeSamplerYcbcrConversion core1_0.ObjectType = C.VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION
)
View Source
const (
	// FormatFeatureTransferDst specifies that an Image can be used as a destination Image for copy
	// commands and clear commands
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureTransferDst core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_TRANSFER_DST_BIT
	// FormatFeatureTransferSrc specifies that an Image can be used as a source Image for copy commands
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureTransferSrc core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_TRANSFER_SRC_BIT
)
View Source
const (
	// LUIDSize is the length of a locally unique Device identifier
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_LUID_SIZE.html
	LUIDSize int = C.VK_LUID_SIZE
	// MaxGroupSize is the length of a PhysicalDevice handle array
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_MAX_DEVICE_GROUP_SIZE_KHR.html
	MaxGroupSize int = C.VK_MAX_DEVICE_GROUP_SIZE

	// PointClippingAllClipPlanes specifies that the primitive is discarded if the vertex lies
	// outside any clip plane, including the planes bounding the view volume
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPointClippingBehavior.html
	PointClippingAllClipPlanes PointClippingBehavior = C.VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
	// PointClippingUserClipPlanesOnly specifies that the primitive is discarded only if the vertex
	// lies outside any user clip plane
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPointClippingBehavior.html
	PointClippingUserClipPlanesOnly PointClippingBehavior = C.VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY

	// SubgroupFeatureBasic specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniform capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureBasic SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_BASIC_BIT
	// SubgroupFeatureVote specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformVote capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureVote SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_VOTE_BIT
	// SubgroupFeatureArithmetic specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformArithmetic capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureArithmetic SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_ARITHMETIC_BIT
	// SubgroupFeatureBallot specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformBallot capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureBallot SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_BALLOT_BIT
	// SubgroupFeatureShuffle specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformShuffle capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureShuffle SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_SHUFFLE_BIT
	// SubgroupFeatureShuffleRelative specifies the Device will accept SPIR-V shader modules
	// containing the GroupNonUniformShuffleRelative capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureShuffleRelative SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
	// SubgroupFeatureClustered specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformClustered capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureClustered SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_CLUSTERED_BIT
	// SubgroupFeatureQuad specifies the Device will accept SPIR-V shader modules containing
	// the GroupNonUniformQuad capability
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html
	SubgroupFeatureQuad SubgroupFeatureFlags = C.VK_SUBGROUP_FEATURE_QUAD_BIT
)
View Source
const (
	// TessellationDomainOriginUpperLeft specifies that the origin of the domain space
	// is in the upper left corner, as shown in figure
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkTessellationDomainOrigin.html
	TessellationDomainOriginUpperLeft TessellationDomainOrigin = C.VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT
	// TessellationDomainOriginLowerLeft specifies that the origin of the domain space
	// is in the lower left corner, as shown in figure
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkTessellationDomainOrigin.html
	TessellationDomainOriginLowerLeft TessellationDomainOrigin = C.VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT

	// PipelineCreateDispatchBase specifies that a compute pipeline can be used with
	// CommandBuffer.CmdDispatchBase with a non-zero base workgroup
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineCreateFlagBits.html
	PipelineCreateDispatchBase core1_0.PipelineCreateFlags = C.VK_PIPELINE_CREATE_DISPATCH_BASE
	// PipelineCreateViewIndexFromDeviceIndex specifies that any shader input variables
	// decorated as ViewIndex will be assigned values as if they were decorated as DeviceIndex
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineCreateFlagBits.html
	PipelineCreateViewIndexFromDeviceIndex core1_0.PipelineCreateFlags = C.VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT
)
View Source
const (
	// DeviceQueueCreateProtected specifies that the Device Queue is a protected-capable Queue
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceQueueCreateFlagBits.html
	DeviceQueueCreateProtected core1_0.DeviceQueueCreateFlags = C.VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT

	// QueueProtected specifies capagbilities of Queue objects in a Queue family
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkQueueFlagBits.html
	QueueProtected core1_0.QueueFlags = C.VK_QUEUE_PROTECTED_BIT
)
View Source
const (
	// ExternalSemaphoreFeatureExportable specifies that handles of this type can be exported
	// from Vulkan Semaphore objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html
	ExternalSemaphoreFeatureExportable ExternalSemaphoreFeatureFlags = C.VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT
	// ExternalSemaphoreFeatureImportable specifies that handles of this type can be imported
	// as Vulkan Semaphore objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html
	ExternalSemaphoreFeatureImportable ExternalSemaphoreFeatureFlags = C.VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT

	// ExternalSemaphoreHandleTypeOpaqueFD specifies a POSIX file descriptor handle that has
	// only limited valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
	ExternalSemaphoreHandleTypeOpaqueFD ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT
	// ExternalSemaphoreHandleTypeOpaqueWin32 specifies an NT handle that has only limited
	// valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
	ExternalSemaphoreHandleTypeOpaqueWin32 ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT
	// ExternalSemaphoreHandleTypeOpaqueWin32KMT specifies a global share handle that has only
	// limited valid usage outside of Vulkan and other compatible APIs
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
	ExternalSemaphoreHandleTypeOpaqueWin32KMT ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
	// ExternalSemaphoreHandleTypeD3D12Fence specifies an NT handle returned by
	// ID3D12Device::CreateSharedHandle referring to a Direct3D 12 fence, or
	// ID3D11Device5::CreateFence referring to a Direct3D 11 fence
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
	ExternalSemaphoreHandleTypeD3D12Fence ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT
	// ExternalSemaphoreHandleTypeSyncFD specifies a POSIX file descriptor handle to a Linux Sync
	// File or Android Fence object. It can be used with any native API accepting a valid sync file or
	// Fence as input
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html
	ExternalSemaphoreHandleTypeSyncFD ExternalSemaphoreHandleTypeFlags = C.VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT

	// SemaphoreImportTemporary specifies that the Semaphore payload will be imported only
	// temporarily, regardless of the permanence of the handle type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreImportFlagBits.html
	SemaphoreImportTemporary SemaphoreImportFlags = C.VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
)
View Source
const (
	// VkErrorInvalidExternalHandle indicates an external handle is not a valid handle
	// of the specified type
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html
	VkErrorInvalidExternalHandle common.VkResult = C.VK_ERROR_INVALID_EXTERNAL_HANDLE
	// VkErrorOutOfPoolMemory indicates a pool memory allocation has failed
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html
	VkErrorOutOfPoolMemory common.VkResult = C.VK_ERROR_OUT_OF_POOL_MEMORY
)
View Source
const (
	// ChromaLocationCositedEven specifies that downsampled chroma samples are aligned
	// with luma samples with even coordinates
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkChromaLocation.html
	ChromaLocationCositedEven ChromaLocation = C.VK_CHROMA_LOCATION_COSITED_EVEN
	// ChromaLocationMidpoint specifies that downsampled chroma samples are located halfway
	// between each even luma sample and the nearest higher odd luma sample
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkChromaLocation.html
	ChromaLocationMidpoint ChromaLocation = C.VK_CHROMA_LOCATION_MIDPOINT

	// FormatFeatureCositedChromaSamples specifies that an application can define a
	// SamplerYcbcrConversion using this format as a source, and that an Image of this format
	// can be used with a SamplerYcbcrConversionCreateInfo.XChromaOffset and/or a
	// SamplerYcbcrConversionCreateInfo.YChromaOffset of ChromaLocationCositedEven
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureCositedChromaSamples core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
	// FormatFeatureDisjoint specifies that a multi-planar Image can have ImageCreateDisjoint
	// set during Image creation
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureDisjoint core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_DISJOINT_BIT
	// FormatFeatureMidpointChromaSamples specifies that an application can define a
	// SamplerYcbcrConversion using this format as a source, and that an Image of this format
	// can be used with a SamplerYcbcrConversionCreateInfo.XChromaOffset and/or a
	// SamplerYcbcrConversionCreateInfo.YChromaOffset of ChromaLocationMidpoint
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureMidpointChromaSamples core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
	// FormatFeatureSampledImageYcbcrConversionChromaReconstructionExplicit specifies that
	// reconstruction is explicit
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureSampledImageYcbcrConversionChromaReconstructionExplicit core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
	// FormatFeatureSampledImageYcbcrConversionChromaReconstructionExplicitForceable specifies
	// that reconstruction can be forcibly made explicit by setting
	// SamplerYcbcrConversionCreateInfo.ForceExplicitReconstruction to true
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureSampledImageYcbcrConversionChromaReconstructionExplicitForceable core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
	// FormatFeatureSampledImageYcbcrConversionLinearFilter specifies that an application can
	// define a SamplerYcbcrConversion using this format as a source with ChromaFilter set
	// to core1_0.FilterLinear
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureSampledImageYcbcrConversionLinearFilter core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
	// FormatFeatureSampledImageYcbcrConversionSeparateReconstructionFilter specifies that
	// the format can have different chroma, min, and mag filters
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html
	FormatFeatureSampledImageYcbcrConversionSeparateReconstructionFilter core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT

	// SamplerYcbcrModelConversionRGBIdentity specifies that the input values to the conversion
	// are unmodified
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html
	SamplerYcbcrModelConversionRGBIdentity SamplerYcbcrModelConversion = C.VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY
	// SamplerYcbcrModelConversionYcbcr2020 specifies the color model conversion from
	// Y'CbCr to R'G'B' defined in BT.2020
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html
	SamplerYcbcrModelConversionYcbcr2020 SamplerYcbcrModelConversion = C.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020
	// SamplerYcbcrModelConversionYcbcr601 specifies the color model conversion from Y'CbCr to
	// R'G'B' defined in BT.601
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html
	SamplerYcbcrModelConversionYcbcr601 SamplerYcbcrModelConversion = C.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601
	// SamplerYcbcrModelConversionYcbcr709 specifies the color model conversion from Y'CbCr to
	// R'G'B' defined in BT.709
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html
	SamplerYcbcrModelConversionYcbcr709 SamplerYcbcrModelConversion = C.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709
	// SamplerYcbcrModelConversionYcbcrIdentity specifies no model conversion but the inputs
	// are range expanded as for Y'CbCr
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html
	SamplerYcbcrModelConversionYcbcrIdentity SamplerYcbcrModelConversion = C.VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY

	// SamplerYcbcrRangeITUFull specifies that the full range of the encoded values are valid and
	// interpreted according to the ITU "full range" quantization rules
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrRange.html
	SamplerYcbcrRangeITUFull SamplerYcbcrRange = C.VK_SAMPLER_YCBCR_RANGE_ITU_FULL
	// SamplerYcbcrRangeITUNarrow specifies that headroom and foot room are reserved in the
	// numerical range of encoded values, and the remaining values are expanded according to
	// the ITU "narrow range" quantization rules
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrRange.html
	SamplerYcbcrRangeITUNarrow SamplerYcbcrRange = C.VK_SAMPLER_YCBCR_RANGE_ITU_NARROW
)
View Source
const (
	// BufferCreateProtected specifies that the Buffer is a protected Buffer
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBufferCreateFlagBits.html
	BufferCreateProtected core1_0.BufferCreateFlags = C.VK_BUFFER_CREATE_PROTECTED_BIT
)
View Source
const (
	// CommandPoolCreateProtected specifies that CommandBuffer objects allocated from the pool
	// are protected CommandBuffer objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkCommandPoolCreateFlagBits.html
	CommandPoolCreateProtected core1_0.CommandPoolCreateFlags = C.VK_COMMAND_POOL_CREATE_PROTECTED_BIT
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BindBufferMemoryDeviceGroupInfo

type BindBufferMemoryDeviceGroupInfo struct {
	// DeviceIndices is a slice of Device indices
	DeviceIndices []int

	common.NextOptions
}

BindBufferMemoryDeviceGroupInfo specifies Device within a group to bind to

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBindBufferMemoryDeviceGroupInfo.html

func (BindBufferMemoryDeviceGroupInfo) PopulateCPointer

func (o BindBufferMemoryDeviceGroupInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type BindBufferMemoryInfo

type BindBufferMemoryInfo struct {
	// Buffer is the Buffer to be attached to memory
	Buffer core1_0.Buffer
	// Memory describes the DeviceMemory object to attach
	Memory core1_0.DeviceMemory
	// MemoryOffset is the start offset of the region of memory which is to be bound to the Buffer
	MemoryOffset int

	common.NextOptions
}

BindBufferMemoryInfo specifies how to bind a Buffer to DeviceMemory

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBindBufferMemoryInfo.html

func (BindBufferMemoryInfo) PopulateCPointer

func (o BindBufferMemoryInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type BindImageMemoryDeviceGroupInfo

type BindImageMemoryDeviceGroupInfo struct {
	// DeviceIndices is a slice of Device indices
	DeviceIndices []int
	// SplitInstanceBindRegions is a slice of Rect2D structures describing which regions of
	// the Image are attached to each instance of DeviceMemory
	SplitInstanceBindRegions []core1_0.Rect2D

	common.NextOptions
}

BindImageMemoryDeviceGroupInfo specifies Device within a group to bind to

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBindImageMemoryDeviceGroupInfo.html

func (BindImageMemoryDeviceGroupInfo) PopulateCPointer

func (o BindImageMemoryDeviceGroupInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type BindImageMemoryInfo

type BindImageMemoryInfo struct {
	// Image is the image to be attached to DeviceMemory
	Image core1_0.Image
	// Memory describes the DeviceMemory to attach
	Memory core1_0.DeviceMemory
	// MemoryOffset is the start offset of the region of DeviceMemory to be bound to the Image
	MemoryOffset uint64

	common.NextOptions
}

BindImageMemoryInfo specifies how to bind an Image to DeviceMemory

func (BindImageMemoryInfo) PopulateCPointer

func (o BindImageMemoryInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type BindImagePlaneMemoryInfo

type BindImagePlaneMemoryInfo struct {
	// PlaneAspect specifies the aspect of the disjoint Image plane to bind
	PlaneAspect core1_0.ImageAspectFlags

	common.NextOptions
}

BindImagePlaneMemoryInfo specifies how to bind an Image plane to DeviceMemory

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBindImagePlaneMemoryInfo.html

func (BindImagePlaneMemoryInfo) PopulateCPointer

func (o BindImagePlaneMemoryInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type BufferMemoryRequirementsInfo2

type BufferMemoryRequirementsInfo2 struct {
	// Buffer is the Buffer to query
	Buffer core1_0.Buffer

	common.NextOptions
}

BufferMemoryRequirementsInfo2 has no documentation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBufferMemoryRequirementsInfo2.html

func (BufferMemoryRequirementsInfo2) PopulateCPointer

func (o BufferMemoryRequirementsInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ChromaLocation

type ChromaLocation int32

ChromaLocation is the position of downsampled chroma samples

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkChromaLocation.html

func (ChromaLocation) Register

func (e ChromaLocation) Register(str string)

func (ChromaLocation) String

func (e ChromaLocation) String() string

type CommandPoolTrimFlags

type CommandPoolTrimFlags int32

CommandPoolTrimFlags is reserved for future use

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkCommandPoolTrimFlagsKHR.html

func (CommandPoolTrimFlags) Register

func (f CommandPoolTrimFlags) Register(str string)

func (CommandPoolTrimFlags) String

func (f CommandPoolTrimFlags) String() string

type CoreDeviceDriver

type CoreDeviceDriver interface {
	InstanceDriver() core1_0.CoreInstanceDriver
	DeviceDriver
}

type CoreInstanceDriver

type CoreInstanceDriver interface {
	core1_0.CoreInstanceDriver

	// GetPhysicalDeviceExternalFenceProperties queries external Fence capabilities
	//
	// physicalDevice - the PHysicalDevice object to query
	//
	// o - Describes the parameters that would be consumed by Device.CreateFence
	//
	// outData - A pre-allocated object in which the results will be populated. It should include
	// any desired chained OutData objects.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html
	GetPhysicalDeviceExternalFenceProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error
	// GetPhysicalDeviceExternalBufferProperties queries external types supported by Buffer objects
	//
	// physicalDevice - the PHysicalDevice object to query
	//
	// o - Describes the parameters that would be consumed by Device.CreateBuffer
	//
	// outData - A pre-allocated object in which the results will be populated. It should include any
	// desired chained OutData objects.
	//
	// https://www.khronos.org/registry/VulkanSC/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalBufferProperties.html
	GetPhysicalDeviceExternalBufferProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalBufferInfo, outData *ExternalBufferProperties) error
	// GetPhysicalDeviceExternalSemaphoreProperties queries external Semaphore capabilities
	//
	// physicalDevice - the PHysicalDevice object to query
	//
	// o - Describes the parameters that would be consumed by Device.CreateSemaphore
	//
	// outData - A pre-allocated object in which the results will be populated. It should include any
	// desired chained OutData objects.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html
	GetPhysicalDeviceExternalSemaphoreProperties(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error

	// GetPhysicalDeviceFeatures2 reports capabilities of a PhysicalDevice
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// out - A pre-allocated object in which the results will be populated. It should include any desired
	// chained OutData objects.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceFeatures2.html
	GetPhysicalDeviceFeatures2(physicalDevice core1_0.PhysicalDevice, out *PhysicalDeviceFeatures2) error
	// GetPhysicalDeviceFormatProperties2 lists a PhysicalDevice object's format capabilities
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// format - The format whose properties are queried
	//
	// out - A pre-allocated object in which the results will be populated. It should include any desired
	// chained OutData objects
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceFormatProperties2.html
	GetPhysicalDeviceFormatProperties2(physicalDevice core1_0.PhysicalDevice, format core1_0.Format, out *FormatProperties2) error
	// GetPhysicalDeviceImageFormatProperties2 lists a PhysicalDevice object's format capabilities
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// o - Describes the parameters that would be consumed by Device.CreateImage
	//
	// out - A pre-allocated object in which the results will be populated. It should include any desired
	// chained OutData objects
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2.html
	GetPhysicalDeviceImageFormatProperties2(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceImageFormatInfo2, out *ImageFormatProperties2) (common.VkResult, error)
	// GetPhysicalDeviceMemoryProperties2 reports memory information for a PhysicalDevice
	//
	// out - A pre-allocated object in which the results will be populated. It should include any desired
	// physicalDevice - The PhysicalDevice object to query
	//
	// chained OutData objects
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2.html
	GetPhysicalDeviceMemoryProperties2(physicalDevice core1_0.PhysicalDevice, out *PhysicalDeviceMemoryProperties2) error
	// GetPhysicalDeviceProperties2 returns properties of a PhysicalDevice
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// out - A pre-allocated object in which the results will be populated. It should include any desired
	// chained OutData objects
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceProperties2.html
	GetPhysicalDeviceProperties2(physicalDevice core1_0.PhysicalDevice, out *PhysicalDeviceProperties2) error
	// GetPhysicalDeviceQueueFamilyProperties2 reports properties of the queues of a PhysicalDevice
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// outDataFactory - This method can be provided to allocate each QueueFamilyProperties2 object
	// that is returned, along with any chained OutData structures. It can also be left nil, in which case
	// QueueFamilyProperties2 will be allocated with no chained structures.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html
	GetPhysicalDeviceQueueFamilyProperties2(physicalDevice core1_0.PhysicalDevice, outDataFactory func() *QueueFamilyProperties2) ([]*QueueFamilyProperties2, error)
	// GetPhysicalDeviceSparseImageFormatProperties2 retrieves properties of an Image format applied to sparse Image
	//
	// physicalDevice - The PhysicalDevice object to query
	//
	// o - Contains input parameters
	//
	// outDataFactory - This method can be provided to allocate each SparseImageFormatProperties2 object
	// that is returned, along with any chained OutData structures. It can also be left nil, in which case
	// SparseImageFormatProperties2 will be allocated with no chained structures.
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html
	GetPhysicalDeviceSparseImageFormatProperties2(physicalDevice core1_0.PhysicalDevice, o PhysicalDeviceSparseImageFormatInfo2, outDataFactory func() *SparseImageFormatProperties2) ([]*SparseImageFormatProperties2, error)

	// EnumeratePhysicalDeviceGroups enumerates groups of PhysicalDevice objects that can be used to
	// create a single logical Device
	//
	// instance - The Instance whose PhysicalDevice objects should be enumerated
	//
	// outDataFactory - This method can be provided to allocate each PhysicalDeviceGroupProperties object
	// that is returned, along with any chained OutData structures. It can also be left nil, in which case
	// PhysicalDeviceGroupProperties will be allocated with no chained structures.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html
	EnumeratePhysicalDeviceGroups(outDataFactory func() *PhysicalDeviceGroupProperties) ([]*PhysicalDeviceGroupProperties, common.VkResult, error)
}

type DescriptorSetLayoutSupport

type DescriptorSetLayoutSupport struct {
	// Supported specifies whether the DescriptorSetLayout can be created
	Supported bool

	common.NextOutData
}

DescriptorSetLayoutSupport returns information about whether a DescriptorSetLayout can be supported

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorSetLayoutSupport.html

func (*DescriptorSetLayoutSupport) PopulateHeader

func (o *DescriptorSetLayoutSupport) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*DescriptorSetLayoutSupport) PopulateOutData

func (o *DescriptorSetLayoutSupport) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type DescriptorUpdateTemplate

type DescriptorUpdateTemplate struct {
	// contains filtered or unexported fields
}

DescriptorUpdateTemplate specifies a mapping from descriptor update information in host memory to descriptors in a DescriptorSet

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplate.html

func (DescriptorUpdateTemplate) APIVersion

func (DescriptorUpdateTemplate) DeviceHandle

func (t DescriptorUpdateTemplate) DeviceHandle() loader.VkDevice

func (DescriptorUpdateTemplate) Handle

func (DescriptorUpdateTemplate) Initialized

func (t DescriptorUpdateTemplate) Initialized() bool

type DescriptorUpdateTemplateCreateFlags

type DescriptorUpdateTemplateCreateFlags int32

DescriptorUpdateTemplateCreateFlags is reserved for future use

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateCreateFlags.html

func (DescriptorUpdateTemplateCreateFlags) Register

func (DescriptorUpdateTemplateCreateFlags) String

type DescriptorUpdateTemplateCreateInfo

type DescriptorUpdateTemplateCreateInfo struct {
	// Flags is reserved for future use
	Flags DescriptorUpdateTemplateCreateFlags
	// DescriptorUpdateEntries is a slice of DescriptorUpdateTemplateEntry structures describing
	// the descriptors to be updated by the DescriptorUpdateTEmplate
	DescriptorUpdateEntries []DescriptorUpdateTemplateEntry
	// TemplateType specifies the type of the DescriptorUpdateTemplate
	TemplateType DescriptorUpdateTemplateType

	// DescriptorSetLayout is the DescriptorSetLayout used to build the DescriptorUpdateTemplate
	DescriptorSetLayout core1_0.DescriptorSetLayout

	// PipelineBindPoint indicates the type of the Pipeline that will use the descriptors
	PipelineBindPoint core1_0.PipelineBindPoint
	// PipelineLayout is a PipelineLayout object used to program the bindings
	PipelineLayout core1_0.PipelineLayout
	// Set is the set number of the DescriptorSet in the PipelineLayout that will be updated
	Set int

	common.NextOptions
}

DescriptorUpdateTemplateCreateInfo specifies parameters of a newly-created Descriptor Update Template

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateCreateInfo.html

func (DescriptorUpdateTemplateCreateInfo) PopulateCPointer

func (o DescriptorUpdateTemplateCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DescriptorUpdateTemplateEntry

type DescriptorUpdateTemplateEntry struct {
	// DstBinding is the descriptor binding to update when using this DescriptorUpdateTemplate
	DstBinding int
	// DstArrayElement is the starting element in the array belonging to DstBinding
	DstArrayElement int
	// DescriptorCount is the number of descriptors to update
	DescriptorCount int

	// DescriptorType specifies the type of the descriptor
	DescriptorType core1_0.DescriptorType

	// Offset is the offset in bytes of the first binding in the raw data structure
	Offset int
	// Stride is the stride in bytes between two consecutive array elements of the
	// descriptor update informations in the raw data structure
	Stride int
}

DescriptorUpdateTemplateEntry describes a single descriptor update of the DescriptorUpdateTemplate

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateEntry.html

func (DescriptorUpdateTemplateEntry) PopulateCPointer

func (e DescriptorUpdateTemplateEntry) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer) (unsafe.Pointer, error)

type DescriptorUpdateTemplateType

type DescriptorUpdateTemplateType int32

DescriptorUpdateTemplateType indicates the valid usage of the DescriptorUpdateTemplate

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateType.html

const (
	// DescriptorUpdateTemplateTypeDescriptorSet indicates the valid usage of the DescriptorUpdateTemplate
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateType.html
	DescriptorUpdateTemplateTypeDescriptorSet DescriptorUpdateTemplateType = C.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET
)

func (DescriptorUpdateTemplateType) Register

func (e DescriptorUpdateTemplateType) Register(str string)

func (DescriptorUpdateTemplateType) String

type DeviceDriver

type DeviceDriver interface {
	core1_0.DeviceDriver

	// CmdDispatchBase dispatches compute work items with non-zero base values for the workgroup IDs
	//
	// commandBuffer - The CommandBuffer object to record to
	//
	// baseGroupX - The start value of the X component of WorkgroupId
	//
	// baseGroupY - The start value of the Y component of WorkGroupId
	//
	// baseGroupZ - The start value of the Z component of WorkGroupId
	//
	// groupCountX - The number of local workgroups to dispatch in the X dimension
	//
	// groupCountY - The number of local workgroups to dispatch in the Y dimension
	//
	// groupCountZ - The number of local workgroups to dispatch in the Z dimension
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdDispatchBase.html
	CmdDispatchBase(commandBuffer core1_0.CommandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ int)
	// CmdSetDeviceMask modifies the device mask of a CommandBuffer
	//
	// commandBuffer - The CommandBuffer object to record to
	//
	// deviceMask - The new value of the current Device mask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdSetDeviceMask.html
	CmdSetDeviceMask(commandBuffer core1_0.CommandBuffer, deviceMask uint32)

	// TrimCommandPool trims a CommandPool
	//
	// flags - Reserved for future use
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkTrimCommandPool.html
	TrimCommandPool(commandPool core1_0.CommandPool, flags CommandPoolTrimFlags)

	// BindBufferMemory2 binds DeviceMemory to Buffer objects
	//
	// o - A slice of BindBufferMemoryInfo structures describing Buffer objects and memory to bind
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkBindBufferMemory2.html
	BindBufferMemory2(o ...BindBufferMemoryInfo) (common.VkResult, error)
	// BindImageMemory2 binds DeviceMemory to Image objects
	//
	// o - A slice of BindImageMemoryInfo structures describing Image objects and memory to bind
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkBindImageMemory2.html
	BindImageMemory2(o ...BindImageMemoryInfo) (common.VkResult, error)

	// GetBufferMemoryRequirements2 returns the memory requirements for the specified Vulkan object
	//
	// o - Contains parameters required for the memory requirements query
	//
	// out - A pre-allocated object in which the memory requirements of the Buffer object will be
	// populated. It should include any desired chained OutData objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetBufferMemoryRequirements2.html
	GetBufferMemoryRequirements2(o BufferMemoryRequirementsInfo2, out *MemoryRequirements2) error
	// GetImageMemoryRequirements2 returns the memory requirements for the specified Vulkan object
	//
	// o - Contains parameters required for the memory requirements query
	//
	// out - A pre-allocated object in which the memory requirements of the Image object will be
	// populated. It should include any desired chained OutData objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetImageMemoryRequirements2.html
	GetImageMemoryRequirements2(o ImageMemoryRequirementsInfo2, out *MemoryRequirements2) error
	// GetImageSparseMemoryRequirements2 queries the memory requirements for a sparse Image
	//
	// o - Contains parameters required for the memory requirements query
	//
	// outDataFactory - This method can be provided to allocate each SparseImageMemoryRequirements2 object
	// that is returned, along with any chained OutData structures. It can also be left nil, in which case
	// SparseImageMemoryRequirements2 will be allocated with no chained structures.
	GetImageSparseMemoryRequirements2(o ImageSparseMemoryRequirementsInfo2, outDataFactory func() *SparseImageMemoryRequirements2) ([]*SparseImageMemoryRequirements2, error)

	// GetDescriptorSetLayoutSupport queries whether a DescriptorSetLayout can be created
	//
	// device - The Device that will be used to create the descriptor set
	//
	// o - Specifies the state of the DescriptorSetLayout object
	//
	// outData - A pre-allocated object in which information about support for the DescriptorSetLayout
	// object will be populated. It should include any desired chained OutData objects
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDescriptorSetLayoutSupport.html
	GetDescriptorSetLayoutSupport(o core1_0.DescriptorSetLayoutCreateInfo, outData *DescriptorSetLayoutSupport) error

	// GetDeviceGroupPeerMemoryFeatures queries supported peer memory features of a Device
	//
	// device - The Device object being queried
	//
	// heapIndex - The index of the memory heap from which the memory is allocated
	//
	// localDeviceIndex - The device index of the PhysicalDevice that performs the memory access
	//
	// remoteDeviceIndex - The device index of the PhysicalDevice that the memory is allocated for
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html
	GetDeviceGroupPeerMemoryFeatures(heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags

	// CreateDescriptorUpdateTemplate creates a new DescriptorUpdateTemplate
	//
	// device - The Device used to create the DescriptorUpdateTemplate
	//
	// o - Specifies the set of descriptors to update with a single call to DescriptorUpdateTemplate.UpdateDescriptorSet...
	//
	// allocator - Controls host allocation behavior
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateDescriptorUpdateTemplate.html
	CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *loader.AllocationCallbacks) (DescriptorUpdateTemplate, common.VkResult, error)
	// CreateSamplerYcbcrConversion creates a new Y'CbCr conversion
	//
	// device - The Device used to created the SamplerYcbcrConversion
	//
	// o - Specifies the requested sampler Y'CbCr conversion
	//
	// allocator - Controls host allocation behavior
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateSamplerYcbcrConversion.html
	CreateSamplerYcbcrConversion(o SamplerYcbcrConversionCreateInfo, allocator *loader.AllocationCallbacks) (SamplerYcbcrConversion, common.VkResult, error)

	// GetDeviceQueue2 gets a Queue object from a Device
	//
	// device - The Device to retrieve the queue from
	//
	// o - Describes parameters of the Device Queue to be retrieved
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceQueue2.html
	GetDeviceQueue2(o DeviceQueueInfo2) (core1_0.Queue, error)

	// DestroyDescriptorUpdateTemplate destroys a DescriptorUpdateTemplate object and the
	// underlying structures. **Warning** after destruction, the object will continue to exist,
	// but the Vulkan object handle that backs it will be invalid. Do not call further methods
	// with the DescriptorUpdateTemplate
	//
	// template - The DescriptorUpdateTemplate to destroy
	//
	// callbacks - Controls host memory deallocation
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html
	DestroyDescriptorUpdateTemplate(template DescriptorUpdateTemplate, allocator *loader.AllocationCallbacks)
	// UpdateDescriptorSetWithTemplateFromBuffer updates the contents of a DescriptorSet object
	// with a template and a Buffer
	//
	// template - The DescriptorUpdateTemplate used to perform the update
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - Information and a Buffer used to write the descriptor
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromBuffer(descriptorSet core1_0.DescriptorSet, template DescriptorUpdateTemplate, data core1_0.DescriptorBufferInfo)
	// UpdateDescriptorSetWithTemplateFromImage updates the contents of a DescriptorSet object with
	// a template and an Image
	//
	// template - The DescriptorUpdateTemplate used to perform the update
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - Information and an Image used to write the descriptor
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromImage(descriptorSet core1_0.DescriptorSet, template DescriptorUpdateTemplate, data core1_0.DescriptorImageInfo)
	// UpdateDescriptorSetWithTemplateFromObjectHandle updates the contents of a DescriptorSet object with
	// a template and an arbitrary handle
	//
	// template - The DescriptorUpdateTemplate used to perform the update
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - A Vulkan object handle used to write the descriptor. Can be a BufferView handle or
	// perhaps an acceleration structure.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromObjectHandle(descriptorSet core1_0.DescriptorSet, template DescriptorUpdateTemplate, data loader.VulkanHandle)

	// DestroySamplerYcbcrConversion destroys a SamplerYcbcrConversion object and the underlying
	// structures. **Warning** after destruction, tye object will continue to exist, but the Vulkan
	// object handle that backs it will be invalid. Do not call further methods with the
	// SamplerYcbcrConversion
	//
	// conversion - The SamplerYcbcrConversion to destroy
	//
	// callbacks - Controls host memory deallocation
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkDestroySamplerYcbcrConversion.html
	DestroySamplerYcbcrConversion(conversion SamplerYcbcrConversion, allocator *loader.AllocationCallbacks)
}

type DeviceGroupBindSparseInfo

type DeviceGroupBindSparseInfo struct {
	// ResourceDeviceIndex is a Device index indicating which instance of the resource is bound
	ResourceDeviceIndex int
	// MemoryDeviceIndex is a Device index indicating which instance of the memory the resource instance is bound to
	MemoryDeviceIndex int

	common.NextOptions
}

DeviceGroupBindSparseInfo indicates which instances are bound

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupBindSparseInfo.html

func (DeviceGroupBindSparseInfo) PopulateCPointer

func (o DeviceGroupBindSparseInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DeviceGroupCommandBufferBeginInfo

type DeviceGroupCommandBufferBeginInfo struct {
	// DeviceMask is the initial value of the CommandBuffer object's device mask
	DeviceMask uint32

	common.NextOptions
}

DeviceGroupCommandBufferBeginInfo sets the initial device mask for a CommandBuffer

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupCommandBufferBeginInfo.html

func (DeviceGroupCommandBufferBeginInfo) PopulateCPointer

func (o DeviceGroupCommandBufferBeginInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DeviceGroupDeviceCreateInfo

type DeviceGroupDeviceCreateInfo struct {
	// PhysicalDevices is a slice of PhysicalDevice objects belonging to the same Device group
	PhysicalDevices []core1_0.PhysicalDevice

	common.NextOptions
}

DeviceGroupDeviceCreateInfo creates a logical Device from multiple PhysicalDevice objects

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupDeviceCreateInfo.html

func (DeviceGroupDeviceCreateInfo) PopulateCPointer

func (o DeviceGroupDeviceCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DeviceGroupRenderPassBeginInfo

type DeviceGroupRenderPassBeginInfo struct {
	// DeviceMask is the deivce mask for the RenderPass instance
	DeviceMask uint32
	// DeviceRenderAreas is a slice of Rect2D structures defining the render area for each
	// PhysicalDevice
	DeviceRenderAreas []core1_0.Rect2D

	common.NextOptions
}

DeviceGroupRenderPassBeginInfo sets the initial Device mask and render areas for a RenderPass instance

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupRenderPassBeginInfo.html

func (DeviceGroupRenderPassBeginInfo) PopulateCPointer

func (o DeviceGroupRenderPassBeginInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DeviceGroupSubmitInfo

type DeviceGroupSubmitInfo struct {
	// WaitSemaphoreDeviceIndices is a slice of Device indices indicating which PhysicalDevice
	// executes the Semaphore wait operation in the corresponding element of SubmitInfo.WaitSemaphores
	WaitSemaphoreDeviceIndices []int
	// CommandBufferDeviceMasks is a slice of Device masks indicating which PhysicalDevice objects
	// execute the CommandBuffer in teh corresponding element of SubmitInfo.CommandBuffers
	CommandBufferDeviceMasks []uint32
	// SignalSemaphoreDeviceIndices is a slice of Device indices indicating which PhysicalDevice
	// executes the Semaphore signal operation in the SubmitInfo.SignalSemaphores
	SignalSemaphoreDeviceIndices []int

	common.NextOptions
}

DeviceGroupSubmitInfo indicates which PhysicalDevice objects execute Semaphore operations and CommandBuffer objects

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceGroupSubmitInfo.html

func (DeviceGroupSubmitInfo) PopulateCPointer

func (o DeviceGroupSubmitInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type DeviceQueueInfo2

type DeviceQueueInfo2 struct {
	// Flags indicates the flags used to create the Device Queue
	Flags core1_0.DeviceQueueCreateFlags
	// QueueFamilyIndex is the index of the queue family to which the Queue belongs
	QueueFamilyIndex int
	// QueueIndex is the index of the Queue to retrieve from within the set of Queue objects
	// that share both the Queue family and flags specified
	QueueIndex int

	common.NextOptions
}

DeviceQueueInfo2 specifies the parameters used for Device Queue creation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDeviceQueueInfo2.html

func (DeviceQueueInfo2) PopulateCPointer

func (o DeviceQueueInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExportFenceCreateInfo

type ExportFenceCreateInfo struct {
	// HandleTypes specifies one or more Fence handle types the application can export from
	// the resulting Fence
	HandleTypes ExternalFenceHandleTypeFlags

	common.NextOptions
}

ExportFenceCreateInfo specifies handle types that can be exported from a Fence

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExportFenceCreateInfo.html

func (ExportFenceCreateInfo) PopulateCPointer

func (o ExportFenceCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExportMemoryAllocateInfo

type ExportMemoryAllocateInfo struct {
	// HandleTypes specifies one or more memory handle types the application can export from
	// the resulting allocation
	HandleTypes ExternalMemoryHandleTypeFlags

	common.NextOptions
}

ExportMemoryAllocateInfo specifies exportable handle types for a DeviceMemory object

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExportMemoryAllocateInfo.html

func (ExportMemoryAllocateInfo) PopulateCPointer

func (o ExportMemoryAllocateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExportSemaphoreCreateInfo

type ExportSemaphoreCreateInfo struct {
	// HandleTypes specifies one or more Semaphore handle types the application can export
	// from the resulting Semaphore
	HandleTypes ExternalSemaphoreHandleTypeFlags

	common.NextOptions
}

ExportSemaphoreCreateInfo specifies handle types that can be exported from a Semaphore

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExportSemaphoreCreateInfo.html

func (ExportSemaphoreCreateInfo) PopulateCPointer

func (o ExportSemaphoreCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExternalBufferProperties

type ExternalBufferProperties struct {
	// ExternalMemoryProperties specifies various capabilities of the external handle type when
	// used with the specified Buffer creation parameters
	ExternalMemoryProperties ExternalMemoryProperties

	common.NextOutData
}

ExternalBufferProperties specifies supported external handle capabilities

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalBufferProperties.html

func (*ExternalBufferProperties) PopulateHeader

func (o *ExternalBufferProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*ExternalBufferProperties) PopulateOutData

func (o *ExternalBufferProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ExternalFenceFeatureFlags

type ExternalFenceFeatureFlags int32

ExternalFenceFeatureFlags describes features of an external Fence handle type

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceFeatureFlagBits.html

func (ExternalFenceFeatureFlags) Register

func (f ExternalFenceFeatureFlags) Register(str string)

func (ExternalFenceFeatureFlags) String

func (f ExternalFenceFeatureFlags) String() string

type ExternalFenceHandleTypeFlags

type ExternalFenceHandleTypeFlags int32

ExternalFenceHandleTypeFlags is a bitmask of valid external Fence handle types

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceHandleTypeFlagBits.html

func (ExternalFenceHandleTypeFlags) Register

func (f ExternalFenceHandleTypeFlags) Register(str string)

func (ExternalFenceHandleTypeFlags) String

type ExternalFenceProperties

type ExternalFenceProperties struct {
	// ExportFromImportedHandleTypes indicates which type of imported handle HandleType can be exported from
	ExportFromImportedHandleTypes ExternalFenceHandleTypeFlags
	// CompatibleHandleTypes specifies handle types which can be specified at the same time as HandleType when creating a Fence
	CompatibleHandleTypes ExternalFenceHandleTypeFlags
	// ExternalFenceFeatures indicates the features of HandleType
	ExternalFenceFeatures ExternalFenceFeatureFlags

	common.NextOutData
}

ExternalFenceProperties describes supported external Fence handle features

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalFenceProperties.html

func (*ExternalFenceProperties) PopulateHeader

func (o *ExternalFenceProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*ExternalFenceProperties) PopulateOutData

func (o *ExternalFenceProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ExternalImageFormatProperties

type ExternalImageFormatProperties struct {
	// ExternalMemoryProperties specifies various capabilities of the external handle type when used
	// with the specified Image creation parameters
	ExternalMemoryProperties ExternalMemoryProperties

	common.NextOutData
}

ExternalImageFormatProperties specifies supported external handle properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalImageFormatProperties.html

func (*ExternalImageFormatProperties) PopulateHeader

func (o *ExternalImageFormatProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*ExternalImageFormatProperties) PopulateOutData

func (o *ExternalImageFormatProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ExternalMemoryBufferCreateInfo

type ExternalMemoryBufferCreateInfo struct {
	// HandleTypes specifies one or more external memory handle types
	HandleTypes ExternalMemoryHandleTypeFlags

	common.NextOptions
}

ExternalMemoryBufferCreateInfo specifies that a Buffer may be backed by external memory

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryBufferCreateInfo.html

func (ExternalMemoryBufferCreateInfo) PopulateCPointer

func (o ExternalMemoryBufferCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExternalMemoryFeatureFlags

type ExternalMemoryFeatureFlags int32

ExternalMemoryFeatureFlags specifies features of an external memory handle type

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryFeatureFlagBits.html

func (ExternalMemoryFeatureFlags) Register

func (f ExternalMemoryFeatureFlags) Register(str string)

func (ExternalMemoryFeatureFlags) String

type ExternalMemoryHandleTypeFlags

type ExternalMemoryHandleTypeFlags int32

ExternalMemoryHandleTypeFlags specifies external memory handle types

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryHandleTypeFlagBits.html

func (ExternalMemoryHandleTypeFlags) Register

func (f ExternalMemoryHandleTypeFlags) Register(str string)

func (ExternalMemoryHandleTypeFlags) String

type ExternalMemoryImageCreateInfo

type ExternalMemoryImageCreateInfo struct {
	// HandleTypes specifies one or more external memory handle types
	HandleTypes ExternalMemoryHandleTypeFlags

	common.NextOptions
}

ExternalMemoryImageCreateInfo specifies that an Image may be backed by external memory

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryImageCreateInfo.html

func (ExternalMemoryImageCreateInfo) PopulateCPointer

func (o ExternalMemoryImageCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ExternalMemoryProperties

type ExternalMemoryProperties struct {
	// ExternalMemoryFeatures specifies the features of the handle type
	ExternalMemoryFeatures ExternalMemoryFeatureFlags
	// ExportFromImportedHandleTypes specifies which types of imported handle the handle type can
	// be exported from
	ExportFromImportedHandleTypes ExternalMemoryHandleTypeFlags
	// CompatibleHandleTypes specifies handle types which can be specified at the same time as the
	// handle type which creating an Image compatible with external memory
	CompatibleHandleTypes ExternalMemoryHandleTypeFlags
}

ExternalMemoryProperties specifies external memory handle type capabilities

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalMemoryProperties.html

func (ExternalMemoryProperties) PopulateCPointer

func (o ExternalMemoryProperties) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer) (unsafe.Pointer, error)

func (*ExternalMemoryProperties) PopulateOutData

func (o *ExternalMemoryProperties) PopulateOutData(cDataPointer unsafe.Pointer) error

type ExternalSemaphoreFeatureFlags

type ExternalSemaphoreFeatureFlags int32

ExternalSemaphoreFeatureFlags describes features of an external Semaphore handle type

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreFeatureFlagBits.html

func (ExternalSemaphoreFeatureFlags) Register

func (f ExternalSemaphoreFeatureFlags) Register(str string)

func (ExternalSemaphoreFeatureFlags) String

type ExternalSemaphoreHandleTypeFlags

type ExternalSemaphoreHandleTypeFlags int32

ExternalSemaphoreHandleTypeFlags is a bitmask of valid external Semaphore handle types

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreHandleTypeFlagBits.html

func (ExternalSemaphoreHandleTypeFlags) Register

func (f ExternalSemaphoreHandleTypeFlags) Register(str string)

func (ExternalSemaphoreHandleTypeFlags) String

type ExternalSemaphoreProperties

type ExternalSemaphoreProperties struct {
	// ExportFromImportedHandleTypes specifies which types of imported handle HandleType can
	// be exported from
	ExportFromImportedHandleTypes ExternalSemaphoreHandleTypeFlags
	// CompatibleHandleTypes specifies handle types which can be specified at the same time as
	// HandleType when creating a Semaphore
	CompatibleHandleTypes ExternalSemaphoreHandleTypeFlags
	// ExternalSemaphoreFeatures describes the features of HandleType
	ExternalSemaphoreFeatures ExternalSemaphoreFeatureFlags

	common.NextOutData
}

ExternalSemaphoreProperties describes supported external Semaphore handle features

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExternalSemaphoreProperties.html

func (*ExternalSemaphoreProperties) PopulateHeader

func (o *ExternalSemaphoreProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*ExternalSemaphoreProperties) PopulateOutData

func (o *ExternalSemaphoreProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type FenceImportFlags

type FenceImportFlags int32

FenceImportFlags specifies additional parameters of a Fence payload import

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFenceImportFlagBits.html

func (FenceImportFlags) Register

func (f FenceImportFlags) Register(str string)

func (FenceImportFlags) String

func (f FenceImportFlags) String() string

type FormatProperties2

type FormatProperties2 struct {
	// FormatProperties describes features supported by the requested format
	FormatProperties core1_0.FormatProperties
	common.NextOutData
}

FormatProperties2 specifies the Image format properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatProperties2KHR.html

func (*FormatProperties2) PopulateHeader

func (o *FormatProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*FormatProperties2) PopulateOutData

func (o *FormatProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ImageFormatProperties2

type ImageFormatProperties2 struct {
	// ImageFormatProperties is a structure in which capabilities are returned
	ImageFormatProperties core1_0.ImageFormatProperties

	common.NextOutData
}

ImageFormatProperties2 specifies image format properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageFormatProperties2KHR.html

func (*ImageFormatProperties2) PopulateHeader

func (o *ImageFormatProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*ImageFormatProperties2) PopulateOutData

func (o *ImageFormatProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ImageMemoryRequirementsInfo2

type ImageMemoryRequirementsInfo2 struct {
	// Image is the Image to query
	Image core1_0.Image

	common.NextOptions
}

ImageMemoryRequirementsInfo2 has no documentation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageMemoryRequirementsInfo2.html

func (ImageMemoryRequirementsInfo2) PopulateCPointer

func (o ImageMemoryRequirementsInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ImagePlaneMemoryRequirementsInfo

type ImagePlaneMemoryRequirementsInfo struct {
	// PlaneAspect specifies the aspect corresponding to the Image plane
	// to query
	PlaneAspect core1_0.ImageAspectFlags

	common.NextOptions
}

ImagePlaneMemoryRequirementsInfo specifies Image plane for memory requirements

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImagePlaneMemoryRequirementsInfo.html

func (ImagePlaneMemoryRequirementsInfo) PopulateCPointer

func (o ImagePlaneMemoryRequirementsInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ImageSparseMemoryRequirementsInfo2

type ImageSparseMemoryRequirementsInfo2 struct {
	// Image is the Image to query
	Image core1_0.Image

	common.NextOptions
}

ImageSparseMemoryRequirementsInfo2 has no documentation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageSparseMemoryRequirementsInfo2.html

func (ImageSparseMemoryRequirementsInfo2) PopulateCPointer

func (o ImageSparseMemoryRequirementsInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type ImageViewUsageCreateInfo

type ImageViewUsageCreateInfo struct {
	// Usage specifies allowed usages of the ImageView
	Usage core1_0.ImageUsageFlags

	common.NextOptions
}

ImageViewUsageCreateInfo specifies the intended usage of an ImageView

func (ImageViewUsageCreateInfo) PopulateCPointer

func (o ImageViewUsageCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type InputAttachmentAspectReference

type InputAttachmentAspectReference struct {
	// Subpass is an index into RenderPassCreateInfo.Subpasses
	Subpass int
	// InputAttachmentIndex is an index into the InputAttachments of the specified subpass
	InputAttachmentIndex int
	// AspectMask is a mask of which aspect(s) can be accessed within the specified subpass
	AspectMask core1_0.ImageAspectFlags
}

InputAttachmentAspectReference specifies a subpass/input attachment pair and an aspect mask that can be read

func (InputAttachmentAspectReference) PopulateCPointer

func (ref InputAttachmentAspectReference) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer) (unsafe.Pointer, error)

type MemoryAllocateFlags

type MemoryAllocateFlags int32

MemoryAllocateFlags specifies flags for a DeviceMemory allocation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagBits.html

const (
	// MemoryAllocateDeviceMask specifies that memory will be allocated for the devices
	// in MemoryAllocateFlagsInfo.DeviceMask
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagBitsKHR.html
	MemoryAllocateDeviceMask MemoryAllocateFlags = C.VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT
)

func (MemoryAllocateFlags) Register

func (f MemoryAllocateFlags) Register(str string)

func (MemoryAllocateFlags) String

func (f MemoryAllocateFlags) String() string

type MemoryAllocateFlagsInfo

type MemoryAllocateFlagsInfo struct {
	// Flags controls the allocation
	Flags MemoryAllocateFlags
	// DeviceMask is a mask of PhysicalDevice objects in the logical Device, indicating that
	// memory must be allocated on each Device in the mask, if MemoryAllocateDeviceMask is set
	// in flags
	DeviceMask uint32

	common.NextOptions
}

MemoryAllocateFlagsInfo controls how many instances of memory will be allocated

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagsInfoKHR.html

func (MemoryAllocateFlagsInfo) PopulateCPointer

func (o MemoryAllocateFlagsInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type MemoryDedicatedAllocateInfo

type MemoryDedicatedAllocateInfo struct {
	// Image is nil or the Image object which this memory will be bound to
	Image core1_0.Image
	// Buffer is nil or the Buffer object this memory will be bound to
	Buffer core1_0.Buffer

	common.NextOptions
}

MemoryDedicatedAllocateInfo specifies a dedicated memory allocation resource

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryDedicatedAllocateInfo.html

func (MemoryDedicatedAllocateInfo) PopulateCPointer

func (o MemoryDedicatedAllocateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type MemoryDedicatedRequirements

type MemoryDedicatedRequirements struct {
	// PrefersDedicatedAllocation specifies that the implementation would prefer a dedicated
	// allocation for this resource. The application is still free to suballocate the resource
	// but it may get better performance if a dedicated allocation is used
	PrefersDedicatedAllocation bool
	// RequiresDedicatedAllocation specifies that a dedicated allocation is required for this resource
	RequiresDedicatedAllocation bool

	common.NextOutData
}

MemoryDedicatedRequirements describes dedicated allocation requirements of Buffer and Image resources

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryDedicatedRequirements.html

func (*MemoryDedicatedRequirements) PopulateHeader

func (o *MemoryDedicatedRequirements) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*MemoryDedicatedRequirements) PopulateOutData

func (o *MemoryDedicatedRequirements) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type MemoryRequirements2

type MemoryRequirements2 struct {
	// MemoryRequirements describes the memory requirements of the resource
	MemoryRequirements core1_0.MemoryRequirements

	common.NextOutData
}

MemoryRequirements2 specifies memory requirements

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryRequirements2.html

func (*MemoryRequirements2) PopulateHeader

func (o *MemoryRequirements2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*MemoryRequirements2) PopulateOutData

func (o *MemoryRequirements2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PeerMemoryFeatureFlags

type PeerMemoryFeatureFlags int32

PeerMemoryFeatureFlags specifies supported peer memory features

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPeerMemoryFeatureFlagBits.html

func (PeerMemoryFeatureFlags) Register

func (f PeerMemoryFeatureFlags) Register(str string)

func (PeerMemoryFeatureFlags) String

func (f PeerMemoryFeatureFlags) String() string

type PhysicalDevice16BitStorageFeatures

type PhysicalDevice16BitStorageFeatures struct {
	// StorageBuffer16BitAccess specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR,
	// or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and
	// 16-bit floating-point members
	StorageBuffer16BitAccess bool
	// UniformAndStorageBuffer16BitAccess specifies whether objects in the Uniform storage class with
	// the Block decoration can have 16-bit integer and 16-bit floating-point members
	UniformAndStorageBuffer16BitAccess bool
	// StoragePushConstant16 specifies whether objects in the PushConstant storage class can have
	// 16-bit integer and 16-bit floating-point members
	StoragePushConstant16 bool
	// StorageInputOutput16 specifies whether objects in the Input and Output storage classes can
	// have 16-bit integer and 16-bit floating-point members
	StorageInputOutput16 bool

	common.NextOptions
	common.NextOutData
}

PhysicalDevice16BitStorageFeatures describes features supported by khr_16bit_storage

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevice16BitStorageFeatures.html

func (PhysicalDevice16BitStorageFeatures) PopulateCPointer

func (o PhysicalDevice16BitStorageFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDevice16BitStorageFeatures) PopulateHeader

func (o *PhysicalDevice16BitStorageFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDevice16BitStorageFeatures) PopulateOutData

func (o *PhysicalDevice16BitStorageFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceExternalBufferInfo

type PhysicalDeviceExternalBufferInfo struct {
	// Flags describes additional parameters of the Buffer, corresponding to BufferCreateInfo.Flags
	Flags core1_0.BufferCreateFlags
	// Usage describes the intended usage of the Buffer, corresponding to BufferCreateInfo.Usage
	Usage core1_0.BufferUsageFlags
	// HandleType specifies the memory handle type that will be used with the memory
	// associated with the Buffer
	HandleType ExternalMemoryHandleTypeFlags

	common.NextOptions
}

PhysicalDeviceExternalBufferInfo specifies Buffer creation parameters

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceExternalBufferInfo.html

func (PhysicalDeviceExternalBufferInfo) PopulateCPointer

func (o PhysicalDeviceExternalBufferInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceExternalFenceInfo

type PhysicalDeviceExternalFenceInfo struct {
	// HandleType specifies an external Fence handle type for which capabilities will be
	// returned
	HandleType ExternalFenceHandleTypeFlags

	common.NextOptions
}

PhysicalDeviceExternalFenceInfo specifies Fence creation parameters

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceExternalFenceInfo.html

func (PhysicalDeviceExternalFenceInfo) PopulateCPointer

func (o PhysicalDeviceExternalFenceInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceExternalImageFormatInfo

type PhysicalDeviceExternalImageFormatInfo struct {
	// HandleType specifies the memory handle type that will be used with the memory associated
	// with the Image
	HandleType ExternalMemoryHandleTypeFlags

	common.NextOptions
}

PhysicalDeviceExternalImageFormatInfo specifies external Image creation parameters

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceExternalImageFormatInfo.html

func (PhysicalDeviceExternalImageFormatInfo) PopulateCPointer

func (o PhysicalDeviceExternalImageFormatInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceExternalSemaphoreInfo

type PhysicalDeviceExternalSemaphoreInfo struct {
	// HandleType specifies the external Semaphore handle type for which capabilities will
	// be returned
	HandleType ExternalSemaphoreHandleTypeFlags

	common.NextOptions
}

PhysicalDeviceExternalSemaphoreInfo specifies Semaphore creation parameters

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceExternalSemaphoreInfo.html

func (PhysicalDeviceExternalSemaphoreInfo) PopulateCPointer

func (o PhysicalDeviceExternalSemaphoreInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceFeatures2

type PhysicalDeviceFeatures2 struct {
	// Features describes the fine-grained features of the Vulkan 1.0 API
	Features core1_0.PhysicalDeviceFeatures

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceFeatures2 describes the fine-grained features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceFeatures2.html

func (PhysicalDeviceFeatures2) PopulateCPointer

func (o PhysicalDeviceFeatures2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceFeatures2) PopulateHeader

func (o *PhysicalDeviceFeatures2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceFeatures2) PopulateOutData

func (o *PhysicalDeviceFeatures2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceGroupProperties

type PhysicalDeviceGroupProperties struct {
	// PhysicalDevices is a slice of PhysicalDevice objects that represent all PhysicalDevice
	// objects in the group
	PhysicalDevices []core1_0.PhysicalDevice
	// SubsetAllocation specifies whether logical Device objects created from the group support
	// allocating DeviceMemory on a subset of Device objects, via MemoryAllocateFlagsInfo
	SubsetAllocation bool

	common.NextOutData
}

PhysicalDeviceGroupProperties specifies PhysicalDevice group properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceGroupProperties.html

func (*PhysicalDeviceGroupProperties) PopulateHeader

func (o *PhysicalDeviceGroupProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceGroupProperties) PopulateOutData

func (o *PhysicalDeviceGroupProperties) PopulateOutData(cPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceIDProperties

type PhysicalDeviceIDProperties struct {
	// DeviceUUID represents a universally-unique identifier for the device
	DeviceUUID uuid.UUID
	// DriverUUID represents a universally-unique identifier for the loader build
	// in use by the device
	DriverUUID uuid.UUID
	// DeviceLUID represents a locally-unique identifier for the device
	DeviceLUID uint64
	// DeviceNodeMask identifies the node within a linked device adapter corresponding to the
	// Device
	DeviceNodeMask uint32
	// DeviceLUIDValid is true if DeviceLUID contains a valid LUID and DeviceNodeMask contains
	// a valid node mask
	DeviceLUIDValid bool

	common.NextOutData
}

PhysicalDeviceIDProperties speicifes IDs related to the PhysicalDevice

func (*PhysicalDeviceIDProperties) PopulateHeader

func (o *PhysicalDeviceIDProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceIDProperties) PopulateOutData

func (o *PhysicalDeviceIDProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceImageFormatInfo2

type PhysicalDeviceImageFormatInfo2 struct {
	// Format indicates the Image format, corresponding to ImageCreateInfo.Format
	Format core1_0.Format
	// Type indicates the ImageType, corresponding to ImageCreateInfo.ImageType
	Type core1_0.ImageType
	// Tiling indicates the Image tiling, corresponding to ImageCreateInfo.Tiling
	Tiling core1_0.ImageTiling
	// Usage indicates the intended usage of the Image, corresponding to ImageCreateInfo.Usage
	Usage core1_0.ImageUsageFlags
	// Flags indicates additional parameters of the Image, corresponding to ImageCreateInfo.Flags
	Flags core1_0.ImageCreateFlags

	common.NextOptions
}

PhysicalDeviceImageFormatInfo2 specifies Image creation parameters

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceImageFormatInfo2KHR.html

func (PhysicalDeviceImageFormatInfo2) PopulateCPointer

func (o PhysicalDeviceImageFormatInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceMaintenance3Properties

type PhysicalDeviceMaintenance3Properties struct {
	// MaxPerSetDescriptors is a maximum number of descriptors in a single DescriptorSet that is
	// guaranteed to satisfy any implementation-dependent constraints on the size of a
	// DescriptorSet itself
	MaxPerSetDescriptors int
	// MaxMemoryAllocationSize is the maximum size of a memory allocation that can be created,
	// even if the is more space available in the heap
	MaxMemoryAllocationSize int

	common.NextOutData
}

PhysicalDeviceMaintenance3Properties describes DescriptorSet properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMaintenance3Properties.html

func (*PhysicalDeviceMaintenance3Properties) PopulateHeader

func (o *PhysicalDeviceMaintenance3Properties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceMaintenance3Properties) PopulateOutData

func (o *PhysicalDeviceMaintenance3Properties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceMemoryProperties2

type PhysicalDeviceMemoryProperties2 struct {
	// MemoryProperties is a structure which is populated with the same values as in
	// PhysicalDevice.MemoryProperties
	MemoryProperties core1_0.PhysicalDeviceMemoryProperties

	common.NextOutData
}

PhysicalDeviceMemoryProperties2 specifies PhysicalDevice memory properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMemoryProperties2.html

func (*PhysicalDeviceMemoryProperties2) PopulateHeader

func (o *PhysicalDeviceMemoryProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceMemoryProperties2) PopulateOutData

func (o *PhysicalDeviceMemoryProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceMultiviewFeatures

type PhysicalDeviceMultiviewFeatures struct {
	// Multiview specifies whether the implementation supports multiview rendering within a
	// RenderPass. If this feature is not enabled, the view mask of each subpass must always
	// be zero
	Multiview bool
	// MultiviewGeometryShader specifies whether the implementation supports multiview rendering
	// within a RenderPass, with geometry shaders
	MultiviewGeometryShader bool
	// MultiviewTessellationShader specifies whether the implementation supports multiview rendering
	// within a RenderPass, with tessellation shaders
	MultiviewTessellationShader bool

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceMultiviewFeatures describes multiview features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMultiviewFeatures.html

func (PhysicalDeviceMultiviewFeatures) PopulateCPointer

func (o PhysicalDeviceMultiviewFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceMultiviewFeatures) PopulateHeader

func (o *PhysicalDeviceMultiviewFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceMultiviewFeatures) PopulateOutData

func (o *PhysicalDeviceMultiviewFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceMultiviewProperties

type PhysicalDeviceMultiviewProperties struct {
	// MaxMultiviewViewCount is one greater than the maximum view index that can be used in
	// a subpass
	MaxMultiviewViewCount int
	// MaxMultiviewInstanceIndex is the maximum
	MaxMultiviewInstanceIndex int

	common.NextOutData
}

PhysicalDeviceMultiviewProperties describes multiview limits that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMultiviewProperties.html

func (*PhysicalDeviceMultiviewProperties) PopulateHeader

func (o *PhysicalDeviceMultiviewProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceMultiviewProperties) PopulateOutData

func (o *PhysicalDeviceMultiviewProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDevicePointClippingProperties

type PhysicalDevicePointClippingProperties struct {
	// PointClippingBehavior specifies the point clipping behavior supported by the implementation
	PointClippingBehavior PointClippingBehavior

	common.NextOutData
}

PhysicalDevicePointClippingProperties describes the point clipping behavior supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevicePointClippingProperties.html

func (*PhysicalDevicePointClippingProperties) PopulateHeader

func (o *PhysicalDevicePointClippingProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDevicePointClippingProperties) PopulateOutData

func (o *PhysicalDevicePointClippingProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceProperties2

type PhysicalDeviceProperties2 struct {
	// Properties describes properties of the PhysicalDevice
	Properties core1_0.PhysicalDeviceProperties

	common.NextOutData
}

PhysicalDeviceProperties2 specifies PhysicalDevice properties

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceProperties2.html

func (*PhysicalDeviceProperties2) PopulateHeader

func (o *PhysicalDeviceProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceProperties2) PopulateOutData

func (o *PhysicalDeviceProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceProtectedMemoryFeatures

type PhysicalDeviceProtectedMemoryFeatures struct {
	// ProtectedMemory specifies whether protected memory is supported
	ProtectedMemory bool

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceProtectedMemoryFeatures describes protected memory features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceProtectedMemoryFeatures.html

func (PhysicalDeviceProtectedMemoryFeatures) PopulateCPointer

func (o PhysicalDeviceProtectedMemoryFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceProtectedMemoryFeatures) PopulateHeader

func (o *PhysicalDeviceProtectedMemoryFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceProtectedMemoryFeatures) PopulateOutData

func (o *PhysicalDeviceProtectedMemoryFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceProtectedMemoryProperties

type PhysicalDeviceProtectedMemoryProperties struct {
	// ProtectedNoFault specifies how an implementation behaves when an application attempts
	// to write to unprotected memory in a protected Queue operation, or perform a query in a
	// protected Queue operation
	ProtectedNoFault bool

	common.NextOutData
}

PhysicalDeviceProtectedMemoryProperties describes protected memory properties that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceProtectedMemoryProperties.html

func (*PhysicalDeviceProtectedMemoryProperties) PopulateHeader

func (o *PhysicalDeviceProtectedMemoryProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceProtectedMemoryProperties) PopulateOutData

func (o *PhysicalDeviceProtectedMemoryProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceSamplerYcbcrConversionFeatures

type PhysicalDeviceSamplerYcbcrConversionFeatures struct {
	// SamplerYcbcrConversion specifies whether the implementation support sampler Y'CbCr conversion.
	SamplerYcbcrConversion bool

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceSamplerYcbcrConversionFeatures describes Y'CbCr conversion features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceSamplerYcbcrConversionFeatures.html

func (PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateCPointer

func (o PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateHeader

func (o *PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateOutData

func (o *PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceShaderDrawParametersFeatures

type PhysicalDeviceShaderDrawParametersFeatures struct {
	// ShaderDrawParameters specifies whether the implementation supports the SPIR-V DrawParameters
	// capability
	ShaderDrawParameters bool

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceShaderDrawParametersFeatures describes shader draw parameter features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceShaderDrawParametersFeatures.html

func (PhysicalDeviceShaderDrawParametersFeatures) PopulateCPointer

func (o PhysicalDeviceShaderDrawParametersFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceShaderDrawParametersFeatures) PopulateHeader

func (o *PhysicalDeviceShaderDrawParametersFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceShaderDrawParametersFeatures) PopulateOutData

func (o *PhysicalDeviceShaderDrawParametersFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceSparseImageFormatInfo2

type PhysicalDeviceSparseImageFormatInfo2 struct {
	// Format is the Image format
	Format core1_0.Format
	// Type is the dimensionality of the Image
	Type core1_0.ImageType
	// Samples specifies the number of samples per texel
	Samples core1_0.SampleCountFlags
	// Usage describes the intended usage of the Image
	Usage core1_0.ImageUsageFlags
	// Tiling is the tiling arrangement of the texel blocks in memory
	Tiling core1_0.ImageTiling

	common.NextOptions
}

PhysicalDeviceSparseImageFormatInfo2 specifies sparse Image format inputs

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceSparseImageFormatInfo2KHR.html

func (PhysicalDeviceSparseImageFormatInfo2) PopulateCPointer

func (o PhysicalDeviceSparseImageFormatInfo2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PhysicalDeviceSubgroupProperties

type PhysicalDeviceSubgroupProperties struct {
	// SubgroupSize is the default number of invocations in each subgroup
	SubgroupSize int
	// SupportedStages describes the shader stages that group operations with subgroup scope
	// are supported in
	SupportedStages core1_0.ShaderStageFlags
	// SupportedOperations specifies the sets of group operations with subgroup scope supported
	// on this Device
	SupportedOperations SubgroupFeatureFlags
	// QuadOperationsInAllStages specifies whether quad group operations are available in all
	// stages, or are restricted to fragment and compute stages
	QuadOperationsInAllStages bool

	common.NextOutData
}

PhysicalDeviceSubgroupProperties describes subgroup support for an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceSubgroupProperties.html

func (*PhysicalDeviceSubgroupProperties) PopulateHeader

func (o *PhysicalDeviceSubgroupProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceSubgroupProperties) PopulateOutData

func (o *PhysicalDeviceSubgroupProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PhysicalDeviceVariablePointersFeatures

type PhysicalDeviceVariablePointersFeatures struct {
	// VariablePointersStorageBuffer specifies whether the implementation supports the SPIR-V
	// VariablePointersStorageBuffer capability
	VariablePointersStorageBuffer bool
	// VariablePointers specifies whether the implementation supports the SPIR-V VariablePointers
	// capability
	VariablePointers bool

	common.NextOptions
	common.NextOutData
}

PhysicalDeviceVariablePointersFeatures describes variable pointer features that can be supported by an implementation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceVariablePointersFeatures.html

func (PhysicalDeviceVariablePointersFeatures) PopulateCPointer

func (o PhysicalDeviceVariablePointersFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceVariablePointersFeatures) PopulateHeader

func (o *PhysicalDeviceVariablePointersFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceVariablePointersFeatures) PopulateOutData

func (o *PhysicalDeviceVariablePointersFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type PipelineTessellationDomainOriginStateCreateInfo

type PipelineTessellationDomainOriginStateCreateInfo struct {
	// DomainOrigin controls the origin of the tessellation domain space
	DomainOrigin TessellationDomainOrigin

	common.NextOptions
}

PipelineTessellationDomainOriginStateCreateInfo specifies the origin of the tessellation domain

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineTessellationDomainOriginStateCreateInfo.html

func (PipelineTessellationDomainOriginStateCreateInfo) PopulateCPointer

func (o PipelineTessellationDomainOriginStateCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type PointClippingBehavior

type PointClippingBehavior int32

PointClippingBehavior specifies the point clipping behavior

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPointClippingBehavior.html

func (PointClippingBehavior) Register

func (e PointClippingBehavior) Register(str string)

func (PointClippingBehavior) String

func (e PointClippingBehavior) String() string

type ProtectedSubmitInfo

type ProtectedSubmitInfo struct {
	// ProtectedSubmit specifies whether the batch is protected
	ProtectedSubmit bool

	common.NextOptions
}

ProtectedSubmitInfo indicates whether the submission is protected

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkProtectedSubmitInfo.html

func (ProtectedSubmitInfo) PopulateCPointer

func (o ProtectedSubmitInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type QueueFamilyProperties2

type QueueFamilyProperties2 struct {
	// QueueFamilyProperties is populated with the same values as in
	// PhysicalDevice.QueueFamilyProperties
	QueueFamilyProperties core1_0.QueueFamilyProperties

	common.NextOutData
}

QueueFamilyProperties2 provides information about a Queue family

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkQueueFamilyProperties2KHR.html

func (*QueueFamilyProperties2) PopulateHeader

func (o *QueueFamilyProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*QueueFamilyProperties2) PopulateOutData

func (o *QueueFamilyProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type RenderPassInputAttachmentAspectCreateInfo

type RenderPassInputAttachmentAspectCreateInfo struct {
	// AspectReferences is a slice of InputAttachmentAspectReference structures containing
	// a mask describing which aspect(s) can be accessed for a given input attachment within a
	// given subpass
	AspectReferences []InputAttachmentAspectReference

	common.NextOptions
}

RenderPassInputAttachmentAspectCreateInfo specifies, for a given subpass/input attachment pair, which aspect can be read

func (RenderPassInputAttachmentAspectCreateInfo) PopulateCPointer

func (o RenderPassInputAttachmentAspectCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type RenderPassMultiviewCreateInfo

type RenderPassMultiviewCreateInfo struct {
	// ViewMasks is a slice of view masks, where each mask is a bitfield of view indices describing
	// which views rendering is broadcast to in each subpass, when multiview is enabled
	ViewMasks []uint32
	// ViewOffsets is a slice of view offsets, one for each subpass dependency. Each view offset
	// controls which view in the source subpass the views in the destination subpass depends on.
	ViewOffsets []int
	// CorrelationMasks is a slice of view masks indicating stes of views that may be
	// more efficient to render concurrently
	CorrelationMasks []uint32

	common.NextOptions
}

RenderPassMultiviewCreateInfo contains multiview information for all subpasses

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkRenderPassMultiviewCreateInfo.html

func (RenderPassMultiviewCreateInfo) PopulateCPointer

func (o RenderPassMultiviewCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type SamplerYcbcrConversion

type SamplerYcbcrConversion struct {
	// contains filtered or unexported fields
}

SamplerYcbcrConversion is an opaque representation of a device-specific sampler YCbCr conversion description.

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversion.html

func InternalSamplerYcbcrConversion

func InternalSamplerYcbcrConversion(device loader.VkDevice, handle loader.VkSamplerYcbcrConversion, version common.APIVersion) SamplerYcbcrConversion

func (SamplerYcbcrConversion) APIVersion

func (y SamplerYcbcrConversion) APIVersion() common.APIVersion

func (SamplerYcbcrConversion) DeviceHandle

func (y SamplerYcbcrConversion) DeviceHandle() loader.VkDevice

func (SamplerYcbcrConversion) Handle

func (SamplerYcbcrConversion) Initialized

func (y SamplerYcbcrConversion) Initialized() bool

type SamplerYcbcrConversionCreateInfo

type SamplerYcbcrConversionCreateInfo struct {
	// Format is the format of the Image from which color information will be retrieved
	Format core1_0.Format
	// YcbcrModel describes the color matrix for conversion between color models
	YcbcrModel SamplerYcbcrModelConversion
	// YcbcrRange describes whether the encoded values have headroom and foot room, or whether
	// the encoding uses the full numerical range
	YcbcrRange SamplerYcbcrRange
	// Components applies a swizzle based on core1_0.ComponentSwizzle enums prior to range
	// expansion and color model conversion
	Components core1_0.ComponentMapping
	// XChromaOffset describes the sample location associated with downsampled chroma components
	// in the x dimension
	XChromaOffset ChromaLocation
	// YChromaOffset describes the sample location associated with downsampled chroma components
	// in the y dimension
	YChromaOffset ChromaLocation
	// ChromaFilter is the filter for chroma reconstruction
	ChromaFilter core1_0.Filter
	// ForceExplicitReconstruction can be used to ensure that reconstruction is done explicitly,
	// if supported
	ForceExplicitReconstruction bool

	common.NextOptions
}

SamplerYcbcrConversionCreateInfo specifies the parameters of the newly-created conversion

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionCreateInfo.html

func (SamplerYcbcrConversionCreateInfo) PopulateCPointer

func (o SamplerYcbcrConversionCreateInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type SamplerYcbcrConversionImageFormatProperties

type SamplerYcbcrConversionImageFormatProperties struct {
	// CombinedImageSamplerDescriptorCount is the number of combined Image sampler descriptors that
	// the implementation uses to access the format
	CombinedImageSamplerDescriptorCount int

	common.NextOutData
}

SamplerYcbcrConversionImageFormatProperties specifies combined Image sampler descriptor count for multi-planar images

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionImageFormatProperties.html

func (*SamplerYcbcrConversionImageFormatProperties) PopulateHeader

func (o *SamplerYcbcrConversionImageFormatProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*SamplerYcbcrConversionImageFormatProperties) PopulateOutData

func (o *SamplerYcbcrConversionImageFormatProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type SamplerYcbcrConversionInfo

type SamplerYcbcrConversionInfo struct {
	// Conversion is a SamplerYcbcrConversion object created from the Device
	Conversion SamplerYcbcrConversion

	common.NextOptions
}

SamplerYcbcrConversionInfo specifies a Y'CbCr conversion to a Sampler or ImageView

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversionInfo.html

func (SamplerYcbcrConversionInfo) PopulateCPointer

func (o SamplerYcbcrConversionInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

type SamplerYcbcrModelConversion

type SamplerYcbcrModelConversion int32

SamplerYcbcrModelConversion is the color model component of a color space

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrModelConversion.html

func (SamplerYcbcrModelConversion) Register

func (e SamplerYcbcrModelConversion) Register(str string)

func (SamplerYcbcrModelConversion) String

type SamplerYcbcrRange

type SamplerYcbcrRange int32

SamplerYcbcrRange is a range of encoded values in a color space

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrRange.html

func (SamplerYcbcrRange) Register

func (e SamplerYcbcrRange) Register(str string)

func (SamplerYcbcrRange) String

func (e SamplerYcbcrRange) String() string

type SemaphoreImportFlags

type SemaphoreImportFlags int32

SemaphoreImportFlags specifies additional parameters of Semaphore payload import

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreImportFlagBits.html

func (SemaphoreImportFlags) Register

func (f SemaphoreImportFlags) Register(str string)

func (SemaphoreImportFlags) String

func (f SemaphoreImportFlags) String() string

type SparseImageFormatProperties2

type SparseImageFormatProperties2 struct {
	// Properties is populated with the same values as in PhysicalDevice.SparseImageFormatProperties
	Properties core1_0.SparseImageFormatProperties
	common.NextOutData
}

SparseImageFormatProperties2 specifies sparse Image format properties

func (*SparseImageFormatProperties2) PopulateHeader

func (o *SparseImageFormatProperties2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*SparseImageFormatProperties2) PopulateOutData

func (o *SparseImageFormatProperties2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type SparseImageMemoryRequirements2

type SparseImageMemoryRequirements2 struct {
	// MemoryRequirements describes the memory requirements of the sparse image
	MemoryRequirements core1_0.SparseImageMemoryRequirements

	common.NextOutData
}

SparseImageMemoryRequirements2 has no documentation

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSparseImageMemoryRequirements2.html

func (*SparseImageMemoryRequirements2) PopulateHeader

func (o *SparseImageMemoryRequirements2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*SparseImageMemoryRequirements2) PopulateOutData

func (o *SparseImageMemoryRequirements2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type SubgroupFeatureFlags

type SubgroupFeatureFlags int32

SubgroupFeatureFlags describes what group operations are supported with subgroup scope

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubgroupFeatureFlagBits.html

func (SubgroupFeatureFlags) Register

func (f SubgroupFeatureFlags) Register(str string)

func (SubgroupFeatureFlags) String

func (f SubgroupFeatureFlags) String() string

type TessellationDomainOrigin

type TessellationDomainOrigin int32

TessellationDomainOrigin describes tessellation domain origin

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkTessellationDomainOrigin.html

func (TessellationDomainOrigin) Register

func (e TessellationDomainOrigin) Register(str string)

func (TessellationDomainOrigin) String

func (e TessellationDomainOrigin) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL