Documentation ¶
Index ¶
- Constants
- type AttachmentDescription2
- type AttachmentDescriptionStencilLayout
- type AttachmentReference2
- type AttachmentReferenceStencilLayout
- type Buffer
- type BufferDeviceAddressInfo
- type BufferOpaqueCaptureAddressCreateInfo
- type BufferView
- type CommandBuffer
- type CommandPool
- type ConformanceVersion
- type DescriptorBindingFlags
- type DescriptorPool
- type DescriptorSet
- type DescriptorSetLayout
- type DescriptorSetLayoutBindingFlagsCreateInfo
- type DescriptorSetVariableDescriptorCountAllocateInfo
- type DescriptorSetVariableDescriptorCountLayoutSupport
- func (o *DescriptorSetVariableDescriptorCountLayoutSupport) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *DescriptorSetVariableDescriptorCountLayoutSupport) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type DescriptorUpdateTemplate
- type Device
- type DeviceMemory
- type DeviceMemoryOpaqueCaptureAddressInfo
- type DriverID
- type Event
- type Fence
- type Framebuffer
- type FramebufferAttachmentImageInfo
- type FramebufferAttachmentsCreateInfo
- type Image
- type ImageFormatListCreateInfo
- type ImageStencilUsageCreateInfo
- type ImageView
- type Instance
- type InstanceScopedPhysicalDevice
- type MemoryOpaqueCaptureAddressAllocateInfo
- type PhysicalDevice
- type PhysicalDevice8BitStorageFeatures
- func (o PhysicalDevice8BitStorageFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDevice8BitStorageFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDevice8BitStorageFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceBufferDeviceAddressFeatures
- func (o PhysicalDeviceBufferDeviceAddressFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceBufferDeviceAddressFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceBufferDeviceAddressFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDepthStencilResolveProperties
- func (o *PhysicalDeviceDepthStencilResolveProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDepthStencilResolveProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDescriptorIndexingFeatures
- func (o PhysicalDeviceDescriptorIndexingFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDescriptorIndexingProperties
- func (o *PhysicalDeviceDescriptorIndexingProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDriverProperties
- type PhysicalDeviceFloatControlsProperties
- func (o *PhysicalDeviceFloatControlsProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceFloatControlsProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceHostQueryResetFeatures
- func (o PhysicalDeviceHostQueryResetFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceHostQueryResetFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceHostQueryResetFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceImagelessFramebufferFeatures
- func (o PhysicalDeviceImagelessFramebufferFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceImagelessFramebufferFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceImagelessFramebufferFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceSamplerFilterMinmaxProperties
- func (o *PhysicalDeviceSamplerFilterMinmaxProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceSamplerFilterMinmaxProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceScalarBlockLayoutFeatures
- func (o PhysicalDeviceScalarBlockLayoutFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceScalarBlockLayoutFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceScalarBlockLayoutFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceSeparateDepthStencilLayoutsFeatures
- func (o PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceShaderAtomicInt64Features
- func (o PhysicalDeviceShaderAtomicInt64Features) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderAtomicInt64Features) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderAtomicInt64Features) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceShaderFloat16Int8Features
- func (o PhysicalDeviceShaderFloat16Int8Features) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderFloat16Int8Features) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderFloat16Int8Features) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceShaderSubgroupExtendedTypesFeatures
- func (o PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceTimelineSemaphoreFeatures
- func (o PhysicalDeviceTimelineSemaphoreFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceTimelineSemaphoreFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceTimelineSemaphoreFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceTimelineSemaphoreProperties
- func (o *PhysicalDeviceTimelineSemaphoreProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceTimelineSemaphoreProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceUniformBufferStandardLayoutFeatures
- func (o PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceVulkan11Features
- func (o PhysicalDeviceVulkan11Features) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkan11Features) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkan11Features) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceVulkan11Properties
- type PhysicalDeviceVulkan12Features
- func (o PhysicalDeviceVulkan12Features) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkan12Features) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkan12Features) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceVulkan12Properties
- type PhysicalDeviceVulkanMemoryModelFeatures
- func (o PhysicalDeviceVulkanMemoryModelFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkanMemoryModelFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceVulkanMemoryModelFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type Pipeline
- type PipelineCache
- type PipelineLayout
- type QueryPool
- type Queue
- type RenderPass
- type RenderPassAttachmentBeginInfo
- type RenderPassCreateInfo2
- type ResolveModeFlags
- type Sampler
- type SamplerReductionMode
- type SamplerReductionModeCreateInfo
- type SamplerYcbcrConversion
- type Semaphore
- type SemaphoreSignalInfo
- type SemaphoreType
- type SemaphoreTypeCreateInfo
- type SemaphoreWaitFlags
- type SemaphoreWaitInfo
- type ShaderFloatControlsIndependence
- type ShaderModule
- type SubpassBeginInfo
- type SubpassDependency2
- type SubpassDescription2
- type SubpassDescriptionDepthStencilResolve
- type SubpassEndInfo
- type TimelineSemaphoreSubmitInfo
- type VulkanBuffer
- type VulkanBufferView
- type VulkanCommandBuffer
- func (c *VulkanCommandBuffer) CmdBeginRenderPass2(renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error
- func (c *VulkanCommandBuffer) CmdDrawIndexedIndirectCount(buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, ...)
- func (c *VulkanCommandBuffer) CmdDrawIndirectCount(buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, ...)
- func (c *VulkanCommandBuffer) CmdEndRenderPass2(subpassEnd SubpassEndInfo) error
- func (c *VulkanCommandBuffer) CmdNextSubpass2(subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error
- type VulkanCommandPool
- type VulkanDescriptorPool
- type VulkanDescriptorSet
- type VulkanDescriptorSetLayout
- type VulkanDescriptorUpdateTemplate
- type VulkanDevice
- func (d *VulkanDevice) CreateRenderPass2(allocator *driver.AllocationCallbacks, options RenderPassCreateInfo2) (core1_0.RenderPass, common.VkResult, error)
- func (d *VulkanDevice) GetBufferDeviceAddress(o BufferDeviceAddressInfo) (uint64, error)
- func (d *VulkanDevice) GetBufferOpaqueCaptureAddress(o BufferDeviceAddressInfo) (uint64, error)
- func (d *VulkanDevice) GetDeviceMemoryOpaqueCaptureAddress(o DeviceMemoryOpaqueCaptureAddressInfo) (uint64, error)
- func (d *VulkanDevice) SignalSemaphore(o SemaphoreSignalInfo) (common.VkResult, error)
- func (d *VulkanDevice) WaitSemaphores(timeout time.Duration, o SemaphoreWaitInfo) (common.VkResult, error)
- type VulkanDeviceMemory
- type VulkanEvent
- type VulkanFence
- type VulkanFramebuffer
- type VulkanImage
- type VulkanImageView
- type VulkanInstance
- type VulkanInstanceScopedPhysicalDevice
- type VulkanPhysicalDevice
- type VulkanPipeline
- type VulkanPipelineCache
- type VulkanPipelineLayout
- type VulkanQueryPool
- type VulkanQueue
- type VulkanRenderPass
- type VulkanSampler
- type VulkanSamplerYcbcrConversion
- type VulkanSemaphore
- type VulkanShaderModule
Constants ¶
const ( // DescriptorPoolCreateUpdateAfterBind specifies that DescriptorSet objects allocated from this // pool can include bindings with DescriptorBindingUpdateAfterBind // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorPoolCreateFlagBits.html DescriptorPoolCreateUpdateAfterBind core1_0.DescriptorPoolCreateFlags = C.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT // VkErrorFragmentation indicates a DescriptorPool creation has failed due to fragmentation // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html VkErrorFragmentation common.VkResult = C.VK_ERROR_FRAGMENTATION )
const ( // BufferCreateDeviceAddressCaptureReplay specifies that the Buffer object's address can // be saved and reused on a subsequent run (e.g. for trace capture and replay) // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBufferCreateFlagBits.html BufferCreateDeviceAddressCaptureReplay core1_0.BufferCreateFlags = C.VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT // BufferUsageShaderDeviceAddress specifies that the Buffer can be used to retrieve a // Buffer device address via Device.GetBufferDeviceAddress and use that address to // access the Buffer object's memory from a shader // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBufferUsageFlagBits.html BufferUsageShaderDeviceAddress core1_0.BufferUsageFlags = C.VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT // MemoryAllocateDeviceAddress specifies that the memory can be attached to a Buffer object // created with BufferUsageShaderDeviceAddress set in Usage, and that the DeviceMemory object // can be used to retrieve an opaque address via Device.GetDeviceMemoryOpaqueCaptureAddress // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagBits.html MemoryAllocateDeviceAddress core1_1.MemoryAllocateFlags = C.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT // MemoryAllocateDeviceAddressCaptureReplay specifies that the memory's address can be saved // and reused on a subsequent run (e.g. for trace capture and replay) // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkMemoryAllocateFlagBits.html MemoryAllocateDeviceAddressCaptureReplay core1_1.MemoryAllocateFlags = C.VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT // VkErrorInvalidOpaqueCaptureAddress indicates a Buffer creation or memory allocation failed // because the requested address is not available // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html VkErrorInvalidOpaqueCaptureAddress common.VkResult = C.VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS )
const ( // ImageLayoutDepthAttachmentOptimal specifies a layout for the depth aspect of a depth/stencil // format Image allowing read and write access as a depth attachment // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageLayout.html ImageLayoutDepthAttachmentOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL // ImageLayoutDepthReadOnlyOptimal specifies a layout for the depth aspect of a depth/stencil // format Image allowing read-only access 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 ImageLayoutDepthReadOnlyOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL // ImageLayoutStencilAttachmentOptimal specifies a layout for the stencil aspect of a // depth/stencil format Image allowing read and write access as a stencil attachment // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageLayout.html ImageLayoutStencilAttachmentOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL // ImageLayoutStencilReadOnlyOptimal specifies a layout for the stencil aspect of a depth/stencil // format Image allowing read-only access 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 ImageLayoutStencilReadOnlyOptimal core1_0.ImageLayout = C.VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL )
const ( // MaxDriverInfoSize is the length of a PhysicalDevice driver information string // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_MAX_DRIVER_INFO_SIZE.html MaxDriverInfoSize int = C.VK_MAX_DRIVER_INFO_SIZE // MaxDriverNameSize is the maximum length of a PhysicalDevice driver name string // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_MAX_DRIVER_NAME_SIZE.html MaxDriverNameSize int = C.VK_MAX_DRIVER_NAME_SIZE // DriverIDAmdOpenSource indicates open-source AMD drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDAmdOpenSource DriverID = C.VK_DRIVER_ID_AMD_OPEN_SOURCE // DriverIDAmdProprietary indicates proprietary AMD drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDAmdProprietary DriverID = C.VK_DRIVER_ID_AMD_PROPRIETARY // DriverIDArmProprietary indicates proprietary ARM drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDArmProprietary DriverID = C.VK_DRIVER_ID_ARM_PROPRIETARY // DriverIDBroadcomProprietary indicates proprietary Broadcom drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDBroadcomProprietary DriverID = C.VK_DRIVER_ID_BROADCOM_PROPRIETARY // DriverIDGgpProprietary indicates proprietary GGP drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDGgpProprietary DriverID = C.VK_DRIVER_ID_GGP_PROPRIETARY // DriverIDGoogleSwiftshader indicates Google Swiftshader drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDGoogleSwiftshader DriverID = C.VK_DRIVER_ID_GOOGLE_SWIFTSHADER // DriverIDImaginationProprietary indicates proprietary Imagination drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDImaginationProprietary DriverID = C.VK_DRIVER_ID_IMAGINATION_PROPRIETARY // DriverIDIntelOpenSourceMesa indicates open-source Mesa drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDIntelOpenSourceMesa DriverID = C.VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA // DriverIDIntelProprietaryWindows indicates proprietary Intel drivers for Windows // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDIntelProprietaryWindows DriverID = C.VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS // DriverIDMesaRadV indicates Mesa Rad-V drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDMesaRadV DriverID = C.VK_DRIVER_ID_MESA_RADV // DriverIDNvidiaProprietary indicates proprietary NVidia drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDNvidiaProprietary DriverID = C.VK_DRIVER_ID_NVIDIA_PROPRIETARY // DriverIDQualcommProprietary indicates proprietary Qualcomm drivers // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html DriverIDQualcommProprietary DriverID = C.VK_DRIVER_ID_QUALCOMM_PROPRIETARY // ResolveModeAverage indicates that the result of the resolve operation is the average // of the sample values // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html ResolveModeAverage ResolveModeFlags = C.VK_RESOLVE_MODE_AVERAGE_BIT // ResolveModeMax indicates that the result of the resolve operation is the maximum of the // sample values // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html ResolveModeMax ResolveModeFlags = C.VK_RESOLVE_MODE_MAX_BIT // ResolveModeMin indicates that the result of the resolve operation is the minimum of the // sample values // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html ResolveModeMin ResolveModeFlags = C.VK_RESOLVE_MODE_MIN_BIT // ResolveModeNone indicates that no resolve operation is performed // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html ResolveModeNone ResolveModeFlags = C.VK_RESOLVE_MODE_NONE // ResolveModeSampleZero indicates that the result of the resolve operation is equal to // the value of sample 0 // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html ResolveModeSampleZero ResolveModeFlags = C.VK_RESOLVE_MODE_SAMPLE_ZERO_BIT // ShaderFloatControlsIndependence32BitOnly specifies that shader float controls for 32-bit // floating point can be set independently // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html ShaderFloatControlsIndependence32BitOnly ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY // ShaderFloatControlsIndependenceAll specifies that shader float controls for all // bit widths can be set independently // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html ShaderFloatControlsIndependenceAll ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL // ShaderFloatControlsIndependenceNone specifies that shader float controls for all bit widths // must be set identically // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html ShaderFloatControlsIndependenceNone ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE )
const ( // SemaphoreTypeBinary specifies a binary Semaphore type that has a boolean payload // indicating whether the Semaphore is currently signaled or unsignaled // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreType.html SemaphoreTypeBinary SemaphoreType = C.VK_SEMAPHORE_TYPE_BINARY // SemaphoreTypeTimeline specifies a timeline Semaphore type that has a strictly // increasing 64-bit unsigned integer payload indicating whether the Semaphore is signaled // with respect to a particular reference value // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreType.html SemaphoreTypeTimeline SemaphoreType = C.VK_SEMAPHORE_TYPE_TIMELINE // SemaphoreWaitAny specifies that the Semaphore wait condition is that at least one of // the Semaphore objects in SemaphoreWaitInfo.Semaphores has reached the value specified // by the corresponding element of SemaphoreWaitInfo.Values // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreWaitFlagBits.html SemaphoreWaitAny SemaphoreWaitFlags = C.VK_SEMAPHORE_WAIT_ANY_BIT )
const ( // FramebufferCreateImageless specifies that ImageView objects are not specified, and only // attachment compatibility information will be provided via a FramebufferAttachmentImageInfo // structure // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFramebufferCreateFlagBits.html FramebufferCreateImageless core1_0.FramebufferCreateFlags = C.VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT )
const ( // SamplerAddressModeMirrorClampToEdge specifies that the mirror clamp to edge wrap mode will // be used // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerAddressMode.html SamplerAddressModeMirrorClampToEdge core1_0.SamplerAddressMode = C.VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttachmentDescription2 ¶
type AttachmentDescription2 struct { // Flags specifies additional properties of the attachment Flags core1_0.AttachmentDescriptionFlags // Format specifies the format of the Image that will be used for the attachment Format core1_0.Format // Samples specifies the number of samples of the Image Samples core1_0.SampleCountFlags // LoadOp specifies how the contents of color and depth components of the attachment // are treated at the beginning of the subpass where it is first used LoadOp core1_0.AttachmentLoadOp // StoreOp specifies how the contents of color and depth components of the attachment // are treated at the end of the subpass where it is last used StoreOp core1_0.AttachmentStoreOp // StencilLoadOp specifies how the contents of stencil components of the attachment // are treated at the beginning of the subpass where it is first used StencilLoadOp core1_0.AttachmentLoadOp // StencilStoreOp specifies how the contents of the stencil components of the attachment // are treated at the end of the last subpass where it is used StencilStoreOp core1_0.AttachmentStoreOp // InitialLayout is the layout of the attachment Image subresource will be in when // a RenderPass instance begins InitialLayout core1_0.ImageLayout // FinalLayout is the layout the attachment Image subresource will be transitioned to // when a RenderPass instance ends FinalLayout core1_0.ImageLayout common.NextOptions }
AttachmentDescription2 specifies an attachment description
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkAttachmentDescription2.html
type AttachmentDescriptionStencilLayout ¶
type AttachmentDescriptionStencilLayout struct { // StencilInitialLayout is the layout of the stencil aspect of the attachment Image // subresource will be in when a RenderPass instance begins StencilInitialLayout core1_0.ImageLayout // StencilFinalLayout is the layout the stencil aspect of the attachment Image subresource // will be transitioned to when a RenderPass instance ends StencilFinalLayout core1_0.ImageLayout common.NextOptions }
AttachmentDescriptionStencilLayout specifies an attachment description
type AttachmentReference2 ¶
type AttachmentReference2 struct { // Attachment identifies an attachment at the corresponding index in // RenderPassCreateInfo2.Attachments, or core1_0.AttachmentUnused Attachment int // Layout specifies the layout the attachment uses during the subpass Layout core1_0.ImageLayout // AspectMask is a mask of which aspect(s) can be accessed within the specified // subpass as an input attachment AspectMask core1_0.ImageAspectFlags common.NextOptions }
AttachmentReference2 specifies an attachment reference
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkAttachmentReference2.html
type AttachmentReferenceStencilLayout ¶
type AttachmentReferenceStencilLayout struct { // StencilLayout specifies the layout the stencil aspect of the attachment uses during hte subpass StencilLayout core1_0.ImageLayout common.NextOptions }
AttachmentReferenceStencilLayout specifies an attachment description
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.2.
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.2, it will return a core1_2.Buffer. Otherwise, it will return nil. This method will always return a core1_2.VulkanBuffer, even if it is provided a VulkanBuffer from a higher core version. Two Vulkan 1.2 compatible Buffer objects with the same Buffer.Handle will return the same interface value when passed to this method.
type BufferDeviceAddressInfo ¶
type BufferDeviceAddressInfo struct { // Buffer specifies the Buffer whose address is being queried Buffer core1_0.Buffer common.NextOptions }
BufferDeviceAddressInfo specifies the Buffer to query an address for
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBufferDeviceAddressInfo.html
func (BufferDeviceAddressInfo) PopulateCPointer ¶
func (BufferDeviceAddressInfo) PopulateOutData ¶
type BufferOpaqueCaptureAddressCreateInfo ¶
type BufferOpaqueCaptureAddressCreateInfo struct { // OpaqueCaptureAddress is the opaque capture address requested for the Buffer OpaqueCaptureAddress uint64 common.NextOptions }
BufferOpaqueCaptureAddressCreateInfo requests a specific address for a Buffer
type BufferView ¶
type BufferView interface { core1_1.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.2.
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.2, it will return a core1_2.BufferView. Otherwise, it will return nil. This method will always return a core1_2.VulkanBufferView, even if it is provided a VulkanBufferView from a higher core version. Two Vulkan 1.2 compatible BufferView objects with the same BufferView.Handle will return the same interface value when passed to this method.
type CommandBuffer ¶
type CommandBuffer interface { core1_1.CommandBuffer // CmdBeginRenderPass2 begins a new RenderPass // // renderPassBegin - Specifies the RenderPass to begin an instance of, and the Framebuffer the instance // uses // // subpassBegin - Contains information about the subpass which is about to begin rendering // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdBeginRenderPass2.html CmdBeginRenderPass2(renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error // CmdEndRenderPass2 ends the current RenderPass // // subpassEnd - Contains information about how the previous subpass will be ended // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdEndRenderPass2.html CmdEndRenderPass2(subpassEnd SubpassEndInfo) error // CmdNextSubpass2 transitions to the next subpass of a RenderPass // // subpassBegin - Contains information about the subpass which is about to begin rendering. // // subpassEnd - Contains information about how the previous subpass will be ended. // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdNextSubpass2.html CmdNextSubpass2(subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error // CmdDrawIndexedIndirectCount draws with indirect parameters, indexed vertices, and draw count // // buffer - The Buffer containing draw parameters // // offset - The byte offset into buffer where parameters begin // // countBuffer - The Buffer containing the draw count // // countBufferOffset - The byte offset into countBuffer where the draw count begins // // maxDrawCount - Specifies the maximum number of draws that will be executed. // // stride - The byte stride between successive sets of draw parameters // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdDrawIndexedIndirectCount.html CmdDrawIndexedIndirectCount(buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, countBufferOffset uint64, maxDrawCount, stride int) // CmdDrawIndirectCount draws primitives with indirect parameters and draw count // // buffer - The Buffer containing draw parameters // // offset - The byte offset into buffer where parameters begin // // countBuffer - The Buffer containing the draw count // // countBufferOffset - The byte offset into countBuffer where the draw count begins // // maxDrawCount - Specifies the maximum number of draws that will be executed. // // stride - The byte stride between successive sets of draw parameters // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdDrawIndirectCount.html CmdDrawIndirectCount(buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, countBufferOffset uint64, maxDrawCount, stride int) }
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.2.
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.2, it will return a core1_2.CommandBuffer. Otherwise, it will return nil. This method will always return a core1_2.VulkanCommandBuffer, even if it is provided a VulkanCommandBuffer from a higher core version. Two Vulkan 1.2 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
type CommandPool ¶
type CommandPool interface { core1_1.CommandPool }
CommandPool is an opaque object that CommandBuffer memory is allocated from
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.CommandPool. Otherwise, it will return nil. This method will always return a core1_2.VulkanCommandPool, even if it is provided a VulkanCommandPool from a higher core version. Two Vulkan 1.2 compatible CommandPool objects with the same CommandPool.Handle will return the same interface value when passed to this method.
type ConformanceVersion ¶
type ConformanceVersion struct { // Major is the major version number of the conformance test suite Major uint8 // Minor is the minor version number of the conformance test suite Minor uint8 // Subminor is the subminor version number of the conformance test suite Subminor uint8 // Patch is the patch version number of the conformance test suite Patch uint8 }
ConformanceVersion contains the comformance test suite version the implementation is compliant with
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkConformanceVersionKHR.html
func (ConformanceVersion) IsAtLeast ¶
func (v ConformanceVersion) IsAtLeast(other ConformanceVersion) bool
IsAtLeast returns true if the other ConformanceVersion is at least as high as this one
type DescriptorBindingFlags ¶
type DescriptorBindingFlags int32
DescriptorBindingFlags specifies DescriptorSetLayout binding properties
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html
const ( // DescriptorBindingPartiallyBound indicates that descriptors in this binding that are // not dynamically used need not contain valid descriptors at the time the descriptors // are consumed // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingPartiallyBound DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT // DescriptorBindingUpdateAfterBind indicates that if descriptors in this binding are updated // between when the DescriptorSet is bound in a CommandBuffer and when that CommandBuffer is // submitted to a Queue, then the submission will use the most recently-set descriptors // for this binding and the updates do not invalidate the CommandBuffer // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingUpdateAfterBind DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT // DescriptorBindingUpdateUnusedWhilePending indicates that descriptors in this binding can be // updated after a CommandBuffer has bound this DescriptorSet, or while a CommandBuffer that // uses this DescriptorSet is pending execution, as long as the descriptors that are updated // are not used by those CommandBuffer objects // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingUpdateUnusedWhilePending DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT // DescriptorBindingVariableDescriptorCount indicates that this is a variable-sized descriptor // binding whose size will be specified when a DescriptorSet is allocated using this layout // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingVariableDescriptorCount DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT // DescriptorSetLayoutCreateUpdateAfterBindPool specifies that DescriptorSet objects using this // layout must be allocated from a DescriptorPool created with DescriptorPoolCreateUpdateAfterBind // set // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorSetLayoutCreateFlagBits.html DescriptorSetLayoutCreateUpdateAfterBindPool core1_0.DescriptorSetLayoutCreateFlags = C.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT )
func (DescriptorBindingFlags) Register ¶
func (f DescriptorBindingFlags) Register(str string)
func (DescriptorBindingFlags) String ¶
func (f DescriptorBindingFlags) String() string
type DescriptorPool ¶
type DescriptorPool interface { core1_1.DescriptorPool }
DescriptorPool maintains a pool of descriptors, from which DescriptorSet objects are allocated.
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.DescriptorPool. Otherwise, it will return nil. This method will always return a core1_2.VulkanDescriptorPool, even if it is provided a VulkanDescriptorPool from a higher core version. Two Vulkan 1.2 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_1.DescriptorSet }
DescriptorSet is an opaque object allocated from a DescriptorPool
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.DescriptorSet. Otherwise, it will return nil. This method will always return a core1_2.VulkanDescriptorSet, even if it is provided a VulkanDescriptorSet from a higher core version. Two Vulkan 1.2 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
type DescriptorSetLayout ¶
type DescriptorSetLayout interface { core1_1.DescriptorSetLayout }
DescriptorSetLayout is a group of zero or more descriptor bindings definitions.
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.DescriptorSetLayout. Otherwise, it will return nil. This method will always return a core1_2.VulkanDescriptorSetLayout, even if it is provided a VulkanDescriptorSetLayout from a higher core version. Two Vulkan 1.2 compatible DescriptorSetLayout objects with the same DescriptorSetLayout.Handle will return the same interface value when passed to this method.
func PromoteDescriptorUpdateTemplate ¶
func PromoteDescriptorUpdateTemplate(template core1_1.DescriptorUpdateTemplate) DescriptorSetLayout
PromoteDescriptorUpdateTemplate accepts a DescriptorUpdateTemplate object from any core version. If provided a descriptor update template that supports at least core 1.2, it will return a core1_2.DescriptorUpdateTemplate. Otherwise, it will return nil. This method will always return a core1_2.VulkanDescriptorUpdateTemplate, even if it is provided a VulkanDescriptorUpdateTemplate from a higher core version. Two Vulkan 1.2 compatible DescriptorUpdateTemplate objects with the same DescriptorUpdateTemplate.Handle will return the same interface value when passed to this method.
type DescriptorSetLayoutBindingFlagsCreateInfo ¶
type DescriptorSetLayoutBindingFlagsCreateInfo struct { // BindingFlags is a slice of DescriptorBindingFlags, one for each DescriptorSetLayout binding BindingFlags []DescriptorBindingFlags common.NextOptions }
DescriptorSetLayoutBindingFlagsCreateInfo specifies parameters of a newly-created DescriptorSetLayout
type DescriptorSetVariableDescriptorCountAllocateInfo ¶
type DescriptorSetVariableDescriptorCountAllocateInfo struct { // DescriptorCounts is a slice of descriptor counts, with each member specifying the number // of descriptors in a variable-sized descriptor binding in the corresponding DescriptorSet // being allocated DescriptorCounts []int common.NextOptions }
DescriptorSetVariableDescriptorCountAllocateInfo specifies additional allocation parameters for DescriptorSet objects
type DescriptorSetVariableDescriptorCountLayoutSupport ¶
type DescriptorSetVariableDescriptorCountLayoutSupport struct { // MaxVariableDescriptorCount indicates the maximum number of descriptors supported in the // highest numbered binding of the layout, if that binding is variable-sized MaxVariableDescriptorCount int common.NextOutData }
DescriptorSetVariableDescriptorCountLayoutSupport returns information about whether a DescriptorSetLayout can be supported
func (*DescriptorSetVariableDescriptorCountLayoutSupport) PopulateHeader ¶
func (*DescriptorSetVariableDescriptorCountLayoutSupport) PopulateOutData ¶
type DescriptorUpdateTemplate ¶
type DescriptorUpdateTemplate interface { core1_1.DescriptorUpdateTemplate }
DescriptorUpdateTemplate specifies a mapping from descriptor update information in host memory to descriptors in a DescriptorSet
This interface includes all commands included in Vulkan 1.2.
type Device ¶
type Device interface { core1_1.Device // CreateRenderPass2 creates a new RenderPass object // // allocator - Controls host memory allocation behavior // // options - Describes the parameters of the RenderPass // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateRenderPass2.html CreateRenderPass2(allocator *driver.AllocationCallbacks, options RenderPassCreateInfo2) (core1_0.RenderPass, common.VkResult, error) // GetBufferDeviceAddress queries an address of a Buffer // // o - Specifies the Buffer to retrieve an address for // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetBufferDeviceAddress.html GetBufferDeviceAddress(o BufferDeviceAddressInfo) (uint64, error) // GetBufferOpaqueCaptureAddress queries an opaque capture address of a Buffer // // o - Specifies the Buffer to retrieve an address for // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetBufferOpaqueCaptureAddress.html GetBufferOpaqueCaptureAddress(o BufferDeviceAddressInfo) (uint64, error) // GetDeviceMemoryOpaqueCaptureAddress queries an opaque capture address of a DeviceMemory object // // o - Specifies the DeviceMemory object to retrieve an address for // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html GetDeviceMemoryOpaqueCaptureAddress(o DeviceMemoryOpaqueCaptureAddressInfo) (uint64, error) // SignalSemaphore signals a timeline Semaphore on the host // // o - Contains information about the signal operation // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkSignalSemaphore.html SignalSemaphore(o SemaphoreSignalInfo) (common.VkResult, error) // WaitSemaphores waits for timeline Semaphore objects on the host // // timeout - How long to wait before returning VKTimeout. May be common.NoTimeout to wait indefinitely. // The timeout is adjusted to the closest value allowed by the implementation timeout accuracy, // which may be substantially longer than the requested timeout. // // o - Contains information about the wait condition // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkWaitSemaphores.html WaitSemaphores(timeout time.Duration, o SemaphoreWaitInfo) (common.VkResult, error) }
Device represents a logical device on the host
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.Device. Otherwise, it will return nil. This method will always return a core1_2.VulkanDevice, even if it is provided a VulkanDevice from a higher core version. Two Vulkan 1.2 compatible Device objects with the same Device.Handle will return the same interface value when passed to this method.
type DeviceMemory ¶
type DeviceMemory interface { core1_1.DeviceMemory }
DeviceMemory represents a block of memory on the device
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.DeviceMemory. Otherwise, it will return nil. This method will always return a core1_2.VulkanDeviceMemory, even if it is provided a VulkanDeviceMemory from a higher core version. Two Vulkan 1.2 compatible DeviceMemory objects with the same DeviceMemory.Handle will return the same interface value when passed to this method.
type DeviceMemoryOpaqueCaptureAddressInfo ¶
type DeviceMemoryOpaqueCaptureAddressInfo struct { // Memory specifies the DeviceMemory whose address is being queried Memory core1_0.DeviceMemory common.NextOptions }
DeviceMemoryOpaqueCaptureAddressInfo specifies the DeviceMemory object to query an address for
type DriverID ¶
type DriverID int32
DriverID specifies khronos driver id's
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.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.2.
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.2, it will return a core1_2.Event. Otherwise, it will return nil. This method will always return a core1_2.VulkanEvent, even if it is provided a VulkanEvent from a higher core version. Two Vulkan 1.2 compatible Event objects with the same Event.Handle will return the same interface value when passed to this method.
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.2.
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.2, it will return a core1_2.Fence. Otherwise, it will return nil. This method will always return a core1_2.VulkanFence, even if it is provided a VulkanFence from a higher core version. Two Vulkan 1.2 compatible Fence objects with the same Fence.Handle will return the same interface value when passed to this method.
type Framebuffer ¶
type Framebuffer interface { core1_1.Framebuffer }
Framebuffer represents a collection of specific memory attachments that a RenderPass uses
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.Framebuffer. Otherwise, it will return nil. This method will always return a core1_2.VulkanFramebuffer, even if it is provided a VulkanFramebuffer from a higher core version. Two Vulkan 1.2 compatible Framebuffer objects with the same Framebuffer.Handle will return the same interface value when passed to this method.
type FramebufferAttachmentImageInfo ¶
type FramebufferAttachmentImageInfo struct { // Flags matches the value of ImageCreateInfo.Flags used to create an Image that will be used // with this Framebuffer Flags core1_0.ImageCreateFlags // Usage matches the value of ImageCreateInfo.Usage used to create an Image used with this // Framebuffer Usage core1_0.ImageUsageFlags // Width is the width of the ImageView used for rendering Width int // Height is the height of ImageView used for rendering Height int // LayerCount is the number of array layers of the ImageView used for rendering LayerCount int // ViewFormats is a slice of core1_0.Format values specifying all of the formats which // can be used when creating views of the Image, matching the value of // ImageFormatListCreateInfo.ViewFormats used to create an Image used with this // Framebuffer ViewFormats []core1_0.Format common.NextOptions }
FramebufferAttachmentImageInfo specifies parameters of an Image that will be used with a Framebuffer
type FramebufferAttachmentsCreateInfo ¶
type FramebufferAttachmentsCreateInfo struct { // AttachmentImageInfos is a slice of FramebufferAttachmentInfo structures, each structure // describing a number of parameters of the corresponding attachment in a RenderPass instance AttachmentImageInfos []FramebufferAttachmentImageInfo common.NextOptions }
FramebufferAttachmentsCreateInfo specifies parameters of Image objects that will be used with a Framebuffer
type Image ¶
Image represents multidimensional arrays of data which can be used for various purposes.
This interface includes all commands included in Vulkan 1.2.
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 an image that supports at least core 1.2, it will return a core1_2.Image. Otherwise, it will return nil. This method will always return a core1_2.VulkanImage, even if it is provided a VulkanImage from a higher core version. Two Vulkan 1.2 compatible Image objects with the same Image.Handle will return the same interface value when passed to this method.
type ImageFormatListCreateInfo ¶
type ImageFormatListCreateInfo struct { // ViewFormats is a slice of core1_0.Format values specifying all formats which can be used // when creating views of this Image ViewFormats []core1_0.Format common.NextOptions }
ImageFormatListCreateInfo specifies that an Image can be used with a particular set of formats
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageFormatListCreateInfo.html
type ImageStencilUsageCreateInfo ¶
type ImageStencilUsageCreateInfo struct { // StencilUsage describes the intended usage of the stencil aspect of the Image StencilUsage core1_0.ImageUsageFlags common.NextOptions }
ImageStencilUsageCreateInfo specifies separate usage flags for the stencil aspect of a depth-stencil Image
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageStencilUsageCreateInfo.html
type ImageView ¶
ImageView represents contiguous ranges of Image subresources and contains additional metadata
This interface includes all commands included in Vulkan 1.2.
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 an image view that supports at least core 1.2, it will return a core1_2.ImageView. Otherwise, it will return nil. This method will always return a core1_2.VulkanImageView, even if it is provided a VulkanImageView from a higher core version. Two Vulkan 1.2 compatible ImageView objects with the same ImageView.Handle will return the same interface value when passed to this method.
type Instance ¶
Instance stores per-application state for Vulkan
This interface includes all commands included in Vulkan 1.2.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkInstance.html
func PromoteInstance ¶
PromoteInstance accepts an Instance object from any core version. If provided an instance that supports at least core 1.2, it will return a core1_2.Instance. Otherwise, it will return nil. This method will always return a core1_2.VulkanInstance, even if it is provided a VulkanInstance from a higher core version. Two Vulkan 1.2 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_1.InstanceScopedPhysicalDevice }
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.2.
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 InstanceScopedPhysicalDevice object from any core version. If provided an instance-scoped physical device that supports at least core 1.2 for its instance-scoped functionality, it will return a core1_2.InstanceScopedPhysicalDevice. Otherwise, it will return nil. This method will always return a core1_2.VulkanInstanceScopedPhysicalDevice, even if it is provided a VulkanInstanceScopedPhysicalDevice from a higher core version. Two Vulkan 1.2 compatible InstanceScopedPhysicalDevice objects with the same InstanceScopedPhysicalDevice.Handle will return the same interface value when passed to this method.
type MemoryOpaqueCaptureAddressAllocateInfo ¶
type MemoryOpaqueCaptureAddressAllocateInfo struct { // OpaqueCaptureAddress is the opaque capture address requested for the memory allocation OpaqueCaptureAddress uint64 common.NextOptions }
MemoryOpaqueCaptureAddressAllocateInfo requests a specific address for a memory allocation
type PhysicalDevice ¶
type PhysicalDevice interface { core1_1.PhysicalDevice // InstanceScopedPhysicalDevice1_2 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_2() 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.2.
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.2 for its device-scoped functionality, it will return a core1_2.PhysicalDevice. Otherwise, it will return nil. This method will always return a core1_2.VulkanPhysicalDevice, even if it is provided a VulkanPhysicalDevice from a higher core version. Two Vulkan 1.2 compatible PhysicalDevice objects with the same PhysicalDevice.Handle will return the same interface value when passed to this method.
type PhysicalDevice8BitStorageFeatures ¶
type PhysicalDevice8BitStorageFeatures struct { // StorageBuffer8BitAccess indicates whether objects in the StorageBuffer, ShaderRecordBufferKHR, // or PhysicalStorageBuffer storage class with the Block decoration can have 8-bit integer members StorageBuffer8BitAccess bool // UniformAndStorageBuffer8BitAccess indicates whether objects in the Uniform storage class // with the Block decoration can have 8-bit integer members UniformAndStorageBuffer8BitAccess bool // StoragePushConstant8 indicates whether objects in the PushConstant storage class can have 8-bit // integer members StoragePushConstant8 bool common.NextOptions common.NextOutData }
PhysicalDevice8BitStorageFeatures describes features supported by khr_8bit_storage
func (PhysicalDevice8BitStorageFeatures) PopulateCPointer ¶
func (*PhysicalDevice8BitStorageFeatures) PopulateHeader ¶
func (*PhysicalDevice8BitStorageFeatures) PopulateOutData ¶
type PhysicalDeviceBufferDeviceAddressFeatures ¶
type PhysicalDeviceBufferDeviceAddressFeatures struct { // BufferDeviceAddress indicates that the implementation supports accessing Buffer memory // in shaders as storage Buffer objects via an address queried from Device.GetBufferDeviceAddress BufferDeviceAddress bool // BufferDeviceAddressCaptureReplay indicates that the implementation supports saving and // reusing Buffer and Device addresses, e.g. for trace capture and replay BufferDeviceAddressCaptureReplay bool // BufferDeviceAddressMultiDevice indicates that the implementation supports the // BufferDeviceAddress, RayTracingPipeline, and RayQuery features for logical Device objects // created with multiple PhysicalDevice objects BufferDeviceAddressMultiDevice bool common.NextOptions common.NextOutData }
PhysicalDeviceBufferDeviceAddressFeatures describes Buffer address features that can be supported by an implementation
func (PhysicalDeviceBufferDeviceAddressFeatures) PopulateCPointer ¶
func (*PhysicalDeviceBufferDeviceAddressFeatures) PopulateHeader ¶
func (*PhysicalDeviceBufferDeviceAddressFeatures) PopulateOutData ¶
type PhysicalDeviceDepthStencilResolveProperties ¶
type PhysicalDeviceDepthStencilResolveProperties struct { // SupportedDepthResolveModes indicates the set of supported depth resolve modes SupportedDepthResolveModes ResolveModeFlags // SupportedStencilResolveModes indicates the set of supported stencil resolve modes SupportedStencilResolveModes ResolveModeFlags // IndependentResolveNone is true if the implementation supports setting the depth // and stencil resolve modes to different values when one of those modes is ResolveModeNone IndependentResolveNone bool // IndependentResolve is true if the implementation supports all combinations of the supported // depth and stencil resolve modes, including setting either depth or stencil resolve mode to // ResolveModeNone IndependentResolve bool common.NextOutData }
PhysicalDeviceDepthStencilResolveProperties describes depth/stencil resolve properties that can be supported by an implementation
func (*PhysicalDeviceDepthStencilResolveProperties) PopulateHeader ¶
func (*PhysicalDeviceDepthStencilResolveProperties) PopulateOutData ¶
type PhysicalDeviceDescriptorIndexingFeatures ¶
type PhysicalDeviceDescriptorIndexingFeatures struct { // ShaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments // can be indexed by dynamically uniform integer expressions in shader code ShaderInputAttachmentArrayDynamicIndexing bool // ShaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderUniformTexelBufferArrayDynamicIndexing bool // ShaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderStorageTexelBufferArrayDynamicIndexing bool // ShaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform Buffer objects // can be indexed by non-uniform integer expressions in shader code. ShaderUniformBufferArrayNonUniformIndexing bool // ShaderSampledImageArrayNonUniformIndexing indicates whether arrays of Sampler objects or sampled // Image objects can be indexed by non-uniform integer expressions in shader code ShaderSampledImageArrayNonUniformIndexing bool // ShaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage buffers // can be indexed by non-uniform integer expressions in shader code ShaderStorageBufferArrayNonUniformIndexing bool // ShaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage Image objects can // be indexed by non-uniform integer expressions in shader code ShaderStorageImageArrayNonUniformIndexing bool // ShaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments // can be indexed by non-uniform integer expressions in shader code ShaderInputAttachmentArrayNonUniformIndexing bool // ShaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderUniformTexelBufferArrayNonUniformIndexing bool // ShaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderStorageTexelBufferArrayNonUniformIndexing bool // DescriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation supports // updating uniform Buffer descriptors after a set is bound DescriptorBindingUniformBufferUpdateAfterBind bool // DescriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports // updating sampled Image descriptors after a set is bound DescriptorBindingSampledImageUpdateAfterBind bool // DescriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports // updating storage Image descriptors after a set is bound DescriptorBindingStorageImageUpdateAfterBind bool // DescriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation // supports updating storage Buffer descriptors after a set is bound DescriptorBindingStorageBufferUpdateAfterBind bool // DescriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation // supports updating uniform texel Buffer descriptors after a set is bound DescriptorBindingUniformTexelBufferUpdateAfterBind bool // DescriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the impelementation // supports updating storage texel Buffer descriptors after a set is bound DescriptorBindingStorageTexelBufferUpdateAfterBind bool // DescriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports // updating descriptors while the set is in use DescriptorBindingUpdateUnusedWhilePending bool // DescriptorBindingPartiallyBound indicates whether the implementation supports statically // using a DescriptorSet binding in which some descriptors are not valid DescriptorBindingPartiallyBound bool // DescriptorBindingVariableDescriptorCount indicates whether the implementation supports // DescriptorSet object with a variable-sized last binding DescriptorBindingVariableDescriptorCount bool // RuntimeDescriptorArray indicates whether the implementation supports the SPIR-V // RuntimeDescriptorArray capability RuntimeDescriptorArray bool common.NextOptions common.NextOutData }
PhysicalDeviceDescriptorIndexingFeatures describes descriptor indexing features that can be supported by an implementation
func (PhysicalDeviceDescriptorIndexingFeatures) PopulateCPointer ¶
func (*PhysicalDeviceDescriptorIndexingFeatures) PopulateHeader ¶
func (*PhysicalDeviceDescriptorIndexingFeatures) PopulateOutData ¶
type PhysicalDeviceDescriptorIndexingProperties ¶
type PhysicalDeviceDescriptorIndexingProperties struct { // MaxUpdateAfterBindDescriptorsInAllPools is the maximum number of descriptors (summed over // all descriptor types) that can be created across all pools that are created with // DescriptorPoolCreateUpdateAfterBind MaxUpdateAfterBindDescriptorsInAllPools int // ShaderUniformBufferArrayNonUniformIndexingNative is a boolean value indicating whether // uniform Buffer descriptors natively support nonuniform indexing ShaderUniformBufferArrayNonUniformIndexingNative bool // ShaderSampledImageArrayNonUniformIndexingNative is a boolean value indicating whether // Sampler and Image descriptors natively support nonuniform indexing ShaderSampledImageArrayNonUniformIndexingNative bool // ShaderStorageBufferArrayNonUniformIndexingNative is a boolean value indicating whether // storage Buffer descriptors natively support nonuniform indexing ShaderStorageBufferArrayNonUniformIndexingNative bool // ShaderStorageImageArrayNonUniformIndexingNative is a boolean value indicating whether storage // Image descriptors natively support nonuniform indexing ShaderStorageImageArrayNonUniformIndexingNative bool // ShaderInputAttachmentArrayNonUniformIndexingNative is a boolean value indicating whether // input attachment descriptors natively support nonuniform indexing ShaderInputAttachmentArrayNonUniformIndexingNative bool // RobustBufferAccessUpdateAfterBind is a boolean value indicating whether RobustBufferAccess // can be enabled in a Device simultaneously with DescriptorBindingUniformBufferUpdateAfterBind, // DescriptorBindingStorageBufferUpdateAfterBind, // DescriptorBindingUniformTexelBufferUpdateAfterBind, and/or // DescriptorBindingStorageTexelBufferUpdateAfterBind RobustBufferAccessUpdateAfterBind bool // QuadDivergentImplicitLod is a boolean value indicating whether implicit level of detail // calculations for Image operations have well-defined results when the Image and/or Sampler // objects used for the instruction are not uniform within a quad QuadDivergentImplicitLod bool // MaxPerStageDescriptorUpdateAfterBindSamplers is similar to <axPerStageDescriptorSamplers // but counts descriptors from descriptor sets created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSamplers int // MaxPerStageDescriptorUpdateAfterBindUniformBuffers is similar to // MaxPerStageDescriptorUniformBuffers but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindUniformBuffers int // MaxPerStageDescriptorUpdateAfterBindStorageBuffers is similar to // MaxPerStageDescriptorStorageBuffers but counts descriptors from DescriptorSet created with // or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageBuffers int // MaxPerStageDescriptorUpdateAfterBindSampledImages is similar to // MaxPerStageDescriptorSampledImages but counts descriptors from DescriptorSets created with // or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSampledImages int // MaxPerStageDescriptorUpdateAfterBindStorageImages is similar to // MaxPerStageDescriptorStorageImages but counts descriptors from DescriptorSet objects created // with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageImages int // MaxPerStageDescriptorUpdateAfterBindInputAttachments is similar to // MaxPerStageDescriptorInputAttachments but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindInputAttachments int // MaxPerStageUpdateAfterBindResources is similar to MaxPerStageResources but counts // descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageUpdateAfterBindResources int // MaxDescriptorSetUpdateAfterBindSamplers is similar to MaxDescriptorSetSamplers but counts // descriptors from DescriptorSet created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSamplers int // MaxDescriptorSetUpdateAfterBindUniformBuffers is similar to MaxDescriptorSetUniformBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffers int // MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic is similar to // MaxDescriptorSetUniformBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic int // MaxDescriptorSetUpdateAfterBindStorageBuffers is similar to MaxDescriptorSetStorageBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffers int // MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic is similar to // MaxDescriptorSetStorageBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic int // MaxDescriptorSetUpdateAfterBindSampledImages is similar to MaxDescriptorSetSampledImages // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSampledImages int // MaxDescriptorSetUpdateAfterBindStorageImages is similar to MaxDescriptorSetStorageImages // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageImages int // MaxDescriptorSetUpdateAfterBindInputAttachments is similar to MaxDescriptorSetInputAttachments // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindInputAttachments int common.NextOutData }
PhysicalDeviceDescriptorIndexingProperties describes descriptor indexing properties that can be supported by an implementation
func (*PhysicalDeviceDescriptorIndexingProperties) PopulateHeader ¶
func (*PhysicalDeviceDescriptorIndexingProperties) PopulateOutData ¶
type PhysicalDeviceDriverProperties ¶
type PhysicalDeviceDriverProperties struct { // DriverID is a unique identifier for the driver of the PhysicalDevice DriverID DriverID // DriverName is a string which is the name of the driver DriverName string // DriverInfo is a string with additional information about the driver DriverInfo string // ConformanceVersion is the version of the Vulkan conformance test thsi driver is conformant // against ConformanceVersion ConformanceVersion common.NextOutData }
PhysicalDeviceDriverProperties contains driver identification information
func (*PhysicalDeviceDriverProperties) PopulateHeader ¶
func (*PhysicalDeviceDriverProperties) PopulateOutData ¶
type PhysicalDeviceFloatControlsProperties ¶
type PhysicalDeviceFloatControlsProperties struct { // DenormBehaviorIndependence indicates whether, and how, denorm behavior can be // set independently for different bit widths DenormBehaviorIndependence ShaderFloatControlsIndependence // RoundingModeIndependence indicates whether, and how, rounding modes can be set indpendently // for different bit widths RoundingModeIndependence ShaderFloatControlsIndependence // ShaderSignedZeroInfNanPreserveFloat16 indicates whether the sign of zero, NaN, and +/- infinity // can be preserved in 16-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat16 bool // ShaderSignedZeroInfNanPreserveFloat32 indicates whether the sign of zero, NaN, and +/- infinity // can be preserved in 32-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat32 bool // ShaderSignedZeroInfNanPreserveFloat64 indicates whether the sign of zero, NaN, and +/- infinity // can be preserved in 64-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat64 bool // ShaderDenormPreserveFloat16 indicates whether denormals can be preserved in 16-bit floating-point // computations ShaderDenormPreserveFloat16 bool // ShaderDenormPreserveFloat32 indicates whether denormals can be preserved in 32-bit floating-point // computations ShaderDenormPreserveFloat32 bool // ShaderDenormPreserveFloat64 indicates whether denormals can be preserved in 64-bit floating-point // computations ShaderDenormPreserveFloat64 bool // ShaderDenormFlushToZeroFloat16 indicates whether denormals can be flushed to zero in 16-bit // floating-point computations ShaderDenormFlushToZeroFloat16 bool // ShaderDenormFlushToZeroFloat32 indicates whether denormals can be flushed to zero in 32-bit // floating-point computations ShaderDenormFlushToZeroFloat32 bool // ShaderDenormFlushToZeroFloat64 indicates whether denormals can be flushed to zero in 64-bit // floating-point computations ShaderDenormFlushToZeroFloat64 bool // ShaderRoundingModeRTEFloat16 indicates whether an implementation supports the round-to-nearest-even // rounding mode for 16-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTEFloat16 bool // ShaderRoundingModeRTEFloat32 indicates whether an implementation supports the round-to-nearest-even // rounding mode for 32-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTEFloat32 bool // ShaderRoundingModeRTEFloat64 indicates whether an implementation supports the round-to-nearest-even // rounding mode for 64-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTEFloat64 bool // ShaderRoundingModeRTZFloat16 indicates whether an implementation supports the round-toward-zero // rounding mode for 16-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTZFloat16 bool // ShaderRoundingModeRTZFloat32 indicates whether an implementation supports the round-toward-zero // rounding mode for 32-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTZFloat32 bool // ShaderRoundingModeRTZFloat64 indicates whether an implementation supports the round-toward-zero // rounding mode for 64-bit floating-point arithmetic and conversion instructions ShaderRoundingModeRTZFloat64 bool common.NextOutData }
PhysicalDeviceFloatControlsProperties describes properties supported by khr_shader_float_controls
func (*PhysicalDeviceFloatControlsProperties) PopulateHeader ¶
func (*PhysicalDeviceFloatControlsProperties) PopulateOutData ¶
type PhysicalDeviceHostQueryResetFeatures ¶
type PhysicalDeviceHostQueryResetFeatures struct { // HostQueryReset indicates that hte implementation supports resetting queries from the host // with QueryPool.Reset HostQueryReset bool common.NextOptions common.NextOutData }
PhysicalDeviceHostQueryResetFeatures describes whether queries can be reset from the host
func (PhysicalDeviceHostQueryResetFeatures) PopulateCPointer ¶
func (*PhysicalDeviceHostQueryResetFeatures) PopulateHeader ¶
func (*PhysicalDeviceHostQueryResetFeatures) PopulateOutData ¶
type PhysicalDeviceImagelessFramebufferFeatures ¶
type PhysicalDeviceImagelessFramebufferFeatures struct { // ImagelessFramebuffer indicates that the implementation supports specifying the ImageView for // attachments at RenderPass begin time via RenderPassAttachmentBeginInfo ImagelessFramebuffer bool common.NextOptions common.NextOutData }
PhysicalDeviceImagelessFramebufferFeatures indicates supports for imageless Framebuffer objects
func (PhysicalDeviceImagelessFramebufferFeatures) PopulateCPointer ¶
func (*PhysicalDeviceImagelessFramebufferFeatures) PopulateHeader ¶
func (*PhysicalDeviceImagelessFramebufferFeatures) PopulateOutData ¶
type PhysicalDeviceSamplerFilterMinmaxProperties ¶
type PhysicalDeviceSamplerFilterMinmaxProperties struct { // FilterMinmaxSingleComponentFormats indicates whether a minimum set of required formats // support min/max filtering FilterMinmaxSingleComponentFormats bool // FilterMinmaxImageComponentMapping indicates whether the implementation support non-identity // component mapping of the Image when doing min/max filtering FilterMinmaxImageComponentMapping bool common.NextOutData }
PhysicalDeviceSamplerFilterMinmaxProperties describes Sampler filter minmax limits that can be supported by an implementation
func (*PhysicalDeviceSamplerFilterMinmaxProperties) PopulateHeader ¶
func (*PhysicalDeviceSamplerFilterMinmaxProperties) PopulateOutData ¶
type PhysicalDeviceScalarBlockLayoutFeatures ¶
type PhysicalDeviceScalarBlockLayoutFeatures struct { // ScalarBlockLayout indicates that the implementation supports the layout of resource blocks // in shaders using scalar alignment ScalarBlockLayout bool common.NextOptions common.NextOutData }
PhysicalDeviceScalarBlockLayoutFeatures indicates support for scalar block layouts
func (PhysicalDeviceScalarBlockLayoutFeatures) PopulateCPointer ¶
func (*PhysicalDeviceScalarBlockLayoutFeatures) PopulateHeader ¶
func (*PhysicalDeviceScalarBlockLayoutFeatures) PopulateOutData ¶
type PhysicalDeviceSeparateDepthStencilLayoutsFeatures ¶
type PhysicalDeviceSeparateDepthStencilLayoutsFeatures struct { // SeparateDepthStencilLayouts indicates whether the implementation supports an // ImageMemoryBarrier for a depth/stencil Image with only one of core1_0.ImageAspectDepth or // core1_0.ImageAspectStencil, and whether ImageLayoutDepthAttachmentOptimal, // ImageLayoutDepthReadOnlyOptimal, ImageLayoutStencilAttachmentOptimal, or // ImageLayoutStencilReadOnlyOptimal can be used SeparateDepthStencilLayouts bool common.NextOptions common.NextOutData }
PhysicalDeviceSeparateDepthStencilLayoutsFeatures describes whether the implementation can do depth and stencil Image barriers separately
func (PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateCPointer ¶
func (*PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateHeader ¶
func (*PhysicalDeviceSeparateDepthStencilLayoutsFeatures) PopulateOutData ¶
type PhysicalDeviceShaderAtomicInt64Features ¶
type PhysicalDeviceShaderAtomicInt64Features struct { // ShaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed // integer atomic operations on Buffer objects ShaderBufferInt64Atomics bool // atomic operations on shared memory ShaderSharedInt64Atomics bool common.NextOptions common.NextOutData }
PhysicalDeviceShaderAtomicInt64Features describes features supported by khr_shader_atomic_int64
func (PhysicalDeviceShaderAtomicInt64Features) PopulateCPointer ¶
func (*PhysicalDeviceShaderAtomicInt64Features) PopulateHeader ¶
func (*PhysicalDeviceShaderAtomicInt64Features) PopulateOutData ¶
type PhysicalDeviceShaderFloat16Int8Features ¶
type PhysicalDeviceShaderFloat16Int8Features struct { // ShaderFloat16 indicates whether 16-bit floats (halfs) are supported in shader code ShaderFloat16 bool // ShaderInt8 indicates whether 8-bit integer (signed and unsigned) are supported in // shader code ShaderInt8 bool common.NextOptions common.NextOutData }
PhysicalDeviceShaderFloat16Int8Features describes features supported by khr_shader_float16_int8
func (PhysicalDeviceShaderFloat16Int8Features) PopulateCPointer ¶
func (*PhysicalDeviceShaderFloat16Int8Features) PopulateHeader ¶
func (*PhysicalDeviceShaderFloat16Int8Features) PopulateOutData ¶
type PhysicalDeviceShaderSubgroupExtendedTypesFeatures ¶
type PhysicalDeviceShaderSubgroupExtendedTypesFeatures struct { // ShaderSubgroupExtendedTypes specifies whether subgroup operations can use 8-bit integer, // 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types // in group operations with subgroup scope, if the implementation supports the types ShaderSubgroupExtendedTypes bool common.NextOptions common.NextOutData }
PhysicalDeviceShaderSubgroupExtendedTypesFeatures describes the extended types subgroups support feature for an implementation
func (PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateCPointer ¶
func (*PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateHeader ¶
func (*PhysicalDeviceShaderSubgroupExtendedTypesFeatures) PopulateOutData ¶
type PhysicalDeviceTimelineSemaphoreFeatures ¶
type PhysicalDeviceTimelineSemaphoreFeatures struct { // TimelineSemaphore indicates whether Semaphore objects created with a SemaphoreType // of SemaphoreTypeTimeline are supported TimelineSemaphore bool common.NextOptions common.NextOutData }
PhysicalDeviceTimelineSemaphoreFeatures describes timeline Semaphore features that can be supported by an implementation
func (PhysicalDeviceTimelineSemaphoreFeatures) PopulateCPointer ¶
func (*PhysicalDeviceTimelineSemaphoreFeatures) PopulateHeader ¶
func (*PhysicalDeviceTimelineSemaphoreFeatures) PopulateOutData ¶
type PhysicalDeviceTimelineSemaphoreProperties ¶
type PhysicalDeviceTimelineSemaphoreProperties struct { // MaxTimelineSemaphoreValueDifference indicates the maximum difference allowed by the // implementation between the current value of a timeline Semaphore and any pending signal or // wait operations MaxTimelineSemaphoreValueDifference uint64 common.NextOutData }
PhysicalDeviceTimelineSemaphoreProperties describes timeline Semaphore properties that can be supported by an implementation
func (*PhysicalDeviceTimelineSemaphoreProperties) PopulateHeader ¶
func (*PhysicalDeviceTimelineSemaphoreProperties) PopulateOutData ¶
type PhysicalDeviceUniformBufferStandardLayoutFeatures ¶
type PhysicalDeviceUniformBufferStandardLayoutFeatures struct { // UniformBufferStandardLayout indicates that the implementation supports the same layouts // for uniform Buffer objects as for storage and other kinds of Buffer objects UniformBufferStandardLayout bool common.NextOptions common.NextOutData }
PhysicalDeviceUniformBufferStandardLayoutFeatures indicates support for std430-like packing in uniform Buffer objects
func (PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateCPointer ¶
func (*PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateHeader ¶
func (*PhysicalDeviceUniformBufferStandardLayoutFeatures) PopulateOutData ¶
type PhysicalDeviceVulkan11Features ¶
type PhysicalDeviceVulkan11Features 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 // Multiview specifies whether the implementation supports multiview rendering within a // render pass. 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 // 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 // ProtectedMemory specifies whether protected memory is supported ProtectedMemory bool // SamplerYcbcrConversion specifies whether the implementation supports SamplerYcbcrConversion SamplerYcbcrConversion bool // ShaderDrawParameters specifies whether the implementation supports the SPIR-V // DrawParameters capability ShaderDrawParameters bool common.NextOptions common.NextOutData }
PhysicalDeviceVulkan11Features describes the Vulkan 1.1 features that can be supported by an implementation
func (PhysicalDeviceVulkan11Features) PopulateCPointer ¶
func (*PhysicalDeviceVulkan11Features) PopulateHeader ¶
func (*PhysicalDeviceVulkan11Features) PopulateOutData ¶
type PhysicalDeviceVulkan11Properties ¶
type PhysicalDeviceVulkan11Properties 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 // SubgroupSize is the default number of invocations in each subgroup SubgroupSize int // SubgroupSupportedStages describes the shader stages that group operations with // subgroup scope are supported in SubgroupSupportedStages core1_0.ShaderStageFlags // SubgroupSupportedOperations specifies the sets of group operations with subgroup // scope supported on this Device SubgroupSupportedOperations core1_1.SubgroupFeatureFlags // SubgroupQuadOperationsInAllStages specifies whether quad group operations are available // in all stages, or are restricted to fragment and compute stages SubgroupQuadOperationsInAllStages bool // PointClippingBehavior specifies the point clipping behavior supported by the implementation PointClippingBehavior core1_1.PointClippingBehavior // MaxMultiviewViewCount is one greater than the maximum view index that can be used in a // subpass MaxMultiviewViewCount int // MaxMultiviewInstanceIndex is the maximum valid value of instance index allowed to be // generated by a drawing command recorded within a subpass of a multiview RenderPass instance MaxMultiviewInstanceIndex int // ProtectedNoFault specifies how an implementation behaves when an application attempts to write // to unprotected memory in a protected Queue operation, read from protected memory in an // unprotected Queue operation, or perform a query in a protected Queue operation ProtectedNoFault bool // MaxPerSetDescriptors is a maximum number of descriptors (summed over all descriptor types) // in a single DescriptorSet that is guaranteed to satisfy any implementation-dependent contraints // on the size of a DescriptorSet itself MaxPerSetDescriptors int // MaxMemoryAllocationSize is the maximum size of a memory allocation that can be created, // even if there is more space available in the heap MaxMemoryAllocationSize int common.NextOutData }
PhysicalDeviceVulkan11Properties specifies PhysicalDevice properties for functionality promoted to Vulkan 1.1
func (*PhysicalDeviceVulkan11Properties) PopulateHeader ¶
func (*PhysicalDeviceVulkan11Properties) PopulateOutData ¶
type PhysicalDeviceVulkan12Features ¶
type PhysicalDeviceVulkan12Features struct { // SamplerMirrorClampToEdge indicates whether the implementation supports the // SamplerAddressModeMirrorClampToEdge sampler address mode SamplerMirrorClampToEdge bool // DrawIndirectCount indicates whether the implementation supports the // CommandBuffer.CmdDrawIndirectCount and CommandBuffer.CmdDrawIndexedIndirectCount functions DrawIndirectCount bool // StorageBuffer8BitAccess indicates whether objects in the StorageBuffer, // ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration // can have 8-bit integer members StorageBuffer8BitAccess bool // UniformAndStorageBuffer8BitAccess indicates whether objects in the Uniform storage class // with the Block decoration can have 8-bit integer members UniformAndStorageBuffer8BitAccess bool // StoragePushConstant8 indicates whether objects in the PushConstant storage class can // have 8-bit integer members StoragePushConstant8 bool // ShaderBufferInt64Atomics indicates whether shaders can perform 64-bit unsigned and signed // integer atomic operations on Buffer objects ShaderBufferInt64Atomics bool // integer atomic operations on shared memory ShaderSharedInt64Atomics bool // ShaderFloat16 indicates whether 16-bit floats (halfs) are supported in shader code ShaderFloat16 bool // ShaderInt8 indicates whether 8-bit integers (signed and unsigned) are supported in shader // code ShaderInt8 bool // DescriptorIndexing indicates whether the implementation supports the minimum set of // descriptor indexing features as described in the Feature Requirements section DescriptorIndexing bool // ShaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments // can be indexed by dynamically uniform integer expressions in shader code ShaderInputAttachmentArrayDynamicIndexing bool // ShaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderUniformTexelBufferArrayDynamicIndexing bool // ShaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderStorageTexelBufferArrayDynamicIndexing bool // ShaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform Buffer objects // can be indexed by non-uniform integer expressions in shader code ShaderUniformBufferArrayNonUniformIndexing bool // ShaderSampledImageArrayNonUniformIndexing indicates whether arrays of Sampler objects or sampled // Image objects can be indexed by non-uniform integer expressions in shader code ShaderSampledImageArrayNonUniformIndexing bool // ShaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage Buffer objects can // be indexed by non-uniform integer expressions in shader code ShaderStorageBufferArrayNonUniformIndexing bool // ShaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage Image objects can // be indexed by non-uniform integer expressions in shader code ShaderStorageImageArrayNonUniformIndexing bool // ShaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments // can be indexed by non-uniform integer expressions in shader code ShaderInputAttachmentArrayNonUniformIndexing bool // ShaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderUniformTexelBufferArrayNonUniformIndexing bool // ShaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderStorageTexelBufferArrayNonUniformIndexing bool // DescriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation // supports updating uniform Buffer descriptors after a set is bound DescriptorBindingUniformBufferUpdateAfterBind bool // DescriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports // updating sampled Image descriptors after a set is bound DescriptorBindingSampledImageUpdateAfterBind bool // DescriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports // updating storage Image descriptors after a set is bound DescriptorBindingStorageImageUpdateAfterBind bool // DescriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation supports // updating storage Buffer descriptors after a set is bound DescriptorBindingStorageBufferUpdateAfterBind bool // DescriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation // supports updating uniform texel Buffer descriptors after a set is bound DescriptorBindingUniformTexelBufferUpdateAfterBind bool // DescriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the implementation // supports updating storage texel buffer descriptors after a set is bound DescriptorBindingStorageTexelBufferUpdateAfterBind bool // DescriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports // updating descriptors while the set is in use DescriptorBindingUpdateUnusedWhilePending bool // DescriptorBindingPartiallyBound indicates whether the implementation supports statically // using a DescriptorSet binding in which some descriptors are not valid DescriptorBindingPartiallyBound bool // DescriptorBindingVariableDescriptorCount indicates whether the implementation supports // DescriptorSet with a variable-sized last binding DescriptorBindingVariableDescriptorCount bool // RuntimeDescriptorArray indicates whether the implementation supports the SPIR-V // RuntimeDescriptorArray capability RuntimeDescriptorArray bool // SamplerFilterMinmax indicates whether the implementation supports a minimum set of // required formats supporting min/max filtering as defined by the // filterMinmaxSingleComponentFormats property minimum requirements SamplerFilterMinmax bool // ScalarBlockLayout indicates that the implementation supports the layout of resource blocks // in shaders using scalar alignment ScalarBlockLayout bool // ImagelessFramebuffer indicates that the implementation supports specifying the ImageView for // attachments at RenderPass begin time via RenderPassAttachmentBeginInfo ImagelessFramebuffer bool // UniformBufferStandardLayout indicates that the implementation supports the same layouts for // uniform Buffer objects as for storage and other kinds of Buffer objects UniformBufferStandardLayout bool // ShaderSubgroupExtendedTypes is a boolean specifying whether subgroup operations can use // 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these // types in group operations with subgroup scope, if the implementation supports the types ShaderSubgroupExtendedTypes bool // SeparateDepthStencilLayouts indicates whether the implementation supports an ImageMemoryBarrier // for a depth/stencil Image with only one of core1_0.ImageAspectDepth or core1_0.ImageAspectStencil, // and whether ImageLayoutDepthAttachmentOptimal, ImageLayoutDepthReadOnlyOptimal, // ImageLayoutStencilAttachmentOptimal, ImageLayoutStencilReadOnlyOptimal can be used SeparateDepthStencilLayouts bool // HostQueryReset indicates that the implementation supports resetting queries from the host with // QueryPool.Reset HostQueryReset bool // TimelineSemaphore indicates whether Semaphore objects created with a SemaphoreType of // SemaphoreTypeTimeline are supported TimelineSemaphore bool // BufferDeviceAddress indicates that the implementation supports accessing Buffer memory in shaders // as storage Buffer objects via an address queries from Device.GetBufferDeviceAddress BufferDeviceAddress bool // BufferDeviceAddressCaptureReplay indicates that the implementation supports saving and // reusing Buffer and Device addresses, e.g. for trace capture and replay BufferDeviceAddressCaptureReplay bool // BufferDeviceAddressMultiDevice indicates that the implementation supports the // BufferDeviceAddress, RayTracingPipeline and RayQuery features for logical Device objects // created with multiple PhysicalDevice objects BufferDeviceAddressMultiDevice bool // VulkanMemoryModel indicates whether the Vulkan Memory Model is supported VulkanMemoryModel bool // VulkanMemoryModelDeviceScope indicates whether the Vulkan Memory Model can use Device // scope synchronization VulkanMemoryModelDeviceScope bool // VulkanMemoryModelAvailabilityVisibilityChains indicates whether the Vulkan Memory Model // can use availability and visibility chains with more than one element VulkanMemoryModelAvailabilityVisibilityChains bool // ShaderOutputViewportIndex indicates whether the implementation supports the // ShaderViewportIndex SPIR-V capability enabling variables decorated with the ViewportIndex // built-in to be exported from vertex or tessellation evaluation shaders ShaderOutputViewportIndex bool // ShaderOutputLayer indicates whether the implementation supports the ShaderLayer SPIR-V // capability enabling variables decorated with the Layer built-in to be exported from vertex // or tessellation evaluation shaders ShaderOutputLayer bool // SubgroupBroadcastDynamicID indicates whether the "Id" operand of OpGroupNonUniformBroadcast // can be dynamically uniform within a subgroup, and whether the "Index" operand of // OpGroupNonUniformQuadBroadcast can be dynamically uniform within the derivative group SubgroupBroadcastDynamicID bool common.NextOptions common.NextOutData }
PhysicalDeviceVulkan12Features describes the Vulkan 1.2 features that can be supported by an implementation
func (PhysicalDeviceVulkan12Features) PopulateCPointer ¶
func (*PhysicalDeviceVulkan12Features) PopulateHeader ¶
func (*PhysicalDeviceVulkan12Features) PopulateOutData ¶
type PhysicalDeviceVulkan12Properties ¶
type PhysicalDeviceVulkan12Properties struct { // DriverID is a unique identifier for the driver of the PhysicalDevice DriverID DriverID // DriverName is a string which is the name of the driver DriverName string // DriverInfo is a string with additional information about the driver DriverInfo string // ConformanceVersion is the version of the Vulkan conformance test this driver is // comformant against ConformanceVersion ConformanceVersion // DenormBehaviorIndependence indicates whether, and how, denorm behavior can be set // independently for different bit widths DenormBehaviorIndependence ShaderFloatControlsIndependence // RoundingModeIndependence indicates whether, and how, rounding modes can be set // independently for different bit widths RoundingModeIndependence ShaderFloatControlsIndependence // ShaderSignedZeroInfNanPreserveFloat16 indicates whether the sign of zero, NaN, and // +/- infinity can be preserved in 16-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat16 bool // ShaderSignedZeroInfNanPreserveFloat32 indicates whether the sign of zero, NaN, and // +/- infinity can be preserved in 32-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat32 bool // ShaderSignedZeroInfNanPreserveFloat64 indicates whether the sign of zero, NaN, and // +/- infinity can be preserved in 64-bit floating-point computations ShaderSignedZeroInfNanPreserveFloat64 bool // ShaderDenormPreserveFloat16 indicates whether denormals can be preserved in 16-bit // floating-point computations ShaderDenormPreserveFloat16 bool // ShaderDenormPreserveFloat32 indicates whether denormals can be preserved in 32-bit // floating-point computations ShaderDenormPreserveFloat32 bool // ShaderDenormPreserveFloat64 indicates whether denormals can be preserved in 64-bit // floating-point computations ShaderDenormPreserveFloat64 bool // ShaderDenormFlushToZeroFloat16 indicates whether denormals can be flushed to zero // in 16-bit floating-point computations ShaderDenormFlushToZeroFloat16 bool // ShaderDenormFlushToZeroFloat32 indicates whether denormals can be flushed to zero // in 32-bit floating-point computations ShaderDenormFlushToZeroFloat32 bool // ShaderDenormFlushToZeroFloat64 indicates whether denormals can be flushed to zero // in 64-bit floating-point computations ShaderDenormFlushToZeroFloat64 bool // ShaderRoundingModeRTEFloat16 indicates whether an implementation supports the // round-to-nearest-even rounding mode for 16-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTEFloat16 bool // ShaderRoundingModeRTEFloat32 indicates whether an implementation supports the // round-to-nearest-even rounding mode for 32-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTEFloat32 bool // ShaderRoundingModeRTEFloat64 indicates whether an implementation supports the // round-to-nearest-even rounding mode for 64-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTEFloat64 bool // ShaderRoundingModeRTZFloat16 indicates whether an implementation supports the // round-towards-zero rounding mode for 16-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTZFloat16 bool // ShaderRoundingModeRTZFloat32 indicates whether an implementation supports the // round-towards-zero rounding mode for 32-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTZFloat32 bool // ShaderRoundingModeRTZFloat64 indicates whether an implementation supports the // round-towards-zero rounding mode for 64-bit floating-point arithmetic and conversion // instructions ShaderRoundingModeRTZFloat64 bool // MaxUpdateAfterBindDescriptorsInAllPools is the maximum number of descriptors // (summed over all descriptor types) that can be created across all pools that are // created with DescriptorPoolCreateUpdateAfterBind MaxUpdateAfterBindDescriptorsInAllPools int // ShaderUniformBufferArrayNonUniformIndexingNative indicates whether uniform Buffer // descriptors natively support nonuniform indexing ShaderUniformBufferArrayNonUniformIndexingNative bool // ShaderSampledImageArrayNonUniformIndexingNative indicates whether Sampler and Image // descriptors natively support nonuniform indexing ShaderSampledImageArrayNonUniformIndexingNative bool // ShaderStorageBufferArrayNonUniformIndexingNative indicates whether storage Buffer // descriptors natively support nonuniform indexing ShaderStorageBufferArrayNonUniformIndexingNative bool // ShaderStorageImageArrayNonUniformIndexingNative indicates whether storage Image // descriptors natively support nonuniform indexing ShaderStorageImageArrayNonUniformIndexingNative bool // ShaderInputAttachmentArrayNonUniformIndexingNative indicates whether input attachment // descriptors natively support nonuniform indexing ShaderInputAttachmentArrayNonUniformIndexingNative bool // RobustBufferAccessUpdateAfterBind indicates whether RobustBufferAccess can be enabled // in a Device simultaneously with DescriptorBindingUniformBufferUpdateAfterBind, // DescriptorBindingStorageBufferUpdateAfterBind, // DescriptorBindingUniformTexelBufferUpdateAfterBind, and/or // DescriptorBindingStorageTexelBufferUpdateAfterBind RobustBufferAccessUpdateAfterBind bool // QuadDivergentImplicitLod indicates whether imlicit level of detail calculations for Image // operations have well-defined results when the Image and/or Sampler objects used for // the instructions are not uniform within a quad QuadDivergentImplicitLod bool // MaxPerStageDescriptorUpdateAfterBindSamplers is similar to MaxPerStageDescriptorSamplers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSamplers int // MaxPerStageDescriptorUpdateAfterBindUniformBuffers is similar to // MaxPerStageDescriptorUniformBuffers but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindUniformBuffers int // MaxPerStageDescriptorUpdateAfterBindStorageBuffers is similar to // MaxPerStageDescriptorStorageBuffers but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageBuffers int // MaxPerStageDescriptorUpdateAfterBindSampledImages is similar to // MaxPerStageDescriptorSampledImages but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSampledImages int // MaxPerStageDescriptorUpdateAfterBindStorageImages is similar to // MaxPerStageDescriptorStorageImages but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageImages int // MaxPerStageDescriptorUpdateAfterBindInputAttachments is similar to // MaxPerStageDescriptorInputAttachments but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindInputAttachments int // MaxPerStageUpdateAfterBindResources is similar to MaxPerStageResources but counts // descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageUpdateAfterBindResources int // MaxDescriptorSetUpdateAfterBindSamplers is similar to MaxDescriptorSetSamplers but counts // descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSamplers int // MaxDescriptorSetUpdateAfterBindUniformBuffers is similar to MaxDescriptorSetUniformBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffers int // MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic is similar to // MaxDescriptorSetUniformBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic int // MaxDescriptorSetUpdateAfterBindStorageBuffers is similar to MaxDescriptorSetStorageBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffers int // MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic is similar to // MaxDescriptorSetStorageBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic int // MaxDescriptorSetUpdateAfterBindSampledImages is similar to MaxDescriptorSetSampledImages // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSampledImages int // MaxDescriptorSetUpdateAfterBindStorageImages is similar to MaxDescriptorSetStorageImages // but counts descriptors from descriptor sets created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageImages int // MaxDescriptorSetUpdateAfterBindInputAttachments is similar to // MaxDescriptorSetInputAttachments but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindInputAttachments int // SupportedDepthResolveModes indicates the set of supported depth resolve modes SupportedDepthResolveModes ResolveModeFlags // SupportedStencilResolveModes idnicates the set of supported stencil resolve modes SupportedStencilResolveModes ResolveModeFlags // IndependentResolveNone is true if the implementation supports setting the depth and // stencil resolve modes to different values when one of those modes is ResolveModeNone IndependentResolveNone bool // IndependentResolve is true if the implementation supports all combinations of the supported // depth and stencil resolve modes, including setting either depth or stencil resolve mode // to ResolveModeNone IndependentResolve bool // FilterMinmaxSingleComponentFormats indicates whether a minimum set of required formats // support min/max filtering FilterMinmaxSingleComponentFormats bool // FilterMinmaxImageComponentMapping indicates whether the implementation supports non-identity // component mapping of the Image when doing min/max filtering FilterMinmaxImageComponentMapping bool // MaxTimelineSemaphoreValueDifference indicates the maximum difference allowed by the // implementation between the current value of a timeline Semaphore and any pending // signal or wait operations MaxTimelineSemaphoreValueDifference uint64 // FramebufferIntegerColorSampleCounts indicates the color sample counts that are supported // for all Framebuffer color attachments with integer formats FramebufferIntegerColorSampleCounts core1_0.SampleCountFlags common.NextOutData }
PhysicalDeviceVulkan12Properties specifies PhysicalDevice properties for functionality promoted to Vulkan 1.2
func (*PhysicalDeviceVulkan12Properties) PopulateHeader ¶
func (*PhysicalDeviceVulkan12Properties) PopulateOutData ¶
type PhysicalDeviceVulkanMemoryModelFeatures ¶
type PhysicalDeviceVulkanMemoryModelFeatures struct { // VulkanMemoryModel indicates whether the Vulkan Memory Model is supported VulkanMemoryModel bool // VulkanMemoryModelDeviceScope indicates whether the Vulkan Memory Model can use Device // scope synchronization VulkanMemoryModelDeviceScope bool // VulkanMemoryModelAvailabilityVisibilityChains indicates whether the Vulkan Memory Model // can use available and visibility chains with more than one element VulkanMemoryModelAvailabilityVisibilityChains bool common.NextOptions common.NextOutData }
PhysicalDeviceVulkanMemoryModelFeatures describes features supported by the memory model
func (PhysicalDeviceVulkanMemoryModelFeatures) PopulateCPointer ¶
func (*PhysicalDeviceVulkanMemoryModelFeatures) PopulateHeader ¶
func (*PhysicalDeviceVulkanMemoryModelFeatures) PopulateOutData ¶
type Pipeline ¶
Pipeline represents compute, ray tracing, and graphics pipelines
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.Pipeline. Otherwise, it will return nil. This method will always return a core1_2.VulkanPipeline, even if it is provided a VulkanPipeline from a higher core version. Two Vulkan 1.2 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.2, it will return a core1_2.Pipeline. Otherwise, it will left out of the returned slice. This method will always return a core1_2.VulkanPipeline, even if it is provided a VulkanPipeline from a higher core version. Two Vulkan 1.2 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_1.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.2.
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.2, it will return a core1_2.PipelineCache. Otherwise, it will return nil. This method will always return a core1_2.VulkanPipelineCache, even if it is provided a VulkanPipelineCache from a higher core version. Two Vulkan 1.2 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_1.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.2.
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 cache that supports at least core 1.2, it will return a core1_2.PipelineLayout. Otherwise, it will return nil. This method will always return a core1_2.VulkanPipelineLayout, even if it is provided a VulkanPipelineLayout from a higher core version. Two Vulkan 1.2 compatible PipelineLayout objects with the same PipelineLayout.Handle will return the same interface value when passed to this method.
type QueryPool ¶
type QueryPool interface { core1_1.QueryPool // Reset resets queries in this QueryPool // // firstQuery - The initial query index to reset // // queryCount - The number of queries to reset // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkResetQueryPool.html Reset(firstQuery, queryCount int) }
QueryPool is a collection of a specific number of queries of a particular type.
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.QueryPool. Otherwise, it will return nil. This method will always return a core1_2.VulkanQueryPool, even if it is provided a VulkanQueryPool from a higher core version. Two Vulkan 1.2 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.2.
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.2, it will return a core1_2.Queue. Otherwise, it will return nil. This method will always return a core1_2.VulkanQueue, even if it is provided a VulkanQueue from a higher core version. Two Vulkan 1.2 compatible Queue objects with the same Queue.Handle will return the same interface value when passed to this method.
type RenderPass ¶
type RenderPass interface { core1_1.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.2.
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.2, it will return a core1_2.RenderPass. Otherwise, it will return nil. This method will always return a core1_2.VulkanRenderPass, even if it is provided a VulkanRenderPass from a higher core version. Two Vulkan 1.2 compatible RenderPass objects with the same RenderPass.Handle will return the same interface value when passed to this method.
type RenderPassAttachmentBeginInfo ¶
type RenderPassAttachmentBeginInfo struct { // Attachments is a slice of ImageView objects, each of which will be used as the corresponding // attachment in the RenderPass instance Attachments []core1_0.ImageView common.NextOptions }
RenderPassAttachmentBeginInfo specifies Image objects to be used as Framebuffer attachments
type RenderPassCreateInfo2 ¶
type RenderPassCreateInfo2 struct { // Flags is reserved for future use Flags core1_0.RenderPassCreateFlags // Attachments is a slice of AttachmentDescription2 structures describing the attachments // used by the RenderPass Attachments []AttachmentDescription2 // Subpasses is a slice of SubpassDescription2 structures describing each subpass Subpasses []SubpassDescription2 // Dependencies is a slice of SubpassDependency2 structures describing dependencies // between pairs of subpasses Dependencies []SubpassDependency2 // more efficient to render concurrently CorrelatedViewMasks []uint32 common.NextOptions }
RenderPassCreateInfo2 specifies parameters of a newly-created RenderPass
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkRenderPassCreateInfo2.html
type ResolveModeFlags ¶
type ResolveModeFlags int32
ResolveModeFlags indicates supported depth and stencil resolve modes
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResolveModeFlagBits.html
func (ResolveModeFlags) Register ¶
func (f ResolveModeFlags) Register(str string)
func (ResolveModeFlags) String ¶
func (f ResolveModeFlags) String() string
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.2.
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.2, it will return a core1_2.Sampler. Otherwise, it will return nil. This method will always return a core1_2.VulkanSampler, even if it is provided a VulkanSampler from a higher core version. Two Vulkan 1.2 compatible Sampler objects with the same Sampler.Handle will return the same interface value when passed to this method.
type SamplerReductionMode ¶
type SamplerReductionMode int32
SamplerReductionMode specifies reduction mode for texture filtering
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerReductionMode.html
const ( // FormatFeatureSampledImageFilterMinmax specifies the Image can be used as a sampled Image // with a min or max SamplerReductionMode // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkFormatFeatureFlagBits.html FormatFeatureSampledImageFilterMinmax core1_0.FormatFeatureFlags = C.VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT // SamplerReductionModeMax specifies that texel values are combined by taking // the component-wise maximum of values in the footprint with non-zero weights // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerReductionMode.html SamplerReductionModeMax SamplerReductionMode = C.VK_SAMPLER_REDUCTION_MODE_MAX // SamplerReductionModeMin specifies that texel values are combined by taking the // component-wise minimum of values in the footprint with non-zero weights // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerReductionMode.html SamplerReductionModeMin SamplerReductionMode = C.VK_SAMPLER_REDUCTION_MODE_MIN // SamplerReductionModeWeightedAverage specifies that texel values are combined by // computing a weighted average of values in the footprint // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSamplerReductionMode.html SamplerReductionModeWeightedAverage SamplerReductionMode = C.VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE )
func (SamplerReductionMode) Register ¶
func (e SamplerReductionMode) Register(str string)
func (SamplerReductionMode) String ¶
func (e SamplerReductionMode) String() string
type SamplerReductionModeCreateInfo ¶
type SamplerReductionModeCreateInfo struct { // ReductionMode controls how texture filtering combines texel values ReductionMode SamplerReductionMode common.NextOptions }
SamplerReductionModeCreateInfo specifies a Sampler reduction mode
type SamplerYcbcrConversion ¶
type SamplerYcbcrConversion interface { core1_1.SamplerYcbcrConversion }
SamplerYcbcrConversion is an opaque representation of a device-specific sampler YCbCr conversion description.
This interface includes all commands included in Vulkan 1.2.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSamplerYcbcrConversion.html
func PromoteSamplerYcbcrConversion ¶
func PromoteSamplerYcbcrConversion(ycbcr core1_1.SamplerYcbcrConversion) SamplerYcbcrConversion
PromoteSamplerYcbcrConversion accepts a SamplerYcbcrConversion object from any core version. If provided a sampler ycbcr conversion that supports at least core 1.2, it will return a core1_2.SamplerYcbcrConversion. Otherwise, it will return nil. This method will always return a core1_2.VulkanSamplerYcbcrConversion, even if it is provided a VulkanSamplerYcbcrConversion from a higher core version. Two Vulkan 1.2 compatible SamplerYcbcrConversion objects with the same SamplerYcbcrConversion.Handle will return the same interface value when passed to this method.
type Semaphore ¶
type Semaphore interface { core1_1.Semaphore // CounterValue queries the current state of this timeline Semaphore // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetSemaphoreCounterValue.html CounterValue() (uint64, common.VkResult, error) }
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.2.
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.2, it will return a core1_2.Semaphore. Otherwise, it will return nil. This method will always return a core1_2.VulkanSemaphore, even if it is provided a VulkanSemaphore from a higher core version. Two Vulkan 1.2 compatible Semaphore objects with the same Semaphore.Handle will return the same interface value when passed to this method.
type SemaphoreSignalInfo ¶
type SemaphoreSignalInfo struct { // Semaphore is the Semaphore object to signal Semaphore core1_0.Semaphore // Value is the value to signal Value uint64 common.NextOptions }
SemaphoreSignalInfo contains information about a Semaphore signal operation
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreSignalInfo.html
type SemaphoreType ¶
type SemaphoreType int32
SemaphoreType specifies the type of a Semaphore object
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreType.html
func (SemaphoreType) Register ¶
func (e SemaphoreType) Register(str string)
func (SemaphoreType) String ¶
func (e SemaphoreType) String() string
type SemaphoreTypeCreateInfo ¶
type SemaphoreTypeCreateInfo struct { // SemaphoreType specifies the type of the Semaphore SemaphoreType SemaphoreType // InitialValue is the initial payload value if SemaphoreType is SemaphoreTypeTimeline InitialValue uint64 common.NextOptions }
SemaphoreTypeCreateInfo specifies the type of a newly-created Semaphore
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreTypeCreateInfo.html
type SemaphoreWaitFlags ¶
type SemaphoreWaitFlags int32
SemaphoreWaitFlags specifies additional parameters of a Semaphore wait operation
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreWaitFlagBits.html
func (SemaphoreWaitFlags) Register ¶
func (f SemaphoreWaitFlags) Register(str string)
func (SemaphoreWaitFlags) String ¶
func (f SemaphoreWaitFlags) String() string
type SemaphoreWaitInfo ¶
type SemaphoreWaitInfo struct { // Flags specifies additional parameters for the Semaphore wait operation Flags SemaphoreWaitFlags // Semaphores is a slice of Semaphore objects to wait on Semaphores []core1_0.Semaphore // Values is a slice of timeline Semaphore values Values []uint64 common.NextOptions }
SemaphoreWaitInfo contains information about the Semaphore wait condition
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSemaphoreWaitInfo.html
type ShaderFloatControlsIndependence ¶
type ShaderFloatControlsIndependence int32
ShaderFloatControlsIndependence specifies whether, and how, shader float controls can be set separately
func (ShaderFloatControlsIndependence) Register ¶
func (e ShaderFloatControlsIndependence) Register(str string)
func (ShaderFloatControlsIndependence) String ¶
func (e ShaderFloatControlsIndependence) String() string
type ShaderModule ¶
type ShaderModule interface { core1_1.ShaderModule }
ShaderModule objects contain shader code and one or more entry points.
This interface includes all commands included in Vulkan 1.2.
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.2, it will return a core1_2.ShaderModule. Otherwise, it will return nil. This method will always return a core1_2.VulkanShaderModule, even if it is provided a VulkanShaderModule from a higher core version. Two Vulkan 1.2 compatible ShaderModule objects with the same ShaderModule.Handle will return the same interface value when passed to this method.
type SubpassBeginInfo ¶
type SubpassBeginInfo struct { // Contents specifies how the commands in the next subpass will be provided Contents core1_0.SubpassContents common.NextOptions }
SubpassBeginInfo specifies subpass begin information
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubpassBeginInfoKHR.html
type SubpassDependency2 ¶
type SubpassDependency2 struct { // SrcSubpass is the subpass index of the first subpass in the dependency, or // core1_0.SubpassExternal SrcSubpass int // DstSubpass is the subpass index of the second subpass in the dependency, or // core1_0.SubpassExternal DstSubpass int // SrcStageMask specifies the source stage mask SrcStageMask core1_0.PipelineStageFlags // DstStageMask specifies the destination stage mask DstStageMask core1_0.PipelineStageFlags // SrcAccessMask specifies a source access mask SrcAccessMask core1_0.AccessFlags // DstAccessMask specifies a source access mask DstAccessMask core1_0.AccessFlags // DependencyFlags is a set of dependency flags DependencyFlags core1_0.DependencyFlags // ViewOffset controls which views in the source subpass the views in the destination // subpass depend on ViewOffset int common.NextOptions }
SubpassDependency2 specifies a subpass dependency
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubpassDependency2.html
type SubpassDescription2 ¶
type SubpassDescription2 struct { // Flags specifies usage of the subpass Flags core1_0.SubpassDescriptionFlags // PipelineBindPoint specifies the Pipeline type supported for this subpass PipelineBindPoint core1_0.PipelineBindPoint // ViewMask describes which views rendering is broadcast to in this subpass, when // multiview is enabled ViewMask uint32 // InputAttachments is a slice of AttachmentReference2 structures defining the input // attachments for this subpass and their layouts InputAttachments []AttachmentReference2 // ColorAttachments is a slice of AttachmentReference2 structures defining the color // attachments for this subpass and their layouts ColorAttachments []AttachmentReference2 // ResolveAttachments is a slice of AttachmentReference2 structures defining the resolve // attachments for this subpass and their layouts ResolveAttachments []AttachmentReference2 // DepthStencilAttachment specifies the depth/stencil attachment for this subpass and // its layout DepthStencilAttachment *AttachmentReference2 // PreserveAttachments is a slice of RenderPass attachment indices identifying attachments // that are not used by this subpass, but whose contents must be preserved throughout the // subpass PreserveAttachments []int common.NextOptions }
SubpassDescription2 specifies a subpass description
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubpassDescription2.html
type SubpassDescriptionDepthStencilResolve ¶
type SubpassDescriptionDepthStencilResolve struct { // DepthResolveMode describes the depth resolve mode DepthResolveMode ResolveModeFlags // StencilResolveMode describes the stencil resolve mode StencilResolveMode ResolveModeFlags // DepthStencilResolveAttachment defines the depth/stencil resolve attachment // for this subpass and its layout DepthStencilResolveAttachment *AttachmentReference2 common.NextOptions }
SubpassDescriptionDepthStencilResolve specifies depth/stencil resolve operations for a subpass
type SubpassEndInfo ¶
type SubpassEndInfo struct {
common.NextOptions
}
SubpassEndInfo specifies subpass end information
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubpassEndInfo.html
type TimelineSemaphoreSubmitInfo ¶
type TimelineSemaphoreSubmitInfo struct { // WaitSemaphoreValues is a slice of values for the corresponding Semaphore objects in // SubmitInfo.WaitSemaphores to wait for WaitSemaphoreValues []uint64 // SignalSemaphoreValues is a slice of values for the corresponding Semaphore objects in // SubmitInfo.SignalSemaphores to set when signaled SignalSemaphoreValues []uint64 common.NextOptions }
TimelineSemaphoreSubmitInfo specifies signal and wait values for timeline Semaphore objects
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_1.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_1.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) CmdBeginRenderPass2 ¶
func (c *VulkanCommandBuffer) CmdBeginRenderPass2(renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error
func (*VulkanCommandBuffer) CmdDrawIndexedIndirectCount ¶
func (*VulkanCommandBuffer) CmdDrawIndirectCount ¶
func (*VulkanCommandBuffer) CmdEndRenderPass2 ¶
func (c *VulkanCommandBuffer) CmdEndRenderPass2(subpassEnd SubpassEndInfo) error
func (*VulkanCommandBuffer) CmdNextSubpass2 ¶
func (c *VulkanCommandBuffer) CmdNextSubpass2(subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error
type VulkanCommandPool ¶
type VulkanCommandPool struct {
core1_1.CommandPool
}
VulkanCommandPool is an implementation of the CommandPool interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanDescriptorPool ¶
type VulkanDescriptorPool struct {
core1_1.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_1.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_1.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 {
core1_1.DescriptorUpdateTemplate
}
VulkanDescriptorUpdateTemplate is an implementation of the DescriptorUpdateTemplate interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanDevice ¶
type VulkanDevice struct { core1_1.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) CreateRenderPass2 ¶
func (d *VulkanDevice) CreateRenderPass2(allocator *driver.AllocationCallbacks, options RenderPassCreateInfo2) (core1_0.RenderPass, common.VkResult, error)
func (*VulkanDevice) GetBufferDeviceAddress ¶
func (d *VulkanDevice) GetBufferDeviceAddress(o BufferDeviceAddressInfo) (uint64, error)
func (*VulkanDevice) GetBufferOpaqueCaptureAddress ¶
func (d *VulkanDevice) GetBufferOpaqueCaptureAddress(o BufferDeviceAddressInfo) (uint64, error)
func (*VulkanDevice) GetDeviceMemoryOpaqueCaptureAddress ¶
func (d *VulkanDevice) GetDeviceMemoryOpaqueCaptureAddress(o DeviceMemoryOpaqueCaptureAddressInfo) (uint64, error)
func (*VulkanDevice) SignalSemaphore ¶
func (d *VulkanDevice) SignalSemaphore(o SemaphoreSignalInfo) (common.VkResult, error)
func (*VulkanDevice) WaitSemaphores ¶
func (d *VulkanDevice) WaitSemaphores(timeout time.Duration, o SemaphoreWaitInfo) (common.VkResult, error)
type VulkanDeviceMemory ¶
type VulkanDeviceMemory struct {
core1_1.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_1.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 ¶
VulkanInstance is an implementation of the Instance interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanInstanceScopedPhysicalDevice ¶
type VulkanInstanceScopedPhysicalDevice struct {
core1_1.InstanceScopedPhysicalDevice
}
VulkanInstanceScopedPhysicalDevice is an implementation of the InstanceScopedPhysicalDevice interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanPhysicalDevice ¶
type VulkanPhysicalDevice struct { core1_1.PhysicalDevice InstanceScoped1_2 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_2 ¶
func (p *VulkanPhysicalDevice) InstanceScopedPhysicalDevice1_2() 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_1.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_1.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 ¶
type VulkanQueryPool struct { core1_1.QueryPool DeviceDriver driver.Driver Device driver.VkDevice QueryPoolHandle driver.VkQueryPool }
VulkanQueryPool is an implementation of the QueryPool interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanQueryPool) Reset ¶
func (q *VulkanQueryPool) Reset(firstQuery, queryCount int)
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_1.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 {
core1_1.SamplerYcbcrConversion
}
VulkanSamplerYcbcrConversion is an implementation of the SamplerYcbcrConversion interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
type VulkanSemaphore ¶
type VulkanSemaphore struct { core1_1.Semaphore DeviceDriver driver.Driver Device driver.VkDevice SemaphoreHandle driver.VkSemaphore }
VulkanSemaphore is an implementation of the Semaphore interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanSemaphore) CounterValue ¶
func (s *VulkanSemaphore) CounterValue() (uint64, common.VkResult, error)
type VulkanShaderModule ¶
type VulkanShaderModule struct {
core1_1.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_view.go
- command_buffer.go
- command_pool.go
- descriptor_pool.go
- descriptor_pool_structs.go
- descriptor_set.go
- descriptor_set_layout.go
- descriptor_set_structs.go
- descriptor_template.go
- device.go
- device_address.go
- device_memory.go
- event.go
- features.go
- fence.go
- framebuffer.go
- framebuffer_structs.go
- iface.go
- image.go
- image_structs.go
- image_view.go
- instance.go
- physical_device.go
- physical_device_structs.go
- pipeline.go
- pipeline_cache.go
- pipeline_layout.go
- query_pool.go
- queue.go
- render_pass.go
- render_pass_structs.go
- sampler.go
- sampler_structs.go
- semaphore.go
- semaphore_structs.go
- shader_module.go
- ycbcr.go