Documentation
¶
Index ¶
- Constants
- type BindBufferMemoryDeviceGroupInfo
- type BindBufferMemoryInfo
- type BindImageMemoryDeviceGroupInfo
- type BindImageMemoryInfo
- type BindImagePlaneMemoryInfo
- type BufferMemoryRequirementsInfo2
- type ChromaLocation
- type CommandPoolTrimFlags
- type CoreDeviceDriver
- type CoreInstanceDriver
- type DescriptorSetLayoutSupport
- type DescriptorUpdateTemplate
- type DescriptorUpdateTemplateCreateFlags
- type DescriptorUpdateTemplateCreateInfo
- type DescriptorUpdateTemplateEntry
- type DescriptorUpdateTemplateType
- type DeviceDriver
- type DeviceGroupBindSparseInfo
- type DeviceGroupCommandBufferBeginInfo
- type DeviceGroupDeviceCreateInfo
- type DeviceGroupRenderPassBeginInfo
- type DeviceGroupSubmitInfo
- type DeviceQueueInfo2
- type ExportFenceCreateInfo
- type ExportMemoryAllocateInfo
- type ExportSemaphoreCreateInfo
- type ExternalBufferProperties
- type ExternalFenceFeatureFlags
- type ExternalFenceHandleTypeFlags
- type ExternalFenceProperties
- type ExternalImageFormatProperties
- type ExternalMemoryBufferCreateInfo
- type ExternalMemoryFeatureFlags
- type ExternalMemoryHandleTypeFlags
- type ExternalMemoryImageCreateInfo
- type ExternalMemoryProperties
- type ExternalSemaphoreFeatureFlags
- type ExternalSemaphoreHandleTypeFlags
- type ExternalSemaphoreProperties
- type FenceImportFlags
- type FormatProperties2
- type ImageFormatProperties2
- type ImageMemoryRequirementsInfo2
- type ImagePlaneMemoryRequirementsInfo
- type ImageSparseMemoryRequirementsInfo2
- type ImageViewUsageCreateInfo
- type InputAttachmentAspectReference
- type MemoryAllocateFlags
- type MemoryAllocateFlagsInfo
- type MemoryDedicatedAllocateInfo
- type MemoryDedicatedRequirements
- type MemoryRequirements2
- type PeerMemoryFeatureFlags
- type PhysicalDevice16BitStorageFeatures
- func (o PhysicalDevice16BitStorageFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDevice16BitStorageFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDevice16BitStorageFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceExternalBufferInfo
- type PhysicalDeviceExternalFenceInfo
- type PhysicalDeviceExternalImageFormatInfo
- type PhysicalDeviceExternalSemaphoreInfo
- type PhysicalDeviceFeatures2
- func (o PhysicalDeviceFeatures2) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceFeatures2) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceFeatures2) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceGroupProperties
- type PhysicalDeviceIDProperties
- type PhysicalDeviceImageFormatInfo2
- type PhysicalDeviceMaintenance3Properties
- type PhysicalDeviceMemoryProperties2
- type PhysicalDeviceMultiviewFeatures
- func (o PhysicalDeviceMultiviewFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceMultiviewFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceMultiviewFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceMultiviewProperties
- type PhysicalDevicePointClippingProperties
- func (o *PhysicalDevicePointClippingProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDevicePointClippingProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceProperties2
- type PhysicalDeviceProtectedMemoryFeatures
- func (o PhysicalDeviceProtectedMemoryFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceProtectedMemoryFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceProtectedMemoryFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceProtectedMemoryProperties
- func (o *PhysicalDeviceProtectedMemoryProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceProtectedMemoryProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceSamplerYcbcrConversionFeatures
- func (o PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceShaderDrawParametersFeatures
- func (o PhysicalDeviceShaderDrawParametersFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderDrawParametersFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderDrawParametersFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceSparseImageFormatInfo2
- type PhysicalDeviceSubgroupProperties
- type PhysicalDeviceVariablePointersFeatures
- func (o PhysicalDeviceVariablePointersFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVariablePointersFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVariablePointersFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PipelineTessellationDomainOriginStateCreateInfo
- type PointClippingBehavior
- type ProtectedSubmitInfo
- type QueueFamilyProperties2
- type RenderPassInputAttachmentAspectCreateInfo
- type RenderPassMultiviewCreateInfo
- type SamplerYcbcrConversion
- type SamplerYcbcrConversionCreateInfo
- type SamplerYcbcrConversionImageFormatProperties
- func (o *SamplerYcbcrConversionImageFormatProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *SamplerYcbcrConversionImageFormatProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type SamplerYcbcrConversionInfo
- type SamplerYcbcrModelConversion
- type SamplerYcbcrRange
- type SemaphoreImportFlags
- type SparseImageFormatProperties2
- type SparseImageMemoryRequirements2
- type SubgroupFeatureFlags
- type TessellationDomainOrigin
Constants ¶
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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
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
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
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
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
type BufferMemoryRequirementsInfo2 ¶
type BufferMemoryRequirementsInfo2 struct {
// Buffer is the Buffer to query
Buffer core1_0.Buffer
common.NextOptions
}
BufferMemoryRequirementsInfo2 has no documentation
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 (*DescriptorSetLayoutSupport) PopulateOutData ¶
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
func InternalDescriptorUpdateTemplate ¶
func InternalDescriptorUpdateTemplate(device loader.VkDevice, handle loader.VkDescriptorUpdateTemplate, version common.APIVersion) DescriptorUpdateTemplate
func (DescriptorUpdateTemplate) APIVersion ¶
func (t DescriptorUpdateTemplate) APIVersion() common.APIVersion
func (DescriptorUpdateTemplate) DeviceHandle ¶
func (t DescriptorUpdateTemplate) DeviceHandle() loader.VkDevice
func (DescriptorUpdateTemplate) Handle ¶
func (t DescriptorUpdateTemplate) Handle() loader.VkDescriptorUpdateTemplate
func (DescriptorUpdateTemplate) Initialized ¶
func (t DescriptorUpdateTemplate) Initialized() bool
type DescriptorUpdateTemplateCreateFlags ¶
type DescriptorUpdateTemplateCreateFlags int32
DescriptorUpdateTemplateCreateFlags is reserved for future use
func (DescriptorUpdateTemplateCreateFlags) Register ¶
func (f DescriptorUpdateTemplateCreateFlags) Register(str string)
func (DescriptorUpdateTemplateCreateFlags) String ¶
func (f DescriptorUpdateTemplateCreateFlags) String() 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
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
func (DescriptorUpdateTemplateEntry) PopulateCPointer ¶
type DescriptorUpdateTemplateType ¶
type DescriptorUpdateTemplateType int32
DescriptorUpdateTemplateType indicates the valid usage of the DescriptorUpdateTemplate
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 ¶
func (e DescriptorUpdateTemplateType) String() 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
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
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
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
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
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
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
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
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
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 (*ExternalBufferProperties) PopulateOutData ¶
type ExternalFenceFeatureFlags ¶
type ExternalFenceFeatureFlags int32
ExternalFenceFeatureFlags describes features of an external Fence handle type
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
func (ExternalFenceHandleTypeFlags) Register ¶
func (f ExternalFenceHandleTypeFlags) Register(str string)
func (ExternalFenceHandleTypeFlags) String ¶
func (f ExternalFenceHandleTypeFlags) String() 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 (*ExternalFenceProperties) PopulateOutData ¶
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
func (*ExternalImageFormatProperties) PopulateHeader ¶
func (*ExternalImageFormatProperties) PopulateOutData ¶
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
type ExternalMemoryFeatureFlags ¶
type ExternalMemoryFeatureFlags int32
ExternalMemoryFeatureFlags specifies features of an external memory handle type
func (ExternalMemoryFeatureFlags) Register ¶
func (f ExternalMemoryFeatureFlags) Register(str string)
func (ExternalMemoryFeatureFlags) String ¶
func (f ExternalMemoryFeatureFlags) String() string
type ExternalMemoryHandleTypeFlags ¶
type ExternalMemoryHandleTypeFlags int32
ExternalMemoryHandleTypeFlags specifies external memory handle types
func (ExternalMemoryHandleTypeFlags) Register ¶
func (f ExternalMemoryHandleTypeFlags) Register(str string)
func (ExternalMemoryHandleTypeFlags) String ¶
func (f ExternalMemoryHandleTypeFlags) String() 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
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 (*ExternalMemoryProperties) PopulateOutData ¶
func (o *ExternalMemoryProperties) PopulateOutData(cDataPointer unsafe.Pointer) error
type ExternalSemaphoreFeatureFlags ¶
type ExternalSemaphoreFeatureFlags int32
ExternalSemaphoreFeatureFlags describes features of an external Semaphore handle type
func (ExternalSemaphoreFeatureFlags) Register ¶
func (f ExternalSemaphoreFeatureFlags) Register(str string)
func (ExternalSemaphoreFeatureFlags) String ¶
func (f ExternalSemaphoreFeatureFlags) String() string
type ExternalSemaphoreHandleTypeFlags ¶
type ExternalSemaphoreHandleTypeFlags int32
ExternalSemaphoreHandleTypeFlags is a bitmask of valid external Semaphore handle types
func (ExternalSemaphoreHandleTypeFlags) Register ¶
func (f ExternalSemaphoreHandleTypeFlags) Register(str string)
func (ExternalSemaphoreHandleTypeFlags) String ¶
func (f ExternalSemaphoreHandleTypeFlags) String() 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 (*ExternalSemaphoreProperties) PopulateOutData ¶
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 (*FormatProperties2) PopulateOutData ¶
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 (*ImageFormatProperties2) PopulateOutData ¶
type ImageMemoryRequirementsInfo2 ¶
type ImageMemoryRequirementsInfo2 struct {
// Image is the Image to query
Image core1_0.Image
common.NextOptions
}
ImageMemoryRequirementsInfo2 has no documentation
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
type ImageSparseMemoryRequirementsInfo2 ¶
type ImageSparseMemoryRequirementsInfo2 struct {
// Image is the Image to query
Image core1_0.Image
common.NextOptions
}
ImageSparseMemoryRequirementsInfo2 has no documentation
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
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 ¶
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
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
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 (*MemoryDedicatedRequirements) PopulateOutData ¶
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 (*MemoryRequirements2) PopulateOutData ¶
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
func (PhysicalDevice16BitStorageFeatures) PopulateCPointer ¶
func (*PhysicalDevice16BitStorageFeatures) PopulateHeader ¶
func (*PhysicalDevice16BitStorageFeatures) PopulateOutData ¶
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
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
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
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
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 (*PhysicalDeviceFeatures2) PopulateHeader ¶
func (*PhysicalDeviceFeatures2) PopulateOutData ¶
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
func (*PhysicalDeviceGroupProperties) PopulateHeader ¶
func (*PhysicalDeviceGroupProperties) PopulateOutData ¶
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 (*PhysicalDeviceIDProperties) PopulateOutData ¶
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
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
func (*PhysicalDeviceMaintenance3Properties) PopulateHeader ¶
func (*PhysicalDeviceMaintenance3Properties) PopulateOutData ¶
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
func (*PhysicalDeviceMemoryProperties2) PopulateHeader ¶
func (*PhysicalDeviceMemoryProperties2) PopulateOutData ¶
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
func (PhysicalDeviceMultiviewFeatures) PopulateCPointer ¶
func (*PhysicalDeviceMultiviewFeatures) PopulateHeader ¶
func (*PhysicalDeviceMultiviewFeatures) PopulateOutData ¶
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
func (*PhysicalDeviceMultiviewProperties) PopulateHeader ¶
func (*PhysicalDeviceMultiviewProperties) PopulateOutData ¶
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
func (*PhysicalDevicePointClippingProperties) PopulateHeader ¶
func (*PhysicalDevicePointClippingProperties) PopulateOutData ¶
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 (*PhysicalDeviceProperties2) PopulateOutData ¶
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
func (PhysicalDeviceProtectedMemoryFeatures) PopulateCPointer ¶
func (*PhysicalDeviceProtectedMemoryFeatures) PopulateHeader ¶
func (*PhysicalDeviceProtectedMemoryFeatures) PopulateOutData ¶
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
func (*PhysicalDeviceProtectedMemoryProperties) PopulateHeader ¶
func (*PhysicalDeviceProtectedMemoryProperties) PopulateOutData ¶
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
func (PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateCPointer ¶
func (*PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateHeader ¶
func (*PhysicalDeviceSamplerYcbcrConversionFeatures) PopulateOutData ¶
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
func (PhysicalDeviceShaderDrawParametersFeatures) PopulateCPointer ¶
func (*PhysicalDeviceShaderDrawParametersFeatures) PopulateHeader ¶
func (*PhysicalDeviceShaderDrawParametersFeatures) PopulateOutData ¶
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
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
func (*PhysicalDeviceSubgroupProperties) PopulateHeader ¶
func (*PhysicalDeviceSubgroupProperties) PopulateOutData ¶
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
func (PhysicalDeviceVariablePointersFeatures) PopulateCPointer ¶
func (*PhysicalDeviceVariablePointersFeatures) PopulateHeader ¶
func (*PhysicalDeviceVariablePointersFeatures) PopulateOutData ¶
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
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
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 (*QueueFamilyProperties2) PopulateOutData ¶
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
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
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 (y SamplerYcbcrConversion) Handle() loader.VkSamplerYcbcrConversion
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
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
func (*SamplerYcbcrConversionImageFormatProperties) PopulateHeader ¶
func (*SamplerYcbcrConversionImageFormatProperties) PopulateOutData ¶
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
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 ¶
func (e SamplerYcbcrModelConversion) String() 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 (*SparseImageFormatProperties2) PopulateOutData ¶
type SparseImageMemoryRequirements2 ¶
type SparseImageMemoryRequirements2 struct {
// MemoryRequirements describes the memory requirements of the sparse image
MemoryRequirements core1_0.SparseImageMemoryRequirements
common.NextOutData
}
SparseImageMemoryRequirements2 has no documentation
func (*SparseImageMemoryRequirements2) PopulateHeader ¶
func (*SparseImageMemoryRequirements2) PopulateOutData ¶
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
Source Files
¶
- buffer_structs.go
- command_buffer_structs.go
- command_pool_structs.go
- descriptortemplate_structs.go
- device_bind.go
- device_memrequirements.go
- device_structs.go
- fence_external.go
- format.go
- iface.go
- image_structs.go
- image_view_structs.go
- instance_structs.go
- memory_dedicated.go
- memory_external.go
- object_type.go
- physical_device_features.go
- physical_device_group.go
- physical_device_structs.go
- pipeline_structs.go
- queue_structs.go
- render_pass_structs.go
- semaphore_external.go
- types.go
- vkresult.go
- ycbcr_structs.go