Documentation
¶
Index ¶
- Constants
- type AttachmentDescription2
- type AttachmentDescriptionStencilLayout
- type AttachmentReference2
- type AttachmentReferenceStencilLayout
- type BufferDeviceAddressInfo
- type BufferOpaqueCaptureAddressCreateInfo
- type ConformanceVersion
- type CoreDeviceDriver
- type CoreInstanceDriver
- type DescriptorBindingFlags
- 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 DeviceDriver
- type DeviceMemoryOpaqueCaptureAddressInfo
- type DriverID
- type FramebufferAttachmentImageInfo
- type FramebufferAttachmentsCreateInfo
- type ImageFormatListCreateInfo
- type ImageStencilUsageCreateInfo
- type MemoryOpaqueCaptureAddressAllocateInfo
- 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 RenderPassAttachmentBeginInfo
- type RenderPassCreateInfo2
- type ResolveModeFlags
- type SamplerReductionMode
- type SamplerReductionModeCreateInfo
- type SemaphoreSignalInfo
- type SemaphoreType
- type SemaphoreTypeCreateInfo
- type SemaphoreWaitFlags
- type SemaphoreWaitInfo
- type ShaderFloatControlsIndependence
- type SubpassBeginInfo
- type SubpassDependency2
- type SubpassDescription2
- type SubpassDescriptionDepthStencilResolve
- type SubpassEndInfo
- type TimelineSemaphoreSubmitInfo
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 loader 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 loader 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 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 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 CoreDeviceDriver ¶
type CoreDeviceDriver interface {
InstanceDriver() core1_0.CoreInstanceDriver
DeviceDriver
}
type CoreInstanceDriver ¶
type CoreInstanceDriver interface {
core1_1.CoreInstanceDriver
}
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 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 DeviceDriver ¶
type DeviceDriver interface {
core1_1.DeviceDriver
// CmdBeginRenderPass2 begins a new RenderPass
//
// commandBuffer - the CommandBuffer to record to
//
// 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(commandBuffer core1_0.CommandBuffer, renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error
// CmdEndRenderPass2 ends the current RenderPass
//
// commandBuffer - the CommandBuffer to record to
//
// 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(commandBuffer core1_0.CommandBuffer, subpassEnd SubpassEndInfo) error
// CmdNextSubpass2 transitions to the next subpass of a RenderPass
//
// commandBuffer - the CommandBuffer to record to
//
// 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(commandBuffer core1_0.CommandBuffer, subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error
// CmdDrawIndexedIndirectCount draws with indirect parameters, indexed vertices, and draw count
//
// commandBuffer - the CommandBuffer to record to
//
// 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(commandBuffer core1_0.CommandBuffer, buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, countBufferOffset uint64, maxDrawCount, stride int)
// CmdDrawIndirectCount draws primitives with indirect parameters and draw count
//
// commandBuffer - the CommandBuffer to record to
//
// 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(commandBuffer core1_0.CommandBuffer, buffer core1_0.Buffer, offset uint64, countBuffer core1_0.Buffer, countBufferOffset uint64, maxDrawCount, stride int)
// CreateRenderPass2 creates a new RenderPass object
//
// device - The Device used to create the RenderPass
//
// 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 *loader.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)
// ResetQueryPool resets queries in this QueryPool
//
// queryPool - The QueryPool to reset
//
// 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
ResetQueryPool(queryPool core1_0.QueryPool, firstQuery, queryCount int)
// GetSemaphoreCounterValue queries the current state of a timeline Semaphore
//
// semaphore - The timeline Semaphore to query
//
// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetSemaphoreCounterValue.html
GetSemaphoreCounterValue(semaphore core1_0.Semaphore) (uint64, common.VkResult, error)
}
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 loader id's
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDriverId.html
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 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 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 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 loader of the PhysicalDevice
DriverID DriverID
// DriverName is a string which is the name of the loader
DriverName string
// DriverInfo is a string with additional information about the loader
DriverInfo string
// ConformanceVersion is the version of the Vulkan conformance test thsi loader is conformant
// against
ConformanceVersion ConformanceVersion
common.NextOutData
}
PhysicalDeviceDriverProperties contains loader 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 loader build in use by
// the Device
DriverUUID uuid.UUID
// DeviceLUID represents a locally-unique identifier for the Device
DeviceLUID uint64
// DeviceNodeMask identifies the node within a linked Device adapter corresponding to the
// Device
DeviceNodeMask uint32
// DeviceLUIDValid is true if DeviceLUID contains a valid LUID and DeviceNodeMask contains
// a valid node mask
DeviceLUIDValid bool
// 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 loader of the PhysicalDevice
DriverID DriverID
// DriverName is a string which is the name of the loader
DriverName string
// DriverInfo is a string with additional information about the loader
DriverInfo string
// ConformanceVersion is the version of the Vulkan conformance test this loader 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 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 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 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 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