Documentation ¶
Index ¶
- Constants
- type BindBufferMemoryDeviceGroupInfo
- type BindBufferMemoryInfo
- type BindImageMemoryDeviceGroupInfo
- type BindImageMemoryInfo
- type BindImagePlaneMemoryInfo
- type Buffer
- type BufferMemoryRequirementsInfo2
- type BufferView
- type ChromaLocation
- type CommandBuffer
- type CommandPool
- type CommandPoolTrimFlags
- type DescriptorPool
- type DescriptorSet
- type DescriptorSetLayout
- type DescriptorSetLayoutSupport
- type DescriptorUpdateTemplate
- type DescriptorUpdateTemplateCreateFlags
- type DescriptorUpdateTemplateCreateInfo
- type DescriptorUpdateTemplateEntry
- type DescriptorUpdateTemplateType
- type Device
- type DeviceGroupBindSparseInfo
- type DeviceGroupCommandBufferBeginInfo
- type DeviceGroupDeviceCreateInfo
- type DeviceGroupRenderPassBeginInfo
- type DeviceGroupSubmitInfo
- type DeviceMemory
- type DeviceQueueInfo2
- type Event
- 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 Fence
- type FenceImportFlags
- type FormatProperties2
- type Framebuffer
- type Image
- type ImageFormatProperties2
- type ImageMemoryRequirementsInfo2
- type ImagePlaneMemoryRequirementsInfo
- type ImageSparseMemoryRequirementsInfo2
- type ImageView
- type ImageViewUsageCreateInfo
- type InputAttachmentAspectReference
- type Instance
- type InstanceScopedPhysicalDevice
- type MemoryAllocateFlags
- type MemoryAllocateFlagsInfo
- type MemoryDedicatedAllocateInfo
- type MemoryDedicatedRequirements
- type MemoryRequirements2
- type PeerMemoryFeatureFlags
- type PhysicalDevice
- 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 Pipeline
- type PipelineCache
- type PipelineLayout
- type PipelineTessellationDomainOriginStateCreateInfo
- type PointClippingBehavior
- type ProtectedSubmitInfo
- type QueryPool
- type Queue
- type QueueFamilyProperties2
- type RenderPass
- type RenderPassInputAttachmentAspectCreateInfo
- type RenderPassMultiviewCreateInfo
- type Sampler
- 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 Semaphore
- type SemaphoreImportFlags
- type ShaderModule
- type SparseImageFormatProperties2
- type SparseImageMemoryRequirements2
- type SubgroupFeatureFlags
- type TessellationDomainOrigin
- type VulkanBuffer
- type VulkanBufferView
- type VulkanCommandBuffer
- type VulkanCommandPool
- type VulkanDescriptorPool
- type VulkanDescriptorSet
- type VulkanDescriptorSetLayout
- type VulkanDescriptorUpdateTemplate
- func (t *VulkanDescriptorUpdateTemplate) APIVersion() common.APIVersion
- func (t *VulkanDescriptorUpdateTemplate) Destroy(allocator *driver.AllocationCallbacks)
- func (t *VulkanDescriptorUpdateTemplate) DeviceHandle() driver.VkDevice
- func (t *VulkanDescriptorUpdateTemplate) Driver() driver.Driver
- func (t *VulkanDescriptorUpdateTemplate) Handle() driver.VkDescriptorUpdateTemplate
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo)
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo)
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle)
- type VulkanDevice
- func (d *VulkanDevice) BindBufferMemory2(o []BindBufferMemoryInfo) (common.VkResult, error)
- func (d *VulkanDevice) BindImageMemory2(o []BindImageMemoryInfo) (common.VkResult, error)
- func (d *VulkanDevice) BufferMemoryRequirements2(o BufferMemoryRequirementsInfo2, out *MemoryRequirements2) error
- func (d *VulkanDevice) CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *driver.AllocationCallbacks) (DescriptorUpdateTemplate, common.VkResult, error)
- func (d *VulkanDevice) CreateSamplerYcbcrConversion(o SamplerYcbcrConversionCreateInfo, allocator *driver.AllocationCallbacks) (SamplerYcbcrConversion, common.VkResult, error)
- func (d *VulkanDevice) DescriptorSetLayoutSupport(o core1_0.DescriptorSetLayoutCreateInfo, outData *DescriptorSetLayoutSupport) error
- func (d *VulkanDevice) DeviceGroupPeerMemoryFeatures(heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags
- func (d *VulkanDevice) GetQueue2(o DeviceQueueInfo2) (core1_0.Queue, error)
- func (d *VulkanDevice) ImageMemoryRequirements2(o ImageMemoryRequirementsInfo2, out *MemoryRequirements2) error
- func (d *VulkanDevice) ImageSparseMemoryRequirements2(o ImageSparseMemoryRequirementsInfo2, ...) ([]*SparseImageMemoryRequirements2, error)
- type VulkanDeviceMemory
- type VulkanEvent
- type VulkanFence
- type VulkanFramebuffer
- type VulkanImage
- type VulkanImageView
- type VulkanInstance
- type VulkanInstanceScopedPhysicalDevice
- func (p *VulkanInstanceScopedPhysicalDevice) ExternalBufferProperties(o PhysicalDeviceExternalBufferInfo, outData *ExternalBufferProperties) error
- func (p *VulkanInstanceScopedPhysicalDevice) ExternalFenceProperties(o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error
- func (p *VulkanInstanceScopedPhysicalDevice) ExternalSemaphoreProperties(o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error
- func (p *VulkanInstanceScopedPhysicalDevice) Features2(out *PhysicalDeviceFeatures2) error
- func (p *VulkanInstanceScopedPhysicalDevice) FormatProperties2(format core1_0.Format, out *FormatProperties2) error
- func (p *VulkanInstanceScopedPhysicalDevice) ImageFormatProperties2(o PhysicalDeviceImageFormatInfo2, out *ImageFormatProperties2) (common.VkResult, error)
- func (p *VulkanInstanceScopedPhysicalDevice) MemoryProperties2(out *PhysicalDeviceMemoryProperties2) error
- func (p *VulkanInstanceScopedPhysicalDevice) Properties2(out *PhysicalDeviceProperties2) error
- func (p *VulkanInstanceScopedPhysicalDevice) QueueFamilyProperties2(outDataFactory func() *QueueFamilyProperties2) ([]*QueueFamilyProperties2, error)
- func (p *VulkanInstanceScopedPhysicalDevice) SparseImageFormatProperties2(o PhysicalDeviceSparseImageFormatInfo2, ...) ([]*SparseImageFormatProperties2, error)
- type VulkanPhysicalDevice
- type VulkanPipeline
- type VulkanPipelineCache
- type VulkanPipelineLayout
- type VulkanQueryPool
- type VulkanQueue
- type VulkanRenderPass
- type VulkanSampler
- type VulkanSamplerYcbcrConversion
- func (y *VulkanSamplerYcbcrConversion) APIVersion() common.APIVersion
- func (y *VulkanSamplerYcbcrConversion) Destroy(allocator *driver.AllocationCallbacks)
- func (y *VulkanSamplerYcbcrConversion) DeviceHandle() driver.VkDevice
- func (y *VulkanSamplerYcbcrConversion) Driver() driver.Driver
- func (y *VulkanSamplerYcbcrConversion) Handle() driver.VkSamplerYcbcrConversion
- type VulkanSemaphore
- type VulkanShaderModule
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 Buffer ¶
Buffer represents a linear array of data, which is used for various purposes by binding it to a graphics or compute pipeline.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBuffer.html
func PromoteBuffer ¶
PromoteBuffer accepts a Buffer object from any core version. If provided a buffer that supports at least core 1.1, it will return a core1_1.Buffer. Otherwise, it will return nil. This method will always return a core1_1.VulkanBuffer, even if it is provided a VulkanBuffer from a higher core version. Two Vulkan 1.1 compatible Buffer objects with the same Buffer.Handle will return the same interface value when passed to this method.
type BufferMemoryRequirementsInfo2 ¶
type BufferMemoryRequirementsInfo2 struct { // Buffer is the Buffer to query Buffer core1_0.Buffer common.NextOptions }
BufferMemoryRequirementsInfo2 has no documentation
type BufferView ¶
type BufferView interface { core1_0.BufferView }
BufferView represents a contiguous range of a buffer and a specific format to be used to interpret the data.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBufferView.html
func PromoteBufferView ¶
func PromoteBufferView(bufferView core1_0.BufferView) BufferView
PromoteBufferView accepts a BufferView object from any core version. If provided a buffer view that supports at least core 1.1, it will return a core1_1.BufferView. Otherwise, it will return nil. This method will always return a core1_1.VulkanBufferView, even if it is provided a VulkanBufferView from a higher core version. Two Vulkan 1.1 compatible BufferView objects with the same BufferView.Handle will return the same interface value when passed to this method.
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 CommandBuffer ¶
type CommandBuffer interface { core1_0.CommandBuffer // CmdDispatchBase dispatches compute work items with non-zero base values for the workgroup IDs // // 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(baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ int) // CmdSetDeviceMask modifies the device mask of a CommandBuffer // // deviceMask - The new value of the current Device mask // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdSetDeviceMask.html CmdSetDeviceMask(deviceMask uint32) }
CommandBuffer is an object used to record commands which can be subsequently submitted to a device queue for execution.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCommandBuffer.html
func PromoteCommandBuffer ¶
func PromoteCommandBuffer(commandBuffer core1_0.CommandBuffer) CommandBuffer
PromoteCommandBuffer accepts a CommandBuffer object from any core version. If provided a command buffer that supports at least core 1.1, it will return a core1_1.CommandBuffer. Otherwise, it will return nil. This method will always return a core1_1.VulkanCommandBuffer, even if it is provided a VulkanCommandBuffer from a higher core version. Two Vulkan 1.1 compatible CommandBuffer objects with the same CommandBuffer.Handle will return the same interface value when passed to this method.
func PromoteCommandBufferSlice ¶
func PromoteCommandBufferSlice(commandBuffers []core1_0.CommandBuffer) []CommandBuffer
PromoteCommandBufferSlice accepts a slice of CommandBuffer objects from any core version. If provided a descriptor set that supports at least core 1.1, it will return a core1_1.CommandBuffer. Otherwise, it will left out of the returned slice. This method will always return a core1_1.VulkanCommandBuffer, even if it is provided a VulkanCommandBuffer from a higher core version. Two Vulkan 1.1 compatible CommandBuffer objects with the same CommandBuffer.Handle will return the same interface value when passed to this method.
type CommandPool ¶
type CommandPool interface { core1_0.CommandPool // TrimCommandPool trims a CommandPool // // flags - Reserved for future use // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkTrimCommandPool.html TrimCommandPool(flags CommandPoolTrimFlags) }
CommandPool is an opaque object that CommandBuffer memory is allocated from
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCommandPool.html
func PromoteCommandPool ¶
func PromoteCommandPool(commandPool core1_0.CommandPool) CommandPool
PromoteCommandPool accepts a CommandPool object from any core version. If provided a command pool that supports at least core 1.1, it will return a core1_1.CommandPool. Otherwise, it will return nil. This method will always return a core1_1.VulkanCommandPool, even if it is provided a VulkanCommandPool from a higher core version. Two Vulkan 1.1 compatible CommandPool objects with the same CommandPool.Handle will return the same interface value when passed to this method.
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 DescriptorPool ¶
type DescriptorPool interface { core1_0.DescriptorPool }
DescriptorPool maintains a pool of descriptors, from which DescriptorSet objects are allocated.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDescriptorPool.html
func PromoteDescriptorPool ¶
func PromoteDescriptorPool(descriptorPool core1_0.DescriptorPool) DescriptorPool
PromoteDescriptorPool accepts a DescriptorPool object from any core version. If provided a descriptor pool that supports at least core 1.1, it will return a core1_1.DescriptorPool. Otherwise, it will return nil. This method will always return a core1_1.VulkanDescriptorPool, even if it is provided a VulkanDescriptorPool from a higher core version. Two Vulkan 1.1 compatible DescriptorPool objects with the same DescriptorPool.Handle will return the same interface value when passed to this method.
type DescriptorSet ¶
type DescriptorSet interface { core1_0.DescriptorSet }
DescriptorSet is an opaque object allocated from a DescriptorPool
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkResetDescriptorPool.html
func PromoteDescriptorSet ¶
func PromoteDescriptorSet(set core1_0.DescriptorSet) DescriptorSet
PromoteDescriptorSet accepts a DescriptorSet object from any core version. If provided a descriptor set that supports at least core 1.1, it will return a core1_1.DescriptorSet. Otherwise, it will return nil. This method will always return a core1_1.VulkanDescriptorSet, even if it is provided a VulkanDescriptorSet from a higher core version. Two Vulkan 1.1 compatible DescriptorSet objects with the same DescriptorSet.Handle will return the same interface value when passed to this method.
func PromoteDescriptorSetSlice ¶
func PromoteDescriptorSetSlice(sets []core1_0.DescriptorSet) []DescriptorSet
PromoteDescriptorSetSlice accepts a slice of DescriptorSet objects from any core version. If provided a descriptor set that supports at least core 1.1, it will return a core1_1.DescriptorSet. Otherwise, it will left out of the returned slice. This method will always return a core1_1.VulkanDescriptorSet, even if it is provided a VulkanDescriptorSet from a higher core version. Two Vulkan 1.1 compatible DescriptorSet objects with the same DescriptorSet.Handle will return the same interface value when passed to this method.
type DescriptorSetLayout ¶
type DescriptorSetLayout interface { core1_0.DescriptorSetLayout }
DescriptorSetLayout is a group of zero or more descriptor bindings definitions.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDescriptorSetLayout.html
func PromoteDescriptorSetLayout ¶
func PromoteDescriptorSetLayout(layout core1_0.DescriptorSetLayout) DescriptorSetLayout
PromoteDescriptorSetLayout accepts a DescriptorSetLayout object from any core version. If provided a descriptor set layout that supports at least core 1.1, it will return a core1_1.DescriptorSetLayout. Otherwise, it will return nil. This method will always return a core1_1.VulkanDescriptorSetLayout, even if it is provided a VulkanDescriptorSetLayout from a higher core version. Two Vulkan 1.1 compatible DescriptorSetLayout objects with the same DescriptorSetLayout.Handle will return the same interface value when passed to this method.
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 interface { // Handle is the internal Vulkan object handle for this DescriptorUpdateTemplate Handle() driver.VkDescriptorUpdateTemplate // DeviceHandle is the internal Vulkan object handle for the Device this DescriptorUpdateTemplate belongs to DeviceHandle() driver.VkDevice // Driver is the Vulkan wrapper driver used by this DescriptorUpdateTemplate Driver() driver.Driver // APIVersion is the maximum Vulkan API version supported by this DescriptorUpdateTemplate. If it is at least // Vulkan 1.2, core1_2.PromoteDescriptorUpdateTemplate can be used to promote this to a core1_2.DescriptorUpdateTemplate, // etc. APIVersion() common.APIVersion // Destroy destroys the DescriptorUpdateTemplate object and the underlying structures. **Warning** after // destruction, this object will continue to exist, but the Vulkan object handle that backs it will // be invalid. Do not call further methods on this object. // // callbacks - Controls host memory deallocation // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html Destroy(allocator *driver.AllocationCallbacks) // UpdateDescriptorSetFromBuffer updates the contents of a DescriptorSet object with this template // and a Buffer // // 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 UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo) // UpdateDescriptorSetFromImage updates the contents of a DescriptorSet object with this template and // an Image // // 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 UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo) // UpdateDescriptorSetFromObjectHandle updates the contents of a DescriptorSet object with this template // and an arbitrary handle // // 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 UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle) }
DescriptorUpdateTemplate specifies a mapping from descriptor update information in host memory to descriptors in a DescriptorSet
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 Device ¶
type Device interface { core1_0.Device // 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) // BufferMemoryRequirements2 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 BufferMemoryRequirements2(o BufferMemoryRequirementsInfo2, out *MemoryRequirements2) error // ImageMemoryRequirements2 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 ImageMemoryRequirements2(o ImageMemoryRequirementsInfo2, out *MemoryRequirements2) error // ImageSparseMemoryRequirements2 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. ImageSparseMemoryRequirements2(o ImageSparseMemoryRequirementsInfo2, outDataFactory func() *SparseImageMemoryRequirements2) ([]*SparseImageMemoryRequirements2, error) // DescriptorSetLayoutSupport queries whether a DescriptorSetLayout can be created // // 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 DescriptorSetLayoutSupport(o core1_0.DescriptorSetLayoutCreateInfo, outData *DescriptorSetLayoutSupport) error // DeviceGroupPeerMemoryFeatures queries supported peer memory features of a Device // // 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 DeviceGroupPeerMemoryFeatures(heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags // CreateDescriptorUpdateTemplate creates a new 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 *driver.AllocationCallbacks) (DescriptorUpdateTemplate, common.VkResult, error) // CreateSamplerYcbcrConversion creates a new Y'CbCr conversion // // 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 *driver.AllocationCallbacks) (SamplerYcbcrConversion, common.VkResult, error) // GetQueue2 gets a Queue object from this Device // // o - Describes parameters of the Device Queue to be retrieved // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceQueue2.html GetQueue2(o DeviceQueueInfo2) (core1_0.Queue, error) }
Device represents a logical device on the host
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDevice.html
func PromoteDevice ¶
PromoteDevice accepts a Device object from any core version. If provided a device that supports at least core 1.1, it will return a core1_1.Device. Otherwise, it will return nil. This method will always return a core1_1.VulkanDevice, even if it is provided a VulkanDevice from a higher core version. Two Vulkan 1.1 compatible Device objects with the same Device.Handle will return the same interface value when passed to this method.
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 DeviceMemory ¶
type DeviceMemory interface { core1_0.DeviceMemory }
DeviceMemory represents a block of memory on the device
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDeviceMemory.html
func PromoteDeviceMemory ¶
func PromoteDeviceMemory(deviceMemory core1_0.DeviceMemory) DeviceMemory
PromoteDeviceMemory accepts a DeviceMemory object from any core version. If provided a device memory that supports at least core 1.1, it will return a core1_1.DeviceMemory. Otherwise, it will return nil. This method will always return a core1_1.VulkanDeviceMemory, even if it is provided a VulkanDeviceMemory from a higher core version. Two Vulkan 1.1 compatible DeviceMemory objects with the same DeviceMemory.Handle will return the same interface value when passed to this method.
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 Event ¶
Event is a synchronization primitive that can be used to insert fine-grained dependencies between commands submitted to the same queue, or between the host and a queue.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkEvent.html
func PromoteEvent ¶
PromoteEvent accepts a Event object from any core version. If provided an event that supports at least core 1.1, it will return a core1_1.Event. Otherwise, it will return nil. This method will always return a core1_1.VulkanEvent, even if it is provided a VulkanEvent from a higher core version. Two Vulkan 1.1 compatible Event objects with the same Event.Handle will return the same interface value when passed to this method.
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 Fence ¶
Fence is a synchronization primitive that can be used to insert a dependency from a queue to the host.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFence.html
func PromoteFence ¶
PromoteFence accepts a Fence object from any core version. If provided a fence that supports at least core 1.1, it will return a core1_1.Fence. Otherwise, it will return nil. This method will always return a core1_1.VulkanFence, even if it is provided a VulkanFence from a higher core version. Two Vulkan 1.1 compatible Fence objects with the same Fence.Handle will return the same interface value when passed to this method.
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 Framebuffer ¶
type Framebuffer interface { core1_0.Framebuffer }
Framebuffer represents a collection of specific memory attachments that a RenderPass uses
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkFramebuffer.html
func PromoteFramebuffer ¶
func PromoteFramebuffer(framebuffer core1_0.Framebuffer) Framebuffer
PromoteFramebuffer accepts a Framebuffer object from any core version. If provided a framebuffer that supports at least core 1.1, it will return a core1_1.Framebuffer. Otherwise, it will return nil. This method will always return a core1_1.VulkanFramebuffer, even if it is provided a VulkanFramebuffer from a higher core version. Two Vulkan 1.1 compatible Framebuffer objects with the same Framebuffer.Handle will return the same interface value when passed to this method.
type Image ¶
Image represents multidimensional arrays of data which can be used for various purposes.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkImage.html
func PromoteImage ¶
PromoteImage accepts a Image object from any core version. If provided a image that supports at least core 1.1, it will return a core1_1.Image. Otherwise, it will return nil. This method will always return a core1_1.VulkanImage, even if it is provided a VulkanImage from a higher core version. Two Vulkan 1.1 compatible Image objects with the same Image.Handle will return the same interface value when passed to this method.
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 ImageView ¶
ImageView represents contiguous ranges of Image subresources and contains additional metadata
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkImageView.html
func PromoteImageView ¶
PromoteImageView accepts a ImageView object from any core version. If provided a image view that supports at least core 1.1, it will return a core1_1.ImageView. Otherwise, it will return nil. This method will always return a core1_1.VulkanImageView, even if it is provided a VulkanImageView from a higher core version. Two Vulkan 1.1 compatible ImageView objects with the same ImageView.Handle will return the same interface value when passed to this method.
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 Instance ¶
type Instance interface { core1_0.Instance // EnumeratePhysicalDeviceGroups enumerates groups of PhysicalDevice objects that can be used to // create a single logical Device // // 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) }
Instance stores per-application state for Vulkan
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkInstance.html
func PromoteInstance ¶
PromoteInstance accepts a Instance object from any core version. If provided a instance that supports at least core 1.1, it will return a core1_1.Instance. Otherwise, it will return nil. This method will always return a core1_1.VulkanInstance, even if it is provided a VulkanInstance from a higher core version. Two Vulkan 1.1 compatible Instance objects with the same Instance.Handle will return the same interface value when passed to this method.
type InstanceScopedPhysicalDevice ¶
type InstanceScopedPhysicalDevice interface { core1_0.PhysicalDevice // ExternalFenceProperties queries external Fence capabilities // // 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 ExternalFenceProperties(o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error // ExternalBufferProperties queries external types supported by Buffer objects // // 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 ExternalBufferProperties(o PhysicalDeviceExternalBufferInfo, outData *ExternalBufferProperties) error // ExternalSemaphoreProperties queries external Semaphore capabilities // // 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 ExternalSemaphoreProperties(o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error // Features2 reports capabilities of a PhysicalDevice // // 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 Features2(out *PhysicalDeviceFeatures2) error // FormatProperties2 lists the PhysicalDevice object's format capabilities // // 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 FormatProperties2(format core1_0.Format, out *FormatProperties2) error // ImageFormatProperties2 lists the PhysicalDevice object's format capabilities // // 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 ImageFormatProperties2(o PhysicalDeviceImageFormatInfo2, out *ImageFormatProperties2) (common.VkResult, error) // MemoryProperties2 reports memory information for this PhysicalDevice // // 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/vkGetPhysicalDeviceMemoryProperties2.html MemoryProperties2(out *PhysicalDeviceMemoryProperties2) error // Properties2 returns properties of this PhysicalDevice // // 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 Properties2(out *PhysicalDeviceProperties2) error // QueueFamilyProperties2 reports properties of the queues of this PhysicalDevice // // 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 QueueFamilyProperties2(outDataFactory func() *QueueFamilyProperties2) ([]*QueueFamilyProperties2, error) // SparseImageFormatProperties2 retrieves properties of an Image format applied to sparse Image // // 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 SparseImageFormatProperties2(o PhysicalDeviceSparseImageFormatInfo2, outDataFactory func() *SparseImageFormatProperties2) ([]*SparseImageFormatProperties2, error) }
InstanceScopedPhysicalDevice represents the instance-scoped functionality of a single complete implementation of Vulkan available to the host, of which there are a finite number.
This interface includes all instance-scoped commands included in Vulkan 1.1.
PhysicalDevice objects are unusual in that they exist between the Instance and (logical) Device level. As a result, PhysicalDevice is the only object that can be extended by both Instance and Device extensions. Consequently, there are some unusual cases in which a higher core version may be available for some PhysicalDevice functionality but not others. In order to represent this, physical devices are split into two objects at core1.1+, the PhysicalDevice and the "instance-scoped" PhysicalDevice.
The InstanceScopedPhysicalDevice is usually available at the same core versions as PhysicalDevice, but in rare cases, a higher core version may be available.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevice.html
func PromoteInstanceScopedPhysicalDevice ¶
func PromoteInstanceScopedPhysicalDevice(physicalDevice core1_0.PhysicalDevice) InstanceScopedPhysicalDevice
PromoteInstanceScopedPhysicalDevice accepts a PhysicalDevice object from any core version. If provided a physical device that supports at least core 1.1 for its instance-scoped functionality, it will return a core1_1.InstanceScopedPhysicalDevice. Otherwise, it will return nil. This method will always return a core1_1.VulkanInstanceScopedPhysicalDevice, even if it is provided a VulkanInstanceScopedPhysicalDevice from a higher core version. Two Vulkan 1.1 compatible InstanceScopedPhysicalDevice objects with the same InstanceScopedPhysicalDevice.Handle will return the same interface value when passed to this method.
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 ¶ added in v0.2.0
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 PhysicalDevice ¶
type PhysicalDevice interface { core1_0.PhysicalDevice // InstanceScopedPhysicalDevice1_1 returns the InstanceScopedPhysicalDevice that represents the // instance-scoped portion of this PhysicalDevice object's functionality. Since the instance-scoped // support is always equal-to-or-greater-than the device-scoped support, this method will always // return a functioning InstanceScopedPhysicalDevice InstanceScopedPhysicalDevice1_1() InstanceScopedPhysicalDevice }
PhysicalDevice represents the device-scoped functionality of a single complete implementation of Vulkan available to the host, of which there are a finite number.
This interface includes all commands included in Vulkan 1.1.
PhysicalDevice objects are unusual in that they exist between the Instance and (logical) Device level. As a result, PhysicalDevice is the only object that can be extended by both Instance and Device extensions. Consequently, there are some unusual cases in which a higher core version may be available for some PhysicalDevice functionality but not others. In order to represent this, physical devices are split into two objects at core1.1+, the PhysicalDevice and the "instance-scoped" PhysicalDevice.
The InstanceScopedPhysicalDevice is usually available at the same core versions as PhysicalDevice, but in rare cases, a higher core version may be available.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevice.html
func PromotePhysicalDevice ¶
func PromotePhysicalDevice(physicalDevice core1_0.PhysicalDevice) PhysicalDevice
PromotePhysicalDevice accepts a PhysicalDevice object from any core version. If provided a physical device that supports at least core 1.1 for its device-scoped functionality, it will return a core1_1.PhysicalDevice. Otherwise, it will return nil. This method will always return a core1_1.VulkanPhysicalDevice, even if it is provided a VulkanPhysicalDevice from a higher core version. Two Vulkan 1.1 compatible PhysicalDevice objects with the same PhysicalDevice.Handle will return the same interface value when passed to this method.
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 driver 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 Pipeline ¶
Pipeline represents compute, ray tracing, and graphics pipelines
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipeline.html
func PromotePipeline ¶
PromotePipeline accepts a Pipeline object from any core version. If provided a pipeline that supports at least core 1.1, it will return a core1_1.Pipeline. Otherwise, it will return nil. This method will always return a core1_1.VulkanPipeline, even if it is provided a VulkanPipeline from a higher core version. Two Vulkan 1.1 compatible Pipeline objects with the same Pipeline.Handle will return the same interface value when passed to this method.
func PromotePipelineSlice ¶
PromotePipelineSlice accepts a slice of Pipeline objects from any core version. If provided a pipeline that supports at least core 1.1, it will return a core1_1.Pipeline. Otherwise, it will left out of the returned slice. This method will always return a core1_1.VulkanPipeline, even if it is provided a VulkanPipeline from a higher core version. Two Vulkan 1.1 compatible Pipeline objects with the same Pipeline.Handle will return the same interface value when passed to this method.
type PipelineCache ¶
type PipelineCache interface { core1_0.PipelineCache }
PipelineCache allows the result of Pipeline construction to be reused between Pipeline objects and between runs of an application.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineCache.html
func PromotePipelineCache ¶
func PromotePipelineCache(pipelineCache core1_0.PipelineCache) PipelineCache
PromotePipelineCache accepts a PipelineCache object from any core version. If provided a pipeline cache that supports at least core 1.1, it will return a core1_1.PipelineCache. Otherwise, it will return nil. This method will always return a core1_1.VulkanPipelineCache, even if it is provided a VulkanPipelineCache from a higher core version. Two Vulkan 1.1 compatible PipelineCache objects with the same PipelineCache.Handle will return the same interface value when passed to this method.
type PipelineLayout ¶
type PipelineLayout interface { core1_0.PipelineLayout }
PipelineLayout provides access to descriptor sets to Pipeline objects by combining zero or more descriptor sets and zero or more push constant ranges.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineLayout.html
func PromotePipelineLayout ¶
func PromotePipelineLayout(layout core1_0.PipelineLayout) PipelineLayout
PromotePipelineLayout accepts a PipelineLayout object from any core version. If provided a pipeline layout that supports at least core 1.1, it will return a core1_1.PipelineLayout. Otherwise, it will return nil. This method will always return a core1_1.VulkanPipelineLayout, even if it is provided a VulkanPipelineLayout from a higher core version. Two Vulkan 1.1 compatible PipelineLayout objects with the same PipelineLayout.Handle will return the same interface value when passed to this method.
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 QueryPool ¶
QueryPool is a collection of a specific number of queries of a particular type.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkQueryPool.html
func PromoteQueryPool ¶
PromoteQueryPool accepts a QueryPool object from any core version. If provided a query pool that supports at least core 1.1, it will return a core1_1.QueryPool. Otherwise, it will return nil. This method will always return a core1_1.VulkanQueryPool, even if it is provided a VulkanQueryPool from a higher core version. Two Vulkan 1.1 compatible QueryPool objects with the same QueryPool.Handle will return the same interface value when passed to this method.
type Queue ¶
Queue represents a Device resource on which work is performed
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkQueue.html
func PromoteQueue ¶
PromoteQueue accepts a Queue object from any core version. If provided a queue that supports at least core 1.1, it will return a core1_1.Queue. Otherwise, it will return nil. This method will always return a core1_1.VulkanQueue, even if it is provided a VulkanQueue from a higher core version. Two Vulkan 1.1 compatible Queue objects with the same Queue.Handle will return the same interface value when passed to this method.
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 RenderPass ¶
type RenderPass interface { core1_0.RenderPass }
RenderPass represents a collection of attachments, subpasses, and dependencies between the subpasses and describes how the attachments are used over the course of the subpasses
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderPass.html
func PromoteRenderPass ¶
func PromoteRenderPass(renderPass core1_0.RenderPass) RenderPass
PromoteRenderPass accepts a RenderPass object from any core version. If provided a render pass that supports at least core 1.1, it will return a core1_1.RenderPass. Otherwise, it will return nil. This method will always return a core1_1.VulkanRenderPass, even if it is provided a VulkanRenderPass from a higher core version. Two Vulkan 1.1 compatible RenderPass objects with the same RenderPass.Handle will return the same interface value when passed to this method.
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 ¶ added in v0.2.0
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 Sampler ¶
Sampler represents the state of an Image sampler, which is used by the implementation to read Image data and apply filtering and other transformations for the shader.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSampler.html
func PromoteSampler ¶
PromoteSampler accepts a Sampler object from any core version. If provided a sampler that supports at least core 1.1, it will return a core1_1.Sampler. Otherwise, it will return nil. This method will always return a core1_1.VulkanSampler, even if it is provided a VulkanSampler from a higher core version. Two Vulkan 1.1 compatible Sampler objects with the same Sampler.Handle will return the same interface value when passed to this method.
type SamplerYcbcrConversion ¶
type SamplerYcbcrConversion interface { // Handle is the internal Vulkan object handle for this SamplerYcbcrConversion Handle() driver.VkSamplerYcbcrConversion // DeviceHandle is the internal Vulkan object handle for the Device this SamplerYcbcrConversion // belongs to DeviceHandle() driver.VkDevice // Driver is the Vulkan wrapper driver used by this SamplerYcbcrConversion Driver() driver.Driver // APIVersion is the maximum Vulkan API version supported by this SamplerYcbcrConversion. If it is at // least Vulkan 1.2, core1_2.PromoteSamplerYcbcrConversion can be used to promote this to a // core1_2.SamplerYcbcrConversion, etc. APIVersion() common.APIVersion // Destroy destroys the SamplerYcbcrConversion object and the underlying structures. **Warning** after // destruction, this object will continue to exist, but the Vulkan object handle that backs it will // be invalid. Do not call further methods on this object. // // callbacks - Controls host memory deallocation // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkDestroySamplerYcbcrConversion.html Destroy(allocator *driver.AllocationCallbacks) }
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
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 Semaphore ¶
Semaphore is a synchronization primitive that can be used to insert a dependency between Queue operations or between a Queue operation and the host.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSemaphore.html
func PromoteSemaphore ¶
PromoteSemaphore accepts a Semaphore object from any core version. If provided a semaphore that supports at least core 1.1, it will return a core1_1.Semaphore. Otherwise, it will return nil. This method will always return a core1_1.VulkanSemaphore, even if it is provided a VulkanSemaphore from a higher core version. Two Vulkan 1.1 compatible Semaphore objects with the same Semaphore.Handle will return the same interface value when passed to this method.
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 ShaderModule ¶
type ShaderModule interface { core1_0.ShaderModule }
ShaderModule objects contain shader code and one or more entry points.
This interface includes all commands included in Vulkan 1.1.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkShaderModule.html
func PromoteShaderModule ¶
func PromoteShaderModule(shaderModule core1_0.ShaderModule) ShaderModule
PromoteShaderModule accepts a ShaderModule object from any core version. If provided a shader module that supports at least core 1.1, it will return a core1_1.ShaderModule. Otherwise, it will return nil. This method will always return a core1_1.VulkanShaderModule, even if it is provided a VulkanShaderModule from a higher core version. Two Vulkan 1.1 compatible ShaderModule objects with the same ShaderModule.Handle will return the same interface value when passed to this method.
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
type VulkanBuffer ¶
VulkanBuffer is an implementation of the Buffer interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanBufferView ¶
type VulkanBufferView struct {
core1_0.BufferView
}
VulkanBufferView is an implementation of the BufferView interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanCommandBuffer ¶
type VulkanCommandBuffer struct { core1_0.CommandBuffer DeviceDriver driver.Driver CommandBufferHandle driver.VkCommandBuffer CommandCounter *core1_0.CommandCounter }
VulkanCommandBuffer is an implementation of the CommandBuffer interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanCommandBuffer) CmdDispatchBase ¶
func (c *VulkanCommandBuffer) CmdDispatchBase(baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ int)
func (*VulkanCommandBuffer) CmdSetDeviceMask ¶
func (c *VulkanCommandBuffer) CmdSetDeviceMask(deviceMask uint32)
type VulkanCommandPool ¶
type VulkanCommandPool struct { core1_0.CommandPool DeviceDriver driver.Driver CommandPoolHandle driver.VkCommandPool Device driver.VkDevice }
VulkanCommandPool is an implementation of the CommandPool interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanCommandPool) TrimCommandPool ¶
func (p *VulkanCommandPool) TrimCommandPool(flags CommandPoolTrimFlags)
type VulkanDescriptorPool ¶
type VulkanDescriptorPool struct {
core1_0.DescriptorPool
}
VulkanDescriptorPool is an implementation of the DescriptorPool interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanDescriptorSet ¶
type VulkanDescriptorSet struct {
core1_0.DescriptorSet
}
VulkanDescriptorSet is an implementation of the DescriptorSet interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanDescriptorSetLayout ¶
type VulkanDescriptorSetLayout struct {
core1_0.DescriptorSetLayout
}
VulkanDescriptorSetLayout is an implementation of the DescriptorSetLayout interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanDescriptorUpdateTemplate ¶
type VulkanDescriptorUpdateTemplate struct { DeviceDriver driver.Driver Device driver.VkDevice DescriptorTemplateHandle driver.VkDescriptorUpdateTemplate MaximumAPIVersion common.APIVersion }
VulkanDescriptorUpdateTemplate is an implementation of the DescriptorUpdateTemplate interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func CreateDescriptorUpdateTemplate ¶
func CreateDescriptorUpdateTemplate(coreDriver driver.Driver, device driver.VkDevice, handle driver.VkDescriptorUpdateTemplate, version common.APIVersion) *VulkanDescriptorUpdateTemplate
func (*VulkanDescriptorUpdateTemplate) APIVersion ¶
func (t *VulkanDescriptorUpdateTemplate) APIVersion() common.APIVersion
func (*VulkanDescriptorUpdateTemplate) Destroy ¶
func (t *VulkanDescriptorUpdateTemplate) Destroy(allocator *driver.AllocationCallbacks)
func (*VulkanDescriptorUpdateTemplate) DeviceHandle ¶
func (t *VulkanDescriptorUpdateTemplate) DeviceHandle() driver.VkDevice
func (*VulkanDescriptorUpdateTemplate) Driver ¶
func (t *VulkanDescriptorUpdateTemplate) Driver() driver.Driver
func (*VulkanDescriptorUpdateTemplate) Handle ¶
func (t *VulkanDescriptorUpdateTemplate) Handle() driver.VkDescriptorUpdateTemplate
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo)
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo)
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle)
type VulkanDevice ¶
type VulkanDevice struct { core1_0.Device DeviceDriver driver.Driver DeviceHandle driver.VkDevice MaximumAPIVersion common.APIVersion }
VulkanDevice is an implementation of the Device interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanDevice) BindBufferMemory2 ¶
func (d *VulkanDevice) BindBufferMemory2(o []BindBufferMemoryInfo) (common.VkResult, error)
func (*VulkanDevice) BindImageMemory2 ¶
func (d *VulkanDevice) BindImageMemory2(o []BindImageMemoryInfo) (common.VkResult, error)
func (*VulkanDevice) BufferMemoryRequirements2 ¶
func (d *VulkanDevice) BufferMemoryRequirements2(o BufferMemoryRequirementsInfo2, out *MemoryRequirements2) error
func (*VulkanDevice) CreateDescriptorUpdateTemplate ¶
func (d *VulkanDevice) CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *driver.AllocationCallbacks) (DescriptorUpdateTemplate, common.VkResult, error)
func (*VulkanDevice) CreateSamplerYcbcrConversion ¶
func (d *VulkanDevice) CreateSamplerYcbcrConversion(o SamplerYcbcrConversionCreateInfo, allocator *driver.AllocationCallbacks) (SamplerYcbcrConversion, common.VkResult, error)
func (*VulkanDevice) DescriptorSetLayoutSupport ¶
func (d *VulkanDevice) DescriptorSetLayoutSupport(o core1_0.DescriptorSetLayoutCreateInfo, outData *DescriptorSetLayoutSupport) error
func (*VulkanDevice) DeviceGroupPeerMemoryFeatures ¶
func (d *VulkanDevice) DeviceGroupPeerMemoryFeatures(heapIndex, localDeviceIndex, remoteDeviceIndex int) PeerMemoryFeatureFlags
func (*VulkanDevice) GetQueue2 ¶
func (d *VulkanDevice) GetQueue2(o DeviceQueueInfo2) (core1_0.Queue, error)
func (*VulkanDevice) ImageMemoryRequirements2 ¶
func (d *VulkanDevice) ImageMemoryRequirements2(o ImageMemoryRequirementsInfo2, out *MemoryRequirements2) error
func (*VulkanDevice) ImageSparseMemoryRequirements2 ¶
func (d *VulkanDevice) ImageSparseMemoryRequirements2(o ImageSparseMemoryRequirementsInfo2, outDataFactory func() *SparseImageMemoryRequirements2) ([]*SparseImageMemoryRequirements2, error)
type VulkanDeviceMemory ¶
type VulkanDeviceMemory struct {
core1_0.DeviceMemory
}
VulkanDeviceMemory is an implementation of the DeviceMemory interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanEvent ¶
VulkanEvent is an implementation of the Event interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanFence ¶
VulkanFence is an implementation of the Fence interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanFramebuffer ¶
type VulkanFramebuffer struct {
core1_0.Framebuffer
}
VulkanFramebuffer is an implementation of the Framebuffer interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanImage ¶
VulkanImage is an implementation of the Image interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanImageView ¶
VulkanImageView is an implementation of the ImageView interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanInstance ¶
type VulkanInstance struct { core1_0.Instance InstanceDriver driver.Driver InstanceHandle driver.VkInstance MaximumVersion common.APIVersion }
VulkanInstance is an implementation of the Instance interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanInstance) EnumeratePhysicalDeviceGroups ¶
func (i *VulkanInstance) EnumeratePhysicalDeviceGroups(outDataFactory func() *PhysicalDeviceGroupProperties) ([]*PhysicalDeviceGroupProperties, common.VkResult, error)
type VulkanInstanceScopedPhysicalDevice ¶
type VulkanInstanceScopedPhysicalDevice struct { core1_0.PhysicalDevice InstanceDriver driver.Driver PhysicalDeviceHandle driver.VkPhysicalDevice }
VulkanInstanceScopedPhysicalDevice is an implementation of the InstanceScopedPhysicalDevice interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanInstanceScopedPhysicalDevice) ExternalBufferProperties ¶
func (p *VulkanInstanceScopedPhysicalDevice) ExternalBufferProperties(o PhysicalDeviceExternalBufferInfo, outData *ExternalBufferProperties) error
func (*VulkanInstanceScopedPhysicalDevice) ExternalFenceProperties ¶
func (p *VulkanInstanceScopedPhysicalDevice) ExternalFenceProperties(o PhysicalDeviceExternalFenceInfo, outData *ExternalFenceProperties) error
func (*VulkanInstanceScopedPhysicalDevice) ExternalSemaphoreProperties ¶
func (p *VulkanInstanceScopedPhysicalDevice) ExternalSemaphoreProperties(o PhysicalDeviceExternalSemaphoreInfo, outData *ExternalSemaphoreProperties) error
func (*VulkanInstanceScopedPhysicalDevice) Features2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) Features2(out *PhysicalDeviceFeatures2) error
func (*VulkanInstanceScopedPhysicalDevice) FormatProperties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) FormatProperties2(format core1_0.Format, out *FormatProperties2) error
func (*VulkanInstanceScopedPhysicalDevice) ImageFormatProperties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) ImageFormatProperties2(o PhysicalDeviceImageFormatInfo2, out *ImageFormatProperties2) (common.VkResult, error)
func (*VulkanInstanceScopedPhysicalDevice) MemoryProperties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) MemoryProperties2(out *PhysicalDeviceMemoryProperties2) error
func (*VulkanInstanceScopedPhysicalDevice) Properties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) Properties2(out *PhysicalDeviceProperties2) error
func (*VulkanInstanceScopedPhysicalDevice) QueueFamilyProperties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) QueueFamilyProperties2(outDataFactory func() *QueueFamilyProperties2) ([]*QueueFamilyProperties2, error)
func (*VulkanInstanceScopedPhysicalDevice) SparseImageFormatProperties2 ¶
func (p *VulkanInstanceScopedPhysicalDevice) SparseImageFormatProperties2(o PhysicalDeviceSparseImageFormatInfo2, outDataFactory func() *SparseImageFormatProperties2) ([]*SparseImageFormatProperties2, error)
type VulkanPhysicalDevice ¶
type VulkanPhysicalDevice struct { core1_0.PhysicalDevice InstanceScoped1_1 InstanceScopedPhysicalDevice }
VulkanPhysicalDevice is an implementation of the PhysicalDevice interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanPhysicalDevice) InstanceScopedPhysicalDevice1_1 ¶
func (p *VulkanPhysicalDevice) InstanceScopedPhysicalDevice1_1() InstanceScopedPhysicalDevice
type VulkanPipeline ¶
VulkanPipeline is an implementation of the Pipeline interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanPipelineCache ¶
type VulkanPipelineCache struct {
core1_0.PipelineCache
}
VulkanPipelineCache is an implementation of the PipelineCache interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanPipelineLayout ¶
type VulkanPipelineLayout struct {
core1_0.PipelineLayout
}
VulkanPipelineLayout is an implementation of the PipelineLayout interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanQueryPool ¶
VulkanQueryPool is an implementation of the QueryPool interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanQueue ¶
VulkanQueue is an implementation of the Queue interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanRenderPass ¶
type VulkanRenderPass struct {
core1_0.RenderPass
}
VulkanRenderPass is an implementation of the RenderPass interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanSampler ¶
VulkanSampler is an implementation of the Sampler interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanSamplerYcbcrConversion ¶
type VulkanSamplerYcbcrConversion struct { DeviceDriver driver.Driver Device driver.VkDevice YcbcrHandle driver.VkSamplerYcbcrConversion MaximumAPIVersion common.APIVersion }
VulkanSamplerYcbcrConversion is an implementation of the SamplerYcbcrConversion interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func CreateSamplerYcbcrConversion ¶
func CreateSamplerYcbcrConversion(coreDriver driver.Driver, device driver.VkDevice, handle driver.VkSamplerYcbcrConversion, version common.APIVersion) *VulkanSamplerYcbcrConversion
func (*VulkanSamplerYcbcrConversion) APIVersion ¶
func (y *VulkanSamplerYcbcrConversion) APIVersion() common.APIVersion
func (*VulkanSamplerYcbcrConversion) Destroy ¶
func (y *VulkanSamplerYcbcrConversion) Destroy(allocator *driver.AllocationCallbacks)
func (*VulkanSamplerYcbcrConversion) DeviceHandle ¶
func (y *VulkanSamplerYcbcrConversion) DeviceHandle() driver.VkDevice
func (*VulkanSamplerYcbcrConversion) Driver ¶
func (y *VulkanSamplerYcbcrConversion) Driver() driver.Driver
func (*VulkanSamplerYcbcrConversion) Handle ¶
func (y *VulkanSamplerYcbcrConversion) Handle() driver.VkSamplerYcbcrConversion
type VulkanSemaphore ¶
VulkanSemaphore is an implementation of the Semaphore interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanShaderModule ¶
type VulkanShaderModule struct {
core1_0.ShaderModule
}
VulkanShaderModule is an implementation of the ShaderModule interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
Source Files ¶
- buffer.go
- buffer_structs.go
- buffer_view.go
- command_buffer.go
- command_buffer_structs.go
- command_pool.go
- command_pool_structs.go
- create.go
- descriptor_pool.go
- descriptor_set.go
- descriptor_set_layout.go
- descriptor_template.go
- descriptortemplate_structs.go
- device.go
- device_bind.go
- device_memory.go
- device_memrequirements.go
- device_structs.go
- event.go
- fence.go
- fence_external.go
- format.go
- framebuffer.go
- iface.go
- image.go
- image_structs.go
- image_view.go
- image_view_structs.go
- instance.go
- instance_structs.go
- memory_dedicated.go
- memory_external.go
- object_type.go
- physical_device.go
- physical_device_features.go
- physical_device_group.go
- physical_device_structs.go
- pipeline.go
- pipeline_cache.go
- pipeline_layout.go
- pipeline_structs.go
- query_pool.go
- queue.go
- queue_structs.go
- render_pass.go
- render_pass_structs.go
- sampler.go
- semaphore.go
- semaphore_external.go
- shader_module.go
- vkresult.go
- ycbcr.go
- ycbcr_structs.go