vulkan

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2020 License: MIT Imports: 8 Imported by: 1

Documentation

Index

Constants

View Source
const (
	StructureTypePhysicalDeviceVariablePointerFeatures              = StructureTypePhysicalDeviceVariablePointersFeatures
	StructureTypePhysicalDeviceShaderDrawParameterFeatures          = StructureTypePhysicalDeviceShaderDrawParametersFeatures
	StructureTypeDebugReportCreateInfoEXT                           = StructureTypeDebugReportCallbackCreateInfoEXT
	StructureTypeRenderPassMultiviewCreateInfoKHR                   = StructureTypeRenderPassMultiviewCreateInfo
	StructureTypePhysicalDeviceMultiviewFeaturesKHR                 = StructureTypePhysicalDeviceMultiviewFeatures
	StructureTypePhysicalDeviceMultiviewPropertiesKHR               = StructureTypePhysicalDeviceMultiviewProperties
	StructureTypePhysicalDeviceFeatures2KHR                         = StructureTypePhysicalDeviceFeatures2
	StructureTypePhysicalDeviceProperties2KHR                       = StructureTypePhysicalDeviceProperties2
	StructureTypeFormatProperties2KHR                               = StructureTypeFormatProperties2
	StructureTypeImageFormatProperties2KHR                          = StructureTypeImageFormatProperties2
	StructureTypePhysicalDeviceImageFormatInfo2KHR                  = StructureTypePhysicalDeviceImageFormatInfo2
	StructureTypeQueueFamilyProperties2KHR                          = StructureTypeQueueFamilyProperties2
	StructureTypePhysicalDeviceMemoryProperties2KHR                 = StructureTypePhysicalDeviceMemoryProperties2
	StructureTypeSparseImageFormatProperties2KHR                    = StructureTypeSparseImageFormatProperties2
	StructureTypePhysicalDeviceSparseImageFormatInfo2KHR            = StructureTypePhysicalDeviceSparseImageFormatInfo2
	StructureTypeMemoryAllocateFlagsInfoKHR                         = StructureTypeMemoryAllocateFlagsInfo
	StructureTypeDeviceGroupRenderPassBeginInfoKHR                  = StructureTypeDeviceGroupRenderPassBeginInfo
	StructureTypeDeviceGroupCommandBufferBeginInfoKHR               = StructureTypeDeviceGroupCommandBufferBeginInfo
	StructureTypeDeviceGroupSubmitInfoKHR                           = StructureTypeDeviceGroupSubmitInfo
	StructureTypeDeviceGroupBindSparseInfoKHR                       = StructureTypeDeviceGroupBindSparseInfo
	StructureTypeBindBufferMemoryDeviceGroupInfoKHR                 = StructureTypeBindBufferMemoryDeviceGroupInfo
	StructureTypeBindImageMemoryDeviceGroupInfoKHR                  = StructureTypeBindImageMemoryDeviceGroupInfo
	StructureTypePhysicalDeviceGroupPropertiesKHR                   = StructureTypePhysicalDeviceGroupProperties
	StructureTypeDeviceGroupDeviceCreateInfoKHR                     = StructureTypeDeviceGroupDeviceCreateInfo
	StructureTypePhysicalDeviceExternalImageFormatInfoKHR           = StructureTypePhysicalDeviceExternalImageFormatInfo
	StructureTypeExternalImageFormatPropertiesKHR                   = StructureTypeExternalImageFormatProperties
	StructureTypePhysicalDeviceExternalBufferInfoKHR                = StructureTypePhysicalDeviceExternalBufferInfo
	StructureTypeExternalBufferPropertiesKHR                        = StructureTypeExternalBufferProperties
	StructureTypePhysicalDeviceIDPropertiesKHR                      = StructureTypePhysicalDeviceIDProperties
	StructureTypeExternalMemoryBufferCreateInfoKHR                  = StructureTypeExternalMemoryBufferCreateInfo
	StructureTypeExternalMemoryImageCreateInfoKHR                   = StructureTypeExternalMemoryImageCreateInfo
	StructureTypeExportMemoryAllocateInfoKHR                        = StructureTypeExportMemoryAllocateInfo
	StructureTypePhysicalDeviceExternalSemaphoreInfoKHR             = StructureTypePhysicalDeviceExternalSemaphoreInfo
	StructureTypeExternalSemaphorePropertiesKHR                     = StructureTypeExternalSemaphoreProperties
	StructureTypeExportSemaphoreCreateInfoKHR                       = StructureTypeExportSemaphoreCreateInfo
	StructureTypePhysicalDeviceFloat16Int8FeaturesKHR               = StructureTypePhysicalDeviceShaderFloat16Int8FeaturesEXT
	StructureTypePhysicalDevice16bitStorageFeaturesKHR              = StructureTypePhysicalDevice16BitStorageFeatures
	StructureTypeDescriptorUpdateTemplateCreateInfoKHR              = StructureTypeDescriptorUpdateTemplateCreateInfo
	StructureTypePhysicalDeviceExternalFenceInfoKHR                 = StructureTypePhysicalDeviceExternalFenceInfo
	StructureTypeExternalFencePropertiesKHR                         = StructureTypeExternalFenceProperties
	StructureTypeExportFenceCreateInfoKHR                           = StructureTypeExportFenceCreateInfo
	StructureTypePhysicalDevicePointClippingPropertiesKHR           = StructureTypePhysicalDevicePointClippingProperties
	StructureTypeRenderPassInputAttachmentAspectCreateInfoKHR       = StructureTypeRenderPassInputAttachmentAspectCreateInfo
	StructureTypeImageViewUsageCreateInfoKHR                        = StructureTypeImageViewUsageCreateInfo
	StructureTypePipelineTessellationDomainOriginStateCreateInfoKHR = StructureTypePipelineTessellationDomainOriginStateCreateInfo
	StructureTypePhysicalDeviceVariablePointerFeaturesKHR           = StructureTypePhysicalDeviceVariablePointerFeatures
	StructureTypePhysicalDeviceVariablePointersFeaturesKHR          = StructureTypePhysicalDeviceVariablePointerFeatures
	StructureTypeMemoryDedicatedRequirementsKHR                     = StructureTypeMemoryDedicatedRequirements
	StructureTypeMemoryDedicatedAllocateInfoKHR                     = StructureTypeMemoryDedicatedAllocateInfo
	StructureTypeBufferMemoryRequirementsInfo2KHR                   = StructureTypeBufferMemoryRequirementsInfo2
	StructureTypeImageMemoryRequirementsInfo2KHR                    = StructureTypeImageMemoryRequirementsInfo2
	StructureTypeImageSparseMemoryRequirementsInfo2KHR              = StructureTypeImageSparseMemoryRequirementsInfo2
	StructureTypeMemoryRequirements2KHR                             = StructureTypeMemoryRequirements2
	StructureTypeSparseImageMemoryRequirements2KHR                  = StructureTypeSparseImageMemoryRequirements2
	StructureTypeSamplerYCbCrConversionCreateInfoKHR                = StructureTypeSamplerYCbCrConversionCreateInfo
	StructureTypeSamplerYCbCrConversionInfoKHR                      = StructureTypeSamplerYCbCrConversionInfo
	StructureTypeBindImagePlaneMemoryInfoKHR                        = StructureTypeBindImagePlaneMemoryInfo
	StructureTypeImagePlaneMemoryRequirementsInfoKHR                = StructureTypeImagePlaneMemoryRequirementsInfo
	StructureTypePhysicalDeviceSamplerYCbCrConversionFeaturesKHR    = StructureTypePhysicalDeviceSamplerYCbCrConversionFeatures
	StructureTypeSamplerYCbCrConversionImageFormatPropertiesKHR     = StructureTypeSamplerYCbCrConversionImageFormatProperties
	StructureTypeBindBufferMemoryInfoKHR                            = StructureTypeBindBufferMemoryInfo
	StructureTypeBindImageMemoryInfoKHR                             = StructureTypeBindImageMemoryInfo
	StructureTypePhysicalDeviceMaintenance3PropertiesKHR            = StructureTypePhysicalDeviceMaintenance3Properties
	StructureTypeDescriptorSetLayoutSupportKHR                      = StructureTypeDescriptorSetLayoutSupport
	StructureTypePhysicalDeviceBufferAddressFeaturesEXT             = StructureTypePhysicalDeviceBufferDeviceAddressFeaturesEXT
)
View Source
const (
	NullHandle                = 0
	LodClampNone              = 1000.0
	RemainingMipLevels        = ^uint32(0)
	RemainingArrayLayers      = ^uint32(0)
	WholeSize                 = ^DeviceSize(0)
	AttachmentUnused          = ^uint32(0)
	True                      = uint32(1)
	False                     = uint32(0)
	QueueFamilyIgnored        = ^uint32(0)
	SubpassExternal           = ^uint32(0)
	MaxPhysicalDeviceNameSize = 256
	UUIDSize                  = 16
	MaxMemoryTypes            = 32
	MaxMemoryHeaps            = 16
	MaxExtensionNameSize      = 256
	MaxDescriptionSize        = 256
)
View Source
const (
	MaxDeviceGroupSize  = 32
	LUIDSize            = 8
	QueueFamilyExternal = ^uint32(0) - 1
)

1.1

View Source
const (
	ErrorOutOfPoolMemoryKHR       = ErrorOutOfPoolMemory
	ErrorInvalidExternalHandleKHR = ErrorInvalidExternalHandle
)
View Source
const SurfaceExtension = "VK_KHR_xlib_surface"

Variables

This section is empty.

Functions

func BeginCommandBuffer

func BeginCommandBuffer(commandBuffer CommandBuffer, beginInfo CommandBufferBeginInfo) error

func BindBufferMemory

func BindBufferMemory(device Device, buffer Buffer, memory DeviceMemory, offset DeviceSize) error

func BindImageMemory

func BindImageMemory(device Device, image Image, memory DeviceMemory, memoryOffset DeviceSize) error

func CmdBeginRenderPass

func CmdBeginRenderPass(commandBuffer CommandBuffer, beginInfo RenderPassBeginInfo, contents SubpassContents)

func CmdBindDescriptorSets

func CmdBindDescriptorSets(commandBuffer CommandBuffer, pipelineBindPoint PipelineBindPoint, layout PipelineLayout, firstSet uint32, descriptorSets []DescriptorSet, dynamicOffsets []uint32)

func CmdBindIndexBuffer

func CmdBindIndexBuffer(commandBuffer CommandBuffer, buffer Buffer, offset DeviceSize, indexType uint32)

func CmdBindPipeline

func CmdBindPipeline(commandBuffer CommandBuffer, pipelineBindPoint PipelineBindPoint, pipeline Pipeline)

func CmdBindVertexBuffers

func CmdBindVertexBuffers(commandBuffer CommandBuffer, firstBinding uint32, buffers []Buffer, offsets []DeviceSize)

func CmdClearAttachments

func CmdClearAttachments(commandBuffer CommandBuffer, clearAttachments []ClearAttachment, rects []ClearRect)

func CmdCopyBufferToImage

func CmdCopyBufferToImage(commandBuffer CommandBuffer, srcBuffer Buffer, dstImage Image, dstImageLayout ImageLayout, regions []BufferImageCopy)

todo

func CmdCopyImageToBuffer

func CmdCopyImageToBuffer(commandBuffer CommandBuffer, srcImage Image, srcImageLayout ImageLayout, dstBuffer Buffer, regions []BufferImageCopy)

todo

func CmdDispatch

func CmdDispatch(commandBuffer CommandBuffer, groupCountX, groupCountY, groupCountZ uint32)

func CmdDispatchBase

func CmdDispatchBase(commandBuffer CommandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ uint32)

func CmdDispatchIndirect

func CmdDispatchIndirect(commandBuffer CommandBuffer, buffer Buffer, offset DeviceSize)

func CmdDraw

func CmdDraw(commandBuffer CommandBuffer, vertexCount, instanceCount, firstVertex, firstInstance uint32)

func CmdDrawIndexed

func CmdDrawIndexed(commandBuffer CommandBuffer, indexCount, instanceCount, firstIndex uint32, vertexOffset int32, firstInstance uint32)

func CmdEndRenderPass

func CmdEndRenderPass(commandBuffer CommandBuffer)

func CmdExecuteCommands

func CmdExecuteCommands(commandBuffer CommandBuffer, commandBuffers []CommandBuffer)

func CmdNextSubpass

func CmdNextSubpass(commandBuffer CommandBuffer, contents SubpassContents)

func CmdPipelineBarrier

func CmdPipelineBarrier(commandBuffer CommandBuffer, srcStageMask, dstStageMask PipelineStageFlags, dependencyFlags DependencyFlags, memoryBarriers []MemoryBarrier, bufferMemoryBarriers []BufferMemoryBarrier, imageMemoryBarriers []ImageMemoryBarrier)

func CmdResetEvent

func CmdResetEvent(commandBuffer CommandBuffer, event Event, stageMask PipelineStageFlags)

func CmdSetDeviceMask

func CmdSetDeviceMask(commandBuffer CommandBuffer, deviceMask uint32)

func CmdSetEvent

func CmdSetEvent(commandBuffer CommandBuffer, event Event, stageMask PipelineStageFlags)

func CmdWaitEvents

func CmdWaitEvents(commandBuffer CommandBuffer, events []Event, srcStageMask, dstStageMask PipelineStageFlags, memoryBarriers []MemoryBarrier, bufferMemoryBarriers []BufferMemoryBarrier, imageMemoryBarriers []ImageMemoryBarrier)

func DestroyBuffer

func DestroyBuffer(device Device, buffer Buffer, allocator *AllocationCallbacks)

func DestroyCommandPool

func DestroyCommandPool(device Device, commandPool CommandPool, allocator *AllocationCallbacks)

func DestroyDescriptorPool

func DestroyDescriptorPool(device Device, descriptorPool DescriptorPool, allocator *AllocationCallbacks)

DestroyDescriptorPool - Destroy a descriptor pool object.

Parameters - device is the logical device that destroys the descriptor pool. - descriptorPool is the descriptor pool to destroy. - allocator controls host memory allocation as described in the Memory Allocation chapter.

When a pool is destroyed, all descriptor sets allocated from the pool are implicitly freed and become invalid. Descriptor sets allocated from a given pool do not need to be freed before destroying that descriptor pool.

Valid Usage

  • All submitted commands that refer to descriptorPool (via any allocated descriptor sets) must have completed execution
  • If AllocationCallbacks were provided when descriptorPool was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when descriptorPool was created, allocator must be nil

Valid Usage (Implicit) - device must be a valid Device handle - If descriptorPool is not NullHandle, descriptorPool must be a valid DescriptorPool handle - If allocator is not nil, allocator must be a valid pointer to a valid AllocationCallbacks structure - If descriptorPool is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization - Host access to descriptorPool must be externally synchronized

func DestroyDescriptorSetLayout

func DestroyDescriptorSetLayout(device Device, layout DescriptorSetLayout, allocator *AllocationCallbacks)

func DestroyDevice

func DestroyDevice(device Device, allocator *AllocationCallbacks)

func DestroyEvent

func DestroyEvent(device Device, event Event, allocator *AllocationCallbacks)

func DestroyFence

func DestroyFence(device Device, fence Fence, allocator *AllocationCallbacks)

func DestroyFramebuffer

func DestroyFramebuffer(device Device, framebuffer Framebuffer, allocator *AllocationCallbacks)

func DestroyImage

func DestroyImage(device Device, image Image, allocator *AllocationCallbacks)

func DestroyImageView

func DestroyImageView(device Device, imageView ImageView, allocator *AllocationCallbacks)

func DestroyInstance

func DestroyInstance(instance Instance)

func DestroyPipeline

func DestroyPipeline(device Device, pipeline Pipeline, allocator *AllocationCallbacks)

func DestroyPipelineCache

func DestroyPipelineCache(device Device, pipelineCache PipelineCache, allocator *AllocationCallbacks)

func DestroyPipelineLayout

func DestroyPipelineLayout(device Device, pipelineLayout PipelineLayout, allocator *AllocationCallbacks)

func DestroyRenderPass

func DestroyRenderPass(device Device, renderPass RenderPass, allocator *AllocationCallbacks)

func DestroySampler

func DestroySampler(device Device, sampler Sampler, allocator *AllocationCallbacks)

func DestroySemaphore

func DestroySemaphore(device Device, semaphore Semaphore, allocator *AllocationCallbacks)

func DestroyShaderModule

func DestroyShaderModule(device Device, shaderModule ShaderModule, allocator *AllocationCallbacks)

func DestroySurface

func DestroySurface(instance Instance, surface Surface, allocator *AllocationCallbacks)

func DeviceWaitIdle

func DeviceWaitIdle(device Device) error

func EndCommandBuffer

func EndCommandBuffer(commandBuffer CommandBuffer) error

func FlushMappedMemoryRanges

func FlushMappedMemoryRanges(device Device, memoryRanges []MappedMemoryRange) error

func FreeCommandBuffers

func FreeCommandBuffers(device Device, commandPool CommandPool, commandBuffers []CommandBuffer)

func FreeDescriptorSets

func FreeDescriptorSets(device Device, pool DescriptorPool, sets []DescriptorSet)

func FreeMemory

func FreeMemory(device Device, memory DeviceMemory, allocator *AllocationCallbacks)

func GetEventStatus

func GetEventStatus(device Device, event Event) error

func GetFenceStatus

func GetFenceStatus(device Device, fence Fence) error

func GetPhysicalDeviceSurfaceSupport

func GetPhysicalDeviceSurfaceSupport(physicalDevice PhysicalDevice, queueFamilyIndex uint32, surface Surface) (bool, error)

func GetPipelineCacheData

func GetPipelineCacheData(device Device, pipelineCache PipelineCache, data []byte) (uint, error)

func InvalidateMappedMemoryRanges

func InvalidateMappedMemoryRanges(device Device, memoryRanges []MappedMemoryRange) error

func MapMemory

func MapMemory(device Device, memory DeviceMemory, offset, size DeviceSize, flags MemoryMapFlags) (uintptr, error)

MapMemory - Map a memory object into application address space.

Parameters

  • device is the logical device that owns the memory.
  • memory is the DeviceMemory object to be mapped.
  • offset is a zero-based byte offset from the beginning of the memory object.
  • size is the size of the memory range to map, or WholeSize to map from offset to the end of the allocation. flags is reserved for future use.
  • ppData points to a pointer in which is returned a host-accessible pointer to the beginning of the mapped range. This pointer minus offset must be aligned to at least VkPhysicalDeviceLimits::minMemoryMapAlignment. (TODO)

After a successful call to MapMemory the memory object memory is considered to be currently host mapped. It is an application error to call MapMemory on a memory object that is already host mapped.

Note: MapMemory will fail if the implementation is unable to allocate an appropriately sized contiguous virtual

address range, e.g. due to virtual address space fragmentation or platform limits. In such cases, MapMemory
must return ErrorMemoryMapFailed. The application can improve the likelihood of success by reducing the size
of the mapped range and/or removing unneeded mappings using UnmapMemory.

MapMemory does not check whether the device memory is currently in use before returning the host-accessible pointer. The application must guarantee that any previously submitted command that writes to this range has completed before the host reads from or writes to that range, and that any previously submitted command that reads from that range has completed before the host writes to that region (see here for details on fulfilling such a guarantee). If the device memory was allocated without the MemoryPropertyHostCoherentBit set, these guarantees must be made for an extended range: the application must round down the start of the range to the nearest multiple of PhysicalDeviceLimits.NonCoherentAtomSize, and round the end of the range up to the nearest multiple of PhysicalDeviceLimits.NonCoherentAtomSize.

While a range of device memory is host mapped, the application is responsible for synchronizing both device and host access to that memory range.

Note: It is important for the application developer to become meticulously familiar with all of the mechanisms

described in the chapter on Synchronization and Cache Control as they are crucial to maintaining memory access
ordering.

Valid Usage - memory must not be currently host mapped - offset must be less than the size of memory - If size is not equal to WholeSize, size must be greater than 0 - If size is not equal to WholeSize, size must be less than or equal to the size of the memory minus offset - memory must have been created with a memory type that reports MemoryPropertyHostVisibleBit - memory must not have been allocated with multiple instances.

Valid Usage (Implicit) - device must be a valid Device handle - memory must be a valid DeviceMemory handle - flags must be 0 - ppData must be a valid pointer to a pointer value (TODO) - memory must have been created, allocated, or retrieved from device

Host Synchronization - Host access to memory must be externally synchronized

Return Codes - On success, this command returns

  • Success

- On failure, this command returns

  • ErrorOutOfHostMemory
  • ErrorOutOfDeviceMemory
  • ErrorMemoryMapFailed

func Memcpy

func Memcpy(dst unsafe.Pointer, src unsafe.Pointer, size uintptr)

func Memset

func Memset(dst unsafe.Pointer, val byte, size uintptr)

func MergePipelineCaches

func MergePipelineCaches(device Device, dstCache PipelineCache, srcCaches []PipelineCache) error

func QueueSubmit

func QueueSubmit(queue Queue, submits []SubmitInfo, fence Fence) (freeFunc, error)

func QueueWaitIdle

func QueueWaitIdle(queue Queue) error

func ResetCommandBuffer

func ResetCommandBuffer(commandBuffer CommandBuffer, flags CommandBufferResetFlags) error

func ResetCommandPool

func ResetCommandPool(device Device, commandPool CommandPool, flags CommandPoolResetFlags) error

func ResetEvent

func ResetEvent(device Device, event Event) error

func ResetFences

func ResetFences(device Device, fences []Fence) error

func SetEvent

func SetEvent(device Device, event Event) error

func TrimCommandPool

func TrimCommandPool(device Device, commandPool CommandPool, flags CommandPoolTrimFlags)

func UnmapMemory

func UnmapMemory(device Device, memory DeviceMemory)

UnmapMemory - Unmap a previously mapped memory object.

Parameters: - device is the logical device that owns the memory. - memory is the memory object to be unmapped.

Valid Usage - memory must be currently host mapped

Valid Usage (Implicit) - device must be a valid Device handle - memory must be a valid DeviceMemory handle - memory must have been created, allocated, or retrieved from device

Host Synchronization - Host access to memory must be externally synchronized

func UpdateDescriptorSets

func UpdateDescriptorSets(device Device, descriptorWrites []WriteDescriptorSet, descriptorCopies []CopyDescriptorSet) freeFunc

func VersionMajor

func VersionMajor(v Version) uint

func VersionMinor

func VersionMinor(v Version) uint

func VersionPatch

func VersionPatch(v Version) uint

func WaitForFences

func WaitForFences(device Device, fences []Fence, waitAll bool, timeout time.Duration) error

Types

type AccessFlagBits

type AccessFlagBits uint32
const (
	AccessIndirectCommandReadBit AccessFlagBits = 1 << iota
	AccessIndexReadBit
	AccessVertexAttributeReadBit
	AccessUniformReadBit
	AccessInputAttachmentReadBit
	AccessShaderReadBit
	AccessShaderWriteBit
	AccessColorAttachmentReadBit
	AccessColorAttachmentWriteBit
	AccessDepthStencilAttachmentReadBit
	AccessDepthStencilAttachmentWriteBit
	AccessTransferReadBit
	AccessTransferWriteBit
	AccessHostReadBit
	AccessHostWriteBit
	AccessMemoryReadBit
	AccessMemoryWriteBit
)

type AccessFlags

type AccessFlags = AccessFlagBits

type AllocationCallbacks

type AllocationCallbacks C.VkAllocationCallbacks

type ApplicationInfo

type ApplicationInfo struct {
	Type               StructureType
	Next               uintptr
	ApplicationName    string
	ApplicationVersion uint32
	EngineName         string
	EngineVersion      uint32
	APIVersion         Version
}

func (*ApplicationInfo) C

func (info *ApplicationInfo) C(_info *applicationInfo) freeFunc

type AttachmentDescription

type AttachmentDescription struct {
	Flags          AttachmentDescriptionFlags
	Format         Format
	Samples        SampleCountFlagBits
	LoadOp         AttachmentLoadOp
	StoreOp        AttachmentStoreOp
	StencilLoadOp  AttachmentLoadOp
	StencilStoreOp AttachmentStoreOp
	InitialLayout  ImageLayout
	FinalLayout    ImageLayout
}

type AttachmentDescriptionFlags

type AttachmentDescriptionFlags uint32
const (
	AttachmentDescriptionMayAliasBit AttachmentDescriptionFlags = 1 << iota
)

type AttachmentLoadOp

type AttachmentLoadOp uint32
const (
	AttachmentLoadOpLoad AttachmentLoadOp = iota
	AttachmentLoadOpClear
	AttachmentLoadOpDontCare
)

type AttachmentReference

type AttachmentReference struct {
	Attachment uint32
	Layout     ImageLayout
}

type AttachmentStoreOp

type AttachmentStoreOp uint32
const (
	AttachmentStoreOpStore AttachmentStoreOp = iota
	AttachmentStoreOpDontCare
)

type BlendFactor

type BlendFactor uint32
const (
	BlendFactorZero BlendFactor = iota
	BlendFactorOne
	BlendFactorSrcAlphaSaturate
	BlendFactorSrcColor
	BlendFactorOneMinusSrcColor
	BlendFactorDstColor
	BlendFactorOneMinusDstColor
	BlendFactorSrcAlpha
	BlendFactorOneMinusSrcAlpha
	BlendFactorDstAlpha
	BlendFactorOneMinusDstAlpha
	BlendFactorConstantColor
	BlendFactorOneMinusConstantColor
	BlendFactorConstantAlpha
	BlendFactorOneMinusConstantAlpha
	BlendFactorSrc1Color
	BlendFactorOneMinusSrc1Color
	BlendFactorSrc1Alpha
	BlendFactorOneMinusSrc1Alpha
)

type BlendOp

type BlendOp uint32
const (
	BlendOpAdd BlendOp = iota
	BlendOpSubtract
	BlendOpReverseSubtract
	BlendOpMin
	BlendOpMax
)

type BorderColor

type BorderColor uint32
const (
	BorderColorFloatTransparentBlack BorderColor = iota
	BorderColorIntTransparentBlack
	BorderColorFloatOpaqueBlack
	BorderColorIntOpaqueBlack
	BorderColorFloatOpaqueWhite
	BorderColorIntOpaqueWhite
)

type Buffer

type Buffer uintptr

func CreateBuffer

func CreateBuffer(device Device, createInfo BufferCreateInfo, allocator *AllocationCallbacks) (Buffer, error)

type BufferCreateFlagBits

type BufferCreateFlagBits uint32
const (
	BufferCreateSparseBindingsBit BufferCreateFlagBits = 1 << iota
	BufferCreateSparseResidencyBit
	BufferCreateSparseAliasedBit
	BufferCreateProtectedBit
)

type BufferCreateFlags

type BufferCreateFlags = BufferCreateFlagBits

type BufferCreateInfo

type BufferCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              BufferCreateFlags
	Size               DeviceSize
	Usage              BufferUsageFlags
	SharingMode        SharingMode
	QueueFamilyIndices []uint32
}

func (*BufferCreateInfo) C

func (info *BufferCreateInfo) C(_info *bufferCreateInfo) freeFunc

type BufferImageCopy

type BufferImageCopy struct {
	BufferOffset      DeviceSize
	BufferRowLength   uint32
	BufferImageHeight uint32
	ImageSubresource  ImageSubresourceLayers
	ImageOffset       Offset3D
	ImageExtent       Extent3D
}

type BufferMemoryBarrier

type BufferMemoryBarrier struct {
	Type                StructureType
	Next                uintptr
	SrcAccessMask       AccessFlags
	DstAccessMask       AccessFlags
	SrcFamilyQueueIndex uint32
	DstFamilyQueueIndex uint32
	Buffer              Buffer
	Offset              DeviceSize
	Size                DeviceSize
}

type BufferUsageFlagBits

type BufferUsageFlagBits uint32
const (
	BufferUsageTransferSrcBit BufferUsageFlagBits = 1 << iota
	BufferUsageTransferDstBit
	BufferUsageUniformTexelBufferBit
	BufferUsageStorageTexelBufferBit
	BufferUsageUniformBufferBit
	BufferUsageStorageBufferBit
	BufferUsageIndexBufferBit
	BufferUsageVertexBufferBit
	BufferUsageIndirectBufferBit
)

type BufferUsageFlags

type BufferUsageFlags = BufferUsageFlagBits

type BufferView

type BufferView uintptr

type ClearAttachment

type ClearAttachment struct {
	AspectMask      ImageAspectFlags
	ColorAttachment uint32
	ClearValue      ClearValue
}

type ClearColorValue

type ClearColorValue interface {
	// contains filtered or unexported methods
}

type ClearColorValueFloat

type ClearColorValueFloat [4]float32

type ClearColorValueInt

type ClearColorValueInt [4]int32

type ClearColorValueUint

type ClearColorValueUint [4]uint32

type ClearDepthStencilValue

type ClearDepthStencilValue struct {
	Depth   float32
	Stencil uint32
}

type ClearRect

type ClearRect struct {
	Rect           Rect2D
	BaseArrayLayer uint32
	LayerCount     uint32
}

type ClearValue

type ClearValue struct {
	Color ClearColorValue
}

type ColorComponentFlagBits

type ColorComponentFlagBits uint32
const (
	ColorComponentRBit ColorComponentFlagBits = 1 << iota
	ColorComponentGBit
	ColorComponentBBit
	ColorComponentABit
)

type ColorComponentFlags

type ColorComponentFlags = ColorComponentFlagBits

type ColorR16G16B16A16UInt

type ColorR16G16B16A16UInt uint64

func (*ColorR16G16B16A16UInt) RGBA

func (c *ColorR16G16B16A16UInt) RGBA() (r, g, b, a uint32)

type ColorSpace

type ColorSpace uint32
const (
	ColorSpaceSRGBNonLinearKHR ColorSpace = iota

	ColorSpaceSRGBNonLinear = ColorSpaceSRGBNonLinearKHR
)
const (
	ColorSpaceDisplayP3NonLinear ColorSpace = iota + 1000104001
	ColorSpaceExtendedSRGBLinear
	ColorSpaceDisplayP3Linear
	ColorSpaceDCIP3NonLinear
)

type CommandBuffer

type CommandBuffer uintptr

func AllocateCommandBuffers

func AllocateCommandBuffers(device Device, allocateInfo CommandBufferAllocateInfo) ([]CommandBuffer, error)

type CommandBufferAllocateInfo

type CommandBufferAllocateInfo struct {
	Type               StructureType
	Next               uintptr
	CommandPool        CommandPool
	Level              CommandBufferLevel
	CommandBufferCount uint32
}

type CommandBufferBeginInfo

type CommandBufferBeginInfo struct {
	Type            StructureType
	Next            uintptr
	Flags           CommandBufferUsageFlags
	InheritanceInfo *CommandBufferInheritanceInfo
}

type CommandBufferInheritanceInfo

type CommandBufferInheritanceInfo struct {
	Type                 StructureType
	Next                 uintptr
	RenderPass           RenderPass
	Subpass              uint32
	Framebuffer          Framebuffer
	OcclusionQueryEnable bool

	QueryFlags         QueryControlFlags
	PipelineStatistics QueryPipelineStatisticFlags
	// contains filtered or unexported fields
}

type CommandBufferLevel

type CommandBufferLevel uint32
const (
	CommandBufferLevelPrimary CommandBufferLevel = iota
	CommandBufferLevelSecondary
)

type CommandBufferResetFlags

type CommandBufferResetFlags uint32

type CommandBufferUsageFlagBits

type CommandBufferUsageFlagBits uint32
const (
	CommandBufferUsageOneTimeSubmitBit CommandBufferUsageFlagBits = 1 << iota
	CommandBufferUsageRenderPassContinueBit
	CommandBufferUsageSimultaneousUseBit
)

type CommandBufferUsageFlags

type CommandBufferUsageFlags = CommandBufferUsageFlagBits

type CommandPool

type CommandPool uintptr

func CreateCommandPool

func CreateCommandPool(device Device, createInfo CommandPoolCreateInfo, allocator *AllocationCallbacks) (CommandPool, error)

type CommandPoolCreateFlagBits

type CommandPoolCreateFlagBits uint32
const (
	CommandPoolCreateTransient CommandPoolCreateFlagBits = 1 << iota
	CommandPoolCreateResetCommandBuffer
	CommandPoolCreateProtected
)

type CommandPoolCreateFlags

type CommandPoolCreateFlags = CommandPoolCreateFlagBits

type CommandPoolCreateInfo

type CommandPoolCreateInfo struct {
	Type             StructureType
	Next             uintptr
	Flags            CommandPoolCreateFlags
	QueueFamilyIndex uint32
}

type CommandPoolResetFlags

type CommandPoolResetFlags uint32

type CommandPoolTrimFlags

type CommandPoolTrimFlags uint32

type CompareOp

type CompareOp uint32
const (
	CompareOpNever CompareOp = iota
	CompareOpLess
	CompareOpEqual
	CompareOpLessOrEqual
	CompareOpGreater
	CompareOpNotEqual
	CompareOpGreaterOrEqual
	CompareOpAlways
)

type ComponentSwizzle

type ComponentSwizzle uint32
const (
	ComponentSwizzleIdentity ComponentSwizzle = iota
	ComponentSwizzleZero
	ComponentSwizzleOne
	ComponentSwizzleR
	ComponentSwizzleG
	ComponentSwizzleB
	ComponentSwizzleA
)

type ComputePipelineCreateInfo

type ComputePipelineCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              PipelineCreateFlags
	Stage              PipelineShaderStageCreateInfo
	Layout             PipelineLayout
	BasePipelineHandle Pipeline
	BasePipelineIndex  int32
}

func (*ComputePipelineCreateInfo) C

func (info *ComputePipelineCreateInfo) C(_info *computePipelineCreateInfo) freeFunc

type CopyDescriptorSet

type CopyDescriptorSet struct {
	Type            StructureType
	Next            uintptr
	SrcSet          DescriptorSet
	SrcBinding      uint32
	SrcArrayElement uint32
	DstSet          DescriptorSet
	DstBinding      uint32
	DstArrayElement uint32
	DescriptorCount uint32
}

type CreateInfo

type CreateInfo struct {
	Type              StructureType
	Next              *CreateInfo
	Flags             C.VkInstanceCreateFlags
	ApplicationInfo   *ApplicationInfo
	EnabledLayers     []string
	EnabledExtensions []string
}

type CullModeFlagBits

type CullModeFlagBits uint32
const (
	CullModeNoneBit         CullModeFlagBits = 0
	CullModeFrontBit        CullModeFlagBits = 1
	CullModeBackBit         CullModeFlagBits = 2
	CullModeFrontAndBackBit                  = CullModeFrontBit | CullModeBackBit
)

type CullModeFlags

type CullModeFlags = CullModeFlagBits

type DependencyFlagBits

type DependencyFlagBits uint32
const (
	DependencyByRegionBit DependencyFlagBits = 1 << iota
	DependencyDeviceGroupBit
	DependencyViewLocalBit
)

type DependencyFlags

type DependencyFlags = DependencyFlagBits

type DescriptorBufferInfo

type DescriptorBufferInfo struct {
	Buffer Buffer
	Offset DeviceSize
	Range  DeviceSize
}

type DescriptorImageInfo

type DescriptorImageInfo struct {
	Sampler     Sampler
	ImageView   ImageView
	ImageLayout ImageLayout
}

type DescriptorPool

type DescriptorPool uintptr

func CreateDescriptorPool

func CreateDescriptorPool(device Device, createInfo DescriptorPoolCreateInfo, allocator *AllocationCallbacks) (DescriptorPool, error)

CreateDescriptorPool - Creates a descriptor pool object.

Parameters

  • device is the logical device that creates the descriptor pool.
  • createInfo is a pointer to an instance of the VkDescriptorPoolCreateInfo structure specifying the state of the descriptor pool object.
  • allocator controls host memory allocation as described in the Memory Allocation chapter.
  • pDescriptorPool points to a VkDescriptorPool handle in which the resulting descriptor pool object is returned. (TODO)

allocator controls host memory allocation as described in the Memory Allocation chapter. The created descriptor pool is returned in pDescriptorPool. (TODO)

Valid Usage (Implicit) - device must be a valid Device handle - createInfo must be a valid pointer to a valid DescriptorPoolCreateInfo structure - If allocator is not nil, allocator must be a valid pointer to a valid AllocationCallbacks structure - pDescriptorPool must be a valid pointer to a VkDescriptorPool handle (TODO)

Return Codes - On success, this command returns

  • Success

- On failure, this command returns

  • ErrorOutOfHostMemory
  • ErrorOutOfDeviceMemory
  • ErrorFragmentation

type DescriptorPoolCreateFlagBits

type DescriptorPoolCreateFlagBits uint32
const (
	DescriptorPoolCreateFreeDescriptorSetBit DescriptorPoolCreateFlagBits = 1 << iota
)

type DescriptorPoolCreateFlags

type DescriptorPoolCreateFlags = DescriptorPoolCreateFlagBits

type DescriptorPoolCreateInfo

type DescriptorPoolCreateInfo struct {
	Type      StructureType
	Next      uintptr
	Flags     DescriptorPoolCreateFlags
	MaxSets   uint32
	PoolSizes []DescriptorPoolSize
}

DescriptorPoolCreateInfo - Structure specifying parameters of a newly created descriptor pool

Members

  • Type is the type of this structure.
  • Next is 0 or a pointer to an extension-specific structure.
  • Flags is a bitmask of DescriptorPoolCreateFlagBits specifying certain supported operations on the pool.
  • MaxSets is the maximum number of descriptor sets that can be allocated from the pool.
  • PoolSizes is a slice of DescriptorPoolSize structures, each containing a descriptor type and number of descriptors of that type to be allocated in the pool.

If multiple DescriptorPoolSize structures appear in the PoolSizes slice then the pool will be created with enough storage for the total number of descriptors of each type.

Fragmentation of a descriptor pool is possible and may lead to descriptor set allocation failures. A failure due to fragmentation is defined as failing a descriptor set allocation despite the sum of all outstanding descriptor set allocations from the pool plus the requested allocation requiring no more than the total number of descriptors requested at pool creation. Implementations provide certain guarantees of when fragmentation must not cause allocation failure, as described below.

If a descriptor pool has not had any descriptor sets freed since it was created or most recently reset then fragmentation must not cause an allocation failure (note that this is always the case for a pool created without the DescriptorPoolCreateFreeDescriptorSetBit bit set). Additionally, if all sets allocated from the pool since it was created or most recently reset use the same number of descriptors (of each type) and the requested allocation also uses that same number of descriptors (of each type), then fragmentation must not cause an allocation failure.

If an allocation failure occurs due to fragmentation, an application can create an additional descriptor pool to perform further descriptor set allocations.

If flags has the DescriptorPoolCreateUpdateAfterBindBit bit set, descriptor pool creation may fail with the error ErrorFragmentation if the total number of descriptors across all pools (including this one) created with this bit set exceeds MaxUpdateAfterBindDescriptorsInAllPools, or if fragmentation of the underlying hardware resources occurs.

Valid Usage - MaxSets must be greater than 0

Valid Usage (Implicit) - Type must be StructureTypeDescriptorPoolCreateInfo - Next must be 0 or a pointer to a valid instance of DescriptorPoolInlineUniformBlockCreateInfoEXT (TODO) - Flags must be a valid combination of DescriptorPoolCreateFlagBits values - PoolSizes must be a slice of valid DescriptorPoolSize structures

func (*DescriptorPoolCreateInfo) C

func (info *DescriptorPoolCreateInfo) C(_info *descriptorPoolCreateInfo) freeFunc

type DescriptorPoolSize

type DescriptorPoolSize struct {
	Type            DescriptorType
	DescriptorCount uint32
}

DescriptorPoolSize - Structure specifying descriptor pool size.

Members

  • Type is the type of descriptor.
  • DescriptorCount is the number of descriptors of that type to allocate. If type is DescriptorTypeInlineUniformBlock then descriptorCount is the number of bytes to allocate for descriptors of this type.

Note: When creating a descriptor pool that will contain descriptors for combined image

samplers of multi-planar formats, an application needs to account for non-trivial
descriptor consumption when choosing the descriptorCount value, as indicated by
SamplerYcbcrConversionImageFormatProperties.combinedImageSamplerDescriptorCount.

Valid Usage - DescriptorCount must be greater than 0 - If type is DescriptorTypeInlineUniformBlock then descriptorCount must be a multiple of 4

Valid Usage (Implicit) - Type must be a valid DescriptorType value

type DescriptorSet

type DescriptorSet uintptr

func AllocateDescriptorSets

func AllocateDescriptorSets(device Device, allocateInfo DescriptorSetAllocateInfo) ([]DescriptorSet, error)

type DescriptorSetAllocateInfo

type DescriptorSetAllocateInfo struct {
	Type           StructureType
	Next           uintptr
	DescriptorPool DescriptorPool
	SetLayouts     []DescriptorSetLayout
}

func (*DescriptorSetAllocateInfo) C

func (info *DescriptorSetAllocateInfo) C(_info *descriptorAllocateInfo) freeFunc

type DescriptorSetLayout

type DescriptorSetLayout uintptr

func CreateDescriptorSetLayout

func CreateDescriptorSetLayout(device Device, createInfo DescriptorSetLayoutCreateInfo, allocator *AllocationCallbacks) (DescriptorSetLayout, error)

type DescriptorSetLayoutBinding

type DescriptorSetLayoutBinding struct {
	Binding           uint32
	DescriptorType    DescriptorType
	DescriptorCount   uint32
	StageFlags        ShaderStageFlags
	ImmutableSamplers *Sampler
}

type DescriptorSetLayoutCreateFlagBits

type DescriptorSetLayoutCreateFlagBits uint32

type DescriptorSetLayoutCreateFlags

type DescriptorSetLayoutCreateFlags = DescriptorSetLayoutCreateFlagBits

type DescriptorSetLayoutCreateInfo

type DescriptorSetLayoutCreateInfo struct {
	Type     StructureType
	Next     uintptr
	Flags    DescriptorSetLayoutCreateFlags
	Bindings []DescriptorSetLayoutBinding
}

func (*DescriptorSetLayoutCreateInfo) C

func (info *DescriptorSetLayoutCreateInfo) C(_info *descriptorSetLayoutCreateInfo) freeFunc

type DescriptorType

type DescriptorType uint32
const (
	DescriptorTypeSampler DescriptorType = iota
	DescriptorTypeCombinedImageSampler
	DescriptorTypeSampledImage
	DescriptorTypeStorageImage
	DescriptorTypeUniformTexelBuffer
	DescriptorTypeStorageTexelBuffer
	DescriptorTypeUniformBuffer
	DescriptorTypeStorageBuffer
	DescriptorTypeUniformBufferDynamic
	DescriptorTypeStorageBufferDynamic
	DescriptorTypeInputAttachment
)
const (
	DescriptorTypeInlineUniformBlockEXT   DescriptorType = 1000138000
	DescriptorTypeAccelerationStructureNV DescriptorType = 1000165000
)

type Device

type Device uintptr

func CreateDevice

func CreateDevice(physicalDevice PhysicalDevice, info DeviceCreateInfo, allocator *AllocationCallbacks) (Device, error)

func (Device) AcquireNextImage

func (d Device) AcquireNextImage(swapchain Swapchain, semaphore Semaphore, fence Fence) (uint32, error)

func (Device) CreateImage

func (d Device) CreateImage() (Image, error)

func (Device) CreateSemaphore

func (d Device) CreateSemaphore() (Semaphore, error)

func (Device) DestroySemaphore

func (d Device) DestroySemaphore(semaphore Semaphore)

func (Device) DestroySwapchain

func (d Device) DestroySwapchain(swapchain Swapchain)

func (Device) GetQueue

func (d Device) GetQueue(queueFamilyIndex, queueIndex uint32) Queue

func (Device) GetSwapchainImages

func (d Device) GetSwapchainImages(swapchain Swapchain) ([]Image, error)

type DeviceCreateFlags

type DeviceCreateFlags uint32

type DeviceCreateInfo

type DeviceCreateInfo struct {
	Type              StructureType
	Next              uintptr
	Flags             DeviceCreateFlags
	QueueCreateInfos  []DeviceQueueCreateInfo
	EnabledLayers     []string
	EnabledExtensions []string
	EnabledFeatures   *PhysicalDeviceFeatures
}

type DeviceMemory

type DeviceMemory uintptr

func AllocateMemory

func AllocateMemory(device Device, allocateInfo MemoryAllocateInfo, allocator *AllocationCallbacks) (DeviceMemory, error)

type DeviceQueueCreateFlagBits

type DeviceQueueCreateFlagBits uint32
const (
	DeviceQueueCreateProtectedBit DeviceQueueCreateFlagBits = 1 << iota
)

type DeviceQueueCreateFlags

type DeviceQueueCreateFlags = DeviceQueueCreateFlagBits

type DeviceQueueCreateInfo

type DeviceQueueCreateInfo struct {
	Type             StructureType
	Next             uintptr
	Flags            DeviceQueueCreateFlags
	QueueFamilyIndex uint32
	QueuePriorities  []float32
}

type DeviceSize

type DeviceSize uint64

type Event

type Event uintptr

func CreateEvent

func CreateEvent(device Device, createInfo EventCreateInfo, allocator *AllocationCallbacks) (Event, error)

type EventCreateFlags

type EventCreateFlags uint32

type EventCreateInfo

type EventCreateInfo struct {
	Type  StructureType
	Next  uintptr
	Flags EventCreateFlags
}

type Extent2D

type Extent2D struct {
	// Width is the width of the extent.
	Width uint32

	// Height is the height of the extent.
	Height uint32
}

Extent2D - Structure specifying a two-dimensional extent

func GetRenderAreaGranularity

func GetRenderAreaGranularity(device Device, renderPass RenderPass) Extent2D

type Extent3D

type Extent3D struct {
	// Width  is the width of the extent.
	Width uint32

	// Height is the height of the extent.
	Height uint32

	// Depth is the depth of the extent.
	Depth uint32
}

Extent3D - Structure specifying a three-dimensional extent

type Fence

type Fence uintptr

func CreateFence

func CreateFence(device Device, createInfo FenceCreateInfo, allocator *AllocationCallbacks) (Fence, error)

type FenceCreateFlagBits

type FenceCreateFlagBits uint32
const (
	FenceCreateSignaledBit FenceCreateFlagBits = 1 << iota
)

type FenceCreateFlags

type FenceCreateFlags = FenceCreateFlagBits

type FenceCreateInfo

type FenceCreateInfo struct {
	Type  StructureType
	Next  uintptr
	Flags FenceCreateFlags
}

type Filter

type Filter uint32
const (
	FilterNearest Filter = iota
	FilterLinear
)

type Format

type Format uint32
const (
	FormatUndefined Format = iota
	FormatR4G4UNormPack8
	FormatR4G4B4A4UNormPack16
	FormatB4G4R4A4UNormPack16
	FormatR5G6B5UNormPack16
	FormatB5G6R5UNormPack16
	FormatR5G5B5A1UNormPack16
	FormatB5G5R5A1UNormPack16
	FormatA1R5G5B5UNormPack16
	FormatR8UNorm
	FormatR8SNorm
	FormatR8UScaled
	FormatR8SScaled
	FormatR8UInt
	FormatR8SInt
	FormatR8SRGB
	FormatR8G8UNorm
	FormatR8G8SNorm
	FormatR8G8UScaled
	FormatR8G8SScaled
	FormatR8G8UInt
	FormatR8G8SInt
	FormatR8G8SRGB
	FormatR8G8B8UNorm
	FormatR8G8B8SNorm
	FormatR8G8B8UScaled
	FormatR8G8B8SScaled
	FormatR8G8B8UInt
	FormatR8G8B8SInt
	FormatR8G8B8SRGB
	FormatB8G8R8UNorm
	FormatB8G8R8SNorm
	FormatB8G8R8UScaled
	FormatB8G8R8SScaled
	FormatB8G8R8UInt
	FormatB8G8R8SInt
	FormatB8G8R8SRGB
	FormatR8G8B8A8UNorm
	FormatR8G8B8A8SNorm
	FormatR8G8B8A8UScaled
	FormatR8G8B8A8SScaled
	FormatR8G8B8A8UInt
	FormatR8G8B8A8SInt
	FormatR8G8B8A8SRGB
	FormatB8G8R8A8UNorm
	FormatB8G8R8A8SNorm
	FormatB8G8R8A8UScaled
	FormatB8G8R8A8SScaled
	FormatB8G8R8A8UInt
	FormatB8G8R8A8SInt
	FormatB8G8R8A8SRGB
	FormatA8B8G8R8UNormPack32
	FormatA8B8G8R8SNormPack32
	FormatA8B8G8R8UScaledPack32
	FormatA8B8G8R8SScaledPack32
	FormatA8B8G8R8UIntPack32
	FormatA8B8G8R8SIntPack32
	FormatA8B8G8R8SRGBPack32
	FormatA2R10G10B10UNormPack32
	FormatA2R10G10B10SNormPack32
	FormatA2R10G10B10UScaledPack32
	FormatA2R10G10B10SScaledPack32
	FormatA2R10G10B10UIntPack32
	FormatA2R10G10B10SIntPack32
	FormatA2B10G10R10UNormPack32
	FormatA2B10G10R10SNormPack32
	FormatA2B10G10R10UScaledPack32
	FormatA2B10G10R10SScaledPack32
	FormatA2B10G10R10UIntPack32
	FormatA2B10G10R10SIntPack32
	FormatR16UNorm
	FormatR16SNorm
	FormatR16UScaled
	FormatR16SScaled
	FormatR16UInt
	FormatR16SInt
	FormatR16SFloat
	FormatR16G16UNorm
	FormatR16G16SNorm
	FormatR16G16UScaled
	FormatR16G16SScaled
	FormatR16G16UInt
	FormatR16G16SInt
	FormatR16G16SFloat
	FormatR16G16B16UNorm
	FormatR16G16B16SNorm
	FormatR16G16B16UScaled
	FormatR16G16B16SScaled
	FormatR16G16B16UInt
	FormatR16G16B16SInt
	FormatR16G16B16SFloat
	FormatR16G16B16A16UNorm
	FormatR16G16B16A16SNorm
	FormatR16G16B16A16UScaled
	FormatR16G16B16A16SScaled
	FormatR16G16B16A16UInt
	FormatR16G16B16A16SInt
	FormatR16G16B16A16SFloat
	FormatR32UInt
	FormatR32SInt
	FormatR32SFloat
	FormatR32G32UInt
	FormatR32G32SInt
	FormatR32G32SFloat
	FormatR32G32B32UInt
	FormatR32G32B32SInt
	FormatR32G32B32SFloat
	FormatR32G32B32A32UInt
	FormatR32G32B32A32SInt
	FormatR32G32B32A32SFloat
	FormatR64UInt
	FormatR64SInt
	FormatR64SFloat
	FormatR64G64UInt
	FormatR64G64SInt
	FormatR64G64SFloat
	FormatR64G64B64UInt
	FormatR64G64B64SInt
	FormatR64G64B64SFloat
	FormatR64G64B64A64UInt
	FormatR64G64B64A64SInt
	FormatR64G64B64A64SFloat
	FormatB10G11R11UFloatPack32
	FormatE5B9G9R9UFloatPack32
	FormatD16UNorm
	FormatX8D24UNormPack32
	FormatD32SFloat
	FormatS8UInt
	FormatD16UNormS8UInt
	FormatD24UNormS8UInt
	FormatD32SFloatS8UInt
	FormatBC1RGBUNormBlock
	FormatBC1RGBSRGBBlock
	FormatBC1RGBAUNormBlock
	FormatBC1RGBASRGBBlock
	FormatBC2UNormBlock
	FormatBC2SRGBBlock
	FormatBC3UNormBlock
	FormatBC3SRGBBlock
	FormatBC4UNormBlock
	FormatBC4SNormBlock
	FormatBC5UNormBlock
	FormatBC5SNormBlock
	FormatBC6HUFloatBlock
	FormatBC6HSFloatBlock
	FormatBC7UNormBlock
	FormatBC7SRGBBlock
	FormatETC2R8G8B8UNormBlock
	FormatETC2R8G8B8SRGBBlock
	FormatETC2R8G8B8A1UNormBlock
	FormatETC2R8G8B8A1SRGBBlock
	FormatETC2R8G8B8A8UNormBlock
	FormatETC2R8G8B8A8SRGBBlock
	FormatEACR11UNormBlock
	FormatEACR11SRGBBlock
	FormatEACR11G11UNormBlock
	FormatEACR11G11SRGBBlock
	FormatASTC4x4UNormBlock
	FormatASTC4x4SRGBBlock
	FormatASTC5x4UNormBlock
	FormatASTC5x4SRGBBlock
	FormatASTC5x5UNormBlock
	FormatASTC5x5SRGBBlock
	FormatASTC6x5UNormBlock
	FormatASTC6x5SRGBBlock
	FormatASTC6x6UNormBlock
	FormatASTC6x6SRGBBlock
	FormatASTC8x5UNormBlock
	FormatASTC8x5SRGBBlock
	FormatASTC8x6UNormBlock
	FormatASTC8x6SRGBBlock
	FormatASTC8x8UNormBlock
	FormatASTC8x8SRGBBlock
	FormatASTC10x5UNormBlock
	FormatASTC10x5SRGBBlock
	FormatASTC10x6UNormBlock
	FormatASTC10x6SRGBBlock
	FormatASTC10x8UNormBlock
	FormatASTC10x8SRGBBlock
	FormatASTC10x10UNormBlock
	FormatASTC10x10SRGBBlock
	FormatASTC12x10UNormBlock
	FormatASTC12x10SRGBBlock
	FormatASTC12x12UNormBlock
	FormatASTC12x12SRGBBlock
)
const (
	FormatG8B8G8R8422UNorm Format = iota + 1000156000
	FormatB8G8R8G8422UNorm
)

func (Format) String

func (i Format) String() string

type Framebuffer

type Framebuffer uintptr

func CreateFramebuffer

func CreateFramebuffer(device Device, createInfo FramebufferCreateInfo, allocator *AllocationCallbacks) (Framebuffer, error)

type FramebufferCreateFlags

type FramebufferCreateFlags uint32

type FramebufferCreateInfo

type FramebufferCreateInfo struct {
	Type        StructureType
	Next        uintptr
	Flags       FramebufferCreateFlags
	RenderPass  RenderPass
	Attachments []ImageView
	Width       uint32
	Height      uint32
	Layers      uint32
}

type FrontFace

type FrontFace uint32
const (
	FrontFaceCounterClockwise FrontFace = iota
	FrontFaceClockwise
)

type GraphicsPipelineCreateInfo

type GraphicsPipelineCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              PipelineCreateFlags
	Stages             []PipelineShaderStageCreateInfo
	VertexInputState   *PipelineVertexInputStateCreateInfo
	InputAssemblyState *PipelineInputAssemblyStateCreateInfo
	TessellationState  *PipelineTessellationStateCreateInfo
	ViewportState      *PipelineViewportStateCreateInfo
	RasterizationState *PipelineRasterizationStateCreateInfo
	MultisampleState   *PipelineMultisampleStateCreateInfo
	DepthStencilState  *PipelineDepthStencilStateCreateInfo
	ColorBlendState    *PipelineColorBlendStateCreateInfo
	DynamicState       *PipelineDynamicStateCreateInfo
	Layout             PipelineLayout
	RenderPass         RenderPass
	Subpass            uint32
	BasePipelineHandle Pipeline
	BasePipelineIndex  int32
}

func (*GraphicsPipelineCreateInfo) C

func (info *GraphicsPipelineCreateInfo) C(_info *graphicsPipelineCreateInfo) freeFunc

type Image

type Image uintptr

func CreateImage

func CreateImage(device Device, createInfo ImageCreateInfo, allocator *AllocationCallbacks) (Image, error)

type ImageAspectFlags

type ImageAspectFlags uint32
const (
	ImageAspectColorBit ImageAspectFlags = 1 << iota
	ImageAspectDepthBit
	ImageAspectStencilBit
	ImageAspectMetadataBit
	ImageAspectPlane0Bit
	ImageAspectPlane1Bit
	ImageAspectPlane2Bit
)

type ImageCreateFlags

type ImageCreateFlags uint32

type ImageCreateInfo

type ImageCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              ImageCreateFlags
	ImageType          ImageType
	Format             Format
	Extent             Extent3D
	MipLevels          uint32
	ArrayLayers        uint32
	Samples            SampleCountFlagBits
	Tiling             ImageTiling
	Usage              ImageUsageFlags
	SharingMode        SharingMode
	QueueFamilyIndices []uint32
	InitialLayout      ImageLayout
}

func (*ImageCreateInfo) C

func (info *ImageCreateInfo) C(_info *imageCreateInfo) freeFunc

type ImageLayout

type ImageLayout uint32
const (
	ImageLayoutUndefined ImageLayout = iota
	ImageLayoutGeneral
	ImageLayoutColorAttachmentOptimal
	ImageLayoutDepthStencilAttachmentOptimal
	ImageLayoutDepthStencilReadOnlyOptimal
	ImageLayoutShaderReadOnlyOptimal
	ImageLayoutTranserSrcOptimal
	ImageLayoutTransferDstOptimal
	ImageLayoutPreinitialized
)
const (
	ImageLayoutDepthReadOnlyStencilAttachmentOptimal ImageLayout = 1000117000 + iota
	ImageLayoutDepthAttachmentStencilReadOnlyOptimal
)
const (
	ImageLayoutPresentSrcKHR    ImageLayout = 1000001002
	ImageLayoutSharedPresentKHR ImageLayout = 1000111000
)

type ImageMemoryBarrier

type ImageMemoryBarrier struct {
	Type                StructureType
	Next                uintptr
	SrcAccessMask       AccessFlags
	DstAccessMask       AccessFlags
	OldLayout           ImageLayout
	NewLayout           ImageLayout
	SrcFamilyQueueIndex uint32
	DstFamilyQueueIndex uint32
	Image               Image
	SubresourceRange    ImageSubresourceRange
}

type ImageSubresourceLayers

type ImageSubresourceLayers struct {
	AspectMask     ImageAspectFlags
	MipLevel       uint32
	BaseArrayLayer uint32
	LayerCount     uint32
}

type ImageSubresourceRange

type ImageSubresourceRange struct {
	AspectMask     ImageAspectFlags
	BaseMIPLevel   uint32
	LevelCount     uint32
	BaseArrayLayer uint32
	LayerCount     uint32
}

type ImageTiling

type ImageTiling uint32
const (
	ImageTilingOptimal ImageTiling = iota
	ImageTilingLinear
)

type ImageType

type ImageType uint32
const (
	ImageType1D ImageType = iota
	ImageType2D
	ImageType3D
)

type ImageUsageFlagBits

type ImageUsageFlagBits uint32
const (
	ImageUsageTransferSrcBit ImageUsageFlagBits = 1 << iota
	ImageUsageTransferDstBit
	ImageUsageSampledBit
	ImageUsageStorageBit
	ImageUsageColorAttachmentBit
	ImageUsageDepthStencilAttachmentBit
	ImageUsageTransientAttachmentBit
	ImageUsageInputAttachmentBit
)

func (ImageUsageFlagBits) String

func (i ImageUsageFlagBits) String() string

type ImageUsageFlags

type ImageUsageFlags = ImageUsageFlagBits

type ImageView

type ImageView uintptr

func CreateImageView

func CreateImageView(device Device, createInfo ImageViewCreateInfo, allocator *AllocationCallbacks) (ImageView, error)

type ImageViewCreateFlagBits

type ImageViewCreateFlagBits uint32

type ImageViewCreateFlags

type ImageViewCreateFlags = ImageViewCreateFlagBits

type ImageViewCreateInfo

type ImageViewCreateInfo struct {
	Type             StructureType
	Next             uintptr
	Flags            ImageViewCreateFlags
	Image            Image
	ViewType         ImageViewType
	Format           Format
	Components       ComponentMapping
	SubresourceRange ImageSubresourceRange
}

type ImageViewType

type ImageViewType uint32
const (
	ImageViewType1D ImageViewType = iota
	ImageViewType2D
	ImageViewType3D
	ImageViewTypeCube
	ImageViewType1DArray
	ImageViewType2DArray
	ImageViewTypeCubeArray
)

type Instance

type Instance uintptr

func CreateInstance

func CreateInstance(info CreateInfo) (Instance, error)

func (Instance) Destroy

func (i Instance) Destroy()

func (Instance) DestroySurface

func (i Instance) DestroySurface(surface Surface)

func (Instance) EnumeratePhysicalDevices

func (i Instance) EnumeratePhysicalDevices() ([]PhysicalDevice, error)

type Layer

type Layer struct {
	LayerName             [MaxExtensionNameSize]uint8
	SpecVersion           uint32
	ImplementationVersion uint32
	Description           [MaxDescriptionSize]uint8
}

type LogicOp

type LogicOp uint32
const (
	LogicOpClear LogicOp = iota
	LogicOpAnd
	LogicOpAndReverse
	LogicOpCopy
	LogicOpAndInverted
	LogicOpNoOp
	LogicOpXor
	LogicOpOr
	LogicOpNor
	LogicOpEquivalent
	LogicOpInvert
	LogicOpOrReverse
	LogicOpCopyInverted
	LogicOpOrInverted
	LogicOpNand
	LogicOpSet
)

type MappedMemoryRange

type MappedMemoryRange struct {
	Type   StructureType
	Next   uintptr
	Memory DeviceMemory
	Offset DeviceSize
	Size   DeviceSize
}

type MemoryAllocateInfo

type MemoryAllocateInfo struct {
	Type            StructureType
	Next            uintptr
	AllocationSize  DeviceSize
	MemoryTypeIndex uint32
}

type MemoryBarrier

type MemoryBarrier struct {
	Type          StructureType
	Next          uintptr
	SrcAccessMask AccessFlags
	DstAccessMask AccessFlags
}

type MemoryHeap

type MemoryHeap struct {
	Size  DeviceSize
	Flags MemoryHeapFlags
}

type MemoryHeapFlagBits

type MemoryHeapFlagBits uint32
const (
	MemoryHeapDeviceLocalBit MemoryHeapFlagBits = 1 << iota
	MemoryHeapMultiInstanceBit
)

type MemoryHeapFlags

type MemoryHeapFlags = MemoryHeapFlagBits

type MemoryMapFlags

type MemoryMapFlags uint32

type MemoryPropertyFlagBits

type MemoryPropertyFlagBits uint32
const (
	MemoryPropertyDeviceLocalBit MemoryPropertyFlagBits = 1 << iota
	MemoryPropertyHostVisibleBit
	MemoryPropertyHostCoherentBit
	MemoryPropertyHostCachedBit
	MemoryPropertyLazilyAllocatedBit
	MemoryPropertyProtectedBit
)

type MemoryPropertyFlags

type MemoryPropertyFlags = MemoryPropertyFlagBits

type MemoryRequirements

type MemoryRequirements struct {
	Size           DeviceSize
	Alignment      DeviceSize
	MemoryTypeBits uint32
}

func GetBufferMemoryRequirements

func GetBufferMemoryRequirements(device Device, buffer Buffer) MemoryRequirements

func GetImageMemoryRequirements

func GetImageMemoryRequirements(device Device, image Image) MemoryRequirements

type MemoryType

type MemoryType struct {
	PropertyFlags MemoryPropertyFlags
	HeapIndex     uint32
}

type Offset2D

type Offset2D struct {
	// X is the x offset.
	X int32

	// Y is the y offset.
	Y int32
}

Offset2D - Structure specifying a two-dimensional offset

type Offset3D

type Offset3D struct {
	// X is the x offset.
	X int32

	// Y is the y offset.
	Y int32

	// Z is the z offset.
	Z int32
}

Offset3D - Structure specifying a three-dimensional offset

type PhysicalDevice

type PhysicalDevice uintptr

func EnumeratePhysicalDevices

func EnumeratePhysicalDevices(instance Instance) ([]PhysicalDevice, error)

func (PhysicalDevice) GetSurfaceSupport

func (d PhysicalDevice) GetSurfaceSupport(queueFamilyIndex uint32, surface Surface) (bool, error)

type PhysicalDeviceFeatures

type PhysicalDeviceFeatures struct {
	RobustBufferAccess bool

	FullDrawIndexUint32 bool

	ImageCubeArray bool

	IndependentBlend bool

	GeometryShader bool

	TessellationShader bool

	SampleRateShading bool

	DualSrcBlend bool

	LogicOp bool

	MultiDrawIndirect bool

	DrawIndirectFirstInstance bool

	DepthClamp bool

	DepthBiasClamp bool

	FillModeNonSolid bool

	DepthBounds bool

	WideLines bool

	LargePoints bool

	AlphaToOne bool

	MultiViewport bool

	SamplerAnisotropy bool

	TextureCompressionETC2 bool

	TextureCompressionASTCLDR bool

	TextureCompressionBC bool

	OcclusionQueryPrecise bool

	PipelineStatisticsQuery bool

	VertexPipelineStoresAndAtomics bool

	FragmentStoresAndAtomics bool

	ShaderTessellationAndGeometryPointSize bool

	ShaderImageGatherExtended bool

	ShaderStorageImageExtendedFormats bool

	ShaderStorageImageMultisample bool

	ShaderStorageImageReadWithoutFormat bool

	ShaderStorageImageWriteWithoutFormat bool

	ShaderUniformBufferArrayDynamicIndexing bool

	ShaderSampledImageArrayDynamicIndexing bool

	ShaderStorageBufferArrayDynamicIndexing bool

	ShaderStorageImageArrayDynamicIndexing bool

	ShaderClipDistance bool

	ShaderCullDistance bool

	ShaderFloat64 bool

	ShaderInt64 bool

	ShaderInt16 bool

	ShaderResourceResidency bool

	ShaderResourceMinLod bool

	SparseBinding bool

	SparseResidencyBuffer bool

	SparseResidencyImage2D bool

	SparseResidencyImage3D bool

	SparseResidency2Samples bool

	SparseResidency4Samples bool

	SparseResidency8Samples bool

	SparseResidency16Samples bool

	SparseResidencyAliased bool

	VariableMultisampleRate bool

	InheritedQueries bool
	// contains filtered or unexported fields
}

type PhysicalDeviceFeatures2

type PhysicalDeviceFeatures2 struct {
	Type StructureType
	Next uintptr
	PhysicalDeviceFeatures
}

type PhysicalDeviceGroupProperties

type PhysicalDeviceGroupProperties struct {
	Type             StructureType
	Next             uintptr
	PhysicalDevices  []PhysicalDevice
	SubsetAllocation bool
}

func EnumeratePhysicalDeviceGroups

func EnumeratePhysicalDeviceGroups(instance Instance) ([]PhysicalDeviceGroupProperties, error)

type PhysicalDeviceMemoryProperties

type PhysicalDeviceMemoryProperties struct {
	MemoryTypeCount uint32
	MemoryTypes     [MaxMemoryTypes]MemoryType
	MemoryHeapCount uint32
	MemoryHeaps     [MaxMemoryHeaps]MemoryHeap
}

func GetPhysicalDeviceMemoryProperties

func GetPhysicalDeviceMemoryProperties(device PhysicalDevice) PhysicalDeviceMemoryProperties

type PhysicalDeviceProperties

type PhysicalDeviceProperties struct {
	APIVersion        uint32
	DriverVersion     uint32
	VendorID          uint32
	DeviceID          uint32
	DeviceType        C.VkPhysicalDeviceType
	DeviceName        [MaxPhysicalDeviceNameSize]uint8
	PipelineCacheUUID [UUIDSize]uint8
	Limits            C.VkPhysicalDeviceLimits
	SparseProperties  C.VkPhysicalDeviceSparseProperties
}

type PhysicalDeviceProperties2KHR

type PhysicalDeviceProperties2KHR struct {
	Type C.VkStructureType
	Next *PhysicalDeviceProperties2KHR
	PhysicalDeviceProperties
}

type Pipeline

type Pipeline uintptr

func CreateComputePipelines

func CreateComputePipelines(device Device, pipelineCache PipelineCache, createInfos []ComputePipelineCreateInfo, allocator *AllocationCallbacks) ([]Pipeline, error)

func CreateGraphicsPipelines

func CreateGraphicsPipelines(device Device, pipelineCache PipelineCache, createInfos []GraphicsPipelineCreateInfo, allocator *AllocationCallbacks) ([]Pipeline, error)

type PipelineBindPoint

type PipelineBindPoint uint32
const (
	PipelineBindPointGraphics PipelineBindPoint = iota
	PipelineBindPointCompute
)

type PipelineCache

type PipelineCache uintptr

func CreatePipelineCache

func CreatePipelineCache(device Device, createInfo PipelineCacheCreateInfo, allocator *AllocationCallbacks) (PipelineCache, error)

type PipelineCacheCreateFlags

type PipelineCacheCreateFlags uint32

type PipelineCacheCreateInfo

type PipelineCacheCreateInfo struct {
	Type        StructureType
	Next        uintptr
	Flags       PipelineCacheCreateFlags
	InitialData []byte
}

func (*PipelineCacheCreateInfo) C

func (info *PipelineCacheCreateInfo) C(_info *pipelineCacheCreateInfo)

type PipelineColorBlendAttachmentState

type PipelineColorBlendAttachmentState struct {
	BlendEnable bool

	SrcColorBlendFactor BlendFactor
	DstColorBlendFactor BlendFactor
	ColorBlendOp        BlendOp
	SrcAlphaBlendFactor BlendFactor
	DstAlphaBlendFactor BlendFactor
	AlphaBlendOp        BlendOp
	ColorWriteMask      ColorComponentFlags
	// contains filtered or unexported fields
}

type PipelineColorBlendStateCreateFlags

type PipelineColorBlendStateCreateFlags uint32

type PipelineColorBlendStateCreateInfo

type PipelineColorBlendStateCreateInfo struct {
	Type           StructureType
	Next           uintptr
	Flags          PipelineColorBlendStateCreateFlags
	LogicOpEnable  bool
	LogicOp        LogicOp
	Attachments    []PipelineColorBlendAttachmentState
	BlendConstants [4]float32
}

func (*PipelineColorBlendStateCreateInfo) C

func (info *PipelineColorBlendStateCreateInfo) C(_info *pipelineColorBlendStateCreateInfo) freeFunc

type PipelineCreateFlagBits

type PipelineCreateFlagBits uint32
const (
	PipelineCreateDisableOptimizationBit PipelineCreateFlagBits = 1 << iota
	PipelineCreateAllowDerivativeBit
	PipelineCreateDerivativeBit
	PipelineCreateViewIndexFromDeviceIndexBit
	PipelineCreateDispatchBase
)

type PipelineCreateFlags

type PipelineCreateFlags = PipelineCreateFlagBits

type PipelineDepthStencilStateCreateFlags

type PipelineDepthStencilStateCreateFlags uint32

type PipelineDepthStencilStateCreateInfo

type PipelineDepthStencilStateCreateInfo struct {
	Type            StructureType
	Next            uintptr
	Flags           PipelineDepthStencilStateCreateFlags
	DepthTestEnable bool

	DepthWriteEnable bool

	DepthCompareOp        CompareOp
	DepthBoundsTestEnable bool

	StencilTestEnable bool

	Front          StencilOpState
	Back           StencilOpState
	MinDepthBounds float32
	MaxDeptBounds  float32
	// contains filtered or unexported fields
}

type PipelineDynamicStateCreateInfo

type PipelineDynamicStateCreateInfo struct{}

type PipelineInputAssemblyStateCreateFlags

type PipelineInputAssemblyStateCreateFlags uint32

type PipelineInputAssemblyStateCreateInfo

type PipelineInputAssemblyStateCreateInfo struct {
	Type                   StructureType
	Next                   uintptr
	Flags                  PipelineInputAssemblyStateCreateFlags
	Topology               PrimitiveTopology
	PrimitiveRestartEnable bool
	// contains filtered or unexported fields
}

type PipelineLayout

type PipelineLayout uintptr

func CreatePipelineLayout

func CreatePipelineLayout(device Device, createInfo PipelineLayoutCreateInfo, allocator *AllocationCallbacks) (PipelineLayout, error)

type PipelineLayoutCreateFlags

type PipelineLayoutCreateFlags uint32

type PipelineLayoutCreateInfo

type PipelineLayoutCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              PipelineLayoutCreateFlags
	SetLayouts         []DescriptorSetLayout
	PushConstantRanges []PushConstantRange
}

func (*PipelineLayoutCreateInfo) C

func (info *PipelineLayoutCreateInfo) C(_info *pipelineLayoutCreateInfo) freeFunc

type PipelineMultisampleStateCreateFlags

type PipelineMultisampleStateCreateFlags uint32

type PipelineMultisampleStateCreateInfo

type PipelineMultisampleStateCreateInfo struct {
	Type                 StructureType
	Next                 uintptr
	Flags                PipelineMultisampleStateCreateFlags
	RasterizationSamples SampleCountFlagBits
	SampleShadingEnable  bool

	MinSampleShading      float32
	SampleMask            *SampleMask
	AlphaToCoverageEnable bool

	AlphaToOneEnable bool
	// contains filtered or unexported fields
}

type PipelineRasterizationStateCreateFlagBits

type PipelineRasterizationStateCreateFlagBits uint32

type PipelineRasterizationStateCreateInfo

type PipelineRasterizationStateCreateInfo struct {
	Type             StructureType
	Next             uintptr
	Flags            PipelineRasterizationStateCreateFlags
	DepthClampEnable bool

	RasterizerDiscardEnable bool

	PolygonMode     PolygonMode
	CullMode        CullModeFlags
	FrontFace       FrontFace
	DepthBiasEnable bool

	DepthBiasConstantFactor float32
	DepthBiasClamp          float32
	DepthBiasSlopeFactor    float32
	LineWidth               float32
	// contains filtered or unexported fields
}

type PipelineShaderStageCreateFlags

type PipelineShaderStageCreateFlags uint32

type PipelineShaderStageCreateInfo

type PipelineShaderStageCreateInfo struct {
	Type               StructureType
	Next               uintptr
	Flags              PipelineShaderStageCreateFlags
	Stage              ShaderStageFlagBits
	Module             ShaderModule
	Name               string
	SpecializationInfo SpecializationInfo
}

func (*PipelineShaderStageCreateInfo) C

func (info *PipelineShaderStageCreateInfo) C(_info *pipelineShaderStageCreateInfo) freeFunc

type PipelineStageFlagBits

type PipelineStageFlagBits uint32
const (
	PipelineStageTopOfPipeBit PipelineStageFlagBits = 1 << iota
	PipelineStageDrawIndirectBit
	PipelineStageVertexInputBit
	PipelineStageVertexShaderBit
	PipelineStageTessellationControlShaderBit
	PipelineStageTessellationEvaluationShaderBit
	PipelineStageGeometryShaderBit
	PipelineStageFragmentShaderBit
	PipelineStageEarlyFragmentTestsBit
	PipelineStageLateFragmentTestsBit
	PipelineStageColorAttachmentOutputBit
	PipelineStageComputeShaderBit
	PipelineStageTransferBit
	PipelineStageBottomOfPipeBit
	PipelineStageHostBit
	PipelineStageAllGraphicsBit
	PipelineStageAllCommandsBit
)

type PipelineStageFlags

type PipelineStageFlags = PipelineStageFlagBits

type PipelineTessellationStateCreateInfo

type PipelineTessellationStateCreateInfo struct{}

type PipelineVertexInputStateCreateFlags

type PipelineVertexInputStateCreateFlags uint32

type PipelineVertexInputStateCreateInfo

type PipelineVertexInputStateCreateInfo struct {
	Type                        StructureType
	Next                        uintptr
	Flags                       PipelineVertexInputStateCreateFlags
	VertexBindingDescriptions   []VertexInputBindingDescription
	VertexAttributeDescriptions []VertexInputAttributeDescription
}

func (*PipelineVertexInputStateCreateInfo) C

func (info *PipelineVertexInputStateCreateInfo) C(_info *pipelineVertexInputStateCreateInfo) freeFunc

type PipelineViewportStateCreateFlags

type PipelineViewportStateCreateFlags uint32

type PipelineViewportStateCreateInfo

type PipelineViewportStateCreateInfo struct {
	Type      StructureType
	Next      uintptr
	Flags     PipelineViewportStateCreateFlags
	Viewports []Viewport
	Scissors  []Rect2D
}

func (*PipelineViewportStateCreateInfo) C

func (info *PipelineViewportStateCreateInfo) C(_info *pipelineViewportStateCreateInfo) freeFunc

type PolygonMode

type PolygonMode uint32
const (
	PolygonModeFill PolygonMode = iota
	PolygonModeLine
	PolygonModePoint
)

type PresentInfo

type PresentInfo struct {
	Type           StructureType
	Next           uintptr
	WaitSemaphores []Semaphore
	Swapchains     []Swapchain
	ImageIndices   []uint32
	Results        []Result
}

func (*PresentInfo) C

func (info *PresentInfo) C(_info *presentInfo) freeFunc

type PresentMode

type PresentMode uint32
const (
	PresentModeImmediate PresentMode = iota
	PresentModeMailbox
	PresentModeFIFO
	PresentModeFIFORelaxed
)
const (
	PresentModeSharedDemandRefresh     PresentMode = 1000111000
	PresentModeSharedContinuousRefresh PresentMode = 1000111001
)

func GetPhysicalDeviceSurfacePresentModes

func GetPhysicalDeviceSurfacePresentModes(physicalDevice PhysicalDevice, surface Surface) ([]PresentMode, error)

func (PresentMode) String

func (i PresentMode) String() string

type PrimitiveTopology

type PrimitiveTopology uint32
const (
	PrimitiveTopologyPointList PrimitiveTopology = iota
	PrimitiveTopologyLineList
	PrimitiveTopologyLineStrip
	PrimitiveTopologyTriangleList
	PrimitiveTopologyTriangleStrip
	PrimitiveTopologyTriangleFan
	PrimitiveTopologyLineListWithAdjacency
	PrimitiveTopologyLineStripWithAdjacency
	PrimitiveTopologyTriangleListWithAdjacency
	PrimitiveTopologyTriangleStripWithAdjacency
	PrimitiveTopologyPatchList
)

type PushConstantRange

type PushConstantRange struct {
	StageFlags ShaderStageFlags
	Offset     uint32
	Size       uint32
}

type QueryControlFlagBits

type QueryControlFlagBits uint32
const (
	QueryControlPreciseBit QueryControlFlagBits = 1 << iota
)

type QueryControlFlags

type QueryControlFlags = QueryControlFlagBits

type QueryPipelineStatisticFlagBits

type QueryPipelineStatisticFlagBits uint32
const (
	QueryPipelineStatisticInputAssemblyVerticesBit QueryPipelineStatisticFlagBits = 1 << iota
	QueryPipelineStatisticInputAssemblyPrimitivesBit
	QueryPipelineStatisticVertexShaderInvocationsBit
	QueryPipelineStatisticGeometryShaderInvocationsBit
	QueryPipelineStatisticGeometryShaderPrimitivesBit
	QueryPipelineStatisticClippingInvocationsBit
	QueryPipelineStatisticClippingPrimitivesBit
	QueryPipelineStatisticFragmentShaderInvocationsBit
	QueryPipelineStatisticTessellationControlShaderPatchesBit
	QueryPipelineStatisticTessellationEvaluationShaderInvocationsBit
	QueryPipelineStatisticComputeShaderInvocations
)

type QueryPipelineStatisticFlags

type QueryPipelineStatisticFlags = QueryPipelineStatisticFlagBits

type Queue

type Queue uintptr

func (Queue) Present

func (q Queue) Present(info PresentInfo) (freeFunc, error)

type QueueFamilyProperties

type QueueFamilyProperties struct {
	QueueFlags                  QueueFlags
	QueueCount                  uint32
	TimestampValidBits          uint32
	MinImageTransferGranularity Extent3D
}

func GetPhysicalDeviceQueueFamilyProperties

func GetPhysicalDeviceQueueFamilyProperties(physicalDevice PhysicalDevice) []QueueFamilyProperties

type QueueFamilyProperties2

type QueueFamilyProperties2 struct {
	Type StructureType
	Next uintptr
	QueueFamilyProperties
}

func GetPhysicalDeviceQueueFamilyProperties2

func GetPhysicalDeviceQueueFamilyProperties2(physicalDevice PhysicalDevice) []QueueFamilyProperties2

type QueueFlagBit

type QueueFlagBit uint32
const (
	QueueGraphicsBit QueueFlagBit = 1 << iota
	QueueComputeBit
	QueueTransferBit
	QueueSparseBindingBit
	QueueProtectedBit
)

type QueueFlags

type QueueFlags = QueueFlagBit

type Rect2D

type Rect2D struct {
	Offset Offset2D
	Extent Extent2D
}

type RenderPass

type RenderPass uintptr

func CreateRenderPass

func CreateRenderPass(device Device, createInfo RenderPassCreateInfo, allocator *AllocationCallbacks) (RenderPass, error)

type RenderPassBeginInfo

type RenderPassBeginInfo struct {
	Type        StructureType
	Next        uintptr
	RenderPass  RenderPass
	Framebuffer Framebuffer
	RenderArea  Rect2D
	ClearValues []ClearValue
}

func (*RenderPassBeginInfo) C

func (info *RenderPassBeginInfo) C(_info *renderPassBeginInfo) freeFunc

type RenderPassCreateInfo

type RenderPassCreateInfo struct {
	Type         C.VkStructureType
	Next         uintptr
	Flags        C.VkRenderPassCreateFlags
	Attachments  []AttachmentDescription
	Subpasses    []SubpassDescription
	Dependencies []SubpassDependency
}

type Result

type Result int32
const (
	Success Result = iota
	NotReady
	Timeout
	EventSet
	EventReset
	Incomplete
)
const (
	ErrorOutOfHostMemory Result = -iota - 1
	ErrorOutOfDeviceMemory
	ErrorInitializationFailed
	ErrorDeviceLost
	ErrorMemoryMapFailed
	ErrorLayerNotPresent
	ErrorExtensionNotPresent
	ErrorFeatureNotPresent
	ErrorIncompatibleDriver
	ErrorTooManyObjects
	ErrorFormatNotSupported
	ErrorFragmentedPool
)
const (
	ErrorOutOfPoolMemory                        Result = -1000069000
	ErrorInvalidExternalHandle                  Result = -1000072003
	ErrorSurfaceLostKHR                         Result = -1000000000
	ErrorNativeWindowInUseKHR                   Result = -1000000001
	SuboptimalKHR                               Result = -1000001003
	ErrorOutOfDateKHR                           Result = -1000001004
	ErrorIncompatibleDisplayKHR                 Result = -1000003001
	ErrorValidationFailedEXT                    Result = -1000011001
	ErrorInvalidShaderNV                        Result = -1000012000
	ErrorInvalidDRMFormatModifierPlaneLayoutEXT Result = -1000158000
	ErrorFragmentationEXT                       Result = -1000161000
	ErrorNotPermittedEXT                        Result = -1000174001
	ErrorInvalidDeviceAddressEXT                Result = -1000244000
	ErrorFullScreenExclusiveModeLostEXT         Result = -1000255000
)

func (Result) Error

func (r Result) Error() string

type SampleCountFlagBits

type SampleCountFlagBits uint32
const (
	SampleCount1Bit SampleCountFlagBits = 1 << iota
	SampleCount2Bit
	SampleCount4Bit
	SampleCount8Bit
	SampleCount16Bit
	SampleCount32Bit
	SampleCount64Bit
)

type SampleCountFlags

type SampleCountFlags SampleCountFlagBits

type SampleMask

type SampleMask uint32

type Sampler

type Sampler uintptr

func CreateSampler

func CreateSampler(device Device, createInfo SamplerCreateInfo, allocator *AllocationCallbacks) (Sampler, error)

type SamplerAddressMode

type SamplerAddressMode uint32
const (
	SamplerAddressModeRepeat SamplerAddressMode = iota
	SamplerAddressModeMirroredRepeat
	SamplerAddressModeClampToEdge
	SamplerAddressModeClampToBorder
	SamplerAddressModeMirrorClampToEdge
)

type SamplerCreateFlags

type SamplerCreateFlags uint32

type SamplerCreateInfo

type SamplerCreateInfo struct {
	Type             StructureType
	Next             uintptr
	Flags            SamplerCreateFlags
	MagFilter        Filter
	MinFilter        Filter
	MipMapMode       SamplerMipMapMode
	AddressModeU     SamplerAddressMode
	AddressModeV     SamplerAddressMode
	AddressModeW     SamplerAddressMode
	MipLodBias       float32
	AnisotropyEnable bool

	MaxAnisotropy float32
	CompareEnable bool

	CompareOp               CompareOp
	MinLod                  float32
	MaxLod                  float32
	BorderColor             BorderColor
	UnnormalizedCoordinates bool
	// contains filtered or unexported fields
}

type SamplerMipMapMode

type SamplerMipMapMode uint32
const (
	SamplerMipMapModeNearest SamplerMipMapMode = iota
	SamplerMipMapModeLinear
)

type Semaphore

type Semaphore uintptr

func CreateSemaphore

func CreateSemaphore(device Device, createInfo SemaphoreCreateInfo, allocator *AllocationCallbacks) (Semaphore, error)

type SemaphoreCreateFlags

type SemaphoreCreateFlags uint32

type SemaphoreCreateInfo

type SemaphoreCreateInfo struct {
	Type  StructureType
	Next  uintptr
	Flags SemaphoreCreateFlags
}

type ShaderModule

type ShaderModule uintptr

func CreateShaderModule

func CreateShaderModule(device Device, createInfo ShaderModuleCreateInfo, allocator *AllocationCallbacks) (ShaderModule, error)

type ShaderModuleCreateFlags

type ShaderModuleCreateFlags uint32

type ShaderModuleCreateInfo

type ShaderModuleCreateInfo struct {
	Type  StructureType
	Next  uintptr
	Flags ShaderModuleCreateFlags
	Code  []byte
}

func (*ShaderModuleCreateInfo) C

func (info *ShaderModuleCreateInfo) C(_info *shaderModuleCreateInfo) freeFunc

type ShaderStageFlagBits

type ShaderStageFlagBits uint32
const (
	ShaderStageVertexBit ShaderStageFlagBits = 1 << iota
	ShaderStageTessellationControlBit
	ShaderStageTessellationEvaluationBit
	ShaderStageGeometryBit
	ShaderStageFragmentBit
	ShaderStageComputeBit
	ShaderStageAllGraphics = ShaderStageComputeBit - 1
	ShaderStageAll         = ^ShaderStageFlagBits(0x80000000)
)

type ShaderStageFlags

type ShaderStageFlags = ShaderStageFlagBits

type SharingMode

type SharingMode uint32
const (
	SharingModeExclusive SharingMode = iota
	SharingModeConcurrent
)

type SpecializationInfo

type SpecializationInfo struct {
	MapEntries []SpecializationMapEntry
	Data       []byte
}

type SpecializationMapEntry

type SpecializationMapEntry struct {
	ConstantID uint32
	Offset     uint32
	Size       int
}

type StencilOp

type StencilOp uint32
const (
	StencilOpKeep StencilOp = iota
	StencilOpZero
	StencilOpReplace
	StencilOpIncrementAndClamp
	StencilOpIncrementAndWrap
	StencilOpInvert
	StencilOpDecrementAndClamp
	StencilOpDecrementAndWrap
)

type StencilOpState

type StencilOpState struct {
	FailOp      StencilOp
	PassOp      StencilOp
	DepthFailOp StencilOp
	CompareOp   CompareOp
	CompareMask uint32
	WriteMask   uint32
	Reference   uint32
}

type StructureType

type StructureType uint32
const (
	StructureTypeApplicationInfo StructureType = iota
	StructureTypeInstanceCreateInfo
	StructureTypeDeviceQueueCreateInfo
	StructureTypeDeviceCreateInfo
	StructureTypeSubmitInfo
	StructureTypeMemoryAllocateInfo
	StructureTypeMappedMemoryRange
	StructureTypeBindSparseInfo
	StructureTypeFenceCreateInfo
	StructureTypeSemaphoreCreateInfo
	StructureTypeEventCreateInfo
	StructureTypeQueryPoolCreateInfo
	StructureTypeBufferCreateInfo
	StructureTypeBufferViewCreateInfo
	StructureTypeImageCreateInfo
	StructureTypeImageViewCreateInfo
	StructureTypeShaderModuleCreateInfo
	StructureTypePipelineCacheCreateInfo
	StructureTypePipelineShaderStageCreateInfo
	StructureTypePipelineVertexInputStateCreateInfo
	StructureTypePipelineInputAssemblyStateCreateInfo
	StructureTypePipelineTessellationStateCreateInfo
	StructureTypePipelineViewportStateCreateInfo
	StructureTypePipelineRasterizationStateCreateInfo
	StructureTypePipelineMultisampleStateCreateInfo
	StructureTypePipelineDepthStencilStateCreateInfo
	StructureTypePipelineColorBlendStateCreateInfo
	StructureTypePipelineDynamicStateCreateInfo
	StructureTypeGraphicsPipelineCreateInfo
	StructureTypeComputePipelineCreateInfo
	StructureTypePipelineLayoutCreateInfo
	StructureTypeSamplerCreateInfo
	StructureTypeDescriptorSetLayoutCreateInfo
	StructureTypeDescriptorPoolCreateInfo
	StructureTypeDescriptorSetAllocateInfo
	StructureTypeWriteDescriptorSet
	StructureTypeCopyDescriptorSet
	StructureTypeFramebufferCreateInfo
	StructureTypeRenderPassCreateInfo
	StructureTypeCommandPoolCreateInfo
	StructureTypeCommandBufferAllocateInfo
	StructureTypeCommandBufferInheritanceInfo
	StructureTypeCommandBufferBeginInfo
	StructureTypeRenderPassBeginInfo
	StructureTypeBufferMemoryBarrier
	StructureTypeImageMemoryBarrier
	StructureTypeMemoryBarrier
	StructureTypeLoaderInstanceCreateInfo
	StructureTypeLoaderDeviceCreateInfo
)
const (
	StructureTypePhysicalDeviceSubgroupProperties                         StructureType = 1000094000
	StructureTypeBindBufferMemoryInfo                                     StructureType = 1000157000
	StructureTypeBindImageMemoryInfo                                      StructureType = 1000157001
	StructureTypePhysicalDevice16BitStorageFeatures                       StructureType = 1000083000
	StructureTypeMemoryDedicatedRequirements                              StructureType = 1000127000
	StructureTypeMemoryDedicatedAllocateInfo                              StructureType = 1000127001
	StructureTypeMemoryAllocateFlagsInfo                                  StructureType = 1000060000
	StructureTypeDeviceGroupRenderPassBeginInfo                           StructureType = 1000060003
	StructureTypeDeviceGroupCommandBufferBeginInfo                        StructureType = 1000060004
	StructureTypeDeviceGroupSubmitInfo                                    StructureType = 1000060005
	StructureTypeDeviceGroupBindSparseInfo                                StructureType = 1000060006
	StructureTypeBindBufferMemoryDeviceGroupInfo                          StructureType = 1000060013
	StructureTypeBindImageMemoryDeviceGroupInfo                           StructureType = 1000060014
	StructureTypePhysicalDeviceGroupProperties                            StructureType = 1000070000
	StructureTypeDeviceGroupDeviceCreateInfo                              StructureType = 1000070001
	StructureTypeBufferMemoryRequirementsInfo2                            StructureType = 1000146000
	StructureTypeImageMemoryRequirementsInfo2                             StructureType = 1000146001
	StructureTypeImageSparseMemoryRequirementsInfo2                       StructureType = 1000146002
	StructureTypeMemoryRequirements2                                      StructureType = 1000146003
	StructureTypeSparseImageMemoryRequirements2                           StructureType = 1000146004
	StructureTypePhysicalDeviceFeatures2                                  StructureType = 1000059000
	StructureTypePhysicalDeviceProperties2                                StructureType = 1000059001
	StructureTypeFormatProperties2                                        StructureType = 1000059002
	StructureTypeImageFormatProperties2                                   StructureType = 1000059003
	StructureTypePhysicalDeviceImageFormatInfo2                           StructureType = 1000059004
	StructureTypeQueueFamilyProperties2                                   StructureType = 1000059005
	StructureTypePhysicalDeviceMemoryProperties2                          StructureType = 1000059006
	StructureTypeSparseImageFormatProperties2                             StructureType = 1000059007
	StructureTypePhysicalDeviceSparseImageFormatInfo2                     StructureType = 1000059008
	StructureTypePhysicalDevicePointClippingProperties                    StructureType = 1000117000
	StructureTypeRenderPassInputAttachmentAspectCreateInfo                StructureType = 1000117001
	StructureTypeImageViewUsageCreateInfo                                 StructureType = 1000117002
	StructureTypePipelineTessellationDomainOriginStateCreateInfo          StructureType = 1000117003
	StructureTypeRenderPassMultiviewCreateInfo                            StructureType = 1000053000
	StructureTypePhysicalDeviceMultiviewFeatures                          StructureType = 1000053001
	StructureTypePhysicalDeviceMultiviewProperties                        StructureType = 1000053002
	StructureTypePhysicalDeviceVariablePointersFeatures                   StructureType = 1000120000
	StructureTypeProtectedSubmitInfo                                      StructureType = 1000145000
	StructureTypePhysicalDeviceProtectedMemoryFeatures                    StructureType = 1000145001
	StructureTypePhysicalDeviceProtectedMemoryProperties                  StructureType = 1000145002
	StructureTypeDeviceQueueInfo2                                         StructureType = 1000145003
	StructureTypeSamplerYCbCrConversionCreateInfo                         StructureType = 1000156000
	StructureTypeSamplerYCbCrConversionInfo                               StructureType = 1000156001
	StructureTypeBindImagePlaneMemoryInfo                                 StructureType = 1000156002
	StructureTypeImagePlaneMemoryRequirementsInfo                         StructureType = 1000156003
	StructureTypePhysicalDeviceSamplerYCbCrConversionFeatures             StructureType = 1000156004
	StructureTypeSamplerYCbCrConversionImageFormatProperties              StructureType = 1000156005
	StructureTypeDescriptorUpdateTemplateCreateInfo                       StructureType = 1000085000
	StructureTypePhysicalDeviceExternalImageFormatInfo                    StructureType = 1000071000
	StructureTypeExternalImageFormatProperties                            StructureType = 1000071001
	StructureTypePhysicalDeviceExternalBufferInfo                         StructureType = 1000071002
	StructureTypeExternalBufferProperties                                 StructureType = 1000071003
	StructureTypePhysicalDeviceIDProperties                               StructureType = 1000071004
	StructureTypeExternalMemoryBufferCreateInfo                           StructureType = 1000072000
	StructureTypeExternalMemoryImageCreateInfo                            StructureType = 1000072001
	StructureTypeExportMemoryAllocateInfo                                 StructureType = 1000072002
	StructureTypePhysicalDeviceExternalFenceInfo                          StructureType = 1000112000
	StructureTypeExternalFenceProperties                                  StructureType = 1000112001
	StructureTypeExportFenceCreateInfo                                    StructureType = 1000113000
	StructureTypeExportSemaphoreCreateInfo                                StructureType = 1000077000
	StructureTypePhysicalDeviceExternalSemaphoreInfo                      StructureType = 1000076000
	StructureTypeExternalSemaphoreProperties                              StructureType = 1000076001
	StructureTypePhysicalDeviceMaintenance3Properties                     StructureType = 1000168000
	StructureTypeDescriptorSetLayoutSupport                               StructureType = 1000168001
	StructureTypePhysicalDeviceShaderDrawParametersFeatures               StructureType = 1000063000
	StructureTypeSwapchainCreateInfoKHR                                   StructureType = 1000001000
	StructureTypePresentInfoKHR                                           StructureType = 1000001001
	StructureTypeDeviceGroupPresentCapabilitiesKHR                        StructureType = 1000060007
	StructureTypeImageSwapchainCreateInfoKHR                              StructureType = 1000060008
	StructureTypeBindImageMemorySwapchainInfoKHR                          StructureType = 1000060009
	StructureTypeAcquireNextImageInfoKHR                                  StructureType = 1000060010
	StructureTypeDeviceGroupPresentInfoKHR                                StructureType = 1000060011
	StructureTypeDeviceGroupSwapchainCreateInfoKHR                        StructureType = 1000060012
	StructureTypeDisplayModeCreateInfoKHR                                 StructureType = 1000002000
	StructureTypeDisplaySurfaceCreateInfoKHR                              StructureType = 1000002001
	StructureTypeDisplayPresentInfoKHR                                    StructureType = 1000003000
	StructureTypeXlibSurfaceCreateInfoKHR                                 StructureType = 1000004000
	StructureTypeXCBSurfaceCreateInfoKHR                                  StructureType = 1000005000
	StructureTypeWaylandSurfaceCreateInfoKHR                              StructureType = 1000006000
	StructureTypeAndroidSurfaceCreateInfoKHR                              StructureType = 1000008000
	StructureTypeWin32SurfaceCreateInfoKHR                                StructureType = 1000009000
	StructureTypeDebugReportCallbackCreateInfoEXT                         StructureType = 1000011000
	StructureTypePipelineRasterizationStateRasterizationOrderAMD          StructureType = 1000018000
	StructureTypeDebugMarkerObjectNameInfoEXT                             StructureType = 1000022000
	StructureTypeDebugMarkerObjectTagInfoEXT                              StructureType = 1000022001
	StructureTypeDebugMarkerMarkerInfoEXT                                 StructureType = 1000022002
	StructureTypeDedicatedAllocationImageCreateInfoNV                     StructureType = 1000026000
	StructureTypeDedicatedAllocationBufferCreateInfoNV                    StructureType = 1000026001
	StructureTypeDedicatedAllocationMemoryAllocateInfoNV                  StructureType = 1000026002
	StructureTypePhysicalDeviceTransformFeedbackFeaturesEXT               StructureType = 1000028000
	StructureTypePhysicalDeviceTransformFeedbackPropertiesEXT             StructureType = 1000028001
	StructureTypePipelineRasterizationStateStreamCreateInfoEXT            StructureType = 1000028002
	StructureTypeImageViewHandleInfoNVX                                   StructureType = 1000030000
	StructureTypeTextureLODGatherFormatPropertiesAMD                      StructureType = 1000041000
	StructureTypeStreamDescriptorSurfaceCreateInfoGGP                     StructureType = 1000049000
	StructureTypePhysicalDeviceCornerSampledImageFeaturesNV               StructureType = 1000050000
	StructureTypeExternalMemoryImageCreateInfoNV                          StructureType = 1000056000
	StructureTypeExportMemoryAllocateInfoNV                               StructureType = 1000056001
	StructureTypeImportMemoryWin32HandleInfoNV                            StructureType = 1000057000
	StructureTypeExportMemoryWin32HandleInfoNV                            StructureType = 1000057001
	StructureTypeWin32KeyedMutexAcquireReleaseInfoNV                      StructureType = 1000058000
	StructureTypeValidationFlagsEXT                                       StructureType = 1000061000
	StructureTypeVISurfaceCreateInfoNN                                    StructureType = 1000062000
	StructureTypePhysicalDeviceTextureCompressionASTCHDRFeaturesEXT       StructureType = 1000066000
	StructureTypeImageViewASTCDecodeModeEXT                               StructureType = 1000067000
	StructureTypePhysicalDeviceASTCDecodeFeaturesEXT                      StructureType = 1000067001
	StructureTypeImportMemoryWin32HandleInfoKHR                           StructureType = 1000073000
	StructureTypeExportMemoryWin32HandleInfoKHR                           StructureType = 1000073001
	StructureTypeMemoryWin32HandlePropertiesKHR                           StructureType = 1000073002
	StructureTypeMemoryGetWin32HandleInfoKHR                              StructureType = 1000073003
	StructureTypeImportMemoryFDInfoKHR                                    StructureType = 1000074000
	StructureTypeMemoryFDPropertiesKHR                                    StructureType = 1000074001
	StructureTypeMemoryGetFDInfoKHR                                       StructureType = 1000074002
	StructureTypeWin32KeyedMutexAcquireReleaseInfoKHR                     StructureType = 1000075000
	StructureTypeImportSemaphoreWin32HandleInfoKHR                        StructureType = 1000078000
	StructureTypeExportSemaphoreWin32HandleInfoKHR                        StructureType = 1000078001
	StructureTypeD3D12FenceSubmitInfoKHR                                  StructureType = 1000078002
	StructureTypeSemaphoreGetWin32HandleInfoKHR                           StructureType = 1000078003
	StructureTypeImportSemaphoreFDInfoKHR                                 StructureType = 1000079000
	StructureTypeSemaphoreGetFDInfoKHR                                    StructureType = 1000079001
	StructureTypePhysicalDevicePushDescriptorPropertiesKHR                StructureType = 1000080000
	StructureTypeCommandBufferInheritanceConditionalRenderingInfoEXT      StructureType = 1000081000
	StructureTypePhysicalDeviceConditionalRenderingFeaturesEXT            StructureType = 1000081001
	StructureTypeConditionalRenderingBeginInfoEXT                         StructureType = 1000081002
	StructureTypePhysicalDeviceShaderFloat16Int8FeaturesEXT               StructureType = 1000082000
	StructureTypePresentRegionsKHR                                        StructureType = 1000084000
	StructureTypeObjectTableCreateInfoNVX                                 StructureType = 1000086000
	StructureTypeIndirectCommandsLayoutCreateInfoNVX                      StructureType = 1000086001
	StructureTypeCMDProcessCommandsInfoNVX                                StructureType = 1000086002
	StructureTypeCMDReserveSpaceForCommandsInfoNVX                        StructureType = 1000086003
	StructureTypeDeviceGeneratedCommandsLimitsNVX                         StructureType = 1000086004
	StructureTypeDeviceGeneratedCommandsFeaturesNVX                       StructureType = 1000086005
	StructureTypePipelineViewportWScalingStateCreateInfoNV                StructureType = 1000087000
	StructureTypeSurfaceCapabilities2EXT                                  StructureType = 1000090000
	StructureTypeDisplayPowerInfoEXT                                      StructureType = 1000091000
	StructureTypeDeviceEventInfoEXT                                       StructureType = 1000091001
	StructureTypeDisplayEventInfoEXT                                      StructureType = 1000091002
	StructureTypeSwapchainCounterCreateInfoEXT                            StructureType = 1000091003
	StructureTypePresentTimesInfoGoogle                                   StructureType = 1000092000
	StructureTypePhysicalDeviceMultiviewPerViewAttributesPropertiesNVX    StructureType = 1000097000
	StructureTypePipelineViewportSwizzleStateCreateInfoNV                 StructureType = 1000098000
	StructureTypePhysicalDeviceDiscardRectanglePropertiesEXT              StructureType = 1000099000
	StructureTypePipelineDiscardRectangleStateCreateInfoEXT               StructureType = 1000099001
	StructureTypePhysicalDeviceConservativeRasterizationPropertiesEXT     StructureType = 1000101000
	StructureTypePipelineRasterizationConservativeStateCreateInfoEXT      StructureType = 1000101001
	StructureTypePhysicalDeviceDepthClipEnableFeaturesEXT                 StructureType = 1000102000
	StructureTypePipelineRasterizationDepthClipStateCreateInfoEXT         StructureType = 1000102001
	StructureTypeHDRMetadataEXT                                           StructureType = 1000105000
	StructureTypePhysicalDeviceImagelessFramebufferFeaturesKHR            StructureType = 1000108000
	StructureTypeFramebufferAttachmentsCreateInfoKHR                      StructureType = 1000108001
	StructureTypeFramebufferAttachmentImageInfoKHR                        StructureType = 1000108002
	StructureTypeRenderPassAttachmentBeginInfoKHR                         StructureType = 1000108003
	StructureTypeAttachmentDescription2KHR                                StructureType = 1000109000
	StructureTypeAttachmentReference2KHR                                  StructureType = 1000109001
	StructureTypeSubpassDescription2KHR                                   StructureType = 1000109002
	StructureTypeSubpassDependency2KHR                                    StructureType = 1000109003
	StructureTypeRenderPassCreateInfo2KHR                                 StructureType = 1000109004
	StructureTypeSubpassBeginInfoKHR                                      StructureType = 1000109005
	StructureTypeSubpassEndInfoKHR                                        StructureType = 1000109006
	StructureTypeSharedPresentSurfaceCapabilitiesKHR                      StructureType = 1000111000
	StructureTypeImportFenceWin32HandleInfoKHR                            StructureType = 1000114000
	StructureTypeExportFenceWin32HandleInfoKHR                            StructureType = 1000114001
	StructureTypeFenceGetWin32HandleInfoKHR                               StructureType = 1000114002
	StructureTypeImportFenceFDInfoKHR                                     StructureType = 1000115000
	StructureTypeFenceGetFDInfoKHR                                        StructureType = 1000115001
	StructureTypePhysicalDeviceSurfaceInfo2KHR                            StructureType = 1000119000
	StructureTypeSurfaceCapabilities2KHR                                  StructureType = 1000119001
	StructureTypeSurfaceFormat2KHR                                        StructureType = 1000119002
	StructureTypeDisplayProperties2KHR                                    StructureType = 1000121000
	StructureTypeDisplayPlaneProperties2KHR                               StructureType = 1000121001
	StructureTypeDisplayModeProperties2KHR                                StructureType = 1000121002
	StructureTypeDisplayPlaneInfo2KHR                                     StructureType = 1000121003
	StructureTypeDisplayPlaneCapabilities2KHR                             StructureType = 1000121004
	StructureTypeIOSSurfaceCreateInfoMVK                                  StructureType = 1000122000
	StructureTypeMacOSSurfaceCreateInfoMVK                                StructureType = 1000123000
	StructureTypeDebugUtilsObjectNameInfoEXT                              StructureType = 1000128000
	StructureTypeDebugUtilsObjectTagInfoEXT                               StructureType = 1000128001
	StructureTypeDebugUtilsLabelEXT                                       StructureType = 1000128002
	StructureTypeDebugUtilsMessengerCallbackDataEXT                       StructureType = 1000128003
	StructureTypeDebugUtilsMessengerCreateInfoEXT                         StructureType = 1000128004
	StructureTypeAndroidHardwareBufferUsageAndroid                        StructureType = 1000129000
	StructureTypeAndroidHardwareBufferPropertiesAndroid                   StructureType = 1000129001
	StructureTypeAndroidHardwareBufferFormatPropertiesAndroid             StructureType = 1000129002
	StructureTypeImportAndroidHardwareBufferInfoAndroid                   StructureType = 1000129003
	StructureTypeMemoryGetAndroidHardwareBufferInfoAndroid                StructureType = 1000129004
	StructureTypeExternalFormatAndroid                                    StructureType = 1000129005
	StructureTypePhysicalDeviceSamplerFilterMinMaxPropertiesEXT           StructureType = 1000130000
	StructureTypeSamplerReductionModeCreateInfoEXT                        StructureType = 1000130001
	StructureTypePhysicalDeviceInlineUniformBlockFeaturesEXT              StructureType = 1000138000
	StructureTypePhysicalDeviceInlineUniformBlockPropertiesEXT            StructureType = 1000138001
	StructureTypeWriteDescriptorSetInlineUniformBlockEXT                  StructureType = 1000138002
	StructureTypeDescriptorPoolInlineUniformBlockCreateInfoEXT            StructureType = 1000138003
	StructureTypeSampleLocationsInfoEXT                                   StructureType = 1000143000
	StructureTypeRenderPassSampleLocationsBeginInfoEXT                    StructureType = 1000143001
	StructureTypePipelineSampleLocationsStateCreateInfoEXT                StructureType = 1000143002
	StructureTypePhysicalDeviceSampleLocationsPropertiesEXT               StructureType = 1000143003
	StructureTypeMultisamplePropertiesEXT                                 StructureType = 1000143004
	StructureTypeImageFormatListCreateInfoKHR                             StructureType = 1000147000
	StructureTypePhysicalDeviceBlendOperationAdvancedFeaturesEXT          StructureType = 1000148000
	StructureTypePhysicalDeviceBlendOperationAdvancedPropertiesEXT        StructureType = 1000148001
	StructureTypePipelineColorBlendAdvancedStateCreateInfoEXT             StructureType = 1000148002
	StructureTypePipelineCoverageToColorStateCreateInfoNV                 StructureType = 1000149000
	StructureTypePipelineCoverageModulationStateCreateInfoNV              StructureType = 1000152000
	StructureTypePhysicalDeviceShaderSMBuiltinsFeaturesNV                 StructureType = 1000154000
	StructureTypePhysicalDeviceShaderSMBuiltinsPropertiesNV               StructureType = 1000154001
	StructureTypeDRMFormatModifierPropertiesListEXT                       StructureType = 1000158000
	StructureTypeDRMFormatModifierPropertiesEXT                           StructureType = 1000158001
	StructureTypePhysicalDeviceImageDRMFormatModifierInfoEXT              StructureType = 1000158002
	StructureTypeImageDRMFormatModifierListCreateInfoEXT                  StructureType = 1000158003
	StructureTypeImageDRMFormatModifierExplicitCreateInfoEXT              StructureType = 1000158004
	StructureTypeImageDRMFormatModifierPropertiesEXT                      StructureType = 1000158005
	StructureTypeValidationCacheCreateInfoEXT                             StructureType = 1000160000
	StructureTypeShaderModuleValidationCacheCreateInfoEXT                 StructureType = 1000160001
	StructureTypeDescriptorSetLayoutBindingFlagsCreateInfoEXT             StructureType = 1000161000
	StructureTypePhysicalDeviceDescriptorIndexingFeaturesEXT              StructureType = 1000161001
	StructureTypePhysicalDeviceDescriptorIndexingPropertiesEXT            StructureType = 1000161002
	StructureTypeDescriptorSetVariableDescriptorCountAllocateInfoEXT      StructureType = 1000161003
	StructureTypeDescriptorSetVariableDescriptorCountLayoutSupportEXT     StructureType = 1000161004
	StructureTypePipelineViewportShadingRateImageStateCreateInfoNV        StructureType = 1000164000
	StructureTypePhysicalDeviceShadingRateImageFeaturesNV                 StructureType = 1000164001
	StructureTypePhysicalDeviceShadingRateImagePropertiesNV               StructureType = 1000164002
	StructureTypePipelineViewportCoarseSampleOrderStateCreateInfoNV       StructureType = 1000164005
	StructureTypeRayTracingPipelineCreateInfoNV                           StructureType = 1000165000
	StructureTypeAccelerationStructureCreateInfoNV                        StructureType = 1000165001
	StructureTypeGeometryNV                                               StructureType = 1000165003
	StructureTypeGeometryTrianglesNV                                      StructureType = 1000165004
	StructureTypeGeometryAABBNV                                           StructureType = 1000165005
	StructureTypeBindAccelerationStructureMemoryInfoNV                    StructureType = 1000165006
	StructureTypeWriteDescriptorSetAccelerationStructureNV                StructureType = 1000165007
	StructureTypeAccelerationStructureMemoryRequirementsInfoNV            StructureType = 1000165008
	StructureTypePhysicalDeviceRayTracingPropertiesNV                     StructureType = 1000165009
	StructureTypeRayTracingShaderGroupCreateInfoNV                        StructureType = 1000165011
	StructureTypeAccelerationStructureInfoNV                              StructureType = 1000165012
	StructureTypePhysicalDeviceRepresentativeFragmentTestFeatureNV        StructureType = 1000166000
	StructureTypePipelineRepresentativeFragmentTestStateCreateInfoNV      StructureType = 1000166001
	StructureTypePhysicalDeviceImageViewImageFormatInfoEXT                StructureType = 1000170000
	StructureTypeFilterCubicImageViewImageFormatInfoEXT                   StructureType = 1000170001
	StructureTypeDeviceQueueGlobalPriorityCreateInfoEXT                   StructureType = 1000174000
	StructureTypePhysicalDevice8BitStorageFeaturesKHR                     StructureType = 1000177000
	StructureTypeImportMemoryHostPointerInfoEXT                           StructureType = 1000178000
	StructureTypeMemoryHostPointerPropertiesEXT                           StructureType = 1000178001
	StructureTypePhysicalDeviceExternalMemoryHostPropertiesEXT            StructureType = 1000178002
	StructureTypePhysicalDeviceShaderAtomicInt64FeaturesKHR               StructureType = 1000180000
	StructureTypePipelineCompilerControlCreateInfoAMD                     StructureType = 1000183000
	StructureTypeCalibratedTimestampInfoEXT                               StructureType = 1000184000
	StructureTypePhysicalDeviceShaderCorePropertiesAMD                    StructureType = 1000185000
	StructureTypeDeviceMemoryOverallocationCreateInfoAMD                  StructureType = 1000189000
	StructureTypePhysicalDeviceVertexAttributeDivisorPropertiesEXT        StructureType = 1000190000
	StructureTypePipelineVertexInputDivisorStateCreateInfoEXT             StructureType = 1000190001
	StructureTypePhysicalDeviceVertexAttributeDivisorFeaturesEXT          StructureType = 1000190002
	StructureTypePresentFrameTokenGGP                                     StructureType = 1000191000
	StructureTypePipelineCreationFeedbackCreateInfoEXT                    StructureType = 1000192000
	StructureTypePhysicalDeviceDriverPropertiesKHR                        StructureType = 1000196000
	StructureTypePhysicalDeviceFloatControlsPropertiesKHR                 StructureType = 1000197000
	StructureTypePhysicalDeviceDepthStencilResolvePropertiesKHR           StructureType = 1000199000
	StructureTypeSubpassDescriptionDepthStencilResolveKHR                 StructureType = 1000199001
	StructureTypePhysicalDeviceComputeShaderDerivativesFeaturesNV         StructureType = 1000201000
	StructureTypePhysicalDeviceMeshShaderFeaturesNV                       StructureType = 1000202000
	StructureTypePhysicalDeviceMeshShaderPropertiesNV                     StructureType = 1000202001
	StructureTypePhysicalDeviceFragmentShaderBarycentricFeaturesNV        StructureType = 1000203000
	StructureTypePhysicalDeviceShaderImageFootprintFeaturesNV             StructureType = 1000204000
	StructureTypePipelineViewportExclusiveScissorStateCreateInfoNV        StructureType = 1000205000
	StructureTypePhysicalDeviceExclusiveScissorFeaturesNV                 StructureType = 1000205002
	StructureTypeCheckpointDataNV                                         StructureType = 1000206000
	StructureTypeQueueFamilyCheckpointPropertiesNV                        StructureType = 1000206001
	StructureTypePhysicalDeviceShaderIntegerFunctions2FeaturesIntel       StructureType = 1000209000
	StructureTypeQueryPoolCreateInfoIntel                                 StructureType = 1000210000
	StructureTypeInitializePerformanceAPIInfoIntel                        StructureType = 1000210001
	StructureTypePerformanceMarkerInfoIntel                               StructureType = 1000210002
	StructureTypePerformanceStreamMarkerInfoIntel                         StructureType = 1000210003
	StructureTypePerformanceOverrideInfoIntel                             StructureType = 1000210004
	StructureTypePerformanceConfigurationAcquireInfoIntel                 StructureType = 1000210005
	StructureTypePhysicalDeviceVulkanMemoryModelFeaturesKHR               StructureType = 1000211000
	StructureTypePhysicalDevicePCIBusInfoPropertiesEXT                    StructureType = 1000212000
	StructureTypeDisplayNativeHDRSurfaceCapabilitiesAMD                   StructureType = 1000213000
	StructureTypeImagePipeSurfaceCreateInfoFuchsia                        StructureType = 1000214000
	StructureTypeMetalSurfaceCreateInfoEXT                                StructureType = 1000217000
	StructureTypePhysicalDeviceFragmentDensityMapFeaturesEXT              StructureType = 1000218000
	StructureTypePhysicalDeviceFragmentDensityMapPropertiesEXT            StructureType = 1000218001
	StructureTypeRenderPassFragmentDensityMapCreateInfoEXT                StructureType = 1000218002
	StructureTypePhysicalDeviceScalarBlockLayoutFeaturesEXT               StructureType = 1000221000
	StructureTypePhysicalDeviceSubgroupSizeControlPropertiesEXT           StructureType = 1000225000
	StructureTypePipelineShaderStageRequiredSubgroupSizeCreateInfoEXT     StructureType = 1000225001
	StructureTypePhysicalDeviceSubgroupSizeControlFeaturesEXT             StructureType = 1000255002
	StructureTypePhysicalDeviceShaderCoreProperties2AMD                   StructureType = 1000227000
	StructureTypePhysicalDeviceCoherentMemoryFeaturesAMD                  StructureType = 1000229000
	StructureTypePhysicalDeviceMemoryBudgetPropertiesEXT                  StructureType = 1000237000
	StructureTypePhysicalDeviceMemoryPriorityFeaturesEXT                  StructureType = 1000238000
	StructureTypeMemoryPriorityAllocateInfoEXT                            StructureType = 1000238001
	StructureTypeSurfaceProtectedCapabilitiesKHR                          StructureType = 1000239000
	StructureTypePhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV StructureType = 1000240000
	StructureTypePhysicalDeviceBufferDeviceAddressFeaturesEXT             StructureType = 1000244000
	StructureTypeBufferDeviceAddressInfoEXT                               StructureType = 1000244001
	StructureTypeBufferDeviceAddressCreateInfoEXT                         StructureType = 1000244002
	StructureTypeImageStencilUsageCreateInfoEXT                           StructureType = 1000246000
	StructureTypeValidationFeaturesEXT                                    StructureType = 1000247000
	StructureTypePhysicalDeviceCooperativeMatrixFeaturesNV                StructureType = 1000249000
	StructureTypeCooperativeMatrixPropertiesNV                            StructureType = 1000249001
	StructureTypePhysicalDeviceCooperativeMatrixPropertiesNV              StructureType = 1000249002
	StructureTypePhysicalDeviceCoverageReductionModeFeaturesNV            StructureType = 1000250000
	StructureTypePipelineCoverageReductionStateCreateInfoNV               StructureType = 1000250001
	StructureTypeFramebufferMixedSamplesCombinationNV                     StructureType = 1000250002
	StructureTypePhysicalDeviceFragmentShaderInterlockFeaturesEXT         StructureType = 1000251000
	StructureTypePhysicalDeviceYCbCrImageArraysFeaturesEXT                StructureType = 1000252000
	StructureTypePhysicalDeviceUniformBufferStandardLayoutFeaturesKHR     StructureType = 1000253000
	StructureTypeSurfaceFullScreenExclusiveInfoEXT                        StructureType = 1000255000
	StructureTypeSurfaceCapabilitiesFullScreenExclusiveEXT                StructureType = 1000255002
	StructureTypeSurfaceFullScreenExclusiveWin32InfoEXT                   StructureType = 1000255001
	StructureTypeHeadlessSurfaceCreateInfoEXT                             StructureType = 1000256000
	StructureTypePhysicalDeviceLineRasterizationFeaturesEXT               StructureType = 1000259000
	StructureTypePipelineRasterizationLineStateCreateInfoEXT              StructureType = 1000259001
	StructureTypePhysicalDeviceLineRasterizationPropertiesEXT             StructureType = 1000259002
	StructureTypePhysicalDeviceHostQueryResetFeaturesEXT                  StructureType = 1000261000
	StructureTypePhysicalDevicePipelineExecutablePropertiesFeaturesKHR    StructureType = 1000269000
	StructureTypePipelineInfoKHR                                          StructureType = 1000269001
	StructureTypePipelineExecutablePropertiesKHR                          StructureType = 1000269002
	StructureTypePipelineExecutableInfoKHR                                StructureType = 1000269003
	StructureTypePipelineExecutableStatisticKHR                           StructureType = 1000269004
	StructureTypePipelineExecutableInternalRepresentationKHR              StructureType = 1000269005
	StructureTypePhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT  StructureType = 1000276000
	StructureTypePhysicalDeviceTexelBufferAlignmentFeaturesEXT            StructureType = 1000281000
	StructureTypePhysicalDeviceTexelBufferAlignmentPropertiesEXT          StructureType = 1000281001
)

func (StructureType) String

func (i StructureType) String() string

type SubmitInfo

type SubmitInfo struct {
	Type             StructureType
	Next             uintptr
	WaitSemaphores   []Semaphore
	WaitDstStageMask []PipelineStageFlags
	CommandBuffers   []CommandBuffer
	SignalSemaphores []Semaphore
}

func (*SubmitInfo) C

func (info *SubmitInfo) C(_info *submitInfo) freeFunc

type SubpassContents

type SubpassContents uint32
const (
	SubpassContentsInline SubpassContents = iota
	SubpassContentsSecondaryCommandBuffers
)

type SubpassDependency

type SubpassDependency struct {
	SrcSubpass      uint32
	DstSubpass      uint32
	SrcStageMask    PipelineStageFlags
	DstStageMask    PipelineStageFlags
	SrcAccessMask   AccessFlags
	DstAccessMask   AccessFlags
	DependencyFlags DependencyFlags
}

type SubpassDescription

type SubpassDescription struct {
	Flags                  SubpassDescriptionFlags
	PipelineBindPoint      PipelineBindPoint
	InputAttachments       []AttachmentReference
	ColorAttachments       []AttachmentReference
	ResolveAttachments     []AttachmentReference
	DepthStencilAttachment AttachmentReference
	PreserveAttachments    []uint32
}

type SubpassDescriptionFlags

type SubpassDescriptionFlags uint32

type Surface

type Surface uintptr

func CreateSurface

func CreateSurface(instance Instance, info sdl.WMInfo, allocator *AllocationCallbacks) (Surface, error)

func CreateXlibSurface

func CreateXlibSurface(instance Instance, info XlibSurfaceCreateInfo, allocator *AllocationCallbacks) (Surface, error)

type SurfaceCapabilities

type SurfaceCapabilities struct {
	MinImageCount           uint32
	MaxImageCount           uint32
	CurrentExtent           Extent2D
	MinImageExtent          Extent2D
	MaxImageExtent          Extent2D
	MaxImageArrayLayers     uint32
	SupportedTransforms     C.VkSurfaceTransformFlagsKHR
	CurrentTransform        C.VkSurfaceTransformFlagBitsKHR
	SupportedCompositeAlpha C.VkCompositeAlphaFlagsKHR
	SupportedUsageFlags     ImageUsageFlags
}

func GetPhysicalDeviceSurfaceCapabilities

func GetPhysicalDeviceSurfaceCapabilities(physicalDevice PhysicalDevice, surface Surface) (SurfaceCapabilities, error)

type SurfaceFormat

type SurfaceFormat struct {
	Format     Format
	ColorSpace ColorSpace
}

func GetPhysicalDeviceSurfaceFormats

func GetPhysicalDeviceSurfaceFormats(physicalDevice PhysicalDevice, surface Surface) ([]SurfaceFormat, error)

type Swapchain

type Swapchain uintptr

func CreateSwapchain

func CreateSwapchain(device Device, info SwapchainCreateInfo, surface Surface, allocator *AllocationCallbacks) (Swapchain, error)

type SwapchainCreateFlagBits

type SwapchainCreateFlagBits uint32
const (
	SwapchainCreateSplitInstanceBindRegionsBit SwapchainCreateFlagBits = 1 << iota
	SwapchainCreateProtectedBit
	SwapchainCreateMutableFormatBit
)

type SwapchainCreateFlags

type SwapchainCreateFlags = SwapchainCreateFlagBits

type SwapchainCreateInfo

type SwapchainCreateInfo struct {
	Type                  StructureType
	Next                  uintptr
	Flags                 C.VkSwapchainCreateFlagsKHR
	Surface               Surface
	MinImageCount         uint32
	Format                Format
	ImageColorSpace       ColorSpace
	ImageExtent           Extent2D
	ImageArrayLayers      uint32
	ImageUsage            ImageUsageFlags
	ImageSharingMode      SharingMode
	QueueFamilyIndexCount uint32
	QueueFamilyIndices    *uint32
	PreTransform          C.VkSurfaceTransformFlagBitsKHR
	CompositeAlpha        C.VkCompositeAlphaFlagBitsKHR
	PresentMode           PresentMode
	Clipped               bool
	OldSwapchain          Swapchain
}

type Version

type Version uint32
const (
	APIVersion10 Version = 1<<22 | 0<<12 | 0
	APIVersion11 Version = 1<<22 | 1<<12 | 0

	HeaderVersion = 114
)

func EnumerateInstanceVersion

func EnumerateInstanceVersion() (Version, error)

func MakeVersion

func MakeVersion(major, minor, patch uint) Version

func (Version) String

func (v Version) String() string

type VertexInputAttributeDescription

type VertexInputAttributeDescription struct {
	Location uint32
	Binding  uint32
	Format   Format
	Offset   uint32
}

type VertexInputBindingDescription

type VertexInputBindingDescription struct {
	Binding   uint32
	Stride    uint32
	InputRate VertexInputRate
}

type VertexInputRate

type VertexInputRate uint32
const (
	VertexInputRateVertex VertexInputRate = iota
	VertexInputRateInstance
)

type Viewport

type Viewport struct {
	X        float32
	Y        float32
	Width    float32
	Height   float32
	MinDepth float32
	MaxDepth float32
}

type WriteDescriptorSet

type WriteDescriptorSet struct {
	Type            StructureType
	Next            uintptr
	DstSet          DescriptorSet
	DstBinding      uint32
	DstArrayElement uint32
	DescriptorCount uint32
	DescriptorType  DescriptorType
	ImageInfo       []DescriptorImageInfo
	BufferInfo      []DescriptorBufferInfo
	TexelBufferView []BufferView
}

func (*WriteDescriptorSet) C

func (set *WriteDescriptorSet) C(_set *writeDescriptorSet) freeFunc

type XlibSurfaceCreateFlags

type XlibSurfaceCreateFlags uint32

type XlibSurfaceCreateInfo

type XlibSurfaceCreateInfo struct {
	Type    StructureType
	Next    uintptr
	Flags   XlibSurfaceCreateFlags
	Display uintptr
	Window  uintptr
}

Jump to

Keyboard shortcuts

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