mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-28 08:54:35 +00:00
10938 lines
346 KiB
Odin
10938 lines
346 KiB
Odin
package vulkan
|
||
|
||
import "core:c"
|
||
|
||
import win32 "core:sys/windows"
|
||
_ :: win32
|
||
|
||
import "vendor:x11/xlib"
|
||
_ :: xlib
|
||
|
||
when ODIN_OS == .Windows {
|
||
HINSTANCE :: win32.HINSTANCE
|
||
HWND :: win32.HWND
|
||
HMONITOR :: win32.HMONITOR
|
||
HANDLE :: win32.HANDLE
|
||
LPCWSTR :: win32.LPCWSTR
|
||
SECURITY_ATTRIBUTES :: win32.SECURITY_ATTRIBUTES
|
||
DWORD :: win32.DWORD
|
||
LONG :: win32.LONG
|
||
LUID :: win32.LUID
|
||
} else {
|
||
HINSTANCE :: distinct rawptr
|
||
HWND :: distinct rawptr
|
||
HMONITOR :: distinct rawptr
|
||
HANDLE :: distinct rawptr
|
||
LPCWSTR :: ^u16
|
||
SECURITY_ATTRIBUTES :: struct {}
|
||
DWORD :: u32
|
||
LONG :: c.long
|
||
LUID :: struct {
|
||
LowPart: DWORD,
|
||
HighPart: LONG,
|
||
}
|
||
}
|
||
|
||
when xlib.IS_SUPPORTED {
|
||
XlibDisplay :: xlib.Display
|
||
XlibWindow :: xlib.Window
|
||
XlibVisualID :: xlib.VisualID
|
||
} else {
|
||
XlibDisplay :: struct {} // Opaque struct defined by Xlib
|
||
XlibWindow :: c.ulong
|
||
XlibVisualID :: c.ulong
|
||
}
|
||
|
||
xcb_visualid_t :: u32
|
||
xcb_window_t :: u32
|
||
CAMetalLayer :: struct {}
|
||
|
||
MTLBuffer_id :: rawptr
|
||
MTLTexture_id :: rawptr
|
||
MTLSharedEvent_id :: rawptr
|
||
MTLDevice_id :: rawptr
|
||
MTLCommandQueue_id :: rawptr
|
||
|
||
/********************************/
|
||
|
||
Extent2D :: struct {
|
||
width: u32,
|
||
height: u32,
|
||
}
|
||
|
||
Extent3D :: struct {
|
||
width: u32,
|
||
height: u32,
|
||
depth: u32,
|
||
}
|
||
|
||
Offset2D :: struct {
|
||
x: i32,
|
||
y: i32,
|
||
}
|
||
|
||
Offset3D :: struct {
|
||
x: i32,
|
||
y: i32,
|
||
z: i32,
|
||
}
|
||
|
||
Rect2D :: struct {
|
||
offset: Offset2D,
|
||
extent: Extent2D,
|
||
}
|
||
|
||
BaseInStructure :: struct {
|
||
sType: StructureType,
|
||
pNext: ^BaseInStructure,
|
||
}
|
||
|
||
BaseOutStructure :: struct {
|
||
sType: StructureType,
|
||
pNext: ^BaseOutStructure,
|
||
}
|
||
|
||
BufferMemoryBarrier :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcAccessMask: AccessFlags,
|
||
dstAccessMask: AccessFlags,
|
||
srcQueueFamilyIndex: u32,
|
||
dstQueueFamilyIndex: u32,
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
DispatchIndirectCommand :: struct {
|
||
x: u32,
|
||
y: u32,
|
||
z: u32,
|
||
}
|
||
|
||
DrawIndexedIndirectCommand :: struct {
|
||
indexCount: u32,
|
||
instanceCount: u32,
|
||
firstIndex: u32,
|
||
vertexOffset: i32,
|
||
firstInstance: u32,
|
||
}
|
||
|
||
DrawIndirectCommand :: struct {
|
||
vertexCount: u32,
|
||
instanceCount: u32,
|
||
firstVertex: u32,
|
||
firstInstance: u32,
|
||
}
|
||
|
||
ImageSubresourceRange :: struct {
|
||
aspectMask: ImageAspectFlags,
|
||
baseMipLevel: u32,
|
||
levelCount: u32,
|
||
baseArrayLayer: u32,
|
||
layerCount: u32,
|
||
}
|
||
|
||
ImageMemoryBarrier :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcAccessMask: AccessFlags,
|
||
dstAccessMask: AccessFlags,
|
||
oldLayout: ImageLayout,
|
||
newLayout: ImageLayout,
|
||
srcQueueFamilyIndex: u32,
|
||
dstQueueFamilyIndex: u32,
|
||
image: Image,
|
||
subresourceRange: ImageSubresourceRange,
|
||
}
|
||
|
||
MemoryBarrier :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcAccessMask: AccessFlags,
|
||
dstAccessMask: AccessFlags,
|
||
}
|
||
|
||
PipelineCacheHeaderVersionOne :: struct {
|
||
headerSize: u32,
|
||
headerVersion: PipelineCacheHeaderVersion,
|
||
vendorID: u32,
|
||
deviceID: u32,
|
||
pipelineCacheUUID: [UUID_SIZE]u8,
|
||
}
|
||
|
||
AllocationCallbacks :: struct {
|
||
pUserData: rawptr,
|
||
pfnAllocation: ProcAllocationFunction,
|
||
pfnReallocation: ProcReallocationFunction,
|
||
pfnFree: ProcFreeFunction,
|
||
pfnInternalAllocation: ProcInternalAllocationNotification,
|
||
pfnInternalFree: ProcInternalFreeNotification,
|
||
}
|
||
|
||
ApplicationInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pApplicationName: cstring,
|
||
applicationVersion: u32,
|
||
pEngineName: cstring,
|
||
engineVersion: u32,
|
||
apiVersion: u32,
|
||
}
|
||
|
||
FormatProperties :: struct {
|
||
linearTilingFeatures: FormatFeatureFlags,
|
||
optimalTilingFeatures: FormatFeatureFlags,
|
||
bufferFeatures: FormatFeatureFlags,
|
||
}
|
||
|
||
ImageFormatProperties :: struct {
|
||
maxExtent: Extent3D,
|
||
maxMipLevels: u32,
|
||
maxArrayLayers: u32,
|
||
sampleCounts: SampleCountFlags,
|
||
maxResourceSize: DeviceSize,
|
||
}
|
||
|
||
InstanceCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: InstanceCreateFlags,
|
||
pApplicationInfo: ^ApplicationInfo,
|
||
enabledLayerCount: u32,
|
||
ppEnabledLayerNames: [^]cstring,
|
||
enabledExtensionCount: u32,
|
||
ppEnabledExtensionNames: [^]cstring,
|
||
}
|
||
|
||
MemoryHeap :: struct {
|
||
size: DeviceSize,
|
||
flags: MemoryHeapFlags,
|
||
}
|
||
|
||
MemoryType :: struct {
|
||
propertyFlags: MemoryPropertyFlags,
|
||
heapIndex: u32,
|
||
}
|
||
|
||
PhysicalDeviceFeatures :: struct {
|
||
robustBufferAccess: b32,
|
||
fullDrawIndexUint32: b32,
|
||
imageCubeArray: b32,
|
||
independentBlend: b32,
|
||
geometryShader: b32,
|
||
tessellationShader: b32,
|
||
sampleRateShading: b32,
|
||
dualSrcBlend: b32,
|
||
logicOp: b32,
|
||
multiDrawIndirect: b32,
|
||
drawIndirectFirstInstance: b32,
|
||
depthClamp: b32,
|
||
depthBiasClamp: b32,
|
||
fillModeNonSolid: b32,
|
||
depthBounds: b32,
|
||
wideLines: b32,
|
||
largePoints: b32,
|
||
alphaToOne: b32,
|
||
multiViewport: b32,
|
||
samplerAnisotropy: b32,
|
||
textureCompressionETC2: b32,
|
||
textureCompressionASTC_LDR: b32,
|
||
textureCompressionBC: b32,
|
||
occlusionQueryPrecise: b32,
|
||
pipelineStatisticsQuery: b32,
|
||
vertexPipelineStoresAndAtomics: b32,
|
||
fragmentStoresAndAtomics: b32,
|
||
shaderTessellationAndGeometryPointSize: b32,
|
||
shaderImageGatherExtended: b32,
|
||
shaderStorageImageExtendedFormats: b32,
|
||
shaderStorageImageMultisample: b32,
|
||
shaderStorageImageReadWithoutFormat: b32,
|
||
shaderStorageImageWriteWithoutFormat: b32,
|
||
shaderUniformBufferArrayDynamicIndexing: b32,
|
||
shaderSampledImageArrayDynamicIndexing: b32,
|
||
shaderStorageBufferArrayDynamicIndexing: b32,
|
||
shaderStorageImageArrayDynamicIndexing: b32,
|
||
shaderClipDistance: b32,
|
||
shaderCullDistance: b32,
|
||
shaderFloat64: b32,
|
||
shaderInt64: b32,
|
||
shaderInt16: b32,
|
||
shaderResourceResidency: b32,
|
||
shaderResourceMinLod: b32,
|
||
sparseBinding: b32,
|
||
sparseResidencyBuffer: b32,
|
||
sparseResidencyImage2D: b32,
|
||
sparseResidencyImage3D: b32,
|
||
sparseResidency2Samples: b32,
|
||
sparseResidency4Samples: b32,
|
||
sparseResidency8Samples: b32,
|
||
sparseResidency16Samples: b32,
|
||
sparseResidencyAliased: b32,
|
||
variableMultisampleRate: b32,
|
||
inheritedQueries: b32,
|
||
}
|
||
|
||
PhysicalDeviceLimits :: struct {
|
||
maxImageDimension1D: u32,
|
||
maxImageDimension2D: u32,
|
||
maxImageDimension3D: u32,
|
||
maxImageDimensionCube: u32,
|
||
maxImageArrayLayers: u32,
|
||
maxTexelBufferElements: u32,
|
||
maxUniformBufferRange: u32,
|
||
maxStorageBufferRange: u32,
|
||
maxPushConstantsSize: u32,
|
||
maxMemoryAllocationCount: u32,
|
||
maxSamplerAllocationCount: u32,
|
||
bufferImageGranularity: DeviceSize,
|
||
sparseAddressSpaceSize: DeviceSize,
|
||
maxBoundDescriptorSets: u32,
|
||
maxPerStageDescriptorSamplers: u32,
|
||
maxPerStageDescriptorUniformBuffers: u32,
|
||
maxPerStageDescriptorStorageBuffers: u32,
|
||
maxPerStageDescriptorSampledImages: u32,
|
||
maxPerStageDescriptorStorageImages: u32,
|
||
maxPerStageDescriptorInputAttachments: u32,
|
||
maxPerStageResources: u32,
|
||
maxDescriptorSetSamplers: u32,
|
||
maxDescriptorSetUniformBuffers: u32,
|
||
maxDescriptorSetUniformBuffersDynamic: u32,
|
||
maxDescriptorSetStorageBuffers: u32,
|
||
maxDescriptorSetStorageBuffersDynamic: u32,
|
||
maxDescriptorSetSampledImages: u32,
|
||
maxDescriptorSetStorageImages: u32,
|
||
maxDescriptorSetInputAttachments: u32,
|
||
maxVertexInputAttributes: u32,
|
||
maxVertexInputBindings: u32,
|
||
maxVertexInputAttributeOffset: u32,
|
||
maxVertexInputBindingStride: u32,
|
||
maxVertexOutputComponents: u32,
|
||
maxTessellationGenerationLevel: u32,
|
||
maxTessellationPatchSize: u32,
|
||
maxTessellationControlPerVertexInputComponents: u32,
|
||
maxTessellationControlPerVertexOutputComponents: u32,
|
||
maxTessellationControlPerPatchOutputComponents: u32,
|
||
maxTessellationControlTotalOutputComponents: u32,
|
||
maxTessellationEvaluationInputComponents: u32,
|
||
maxTessellationEvaluationOutputComponents: u32,
|
||
maxGeometryShaderInvocations: u32,
|
||
maxGeometryInputComponents: u32,
|
||
maxGeometryOutputComponents: u32,
|
||
maxGeometryOutputVertices: u32,
|
||
maxGeometryTotalOutputComponents: u32,
|
||
maxFragmentInputComponents: u32,
|
||
maxFragmentOutputAttachments: u32,
|
||
maxFragmentDualSrcAttachments: u32,
|
||
maxFragmentCombinedOutputResources: u32,
|
||
maxComputeSharedMemorySize: u32,
|
||
maxComputeWorkGroupCount: [3]u32,
|
||
maxComputeWorkGroupInvocations: u32,
|
||
maxComputeWorkGroupSize: [3]u32,
|
||
subPixelPrecisionBits: u32,
|
||
subTexelPrecisionBits: u32,
|
||
mipmapPrecisionBits: u32,
|
||
maxDrawIndexedIndexValue: u32,
|
||
maxDrawIndirectCount: u32,
|
||
maxSamplerLodBias: f32,
|
||
maxSamplerAnisotropy: f32,
|
||
maxViewports: u32,
|
||
maxViewportDimensions: [2]u32,
|
||
viewportBoundsRange: [2]f32,
|
||
viewportSubPixelBits: u32,
|
||
minMemoryMapAlignment: int,
|
||
minTexelBufferOffsetAlignment: DeviceSize,
|
||
minUniformBufferOffsetAlignment: DeviceSize,
|
||
minStorageBufferOffsetAlignment: DeviceSize,
|
||
minTexelOffset: i32,
|
||
maxTexelOffset: u32,
|
||
minTexelGatherOffset: i32,
|
||
maxTexelGatherOffset: u32,
|
||
minInterpolationOffset: f32,
|
||
maxInterpolationOffset: f32,
|
||
subPixelInterpolationOffsetBits: u32,
|
||
maxFramebufferWidth: u32,
|
||
maxFramebufferHeight: u32,
|
||
maxFramebufferLayers: u32,
|
||
framebufferColorSampleCounts: SampleCountFlags,
|
||
framebufferDepthSampleCounts: SampleCountFlags,
|
||
framebufferStencilSampleCounts: SampleCountFlags,
|
||
framebufferNoAttachmentsSampleCounts: SampleCountFlags,
|
||
maxColorAttachments: u32,
|
||
sampledImageColorSampleCounts: SampleCountFlags,
|
||
sampledImageIntegerSampleCounts: SampleCountFlags,
|
||
sampledImageDepthSampleCounts: SampleCountFlags,
|
||
sampledImageStencilSampleCounts: SampleCountFlags,
|
||
storageImageSampleCounts: SampleCountFlags,
|
||
maxSampleMaskWords: u32,
|
||
timestampComputeAndGraphics: b32,
|
||
timestampPeriod: f32,
|
||
maxClipDistances: u32,
|
||
maxCullDistances: u32,
|
||
maxCombinedClipAndCullDistances: u32,
|
||
discreteQueuePriorities: u32,
|
||
pointSizeRange: [2]f32,
|
||
lineWidthRange: [2]f32,
|
||
pointSizeGranularity: f32,
|
||
lineWidthGranularity: f32,
|
||
strictLines: b32,
|
||
standardSampleLocations: b32,
|
||
optimalBufferCopyOffsetAlignment: DeviceSize,
|
||
optimalBufferCopyRowPitchAlignment: DeviceSize,
|
||
nonCoherentAtomSize: DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceMemoryProperties :: struct {
|
||
memoryTypeCount: u32,
|
||
memoryTypes: [MAX_MEMORY_TYPES]MemoryType,
|
||
memoryHeapCount: u32,
|
||
memoryHeaps: [MAX_MEMORY_HEAPS]MemoryHeap,
|
||
}
|
||
|
||
PhysicalDeviceSparseProperties :: struct {
|
||
residencyStandard2DBlockShape: b32,
|
||
residencyStandard2DMultisampleBlockShape: b32,
|
||
residencyStandard3DBlockShape: b32,
|
||
residencyAlignedMipSize: b32,
|
||
residencyNonResidentStrict: b32,
|
||
}
|
||
|
||
PhysicalDeviceProperties :: struct {
|
||
apiVersion: u32,
|
||
driverVersion: u32,
|
||
vendorID: u32,
|
||
deviceID: u32,
|
||
deviceType: PhysicalDeviceType,
|
||
deviceName: [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
|
||
pipelineCacheUUID: [UUID_SIZE]u8,
|
||
limits: PhysicalDeviceLimits,
|
||
sparseProperties: PhysicalDeviceSparseProperties,
|
||
}
|
||
|
||
QueueFamilyProperties :: struct {
|
||
queueFlags: QueueFlags,
|
||
queueCount: u32,
|
||
timestampValidBits: u32,
|
||
minImageTransferGranularity: Extent3D,
|
||
}
|
||
|
||
DeviceQueueCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceQueueCreateFlags,
|
||
queueFamilyIndex: u32,
|
||
queueCount: u32,
|
||
pQueuePriorities: [^]f32,
|
||
}
|
||
|
||
DeviceCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceCreateFlags,
|
||
queueCreateInfoCount: u32,
|
||
pQueueCreateInfos: [^]DeviceQueueCreateInfo,
|
||
enabledLayerCount: u32,
|
||
ppEnabledLayerNames: [^]cstring,
|
||
enabledExtensionCount: u32,
|
||
ppEnabledExtensionNames: [^]cstring,
|
||
pEnabledFeatures: [^]PhysicalDeviceFeatures,
|
||
}
|
||
|
||
ExtensionProperties :: struct {
|
||
extensionName: [MAX_EXTENSION_NAME_SIZE]byte,
|
||
specVersion: u32,
|
||
}
|
||
|
||
LayerProperties :: struct {
|
||
layerName: [MAX_EXTENSION_NAME_SIZE]byte,
|
||
specVersion: u32,
|
||
implementationVersion: u32,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
}
|
||
|
||
SubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreCount: u32,
|
||
pWaitSemaphores: [^]Semaphore,
|
||
pWaitDstStageMask: [^]PipelineStageFlags,
|
||
commandBufferCount: u32,
|
||
pCommandBuffers: [^]CommandBuffer,
|
||
signalSemaphoreCount: u32,
|
||
pSignalSemaphores: [^]Semaphore,
|
||
}
|
||
|
||
MappedMemoryRange :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
MemoryAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
allocationSize: DeviceSize,
|
||
memoryTypeIndex: u32,
|
||
}
|
||
|
||
MemoryRequirements :: struct {
|
||
size: DeviceSize,
|
||
alignment: DeviceSize,
|
||
memoryTypeBits: u32,
|
||
}
|
||
|
||
SparseMemoryBind :: struct {
|
||
resourceOffset: DeviceSize,
|
||
size: DeviceSize,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
flags: SparseMemoryBindFlags,
|
||
}
|
||
|
||
SparseBufferMemoryBindInfo :: struct {
|
||
buffer: Buffer,
|
||
bindCount: u32,
|
||
pBinds: [^]SparseMemoryBind,
|
||
}
|
||
|
||
SparseImageOpaqueMemoryBindInfo :: struct {
|
||
image: Image,
|
||
bindCount: u32,
|
||
pBinds: [^]SparseMemoryBind,
|
||
}
|
||
|
||
ImageSubresource :: struct {
|
||
aspectMask: ImageAspectFlags,
|
||
mipLevel: u32,
|
||
arrayLayer: u32,
|
||
}
|
||
|
||
SparseImageMemoryBind :: struct {
|
||
subresource: ImageSubresource,
|
||
offset: Offset3D,
|
||
extent: Extent3D,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
flags: SparseMemoryBindFlags,
|
||
}
|
||
|
||
SparseImageMemoryBindInfo :: struct {
|
||
image: Image,
|
||
bindCount: u32,
|
||
pBinds: [^]SparseImageMemoryBind,
|
||
}
|
||
|
||
BindSparseInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreCount: u32,
|
||
pWaitSemaphores: [^]Semaphore,
|
||
bufferBindCount: u32,
|
||
pBufferBinds: [^]SparseBufferMemoryBindInfo,
|
||
imageOpaqueBindCount: u32,
|
||
pImageOpaqueBinds: [^]SparseImageOpaqueMemoryBindInfo,
|
||
imageBindCount: u32,
|
||
pImageBinds: [^]SparseImageMemoryBindInfo,
|
||
signalSemaphoreCount: u32,
|
||
pSignalSemaphores: [^]Semaphore,
|
||
}
|
||
|
||
SparseImageFormatProperties :: struct {
|
||
aspectMask: ImageAspectFlags,
|
||
imageGranularity: Extent3D,
|
||
flags: SparseImageFormatFlags,
|
||
}
|
||
|
||
SparseImageMemoryRequirements :: struct {
|
||
formatProperties: SparseImageFormatProperties,
|
||
imageMipTailFirstLod: u32,
|
||
imageMipTailSize: DeviceSize,
|
||
imageMipTailOffset: DeviceSize,
|
||
imageMipTailStride: DeviceSize,
|
||
}
|
||
|
||
FenceCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: FenceCreateFlags,
|
||
}
|
||
|
||
SemaphoreCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SemaphoreCreateFlags,
|
||
}
|
||
|
||
EventCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: EventCreateFlags,
|
||
}
|
||
|
||
QueryPoolCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: QueryPoolCreateFlags,
|
||
queryType: QueryType,
|
||
queryCount: u32,
|
||
pipelineStatistics: QueryPipelineStatisticFlags,
|
||
}
|
||
|
||
BufferCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: BufferCreateFlags,
|
||
size: DeviceSize,
|
||
usage: BufferUsageFlags,
|
||
sharingMode: SharingMode,
|
||
queueFamilyIndexCount: u32,
|
||
pQueueFamilyIndices: [^]u32,
|
||
}
|
||
|
||
BufferViewCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: BufferViewCreateFlags,
|
||
buffer: Buffer,
|
||
format: Format,
|
||
offset: DeviceSize,
|
||
range: DeviceSize,
|
||
}
|
||
|
||
ImageCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ImageCreateFlags,
|
||
imageType: ImageType,
|
||
format: Format,
|
||
extent: Extent3D,
|
||
mipLevels: u32,
|
||
arrayLayers: u32,
|
||
samples: SampleCountFlags,
|
||
tiling: ImageTiling,
|
||
usage: ImageUsageFlags,
|
||
sharingMode: SharingMode,
|
||
queueFamilyIndexCount: u32,
|
||
pQueueFamilyIndices: [^]u32,
|
||
initialLayout: ImageLayout,
|
||
}
|
||
|
||
SubresourceLayout :: struct {
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
rowPitch: DeviceSize,
|
||
arrayPitch: DeviceSize,
|
||
depthPitch: DeviceSize,
|
||
}
|
||
|
||
ComponentMapping :: struct {
|
||
r: ComponentSwizzle,
|
||
g: ComponentSwizzle,
|
||
b: ComponentSwizzle,
|
||
a: ComponentSwizzle,
|
||
}
|
||
|
||
ImageViewCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ImageViewCreateFlags,
|
||
image: Image,
|
||
viewType: ImageViewType,
|
||
format: Format,
|
||
components: ComponentMapping,
|
||
subresourceRange: ImageSubresourceRange,
|
||
}
|
||
|
||
ShaderModuleCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ShaderModuleCreateFlags,
|
||
codeSize: int,
|
||
pCode: ^u32,
|
||
}
|
||
|
||
PipelineCacheCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCacheCreateFlags,
|
||
initialDataSize: int,
|
||
pInitialData: rawptr,
|
||
}
|
||
|
||
SpecializationMapEntry :: struct {
|
||
constantID: u32,
|
||
offset: u32,
|
||
size: int,
|
||
}
|
||
|
||
SpecializationInfo :: struct {
|
||
mapEntryCount: u32,
|
||
pMapEntries: [^]SpecializationMapEntry,
|
||
dataSize: int,
|
||
pData: rawptr,
|
||
}
|
||
|
||
PipelineShaderStageCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineShaderStageCreateFlags,
|
||
stage: ShaderStageFlags,
|
||
module: ShaderModule,
|
||
pName: cstring,
|
||
pSpecializationInfo: ^SpecializationInfo,
|
||
}
|
||
|
||
ComputePipelineCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags,
|
||
stage: PipelineShaderStageCreateInfo,
|
||
layout: PipelineLayout,
|
||
basePipelineHandle: Pipeline,
|
||
basePipelineIndex: i32,
|
||
}
|
||
|
||
VertexInputBindingDescription :: struct {
|
||
binding: u32,
|
||
stride: u32,
|
||
inputRate: VertexInputRate,
|
||
}
|
||
|
||
VertexInputAttributeDescription :: struct {
|
||
location: u32,
|
||
binding: u32,
|
||
format: Format,
|
||
offset: u32,
|
||
}
|
||
|
||
PipelineVertexInputStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineVertexInputStateCreateFlags,
|
||
vertexBindingDescriptionCount: u32,
|
||
pVertexBindingDescriptions: [^]VertexInputBindingDescription,
|
||
vertexAttributeDescriptionCount: u32,
|
||
pVertexAttributeDescriptions: [^]VertexInputAttributeDescription,
|
||
}
|
||
|
||
PipelineInputAssemblyStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineInputAssemblyStateCreateFlags,
|
||
topology: PrimitiveTopology,
|
||
primitiveRestartEnable: b32,
|
||
}
|
||
|
||
PipelineTessellationStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineTessellationStateCreateFlags,
|
||
patchControlPoints: u32,
|
||
}
|
||
|
||
Viewport :: struct {
|
||
x: f32,
|
||
y: f32,
|
||
width: f32,
|
||
height: f32,
|
||
minDepth: f32,
|
||
maxDepth: f32,
|
||
}
|
||
|
||
PipelineViewportStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineViewportStateCreateFlags,
|
||
viewportCount: u32,
|
||
pViewports: [^]Viewport,
|
||
scissorCount: u32,
|
||
pScissors: [^]Rect2D,
|
||
}
|
||
|
||
PipelineRasterizationStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineRasterizationStateCreateFlags,
|
||
depthClampEnable: b32,
|
||
rasterizerDiscardEnable: b32,
|
||
polygonMode: PolygonMode,
|
||
cullMode: CullModeFlags,
|
||
frontFace: FrontFace,
|
||
depthBiasEnable: b32,
|
||
depthBiasConstantFactor: f32,
|
||
depthBiasClamp: f32,
|
||
depthBiasSlopeFactor: f32,
|
||
lineWidth: f32,
|
||
}
|
||
|
||
PipelineMultisampleStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineMultisampleStateCreateFlags,
|
||
rasterizationSamples: SampleCountFlags,
|
||
sampleShadingEnable: b32,
|
||
minSampleShading: f32,
|
||
pSampleMask: ^SampleMask,
|
||
alphaToCoverageEnable: b32,
|
||
alphaToOneEnable: b32,
|
||
}
|
||
|
||
StencilOpState :: struct {
|
||
failOp: StencilOp,
|
||
passOp: StencilOp,
|
||
depthFailOp: StencilOp,
|
||
compareOp: CompareOp,
|
||
compareMask: u32,
|
||
writeMask: u32,
|
||
reference: u32,
|
||
}
|
||
|
||
PipelineDepthStencilStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineDepthStencilStateCreateFlags,
|
||
depthTestEnable: b32,
|
||
depthWriteEnable: b32,
|
||
depthCompareOp: CompareOp,
|
||
depthBoundsTestEnable: b32,
|
||
stencilTestEnable: b32,
|
||
front: StencilOpState,
|
||
back: StencilOpState,
|
||
minDepthBounds: f32,
|
||
maxDepthBounds: f32,
|
||
}
|
||
|
||
PipelineColorBlendAttachmentState :: struct {
|
||
blendEnable: b32,
|
||
srcColorBlendFactor: BlendFactor,
|
||
dstColorBlendFactor: BlendFactor,
|
||
colorBlendOp: BlendOp,
|
||
srcAlphaBlendFactor: BlendFactor,
|
||
dstAlphaBlendFactor: BlendFactor,
|
||
alphaBlendOp: BlendOp,
|
||
colorWriteMask: ColorComponentFlags,
|
||
}
|
||
|
||
PipelineColorBlendStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineColorBlendStateCreateFlags,
|
||
logicOpEnable: b32,
|
||
logicOp: LogicOp,
|
||
attachmentCount: u32,
|
||
pAttachments: [^]PipelineColorBlendAttachmentState,
|
||
blendConstants: [4]f32,
|
||
}
|
||
|
||
PipelineDynamicStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineDynamicStateCreateFlags,
|
||
dynamicStateCount: u32,
|
||
pDynamicStates: [^]DynamicState,
|
||
}
|
||
|
||
GraphicsPipelineCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags,
|
||
stageCount: u32,
|
||
pStages: [^]PipelineShaderStageCreateInfo,
|
||
pVertexInputState: ^PipelineVertexInputStateCreateInfo,
|
||
pInputAssemblyState: ^PipelineInputAssemblyStateCreateInfo,
|
||
pTessellationState: ^PipelineTessellationStateCreateInfo,
|
||
pViewportState: ^PipelineViewportStateCreateInfo,
|
||
pRasterizationState: ^PipelineRasterizationStateCreateInfo,
|
||
pMultisampleState: ^PipelineMultisampleStateCreateInfo,
|
||
pDepthStencilState: ^PipelineDepthStencilStateCreateInfo,
|
||
pColorBlendState: ^PipelineColorBlendStateCreateInfo,
|
||
pDynamicState: ^PipelineDynamicStateCreateInfo,
|
||
layout: PipelineLayout,
|
||
renderPass: RenderPass,
|
||
subpass: u32,
|
||
basePipelineHandle: Pipeline,
|
||
basePipelineIndex: i32,
|
||
}
|
||
|
||
PushConstantRange :: struct {
|
||
stageFlags: ShaderStageFlags,
|
||
offset: u32,
|
||
size: u32,
|
||
}
|
||
|
||
PipelineLayoutCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineLayoutCreateFlags,
|
||
setLayoutCount: u32,
|
||
pSetLayouts: [^]DescriptorSetLayout,
|
||
pushConstantRangeCount: u32,
|
||
pPushConstantRanges: [^]PushConstantRange,
|
||
}
|
||
|
||
SamplerCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SamplerCreateFlags,
|
||
magFilter: Filter,
|
||
minFilter: Filter,
|
||
mipmapMode: SamplerMipmapMode,
|
||
addressModeU: SamplerAddressMode,
|
||
addressModeV: SamplerAddressMode,
|
||
addressModeW: SamplerAddressMode,
|
||
mipLodBias: f32,
|
||
anisotropyEnable: b32,
|
||
maxAnisotropy: f32,
|
||
compareEnable: b32,
|
||
compareOp: CompareOp,
|
||
minLod: f32,
|
||
maxLod: f32,
|
||
borderColor: BorderColor,
|
||
unnormalizedCoordinates: b32,
|
||
}
|
||
|
||
CopyDescriptorSet :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSet: DescriptorSet,
|
||
srcBinding: u32,
|
||
srcArrayElement: u32,
|
||
dstSet: DescriptorSet,
|
||
dstBinding: u32,
|
||
dstArrayElement: u32,
|
||
descriptorCount: u32,
|
||
}
|
||
|
||
DescriptorBufferInfo :: struct {
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
range: DeviceSize,
|
||
}
|
||
|
||
DescriptorImageInfo :: struct {
|
||
sampler: Sampler,
|
||
imageView: ImageView,
|
||
imageLayout: ImageLayout,
|
||
}
|
||
|
||
DescriptorPoolSize :: struct {
|
||
type: DescriptorType,
|
||
descriptorCount: u32,
|
||
}
|
||
|
||
DescriptorPoolCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DescriptorPoolCreateFlags,
|
||
maxSets: u32,
|
||
poolSizeCount: u32,
|
||
pPoolSizes: [^]DescriptorPoolSize,
|
||
}
|
||
|
||
DescriptorSetAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorPool: DescriptorPool,
|
||
descriptorSetCount: u32,
|
||
pSetLayouts: [^]DescriptorSetLayout,
|
||
}
|
||
|
||
DescriptorSetLayoutBinding :: struct {
|
||
binding: u32,
|
||
descriptorType: DescriptorType,
|
||
descriptorCount: u32,
|
||
stageFlags: ShaderStageFlags,
|
||
pImmutableSamplers: [^]Sampler,
|
||
}
|
||
|
||
DescriptorSetLayoutCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DescriptorSetLayoutCreateFlags,
|
||
bindingCount: u32,
|
||
pBindings: [^]DescriptorSetLayoutBinding,
|
||
}
|
||
|
||
WriteDescriptorSet :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dstSet: DescriptorSet,
|
||
dstBinding: u32,
|
||
dstArrayElement: u32,
|
||
descriptorCount: u32,
|
||
descriptorType: DescriptorType,
|
||
pImageInfo: ^DescriptorImageInfo,
|
||
pBufferInfo: ^DescriptorBufferInfo,
|
||
pTexelBufferView: ^BufferView,
|
||
}
|
||
|
||
AttachmentDescription :: struct {
|
||
flags: AttachmentDescriptionFlags,
|
||
format: Format,
|
||
samples: SampleCountFlags,
|
||
loadOp: AttachmentLoadOp,
|
||
storeOp: AttachmentStoreOp,
|
||
stencilLoadOp: AttachmentLoadOp,
|
||
stencilStoreOp: AttachmentStoreOp,
|
||
initialLayout: ImageLayout,
|
||
finalLayout: ImageLayout,
|
||
}
|
||
|
||
AttachmentReference :: struct {
|
||
attachment: u32,
|
||
layout: ImageLayout,
|
||
}
|
||
|
||
FramebufferCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: FramebufferCreateFlags,
|
||
renderPass: RenderPass,
|
||
attachmentCount: u32,
|
||
pAttachments: [^]ImageView,
|
||
width: u32,
|
||
height: u32,
|
||
layers: u32,
|
||
}
|
||
|
||
SubpassDescription :: struct {
|
||
flags: SubpassDescriptionFlags,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
inputAttachmentCount: u32,
|
||
pInputAttachments: [^]AttachmentReference,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachments: [^]AttachmentReference,
|
||
pResolveAttachments: [^]AttachmentReference,
|
||
pDepthStencilAttachment: ^AttachmentReference,
|
||
preserveAttachmentCount: u32,
|
||
pPreserveAttachments: [^]u32,
|
||
}
|
||
|
||
SubpassDependency :: struct {
|
||
srcSubpass: u32,
|
||
dstSubpass: u32,
|
||
srcStageMask: PipelineStageFlags,
|
||
dstStageMask: PipelineStageFlags,
|
||
srcAccessMask: AccessFlags,
|
||
dstAccessMask: AccessFlags,
|
||
dependencyFlags: DependencyFlags,
|
||
}
|
||
|
||
RenderPassCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: RenderPassCreateFlags,
|
||
attachmentCount: u32,
|
||
pAttachments: [^]AttachmentDescription,
|
||
subpassCount: u32,
|
||
pSubpasses: [^]SubpassDescription,
|
||
dependencyCount: u32,
|
||
pDependencies: [^]SubpassDependency,
|
||
}
|
||
|
||
CommandPoolCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: CommandPoolCreateFlags,
|
||
queueFamilyIndex: u32,
|
||
}
|
||
|
||
CommandBufferAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
commandPool: CommandPool,
|
||
level: CommandBufferLevel,
|
||
commandBufferCount: u32,
|
||
}
|
||
|
||
CommandBufferInheritanceInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
renderPass: RenderPass,
|
||
subpass: u32,
|
||
framebuffer: Framebuffer,
|
||
occlusionQueryEnable: b32,
|
||
queryFlags: QueryControlFlags,
|
||
pipelineStatistics: QueryPipelineStatisticFlags,
|
||
}
|
||
|
||
CommandBufferBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: CommandBufferUsageFlags,
|
||
pInheritanceInfo: ^CommandBufferInheritanceInfo,
|
||
}
|
||
|
||
BufferCopy :: struct {
|
||
srcOffset: DeviceSize,
|
||
dstOffset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
ImageSubresourceLayers :: struct {
|
||
aspectMask: ImageAspectFlags,
|
||
mipLevel: u32,
|
||
baseArrayLayer: u32,
|
||
layerCount: u32,
|
||
}
|
||
|
||
BufferImageCopy :: struct {
|
||
bufferOffset: DeviceSize,
|
||
bufferRowLength: u32,
|
||
bufferImageHeight: u32,
|
||
imageSubresource: ImageSubresourceLayers,
|
||
imageOffset: Offset3D,
|
||
imageExtent: Extent3D,
|
||
}
|
||
|
||
ClearColorValue :: struct #raw_union {
|
||
float32: [4]f32,
|
||
int32: [4]i32,
|
||
uint32: [4]u32,
|
||
}
|
||
|
||
ClearDepthStencilValue :: struct {
|
||
depth: f32,
|
||
stencil: u32,
|
||
}
|
||
|
||
ClearValue :: struct #raw_union {
|
||
color: ClearColorValue,
|
||
depthStencil: ClearDepthStencilValue,
|
||
}
|
||
|
||
ClearAttachment :: struct {
|
||
aspectMask: ImageAspectFlags,
|
||
colorAttachment: u32,
|
||
clearValue: ClearValue,
|
||
}
|
||
|
||
ClearRect :: struct {
|
||
rect: Rect2D,
|
||
baseArrayLayer: u32,
|
||
layerCount: u32,
|
||
}
|
||
|
||
ImageBlit :: struct {
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffsets: [2]Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffsets: [2]Offset3D,
|
||
}
|
||
|
||
ImageCopy :: struct {
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffset: Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffset: Offset3D,
|
||
extent: Extent3D,
|
||
}
|
||
|
||
ImageResolve :: struct {
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffset: Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffset: Offset3D,
|
||
extent: Extent3D,
|
||
}
|
||
|
||
RenderPassBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
renderPass: RenderPass,
|
||
framebuffer: Framebuffer,
|
||
renderArea: Rect2D,
|
||
clearValueCount: u32,
|
||
pClearValues: [^]ClearValue,
|
||
}
|
||
|
||
PhysicalDeviceSubgroupProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subgroupSize: u32,
|
||
supportedStages: ShaderStageFlags,
|
||
supportedOperations: SubgroupFeatureFlags,
|
||
quadOperationsInAllStages: b32,
|
||
}
|
||
|
||
BindBufferMemoryInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
}
|
||
|
||
BindImageMemoryInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
}
|
||
|
||
PhysicalDevice16BitStorageFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
storageBuffer16BitAccess: b32,
|
||
uniformAndStorageBuffer16BitAccess: b32,
|
||
storagePushConstant16: b32,
|
||
storageInputOutput16: b32,
|
||
}
|
||
|
||
MemoryDedicatedRequirements :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
prefersDedicatedAllocation: b32,
|
||
requiresDedicatedAllocation: b32,
|
||
}
|
||
|
||
MemoryDedicatedAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
MemoryAllocateFlagsInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: MemoryAllocateFlags,
|
||
deviceMask: u32,
|
||
}
|
||
|
||
DeviceGroupRenderPassBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceMask: u32,
|
||
deviceRenderAreaCount: u32,
|
||
pDeviceRenderAreas: [^]Rect2D,
|
||
}
|
||
|
||
DeviceGroupCommandBufferBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceMask: u32,
|
||
}
|
||
|
||
DeviceGroupSubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreCount: u32,
|
||
pWaitSemaphoreDeviceIndices: [^]u32,
|
||
commandBufferCount: u32,
|
||
pCommandBufferDeviceMasks: [^]u32,
|
||
signalSemaphoreCount: u32,
|
||
pSignalSemaphoreDeviceIndices: [^]u32,
|
||
}
|
||
|
||
DeviceGroupBindSparseInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
resourceDeviceIndex: u32,
|
||
memoryDeviceIndex: u32,
|
||
}
|
||
|
||
BindBufferMemoryDeviceGroupInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceIndexCount: u32,
|
||
pDeviceIndices: [^]u32,
|
||
}
|
||
|
||
BindImageMemoryDeviceGroupInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceIndexCount: u32,
|
||
pDeviceIndices: [^]u32,
|
||
splitInstanceBindRegionCount: u32,
|
||
pSplitInstanceBindRegions: [^]Rect2D,
|
||
}
|
||
|
||
PhysicalDeviceGroupProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
physicalDeviceCount: u32,
|
||
physicalDevices: [MAX_DEVICE_GROUP_SIZE]PhysicalDevice,
|
||
subsetAllocation: b32,
|
||
}
|
||
|
||
DeviceGroupDeviceCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
physicalDeviceCount: u32,
|
||
pPhysicalDevices: [^]PhysicalDevice,
|
||
}
|
||
|
||
BufferMemoryRequirementsInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
ImageMemoryRequirementsInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
}
|
||
|
||
ImageSparseMemoryRequirementsInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
}
|
||
|
||
MemoryRequirements2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryRequirements: MemoryRequirements,
|
||
}
|
||
|
||
SparseImageMemoryRequirements2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryRequirements: SparseImageMemoryRequirements,
|
||
}
|
||
|
||
PhysicalDeviceFeatures2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
features: PhysicalDeviceFeatures,
|
||
}
|
||
|
||
PhysicalDeviceProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
properties: PhysicalDeviceProperties,
|
||
}
|
||
|
||
FormatProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
formatProperties: FormatProperties,
|
||
}
|
||
|
||
ImageFormatProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageFormatProperties: ImageFormatProperties,
|
||
}
|
||
|
||
PhysicalDeviceImageFormatInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
format: Format,
|
||
type: ImageType,
|
||
tiling: ImageTiling,
|
||
usage: ImageUsageFlags,
|
||
flags: ImageCreateFlags,
|
||
}
|
||
|
||
QueueFamilyProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queueFamilyProperties: QueueFamilyProperties,
|
||
}
|
||
|
||
PhysicalDeviceMemoryProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryProperties: PhysicalDeviceMemoryProperties,
|
||
}
|
||
|
||
SparseImageFormatProperties2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
properties: SparseImageFormatProperties,
|
||
}
|
||
|
||
PhysicalDeviceSparseImageFormatInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
format: Format,
|
||
type: ImageType,
|
||
samples: SampleCountFlags,
|
||
usage: ImageUsageFlags,
|
||
tiling: ImageTiling,
|
||
}
|
||
|
||
PhysicalDevicePointClippingProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pointClippingBehavior: PointClippingBehavior,
|
||
}
|
||
|
||
InputAttachmentAspectReference :: struct {
|
||
subpass: u32,
|
||
inputAttachmentIndex: u32,
|
||
aspectMask: ImageAspectFlags,
|
||
}
|
||
|
||
RenderPassInputAttachmentAspectCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
aspectReferenceCount: u32,
|
||
pAspectReferences: [^]InputAttachmentAspectReference,
|
||
}
|
||
|
||
ImageViewUsageCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
usage: ImageUsageFlags,
|
||
}
|
||
|
||
PipelineTessellationDomainOriginStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
domainOrigin: TessellationDomainOrigin,
|
||
}
|
||
|
||
RenderPassMultiviewCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subpassCount: u32,
|
||
pViewMasks: [^]u32,
|
||
dependencyCount: u32,
|
||
pViewOffsets: [^]i32,
|
||
correlationMaskCount: u32,
|
||
pCorrelationMasks: [^]u32,
|
||
}
|
||
|
||
PhysicalDeviceMultiviewFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multiview: b32,
|
||
multiviewGeometryShader: b32,
|
||
multiviewTessellationShader: b32,
|
||
}
|
||
|
||
PhysicalDeviceMultiviewProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxMultiviewViewCount: u32,
|
||
maxMultiviewInstanceIndex: u32,
|
||
}
|
||
|
||
PhysicalDeviceVariablePointersFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
variablePointersStorageBuffer: b32,
|
||
variablePointers: b32,
|
||
}
|
||
|
||
PhysicalDeviceProtectedMemoryFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
protectedMemory: b32,
|
||
}
|
||
|
||
PhysicalDeviceProtectedMemoryProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
protectedNoFault: b32,
|
||
}
|
||
|
||
DeviceQueueInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceQueueCreateFlags,
|
||
queueFamilyIndex: u32,
|
||
queueIndex: u32,
|
||
}
|
||
|
||
ProtectedSubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
protectedSubmit: b32,
|
||
}
|
||
|
||
SamplerYcbcrConversionCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
format: Format,
|
||
ycbcrModel: SamplerYcbcrModelConversion,
|
||
ycbcrRange: SamplerYcbcrRange,
|
||
components: ComponentMapping,
|
||
xChromaOffset: ChromaLocation,
|
||
yChromaOffset: ChromaLocation,
|
||
chromaFilter: Filter,
|
||
forceExplicitReconstruction: b32,
|
||
}
|
||
|
||
SamplerYcbcrConversionInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
conversion: SamplerYcbcrConversion,
|
||
}
|
||
|
||
BindImagePlaneMemoryInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
planeAspect: ImageAspectFlags,
|
||
}
|
||
|
||
ImagePlaneMemoryRequirementsInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
planeAspect: ImageAspectFlags,
|
||
}
|
||
|
||
PhysicalDeviceSamplerYcbcrConversionFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
samplerYcbcrConversion: b32,
|
||
}
|
||
|
||
SamplerYcbcrConversionImageFormatProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
combinedImageSamplerDescriptorCount: u32,
|
||
}
|
||
|
||
DescriptorUpdateTemplateEntry :: struct {
|
||
dstBinding: u32,
|
||
dstArrayElement: u32,
|
||
descriptorCount: u32,
|
||
descriptorType: DescriptorType,
|
||
offset: int,
|
||
stride: int,
|
||
}
|
||
|
||
DescriptorUpdateTemplateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DescriptorUpdateTemplateCreateFlags,
|
||
descriptorUpdateEntryCount: u32,
|
||
pDescriptorUpdateEntries: [^]DescriptorUpdateTemplateEntry,
|
||
templateType: DescriptorUpdateTemplateType,
|
||
descriptorSetLayout: DescriptorSetLayout,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
pipelineLayout: PipelineLayout,
|
||
set: u32,
|
||
}
|
||
|
||
ExternalMemoryProperties :: struct {
|
||
externalMemoryFeatures: ExternalMemoryFeatureFlags,
|
||
exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlags,
|
||
compatibleHandleTypes: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
PhysicalDeviceExternalImageFormatInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
ExternalImageFormatProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
externalMemoryProperties: ExternalMemoryProperties,
|
||
}
|
||
|
||
PhysicalDeviceExternalBufferInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: BufferCreateFlags,
|
||
usage: BufferUsageFlags,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
ExternalBufferProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
externalMemoryProperties: ExternalMemoryProperties,
|
||
}
|
||
|
||
PhysicalDeviceIDProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceUUID: [UUID_SIZE]u8,
|
||
driverUUID: [UUID_SIZE]u8,
|
||
deviceLUID: [LUID_SIZE]u8,
|
||
deviceNodeMask: u32,
|
||
deviceLUIDValid: b32,
|
||
}
|
||
|
||
ExternalMemoryImageCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
ExternalMemoryBufferCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
ExportMemoryAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
PhysicalDeviceExternalFenceInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalFenceHandleTypeFlags,
|
||
}
|
||
|
||
ExternalFenceProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
exportFromImportedHandleTypes: ExternalFenceHandleTypeFlags,
|
||
compatibleHandleTypes: ExternalFenceHandleTypeFlags,
|
||
externalFenceFeatures: ExternalFenceFeatureFlags,
|
||
}
|
||
|
||
ExportFenceCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalFenceHandleTypeFlags,
|
||
}
|
||
|
||
ExportSemaphoreCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalSemaphoreHandleTypeFlags,
|
||
}
|
||
|
||
PhysicalDeviceExternalSemaphoreInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalSemaphoreHandleTypeFlags,
|
||
}
|
||
|
||
ExternalSemaphoreProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
exportFromImportedHandleTypes: ExternalSemaphoreHandleTypeFlags,
|
||
compatibleHandleTypes: ExternalSemaphoreHandleTypeFlags,
|
||
externalSemaphoreFeatures: ExternalSemaphoreFeatureFlags,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance3Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxPerSetDescriptors: u32,
|
||
maxMemoryAllocationSize: DeviceSize,
|
||
}
|
||
|
||
DescriptorSetLayoutSupport :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supported: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderDrawParametersFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderDrawParameters: b32,
|
||
}
|
||
|
||
PhysicalDeviceVulkan11Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
storageBuffer16BitAccess: b32,
|
||
uniformAndStorageBuffer16BitAccess: b32,
|
||
storagePushConstant16: b32,
|
||
storageInputOutput16: b32,
|
||
multiview: b32,
|
||
multiviewGeometryShader: b32,
|
||
multiviewTessellationShader: b32,
|
||
variablePointersStorageBuffer: b32,
|
||
variablePointers: b32,
|
||
protectedMemory: b32,
|
||
samplerYcbcrConversion: b32,
|
||
shaderDrawParameters: b32,
|
||
}
|
||
|
||
PhysicalDeviceVulkan11Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceUUID: [UUID_SIZE]u8,
|
||
driverUUID: [UUID_SIZE]u8,
|
||
deviceLUID: [LUID_SIZE]u8,
|
||
deviceNodeMask: u32,
|
||
deviceLUIDValid: b32,
|
||
subgroupSize: u32,
|
||
subgroupSupportedStages: ShaderStageFlags,
|
||
subgroupSupportedOperations: SubgroupFeatureFlags,
|
||
subgroupQuadOperationsInAllStages: b32,
|
||
pointClippingBehavior: PointClippingBehavior,
|
||
maxMultiviewViewCount: u32,
|
||
maxMultiviewInstanceIndex: u32,
|
||
protectedNoFault: b32,
|
||
maxPerSetDescriptors: u32,
|
||
maxMemoryAllocationSize: DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceVulkan12Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
samplerMirrorClampToEdge: b32,
|
||
drawIndirectCount: b32,
|
||
storageBuffer8BitAccess: b32,
|
||
uniformAndStorageBuffer8BitAccess: b32,
|
||
storagePushConstant8: b32,
|
||
shaderBufferInt64Atomics: b32,
|
||
shaderSharedInt64Atomics: b32,
|
||
shaderFloat16: b32,
|
||
shaderInt8: b32,
|
||
descriptorIndexing: b32,
|
||
shaderInputAttachmentArrayDynamicIndexing: b32,
|
||
shaderUniformTexelBufferArrayDynamicIndexing: b32,
|
||
shaderStorageTexelBufferArrayDynamicIndexing: b32,
|
||
shaderUniformBufferArrayNonUniformIndexing: b32,
|
||
shaderSampledImageArrayNonUniformIndexing: b32,
|
||
shaderStorageBufferArrayNonUniformIndexing: b32,
|
||
shaderStorageImageArrayNonUniformIndexing: b32,
|
||
shaderInputAttachmentArrayNonUniformIndexing: b32,
|
||
shaderUniformTexelBufferArrayNonUniformIndexing: b32,
|
||
shaderStorageTexelBufferArrayNonUniformIndexing: b32,
|
||
descriptorBindingUniformBufferUpdateAfterBind: b32,
|
||
descriptorBindingSampledImageUpdateAfterBind: b32,
|
||
descriptorBindingStorageImageUpdateAfterBind: b32,
|
||
descriptorBindingStorageBufferUpdateAfterBind: b32,
|
||
descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
|
||
descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
|
||
descriptorBindingUpdateUnusedWhilePending: b32,
|
||
descriptorBindingPartiallyBound: b32,
|
||
descriptorBindingVariableDescriptorCount: b32,
|
||
runtimeDescriptorArray: b32,
|
||
samplerFilterMinmax: b32,
|
||
scalarBlockLayout: b32,
|
||
imagelessFramebuffer: b32,
|
||
uniformBufferStandardLayout: b32,
|
||
shaderSubgroupExtendedTypes: b32,
|
||
separateDepthStencilLayouts: b32,
|
||
hostQueryReset: b32,
|
||
timelineSemaphore: b32,
|
||
bufferDeviceAddress: b32,
|
||
bufferDeviceAddressCaptureReplay: b32,
|
||
bufferDeviceAddressMultiDevice: b32,
|
||
vulkanMemoryModel: b32,
|
||
vulkanMemoryModelDeviceScope: b32,
|
||
vulkanMemoryModelAvailabilityVisibilityChains: b32,
|
||
shaderOutputViewportIndex: b32,
|
||
shaderOutputLayer: b32,
|
||
subgroupBroadcastDynamicId: b32,
|
||
}
|
||
|
||
ConformanceVersion :: struct {
|
||
major: u8,
|
||
minor: u8,
|
||
subminor: u8,
|
||
patch: u8,
|
||
}
|
||
|
||
PhysicalDeviceVulkan12Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
driverID: DriverId,
|
||
driverName: [MAX_DRIVER_NAME_SIZE]byte,
|
||
driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
|
||
conformanceVersion: ConformanceVersion,
|
||
denormBehaviorIndependence: ShaderFloatControlsIndependence,
|
||
roundingModeIndependence: ShaderFloatControlsIndependence,
|
||
shaderSignedZeroInfNanPreserveFloat16: b32,
|
||
shaderSignedZeroInfNanPreserveFloat32: b32,
|
||
shaderSignedZeroInfNanPreserveFloat64: b32,
|
||
shaderDenormPreserveFloat16: b32,
|
||
shaderDenormPreserveFloat32: b32,
|
||
shaderDenormPreserveFloat64: b32,
|
||
shaderDenormFlushToZeroFloat16: b32,
|
||
shaderDenormFlushToZeroFloat32: b32,
|
||
shaderDenormFlushToZeroFloat64: b32,
|
||
shaderRoundingModeRTEFloat16: b32,
|
||
shaderRoundingModeRTEFloat32: b32,
|
||
shaderRoundingModeRTEFloat64: b32,
|
||
shaderRoundingModeRTZFloat16: b32,
|
||
shaderRoundingModeRTZFloat32: b32,
|
||
shaderRoundingModeRTZFloat64: b32,
|
||
maxUpdateAfterBindDescriptorsInAllPools: u32,
|
||
shaderUniformBufferArrayNonUniformIndexingNative: b32,
|
||
shaderSampledImageArrayNonUniformIndexingNative: b32,
|
||
shaderStorageBufferArrayNonUniformIndexingNative: b32,
|
||
shaderStorageImageArrayNonUniformIndexingNative: b32,
|
||
shaderInputAttachmentArrayNonUniformIndexingNative: b32,
|
||
robustBufferAccessUpdateAfterBind: b32,
|
||
quadDivergentImplicitLod: b32,
|
||
maxPerStageDescriptorUpdateAfterBindSamplers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
|
||
maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
|
||
maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
|
||
maxPerStageUpdateAfterBindResources: u32,
|
||
maxDescriptorSetUpdateAfterBindSamplers: u32,
|
||
maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
|
||
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindSampledImages: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageImages: u32,
|
||
maxDescriptorSetUpdateAfterBindInputAttachments: u32,
|
||
supportedDepthResolveModes: ResolveModeFlags,
|
||
supportedStencilResolveModes: ResolveModeFlags,
|
||
independentResolveNone: b32,
|
||
independentResolve: b32,
|
||
filterMinmaxSingleComponentFormats: b32,
|
||
filterMinmaxImageComponentMapping: b32,
|
||
maxTimelineSemaphoreValueDifference: u64,
|
||
framebufferIntegerColorSampleCounts: SampleCountFlags,
|
||
}
|
||
|
||
ImageFormatListCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
viewFormatCount: u32,
|
||
pViewFormats: [^]Format,
|
||
}
|
||
|
||
AttachmentDescription2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: AttachmentDescriptionFlags,
|
||
format: Format,
|
||
samples: SampleCountFlags,
|
||
loadOp: AttachmentLoadOp,
|
||
storeOp: AttachmentStoreOp,
|
||
stencilLoadOp: AttachmentLoadOp,
|
||
stencilStoreOp: AttachmentStoreOp,
|
||
initialLayout: ImageLayout,
|
||
finalLayout: ImageLayout,
|
||
}
|
||
|
||
AttachmentReference2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachment: u32,
|
||
layout: ImageLayout,
|
||
aspectMask: ImageAspectFlags,
|
||
}
|
||
|
||
SubpassDescription2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SubpassDescriptionFlags,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
viewMask: u32,
|
||
inputAttachmentCount: u32,
|
||
pInputAttachments: [^]AttachmentReference2,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachments: [^]AttachmentReference2,
|
||
pResolveAttachments: [^]AttachmentReference2,
|
||
pDepthStencilAttachment: ^AttachmentReference2,
|
||
preserveAttachmentCount: u32,
|
||
pPreserveAttachments: [^]u32,
|
||
}
|
||
|
||
SubpassDependency2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSubpass: u32,
|
||
dstSubpass: u32,
|
||
srcStageMask: PipelineStageFlags,
|
||
dstStageMask: PipelineStageFlags,
|
||
srcAccessMask: AccessFlags,
|
||
dstAccessMask: AccessFlags,
|
||
dependencyFlags: DependencyFlags,
|
||
viewOffset: i32,
|
||
}
|
||
|
||
RenderPassCreateInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: RenderPassCreateFlags,
|
||
attachmentCount: u32,
|
||
pAttachments: [^]AttachmentDescription2,
|
||
subpassCount: u32,
|
||
pSubpasses: [^]SubpassDescription2,
|
||
dependencyCount: u32,
|
||
pDependencies: [^]SubpassDependency2,
|
||
correlatedViewMaskCount: u32,
|
||
pCorrelatedViewMasks: [^]u32,
|
||
}
|
||
|
||
SubpassBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
contents: SubpassContents,
|
||
}
|
||
|
||
SubpassEndInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
}
|
||
|
||
PhysicalDevice8BitStorageFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
storageBuffer8BitAccess: b32,
|
||
uniformAndStorageBuffer8BitAccess: b32,
|
||
storagePushConstant8: b32,
|
||
}
|
||
|
||
PhysicalDeviceDriverProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
driverID: DriverId,
|
||
driverName: [MAX_DRIVER_NAME_SIZE]byte,
|
||
driverInfo: [MAX_DRIVER_INFO_SIZE]byte,
|
||
conformanceVersion: ConformanceVersion,
|
||
}
|
||
|
||
PhysicalDeviceShaderAtomicInt64Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderBufferInt64Atomics: b32,
|
||
shaderSharedInt64Atomics: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderFloat16Int8Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderFloat16: b32,
|
||
shaderInt8: b32,
|
||
}
|
||
|
||
PhysicalDeviceFloatControlsProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
denormBehaviorIndependence: ShaderFloatControlsIndependence,
|
||
roundingModeIndependence: ShaderFloatControlsIndependence,
|
||
shaderSignedZeroInfNanPreserveFloat16: b32,
|
||
shaderSignedZeroInfNanPreserveFloat32: b32,
|
||
shaderSignedZeroInfNanPreserveFloat64: b32,
|
||
shaderDenormPreserveFloat16: b32,
|
||
shaderDenormPreserveFloat32: b32,
|
||
shaderDenormPreserveFloat64: b32,
|
||
shaderDenormFlushToZeroFloat16: b32,
|
||
shaderDenormFlushToZeroFloat32: b32,
|
||
shaderDenormFlushToZeroFloat64: b32,
|
||
shaderRoundingModeRTEFloat16: b32,
|
||
shaderRoundingModeRTEFloat32: b32,
|
||
shaderRoundingModeRTEFloat64: b32,
|
||
shaderRoundingModeRTZFloat16: b32,
|
||
shaderRoundingModeRTZFloat32: b32,
|
||
shaderRoundingModeRTZFloat64: b32,
|
||
}
|
||
|
||
DescriptorSetLayoutBindingFlagsCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
bindingCount: u32,
|
||
pBindingFlags: [^]DescriptorBindingFlags,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorIndexingFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderInputAttachmentArrayDynamicIndexing: b32,
|
||
shaderUniformTexelBufferArrayDynamicIndexing: b32,
|
||
shaderStorageTexelBufferArrayDynamicIndexing: b32,
|
||
shaderUniformBufferArrayNonUniformIndexing: b32,
|
||
shaderSampledImageArrayNonUniformIndexing: b32,
|
||
shaderStorageBufferArrayNonUniformIndexing: b32,
|
||
shaderStorageImageArrayNonUniformIndexing: b32,
|
||
shaderInputAttachmentArrayNonUniformIndexing: b32,
|
||
shaderUniformTexelBufferArrayNonUniformIndexing: b32,
|
||
shaderStorageTexelBufferArrayNonUniformIndexing: b32,
|
||
descriptorBindingUniformBufferUpdateAfterBind: b32,
|
||
descriptorBindingSampledImageUpdateAfterBind: b32,
|
||
descriptorBindingStorageImageUpdateAfterBind: b32,
|
||
descriptorBindingStorageBufferUpdateAfterBind: b32,
|
||
descriptorBindingUniformTexelBufferUpdateAfterBind: b32,
|
||
descriptorBindingStorageTexelBufferUpdateAfterBind: b32,
|
||
descriptorBindingUpdateUnusedWhilePending: b32,
|
||
descriptorBindingPartiallyBound: b32,
|
||
descriptorBindingVariableDescriptorCount: b32,
|
||
runtimeDescriptorArray: b32,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorIndexingProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxUpdateAfterBindDescriptorsInAllPools: u32,
|
||
shaderUniformBufferArrayNonUniformIndexingNative: b32,
|
||
shaderSampledImageArrayNonUniformIndexingNative: b32,
|
||
shaderStorageBufferArrayNonUniformIndexingNative: b32,
|
||
shaderStorageImageArrayNonUniformIndexingNative: b32,
|
||
shaderInputAttachmentArrayNonUniformIndexingNative: b32,
|
||
robustBufferAccessUpdateAfterBind: b32,
|
||
quadDivergentImplicitLod: b32,
|
||
maxPerStageDescriptorUpdateAfterBindSamplers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindUniformBuffers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindStorageBuffers: u32,
|
||
maxPerStageDescriptorUpdateAfterBindSampledImages: u32,
|
||
maxPerStageDescriptorUpdateAfterBindStorageImages: u32,
|
||
maxPerStageDescriptorUpdateAfterBindInputAttachments: u32,
|
||
maxPerStageUpdateAfterBindResources: u32,
|
||
maxDescriptorSetUpdateAfterBindSamplers: u32,
|
||
maxDescriptorSetUpdateAfterBindUniformBuffers: u32,
|
||
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageBuffers: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindSampledImages: u32,
|
||
maxDescriptorSetUpdateAfterBindStorageImages: u32,
|
||
maxDescriptorSetUpdateAfterBindInputAttachments: u32,
|
||
}
|
||
|
||
DescriptorSetVariableDescriptorCountAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorSetCount: u32,
|
||
pDescriptorCounts: [^]u32,
|
||
}
|
||
|
||
DescriptorSetVariableDescriptorCountLayoutSupport :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxVariableDescriptorCount: u32,
|
||
}
|
||
|
||
SubpassDescriptionDepthStencilResolve :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthResolveMode: ResolveModeFlags,
|
||
stencilResolveMode: ResolveModeFlags,
|
||
pDepthStencilResolveAttachment: ^AttachmentReference2,
|
||
}
|
||
|
||
PhysicalDeviceDepthStencilResolveProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportedDepthResolveModes: ResolveModeFlags,
|
||
supportedStencilResolveModes: ResolveModeFlags,
|
||
independentResolveNone: b32,
|
||
independentResolve: b32,
|
||
}
|
||
|
||
PhysicalDeviceScalarBlockLayoutFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
scalarBlockLayout: b32,
|
||
}
|
||
|
||
ImageStencilUsageCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stencilUsage: ImageUsageFlags,
|
||
}
|
||
|
||
SamplerReductionModeCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
reductionMode: SamplerReductionMode,
|
||
}
|
||
|
||
PhysicalDeviceSamplerFilterMinmaxProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
filterMinmaxSingleComponentFormats: b32,
|
||
filterMinmaxImageComponentMapping: b32,
|
||
}
|
||
|
||
PhysicalDeviceVulkanMemoryModelFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vulkanMemoryModel: b32,
|
||
vulkanMemoryModelDeviceScope: b32,
|
||
vulkanMemoryModelAvailabilityVisibilityChains: b32,
|
||
}
|
||
|
||
PhysicalDeviceImagelessFramebufferFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imagelessFramebuffer: b32,
|
||
}
|
||
|
||
FramebufferAttachmentImageInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ImageCreateFlags,
|
||
usage: ImageUsageFlags,
|
||
width: u32,
|
||
height: u32,
|
||
layerCount: u32,
|
||
viewFormatCount: u32,
|
||
pViewFormats: [^]Format,
|
||
}
|
||
|
||
FramebufferAttachmentsCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentImageInfoCount: u32,
|
||
pAttachmentImageInfos: [^]FramebufferAttachmentImageInfo,
|
||
}
|
||
|
||
RenderPassAttachmentBeginInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentCount: u32,
|
||
pAttachments: [^]ImageView,
|
||
}
|
||
|
||
PhysicalDeviceUniformBufferStandardLayoutFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
uniformBufferStandardLayout: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderSubgroupExtendedTypesFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSubgroupExtendedTypes: b32,
|
||
}
|
||
|
||
PhysicalDeviceSeparateDepthStencilLayoutsFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
separateDepthStencilLayouts: b32,
|
||
}
|
||
|
||
AttachmentReferenceStencilLayout :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stencilLayout: ImageLayout,
|
||
}
|
||
|
||
AttachmentDescriptionStencilLayout :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stencilInitialLayout: ImageLayout,
|
||
stencilFinalLayout: ImageLayout,
|
||
}
|
||
|
||
PhysicalDeviceHostQueryResetFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hostQueryReset: b32,
|
||
}
|
||
|
||
PhysicalDeviceTimelineSemaphoreFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
timelineSemaphore: b32,
|
||
}
|
||
|
||
PhysicalDeviceTimelineSemaphoreProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxTimelineSemaphoreValueDifference: u64,
|
||
}
|
||
|
||
SemaphoreTypeCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphoreType: SemaphoreType,
|
||
initialValue: u64,
|
||
}
|
||
|
||
TimelineSemaphoreSubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreValueCount: u32,
|
||
pWaitSemaphoreValues: [^]u64,
|
||
signalSemaphoreValueCount: u32,
|
||
pSignalSemaphoreValues: [^]u64,
|
||
}
|
||
|
||
SemaphoreWaitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SemaphoreWaitFlags,
|
||
semaphoreCount: u32,
|
||
pSemaphores: [^]Semaphore,
|
||
pValues: [^]u64,
|
||
}
|
||
|
||
SemaphoreSignalInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
value: u64,
|
||
}
|
||
|
||
PhysicalDeviceBufferDeviceAddressFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
bufferDeviceAddress: b32,
|
||
bufferDeviceAddressCaptureReplay: b32,
|
||
bufferDeviceAddressMultiDevice: b32,
|
||
}
|
||
|
||
BufferDeviceAddressInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
BufferOpaqueCaptureAddressCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
opaqueCaptureAddress: u64,
|
||
}
|
||
|
||
MemoryOpaqueCaptureAddressAllocateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
opaqueCaptureAddress: u64,
|
||
}
|
||
|
||
DeviceMemoryOpaqueCaptureAddressInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
}
|
||
|
||
PhysicalDeviceVulkan13Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
robustImageAccess: b32,
|
||
inlineUniformBlock: b32,
|
||
descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
|
||
pipelineCreationCacheControl: b32,
|
||
privateData: b32,
|
||
shaderDemoteToHelperInvocation: b32,
|
||
shaderTerminateInvocation: b32,
|
||
subgroupSizeControl: b32,
|
||
computeFullSubgroups: b32,
|
||
synchronization2: b32,
|
||
textureCompressionASTC_HDR: b32,
|
||
shaderZeroInitializeWorkgroupMemory: b32,
|
||
dynamicRendering: b32,
|
||
shaderIntegerDotProduct: b32,
|
||
maintenance4: b32,
|
||
}
|
||
|
||
PhysicalDeviceVulkan13Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minSubgroupSize: u32,
|
||
maxSubgroupSize: u32,
|
||
maxComputeWorkgroupSubgroups: u32,
|
||
requiredSubgroupSizeStages: ShaderStageFlags,
|
||
maxInlineUniformBlockSize: u32,
|
||
maxPerStageDescriptorInlineUniformBlocks: u32,
|
||
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
|
||
maxDescriptorSetInlineUniformBlocks: u32,
|
||
maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
|
||
maxInlineUniformTotalSize: u32,
|
||
integerDotProduct8BitUnsignedAccelerated: b32,
|
||
integerDotProduct8BitSignedAccelerated: b32,
|
||
integerDotProduct8BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
|
||
integerDotProduct4x8BitPackedSignedAccelerated: b32,
|
||
integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
|
||
integerDotProduct16BitUnsignedAccelerated: b32,
|
||
integerDotProduct16BitSignedAccelerated: b32,
|
||
integerDotProduct16BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct32BitUnsignedAccelerated: b32,
|
||
integerDotProduct32BitSignedAccelerated: b32,
|
||
integerDotProduct32BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct64BitUnsignedAccelerated: b32,
|
||
integerDotProduct64BitSignedAccelerated: b32,
|
||
integerDotProduct64BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
|
||
storageTexelBufferOffsetAlignmentBytes: DeviceSize,
|
||
storageTexelBufferOffsetSingleTexelAlignment: b32,
|
||
uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
|
||
uniformTexelBufferOffsetSingleTexelAlignment: b32,
|
||
maxBufferSize: DeviceSize,
|
||
}
|
||
|
||
PipelineCreationFeedback :: struct {
|
||
flags: PipelineCreationFeedbackFlags,
|
||
duration: u64,
|
||
}
|
||
|
||
PipelineCreationFeedbackCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pPipelineCreationFeedback: ^PipelineCreationFeedback,
|
||
pipelineStageCreationFeedbackCount: u32,
|
||
pPipelineStageCreationFeedbacks: [^]PipelineCreationFeedback,
|
||
}
|
||
|
||
PhysicalDeviceShaderTerminateInvocationFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderTerminateInvocation: b32,
|
||
}
|
||
|
||
PhysicalDeviceToolProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
name: [MAX_EXTENSION_NAME_SIZE]byte,
|
||
version: [MAX_EXTENSION_NAME_SIZE]byte,
|
||
purposes: ToolPurposeFlags,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
layer: [MAX_EXTENSION_NAME_SIZE]byte,
|
||
}
|
||
|
||
PhysicalDeviceShaderDemoteToHelperInvocationFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderDemoteToHelperInvocation: b32,
|
||
}
|
||
|
||
PhysicalDevicePrivateDataFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
privateData: b32,
|
||
}
|
||
|
||
DevicePrivateDataCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
privateDataSlotRequestCount: u32,
|
||
}
|
||
|
||
PrivateDataSlotCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PrivateDataSlotCreateFlags,
|
||
}
|
||
|
||
PhysicalDevicePipelineCreationCacheControlFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineCreationCacheControl: b32,
|
||
}
|
||
|
||
MemoryBarrier2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcStageMask: PipelineStageFlags2,
|
||
srcAccessMask: AccessFlags2,
|
||
dstStageMask: PipelineStageFlags2,
|
||
dstAccessMask: AccessFlags2,
|
||
}
|
||
|
||
BufferMemoryBarrier2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcStageMask: PipelineStageFlags2,
|
||
srcAccessMask: AccessFlags2,
|
||
dstStageMask: PipelineStageFlags2,
|
||
dstAccessMask: AccessFlags2,
|
||
srcQueueFamilyIndex: u32,
|
||
dstQueueFamilyIndex: u32,
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
ImageMemoryBarrier2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcStageMask: PipelineStageFlags2,
|
||
srcAccessMask: AccessFlags2,
|
||
dstStageMask: PipelineStageFlags2,
|
||
dstAccessMask: AccessFlags2,
|
||
oldLayout: ImageLayout,
|
||
newLayout: ImageLayout,
|
||
srcQueueFamilyIndex: u32,
|
||
dstQueueFamilyIndex: u32,
|
||
image: Image,
|
||
subresourceRange: ImageSubresourceRange,
|
||
}
|
||
|
||
DependencyInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dependencyFlags: DependencyFlags,
|
||
memoryBarrierCount: u32,
|
||
pMemoryBarriers: [^]MemoryBarrier2,
|
||
bufferMemoryBarrierCount: u32,
|
||
pBufferMemoryBarriers: [^]BufferMemoryBarrier2,
|
||
imageMemoryBarrierCount: u32,
|
||
pImageMemoryBarriers: [^]ImageMemoryBarrier2,
|
||
}
|
||
|
||
SemaphoreSubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
value: u64,
|
||
stageMask: PipelineStageFlags2,
|
||
deviceIndex: u32,
|
||
}
|
||
|
||
CommandBufferSubmitInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
commandBuffer: CommandBuffer,
|
||
deviceMask: u32,
|
||
}
|
||
|
||
SubmitInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SubmitFlags,
|
||
waitSemaphoreInfoCount: u32,
|
||
pWaitSemaphoreInfos: [^]SemaphoreSubmitInfo,
|
||
commandBufferInfoCount: u32,
|
||
pCommandBufferInfos: [^]CommandBufferSubmitInfo,
|
||
signalSemaphoreInfoCount: u32,
|
||
pSignalSemaphoreInfos: [^]SemaphoreSubmitInfo,
|
||
}
|
||
|
||
PhysicalDeviceSynchronization2Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
synchronization2: b32,
|
||
}
|
||
|
||
PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderZeroInitializeWorkgroupMemory: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageRobustnessFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
robustImageAccess: b32,
|
||
}
|
||
|
||
BufferCopy2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcOffset: DeviceSize,
|
||
dstOffset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
CopyBufferInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcBuffer: Buffer,
|
||
dstBuffer: Buffer,
|
||
regionCount: u32,
|
||
pRegions: [^]BufferCopy2,
|
||
}
|
||
|
||
ImageCopy2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffset: Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffset: Offset3D,
|
||
extent: Extent3D,
|
||
}
|
||
|
||
CopyImageInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]ImageCopy2,
|
||
}
|
||
|
||
BufferImageCopy2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
bufferOffset: DeviceSize,
|
||
bufferRowLength: u32,
|
||
bufferImageHeight: u32,
|
||
imageSubresource: ImageSubresourceLayers,
|
||
imageOffset: Offset3D,
|
||
imageExtent: Extent3D,
|
||
}
|
||
|
||
CopyBufferToImageInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcBuffer: Buffer,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]BufferImageCopy2,
|
||
}
|
||
|
||
CopyImageToBufferInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
dstBuffer: Buffer,
|
||
regionCount: u32,
|
||
pRegions: [^]BufferImageCopy2,
|
||
}
|
||
|
||
ImageBlit2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffsets: [2]Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffsets: [2]Offset3D,
|
||
}
|
||
|
||
BlitImageInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]ImageBlit2,
|
||
filter: Filter,
|
||
}
|
||
|
||
ImageResolve2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSubresource: ImageSubresourceLayers,
|
||
srcOffset: Offset3D,
|
||
dstSubresource: ImageSubresourceLayers,
|
||
dstOffset: Offset3D,
|
||
extent: Extent3D,
|
||
}
|
||
|
||
ResolveImageInfo2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]ImageResolve2,
|
||
}
|
||
|
||
PhysicalDeviceSubgroupSizeControlFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subgroupSizeControl: b32,
|
||
computeFullSubgroups: b32,
|
||
}
|
||
|
||
PhysicalDeviceSubgroupSizeControlProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minSubgroupSize: u32,
|
||
maxSubgroupSize: u32,
|
||
maxComputeWorkgroupSubgroups: u32,
|
||
requiredSubgroupSizeStages: ShaderStageFlags,
|
||
}
|
||
|
||
PipelineShaderStageRequiredSubgroupSizeCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
requiredSubgroupSize: u32,
|
||
}
|
||
|
||
PhysicalDeviceInlineUniformBlockFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
inlineUniformBlock: b32,
|
||
descriptorBindingInlineUniformBlockUpdateAfterBind: b32,
|
||
}
|
||
|
||
PhysicalDeviceInlineUniformBlockProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxInlineUniformBlockSize: u32,
|
||
maxPerStageDescriptorInlineUniformBlocks: u32,
|
||
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: u32,
|
||
maxDescriptorSetInlineUniformBlocks: u32,
|
||
maxDescriptorSetUpdateAfterBindInlineUniformBlocks: u32,
|
||
}
|
||
|
||
WriteDescriptorSetInlineUniformBlock :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dataSize: u32,
|
||
pData: rawptr,
|
||
}
|
||
|
||
DescriptorPoolInlineUniformBlockCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxInlineUniformBlockBindings: u32,
|
||
}
|
||
|
||
PhysicalDeviceTextureCompressionASTCHDRFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
textureCompressionASTC_HDR: b32,
|
||
}
|
||
|
||
RenderingAttachmentInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageView: ImageView,
|
||
imageLayout: ImageLayout,
|
||
resolveMode: ResolveModeFlags,
|
||
resolveImageView: ImageView,
|
||
resolveImageLayout: ImageLayout,
|
||
loadOp: AttachmentLoadOp,
|
||
storeOp: AttachmentStoreOp,
|
||
clearValue: ClearValue,
|
||
}
|
||
|
||
RenderingInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: RenderingFlags,
|
||
renderArea: Rect2D,
|
||
layerCount: u32,
|
||
viewMask: u32,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachments: [^]RenderingAttachmentInfo,
|
||
pDepthAttachment: ^RenderingAttachmentInfo,
|
||
pStencilAttachment: ^RenderingAttachmentInfo,
|
||
}
|
||
|
||
PipelineRenderingCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
viewMask: u32,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentFormats: [^]Format,
|
||
depthAttachmentFormat: Format,
|
||
stencilAttachmentFormat: Format,
|
||
}
|
||
|
||
PhysicalDeviceDynamicRenderingFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dynamicRendering: b32,
|
||
}
|
||
|
||
CommandBufferInheritanceRenderingInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: RenderingFlags,
|
||
viewMask: u32,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentFormats: [^]Format,
|
||
depthAttachmentFormat: Format,
|
||
stencilAttachmentFormat: Format,
|
||
rasterizationSamples: SampleCountFlags,
|
||
}
|
||
|
||
PhysicalDeviceShaderIntegerDotProductFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderIntegerDotProduct: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderIntegerDotProductProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
integerDotProduct8BitUnsignedAccelerated: b32,
|
||
integerDotProduct8BitSignedAccelerated: b32,
|
||
integerDotProduct8BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct4x8BitPackedUnsignedAccelerated: b32,
|
||
integerDotProduct4x8BitPackedSignedAccelerated: b32,
|
||
integerDotProduct4x8BitPackedMixedSignednessAccelerated: b32,
|
||
integerDotProduct16BitUnsignedAccelerated: b32,
|
||
integerDotProduct16BitSignedAccelerated: b32,
|
||
integerDotProduct16BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct32BitUnsignedAccelerated: b32,
|
||
integerDotProduct32BitSignedAccelerated: b32,
|
||
integerDotProduct32BitMixedSignednessAccelerated: b32,
|
||
integerDotProduct64BitUnsignedAccelerated: b32,
|
||
integerDotProduct64BitSignedAccelerated: b32,
|
||
integerDotProduct64BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitSignedAccelerated: b32,
|
||
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: b32,
|
||
}
|
||
|
||
PhysicalDeviceTexelBufferAlignmentProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
storageTexelBufferOffsetAlignmentBytes: DeviceSize,
|
||
storageTexelBufferOffsetSingleTexelAlignment: b32,
|
||
uniformTexelBufferOffsetAlignmentBytes: DeviceSize,
|
||
uniformTexelBufferOffsetSingleTexelAlignment: b32,
|
||
}
|
||
|
||
FormatProperties3 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
linearTilingFeatures: FormatFeatureFlags2,
|
||
optimalTilingFeatures: FormatFeatureFlags2,
|
||
bufferFeatures: FormatFeatureFlags2,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance4Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maintenance4: b32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance4Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxBufferSize: DeviceSize,
|
||
}
|
||
|
||
DeviceBufferMemoryRequirements :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pCreateInfo: ^BufferCreateInfo,
|
||
}
|
||
|
||
DeviceImageMemoryRequirements :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pCreateInfo: ^ImageCreateInfo,
|
||
planeAspect: ImageAspectFlags,
|
||
}
|
||
|
||
PhysicalDeviceVulkan14Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
globalPriorityQuery: b32,
|
||
shaderSubgroupRotate: b32,
|
||
shaderSubgroupRotateClustered: b32,
|
||
shaderFloatControls2: b32,
|
||
shaderExpectAssume: b32,
|
||
rectangularLines: b32,
|
||
bresenhamLines: b32,
|
||
smoothLines: b32,
|
||
stippledRectangularLines: b32,
|
||
stippledBresenhamLines: b32,
|
||
stippledSmoothLines: b32,
|
||
vertexAttributeInstanceRateDivisor: b32,
|
||
vertexAttributeInstanceRateZeroDivisor: b32,
|
||
indexTypeUint8: b32,
|
||
dynamicRenderingLocalRead: b32,
|
||
maintenance5: b32,
|
||
maintenance6: b32,
|
||
pipelineProtectedAccess: b32,
|
||
pipelineRobustness: b32,
|
||
hostImageCopy: b32,
|
||
pushDescriptor: b32,
|
||
}
|
||
|
||
PhysicalDeviceVulkan14Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
lineSubPixelPrecisionBits: u32,
|
||
maxVertexAttribDivisor: u32,
|
||
supportsNonZeroFirstInstance: b32,
|
||
maxPushDescriptors: u32,
|
||
dynamicRenderingLocalReadDepthStencilAttachments: b32,
|
||
dynamicRenderingLocalReadMultisampledAttachments: b32,
|
||
earlyFragmentMultisampleCoverageAfterSampleCounting: b32,
|
||
earlyFragmentSampleMaskTestBeforeSampleCounting: b32,
|
||
depthStencilSwizzleOneSupport: b32,
|
||
polygonModePointSize: b32,
|
||
nonStrictSinglePixelWideLinesUseParallelogram: b32,
|
||
nonStrictWideLinesUseParallelogram: b32,
|
||
blockTexelViewCompatibleMultipleLayers: b32,
|
||
maxCombinedImageSamplerDescriptorCount: u32,
|
||
fragmentShadingRateClampCombinerInputs: b32,
|
||
defaultRobustnessStorageBuffers: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessUniformBuffers: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessVertexInputs: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessImages: PipelineRobustnessImageBehavior,
|
||
copySrcLayoutCount: u32,
|
||
pCopySrcLayouts: [^]ImageLayout,
|
||
copyDstLayoutCount: u32,
|
||
pCopyDstLayouts: [^]ImageLayout,
|
||
optimalTilingLayoutUUID: [UUID_SIZE]u8,
|
||
identicalMemoryTypeRequirements: b32,
|
||
}
|
||
|
||
DeviceQueueGlobalPriorityCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
globalPriority: QueueGlobalPriority,
|
||
}
|
||
|
||
PhysicalDeviceGlobalPriorityQueryFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
globalPriorityQuery: b32,
|
||
}
|
||
|
||
QueueFamilyGlobalPriorityProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
priorityCount: u32,
|
||
priorities: [MAX_GLOBAL_PRIORITY_SIZE]QueueGlobalPriority,
|
||
}
|
||
|
||
PhysicalDeviceShaderSubgroupRotateFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSubgroupRotate: b32,
|
||
shaderSubgroupRotateClustered: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderFloatControls2Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderFloatControls2: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderExpectAssumeFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderExpectAssume: b32,
|
||
}
|
||
|
||
PhysicalDeviceLineRasterizationFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rectangularLines: b32,
|
||
bresenhamLines: b32,
|
||
smoothLines: b32,
|
||
stippledRectangularLines: b32,
|
||
stippledBresenhamLines: b32,
|
||
stippledSmoothLines: b32,
|
||
}
|
||
|
||
PhysicalDeviceLineRasterizationProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
lineSubPixelPrecisionBits: u32,
|
||
}
|
||
|
||
PipelineRasterizationLineStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
lineRasterizationMode: LineRasterizationMode,
|
||
stippledLineEnable: b32,
|
||
lineStippleFactor: u32,
|
||
lineStipplePattern: u16,
|
||
}
|
||
|
||
PhysicalDeviceVertexAttributeDivisorProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxVertexAttribDivisor: u32,
|
||
supportsNonZeroFirstInstance: b32,
|
||
}
|
||
|
||
VertexInputBindingDivisorDescription :: struct {
|
||
binding: u32,
|
||
divisor: u32,
|
||
}
|
||
|
||
PipelineVertexInputDivisorStateCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexBindingDivisorCount: u32,
|
||
pVertexBindingDivisors: [^]VertexInputBindingDivisorDescription,
|
||
}
|
||
|
||
PhysicalDeviceVertexAttributeDivisorFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexAttributeInstanceRateDivisor: b32,
|
||
vertexAttributeInstanceRateZeroDivisor: b32,
|
||
}
|
||
|
||
PhysicalDeviceIndexTypeUint8Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
indexTypeUint8: b32,
|
||
}
|
||
|
||
MemoryMapInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: MemoryMapFlags,
|
||
memory: DeviceMemory,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
MemoryUnmapInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: MemoryUnmapFlags,
|
||
memory: DeviceMemory,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance5Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maintenance5: b32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance5Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
earlyFragmentMultisampleCoverageAfterSampleCounting: b32,
|
||
earlyFragmentSampleMaskTestBeforeSampleCounting: b32,
|
||
depthStencilSwizzleOneSupport: b32,
|
||
polygonModePointSize: b32,
|
||
nonStrictSinglePixelWideLinesUseParallelogram: b32,
|
||
nonStrictWideLinesUseParallelogram: b32,
|
||
}
|
||
|
||
RenderingAreaInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
viewMask: u32,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentFormats: [^]Format,
|
||
depthAttachmentFormat: Format,
|
||
stencilAttachmentFormat: Format,
|
||
}
|
||
|
||
ImageSubresource2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageSubresource: ImageSubresource,
|
||
}
|
||
|
||
DeviceImageSubresourceInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pCreateInfo: ^ImageCreateInfo,
|
||
pSubresource: ^ImageSubresource2,
|
||
}
|
||
|
||
SubresourceLayout2 :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subresourceLayout: SubresourceLayout,
|
||
}
|
||
|
||
PipelineCreateFlags2CreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags2,
|
||
}
|
||
|
||
BufferUsageFlags2CreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
usage: BufferUsageFlags2,
|
||
}
|
||
|
||
PhysicalDevicePushDescriptorProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxPushDescriptors: u32,
|
||
}
|
||
|
||
PhysicalDeviceDynamicRenderingLocalReadFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dynamicRenderingLocalRead: b32,
|
||
}
|
||
|
||
RenderingAttachmentLocationInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentLocations: [^]u32,
|
||
}
|
||
|
||
RenderingInputAttachmentIndexInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentInputIndices: [^]u32,
|
||
pDepthInputAttachmentIndex: ^u32,
|
||
pStencilInputAttachmentIndex: ^u32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance6Features :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maintenance6: b32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance6Properties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
blockTexelViewCompatibleMultipleLayers: b32,
|
||
maxCombinedImageSamplerDescriptorCount: u32,
|
||
fragmentShadingRateClampCombinerInputs: b32,
|
||
}
|
||
|
||
BindMemoryStatus :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pResult: ^Result,
|
||
}
|
||
|
||
BindDescriptorSetsInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stageFlags: ShaderStageFlags,
|
||
layout: PipelineLayout,
|
||
firstSet: u32,
|
||
descriptorSetCount: u32,
|
||
pDescriptorSets: [^]DescriptorSet,
|
||
dynamicOffsetCount: u32,
|
||
pDynamicOffsets: [^]u32,
|
||
}
|
||
|
||
PushConstantsInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
layout: PipelineLayout,
|
||
stageFlags: ShaderStageFlags,
|
||
offset: u32,
|
||
size: u32,
|
||
pValues: rawptr,
|
||
}
|
||
|
||
PushDescriptorSetInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stageFlags: ShaderStageFlags,
|
||
layout: PipelineLayout,
|
||
set: u32,
|
||
descriptorWriteCount: u32,
|
||
pDescriptorWrites: [^]WriteDescriptorSet,
|
||
}
|
||
|
||
PushDescriptorSetWithTemplateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorUpdateTemplate: DescriptorUpdateTemplate,
|
||
layout: PipelineLayout,
|
||
set: u32,
|
||
pData: rawptr,
|
||
}
|
||
|
||
PhysicalDevicePipelineProtectedAccessFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineProtectedAccess: b32,
|
||
}
|
||
|
||
PhysicalDevicePipelineRobustnessFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineRobustness: b32,
|
||
}
|
||
|
||
PhysicalDevicePipelineRobustnessProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
defaultRobustnessStorageBuffers: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessUniformBuffers: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessVertexInputs: PipelineRobustnessBufferBehavior,
|
||
defaultRobustnessImages: PipelineRobustnessImageBehavior,
|
||
}
|
||
|
||
PipelineRobustnessCreateInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
storageBuffers: PipelineRobustnessBufferBehavior,
|
||
uniformBuffers: PipelineRobustnessBufferBehavior,
|
||
vertexInputs: PipelineRobustnessBufferBehavior,
|
||
images: PipelineRobustnessImageBehavior,
|
||
}
|
||
|
||
PhysicalDeviceHostImageCopyFeatures :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hostImageCopy: b32,
|
||
}
|
||
|
||
PhysicalDeviceHostImageCopyProperties :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
copySrcLayoutCount: u32,
|
||
pCopySrcLayouts: [^]ImageLayout,
|
||
copyDstLayoutCount: u32,
|
||
pCopyDstLayouts: [^]ImageLayout,
|
||
optimalTilingLayoutUUID: [UUID_SIZE]u8,
|
||
identicalMemoryTypeRequirements: b32,
|
||
}
|
||
|
||
MemoryToImageCopy :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pHostPointer: rawptr,
|
||
memoryRowLength: u32,
|
||
memoryImageHeight: u32,
|
||
imageSubresource: ImageSubresourceLayers,
|
||
imageOffset: Offset3D,
|
||
imageExtent: Extent3D,
|
||
}
|
||
|
||
ImageToMemoryCopy :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pHostPointer: rawptr,
|
||
memoryRowLength: u32,
|
||
memoryImageHeight: u32,
|
||
imageSubresource: ImageSubresourceLayers,
|
||
imageOffset: Offset3D,
|
||
imageExtent: Extent3D,
|
||
}
|
||
|
||
CopyMemoryToImageInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: HostImageCopyFlags,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]MemoryToImageCopy,
|
||
}
|
||
|
||
CopyImageToMemoryInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: HostImageCopyFlags,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]ImageToMemoryCopy,
|
||
}
|
||
|
||
CopyImageToImageInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: HostImageCopyFlags,
|
||
srcImage: Image,
|
||
srcImageLayout: ImageLayout,
|
||
dstImage: Image,
|
||
dstImageLayout: ImageLayout,
|
||
regionCount: u32,
|
||
pRegions: [^]ImageCopy2,
|
||
}
|
||
|
||
HostImageLayoutTransitionInfo :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
oldLayout: ImageLayout,
|
||
newLayout: ImageLayout,
|
||
subresourceRange: ImageSubresourceRange,
|
||
}
|
||
|
||
SubresourceHostMemcpySize :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
HostImageCopyDevicePerformanceQuery :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
optimalDeviceAccess: b32,
|
||
identicalMemoryLayout: b32,
|
||
}
|
||
|
||
SurfaceCapabilitiesKHR :: struct {
|
||
minImageCount: u32,
|
||
maxImageCount: u32,
|
||
currentExtent: Extent2D,
|
||
minImageExtent: Extent2D,
|
||
maxImageExtent: Extent2D,
|
||
maxImageArrayLayers: u32,
|
||
supportedTransforms: SurfaceTransformFlagsKHR,
|
||
currentTransform: SurfaceTransformFlagsKHR,
|
||
supportedCompositeAlpha: CompositeAlphaFlagsKHR,
|
||
supportedUsageFlags: ImageUsageFlags,
|
||
}
|
||
|
||
SurfaceFormatKHR :: struct {
|
||
format: Format,
|
||
colorSpace: ColorSpaceKHR,
|
||
}
|
||
|
||
SwapchainCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: SwapchainCreateFlagsKHR,
|
||
surface: SurfaceKHR,
|
||
minImageCount: u32,
|
||
imageFormat: Format,
|
||
imageColorSpace: ColorSpaceKHR,
|
||
imageExtent: Extent2D,
|
||
imageArrayLayers: u32,
|
||
imageUsage: ImageUsageFlags,
|
||
imageSharingMode: SharingMode,
|
||
queueFamilyIndexCount: u32,
|
||
pQueueFamilyIndices: [^]u32,
|
||
preTransform: SurfaceTransformFlagsKHR,
|
||
compositeAlpha: CompositeAlphaFlagsKHR,
|
||
presentMode: PresentModeKHR,
|
||
clipped: b32,
|
||
oldSwapchain: SwapchainKHR,
|
||
}
|
||
|
||
PresentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreCount: u32,
|
||
pWaitSemaphores: [^]Semaphore,
|
||
swapchainCount: u32,
|
||
pSwapchains: [^]SwapchainKHR,
|
||
pImageIndices: [^]u32,
|
||
pResults: [^]Result,
|
||
}
|
||
|
||
ImageSwapchainCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchain: SwapchainKHR,
|
||
}
|
||
|
||
BindImageMemorySwapchainInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchain: SwapchainKHR,
|
||
imageIndex: u32,
|
||
}
|
||
|
||
AcquireNextImageInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchain: SwapchainKHR,
|
||
timeout: u64,
|
||
semaphore: Semaphore,
|
||
fence: Fence,
|
||
deviceMask: u32,
|
||
}
|
||
|
||
DeviceGroupPresentCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentMask: [MAX_DEVICE_GROUP_SIZE]u32,
|
||
modes: DeviceGroupPresentModeFlagsKHR,
|
||
}
|
||
|
||
DeviceGroupPresentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pDeviceMasks: [^]u32,
|
||
mode: DeviceGroupPresentModeFlagsKHR,
|
||
}
|
||
|
||
DeviceGroupSwapchainCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
modes: DeviceGroupPresentModeFlagsKHR,
|
||
}
|
||
|
||
DisplayModeParametersKHR :: struct {
|
||
visibleRegion: Extent2D,
|
||
refreshRate: u32,
|
||
}
|
||
|
||
DisplayModeCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DisplayModeCreateFlagsKHR,
|
||
parameters: DisplayModeParametersKHR,
|
||
}
|
||
|
||
DisplayModePropertiesKHR :: struct {
|
||
displayMode: DisplayModeKHR,
|
||
parameters: DisplayModeParametersKHR,
|
||
}
|
||
|
||
DisplayPlaneCapabilitiesKHR :: struct {
|
||
supportedAlpha: DisplayPlaneAlphaFlagsKHR,
|
||
minSrcPosition: Offset2D,
|
||
maxSrcPosition: Offset2D,
|
||
minSrcExtent: Extent2D,
|
||
maxSrcExtent: Extent2D,
|
||
minDstPosition: Offset2D,
|
||
maxDstPosition: Offset2D,
|
||
minDstExtent: Extent2D,
|
||
maxDstExtent: Extent2D,
|
||
}
|
||
|
||
DisplayPlanePropertiesKHR :: struct {
|
||
currentDisplay: DisplayKHR,
|
||
currentStackIndex: u32,
|
||
}
|
||
|
||
DisplayPropertiesKHR :: struct {
|
||
display: DisplayKHR,
|
||
displayName: cstring,
|
||
physicalDimensions: Extent2D,
|
||
physicalResolution: Extent2D,
|
||
supportedTransforms: SurfaceTransformFlagsKHR,
|
||
planeReorderPossible: b32,
|
||
persistentContent: b32,
|
||
}
|
||
|
||
DisplaySurfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DisplaySurfaceCreateFlagsKHR,
|
||
displayMode: DisplayModeKHR,
|
||
planeIndex: u32,
|
||
planeStackIndex: u32,
|
||
transform: SurfaceTransformFlagsKHR,
|
||
globalAlpha: f32,
|
||
alphaMode: DisplayPlaneAlphaFlagsKHR,
|
||
imageExtent: Extent2D,
|
||
}
|
||
|
||
DisplayPresentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcRect: Rect2D,
|
||
dstRect: Rect2D,
|
||
persistent: b32,
|
||
}
|
||
|
||
QueueFamilyQueryResultStatusPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queryResultStatusSupport: b32,
|
||
}
|
||
|
||
QueueFamilyVideoPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoCodecOperations: VideoCodecOperationFlagsKHR,
|
||
}
|
||
|
||
VideoProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoCodecOperation: VideoCodecOperationFlagsKHR,
|
||
chromaSubsampling: VideoChromaSubsamplingFlagsKHR,
|
||
lumaBitDepth: VideoComponentBitDepthFlagsKHR,
|
||
chromaBitDepth: VideoComponentBitDepthFlagsKHR,
|
||
}
|
||
|
||
VideoProfileListInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
profileCount: u32,
|
||
pProfiles: [^]VideoProfileInfoKHR,
|
||
}
|
||
|
||
VideoCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoCapabilityFlagsKHR,
|
||
minBitstreamBufferOffsetAlignment: DeviceSize,
|
||
minBitstreamBufferSizeAlignment: DeviceSize,
|
||
pictureAccessGranularity: Extent2D,
|
||
minCodedExtent: Extent2D,
|
||
maxCodedExtent: Extent2D,
|
||
maxDpbSlots: u32,
|
||
maxActiveReferencePictures: u32,
|
||
stdHeaderVersion: ExtensionProperties,
|
||
}
|
||
|
||
PhysicalDeviceVideoFormatInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageUsage: ImageUsageFlags,
|
||
}
|
||
|
||
VideoFormatPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
format: Format,
|
||
componentMapping: ComponentMapping,
|
||
imageCreateFlags: ImageCreateFlags,
|
||
imageType: ImageType,
|
||
imageTiling: ImageTiling,
|
||
imageUsageFlags: ImageUsageFlags,
|
||
}
|
||
|
||
VideoPictureResourceInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
codedOffset: Offset2D,
|
||
codedExtent: Extent2D,
|
||
baseArrayLayer: u32,
|
||
imageViewBinding: ImageView,
|
||
}
|
||
|
||
VideoReferenceSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
slotIndex: i32,
|
||
pPictureResource: ^VideoPictureResourceInfoKHR,
|
||
}
|
||
|
||
VideoSessionMemoryRequirementsKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryBindIndex: u32,
|
||
memoryRequirements: MemoryRequirements,
|
||
}
|
||
|
||
BindVideoSessionMemoryInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryBindIndex: u32,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
memorySize: DeviceSize,
|
||
}
|
||
|
||
VideoSessionCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queueFamilyIndex: u32,
|
||
flags: VideoSessionCreateFlagsKHR,
|
||
pVideoProfile: ^VideoProfileInfoKHR,
|
||
pictureFormat: Format,
|
||
maxCodedExtent: Extent2D,
|
||
referencePictureFormat: Format,
|
||
maxDpbSlots: u32,
|
||
maxActiveReferencePictures: u32,
|
||
pStdHeaderVersion: ^ExtensionProperties,
|
||
}
|
||
|
||
VideoSessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoSessionParametersCreateFlagsKHR,
|
||
videoSessionParametersTemplate: VideoSessionParametersKHR,
|
||
videoSession: VideoSessionKHR,
|
||
}
|
||
|
||
VideoSessionParametersUpdateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
updateSequenceCount: u32,
|
||
}
|
||
|
||
VideoBeginCodingInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoBeginCodingFlagsKHR,
|
||
videoSession: VideoSessionKHR,
|
||
videoSessionParameters: VideoSessionParametersKHR,
|
||
referenceSlotCount: u32,
|
||
pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
|
||
}
|
||
|
||
VideoEndCodingInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEndCodingFlagsKHR,
|
||
}
|
||
|
||
VideoCodingControlInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoCodingControlFlagsKHR,
|
||
}
|
||
|
||
VideoDecodeCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoDecodeCapabilityFlagsKHR,
|
||
}
|
||
|
||
VideoDecodeUsageInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoUsageHints: VideoDecodeUsageFlagsKHR,
|
||
}
|
||
|
||
VideoDecodeInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoDecodeFlagsKHR,
|
||
srcBuffer: Buffer,
|
||
srcBufferOffset: DeviceSize,
|
||
srcBufferRange: DeviceSize,
|
||
dstPictureResource: VideoPictureResourceInfoKHR,
|
||
pSetupReferenceSlot: ^VideoReferenceSlotInfoKHR,
|
||
referenceSlotCount: u32,
|
||
pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
|
||
}
|
||
|
||
VideoEncodeH264CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeH264CapabilityFlagsKHR,
|
||
maxLevelIdc: VideoH264LevelIdc,
|
||
maxSliceCount: u32,
|
||
maxPPictureL0ReferenceCount: u32,
|
||
maxBPictureL0ReferenceCount: u32,
|
||
maxL1ReferenceCount: u32,
|
||
maxTemporalLayerCount: u32,
|
||
expectDyadicTemporalLayerPattern: b32,
|
||
minQp: i32,
|
||
maxQp: i32,
|
||
prefersGopRemainingFrames: b32,
|
||
requiresGopRemainingFrames: b32,
|
||
stdSyntaxFlags: VideoEncodeH264StdFlagsKHR,
|
||
}
|
||
|
||
VideoEncodeH264QpKHR :: struct {
|
||
qpI: i32,
|
||
qpP: i32,
|
||
qpB: i32,
|
||
}
|
||
|
||
VideoEncodeH264QualityLevelPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
preferredRateControlFlags: VideoEncodeH264RateControlFlagsKHR,
|
||
preferredGopFrameCount: u32,
|
||
preferredIdrPeriod: u32,
|
||
preferredConsecutiveBFrameCount: u32,
|
||
preferredTemporalLayerCount: u32,
|
||
preferredConstantQp: VideoEncodeH264QpKHR,
|
||
preferredMaxL0ReferenceCount: u32,
|
||
preferredMaxL1ReferenceCount: u32,
|
||
preferredStdEntropyCodingModeFlag: b32,
|
||
}
|
||
|
||
VideoEncodeH264SessionCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMaxLevelIdc: b32,
|
||
maxLevelIdc: VideoH264LevelIdc,
|
||
}
|
||
|
||
VideoEncodeH264SessionParametersAddInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdSPSCount: u32,
|
||
pStdSPSs: [^]VideoH264SequenceParameterSet,
|
||
stdPPSCount: u32,
|
||
pStdPPSs: [^]VideoH264PictureParameterSet,
|
||
}
|
||
|
||
VideoEncodeH264SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxStdSPSCount: u32,
|
||
maxStdPPSCount: u32,
|
||
pParametersAddInfo: ^VideoEncodeH264SessionParametersAddInfoKHR,
|
||
}
|
||
|
||
VideoEncodeH264SessionParametersGetInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
writeStdSPS: b32,
|
||
writeStdPPS: b32,
|
||
stdSPSId: u32,
|
||
stdPPSId: u32,
|
||
}
|
||
|
||
VideoEncodeH264SessionParametersFeedbackInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hasStdSPSOverrides: b32,
|
||
hasStdPPSOverrides: b32,
|
||
}
|
||
|
||
VideoEncodeH264NaluSliceInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
constantQp: i32,
|
||
pStdSliceHeader: ^VideoEncodeH264SliceHeader,
|
||
}
|
||
|
||
VideoEncodeH264PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
naluSliceEntryCount: u32,
|
||
pNaluSliceEntries: [^]VideoEncodeH264NaluSliceInfoKHR,
|
||
pStdPictureInfo: ^VideoEncodeH264PictureInfo,
|
||
generatePrefixNalu: b32,
|
||
}
|
||
|
||
VideoEncodeH264DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoEncodeH264ReferenceInfo,
|
||
}
|
||
|
||
VideoEncodeH264ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfileIdc: VideoH264ProfileIdc,
|
||
}
|
||
|
||
VideoEncodeH264RateControlInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeH264RateControlFlagsKHR,
|
||
gopFrameCount: u32,
|
||
idrPeriod: u32,
|
||
consecutiveBFrameCount: u32,
|
||
temporalLayerCount: u32,
|
||
}
|
||
|
||
VideoEncodeH264FrameSizeKHR :: struct {
|
||
frameISize: u32,
|
||
framePSize: u32,
|
||
frameBSize: u32,
|
||
}
|
||
|
||
VideoEncodeH264RateControlLayerInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMinQp: b32,
|
||
minQp: VideoEncodeH264QpKHR,
|
||
useMaxQp: b32,
|
||
maxQp: VideoEncodeH264QpKHR,
|
||
useMaxFrameSize: b32,
|
||
maxFrameSize: VideoEncodeH264FrameSizeKHR,
|
||
}
|
||
|
||
VideoEncodeH264GopRemainingFrameInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useGopRemainingFrames: b32,
|
||
gopRemainingI: u32,
|
||
gopRemainingP: u32,
|
||
gopRemainingB: u32,
|
||
}
|
||
|
||
VideoEncodeH265CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeH265CapabilityFlagsKHR,
|
||
maxLevelIdc: VideoH265LevelIdc,
|
||
maxSliceSegmentCount: u32,
|
||
maxTiles: Extent2D,
|
||
ctbSizes: VideoEncodeH265CtbSizeFlagsKHR,
|
||
transformBlockSizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
|
||
maxPPictureL0ReferenceCount: u32,
|
||
maxBPictureL0ReferenceCount: u32,
|
||
maxL1ReferenceCount: u32,
|
||
maxSubLayerCount: u32,
|
||
expectDyadicTemporalSubLayerPattern: b32,
|
||
minQp: i32,
|
||
maxQp: i32,
|
||
prefersGopRemainingFrames: b32,
|
||
requiresGopRemainingFrames: b32,
|
||
stdSyntaxFlags: VideoEncodeH265StdFlagsKHR,
|
||
}
|
||
|
||
VideoEncodeH265SessionCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMaxLevelIdc: b32,
|
||
maxLevelIdc: VideoH265LevelIdc,
|
||
}
|
||
|
||
VideoEncodeH265QpKHR :: struct {
|
||
qpI: i32,
|
||
qpP: i32,
|
||
qpB: i32,
|
||
}
|
||
|
||
VideoEncodeH265QualityLevelPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
preferredRateControlFlags: VideoEncodeH265RateControlFlagsKHR,
|
||
preferredGopFrameCount: u32,
|
||
preferredIdrPeriod: u32,
|
||
preferredConsecutiveBFrameCount: u32,
|
||
preferredSubLayerCount: u32,
|
||
preferredConstantQp: VideoEncodeH265QpKHR,
|
||
preferredMaxL0ReferenceCount: u32,
|
||
preferredMaxL1ReferenceCount: u32,
|
||
}
|
||
|
||
VideoEncodeH265SessionParametersAddInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdVPSCount: u32,
|
||
pStdVPSs: [^]VideoH265VideoParameterSet,
|
||
stdSPSCount: u32,
|
||
pStdSPSs: [^]VideoH265SequenceParameterSet,
|
||
stdPPSCount: u32,
|
||
pStdPPSs: [^]VideoH265PictureParameterSet,
|
||
}
|
||
|
||
VideoEncodeH265SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxStdVPSCount: u32,
|
||
maxStdSPSCount: u32,
|
||
maxStdPPSCount: u32,
|
||
pParametersAddInfo: ^VideoEncodeH265SessionParametersAddInfoKHR,
|
||
}
|
||
|
||
VideoEncodeH265SessionParametersGetInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
writeStdVPS: b32,
|
||
writeStdSPS: b32,
|
||
writeStdPPS: b32,
|
||
stdVPSId: u32,
|
||
stdSPSId: u32,
|
||
stdPPSId: u32,
|
||
}
|
||
|
||
VideoEncodeH265SessionParametersFeedbackInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hasStdVPSOverrides: b32,
|
||
hasStdSPSOverrides: b32,
|
||
hasStdPPSOverrides: b32,
|
||
}
|
||
|
||
VideoEncodeH265NaluSliceSegmentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
constantQp: i32,
|
||
pStdSliceSegmentHeader: ^VideoEncodeH265SliceSegmentHeader,
|
||
}
|
||
|
||
VideoEncodeH265PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
naluSliceSegmentEntryCount: u32,
|
||
pNaluSliceSegmentEntries: [^]VideoEncodeH265NaluSliceSegmentInfoKHR,
|
||
pStdPictureInfo: ^VideoEncodeH265PictureInfo,
|
||
}
|
||
|
||
VideoEncodeH265DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoEncodeH265ReferenceInfo,
|
||
}
|
||
|
||
VideoEncodeH265ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfileIdc: VideoH265ProfileIdc,
|
||
}
|
||
|
||
VideoEncodeH265RateControlInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeH265RateControlFlagsKHR,
|
||
gopFrameCount: u32,
|
||
idrPeriod: u32,
|
||
consecutiveBFrameCount: u32,
|
||
subLayerCount: u32,
|
||
}
|
||
|
||
VideoEncodeH265FrameSizeKHR :: struct {
|
||
frameISize: u32,
|
||
framePSize: u32,
|
||
frameBSize: u32,
|
||
}
|
||
|
||
VideoEncodeH265RateControlLayerInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMinQp: b32,
|
||
minQp: VideoEncodeH265QpKHR,
|
||
useMaxQp: b32,
|
||
maxQp: VideoEncodeH265QpKHR,
|
||
useMaxFrameSize: b32,
|
||
maxFrameSize: VideoEncodeH265FrameSizeKHR,
|
||
}
|
||
|
||
VideoEncodeH265GopRemainingFrameInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useGopRemainingFrames: b32,
|
||
gopRemainingI: u32,
|
||
gopRemainingP: u32,
|
||
gopRemainingB: u32,
|
||
}
|
||
|
||
VideoDecodeH264ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfileIdc: VideoH264ProfileIdc,
|
||
pictureLayout: VideoDecodeH264PictureLayoutFlagsKHR,
|
||
}
|
||
|
||
VideoDecodeH264CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxLevelIdc: VideoH264LevelIdc,
|
||
fieldOffsetGranularity: Offset2D,
|
||
}
|
||
|
||
VideoDecodeH264SessionParametersAddInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdSPSCount: u32,
|
||
pStdSPSs: [^]VideoH264SequenceParameterSet,
|
||
stdPPSCount: u32,
|
||
pStdPPSs: [^]VideoH264PictureParameterSet,
|
||
}
|
||
|
||
VideoDecodeH264SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxStdSPSCount: u32,
|
||
maxStdPPSCount: u32,
|
||
pParametersAddInfo: ^VideoDecodeH264SessionParametersAddInfoKHR,
|
||
}
|
||
|
||
VideoDecodeH264PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdPictureInfo: ^VideoDecodeH264PictureInfo,
|
||
sliceCount: u32,
|
||
pSliceOffsets: [^]u32,
|
||
}
|
||
|
||
VideoDecodeH264DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoDecodeH264ReferenceInfo,
|
||
}
|
||
|
||
ImportMemoryFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
fd: c.int,
|
||
}
|
||
|
||
MemoryFdPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryTypeBits: u32,
|
||
}
|
||
|
||
MemoryGetFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
ImportSemaphoreFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
flags: SemaphoreImportFlags,
|
||
handleType: ExternalSemaphoreHandleTypeFlags,
|
||
fd: c.int,
|
||
}
|
||
|
||
SemaphoreGetFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
handleType: ExternalSemaphoreHandleTypeFlags,
|
||
}
|
||
|
||
RectLayerKHR :: struct {
|
||
offset: Offset2D,
|
||
extent: Extent2D,
|
||
layer: u32,
|
||
}
|
||
|
||
PresentRegionKHR :: struct {
|
||
rectangleCount: u32,
|
||
pRectangles: [^]RectLayerKHR,
|
||
}
|
||
|
||
PresentRegionsKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pRegions: [^]PresentRegionKHR,
|
||
}
|
||
|
||
SharedPresentSurfaceCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sharedPresentSupportedUsageFlags: ImageUsageFlags,
|
||
}
|
||
|
||
ImportFenceFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fence: Fence,
|
||
flags: FenceImportFlags,
|
||
handleType: ExternalFenceHandleTypeFlags,
|
||
fd: c.int,
|
||
}
|
||
|
||
FenceGetFdInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fence: Fence,
|
||
handleType: ExternalFenceHandleTypeFlags,
|
||
}
|
||
|
||
PhysicalDevicePerformanceQueryFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
performanceCounterQueryPools: b32,
|
||
performanceCounterMultipleQueryPools: b32,
|
||
}
|
||
|
||
PhysicalDevicePerformanceQueryPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
allowCommandBufferQueryCopies: b32,
|
||
}
|
||
|
||
PerformanceCounterKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
unit: PerformanceCounterUnitKHR,
|
||
scope: PerformanceCounterScopeKHR,
|
||
storage: PerformanceCounterStorageKHR,
|
||
uuid: [UUID_SIZE]u8,
|
||
}
|
||
|
||
PerformanceCounterDescriptionKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PerformanceCounterDescriptionFlagsKHR,
|
||
name: [MAX_DESCRIPTION_SIZE]byte,
|
||
category: [MAX_DESCRIPTION_SIZE]byte,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
}
|
||
|
||
QueryPoolPerformanceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queueFamilyIndex: u32,
|
||
counterIndexCount: u32,
|
||
pCounterIndices: [^]u32,
|
||
}
|
||
|
||
PerformanceCounterResultKHR :: struct #raw_union {
|
||
int32: i32,
|
||
int64: i64,
|
||
uint32: u32,
|
||
uint64: u64,
|
||
float32: f32,
|
||
float64: f64,
|
||
}
|
||
|
||
AcquireProfilingLockInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: AcquireProfilingLockFlagsKHR,
|
||
timeout: u64,
|
||
}
|
||
|
||
PerformanceQuerySubmitInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
counterPassIndex: u32,
|
||
}
|
||
|
||
PhysicalDeviceSurfaceInfo2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
surface: SurfaceKHR,
|
||
}
|
||
|
||
SurfaceCapabilities2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
surfaceCapabilities: SurfaceCapabilitiesKHR,
|
||
}
|
||
|
||
SurfaceFormat2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
surfaceFormat: SurfaceFormatKHR,
|
||
}
|
||
|
||
DisplayProperties2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displayProperties: DisplayPropertiesKHR,
|
||
}
|
||
|
||
DisplayPlaneProperties2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displayPlaneProperties: DisplayPlanePropertiesKHR,
|
||
}
|
||
|
||
DisplayModeProperties2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displayModeProperties: DisplayModePropertiesKHR,
|
||
}
|
||
|
||
DisplayPlaneInfo2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mode: DisplayModeKHR,
|
||
planeIndex: u32,
|
||
}
|
||
|
||
DisplayPlaneCapabilities2KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
capabilities: DisplayPlaneCapabilitiesKHR,
|
||
}
|
||
|
||
PhysicalDeviceShaderClockFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSubgroupClock: b32,
|
||
shaderDeviceClock: b32,
|
||
}
|
||
|
||
VideoDecodeH265ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfileIdc: VideoH265ProfileIdc,
|
||
}
|
||
|
||
VideoDecodeH265CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxLevelIdc: VideoH265LevelIdc,
|
||
}
|
||
|
||
VideoDecodeH265SessionParametersAddInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdVPSCount: u32,
|
||
pStdVPSs: [^]VideoH265VideoParameterSet,
|
||
stdSPSCount: u32,
|
||
pStdSPSs: [^]VideoH265SequenceParameterSet,
|
||
stdPPSCount: u32,
|
||
pStdPPSs: [^]VideoH265PictureParameterSet,
|
||
}
|
||
|
||
VideoDecodeH265SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxStdVPSCount: u32,
|
||
maxStdSPSCount: u32,
|
||
maxStdPPSCount: u32,
|
||
pParametersAddInfo: ^VideoDecodeH265SessionParametersAddInfoKHR,
|
||
}
|
||
|
||
VideoDecodeH265PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdPictureInfo: ^VideoDecodeH265PictureInfo,
|
||
sliceSegmentCount: u32,
|
||
pSliceSegmentOffsets: [^]u32,
|
||
}
|
||
|
||
VideoDecodeH265DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoDecodeH265ReferenceInfo,
|
||
}
|
||
|
||
FragmentShadingRateAttachmentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pFragmentShadingRateAttachment: ^AttachmentReference2,
|
||
shadingRateAttachmentTexelSize: Extent2D,
|
||
}
|
||
|
||
PipelineFragmentShadingRateStateCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentSize: Extent2D,
|
||
combinerOps: [2]FragmentShadingRateCombinerOpKHR,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShadingRateFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineFragmentShadingRate: b32,
|
||
primitiveFragmentShadingRate: b32,
|
||
attachmentFragmentShadingRate: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShadingRatePropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minFragmentShadingRateAttachmentTexelSize: Extent2D,
|
||
maxFragmentShadingRateAttachmentTexelSize: Extent2D,
|
||
maxFragmentShadingRateAttachmentTexelSizeAspectRatio: u32,
|
||
primitiveFragmentShadingRateWithMultipleViewports: b32,
|
||
layeredShadingRateAttachments: b32,
|
||
fragmentShadingRateNonTrivialCombinerOps: b32,
|
||
maxFragmentSize: Extent2D,
|
||
maxFragmentSizeAspectRatio: u32,
|
||
maxFragmentShadingRateCoverageSamples: u32,
|
||
maxFragmentShadingRateRasterizationSamples: SampleCountFlags,
|
||
fragmentShadingRateWithShaderDepthStencilWrites: b32,
|
||
fragmentShadingRateWithSampleMask: b32,
|
||
fragmentShadingRateWithShaderSampleMask: b32,
|
||
fragmentShadingRateWithConservativeRasterization: b32,
|
||
fragmentShadingRateWithFragmentShaderInterlock: b32,
|
||
fragmentShadingRateWithCustomSampleLocations: b32,
|
||
fragmentShadingRateStrictMultiplyCombiner: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShadingRateKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampleCounts: SampleCountFlags,
|
||
fragmentSize: Extent2D,
|
||
}
|
||
|
||
RenderingFragmentShadingRateAttachmentInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageView: ImageView,
|
||
imageLayout: ImageLayout,
|
||
shadingRateAttachmentTexelSize: Extent2D,
|
||
}
|
||
|
||
PhysicalDeviceShaderQuadControlFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderQuadControl: b32,
|
||
}
|
||
|
||
SurfaceProtectedCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportsProtected: b32,
|
||
}
|
||
|
||
PhysicalDevicePresentWaitFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentWait: b32,
|
||
}
|
||
|
||
PhysicalDevicePipelineExecutablePropertiesFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineExecutableInfo: b32,
|
||
}
|
||
|
||
PipelineInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipeline: Pipeline,
|
||
}
|
||
|
||
PipelineExecutablePropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stages: ShaderStageFlags,
|
||
name: [MAX_DESCRIPTION_SIZE]byte,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
subgroupSize: u32,
|
||
}
|
||
|
||
PipelineExecutableInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipeline: Pipeline,
|
||
executableIndex: u32,
|
||
}
|
||
|
||
PipelineExecutableStatisticValueKHR :: struct #raw_union {
|
||
b32: b32,
|
||
i64: i64,
|
||
u64: u64,
|
||
f64: f64,
|
||
}
|
||
|
||
PipelineExecutableStatisticKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
name: [MAX_DESCRIPTION_SIZE]byte,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
format: PipelineExecutableStatisticFormatKHR,
|
||
value: PipelineExecutableStatisticValueKHR,
|
||
}
|
||
|
||
PipelineExecutableInternalRepresentationKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
name: [MAX_DESCRIPTION_SIZE]byte,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
isText: b32,
|
||
dataSize: int,
|
||
pData: rawptr,
|
||
}
|
||
|
||
PipelineLibraryCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
libraryCount: u32,
|
||
pLibraries: [^]Pipeline,
|
||
}
|
||
|
||
PresentIdKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pPresentIds: [^]u64,
|
||
}
|
||
|
||
PhysicalDevicePresentIdFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentId: b32,
|
||
}
|
||
|
||
VideoEncodeInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeFlagsKHR,
|
||
dstBuffer: Buffer,
|
||
dstBufferOffset: DeviceSize,
|
||
dstBufferRange: DeviceSize,
|
||
srcPictureResource: VideoPictureResourceInfoKHR,
|
||
pSetupReferenceSlot: ^VideoReferenceSlotInfoKHR,
|
||
referenceSlotCount: u32,
|
||
pReferenceSlots: [^]VideoReferenceSlotInfoKHR,
|
||
precedingExternallyEncodedBytes: u32,
|
||
}
|
||
|
||
VideoEncodeCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeCapabilityFlagsKHR,
|
||
rateControlModes: VideoEncodeRateControlModeFlagsKHR,
|
||
maxRateControlLayers: u32,
|
||
maxBitrate: u64,
|
||
maxQualityLevels: u32,
|
||
encodeInputPictureGranularity: Extent2D,
|
||
supportedEncodeFeedbackFlags: VideoEncodeFeedbackFlagsKHR,
|
||
}
|
||
|
||
QueryPoolVideoEncodeFeedbackCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
encodeFeedbackFlags: VideoEncodeFeedbackFlagsKHR,
|
||
}
|
||
|
||
VideoEncodeUsageInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoUsageHints: VideoEncodeUsageFlagsKHR,
|
||
videoContentHints: VideoEncodeContentFlagsKHR,
|
||
tuningMode: VideoEncodeTuningModeKHR,
|
||
}
|
||
|
||
VideoEncodeRateControlLayerInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
averageBitrate: u64,
|
||
maxBitrate: u64,
|
||
frameRateNumerator: u32,
|
||
frameRateDenominator: u32,
|
||
}
|
||
|
||
VideoEncodeRateControlInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeRateControlFlagsKHR,
|
||
rateControlMode: VideoEncodeRateControlModeFlagsKHR,
|
||
layerCount: u32,
|
||
pLayers: [^]VideoEncodeRateControlLayerInfoKHR,
|
||
virtualBufferSizeInMs: u32,
|
||
initialVirtualBufferSizeInMs: u32,
|
||
}
|
||
|
||
PhysicalDeviceVideoEncodeQualityLevelInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pVideoProfile: ^VideoProfileInfoKHR,
|
||
qualityLevel: u32,
|
||
}
|
||
|
||
VideoEncodeQualityLevelPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
preferredRateControlMode: VideoEncodeRateControlModeFlagsKHR,
|
||
preferredRateControlLayerCount: u32,
|
||
}
|
||
|
||
VideoEncodeQualityLevelInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
qualityLevel: u32,
|
||
}
|
||
|
||
VideoEncodeSessionParametersGetInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoSessionParameters: VideoSessionParametersKHR,
|
||
}
|
||
|
||
VideoEncodeSessionParametersFeedbackInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hasOverrides: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShaderBarycentricFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentShaderBarycentric: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShaderBarycentricPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
triStripVertexOrderIndependentOfProvokingVertex: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSubgroupUniformControlFlow: b32,
|
||
}
|
||
|
||
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
workgroupMemoryExplicitLayout: b32,
|
||
workgroupMemoryExplicitLayoutScalarBlockLayout: b32,
|
||
workgroupMemoryExplicitLayout8BitAccess: b32,
|
||
workgroupMemoryExplicitLayout16BitAccess: b32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingMaintenance1FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingMaintenance1: b32,
|
||
rayTracingPipelineTraceRaysIndirect2: b32,
|
||
}
|
||
|
||
TraceRaysIndirectCommand2KHR :: struct {
|
||
raygenShaderRecordAddress: DeviceAddress,
|
||
raygenShaderRecordSize: DeviceSize,
|
||
missShaderBindingTableAddress: DeviceAddress,
|
||
missShaderBindingTableSize: DeviceSize,
|
||
missShaderBindingTableStride: DeviceSize,
|
||
hitShaderBindingTableAddress: DeviceAddress,
|
||
hitShaderBindingTableSize: DeviceSize,
|
||
hitShaderBindingTableStride: DeviceSize,
|
||
callableShaderBindingTableAddress: DeviceAddress,
|
||
callableShaderBindingTableSize: DeviceSize,
|
||
callableShaderBindingTableStride: DeviceSize,
|
||
width: u32,
|
||
height: u32,
|
||
depth: u32,
|
||
}
|
||
|
||
PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderMaximalReconvergence: b32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingPositionFetchFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingPositionFetch: b32,
|
||
}
|
||
|
||
PhysicalDevicePipelineBinaryFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBinaries: b32,
|
||
}
|
||
|
||
PhysicalDevicePipelineBinaryPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBinaryInternalCache: b32,
|
||
pipelineBinaryInternalCacheControl: b32,
|
||
pipelineBinaryPrefersInternalCache: b32,
|
||
pipelineBinaryPrecompiledInternalCache: b32,
|
||
pipelineBinaryCompressedData: b32,
|
||
}
|
||
|
||
DevicePipelineBinaryInternalCacheControlKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
disableInternalCache: b32,
|
||
}
|
||
|
||
PipelineBinaryKeyKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
keySize: u32,
|
||
key: [MAX_PIPELINE_BINARY_KEY_SIZE_KHR]u8,
|
||
}
|
||
|
||
PipelineBinaryDataKHR :: struct {
|
||
dataSize: int,
|
||
pData: rawptr,
|
||
}
|
||
|
||
PipelineBinaryKeysAndDataKHR :: struct {
|
||
binaryCount: u32,
|
||
pPipelineBinaryKeys: [^]PipelineBinaryKeyKHR,
|
||
pPipelineBinaryData: ^PipelineBinaryDataKHR,
|
||
}
|
||
|
||
PipelineCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
}
|
||
|
||
PipelineBinaryCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pKeysAndDataInfo: ^PipelineBinaryKeysAndDataKHR,
|
||
pipeline: Pipeline,
|
||
pPipelineCreateInfo: ^PipelineCreateInfoKHR,
|
||
}
|
||
|
||
PipelineBinaryInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
binaryCount: u32,
|
||
pPipelineBinaries: [^]PipelineBinaryKHR,
|
||
}
|
||
|
||
ReleaseCapturedPipelineDataInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipeline: Pipeline,
|
||
}
|
||
|
||
PipelineBinaryDataInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBinary: PipelineBinaryKHR,
|
||
}
|
||
|
||
PipelineBinaryHandlesInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBinaryCount: u32,
|
||
pPipelineBinaries: [^]PipelineBinaryKHR,
|
||
}
|
||
|
||
CooperativeMatrixPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
MSize: u32,
|
||
NSize: u32,
|
||
KSize: u32,
|
||
AType: ComponentTypeKHR,
|
||
BType: ComponentTypeKHR,
|
||
CType: ComponentTypeKHR,
|
||
ResultType: ComponentTypeKHR,
|
||
saturatingAccumulation: b32,
|
||
scope: ScopeKHR,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrixFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrix: b32,
|
||
cooperativeMatrixRobustBufferAccess: b32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrixPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrixSupportedStages: ShaderStageFlags,
|
||
}
|
||
|
||
PhysicalDeviceComputeShaderDerivativesFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
computeDerivativeGroupQuads: b32,
|
||
computeDerivativeGroupLinear: b32,
|
||
}
|
||
|
||
PhysicalDeviceComputeShaderDerivativesPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
meshAndTaskShaderDerivatives: b32,
|
||
}
|
||
|
||
VideoDecodeAV1ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfile: VideoAV1Profile,
|
||
filmGrainSupport: b32,
|
||
}
|
||
|
||
VideoDecodeAV1CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxLevel: VideoAV1Level,
|
||
}
|
||
|
||
VideoDecodeAV1SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdSequenceHeader: ^VideoAV1SequenceHeader,
|
||
}
|
||
|
||
VideoDecodeAV1PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdPictureInfo: ^VideoDecodeAV1PictureInfo,
|
||
referenceNameSlotIndices: [MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]i32,
|
||
frameHeaderOffset: u32,
|
||
tileCount: u32,
|
||
pTileOffsets: [^]u32,
|
||
pTileSizes: [^]u32,
|
||
}
|
||
|
||
VideoDecodeAV1DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoDecodeAV1ReferenceInfo,
|
||
}
|
||
|
||
PhysicalDeviceVideoEncodeAV1FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoEncodeAV1: b32,
|
||
}
|
||
|
||
VideoEncodeAV1CapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeAV1CapabilityFlagsKHR,
|
||
maxLevel: VideoAV1Level,
|
||
codedPictureAlignment: Extent2D,
|
||
maxTiles: Extent2D,
|
||
minTileSize: Extent2D,
|
||
maxTileSize: Extent2D,
|
||
superblockSizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
|
||
maxSingleReferenceCount: u32,
|
||
singleReferenceNameMask: u32,
|
||
maxUnidirectionalCompoundReferenceCount: u32,
|
||
maxUnidirectionalCompoundGroup1ReferenceCount: u32,
|
||
unidirectionalCompoundReferenceNameMask: u32,
|
||
maxBidirectionalCompoundReferenceCount: u32,
|
||
maxBidirectionalCompoundGroup1ReferenceCount: u32,
|
||
maxBidirectionalCompoundGroup2ReferenceCount: u32,
|
||
bidirectionalCompoundReferenceNameMask: u32,
|
||
maxTemporalLayerCount: u32,
|
||
maxSpatialLayerCount: u32,
|
||
maxOperatingPoints: u32,
|
||
minQIndex: u32,
|
||
maxQIndex: u32,
|
||
prefersGopRemainingFrames: b32,
|
||
requiresGopRemainingFrames: b32,
|
||
stdSyntaxFlags: VideoEncodeAV1StdFlagsKHR,
|
||
}
|
||
|
||
VideoEncodeAV1QIndexKHR :: struct {
|
||
intraQIndex: u32,
|
||
predictiveQIndex: u32,
|
||
bipredictiveQIndex: u32,
|
||
}
|
||
|
||
VideoEncodeAV1QualityLevelPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
preferredRateControlFlags: VideoEncodeAV1RateControlFlagsKHR,
|
||
preferredGopFrameCount: u32,
|
||
preferredKeyFramePeriod: u32,
|
||
preferredConsecutiveBipredictiveFrameCount: u32,
|
||
preferredTemporalLayerCount: u32,
|
||
preferredConstantQIndex: VideoEncodeAV1QIndexKHR,
|
||
preferredMaxSingleReferenceCount: u32,
|
||
preferredSingleReferenceNameMask: u32,
|
||
preferredMaxUnidirectionalCompoundReferenceCount: u32,
|
||
preferredMaxUnidirectionalCompoundGroup1ReferenceCount: u32,
|
||
preferredUnidirectionalCompoundReferenceNameMask: u32,
|
||
preferredMaxBidirectionalCompoundReferenceCount: u32,
|
||
preferredMaxBidirectionalCompoundGroup1ReferenceCount: u32,
|
||
preferredMaxBidirectionalCompoundGroup2ReferenceCount: u32,
|
||
preferredBidirectionalCompoundReferenceNameMask: u32,
|
||
}
|
||
|
||
VideoEncodeAV1SessionCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMaxLevel: b32,
|
||
maxLevel: VideoAV1Level,
|
||
}
|
||
|
||
VideoEncodeAV1SessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdSequenceHeader: ^VideoAV1SequenceHeader,
|
||
pStdDecoderModelInfo: ^VideoEncodeAV1DecoderModelInfo,
|
||
stdOperatingPointCount: u32,
|
||
pStdOperatingPoints: [^]VideoEncodeAV1OperatingPointInfo,
|
||
}
|
||
|
||
VideoEncodeAV1PictureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
predictionMode: VideoEncodeAV1PredictionModeKHR,
|
||
rateControlGroup: VideoEncodeAV1RateControlGroupKHR,
|
||
constantQIndex: u32,
|
||
pStdPictureInfo: ^VideoEncodeAV1PictureInfo,
|
||
referenceNameSlotIndices: [MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]i32,
|
||
primaryReferenceCdfOnly: b32,
|
||
generateObuExtensionHeader: b32,
|
||
}
|
||
|
||
VideoEncodeAV1DpbSlotInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdReferenceInfo: ^VideoEncodeAV1ReferenceInfo,
|
||
}
|
||
|
||
VideoEncodeAV1ProfileInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stdProfile: VideoAV1Profile,
|
||
}
|
||
|
||
VideoEncodeAV1FrameSizeKHR :: struct {
|
||
intraFrameSize: u32,
|
||
predictiveFrameSize: u32,
|
||
bipredictiveFrameSize: u32,
|
||
}
|
||
|
||
VideoEncodeAV1GopRemainingFrameInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useGopRemainingFrames: b32,
|
||
gopRemainingIntra: u32,
|
||
gopRemainingPredictive: u32,
|
||
gopRemainingBipredictive: u32,
|
||
}
|
||
|
||
VideoEncodeAV1RateControlInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: VideoEncodeAV1RateControlFlagsKHR,
|
||
gopFrameCount: u32,
|
||
keyFramePeriod: u32,
|
||
consecutiveBipredictiveFrameCount: u32,
|
||
temporalLayerCount: u32,
|
||
}
|
||
|
||
VideoEncodeAV1RateControlLayerInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
useMinQIndex: b32,
|
||
minQIndex: VideoEncodeAV1QIndexKHR,
|
||
useMaxQIndex: b32,
|
||
maxQIndex: VideoEncodeAV1QIndexKHR,
|
||
useMaxFrameSize: b32,
|
||
maxFrameSize: VideoEncodeAV1FrameSizeKHR,
|
||
}
|
||
|
||
PhysicalDeviceVideoMaintenance1FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoMaintenance1: b32,
|
||
}
|
||
|
||
VideoInlineQueryInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queryPool: QueryPool,
|
||
firstQuery: u32,
|
||
queryCount: u32,
|
||
}
|
||
|
||
CalibratedTimestampInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
timeDomain: TimeDomainKHR,
|
||
}
|
||
|
||
SetDescriptorBufferOffsetsInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stageFlags: ShaderStageFlags,
|
||
layout: PipelineLayout,
|
||
firstSet: u32,
|
||
setCount: u32,
|
||
pBufferIndices: [^]u32,
|
||
pOffsets: [^]DeviceSize,
|
||
}
|
||
|
||
BindDescriptorBufferEmbeddedSamplersInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stageFlags: ShaderStageFlags,
|
||
layout: PipelineLayout,
|
||
set: u32,
|
||
}
|
||
|
||
VideoEncodeQuantizationMapCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxQuantizationMapExtent: Extent2D,
|
||
}
|
||
|
||
VideoFormatQuantizationMapPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
quantizationMapTexelSize: Extent2D,
|
||
}
|
||
|
||
VideoEncodeQuantizationMapInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
quantizationMap: ImageView,
|
||
quantizationMapExtent: Extent2D,
|
||
}
|
||
|
||
VideoEncodeQuantizationMapSessionParametersCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
quantizationMapTexelSize: Extent2D,
|
||
}
|
||
|
||
PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoEncodeQuantizationMap: b32,
|
||
}
|
||
|
||
VideoEncodeH264QuantizationMapCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minQpDelta: i32,
|
||
maxQpDelta: i32,
|
||
}
|
||
|
||
VideoEncodeH265QuantizationMapCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minQpDelta: i32,
|
||
maxQpDelta: i32,
|
||
}
|
||
|
||
VideoFormatH265QuantizationMapPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
compatibleCtbSizes: VideoEncodeH265CtbSizeFlagsKHR,
|
||
}
|
||
|
||
VideoEncodeAV1QuantizationMapCapabilitiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minQIndexDelta: i32,
|
||
maxQIndexDelta: i32,
|
||
}
|
||
|
||
VideoFormatAV1QuantizationMapPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
compatibleSuperblockSizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
|
||
}
|
||
|
||
PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderRelaxedExtendedInstruction: b32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance7FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maintenance7: b32,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance7PropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
robustFragmentShadingRateAttachmentAccess: b32,
|
||
separateDepthStencilAttachmentAccess: b32,
|
||
maxDescriptorSetTotalUniformBuffersDynamic: u32,
|
||
maxDescriptorSetTotalStorageBuffersDynamic: u32,
|
||
maxDescriptorSetTotalBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic: u32,
|
||
maxDescriptorSetUpdateAfterBindTotalBuffersDynamic: u32,
|
||
}
|
||
|
||
PhysicalDeviceLayeredApiPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vendorID: u32,
|
||
deviceID: u32,
|
||
layeredAPI: PhysicalDeviceLayeredApiKHR,
|
||
deviceName: [MAX_PHYSICAL_DEVICE_NAME_SIZE]byte,
|
||
}
|
||
|
||
PhysicalDeviceLayeredApiPropertiesListKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
layeredApiCount: u32,
|
||
pLayeredApis: [^]PhysicalDeviceLayeredApiPropertiesKHR,
|
||
}
|
||
|
||
PhysicalDeviceLayeredApiVulkanPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
properties: PhysicalDeviceProperties2,
|
||
}
|
||
|
||
PhysicalDeviceMaintenance8FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maintenance8: b32,
|
||
}
|
||
|
||
MemoryBarrierAccessFlags3KHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcAccessMask3: AccessFlags3KHR,
|
||
dstAccessMask3: AccessFlags3KHR,
|
||
}
|
||
|
||
PhysicalDeviceVideoMaintenance2FeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
videoMaintenance2: b32,
|
||
}
|
||
|
||
VideoDecodeH264InlineSessionParametersInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdSPS: ^VideoH264SequenceParameterSet,
|
||
pStdPPS: ^VideoH264PictureParameterSet,
|
||
}
|
||
|
||
VideoDecodeH265InlineSessionParametersInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdVPS: ^VideoH265VideoParameterSet,
|
||
pStdSPS: ^VideoH265SequenceParameterSet,
|
||
pStdPPS: ^VideoH265PictureParameterSet,
|
||
}
|
||
|
||
VideoDecodeAV1InlineSessionParametersInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pStdSequenceHeader: ^VideoAV1SequenceHeader,
|
||
}
|
||
|
||
PhysicalDeviceDepthClampZeroOneFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthClampZeroOne: b32,
|
||
}
|
||
|
||
DebugReportCallbackCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DebugReportFlagsEXT,
|
||
pfnCallback: ProcDebugReportCallbackEXT,
|
||
pUserData: rawptr,
|
||
}
|
||
|
||
PipelineRasterizationStateRasterizationOrderAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rasterizationOrder: RasterizationOrderAMD,
|
||
}
|
||
|
||
DebugMarkerObjectNameInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
objectType: DebugReportObjectTypeEXT,
|
||
object: u64,
|
||
pObjectName: cstring,
|
||
}
|
||
|
||
DebugMarkerObjectTagInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
objectType: DebugReportObjectTypeEXT,
|
||
object: u64,
|
||
tagName: u64,
|
||
tagSize: int,
|
||
pTag: rawptr,
|
||
}
|
||
|
||
DebugMarkerMarkerInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pMarkerName: cstring,
|
||
color: [4]f32,
|
||
}
|
||
|
||
DedicatedAllocationImageCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dedicatedAllocation: b32,
|
||
}
|
||
|
||
DedicatedAllocationBufferCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dedicatedAllocation: b32,
|
||
}
|
||
|
||
DedicatedAllocationMemoryAllocateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
PhysicalDeviceTransformFeedbackFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
transformFeedback: b32,
|
||
geometryStreams: b32,
|
||
}
|
||
|
||
PhysicalDeviceTransformFeedbackPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxTransformFeedbackStreams: u32,
|
||
maxTransformFeedbackBuffers: u32,
|
||
maxTransformFeedbackBufferSize: DeviceSize,
|
||
maxTransformFeedbackStreamDataSize: u32,
|
||
maxTransformFeedbackBufferDataSize: u32,
|
||
maxTransformFeedbackBufferDataStride: u32,
|
||
transformFeedbackQueries: b32,
|
||
transformFeedbackStreamsLinesTriangles: b32,
|
||
transformFeedbackRasterizationStreamSelect: b32,
|
||
transformFeedbackDraw: b32,
|
||
}
|
||
|
||
PipelineRasterizationStateStreamCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineRasterizationStateStreamCreateFlagsEXT,
|
||
rasterizationStream: u32,
|
||
}
|
||
|
||
CuModuleCreateInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dataSize: int,
|
||
pData: rawptr,
|
||
}
|
||
|
||
CuModuleTexturingModeCreateInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
use64bitTexturing: b32,
|
||
}
|
||
|
||
CuFunctionCreateInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
module: CuModuleNVX,
|
||
pName: cstring,
|
||
}
|
||
|
||
CuLaunchInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
function: CuFunctionNVX,
|
||
gridDimX: u32,
|
||
gridDimY: u32,
|
||
gridDimZ: u32,
|
||
blockDimX: u32,
|
||
blockDimY: u32,
|
||
blockDimZ: u32,
|
||
sharedMemBytes: u32,
|
||
paramCount: int,
|
||
pParams: [^]rawptr,
|
||
extraCount: int,
|
||
pExtras: [^]rawptr,
|
||
}
|
||
|
||
ImageViewHandleInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageView: ImageView,
|
||
descriptorType: DescriptorType,
|
||
sampler: Sampler,
|
||
}
|
||
|
||
ImageViewAddressPropertiesNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceAddress: DeviceAddress,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
TextureLODGatherFormatPropertiesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportsTextureGatherLODBiasAMD: b32,
|
||
}
|
||
|
||
ShaderResourceUsageAMD :: struct {
|
||
numUsedVgprs: u32,
|
||
numUsedSgprs: u32,
|
||
ldsSizePerLocalWorkGroup: u32,
|
||
ldsUsageSizeInBytes: int,
|
||
scratchMemUsageInBytes: int,
|
||
}
|
||
|
||
ShaderStatisticsInfoAMD :: struct {
|
||
shaderStageMask: ShaderStageFlags,
|
||
resourceUsage: ShaderResourceUsageAMD,
|
||
numPhysicalVgprs: u32,
|
||
numPhysicalSgprs: u32,
|
||
numAvailableVgprs: u32,
|
||
numAvailableSgprs: u32,
|
||
computeWorkGroupSize: [3]u32,
|
||
}
|
||
|
||
PhysicalDeviceCornerSampledImageFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cornerSampledImage: b32,
|
||
}
|
||
|
||
ExternalImageFormatPropertiesNV :: struct {
|
||
imageFormatProperties: ImageFormatProperties,
|
||
externalMemoryFeatures: ExternalMemoryFeatureFlagsNV,
|
||
exportFromImportedHandleTypes: ExternalMemoryHandleTypeFlagsNV,
|
||
compatibleHandleTypes: ExternalMemoryHandleTypeFlagsNV,
|
||
}
|
||
|
||
ExternalMemoryImageCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalMemoryHandleTypeFlagsNV,
|
||
}
|
||
|
||
ExportMemoryAllocateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleTypes: ExternalMemoryHandleTypeFlagsNV,
|
||
}
|
||
|
||
ValidationFlagsEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
disabledValidationCheckCount: u32,
|
||
pDisabledValidationChecks: [^]ValidationCheckEXT,
|
||
}
|
||
|
||
ImageViewASTCDecodeModeEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
decodeMode: Format,
|
||
}
|
||
|
||
PhysicalDeviceASTCDecodeFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
decodeModeSharedExponent: b32,
|
||
}
|
||
|
||
ConditionalRenderingBeginInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
flags: ConditionalRenderingFlagsEXT,
|
||
}
|
||
|
||
PhysicalDeviceConditionalRenderingFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
conditionalRendering: b32,
|
||
inheritedConditionalRendering: b32,
|
||
}
|
||
|
||
CommandBufferInheritanceConditionalRenderingInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
conditionalRenderingEnable: b32,
|
||
}
|
||
|
||
ViewportWScalingNV :: struct {
|
||
xcoeff: f32,
|
||
ycoeff: f32,
|
||
}
|
||
|
||
PipelineViewportWScalingStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
viewportWScalingEnable: b32,
|
||
viewportCount: u32,
|
||
pViewportWScalings: [^]ViewportWScalingNV,
|
||
}
|
||
|
||
SurfaceCapabilities2EXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minImageCount: u32,
|
||
maxImageCount: u32,
|
||
currentExtent: Extent2D,
|
||
minImageExtent: Extent2D,
|
||
maxImageExtent: Extent2D,
|
||
maxImageArrayLayers: u32,
|
||
supportedTransforms: SurfaceTransformFlagsKHR,
|
||
currentTransform: SurfaceTransformFlagsKHR,
|
||
supportedCompositeAlpha: CompositeAlphaFlagsKHR,
|
||
supportedUsageFlags: ImageUsageFlags,
|
||
supportedSurfaceCounters: SurfaceCounterFlagsEXT,
|
||
}
|
||
|
||
DisplayPowerInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
powerState: DisplayPowerStateEXT,
|
||
}
|
||
|
||
DeviceEventInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceEvent: DeviceEventTypeEXT,
|
||
}
|
||
|
||
DisplayEventInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displayEvent: DisplayEventTypeEXT,
|
||
}
|
||
|
||
SwapchainCounterCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
surfaceCounters: SurfaceCounterFlagsEXT,
|
||
}
|
||
|
||
RefreshCycleDurationGOOGLE :: struct {
|
||
refreshDuration: u64,
|
||
}
|
||
|
||
PastPresentationTimingGOOGLE :: struct {
|
||
presentID: u32,
|
||
desiredPresentTime: u64,
|
||
actualPresentTime: u64,
|
||
earliestPresentTime: u64,
|
||
presentMargin: u64,
|
||
}
|
||
|
||
PresentTimeGOOGLE :: struct {
|
||
presentID: u32,
|
||
desiredPresentTime: u64,
|
||
}
|
||
|
||
PresentTimesInfoGOOGLE :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pTimes: [^]PresentTimeGOOGLE,
|
||
}
|
||
|
||
PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
perViewPositionAllComponents: b32,
|
||
}
|
||
|
||
MultiviewPerViewAttributesInfoNVX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
perViewAttributes: b32,
|
||
perViewAttributesPositionXOnly: b32,
|
||
}
|
||
|
||
ViewportSwizzleNV :: struct {
|
||
x: ViewportCoordinateSwizzleNV,
|
||
y: ViewportCoordinateSwizzleNV,
|
||
z: ViewportCoordinateSwizzleNV,
|
||
w: ViewportCoordinateSwizzleNV,
|
||
}
|
||
|
||
PipelineViewportSwizzleStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineViewportSwizzleStateCreateFlagsNV,
|
||
viewportCount: u32,
|
||
pViewportSwizzles: [^]ViewportSwizzleNV,
|
||
}
|
||
|
||
PhysicalDeviceDiscardRectanglePropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxDiscardRectangles: u32,
|
||
}
|
||
|
||
PipelineDiscardRectangleStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineDiscardRectangleStateCreateFlagsEXT,
|
||
discardRectangleMode: DiscardRectangleModeEXT,
|
||
discardRectangleCount: u32,
|
||
pDiscardRectangles: [^]Rect2D,
|
||
}
|
||
|
||
PhysicalDeviceConservativeRasterizationPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
primitiveOverestimationSize: f32,
|
||
maxExtraPrimitiveOverestimationSize: f32,
|
||
extraPrimitiveOverestimationSizeGranularity: f32,
|
||
primitiveUnderestimation: b32,
|
||
conservativePointAndLineRasterization: b32,
|
||
degenerateTrianglesRasterized: b32,
|
||
degenerateLinesRasterized: b32,
|
||
fullyCoveredFragmentShaderInputVariable: b32,
|
||
conservativeRasterizationPostDepthCoverage: b32,
|
||
}
|
||
|
||
PipelineRasterizationConservativeStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
|
||
conservativeRasterizationMode: ConservativeRasterizationModeEXT,
|
||
extraPrimitiveOverestimationSize: f32,
|
||
}
|
||
|
||
PhysicalDeviceDepthClipEnableFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthClipEnable: b32,
|
||
}
|
||
|
||
PipelineRasterizationDepthClipStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
|
||
depthClipEnable: b32,
|
||
}
|
||
|
||
XYColorEXT :: struct {
|
||
x: f32,
|
||
y: f32,
|
||
}
|
||
|
||
HdrMetadataEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displayPrimaryRed: XYColorEXT,
|
||
displayPrimaryGreen: XYColorEXT,
|
||
displayPrimaryBlue: XYColorEXT,
|
||
whitePoint: XYColorEXT,
|
||
maxLuminance: f32,
|
||
minLuminance: f32,
|
||
maxContentLightLevel: f32,
|
||
maxFrameAverageLightLevel: f32,
|
||
}
|
||
|
||
PhysicalDeviceRelaxedLineRasterizationFeaturesIMG :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
relaxedLineRasterization: b32,
|
||
}
|
||
|
||
DebugUtilsLabelEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pLabelName: cstring,
|
||
color: [4]f32,
|
||
}
|
||
|
||
DebugUtilsObjectNameInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
objectType: ObjectType,
|
||
objectHandle: u64,
|
||
pObjectName: cstring,
|
||
}
|
||
|
||
DebugUtilsMessengerCallbackDataEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DebugUtilsMessengerCallbackDataFlagsEXT,
|
||
pMessageIdName: cstring,
|
||
messageIdNumber: i32,
|
||
pMessage: cstring,
|
||
queueLabelCount: u32,
|
||
pQueueLabels: [^]DebugUtilsLabelEXT,
|
||
cmdBufLabelCount: u32,
|
||
pCmdBufLabels: [^]DebugUtilsLabelEXT,
|
||
objectCount: u32,
|
||
pObjects: [^]DebugUtilsObjectNameInfoEXT,
|
||
}
|
||
|
||
DebugUtilsMessengerCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DebugUtilsMessengerCreateFlagsEXT,
|
||
messageSeverity: DebugUtilsMessageSeverityFlagsEXT,
|
||
messageType: DebugUtilsMessageTypeFlagsEXT,
|
||
pfnUserCallback: ProcDebugUtilsMessengerCallbackEXT,
|
||
pUserData: rawptr,
|
||
}
|
||
|
||
DebugUtilsObjectTagInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
objectType: ObjectType,
|
||
objectHandle: u64,
|
||
tagName: u64,
|
||
tagSize: int,
|
||
pTag: rawptr,
|
||
}
|
||
|
||
AttachmentSampleCountInfoAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
colorAttachmentCount: u32,
|
||
pColorAttachmentSamples: [^]SampleCountFlags,
|
||
depthStencilAttachmentSamples: SampleCountFlags,
|
||
}
|
||
|
||
SampleLocationEXT :: struct {
|
||
x: f32,
|
||
y: f32,
|
||
}
|
||
|
||
SampleLocationsInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampleLocationsPerPixel: SampleCountFlags,
|
||
sampleLocationGridSize: Extent2D,
|
||
sampleLocationsCount: u32,
|
||
pSampleLocations: [^]SampleLocationEXT,
|
||
}
|
||
|
||
AttachmentSampleLocationsEXT :: struct {
|
||
attachmentIndex: u32,
|
||
sampleLocationsInfo: SampleLocationsInfoEXT,
|
||
}
|
||
|
||
SubpassSampleLocationsEXT :: struct {
|
||
subpassIndex: u32,
|
||
sampleLocationsInfo: SampleLocationsInfoEXT,
|
||
}
|
||
|
||
RenderPassSampleLocationsBeginInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentInitialSampleLocationsCount: u32,
|
||
pAttachmentInitialSampleLocations: [^]AttachmentSampleLocationsEXT,
|
||
postSubpassSampleLocationsCount: u32,
|
||
pPostSubpassSampleLocations: [^]SubpassSampleLocationsEXT,
|
||
}
|
||
|
||
PipelineSampleLocationsStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampleLocationsEnable: b32,
|
||
sampleLocationsInfo: SampleLocationsInfoEXT,
|
||
}
|
||
|
||
PhysicalDeviceSampleLocationsPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampleLocationSampleCounts: SampleCountFlags,
|
||
maxSampleLocationGridSize: Extent2D,
|
||
sampleLocationCoordinateRange: [2]f32,
|
||
sampleLocationSubPixelBits: u32,
|
||
variableSampleLocations: b32,
|
||
}
|
||
|
||
MultisamplePropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxSampleLocationGridSize: Extent2D,
|
||
}
|
||
|
||
PhysicalDeviceBlendOperationAdvancedFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
advancedBlendCoherentOperations: b32,
|
||
}
|
||
|
||
PhysicalDeviceBlendOperationAdvancedPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
advancedBlendMaxColorAttachments: u32,
|
||
advancedBlendIndependentBlend: b32,
|
||
advancedBlendNonPremultipliedSrcColor: b32,
|
||
advancedBlendNonPremultipliedDstColor: b32,
|
||
advancedBlendCorrelatedOverlap: b32,
|
||
advancedBlendAllOperations: b32,
|
||
}
|
||
|
||
PipelineColorBlendAdvancedStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcPremultiplied: b32,
|
||
dstPremultiplied: b32,
|
||
blendOverlap: BlendOverlapEXT,
|
||
}
|
||
|
||
PipelineCoverageToColorStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCoverageToColorStateCreateFlagsNV,
|
||
coverageToColorEnable: b32,
|
||
coverageToColorLocation: u32,
|
||
}
|
||
|
||
PipelineCoverageModulationStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCoverageModulationStateCreateFlagsNV,
|
||
coverageModulationMode: CoverageModulationModeNV,
|
||
coverageModulationTableEnable: b32,
|
||
coverageModulationTableCount: u32,
|
||
pCoverageModulationTable: [^]f32,
|
||
}
|
||
|
||
PhysicalDeviceShaderSMBuiltinsPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSMCount: u32,
|
||
shaderWarpsPerSM: u32,
|
||
}
|
||
|
||
PhysicalDeviceShaderSMBuiltinsFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderSMBuiltins: b32,
|
||
}
|
||
|
||
DrmFormatModifierPropertiesEXT :: struct {
|
||
drmFormatModifier: u64,
|
||
drmFormatModifierPlaneCount: u32,
|
||
drmFormatModifierTilingFeatures: FormatFeatureFlags,
|
||
}
|
||
|
||
DrmFormatModifierPropertiesListEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifierCount: u32,
|
||
pDrmFormatModifierProperties: [^]DrmFormatModifierPropertiesEXT,
|
||
}
|
||
|
||
PhysicalDeviceImageDrmFormatModifierInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifier: u64,
|
||
sharingMode: SharingMode,
|
||
queueFamilyIndexCount: u32,
|
||
pQueueFamilyIndices: [^]u32,
|
||
}
|
||
|
||
ImageDrmFormatModifierListCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifierCount: u32,
|
||
pDrmFormatModifiers: [^]u64,
|
||
}
|
||
|
||
ImageDrmFormatModifierExplicitCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifier: u64,
|
||
drmFormatModifierPlaneCount: u32,
|
||
pPlaneLayouts: [^]SubresourceLayout,
|
||
}
|
||
|
||
ImageDrmFormatModifierPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifier: u64,
|
||
}
|
||
|
||
DrmFormatModifierProperties2EXT :: struct {
|
||
drmFormatModifier: u64,
|
||
drmFormatModifierPlaneCount: u32,
|
||
drmFormatModifierTilingFeatures: FormatFeatureFlags2,
|
||
}
|
||
|
||
DrmFormatModifierPropertiesList2EXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
drmFormatModifierCount: u32,
|
||
pDrmFormatModifierProperties: [^]DrmFormatModifierProperties2EXT,
|
||
}
|
||
|
||
ValidationCacheCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ValidationCacheCreateFlagsEXT,
|
||
initialDataSize: int,
|
||
pInitialData: rawptr,
|
||
}
|
||
|
||
ShaderModuleValidationCacheCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
validationCache: ValidationCacheEXT,
|
||
}
|
||
|
||
ShadingRatePaletteNV :: struct {
|
||
shadingRatePaletteEntryCount: u32,
|
||
pShadingRatePaletteEntries: [^]ShadingRatePaletteEntryNV,
|
||
}
|
||
|
||
PipelineViewportShadingRateImageStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shadingRateImageEnable: b32,
|
||
viewportCount: u32,
|
||
pShadingRatePalettes: [^]ShadingRatePaletteNV,
|
||
}
|
||
|
||
PhysicalDeviceShadingRateImageFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shadingRateImage: b32,
|
||
shadingRateCoarseSampleOrder: b32,
|
||
}
|
||
|
||
PhysicalDeviceShadingRateImagePropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shadingRateTexelSize: Extent2D,
|
||
shadingRatePaletteSize: u32,
|
||
shadingRateMaxCoarseSamples: u32,
|
||
}
|
||
|
||
CoarseSampleLocationNV :: struct {
|
||
pixelX: u32,
|
||
pixelY: u32,
|
||
sample: u32,
|
||
}
|
||
|
||
CoarseSampleOrderCustomNV :: struct {
|
||
shadingRate: ShadingRatePaletteEntryNV,
|
||
sampleCount: u32,
|
||
sampleLocationCount: u32,
|
||
pSampleLocations: [^]CoarseSampleLocationNV,
|
||
}
|
||
|
||
PipelineViewportCoarseSampleOrderStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampleOrderType: CoarseSampleOrderTypeNV,
|
||
customSampleOrderCount: u32,
|
||
pCustomSampleOrders: [^]CoarseSampleOrderCustomNV,
|
||
}
|
||
|
||
RayTracingShaderGroupCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: RayTracingShaderGroupTypeKHR,
|
||
generalShader: u32,
|
||
closestHitShader: u32,
|
||
anyHitShader: u32,
|
||
intersectionShader: u32,
|
||
}
|
||
|
||
RayTracingPipelineCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags,
|
||
stageCount: u32,
|
||
pStages: [^]PipelineShaderStageCreateInfo,
|
||
groupCount: u32,
|
||
pGroups: [^]RayTracingShaderGroupCreateInfoNV,
|
||
maxRecursionDepth: u32,
|
||
layout: PipelineLayout,
|
||
basePipelineHandle: Pipeline,
|
||
basePipelineIndex: i32,
|
||
}
|
||
|
||
GeometryTrianglesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexData: Buffer,
|
||
vertexOffset: DeviceSize,
|
||
vertexCount: u32,
|
||
vertexStride: DeviceSize,
|
||
vertexFormat: Format,
|
||
indexData: Buffer,
|
||
indexOffset: DeviceSize,
|
||
indexCount: u32,
|
||
indexType: IndexType,
|
||
transformData: Buffer,
|
||
transformOffset: DeviceSize,
|
||
}
|
||
|
||
GeometryAABBNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
aabbData: Buffer,
|
||
numAABBs: u32,
|
||
stride: u32,
|
||
offset: DeviceSize,
|
||
}
|
||
|
||
GeometryDataNV :: struct {
|
||
triangles: GeometryTrianglesNV,
|
||
aabbs: GeometryAABBNV,
|
||
}
|
||
|
||
GeometryNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
geometryType: GeometryTypeKHR,
|
||
geometry: GeometryDataNV,
|
||
flags: GeometryFlagsKHR,
|
||
}
|
||
|
||
AccelerationStructureInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: AccelerationStructureTypeNV,
|
||
flags: BuildAccelerationStructureFlagsNV,
|
||
instanceCount: u32,
|
||
geometryCount: u32,
|
||
pGeometries: [^]GeometryNV,
|
||
}
|
||
|
||
AccelerationStructureCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
compactedSize: DeviceSize,
|
||
info: AccelerationStructureInfoNV,
|
||
}
|
||
|
||
BindAccelerationStructureMemoryInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructure: AccelerationStructureNV,
|
||
memory: DeviceMemory,
|
||
memoryOffset: DeviceSize,
|
||
deviceIndexCount: u32,
|
||
pDeviceIndices: [^]u32,
|
||
}
|
||
|
||
WriteDescriptorSetAccelerationStructureNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructureCount: u32,
|
||
pAccelerationStructures: [^]AccelerationStructureNV,
|
||
}
|
||
|
||
AccelerationStructureMemoryRequirementsInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: AccelerationStructureMemoryRequirementsTypeNV,
|
||
accelerationStructure: AccelerationStructureNV,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderGroupHandleSize: u32,
|
||
maxRecursionDepth: u32,
|
||
maxShaderGroupStride: u32,
|
||
shaderGroupBaseAlignment: u32,
|
||
maxGeometryCount: u64,
|
||
maxInstanceCount: u64,
|
||
maxTriangleCount: u64,
|
||
maxDescriptorSetAccelerationStructures: u32,
|
||
}
|
||
|
||
TransformMatrixKHR :: struct {
|
||
mat: [3][4]f32,
|
||
}
|
||
|
||
AabbPositionsKHR :: struct {
|
||
minX: f32,
|
||
minY: f32,
|
||
minZ: f32,
|
||
maxX: f32,
|
||
maxY: f32,
|
||
maxZ: f32,
|
||
}
|
||
|
||
AccelerationStructureInstanceKHR :: struct {
|
||
transform: TransformMatrixKHR,
|
||
using _: bit_field u32 {
|
||
instanceCustomIndex: u32 | 24,
|
||
mask: u32 | 8,
|
||
},
|
||
using _: bit_field u32 {
|
||
instanceShaderBindingTableRecordOffset: u32 | 24,
|
||
flags: GeometryInstanceFlagKHR | 8,
|
||
},
|
||
accelerationStructureReference: u64,
|
||
}
|
||
|
||
PhysicalDeviceRepresentativeFragmentTestFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
representativeFragmentTest: b32,
|
||
}
|
||
|
||
PipelineRepresentativeFragmentTestStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
representativeFragmentTestEnable: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageViewImageFormatInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageViewType: ImageViewType,
|
||
}
|
||
|
||
FilterCubicImageViewImageFormatPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
filterCubic: b32,
|
||
filterCubicMinmax: b32,
|
||
}
|
||
|
||
ImportMemoryHostPointerInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
pHostPointer: rawptr,
|
||
}
|
||
|
||
MemoryHostPointerPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryTypeBits: u32,
|
||
}
|
||
|
||
PhysicalDeviceExternalMemoryHostPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minImportedHostPointerAlignment: DeviceSize,
|
||
}
|
||
|
||
PipelineCompilerControlCreateInfoAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
compilerControlFlags: PipelineCompilerControlFlagsAMD,
|
||
}
|
||
|
||
PhysicalDeviceShaderCorePropertiesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderEngineCount: u32,
|
||
shaderArraysPerEngineCount: u32,
|
||
computeUnitsPerShaderArray: u32,
|
||
simdPerComputeUnit: u32,
|
||
wavefrontsPerSimd: u32,
|
||
wavefrontSize: u32,
|
||
sgprsPerSimd: u32,
|
||
minSgprAllocation: u32,
|
||
maxSgprAllocation: u32,
|
||
sgprAllocationGranularity: u32,
|
||
vgprsPerSimd: u32,
|
||
minVgprAllocation: u32,
|
||
maxVgprAllocation: u32,
|
||
vgprAllocationGranularity: u32,
|
||
}
|
||
|
||
DeviceMemoryOverallocationCreateInfoAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
overallocationBehavior: MemoryOverallocationBehaviorAMD,
|
||
}
|
||
|
||
PhysicalDeviceVertexAttributeDivisorPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxVertexAttribDivisor: u32,
|
||
}
|
||
|
||
PhysicalDeviceMeshShaderFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
taskShader: b32,
|
||
meshShader: b32,
|
||
}
|
||
|
||
PhysicalDeviceMeshShaderPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxDrawMeshTasksCount: u32,
|
||
maxTaskWorkGroupInvocations: u32,
|
||
maxTaskWorkGroupSize: [3]u32,
|
||
maxTaskTotalMemorySize: u32,
|
||
maxTaskOutputCount: u32,
|
||
maxMeshWorkGroupInvocations: u32,
|
||
maxMeshWorkGroupSize: [3]u32,
|
||
maxMeshTotalMemorySize: u32,
|
||
maxMeshOutputVertices: u32,
|
||
maxMeshOutputPrimitives: u32,
|
||
maxMeshMultiviewViewCount: u32,
|
||
meshOutputPerVertexGranularity: u32,
|
||
meshOutputPerPrimitiveGranularity: u32,
|
||
}
|
||
|
||
DrawMeshTasksIndirectCommandNV :: struct {
|
||
taskCount: u32,
|
||
firstTask: u32,
|
||
}
|
||
|
||
PhysicalDeviceShaderImageFootprintFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageFootprint: b32,
|
||
}
|
||
|
||
PipelineViewportExclusiveScissorStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
exclusiveScissorCount: u32,
|
||
pExclusiveScissors: [^]Rect2D,
|
||
}
|
||
|
||
PhysicalDeviceExclusiveScissorFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
exclusiveScissor: b32,
|
||
}
|
||
|
||
QueueFamilyCheckpointPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
checkpointExecutionStageMask: PipelineStageFlags,
|
||
}
|
||
|
||
CheckpointDataNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stage: PipelineStageFlags,
|
||
pCheckpointMarker: rawptr,
|
||
}
|
||
|
||
QueueFamilyCheckpointProperties2NV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
checkpointExecutionStageMask: PipelineStageFlags2,
|
||
}
|
||
|
||
CheckpointData2NV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stage: PipelineStageFlags2,
|
||
pCheckpointMarker: rawptr,
|
||
}
|
||
|
||
PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderIntegerFunctions2: b32,
|
||
}
|
||
|
||
PerformanceValueDataINTEL :: struct #raw_union {
|
||
value32: u32,
|
||
value64: u64,
|
||
valueFloat: f32,
|
||
valueBool: b32,
|
||
valueString: cstring,
|
||
}
|
||
|
||
PerformanceValueINTEL :: struct {
|
||
type: PerformanceValueTypeINTEL,
|
||
data: PerformanceValueDataINTEL,
|
||
}
|
||
|
||
InitializePerformanceApiInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pUserData: rawptr,
|
||
}
|
||
|
||
QueryPoolPerformanceQueryCreateInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
performanceCountersSampling: QueryPoolSamplingModeINTEL,
|
||
}
|
||
|
||
PerformanceMarkerInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
marker: u64,
|
||
}
|
||
|
||
PerformanceStreamMarkerInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
marker: u32,
|
||
}
|
||
|
||
PerformanceOverrideInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: PerformanceOverrideTypeINTEL,
|
||
enable: b32,
|
||
parameter: u64,
|
||
}
|
||
|
||
PerformanceConfigurationAcquireInfoINTEL :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: PerformanceConfigurationTypeINTEL,
|
||
}
|
||
|
||
PhysicalDevicePCIBusInfoPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pciDomain: u32,
|
||
pciBus: u32,
|
||
pciDevice: u32,
|
||
pciFunction: u32,
|
||
}
|
||
|
||
DisplayNativeHdrSurfaceCapabilitiesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
localDimmingSupport: b32,
|
||
}
|
||
|
||
SwapchainDisplayNativeHdrCreateInfoAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
localDimmingEnable: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMapFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityMap: b32,
|
||
fragmentDensityMapDynamic: b32,
|
||
fragmentDensityMapNonSubsampledImages: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMapPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minFragmentDensityTexelSize: Extent2D,
|
||
maxFragmentDensityTexelSize: Extent2D,
|
||
fragmentDensityInvocations: b32,
|
||
}
|
||
|
||
RenderPassFragmentDensityMapCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityMapAttachment: AttachmentReference,
|
||
}
|
||
|
||
RenderingFragmentDensityMapAttachmentInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageView: ImageView,
|
||
imageLayout: ImageLayout,
|
||
}
|
||
|
||
PhysicalDeviceShaderCoreProperties2AMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCoreFeatures: ShaderCorePropertiesFlagsAMD,
|
||
activeComputeUnitCount: u32,
|
||
}
|
||
|
||
PhysicalDeviceCoherentMemoryFeaturesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceCoherentMemory: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderImageAtomicInt64FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderImageInt64Atomics: b32,
|
||
sparseImageInt64Atomics: b32,
|
||
}
|
||
|
||
PhysicalDeviceMemoryBudgetPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
heapBudget: [MAX_MEMORY_HEAPS]DeviceSize,
|
||
heapUsage: [MAX_MEMORY_HEAPS]DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceMemoryPriorityFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryPriority: b32,
|
||
}
|
||
|
||
MemoryPriorityAllocateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
priority: f32,
|
||
}
|
||
|
||
PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dedicatedAllocationImageAliasing: b32,
|
||
}
|
||
|
||
PhysicalDeviceBufferDeviceAddressFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
bufferDeviceAddress: b32,
|
||
bufferDeviceAddressCaptureReplay: b32,
|
||
bufferDeviceAddressMultiDevice: b32,
|
||
}
|
||
|
||
BufferDeviceAddressCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceAddress: DeviceAddress,
|
||
}
|
||
|
||
ValidationFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
enabledValidationFeatureCount: u32,
|
||
pEnabledValidationFeatures: [^]ValidationFeatureEnableEXT,
|
||
disabledValidationFeatureCount: u32,
|
||
pDisabledValidationFeatures: [^]ValidationFeatureDisableEXT,
|
||
}
|
||
|
||
CooperativeMatrixPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
MSize: u32,
|
||
NSize: u32,
|
||
KSize: u32,
|
||
AType: ComponentTypeNV,
|
||
BType: ComponentTypeNV,
|
||
CType: ComponentTypeNV,
|
||
DType: ComponentTypeNV,
|
||
scope: ScopeNV,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrixFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrix: b32,
|
||
cooperativeMatrixRobustBufferAccess: b32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrixPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrixSupportedStages: ShaderStageFlags,
|
||
}
|
||
|
||
PhysicalDeviceCoverageReductionModeFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
coverageReductionMode: b32,
|
||
}
|
||
|
||
PipelineCoverageReductionStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCoverageReductionStateCreateFlagsNV,
|
||
coverageReductionMode: CoverageReductionModeNV,
|
||
}
|
||
|
||
FramebufferMixedSamplesCombinationNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
coverageReductionMode: CoverageReductionModeNV,
|
||
rasterizationSamples: SampleCountFlags,
|
||
depthStencilSamples: SampleCountFlags,
|
||
colorSamples: SampleCountFlags,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShaderInterlockFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentShaderSampleInterlock: b32,
|
||
fragmentShaderPixelInterlock: b32,
|
||
fragmentShaderShadingRateInterlock: b32,
|
||
}
|
||
|
||
PhysicalDeviceYcbcrImageArraysFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
ycbcrImageArrays: b32,
|
||
}
|
||
|
||
PhysicalDeviceProvokingVertexFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
provokingVertexLast: b32,
|
||
transformFeedbackPreservesProvokingVertex: b32,
|
||
}
|
||
|
||
PhysicalDeviceProvokingVertexPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
provokingVertexModePerPipeline: b32,
|
||
transformFeedbackPreservesTriangleFanProvokingVertex: b32,
|
||
}
|
||
|
||
PipelineRasterizationProvokingVertexStateCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
provokingVertexMode: ProvokingVertexModeEXT,
|
||
}
|
||
|
||
HeadlessSurfaceCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: HeadlessSurfaceCreateFlagsEXT,
|
||
}
|
||
|
||
PhysicalDeviceShaderAtomicFloatFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderBufferFloat32Atomics: b32,
|
||
shaderBufferFloat32AtomicAdd: b32,
|
||
shaderBufferFloat64Atomics: b32,
|
||
shaderBufferFloat64AtomicAdd: b32,
|
||
shaderSharedFloat32Atomics: b32,
|
||
shaderSharedFloat32AtomicAdd: b32,
|
||
shaderSharedFloat64Atomics: b32,
|
||
shaderSharedFloat64AtomicAdd: b32,
|
||
shaderImageFloat32Atomics: b32,
|
||
shaderImageFloat32AtomicAdd: b32,
|
||
sparseImageFloat32Atomics: b32,
|
||
sparseImageFloat32AtomicAdd: b32,
|
||
}
|
||
|
||
PhysicalDeviceExtendedDynamicStateFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
extendedDynamicState: b32,
|
||
}
|
||
|
||
PhysicalDeviceMapMemoryPlacedFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryMapPlaced: b32,
|
||
memoryMapRangePlaced: b32,
|
||
memoryUnmapReserve: b32,
|
||
}
|
||
|
||
PhysicalDeviceMapMemoryPlacedPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minPlacedMemoryMapAlignment: DeviceSize,
|
||
}
|
||
|
||
MemoryMapPlacedInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pPlacedAddress: rawptr,
|
||
}
|
||
|
||
PhysicalDeviceShaderAtomicFloat2FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderBufferFloat16Atomics: b32,
|
||
shaderBufferFloat16AtomicAdd: b32,
|
||
shaderBufferFloat16AtomicMinMax: b32,
|
||
shaderBufferFloat32AtomicMinMax: b32,
|
||
shaderBufferFloat64AtomicMinMax: b32,
|
||
shaderSharedFloat16Atomics: b32,
|
||
shaderSharedFloat16AtomicAdd: b32,
|
||
shaderSharedFloat16AtomicMinMax: b32,
|
||
shaderSharedFloat32AtomicMinMax: b32,
|
||
shaderSharedFloat64AtomicMinMax: b32,
|
||
shaderImageFloat32AtomicMinMax: b32,
|
||
sparseImageFloat32AtomicMinMax: b32,
|
||
}
|
||
|
||
SurfacePresentModeEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentMode: PresentModeKHR,
|
||
}
|
||
|
||
SurfacePresentScalingCapabilitiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportedPresentScaling: PresentScalingFlagsEXT,
|
||
supportedPresentGravityX: PresentGravityFlagsEXT,
|
||
supportedPresentGravityY: PresentGravityFlagsEXT,
|
||
minScaledImageExtent: Extent2D,
|
||
maxScaledImageExtent: Extent2D,
|
||
}
|
||
|
||
SurfacePresentModeCompatibilityEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentModeCount: u32,
|
||
pPresentModes: [^]PresentModeKHR,
|
||
}
|
||
|
||
PhysicalDeviceSwapchainMaintenance1FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainMaintenance1: b32,
|
||
}
|
||
|
||
SwapchainPresentFenceInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pFences: [^]Fence,
|
||
}
|
||
|
||
SwapchainPresentModesCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentModeCount: u32,
|
||
pPresentModes: [^]PresentModeKHR,
|
||
}
|
||
|
||
SwapchainPresentModeInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchainCount: u32,
|
||
pPresentModes: [^]PresentModeKHR,
|
||
}
|
||
|
||
SwapchainPresentScalingCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
scalingBehavior: PresentScalingFlagsEXT,
|
||
presentGravityX: PresentGravityFlagsEXT,
|
||
presentGravityY: PresentGravityFlagsEXT,
|
||
}
|
||
|
||
ReleaseSwapchainImagesInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
swapchain: SwapchainKHR,
|
||
imageIndexCount: u32,
|
||
pImageIndices: [^]u32,
|
||
}
|
||
|
||
PhysicalDeviceDeviceGeneratedCommandsPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxGraphicsShaderGroupCount: u32,
|
||
maxIndirectSequenceCount: u32,
|
||
maxIndirectCommandsTokenCount: u32,
|
||
maxIndirectCommandsStreamCount: u32,
|
||
maxIndirectCommandsTokenOffset: u32,
|
||
maxIndirectCommandsStreamStride: u32,
|
||
minSequencesCountBufferOffsetAlignment: u32,
|
||
minSequencesIndexBufferOffsetAlignment: u32,
|
||
minIndirectCommandsBufferOffsetAlignment: u32,
|
||
}
|
||
|
||
PhysicalDeviceDeviceGeneratedCommandsFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceGeneratedCommands: b32,
|
||
}
|
||
|
||
GraphicsShaderGroupCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stageCount: u32,
|
||
pStages: [^]PipelineShaderStageCreateInfo,
|
||
pVertexInputState: ^PipelineVertexInputStateCreateInfo,
|
||
pTessellationState: ^PipelineTessellationStateCreateInfo,
|
||
}
|
||
|
||
GraphicsPipelineShaderGroupsCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
groupCount: u32,
|
||
pGroups: [^]GraphicsShaderGroupCreateInfoNV,
|
||
pipelineCount: u32,
|
||
pPipelines: [^]Pipeline,
|
||
}
|
||
|
||
BindShaderGroupIndirectCommandNV :: struct {
|
||
groupIndex: u32,
|
||
}
|
||
|
||
BindIndexBufferIndirectCommandNV :: struct {
|
||
bufferAddress: DeviceAddress,
|
||
size: u32,
|
||
indexType: IndexType,
|
||
}
|
||
|
||
BindVertexBufferIndirectCommandNV :: struct {
|
||
bufferAddress: DeviceAddress,
|
||
size: u32,
|
||
stride: u32,
|
||
}
|
||
|
||
SetStateFlagsIndirectCommandNV :: struct {
|
||
data: u32,
|
||
}
|
||
|
||
IndirectCommandsStreamNV :: struct {
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
}
|
||
|
||
IndirectCommandsLayoutTokenNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
tokenType: IndirectCommandsTokenTypeNV,
|
||
stream: u32,
|
||
offset: u32,
|
||
vertexBindingUnit: u32,
|
||
vertexDynamicStride: b32,
|
||
pushconstantPipelineLayout: PipelineLayout,
|
||
pushconstantShaderStageFlags: ShaderStageFlags,
|
||
pushconstantOffset: u32,
|
||
pushconstantSize: u32,
|
||
indirectStateFlags: IndirectStateFlagsNV,
|
||
indexTypeCount: u32,
|
||
pIndexTypes: [^]IndexType,
|
||
pIndexTypeValues: [^]u32,
|
||
}
|
||
|
||
IndirectCommandsLayoutCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: IndirectCommandsLayoutUsageFlagsNV,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
tokenCount: u32,
|
||
pTokens: [^]IndirectCommandsLayoutTokenNV,
|
||
streamCount: u32,
|
||
pStreamStrides: [^]u32,
|
||
}
|
||
|
||
GeneratedCommandsInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
pipeline: Pipeline,
|
||
indirectCommandsLayout: IndirectCommandsLayoutNV,
|
||
streamCount: u32,
|
||
pStreams: [^]IndirectCommandsStreamNV,
|
||
sequencesCount: u32,
|
||
preprocessBuffer: Buffer,
|
||
preprocessOffset: DeviceSize,
|
||
preprocessSize: DeviceSize,
|
||
sequencesCountBuffer: Buffer,
|
||
sequencesCountOffset: DeviceSize,
|
||
sequencesIndexBuffer: Buffer,
|
||
sequencesIndexOffset: DeviceSize,
|
||
}
|
||
|
||
GeneratedCommandsMemoryRequirementsInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
pipeline: Pipeline,
|
||
indirectCommandsLayout: IndirectCommandsLayoutNV,
|
||
maxSequencesCount: u32,
|
||
}
|
||
|
||
PhysicalDeviceInheritedViewportScissorFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
inheritedViewportScissor2D: b32,
|
||
}
|
||
|
||
CommandBufferInheritanceViewportScissorInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
viewportScissor2D: b32,
|
||
viewportDepthCount: u32,
|
||
pViewportDepths: [^]Viewport,
|
||
}
|
||
|
||
PhysicalDeviceTexelBufferAlignmentFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
texelBufferAlignment: b32,
|
||
}
|
||
|
||
RenderPassTransformBeginInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
transform: SurfaceTransformFlagsKHR,
|
||
}
|
||
|
||
CommandBufferInheritanceRenderPassTransformInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
transform: SurfaceTransformFlagsKHR,
|
||
renderArea: Rect2D,
|
||
}
|
||
|
||
PhysicalDeviceDepthBiasControlFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthBiasControl: b32,
|
||
leastRepresentableValueForceUnormRepresentation: b32,
|
||
floatRepresentation: b32,
|
||
depthBiasExact: b32,
|
||
}
|
||
|
||
DepthBiasInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthBiasConstantFactor: f32,
|
||
depthBiasClamp: f32,
|
||
depthBiasSlopeFactor: f32,
|
||
}
|
||
|
||
DepthBiasRepresentationInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthBiasRepresentation: DepthBiasRepresentationEXT,
|
||
depthBiasExact: b32,
|
||
}
|
||
|
||
PhysicalDeviceDeviceMemoryReportFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceMemoryReport: b32,
|
||
}
|
||
|
||
DeviceMemoryReportCallbackDataEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceMemoryReportFlagsEXT,
|
||
type: DeviceMemoryReportEventTypeEXT,
|
||
memoryObjectId: u64,
|
||
size: DeviceSize,
|
||
objectType: ObjectType,
|
||
objectHandle: u64,
|
||
heapIndex: u32,
|
||
}
|
||
|
||
DeviceDeviceMemoryReportCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceMemoryReportFlagsEXT,
|
||
pfnUserCallback: ProcDeviceMemoryReportCallbackEXT,
|
||
pUserData: rawptr,
|
||
}
|
||
|
||
PhysicalDeviceRobustness2FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
robustBufferAccess2: b32,
|
||
robustImageAccess2: b32,
|
||
nullDescriptor: b32,
|
||
}
|
||
|
||
PhysicalDeviceRobustness2PropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
robustStorageBufferAccessSizeAlignment: DeviceSize,
|
||
robustUniformBufferAccessSizeAlignment: DeviceSize,
|
||
}
|
||
|
||
SamplerCustomBorderColorCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
customBorderColor: ClearColorValue,
|
||
format: Format,
|
||
}
|
||
|
||
PhysicalDeviceCustomBorderColorPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxCustomBorderColorSamplers: u32,
|
||
}
|
||
|
||
PhysicalDeviceCustomBorderColorFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
customBorderColors: b32,
|
||
customBorderColorWithoutFormat: b32,
|
||
}
|
||
|
||
PhysicalDevicePresentBarrierFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentBarrier: b32,
|
||
}
|
||
|
||
SurfaceCapabilitiesPresentBarrierNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentBarrierSupported: b32,
|
||
}
|
||
|
||
SwapchainPresentBarrierCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentBarrierEnable: b32,
|
||
}
|
||
|
||
PhysicalDeviceDiagnosticsConfigFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
diagnosticsConfig: b32,
|
||
}
|
||
|
||
DeviceDiagnosticsConfigCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceDiagnosticsConfigFlagsNV,
|
||
}
|
||
|
||
CudaModuleCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dataSize: int,
|
||
pData: rawptr,
|
||
}
|
||
|
||
CudaFunctionCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
module: CudaModuleNV,
|
||
pName: cstring,
|
||
}
|
||
|
||
CudaLaunchInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
function: CudaFunctionNV,
|
||
gridDimX: u32,
|
||
gridDimY: u32,
|
||
gridDimZ: u32,
|
||
blockDimX: u32,
|
||
blockDimY: u32,
|
||
blockDimZ: u32,
|
||
sharedMemBytes: u32,
|
||
paramCount: int,
|
||
pParams: [^]rawptr,
|
||
extraCount: int,
|
||
pExtras: [^]rawptr,
|
||
}
|
||
|
||
PhysicalDeviceCudaKernelLaunchFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cudaKernelLaunchFeatures: b32,
|
||
}
|
||
|
||
PhysicalDeviceCudaKernelLaunchPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
computeCapabilityMinor: u32,
|
||
computeCapabilityMajor: u32,
|
||
}
|
||
|
||
QueryLowLatencySupportNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pQueriedLowLatencyData: rawptr,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorBufferPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
combinedImageSamplerDescriptorSingleArray: b32,
|
||
bufferlessPushDescriptors: b32,
|
||
allowSamplerImageViewPostSubmitCreation: b32,
|
||
descriptorBufferOffsetAlignment: DeviceSize,
|
||
maxDescriptorBufferBindings: u32,
|
||
maxResourceDescriptorBufferBindings: u32,
|
||
maxSamplerDescriptorBufferBindings: u32,
|
||
maxEmbeddedImmutableSamplerBindings: u32,
|
||
maxEmbeddedImmutableSamplers: u32,
|
||
bufferCaptureReplayDescriptorDataSize: int,
|
||
imageCaptureReplayDescriptorDataSize: int,
|
||
imageViewCaptureReplayDescriptorDataSize: int,
|
||
samplerCaptureReplayDescriptorDataSize: int,
|
||
accelerationStructureCaptureReplayDescriptorDataSize: int,
|
||
samplerDescriptorSize: int,
|
||
combinedImageSamplerDescriptorSize: int,
|
||
sampledImageDescriptorSize: int,
|
||
storageImageDescriptorSize: int,
|
||
uniformTexelBufferDescriptorSize: int,
|
||
robustUniformTexelBufferDescriptorSize: int,
|
||
storageTexelBufferDescriptorSize: int,
|
||
robustStorageTexelBufferDescriptorSize: int,
|
||
uniformBufferDescriptorSize: int,
|
||
robustUniformBufferDescriptorSize: int,
|
||
storageBufferDescriptorSize: int,
|
||
robustStorageBufferDescriptorSize: int,
|
||
inputAttachmentDescriptorSize: int,
|
||
accelerationStructureDescriptorSize: int,
|
||
maxSamplerDescriptorBufferRange: DeviceSize,
|
||
maxResourceDescriptorBufferRange: DeviceSize,
|
||
samplerDescriptorBufferAddressSpaceSize: DeviceSize,
|
||
resourceDescriptorBufferAddressSpaceSize: DeviceSize,
|
||
descriptorBufferAddressSpaceSize: DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
combinedImageSamplerDensityMapDescriptorSize: int,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorBufferFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorBuffer: b32,
|
||
descriptorBufferCaptureReplay: b32,
|
||
descriptorBufferImageLayoutIgnored: b32,
|
||
descriptorBufferPushDescriptors: b32,
|
||
}
|
||
|
||
DescriptorAddressInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
address: DeviceAddress,
|
||
range: DeviceSize,
|
||
format: Format,
|
||
}
|
||
|
||
DescriptorBufferBindingInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
address: DeviceAddress,
|
||
usage: BufferUsageFlags,
|
||
}
|
||
|
||
DescriptorBufferBindingPushDescriptorBufferHandleEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
DescriptorDataEXT :: struct #raw_union {
|
||
pSampler: ^Sampler,
|
||
pCombinedImageSampler: ^DescriptorImageInfo,
|
||
pInputAttachmentImage: ^DescriptorImageInfo,
|
||
pSampledImage: ^DescriptorImageInfo,
|
||
pStorageImage: ^DescriptorImageInfo,
|
||
pUniformTexelBuffer: ^DescriptorAddressInfoEXT,
|
||
pStorageTexelBuffer: ^DescriptorAddressInfoEXT,
|
||
pUniformBuffer: ^DescriptorAddressInfoEXT,
|
||
pStorageBuffer: ^DescriptorAddressInfoEXT,
|
||
accelerationStructure: DeviceAddress,
|
||
}
|
||
|
||
DescriptorGetInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: DescriptorType,
|
||
data: DescriptorDataEXT,
|
||
}
|
||
|
||
BufferCaptureDescriptorDataInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
buffer: Buffer,
|
||
}
|
||
|
||
ImageCaptureDescriptorDataInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
}
|
||
|
||
ImageViewCaptureDescriptorDataInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageView: ImageView,
|
||
}
|
||
|
||
SamplerCaptureDescriptorDataInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sampler: Sampler,
|
||
}
|
||
|
||
OpaqueCaptureDescriptorDataCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
opaqueCaptureDescriptorData: rawptr,
|
||
}
|
||
|
||
AccelerationStructureCaptureDescriptorDataInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructure: AccelerationStructureKHR,
|
||
accelerationStructureNV: AccelerationStructureNV,
|
||
}
|
||
|
||
PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
graphicsPipelineLibrary: b32,
|
||
}
|
||
|
||
PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
graphicsPipelineLibraryFastLinking: b32,
|
||
graphicsPipelineLibraryIndependentInterpolationDecoration: b32,
|
||
}
|
||
|
||
GraphicsPipelineLibraryCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: GraphicsPipelineLibraryFlagsEXT,
|
||
}
|
||
|
||
PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderEarlyAndLateFragmentTests: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentShadingRateEnums: b32,
|
||
supersampleFragmentShadingRates: b32,
|
||
noInvocationFragmentShadingRates: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxFragmentShadingRateInvocationCount: SampleCountFlags,
|
||
}
|
||
|
||
PipelineFragmentShadingRateEnumStateCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shadingRateType: FragmentShadingRateTypeNV,
|
||
shadingRate: FragmentShadingRateNV,
|
||
combinerOps: [2]FragmentShadingRateCombinerOpKHR,
|
||
}
|
||
|
||
DeviceOrHostAddressConstKHR :: struct #raw_union {
|
||
deviceAddress: DeviceAddress,
|
||
hostAddress: rawptr,
|
||
}
|
||
|
||
AccelerationStructureGeometryMotionTrianglesDataNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexData: DeviceOrHostAddressConstKHR,
|
||
}
|
||
|
||
AccelerationStructureMotionInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxInstances: u32,
|
||
flags: AccelerationStructureMotionInfoFlagsNV,
|
||
}
|
||
|
||
AccelerationStructureMatrixMotionInstanceNV :: struct {
|
||
transformT0: TransformMatrixKHR,
|
||
transformT1: TransformMatrixKHR,
|
||
using _: bit_field u32 {
|
||
instanceCustomIndex: u32 | 24,
|
||
mask: u32 | 8,
|
||
},
|
||
using _: bit_field u32 {
|
||
instanceShaderBindingTableRecordOffset: u32 | 24,
|
||
flags: GeometryInstanceFlagKHR | 8,
|
||
},
|
||
accelerationStructureReference: u64,
|
||
}
|
||
|
||
SRTDataNV :: struct {
|
||
sx: f32,
|
||
a: f32,
|
||
b: f32,
|
||
pvx: f32,
|
||
sy: f32,
|
||
c: f32,
|
||
pvy: f32,
|
||
sz: f32,
|
||
pvz: f32,
|
||
qx: f32,
|
||
qy: f32,
|
||
qz: f32,
|
||
qw: f32,
|
||
tx: f32,
|
||
ty: f32,
|
||
tz: f32,
|
||
}
|
||
|
||
AccelerationStructureSRTMotionInstanceNV :: struct {
|
||
transformT0: SRTDataNV,
|
||
transformT1: SRTDataNV,
|
||
using _: bit_field u32 {
|
||
instanceCustomIndex: u32 | 24,
|
||
mask: u32 | 8,
|
||
},
|
||
using _: bit_field u32 {
|
||
instanceShaderBindingTableRecordOffset: u32 | 24,
|
||
flags: GeometryInstanceFlagKHR | 8,
|
||
},
|
||
accelerationStructureReference: u64,
|
||
}
|
||
|
||
AccelerationStructureMotionInstanceDataNV :: struct #raw_union {
|
||
staticInstance: AccelerationStructureInstanceKHR,
|
||
matrixMotionInstance: AccelerationStructureMatrixMotionInstanceNV,
|
||
srtMotionInstance: AccelerationStructureSRTMotionInstanceNV,
|
||
}
|
||
|
||
AccelerationStructureMotionInstanceNV :: struct {
|
||
type: AccelerationStructureMotionInstanceTypeNV,
|
||
flags: AccelerationStructureMotionInstanceFlagsNV,
|
||
data: AccelerationStructureMotionInstanceDataNV,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingMotionBlurFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingMotionBlur: b32,
|
||
rayTracingMotionBlurPipelineTraceRaysIndirect: b32,
|
||
}
|
||
|
||
PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
ycbcr2plane444Formats: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMap2FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityMapDeferred: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMap2PropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subsampledLoads: b32,
|
||
subsampledCoarseReconstructionEarlyAccess: b32,
|
||
maxSubsampledArrayLayers: u32,
|
||
maxDescriptorSetSubsampledSamplers: u32,
|
||
}
|
||
|
||
CopyCommandTransformInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
transform: SurfaceTransformFlagsKHR,
|
||
}
|
||
|
||
PhysicalDeviceImageCompressionControlFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageCompressionControl: b32,
|
||
}
|
||
|
||
ImageCompressionControlEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ImageCompressionFlagsEXT,
|
||
compressionControlPlaneCount: u32,
|
||
pFixedRateFlags: [^]ImageCompressionFixedRateFlagsEXT,
|
||
}
|
||
|
||
ImageCompressionPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageCompressionFlags: ImageCompressionFlagsEXT,
|
||
imageCompressionFixedRateFlags: ImageCompressionFixedRateFlagsEXT,
|
||
}
|
||
|
||
PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentFeedbackLoopLayout: b32,
|
||
}
|
||
|
||
PhysicalDevice4444FormatsFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
formatA4R4G4B4: b32,
|
||
formatA4B4G4R4: b32,
|
||
}
|
||
|
||
PhysicalDeviceFaultFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceFault: b32,
|
||
deviceFaultVendorBinary: b32,
|
||
}
|
||
|
||
DeviceFaultCountsEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
addressInfoCount: u32,
|
||
vendorInfoCount: u32,
|
||
vendorBinarySize: DeviceSize,
|
||
}
|
||
|
||
DeviceFaultAddressInfoEXT :: struct {
|
||
addressType: DeviceFaultAddressTypeEXT,
|
||
reportedAddress: DeviceAddress,
|
||
addressPrecision: DeviceSize,
|
||
}
|
||
|
||
DeviceFaultVendorInfoEXT :: struct {
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
vendorFaultCode: u64,
|
||
vendorFaultData: u64,
|
||
}
|
||
|
||
DeviceFaultInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
pAddressInfos: [^]DeviceFaultAddressInfoEXT,
|
||
pVendorInfos: [^]DeviceFaultVendorInfoEXT,
|
||
pVendorBinaryData: rawptr,
|
||
}
|
||
|
||
DeviceFaultVendorBinaryHeaderVersionOneEXT :: struct {
|
||
headerSize: u32,
|
||
headerVersion: DeviceFaultVendorBinaryHeaderVersionEXT,
|
||
vendorID: u32,
|
||
deviceID: u32,
|
||
driverVersion: u32,
|
||
pipelineCacheUUID: [UUID_SIZE]u8,
|
||
applicationNameOffset: u32,
|
||
applicationVersion: u32,
|
||
engineNameOffset: u32,
|
||
engineVersion: u32,
|
||
apiVersion: u32,
|
||
}
|
||
|
||
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rasterizationOrderColorAttachmentAccess: b32,
|
||
rasterizationOrderDepthAttachmentAccess: b32,
|
||
rasterizationOrderStencilAttachmentAccess: b32,
|
||
}
|
||
|
||
PhysicalDeviceRGBA10X6FormatsFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
formatRgba10x6WithoutYCbCrSampler: b32,
|
||
}
|
||
|
||
PhysicalDeviceMutableDescriptorTypeFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mutableDescriptorType: b32,
|
||
}
|
||
|
||
MutableDescriptorTypeListEXT :: struct {
|
||
descriptorTypeCount: u32,
|
||
pDescriptorTypes: [^]DescriptorType,
|
||
}
|
||
|
||
MutableDescriptorTypeCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mutableDescriptorTypeListCount: u32,
|
||
pMutableDescriptorTypeLists: [^]MutableDescriptorTypeListEXT,
|
||
}
|
||
|
||
PhysicalDeviceVertexInputDynamicStateFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexInputDynamicState: b32,
|
||
}
|
||
|
||
VertexInputBindingDescription2EXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
binding: u32,
|
||
stride: u32,
|
||
inputRate: VertexInputRate,
|
||
divisor: u32,
|
||
}
|
||
|
||
VertexInputAttributeDescription2EXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
location: u32,
|
||
binding: u32,
|
||
format: Format,
|
||
offset: u32,
|
||
}
|
||
|
||
PhysicalDeviceDrmPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hasPrimary: b32,
|
||
hasRender: b32,
|
||
primaryMajor: i64,
|
||
primaryMinor: i64,
|
||
renderMajor: i64,
|
||
renderMinor: i64,
|
||
}
|
||
|
||
PhysicalDeviceAddressBindingReportFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
reportAddressBinding: b32,
|
||
}
|
||
|
||
DeviceAddressBindingCallbackDataEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DeviceAddressBindingFlagsEXT,
|
||
baseAddress: DeviceAddress,
|
||
size: DeviceSize,
|
||
bindingType: DeviceAddressBindingTypeEXT,
|
||
}
|
||
|
||
PhysicalDeviceDepthClipControlFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthClipControl: b32,
|
||
}
|
||
|
||
PipelineViewportDepthClipControlCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
negativeOneToOne: b32,
|
||
}
|
||
|
||
PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
primitiveTopologyListRestart: b32,
|
||
primitiveTopologyPatchListRestart: b32,
|
||
}
|
||
|
||
PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentModeFifoLatestReady: b32,
|
||
}
|
||
|
||
SubpassShadingPipelineCreateInfoHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
renderPass: RenderPass,
|
||
subpass: u32,
|
||
}
|
||
|
||
PhysicalDeviceSubpassShadingFeaturesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subpassShading: b32,
|
||
}
|
||
|
||
PhysicalDeviceSubpassShadingPropertiesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxSubpassShadingWorkgroupSizeAspectRatio: u32,
|
||
}
|
||
|
||
PhysicalDeviceInvocationMaskFeaturesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
invocationMask: b32,
|
||
}
|
||
|
||
MemoryGetRemoteAddressInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
PhysicalDeviceExternalMemoryRDMAFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
externalMemoryRDMA: b32,
|
||
}
|
||
|
||
PipelinePropertiesIdentifierEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineIdentifier: [UUID_SIZE]u8,
|
||
}
|
||
|
||
PhysicalDevicePipelinePropertiesFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelinePropertiesIdentifier: b32,
|
||
}
|
||
|
||
PhysicalDeviceFrameBoundaryFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
frameBoundary: b32,
|
||
}
|
||
|
||
FrameBoundaryEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: FrameBoundaryFlagsEXT,
|
||
frameID: u64,
|
||
imageCount: u32,
|
||
pImages: [^]Image,
|
||
bufferCount: u32,
|
||
pBuffers: [^]Buffer,
|
||
tagName: u64,
|
||
tagSize: int,
|
||
pTag: rawptr,
|
||
}
|
||
|
||
PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multisampledRenderToSingleSampled: b32,
|
||
}
|
||
|
||
SubpassResolvePerformanceQueryEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
optimal: b32,
|
||
}
|
||
|
||
MultisampledRenderToSingleSampledInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multisampledRenderToSingleSampledEnable: b32,
|
||
rasterizationSamples: SampleCountFlags,
|
||
}
|
||
|
||
PhysicalDeviceExtendedDynamicState2FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
extendedDynamicState2: b32,
|
||
extendedDynamicState2LogicOp: b32,
|
||
extendedDynamicState2PatchControlPoints: b32,
|
||
}
|
||
|
||
PhysicalDeviceColorWriteEnableFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
colorWriteEnable: b32,
|
||
}
|
||
|
||
PipelineColorWriteCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentCount: u32,
|
||
pColorWriteEnables: [^]b32,
|
||
}
|
||
|
||
PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
primitivesGeneratedQuery: b32,
|
||
primitivesGeneratedQueryWithRasterizerDiscard: b32,
|
||
primitivesGeneratedQueryWithNonZeroStreams: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageViewMinLodFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minLod: b32,
|
||
}
|
||
|
||
ImageViewMinLodCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minLod: f32,
|
||
}
|
||
|
||
PhysicalDeviceMultiDrawFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multiDraw: b32,
|
||
}
|
||
|
||
PhysicalDeviceMultiDrawPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxMultiDrawCount: u32,
|
||
}
|
||
|
||
MultiDrawInfoEXT :: struct {
|
||
firstVertex: u32,
|
||
vertexCount: u32,
|
||
}
|
||
|
||
MultiDrawIndexedInfoEXT :: struct {
|
||
firstIndex: u32,
|
||
indexCount: u32,
|
||
vertexOffset: i32,
|
||
}
|
||
|
||
PhysicalDeviceImage2DViewOf3DFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image2DViewOf3D: b32,
|
||
sampler2DViewOf3D: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderTileImageFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderTileImageColorReadAccess: b32,
|
||
shaderTileImageDepthReadAccess: b32,
|
||
shaderTileImageStencilReadAccess: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderTileImagePropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderTileImageCoherentReadAccelerated: b32,
|
||
shaderTileImageReadSampleFromPixelRateInvocation: b32,
|
||
shaderTileImageReadFromHelperInvocation: b32,
|
||
}
|
||
|
||
MicromapUsageEXT :: struct {
|
||
count: u32,
|
||
subdivisionLevel: u32,
|
||
format: u32,
|
||
}
|
||
|
||
DeviceOrHostAddressKHR :: struct #raw_union {
|
||
deviceAddress: DeviceAddress,
|
||
hostAddress: rawptr,
|
||
}
|
||
|
||
MicromapBuildInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: MicromapTypeEXT,
|
||
flags: BuildMicromapFlagsEXT,
|
||
mode: BuildMicromapModeEXT,
|
||
dstMicromap: MicromapEXT,
|
||
usageCountsCount: u32,
|
||
pUsageCounts: [^]MicromapUsageEXT,
|
||
ppUsageCounts: ^[^]MicromapUsageEXT,
|
||
data: DeviceOrHostAddressConstKHR,
|
||
scratchData: DeviceOrHostAddressKHR,
|
||
triangleArray: DeviceOrHostAddressConstKHR,
|
||
triangleArrayStride: DeviceSize,
|
||
}
|
||
|
||
MicromapCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
createFlags: MicromapCreateFlagsEXT,
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
type: MicromapTypeEXT,
|
||
deviceAddress: DeviceAddress,
|
||
}
|
||
|
||
PhysicalDeviceOpacityMicromapFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
micromap: b32,
|
||
micromapCaptureReplay: b32,
|
||
micromapHostCommands: b32,
|
||
}
|
||
|
||
PhysicalDeviceOpacityMicromapPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxOpacity2StateSubdivisionLevel: u32,
|
||
maxOpacity4StateSubdivisionLevel: u32,
|
||
}
|
||
|
||
MicromapVersionInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pVersionData: ^u8,
|
||
}
|
||
|
||
CopyMicromapToMemoryInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: MicromapEXT,
|
||
dst: DeviceOrHostAddressKHR,
|
||
mode: CopyMicromapModeEXT,
|
||
}
|
||
|
||
CopyMemoryToMicromapInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: DeviceOrHostAddressConstKHR,
|
||
dst: MicromapEXT,
|
||
mode: CopyMicromapModeEXT,
|
||
}
|
||
|
||
CopyMicromapInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: MicromapEXT,
|
||
dst: MicromapEXT,
|
||
mode: CopyMicromapModeEXT,
|
||
}
|
||
|
||
MicromapBuildSizesInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
micromapSize: DeviceSize,
|
||
buildScratchSize: DeviceSize,
|
||
discardable: b32,
|
||
}
|
||
|
||
AccelerationStructureTrianglesOpacityMicromapEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
indexType: IndexType,
|
||
indexBuffer: DeviceOrHostAddressConstKHR,
|
||
indexStride: DeviceSize,
|
||
baseTriangle: u32,
|
||
usageCountsCount: u32,
|
||
pUsageCounts: [^]MicromapUsageEXT,
|
||
ppUsageCounts: ^[^]MicromapUsageEXT,
|
||
micromap: MicromapEXT,
|
||
}
|
||
|
||
MicromapTriangleEXT :: struct {
|
||
dataOffset: u32,
|
||
subdivisionLevel: u16,
|
||
format: u16,
|
||
}
|
||
|
||
PhysicalDeviceClusterCullingShaderFeaturesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
clustercullingShader: b32,
|
||
multiviewClusterCullingShader: b32,
|
||
}
|
||
|
||
PhysicalDeviceClusterCullingShaderPropertiesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxWorkGroupCount: [3]u32,
|
||
maxWorkGroupSize: [3]u32,
|
||
maxOutputClusterCount: u32,
|
||
indirectBufferOffsetAlignment: DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
clusterShadingRate: b32,
|
||
}
|
||
|
||
PhysicalDeviceBorderColorSwizzleFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
borderColorSwizzle: b32,
|
||
borderColorSwizzleFromImage: b32,
|
||
}
|
||
|
||
SamplerBorderColorComponentMappingCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
components: ComponentMapping,
|
||
srgb: b32,
|
||
}
|
||
|
||
PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pageableDeviceLocalMemory: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderCorePropertiesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pixelRate: u32,
|
||
texelRate: u32,
|
||
fmaRate: u32,
|
||
}
|
||
|
||
DeviceQueueShaderCoreControlCreateInfoARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCoreCount: u32,
|
||
}
|
||
|
||
PhysicalDeviceSchedulingControlsFeaturesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
schedulingControls: b32,
|
||
}
|
||
|
||
PhysicalDeviceSchedulingControlsPropertiesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
schedulingControlsFlags: PhysicalDeviceSchedulingControlsFlagsARM,
|
||
}
|
||
|
||
PhysicalDeviceImageSlicedViewOf3DFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageSlicedViewOf3D: b32,
|
||
}
|
||
|
||
ImageViewSlicedCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
sliceOffset: u32,
|
||
sliceCount: u32,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorSetHostMapping: b32,
|
||
}
|
||
|
||
DescriptorSetBindingReferenceVALVE :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorSetLayout: DescriptorSetLayout,
|
||
binding: u32,
|
||
}
|
||
|
||
DescriptorSetLayoutHostMappingInfoVALVE :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorOffset: int,
|
||
descriptorSize: u32,
|
||
}
|
||
|
||
PhysicalDeviceNonSeamlessCubeMapFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
nonSeamlessCubeMap: b32,
|
||
}
|
||
|
||
PhysicalDeviceRenderPassStripedFeaturesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
renderPassStriped: b32,
|
||
}
|
||
|
||
PhysicalDeviceRenderPassStripedPropertiesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
renderPassStripeGranularity: Extent2D,
|
||
maxRenderPassStripes: u32,
|
||
}
|
||
|
||
RenderPassStripeInfoARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stripeArea: Rect2D,
|
||
}
|
||
|
||
RenderPassStripeBeginInfoARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stripeInfoCount: u32,
|
||
pStripeInfos: [^]RenderPassStripeInfoARM,
|
||
}
|
||
|
||
RenderPassStripeSubmitInfoARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stripeSemaphoreInfoCount: u32,
|
||
pStripeSemaphoreInfos: [^]SemaphoreSubmitInfo,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityMapOffset: b32,
|
||
}
|
||
|
||
PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityOffsetGranularity: Extent2D,
|
||
}
|
||
|
||
SubpassFragmentDensityMapOffsetEndInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fragmentDensityOffsetCount: u32,
|
||
pFragmentDensityOffsets: [^]Offset2D,
|
||
}
|
||
|
||
CopyMemoryIndirectCommandNV :: struct {
|
||
srcAddress: DeviceAddress,
|
||
dstAddress: DeviceAddress,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
CopyMemoryToImageIndirectCommandNV :: struct {
|
||
srcAddress: DeviceAddress,
|
||
bufferRowLength: u32,
|
||
bufferImageHeight: u32,
|
||
imageSubresource: ImageSubresourceLayers,
|
||
imageOffset: Offset3D,
|
||
imageExtent: Extent3D,
|
||
}
|
||
|
||
PhysicalDeviceCopyMemoryIndirectFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
indirectCopy: b32,
|
||
}
|
||
|
||
PhysicalDeviceCopyMemoryIndirectPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportedQueues: QueueFlags,
|
||
}
|
||
|
||
DecompressMemoryRegionNV :: struct {
|
||
srcAddress: DeviceAddress,
|
||
dstAddress: DeviceAddress,
|
||
compressedSize: DeviceSize,
|
||
decompressedSize: DeviceSize,
|
||
decompressionMethod: MemoryDecompressionMethodFlagsNV,
|
||
}
|
||
|
||
PhysicalDeviceMemoryDecompressionFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryDecompression: b32,
|
||
}
|
||
|
||
PhysicalDeviceMemoryDecompressionPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
decompressionMethods: MemoryDecompressionMethodFlagsNV,
|
||
maxDecompressionIndirectCount: u64,
|
||
}
|
||
|
||
PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceGeneratedCompute: b32,
|
||
deviceGeneratedComputePipelines: b32,
|
||
deviceGeneratedComputeCaptureReplay: b32,
|
||
}
|
||
|
||
ComputePipelineIndirectBufferInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceAddress: DeviceAddress,
|
||
size: DeviceSize,
|
||
pipelineDeviceAddressCaptureReplay: DeviceAddress,
|
||
}
|
||
|
||
PipelineIndirectDeviceAddressInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineBindPoint: PipelineBindPoint,
|
||
pipeline: Pipeline,
|
||
}
|
||
|
||
BindPipelineIndirectCommandNV :: struct {
|
||
pipelineAddress: DeviceAddress,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
spheres: b32,
|
||
linearSweptSpheres: b32,
|
||
}
|
||
|
||
AccelerationStructureGeometryLinearSweptSpheresDataNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexFormat: Format,
|
||
vertexData: DeviceOrHostAddressConstKHR,
|
||
vertexStride: DeviceSize,
|
||
radiusFormat: Format,
|
||
radiusData: DeviceOrHostAddressConstKHR,
|
||
radiusStride: DeviceSize,
|
||
indexType: IndexType,
|
||
indexData: DeviceOrHostAddressConstKHR,
|
||
indexStride: DeviceSize,
|
||
indexingMode: RayTracingLssIndexingModeNV,
|
||
endCapsMode: RayTracingLssPrimitiveEndCapsModeNV,
|
||
}
|
||
|
||
AccelerationStructureGeometrySpheresDataNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexFormat: Format,
|
||
vertexData: DeviceOrHostAddressConstKHR,
|
||
vertexStride: DeviceSize,
|
||
radiusFormat: Format,
|
||
radiusData: DeviceOrHostAddressConstKHR,
|
||
radiusStride: DeviceSize,
|
||
indexType: IndexType,
|
||
indexData: DeviceOrHostAddressConstKHR,
|
||
indexStride: DeviceSize,
|
||
}
|
||
|
||
PhysicalDeviceLinearColorAttachmentFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
linearColorAttachment: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageCompressionControlSwapchain: b32,
|
||
}
|
||
|
||
ImageViewSampleWeightCreateInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
filterCenter: Offset2D,
|
||
filterSize: Extent2D,
|
||
numPhases: u32,
|
||
}
|
||
|
||
PhysicalDeviceImageProcessingFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
textureSampleWeighted: b32,
|
||
textureBoxFilter: b32,
|
||
textureBlockMatch: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageProcessingPropertiesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxWeightFilterPhases: u32,
|
||
maxWeightFilterDimension: Extent2D,
|
||
maxBlockMatchRegion: Extent2D,
|
||
maxBoxFilterBlockSize: Extent2D,
|
||
}
|
||
|
||
PhysicalDeviceNestedCommandBufferFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
nestedCommandBuffer: b32,
|
||
nestedCommandBufferRendering: b32,
|
||
nestedCommandBufferSimultaneousUse: b32,
|
||
}
|
||
|
||
PhysicalDeviceNestedCommandBufferPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxCommandBufferNestingLevel: u32,
|
||
}
|
||
|
||
ExternalMemoryAcquireUnmodifiedEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
acquireUnmodifiedMemory: b32,
|
||
}
|
||
|
||
PhysicalDeviceExtendedDynamicState3FeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
extendedDynamicState3TessellationDomainOrigin: b32,
|
||
extendedDynamicState3DepthClampEnable: b32,
|
||
extendedDynamicState3PolygonMode: b32,
|
||
extendedDynamicState3RasterizationSamples: b32,
|
||
extendedDynamicState3SampleMask: b32,
|
||
extendedDynamicState3AlphaToCoverageEnable: b32,
|
||
extendedDynamicState3AlphaToOneEnable: b32,
|
||
extendedDynamicState3LogicOpEnable: b32,
|
||
extendedDynamicState3ColorBlendEnable: b32,
|
||
extendedDynamicState3ColorBlendEquation: b32,
|
||
extendedDynamicState3ColorWriteMask: b32,
|
||
extendedDynamicState3RasterizationStream: b32,
|
||
extendedDynamicState3ConservativeRasterizationMode: b32,
|
||
extendedDynamicState3ExtraPrimitiveOverestimationSize: b32,
|
||
extendedDynamicState3DepthClipEnable: b32,
|
||
extendedDynamicState3SampleLocationsEnable: b32,
|
||
extendedDynamicState3ColorBlendAdvanced: b32,
|
||
extendedDynamicState3ProvokingVertexMode: b32,
|
||
extendedDynamicState3LineRasterizationMode: b32,
|
||
extendedDynamicState3LineStippleEnable: b32,
|
||
extendedDynamicState3DepthClipNegativeOneToOne: b32,
|
||
extendedDynamicState3ViewportWScalingEnable: b32,
|
||
extendedDynamicState3ViewportSwizzle: b32,
|
||
extendedDynamicState3CoverageToColorEnable: b32,
|
||
extendedDynamicState3CoverageToColorLocation: b32,
|
||
extendedDynamicState3CoverageModulationMode: b32,
|
||
extendedDynamicState3CoverageModulationTableEnable: b32,
|
||
extendedDynamicState3CoverageModulationTable: b32,
|
||
extendedDynamicState3CoverageReductionMode: b32,
|
||
extendedDynamicState3RepresentativeFragmentTestEnable: b32,
|
||
extendedDynamicState3ShadingRateImageEnable: b32,
|
||
}
|
||
|
||
PhysicalDeviceExtendedDynamicState3PropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dynamicPrimitiveTopologyUnrestricted: b32,
|
||
}
|
||
|
||
ColorBlendEquationEXT :: struct {
|
||
srcColorBlendFactor: BlendFactor,
|
||
dstColorBlendFactor: BlendFactor,
|
||
colorBlendOp: BlendOp,
|
||
srcAlphaBlendFactor: BlendFactor,
|
||
dstAlphaBlendFactor: BlendFactor,
|
||
alphaBlendOp: BlendOp,
|
||
}
|
||
|
||
ColorBlendAdvancedEXT :: struct {
|
||
advancedBlendOp: BlendOp,
|
||
srcPremultiplied: b32,
|
||
dstPremultiplied: b32,
|
||
blendOverlap: BlendOverlapEXT,
|
||
clampResults: b32,
|
||
}
|
||
|
||
PhysicalDeviceSubpassMergeFeedbackFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
subpassMergeFeedback: b32,
|
||
}
|
||
|
||
RenderPassCreationControlEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
disallowMerging: b32,
|
||
}
|
||
|
||
RenderPassCreationFeedbackInfoEXT :: struct {
|
||
postMergeSubpassCount: u32,
|
||
}
|
||
|
||
RenderPassCreationFeedbackCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pRenderPassFeedback: ^RenderPassCreationFeedbackInfoEXT,
|
||
}
|
||
|
||
RenderPassSubpassFeedbackInfoEXT :: struct {
|
||
subpassMergeStatus: SubpassMergeStatusEXT,
|
||
description: [MAX_DESCRIPTION_SIZE]byte,
|
||
postMergeIndex: u32,
|
||
}
|
||
|
||
RenderPassSubpassFeedbackCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pSubpassFeedback: ^RenderPassSubpassFeedbackInfoEXT,
|
||
}
|
||
|
||
DirectDriverLoadingInfoLUNARG :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: DirectDriverLoadingFlagsLUNARG,
|
||
pfnGetInstanceProcAddr: ProcGetInstanceProcAddrLUNARG,
|
||
}
|
||
|
||
DirectDriverLoadingListLUNARG :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mode: DirectDriverLoadingModeLUNARG,
|
||
driverCount: u32,
|
||
pDrivers: [^]DirectDriverLoadingInfoLUNARG,
|
||
}
|
||
|
||
PhysicalDeviceShaderModuleIdentifierFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderModuleIdentifier: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderModuleIdentifierPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderModuleIdentifierAlgorithmUUID: [UUID_SIZE]u8,
|
||
}
|
||
|
||
PipelineShaderStageModuleIdentifierCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
identifierSize: u32,
|
||
pIdentifier: ^u8,
|
||
}
|
||
|
||
ShaderModuleIdentifierEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
identifierSize: u32,
|
||
identifier: [MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]u8,
|
||
}
|
||
|
||
PhysicalDeviceOpticalFlowFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
opticalFlow: b32,
|
||
}
|
||
|
||
PhysicalDeviceOpticalFlowPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportedOutputGridSizes: OpticalFlowGridSizeFlagsNV,
|
||
supportedHintGridSizes: OpticalFlowGridSizeFlagsNV,
|
||
hintSupported: b32,
|
||
costSupported: b32,
|
||
bidirectionalFlowSupported: b32,
|
||
globalFlowSupported: b32,
|
||
minWidth: u32,
|
||
minHeight: u32,
|
||
maxWidth: u32,
|
||
maxHeight: u32,
|
||
maxNumRegionsOfInterest: u32,
|
||
}
|
||
|
||
OpticalFlowImageFormatInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
usage: OpticalFlowUsageFlagsNV,
|
||
}
|
||
|
||
OpticalFlowImageFormatPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
format: Format,
|
||
}
|
||
|
||
OpticalFlowSessionCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
width: u32,
|
||
height: u32,
|
||
imageFormat: Format,
|
||
flowVectorFormat: Format,
|
||
costFormat: Format,
|
||
outputGridSize: OpticalFlowGridSizeFlagsNV,
|
||
hintGridSize: OpticalFlowGridSizeFlagsNV,
|
||
performanceLevel: OpticalFlowPerformanceLevelNV,
|
||
flags: OpticalFlowSessionCreateFlagsNV,
|
||
}
|
||
|
||
OpticalFlowSessionCreatePrivateDataInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
id: u32,
|
||
size: u32,
|
||
pPrivateData: rawptr,
|
||
}
|
||
|
||
OpticalFlowExecuteInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: OpticalFlowExecuteFlagsNV,
|
||
regionCount: u32,
|
||
pRegions: [^]Rect2D,
|
||
}
|
||
|
||
PhysicalDeviceLegacyDitheringFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
legacyDithering: b32,
|
||
}
|
||
|
||
PhysicalDeviceAntiLagFeaturesAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
antiLag: b32,
|
||
}
|
||
|
||
AntiLagPresentationInfoAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stage: AntiLagStageAMD,
|
||
frameIndex: u64,
|
||
}
|
||
|
||
AntiLagDataAMD :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mode: AntiLagModeAMD,
|
||
maxFPS: u32,
|
||
pPresentationInfo: ^AntiLagPresentationInfoAMD,
|
||
}
|
||
|
||
PhysicalDeviceShaderObjectFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderObject: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderObjectPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderBinaryUUID: [UUID_SIZE]u8,
|
||
shaderBinaryVersion: u32,
|
||
}
|
||
|
||
ShaderCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: ShaderCreateFlagsEXT,
|
||
stage: ShaderStageFlags,
|
||
nextStage: ShaderStageFlags,
|
||
codeType: ShaderCodeTypeEXT,
|
||
codeSize: int,
|
||
pCode: rawptr,
|
||
pName: cstring,
|
||
setLayoutCount: u32,
|
||
pSetLayouts: [^]DescriptorSetLayout,
|
||
pushConstantRangeCount: u32,
|
||
pPushConstantRanges: [^]PushConstantRange,
|
||
pSpecializationInfo: ^SpecializationInfo,
|
||
}
|
||
|
||
DepthClampRangeEXT :: struct {
|
||
minDepthClamp: f32,
|
||
maxDepthClamp: f32,
|
||
}
|
||
|
||
PhysicalDeviceTilePropertiesFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
tileProperties: b32,
|
||
}
|
||
|
||
TilePropertiesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
tileSize: Extent3D,
|
||
apronSize: Extent2D,
|
||
origin: Offset2D,
|
||
}
|
||
|
||
PhysicalDeviceAmigoProfilingFeaturesSEC :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
amigoProfiling: b32,
|
||
}
|
||
|
||
AmigoProfilingSubmitInfoSEC :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
firstDrawTimestamp: u64,
|
||
swapBufferTimestamp: u64,
|
||
}
|
||
|
||
PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multiviewPerViewViewports: b32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingInvocationReorderPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingInvocationReorderReorderingHint: RayTracingInvocationReorderModeNV,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingInvocationReorderFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingInvocationReorder: b32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeVectorPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeVectorSupportedStages: ShaderStageFlags,
|
||
cooperativeVectorTrainingFloat16Accumulation: b32,
|
||
cooperativeVectorTrainingFloat32Accumulation: b32,
|
||
maxCooperativeVectorComponents: u32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeVectorFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeVector: b32,
|
||
cooperativeVectorTraining: b32,
|
||
}
|
||
|
||
CooperativeVectorPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
inputType: ComponentTypeKHR,
|
||
inputInterpretation: ComponentTypeKHR,
|
||
matrixInterpretation: ComponentTypeKHR,
|
||
biasInterpretation: ComponentTypeKHR,
|
||
resultType: ComponentTypeKHR,
|
||
transpose: b32,
|
||
}
|
||
|
||
ConvertCooperativeVectorMatrixInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
srcSize: int,
|
||
srcData: DeviceOrHostAddressConstKHR,
|
||
pDstSize: ^int,
|
||
dstData: DeviceOrHostAddressKHR,
|
||
srcComponentType: ComponentTypeKHR,
|
||
dstComponentType: ComponentTypeKHR,
|
||
numRows: u32,
|
||
numColumns: u32,
|
||
srcLayout: CooperativeVectorMatrixLayoutNV,
|
||
srcStride: int,
|
||
dstLayout: CooperativeVectorMatrixLayoutNV,
|
||
dstStride: int,
|
||
}
|
||
|
||
PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
extendedSparseAddressSpace: b32,
|
||
}
|
||
|
||
PhysicalDeviceExtendedSparseAddressSpacePropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
extendedSparseAddressSpaceSize: DeviceSize,
|
||
extendedSparseImageUsageFlags: ImageUsageFlags,
|
||
extendedSparseBufferUsageFlags: BufferUsageFlags,
|
||
}
|
||
|
||
PhysicalDeviceLegacyVertexAttributesFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
legacyVertexAttributes: b32,
|
||
}
|
||
|
||
PhysicalDeviceLegacyVertexAttributesPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
nativeUnalignedPerformance: b32,
|
||
}
|
||
|
||
LayerSettingEXT :: struct {
|
||
pLayerName: cstring,
|
||
pSettingName: cstring,
|
||
type: LayerSettingTypeEXT,
|
||
valueCount: u32,
|
||
pValues: rawptr,
|
||
}
|
||
|
||
LayerSettingsCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
settingCount: u32,
|
||
pSettings: [^]LayerSettingEXT,
|
||
}
|
||
|
||
PhysicalDeviceShaderCoreBuiltinsFeaturesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCoreBuiltins: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderCoreBuiltinsPropertiesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCoreMask: u64,
|
||
shaderCoreCount: u32,
|
||
shaderWarpsPerCore: u32,
|
||
}
|
||
|
||
PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineLibraryGroupHandles: b32,
|
||
}
|
||
|
||
PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dynamicRenderingUnusedAttachments: b32,
|
||
}
|
||
|
||
LatencySleepModeInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
lowLatencyMode: b32,
|
||
lowLatencyBoost: b32,
|
||
minimumIntervalUs: u32,
|
||
}
|
||
|
||
LatencySleepInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
signalSemaphore: Semaphore,
|
||
value: u64,
|
||
}
|
||
|
||
SetLatencyMarkerInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentID: u64,
|
||
marker: LatencyMarkerNV,
|
||
}
|
||
|
||
LatencyTimingsFrameReportNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentID: u64,
|
||
inputSampleTimeUs: u64,
|
||
simStartTimeUs: u64,
|
||
simEndTimeUs: u64,
|
||
renderSubmitStartTimeUs: u64,
|
||
renderSubmitEndTimeUs: u64,
|
||
presentStartTimeUs: u64,
|
||
presentEndTimeUs: u64,
|
||
driverStartTimeUs: u64,
|
||
driverEndTimeUs: u64,
|
||
osRenderQueueStartTimeUs: u64,
|
||
osRenderQueueEndTimeUs: u64,
|
||
gpuRenderStartTimeUs: u64,
|
||
gpuRenderEndTimeUs: u64,
|
||
}
|
||
|
||
GetLatencyMarkerInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
timingCount: u32,
|
||
pTimings: [^]LatencyTimingsFrameReportNV,
|
||
}
|
||
|
||
LatencySubmissionPresentIdNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentID: u64,
|
||
}
|
||
|
||
SwapchainLatencyCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
latencyModeEnable: b32,
|
||
}
|
||
|
||
OutOfBandQueueTypeInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queueType: OutOfBandQueueTypeNV,
|
||
}
|
||
|
||
LatencySurfaceCapabilitiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentModeCount: u32,
|
||
pPresentModes: [^]PresentModeKHR,
|
||
}
|
||
|
||
PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
multiviewPerViewRenderAreas: b32,
|
||
}
|
||
|
||
MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
perViewRenderAreaCount: u32,
|
||
pPerViewRenderAreas: [^]Rect2D,
|
||
}
|
||
|
||
PhysicalDevicePerStageDescriptorSetFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
perStageDescriptorSet: b32,
|
||
dynamicPipelineLayout: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageProcessing2FeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
textureBlockMatch2: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageProcessing2PropertiesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxBlockMatchWindow: Extent2D,
|
||
}
|
||
|
||
SamplerBlockMatchWindowCreateInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
windowExtent: Extent2D,
|
||
windowCompareMode: BlockMatchWindowCompareModeQCOM,
|
||
}
|
||
|
||
PhysicalDeviceCubicWeightsFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
selectableCubicWeights: b32,
|
||
}
|
||
|
||
SamplerCubicWeightsCreateInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cubicWeights: CubicFilterWeightsQCOM,
|
||
}
|
||
|
||
BlitImageCubicWeightsInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cubicWeights: CubicFilterWeightsQCOM,
|
||
}
|
||
|
||
PhysicalDeviceYcbcrDegammaFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
ycbcrDegamma: b32,
|
||
}
|
||
|
||
SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
enableYDegamma: b32,
|
||
enableCbCrDegamma: b32,
|
||
}
|
||
|
||
PhysicalDeviceCubicClampFeaturesQCOM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cubicRangeClamp: b32,
|
||
}
|
||
|
||
PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
attachmentFeedbackLoopDynamicState: b32,
|
||
}
|
||
|
||
PhysicalDeviceLayeredDriverPropertiesMSFT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
underlyingAPI: LayeredDriverUnderlyingApiMSFT,
|
||
}
|
||
|
||
PhysicalDeviceDescriptorPoolOverallocationFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
descriptorPoolOverallocation: b32,
|
||
}
|
||
|
||
DisplaySurfaceStereoCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
stereoType: DisplaySurfaceStereoTypeNV,
|
||
}
|
||
|
||
DisplayModeStereoPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hdmi3DSupported: b32,
|
||
}
|
||
|
||
PhysicalDeviceRawAccessChainsFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderRawAccessChains: b32,
|
||
}
|
||
|
||
PhysicalDeviceCommandBufferInheritanceFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
commandBufferInheritance: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderFloat16VectorAtomics: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderReplicatedCompositesFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderReplicatedComposites: b32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingValidationFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingValidation: b32,
|
||
}
|
||
|
||
PhysicalDeviceClusterAccelerationStructureFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
clusterAccelerationStructure: b32,
|
||
}
|
||
|
||
PhysicalDeviceClusterAccelerationStructurePropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxVerticesPerCluster: u32,
|
||
maxTrianglesPerCluster: u32,
|
||
clusterScratchByteAlignment: u32,
|
||
clusterByteAlignment: u32,
|
||
clusterTemplateByteAlignment: u32,
|
||
clusterBottomLevelByteAlignment: u32,
|
||
clusterTemplateBoundsByteAlignment: u32,
|
||
maxClusterGeometryIndex: u32,
|
||
}
|
||
|
||
ClusterAccelerationStructureClustersBottomLevelInputNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxTotalClusterCount: u32,
|
||
maxClusterCountPerAccelerationStructure: u32,
|
||
}
|
||
|
||
ClusterAccelerationStructureTriangleClusterInputNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexFormat: Format,
|
||
maxGeometryIndexValue: u32,
|
||
maxClusterUniqueGeometryCount: u32,
|
||
maxClusterTriangleCount: u32,
|
||
maxClusterVertexCount: u32,
|
||
maxTotalTriangleCount: u32,
|
||
maxTotalVertexCount: u32,
|
||
minPositionTruncateBitCount: u32,
|
||
}
|
||
|
||
ClusterAccelerationStructureMoveObjectsInputNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: ClusterAccelerationStructureTypeNV,
|
||
noMoveOverlap: b32,
|
||
maxMovedBytes: DeviceSize,
|
||
}
|
||
|
||
ClusterAccelerationStructureOpInputNV :: struct #raw_union {
|
||
pClustersBottomLevel: ^ClusterAccelerationStructureClustersBottomLevelInputNV,
|
||
pTriangleClusters: [^]ClusterAccelerationStructureTriangleClusterInputNV,
|
||
pMoveObjects: [^]ClusterAccelerationStructureMoveObjectsInputNV,
|
||
}
|
||
|
||
ClusterAccelerationStructureInputInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxAccelerationStructureCount: u32,
|
||
flags: BuildAccelerationStructureFlagsKHR,
|
||
opType: ClusterAccelerationStructureOpTypeNV,
|
||
opMode: ClusterAccelerationStructureOpModeNV,
|
||
opInput: ClusterAccelerationStructureOpInputNV,
|
||
}
|
||
|
||
StridedDeviceAddressRegionKHR :: struct {
|
||
deviceAddress: DeviceAddress,
|
||
stride: DeviceSize,
|
||
size: DeviceSize,
|
||
}
|
||
|
||
ClusterAccelerationStructureCommandsInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
input: ClusterAccelerationStructureInputInfoNV,
|
||
dstImplicitData: DeviceAddress,
|
||
scratchData: DeviceAddress,
|
||
dstAddressesArray: StridedDeviceAddressRegionKHR,
|
||
dstSizesArray: StridedDeviceAddressRegionKHR,
|
||
srcInfosArray: StridedDeviceAddressRegionKHR,
|
||
srcInfosCount: DeviceAddress,
|
||
addressResolutionFlags: ClusterAccelerationStructureAddressResolutionFlagsNV,
|
||
}
|
||
|
||
StridedDeviceAddressNV :: struct {
|
||
startAddress: DeviceAddress,
|
||
strideInBytes: DeviceSize,
|
||
}
|
||
|
||
ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV :: bit_field u32 {
|
||
geometryIndex: u32 | 24,
|
||
reserved: u32 | 5,
|
||
geometryFlags: u32 | 3,
|
||
}
|
||
|
||
ClusterAccelerationStructureMoveObjectsInfoNV :: struct {
|
||
srcAccelerationStructure: DeviceAddress,
|
||
}
|
||
|
||
ClusterAccelerationStructureBuildClustersBottomLevelInfoNV :: struct {
|
||
clusterReferencesCount: u32,
|
||
clusterReferencesStride: u32,
|
||
clusterReferences: DeviceAddress,
|
||
}
|
||
|
||
ClusterAccelerationStructureBuildTriangleClusterInfoNV :: struct {
|
||
clusterID: u32,
|
||
clusterFlags: ClusterAccelerationStructureClusterFlagsNV,
|
||
using _: bit_field u32 {
|
||
triangleCount: u32 | 9,
|
||
vertexCount: u32 | 9,
|
||
positionTruncateBitCount: u32 | 6,
|
||
indexType: u32 | 4,
|
||
opacityMicromapIndexType: u32 | 4,
|
||
},
|
||
baseGeometryIndexAndGeometryFlags: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
|
||
indexBufferStride: u16,
|
||
vertexBufferStride: u16,
|
||
geometryIndexAndFlagsBufferStride: u16,
|
||
opacityMicromapIndexBufferStride: u16,
|
||
indexBuffer: DeviceAddress,
|
||
vertexBuffer: DeviceAddress,
|
||
geometryIndexAndFlagsBuffer: DeviceAddress,
|
||
opacityMicromapArray: DeviceAddress,
|
||
opacityMicromapIndexBuffer: DeviceAddress,
|
||
}
|
||
|
||
ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV :: struct {
|
||
clusterID: u32,
|
||
clusterFlags: ClusterAccelerationStructureClusterFlagsNV,
|
||
using _: bit_field u32 {
|
||
triangleCount: u32 | 9,
|
||
vertexCount: u32 | 9,
|
||
positionTruncateBitCount: u32 | 6,
|
||
indexType: u32 | 4,
|
||
opacityMicromapIndexType: u32 | 4,
|
||
},
|
||
baseGeometryIndexAndGeometryFlags: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
|
||
indexBufferStride: u16,
|
||
vertexBufferStride: u16,
|
||
geometryIndexAndFlagsBufferStride: u16,
|
||
opacityMicromapIndexBufferStride: u16,
|
||
indexBuffer: DeviceAddress,
|
||
vertexBuffer: DeviceAddress,
|
||
geometryIndexAndFlagsBuffer: DeviceAddress,
|
||
opacityMicromapArray: DeviceAddress,
|
||
opacityMicromapIndexBuffer: DeviceAddress,
|
||
instantiationBoundingBoxLimit: DeviceAddress,
|
||
}
|
||
|
||
ClusterAccelerationStructureInstantiateClusterInfoNV :: struct {
|
||
clusterIdOffset: u32,
|
||
using _: bit_field u32 {
|
||
geometryIndexOffset: u32 | 24,
|
||
reserved: u32 | 8,
|
||
},
|
||
clusterTemplateAddress: DeviceAddress,
|
||
vertexBuffer: StridedDeviceAddressNV,
|
||
}
|
||
|
||
AccelerationStructureBuildSizesInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructureSize: DeviceSize,
|
||
updateScratchSize: DeviceSize,
|
||
buildScratchSize: DeviceSize,
|
||
}
|
||
|
||
RayTracingPipelineClusterAccelerationStructureCreateInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
allowClusterAccelerationStructure: b32,
|
||
}
|
||
|
||
PhysicalDevicePartitionedAccelerationStructureFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
partitionedAccelerationStructure: b32,
|
||
}
|
||
|
||
PhysicalDevicePartitionedAccelerationStructurePropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxPartitionCount: u32,
|
||
}
|
||
|
||
PartitionedAccelerationStructureFlagsNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
enablePartitionTranslation: b32,
|
||
}
|
||
|
||
BuildPartitionedAccelerationStructureIndirectCommandNV :: struct {
|
||
opType: PartitionedAccelerationStructureOpTypeNV,
|
||
argCount: u32,
|
||
argData: StridedDeviceAddressNV,
|
||
}
|
||
|
||
PartitionedAccelerationStructureWriteInstanceDataNV :: struct {
|
||
transform: TransformMatrixKHR,
|
||
explicitAABB: [6]f32,
|
||
instanceID: u32,
|
||
instanceMask: u32,
|
||
instanceContributionToHitGroupIndex: u32,
|
||
instanceFlags: PartitionedAccelerationStructureInstanceFlagsNV,
|
||
instanceIndex: u32,
|
||
partitionIndex: u32,
|
||
accelerationStructure: DeviceAddress,
|
||
}
|
||
|
||
PartitionedAccelerationStructureUpdateInstanceDataNV :: struct {
|
||
instanceIndex: u32,
|
||
instanceContributionToHitGroupIndex: u32,
|
||
accelerationStructure: DeviceAddress,
|
||
}
|
||
|
||
PartitionedAccelerationStructureWritePartitionTranslationDataNV :: struct {
|
||
partitionIndex: u32,
|
||
partitionTranslation: [3]f32,
|
||
}
|
||
|
||
WriteDescriptorSetPartitionedAccelerationStructureNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructureCount: u32,
|
||
pAccelerationStructures: [^]DeviceAddress,
|
||
}
|
||
|
||
PartitionedAccelerationStructureInstancesInputNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: BuildAccelerationStructureFlagsKHR,
|
||
instanceCount: u32,
|
||
maxInstancePerPartitionCount: u32,
|
||
partitionCount: u32,
|
||
maxInstanceInGlobalPartitionCount: u32,
|
||
}
|
||
|
||
BuildPartitionedAccelerationStructureInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
input: PartitionedAccelerationStructureInstancesInputNV,
|
||
srcAccelerationStructureData: DeviceAddress,
|
||
dstAccelerationStructureData: DeviceAddress,
|
||
scratchData: DeviceAddress,
|
||
srcInfos: DeviceAddress,
|
||
srcInfosCount: DeviceAddress,
|
||
}
|
||
|
||
PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
deviceGeneratedCommands: b32,
|
||
dynamicGeneratedPipelineLayout: b32,
|
||
}
|
||
|
||
PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxIndirectPipelineCount: u32,
|
||
maxIndirectShaderObjectCount: u32,
|
||
maxIndirectSequenceCount: u32,
|
||
maxIndirectCommandsTokenCount: u32,
|
||
maxIndirectCommandsTokenOffset: u32,
|
||
maxIndirectCommandsIndirectStride: u32,
|
||
supportedIndirectCommandsInputModes: IndirectCommandsInputModeFlagsEXT,
|
||
supportedIndirectCommandsShaderStages: ShaderStageFlags,
|
||
supportedIndirectCommandsShaderStagesPipelineBinding: ShaderStageFlags,
|
||
supportedIndirectCommandsShaderStagesShaderBinding: ShaderStageFlags,
|
||
deviceGeneratedCommandsTransformFeedback: b32,
|
||
deviceGeneratedCommandsMultiDrawIndirectCount: b32,
|
||
}
|
||
|
||
GeneratedCommandsMemoryRequirementsInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
indirectExecutionSet: IndirectExecutionSetEXT,
|
||
indirectCommandsLayout: IndirectCommandsLayoutEXT,
|
||
maxSequenceCount: u32,
|
||
maxDrawCount: u32,
|
||
}
|
||
|
||
IndirectExecutionSetPipelineInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
initialPipeline: Pipeline,
|
||
maxPipelineCount: u32,
|
||
}
|
||
|
||
IndirectExecutionSetShaderLayoutInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
setLayoutCount: u32,
|
||
pSetLayouts: [^]DescriptorSetLayout,
|
||
}
|
||
|
||
IndirectExecutionSetShaderInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCount: u32,
|
||
pInitialShaders: [^]ShaderEXT,
|
||
pSetLayoutInfos: [^]IndirectExecutionSetShaderLayoutInfoEXT,
|
||
maxShaderCount: u32,
|
||
pushConstantRangeCount: u32,
|
||
pPushConstantRanges: [^]PushConstantRange,
|
||
}
|
||
|
||
IndirectExecutionSetInfoEXT :: struct #raw_union {
|
||
pPipelineInfo: ^IndirectExecutionSetPipelineInfoEXT,
|
||
pShaderInfo: ^IndirectExecutionSetShaderInfoEXT,
|
||
}
|
||
|
||
IndirectExecutionSetCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: IndirectExecutionSetInfoTypeEXT,
|
||
info: IndirectExecutionSetInfoEXT,
|
||
}
|
||
|
||
GeneratedCommandsInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderStages: ShaderStageFlags,
|
||
indirectExecutionSet: IndirectExecutionSetEXT,
|
||
indirectCommandsLayout: IndirectCommandsLayoutEXT,
|
||
indirectAddress: DeviceAddress,
|
||
indirectAddressSize: DeviceSize,
|
||
preprocessAddress: DeviceAddress,
|
||
preprocessSize: DeviceSize,
|
||
maxSequenceCount: u32,
|
||
sequenceCountAddress: DeviceAddress,
|
||
maxDrawCount: u32,
|
||
}
|
||
|
||
WriteIndirectExecutionSetPipelineEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
index: u32,
|
||
pipeline: Pipeline,
|
||
}
|
||
|
||
IndirectCommandsPushConstantTokenEXT :: struct {
|
||
updateRange: PushConstantRange,
|
||
}
|
||
|
||
IndirectCommandsVertexBufferTokenEXT :: struct {
|
||
vertexBindingUnit: u32,
|
||
}
|
||
|
||
IndirectCommandsIndexBufferTokenEXT :: struct {
|
||
mode: IndirectCommandsInputModeFlagsEXT,
|
||
}
|
||
|
||
IndirectCommandsExecutionSetTokenEXT :: struct {
|
||
type: IndirectExecutionSetInfoTypeEXT,
|
||
shaderStages: ShaderStageFlags,
|
||
}
|
||
|
||
IndirectCommandsTokenDataEXT :: struct #raw_union {
|
||
pPushConstant: ^IndirectCommandsPushConstantTokenEXT,
|
||
pVertexBuffer: ^IndirectCommandsVertexBufferTokenEXT,
|
||
pIndexBuffer: ^IndirectCommandsIndexBufferTokenEXT,
|
||
pExecutionSet: ^IndirectCommandsExecutionSetTokenEXT,
|
||
}
|
||
|
||
IndirectCommandsLayoutTokenEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: IndirectCommandsTokenTypeEXT,
|
||
data: IndirectCommandsTokenDataEXT,
|
||
offset: u32,
|
||
}
|
||
|
||
IndirectCommandsLayoutCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: IndirectCommandsLayoutUsageFlagsEXT,
|
||
shaderStages: ShaderStageFlags,
|
||
indirectStride: u32,
|
||
pipelineLayout: PipelineLayout,
|
||
tokenCount: u32,
|
||
pTokens: [^]IndirectCommandsLayoutTokenEXT,
|
||
}
|
||
|
||
DrawIndirectCountIndirectCommandEXT :: struct {
|
||
bufferAddress: DeviceAddress,
|
||
stride: u32,
|
||
commandCount: u32,
|
||
}
|
||
|
||
BindVertexBufferIndirectCommandEXT :: struct {
|
||
bufferAddress: DeviceAddress,
|
||
size: u32,
|
||
stride: u32,
|
||
}
|
||
|
||
BindIndexBufferIndirectCommandEXT :: struct {
|
||
bufferAddress: DeviceAddress,
|
||
size: u32,
|
||
indexType: IndexType,
|
||
}
|
||
|
||
GeneratedCommandsPipelineInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipeline: Pipeline,
|
||
}
|
||
|
||
GeneratedCommandsShaderInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderCount: u32,
|
||
pShaders: [^]ShaderEXT,
|
||
}
|
||
|
||
WriteIndirectExecutionSetShaderEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
index: u32,
|
||
shader: ShaderEXT,
|
||
}
|
||
|
||
PhysicalDeviceImageAlignmentControlFeaturesMESA :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
imageAlignmentControl: b32,
|
||
}
|
||
|
||
PhysicalDeviceImageAlignmentControlPropertiesMESA :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
supportedImageAlignmentMask: u32,
|
||
}
|
||
|
||
ImageAlignmentControlCreateInfoMESA :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maximumRequestedAlignment: u32,
|
||
}
|
||
|
||
PhysicalDeviceDepthClampControlFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthClampControl: b32,
|
||
}
|
||
|
||
PipelineViewportDepthClampControlCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
depthClampMode: DepthClampModeEXT,
|
||
pDepthClampRange: ^DepthClampRangeEXT,
|
||
}
|
||
|
||
PhysicalDeviceHdrVividFeaturesHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hdrVivid: b32,
|
||
}
|
||
|
||
HdrVividDynamicMetadataHUAWEI :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
dynamicMetadataSize: int,
|
||
pDynamicMetadata: rawptr,
|
||
}
|
||
|
||
CooperativeMatrixFlexibleDimensionsPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
MGranularity: u32,
|
||
NGranularity: u32,
|
||
KGranularity: u32,
|
||
AType: ComponentTypeKHR,
|
||
BType: ComponentTypeKHR,
|
||
CType: ComponentTypeKHR,
|
||
ResultType: ComponentTypeKHR,
|
||
saturatingAccumulation: b32,
|
||
scope: ScopeKHR,
|
||
workgroupInvocations: u32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrix2FeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrixWorkgroupScope: b32,
|
||
cooperativeMatrixFlexibleDimensions: b32,
|
||
cooperativeMatrixReductions: b32,
|
||
cooperativeMatrixConversions: b32,
|
||
cooperativeMatrixPerElementOperations: b32,
|
||
cooperativeMatrixTensorAddressing: b32,
|
||
cooperativeMatrixBlockLoads: b32,
|
||
}
|
||
|
||
PhysicalDeviceCooperativeMatrix2PropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
cooperativeMatrixWorkgroupScopeMaxWorkgroupSize: u32,
|
||
cooperativeMatrixFlexibleDimensionsMaxDimension: u32,
|
||
cooperativeMatrixWorkgroupScopeReservedSharedMemory: u32,
|
||
}
|
||
|
||
PhysicalDevicePipelineOpacityMicromapFeaturesARM :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pipelineOpacityMicromap: b32,
|
||
}
|
||
|
||
PhysicalDeviceVertexAttributeRobustnessFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexAttributeRobustness: b32,
|
||
}
|
||
|
||
SetPresentConfigNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
numFramesPerBatch: u32,
|
||
presentConfigFeedback: u32,
|
||
}
|
||
|
||
PhysicalDevicePresentMeteringFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
presentMetering: b32,
|
||
}
|
||
|
||
AccelerationStructureBuildRangeInfoKHR :: struct {
|
||
primitiveCount: u32,
|
||
primitiveOffset: u32,
|
||
firstVertex: u32,
|
||
transformOffset: u32,
|
||
}
|
||
|
||
AccelerationStructureGeometryTrianglesDataKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
vertexFormat: Format,
|
||
vertexData: DeviceOrHostAddressConstKHR,
|
||
vertexStride: DeviceSize,
|
||
maxVertex: u32,
|
||
indexType: IndexType,
|
||
indexData: DeviceOrHostAddressConstKHR,
|
||
transformData: DeviceOrHostAddressConstKHR,
|
||
}
|
||
|
||
AccelerationStructureGeometryAabbsDataKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
data: DeviceOrHostAddressConstKHR,
|
||
stride: DeviceSize,
|
||
}
|
||
|
||
AccelerationStructureGeometryInstancesDataKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
arrayOfPointers: b32,
|
||
data: DeviceOrHostAddressConstKHR,
|
||
}
|
||
|
||
AccelerationStructureGeometryDataKHR :: struct #raw_union {
|
||
triangles: AccelerationStructureGeometryTrianglesDataKHR,
|
||
aabbs: AccelerationStructureGeometryAabbsDataKHR,
|
||
instances: AccelerationStructureGeometryInstancesDataKHR,
|
||
}
|
||
|
||
AccelerationStructureGeometryKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
geometryType: GeometryTypeKHR,
|
||
geometry: AccelerationStructureGeometryDataKHR,
|
||
flags: GeometryFlagsKHR,
|
||
}
|
||
|
||
AccelerationStructureBuildGeometryInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: AccelerationStructureTypeKHR,
|
||
flags: BuildAccelerationStructureFlagsKHR,
|
||
mode: BuildAccelerationStructureModeKHR,
|
||
srcAccelerationStructure: AccelerationStructureKHR,
|
||
dstAccelerationStructure: AccelerationStructureKHR,
|
||
geometryCount: u32,
|
||
pGeometries: [^]AccelerationStructureGeometryKHR,
|
||
ppGeometries: ^[^]AccelerationStructureGeometryKHR,
|
||
scratchData: DeviceOrHostAddressKHR,
|
||
}
|
||
|
||
AccelerationStructureCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
createFlags: AccelerationStructureCreateFlagsKHR,
|
||
buffer: Buffer,
|
||
offset: DeviceSize,
|
||
size: DeviceSize,
|
||
type: AccelerationStructureTypeKHR,
|
||
deviceAddress: DeviceAddress,
|
||
}
|
||
|
||
WriteDescriptorSetAccelerationStructureKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructureCount: u32,
|
||
pAccelerationStructures: [^]AccelerationStructureKHR,
|
||
}
|
||
|
||
PhysicalDeviceAccelerationStructureFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructure: b32,
|
||
accelerationStructureCaptureReplay: b32,
|
||
accelerationStructureIndirectBuild: b32,
|
||
accelerationStructureHostCommands: b32,
|
||
descriptorBindingAccelerationStructureUpdateAfterBind: b32,
|
||
}
|
||
|
||
PhysicalDeviceAccelerationStructurePropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxGeometryCount: u64,
|
||
maxInstanceCount: u64,
|
||
maxPrimitiveCount: u64,
|
||
maxPerStageDescriptorAccelerationStructures: u32,
|
||
maxPerStageDescriptorUpdateAfterBindAccelerationStructures: u32,
|
||
maxDescriptorSetAccelerationStructures: u32,
|
||
maxDescriptorSetUpdateAfterBindAccelerationStructures: u32,
|
||
minAccelerationStructureScratchOffsetAlignment: u32,
|
||
}
|
||
|
||
AccelerationStructureDeviceAddressInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
accelerationStructure: AccelerationStructureKHR,
|
||
}
|
||
|
||
AccelerationStructureVersionInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pVersionData: ^u8,
|
||
}
|
||
|
||
CopyAccelerationStructureToMemoryInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: AccelerationStructureKHR,
|
||
dst: DeviceOrHostAddressKHR,
|
||
mode: CopyAccelerationStructureModeKHR,
|
||
}
|
||
|
||
CopyMemoryToAccelerationStructureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: DeviceOrHostAddressConstKHR,
|
||
dst: AccelerationStructureKHR,
|
||
mode: CopyAccelerationStructureModeKHR,
|
||
}
|
||
|
||
CopyAccelerationStructureInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
src: AccelerationStructureKHR,
|
||
dst: AccelerationStructureKHR,
|
||
mode: CopyAccelerationStructureModeKHR,
|
||
}
|
||
|
||
RayTracingShaderGroupCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
type: RayTracingShaderGroupTypeKHR,
|
||
generalShader: u32,
|
||
closestHitShader: u32,
|
||
anyHitShader: u32,
|
||
intersectionShader: u32,
|
||
pShaderGroupCaptureReplayHandle: rawptr,
|
||
}
|
||
|
||
RayTracingPipelineInterfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxPipelineRayPayloadSize: u32,
|
||
maxPipelineRayHitAttributeSize: u32,
|
||
}
|
||
|
||
RayTracingPipelineCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags,
|
||
stageCount: u32,
|
||
pStages: [^]PipelineShaderStageCreateInfo,
|
||
groupCount: u32,
|
||
pGroups: [^]RayTracingShaderGroupCreateInfoKHR,
|
||
maxPipelineRayRecursionDepth: u32,
|
||
pLibraryInfo: ^PipelineLibraryCreateInfoKHR,
|
||
pLibraryInterface: ^RayTracingPipelineInterfaceCreateInfoKHR,
|
||
pDynamicState: ^PipelineDynamicStateCreateInfo,
|
||
layout: PipelineLayout,
|
||
basePipelineHandle: Pipeline,
|
||
basePipelineIndex: i32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingPipelineFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayTracingPipeline: b32,
|
||
rayTracingPipelineShaderGroupHandleCaptureReplay: b32,
|
||
rayTracingPipelineShaderGroupHandleCaptureReplayMixed: b32,
|
||
rayTracingPipelineTraceRaysIndirect: b32,
|
||
rayTraversalPrimitiveCulling: b32,
|
||
}
|
||
|
||
PhysicalDeviceRayTracingPipelinePropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderGroupHandleSize: u32,
|
||
maxRayRecursionDepth: u32,
|
||
maxShaderGroupStride: u32,
|
||
shaderGroupBaseAlignment: u32,
|
||
shaderGroupHandleCaptureReplaySize: u32,
|
||
maxRayDispatchInvocationCount: u32,
|
||
shaderGroupHandleAlignment: u32,
|
||
maxRayHitAttributeSize: u32,
|
||
}
|
||
|
||
TraceRaysIndirectCommandKHR :: struct {
|
||
width: u32,
|
||
height: u32,
|
||
depth: u32,
|
||
}
|
||
|
||
PhysicalDeviceRayQueryFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
rayQuery: b32,
|
||
}
|
||
|
||
PhysicalDeviceMeshShaderFeaturesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
taskShader: b32,
|
||
meshShader: b32,
|
||
multiviewMeshShader: b32,
|
||
primitiveFragmentShadingRateMeshShader: b32,
|
||
meshShaderQueries: b32,
|
||
}
|
||
|
||
PhysicalDeviceMeshShaderPropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxTaskWorkGroupTotalCount: u32,
|
||
maxTaskWorkGroupCount: [3]u32,
|
||
maxTaskWorkGroupInvocations: u32,
|
||
maxTaskWorkGroupSize: [3]u32,
|
||
maxTaskPayloadSize: u32,
|
||
maxTaskSharedMemorySize: u32,
|
||
maxTaskPayloadAndSharedMemorySize: u32,
|
||
maxMeshWorkGroupTotalCount: u32,
|
||
maxMeshWorkGroupCount: [3]u32,
|
||
maxMeshWorkGroupInvocations: u32,
|
||
maxMeshWorkGroupSize: [3]u32,
|
||
maxMeshSharedMemorySize: u32,
|
||
maxMeshPayloadAndSharedMemorySize: u32,
|
||
maxMeshOutputMemorySize: u32,
|
||
maxMeshPayloadAndOutputMemorySize: u32,
|
||
maxMeshOutputComponents: u32,
|
||
maxMeshOutputVertices: u32,
|
||
maxMeshOutputPrimitives: u32,
|
||
maxMeshOutputLayers: u32,
|
||
maxMeshMultiviewViewCount: u32,
|
||
meshOutputPerVertexGranularity: u32,
|
||
meshOutputPerPrimitiveGranularity: u32,
|
||
maxPreferredTaskWorkGroupInvocations: u32,
|
||
maxPreferredMeshWorkGroupInvocations: u32,
|
||
prefersLocalInvocationVertexOutput: b32,
|
||
prefersLocalInvocationPrimitiveOutput: b32,
|
||
prefersCompactVertexOutput: b32,
|
||
prefersCompactPrimitiveOutput: b32,
|
||
}
|
||
|
||
DrawMeshTasksIndirectCommandEXT :: struct {
|
||
groupCountX: u32,
|
||
groupCountY: u32,
|
||
groupCountZ: u32,
|
||
}
|
||
|
||
Win32SurfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: Win32SurfaceCreateFlagsKHR,
|
||
hinstance: HINSTANCE,
|
||
hwnd: HWND,
|
||
}
|
||
|
||
ImportMemoryWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
handle: HANDLE,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
ExportMemoryWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pAttributes: [^]SECURITY_ATTRIBUTES,
|
||
dwAccess: DWORD,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
MemoryWin32HandlePropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryTypeBits: u32,
|
||
}
|
||
|
||
MemoryGetWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
Win32KeyedMutexAcquireReleaseInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
acquireCount: u32,
|
||
pAcquireSyncs: [^]DeviceMemory,
|
||
pAcquireKeys: [^]u64,
|
||
pAcquireTimeouts: [^]u32,
|
||
releaseCount: u32,
|
||
pReleaseSyncs: [^]DeviceMemory,
|
||
pReleaseKeys: [^]u64,
|
||
}
|
||
|
||
ImportSemaphoreWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
flags: SemaphoreImportFlags,
|
||
handleType: ExternalSemaphoreHandleTypeFlags,
|
||
handle: HANDLE,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
ExportSemaphoreWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pAttributes: [^]SECURITY_ATTRIBUTES,
|
||
dwAccess: DWORD,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
D3D12FenceSubmitInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
waitSemaphoreValuesCount: u32,
|
||
pWaitSemaphoreValues: [^]u64,
|
||
signalSemaphoreValuesCount: u32,
|
||
pSignalSemaphoreValues: [^]u64,
|
||
}
|
||
|
||
SemaphoreGetWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
handleType: ExternalSemaphoreHandleTypeFlags,
|
||
}
|
||
|
||
ImportFenceWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fence: Fence,
|
||
flags: FenceImportFlags,
|
||
handleType: ExternalFenceHandleTypeFlags,
|
||
handle: HANDLE,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
ExportFenceWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pAttributes: [^]SECURITY_ATTRIBUTES,
|
||
dwAccess: DWORD,
|
||
name: LPCWSTR,
|
||
}
|
||
|
||
FenceGetWin32HandleInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fence: Fence,
|
||
handleType: ExternalFenceHandleTypeFlags,
|
||
}
|
||
|
||
ImportMemoryWin32HandleInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlagsNV,
|
||
handle: HANDLE,
|
||
}
|
||
|
||
ExportMemoryWin32HandleInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pAttributes: [^]SECURITY_ATTRIBUTES,
|
||
dwAccess: DWORD,
|
||
}
|
||
|
||
Win32KeyedMutexAcquireReleaseInfoNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
acquireCount: u32,
|
||
pAcquireSyncs: [^]DeviceMemory,
|
||
pAcquireKeys: [^]u64,
|
||
pAcquireTimeoutMilliseconds: [^]u32,
|
||
releaseCount: u32,
|
||
pReleaseSyncs: [^]DeviceMemory,
|
||
pReleaseKeys: [^]u64,
|
||
}
|
||
|
||
SurfaceFullScreenExclusiveInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fullScreenExclusive: FullScreenExclusiveEXT,
|
||
}
|
||
|
||
SurfaceCapabilitiesFullScreenExclusiveEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
fullScreenExclusiveSupported: b32,
|
||
}
|
||
|
||
SurfaceFullScreenExclusiveWin32InfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
hmonitor: HMONITOR,
|
||
}
|
||
|
||
MetalSurfaceCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: MetalSurfaceCreateFlagsEXT,
|
||
pLayer: ^CAMetalLayer,
|
||
}
|
||
|
||
ExportMetalObjectCreateInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
exportObjectType: ExportMetalObjectTypeFlagsEXT,
|
||
}
|
||
|
||
ExportMetalObjectsInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
}
|
||
|
||
ExportMetalDeviceInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mtlDevice: MTLDevice_id,
|
||
}
|
||
|
||
ExportMetalCommandQueueInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
queue: Queue,
|
||
mtlCommandQueue: MTLCommandQueue_id,
|
||
}
|
||
|
||
ExportMetalBufferInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
mtlBuffer: MTLBuffer_id,
|
||
}
|
||
|
||
ImportMetalBufferInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mtlBuffer: MTLBuffer_id,
|
||
}
|
||
|
||
ExportMetalTextureInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
imageView: ImageView,
|
||
bufferView: BufferView,
|
||
plane: ImageAspectFlags,
|
||
mtlTexture: MTLTexture_id,
|
||
}
|
||
|
||
ImportMetalTextureInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
plane: ImageAspectFlags,
|
||
mtlTexture: MTLTexture_id,
|
||
}
|
||
|
||
ExportMetalIOSurfaceInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
image: Image,
|
||
ioSurface: IOSurfaceRef,
|
||
}
|
||
|
||
ImportMetalIOSurfaceInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
ioSurface: IOSurfaceRef,
|
||
}
|
||
|
||
ExportMetalSharedEventInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
semaphore: Semaphore,
|
||
event: Event,
|
||
mtlSharedEvent: MTLSharedEvent_id,
|
||
}
|
||
|
||
ImportMetalSharedEventInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
mtlSharedEvent: MTLSharedEvent_id,
|
||
}
|
||
|
||
ImportMemoryMetalHandleInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
handle: rawptr,
|
||
}
|
||
|
||
MemoryMetalHandlePropertiesEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memoryTypeBits: u32,
|
||
}
|
||
|
||
MemoryGetMetalHandleInfoEXT :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
memory: DeviceMemory,
|
||
handleType: ExternalMemoryHandleTypeFlags,
|
||
}
|
||
|
||
MacOSSurfaceCreateInfoMVK :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: MacOSSurfaceCreateFlagsMVK,
|
||
pView: rawptr,
|
||
}
|
||
|
||
IOSSurfaceCreateInfoMVK :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: IOSSurfaceCreateFlagsMVK,
|
||
pView: rawptr,
|
||
}
|
||
|
||
WaylandSurfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: WaylandSurfaceCreateFlagsKHR,
|
||
display: ^wl_display,
|
||
surface: ^wl_surface,
|
||
}
|
||
|
||
XlibSurfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: XlibSurfaceCreateFlagsKHR,
|
||
dpy: ^XlibDisplay,
|
||
window: XlibWindow,
|
||
}
|
||
|
||
XcbSurfaceCreateInfoKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: XcbSurfaceCreateFlagsKHR,
|
||
connection: ^xcb_connection_t,
|
||
window: xcb_window_t,
|
||
}
|
||
|
||
PhysicalDevicePortabilitySubsetFeaturesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
constantAlphaColorBlendFactors: b32,
|
||
events: b32,
|
||
imageViewFormatReinterpretation: b32,
|
||
imageViewFormatSwizzle: b32,
|
||
imageView2DOn3DImage: b32,
|
||
multisampleArrayImage: b32,
|
||
mutableComparisonSamplers: b32,
|
||
pointPolygons: b32,
|
||
samplerMipLodBias: b32,
|
||
separateStencilMaskRef: b32,
|
||
shaderSampleRateInterpolationFunctions: b32,
|
||
tessellationIsolines: b32,
|
||
tessellationPointMode: b32,
|
||
triangleFans: b32,
|
||
vertexAttributeAccessBeyondStride: b32,
|
||
}
|
||
|
||
PhysicalDevicePortabilitySubsetPropertiesKHR :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minVertexInputBindingStrideAlignment: u32,
|
||
}
|
||
|
||
PhysicalDeviceShaderEnqueueFeaturesAMDX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
shaderEnqueue: b32,
|
||
shaderMeshEnqueue: b32,
|
||
}
|
||
|
||
PhysicalDeviceShaderEnqueuePropertiesAMDX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxExecutionGraphDepth: u32,
|
||
maxExecutionGraphShaderOutputNodes: u32,
|
||
maxExecutionGraphShaderPayloadSize: u32,
|
||
maxExecutionGraphShaderPayloadCount: u32,
|
||
executionGraphDispatchAddressAlignment: u32,
|
||
maxExecutionGraphWorkgroupCount: [3]u32,
|
||
maxExecutionGraphWorkgroups: u32,
|
||
}
|
||
|
||
ExecutionGraphPipelineScratchSizeAMDX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
minSize: DeviceSize,
|
||
maxSize: DeviceSize,
|
||
sizeGranularity: DeviceSize,
|
||
}
|
||
|
||
ExecutionGraphPipelineCreateInfoAMDX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
flags: PipelineCreateFlags,
|
||
stageCount: u32,
|
||
pStages: [^]PipelineShaderStageCreateInfo,
|
||
pLibraryInfo: ^PipelineLibraryCreateInfoKHR,
|
||
layout: PipelineLayout,
|
||
basePipelineHandle: Pipeline,
|
||
basePipelineIndex: i32,
|
||
}
|
||
|
||
DeviceOrHostAddressConstAMDX :: struct #raw_union {
|
||
deviceAddress: DeviceAddress,
|
||
hostAddress: rawptr,
|
||
}
|
||
|
||
DispatchGraphInfoAMDX :: struct {
|
||
nodeIndex: u32,
|
||
payloadCount: u32,
|
||
payloads: DeviceOrHostAddressConstAMDX,
|
||
payloadStride: u64,
|
||
}
|
||
|
||
DispatchGraphCountInfoAMDX :: struct {
|
||
count: u32,
|
||
infos: DeviceOrHostAddressConstAMDX,
|
||
stride: u64,
|
||
}
|
||
|
||
PipelineShaderStageNodeCreateInfoAMDX :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
pName: cstring,
|
||
index: u32,
|
||
}
|
||
|
||
PhysicalDeviceDisplacementMicromapFeaturesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displacementMicromap: b32,
|
||
}
|
||
|
||
PhysicalDeviceDisplacementMicromapPropertiesNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
maxDisplacementMicromapSubdivisionLevel: u32,
|
||
}
|
||
|
||
AccelerationStructureTrianglesDisplacementMicromapNV :: struct {
|
||
sType: StructureType,
|
||
pNext: rawptr,
|
||
displacementBiasAndScaleFormat: Format,
|
||
displacementVectorFormat: Format,
|
||
displacementBiasAndScaleBuffer: DeviceOrHostAddressConstKHR,
|
||
displacementBiasAndScaleStride: DeviceSize,
|
||
displacementVectorBuffer: DeviceOrHostAddressConstKHR,
|
||
displacementVectorStride: DeviceSize,
|
||
displacedMicromapPrimitiveFlags: DeviceOrHostAddressConstKHR,
|
||
displacedMicromapPrimitiveFlagsStride: DeviceSize,
|
||
indexType: IndexType,
|
||
indexBuffer: DeviceOrHostAddressConstKHR,
|
||
indexStride: DeviceSize,
|
||
baseTriangle: u32,
|
||
usageCountsCount: u32,
|
||
pUsageCounts: [^]MicromapUsageEXT,
|
||
ppUsageCounts: ^[^]MicromapUsageEXT,
|
||
micromap: MicromapEXT,
|
||
}
|
||
|
||
VideoAV1ColorConfigFlags :: distinct bit_set[VideoAV1ColorConfigFlag; u32]
|
||
VideoAV1ColorConfigFlag :: enum u32 {
|
||
mono_chrome,
|
||
color_range,
|
||
separate_uv_delta_q,
|
||
color_description_present_flag,
|
||
}
|
||
|
||
VideoAV1ColorConfig :: struct {
|
||
flags: VideoAV1ColorConfigFlags,
|
||
BitDepth: u8,
|
||
subsampling_x: u8,
|
||
subsampling_y: u8,
|
||
reserved1: u8,
|
||
color_primaries: VideoAV1ColorPrimaries,
|
||
transfer_characteristics: VideoAV1TransferCharacteristics,
|
||
matrix_coefficients: VideoAV1MatrixCoefficients,
|
||
chroma_sample_position: VideoAV1ChromaSamplePosition,
|
||
}
|
||
|
||
VideoAV1TimingInfoFlags :: distinct bit_set[VideoAV1TimingInfoFlag; u32]
|
||
VideoAV1TimingInfoFlag :: enum u32 {
|
||
equal_picture_interval,
|
||
}
|
||
|
||
VideoAV1TimingInfo :: struct {
|
||
flags: VideoAV1TimingInfoFlags,
|
||
num_units_in_display_tick: u32,
|
||
time_scale: u32,
|
||
num_ticks_per_picture_minus_1: u32,
|
||
}
|
||
|
||
VideoAV1LoopFilterFlags :: distinct bit_set[VideoAV1LoopFilterFlag; u32]
|
||
VideoAV1LoopFilterFlag :: enum u32 {
|
||
loop_filter_delta_enabled,
|
||
loop_filter_delta_update,
|
||
}
|
||
|
||
VideoAV1LoopFilter :: struct {
|
||
flags: VideoAV1LoopFilterFlags,
|
||
loop_filter_level: [VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS]u8,
|
||
loop_filter_sharpness: u8,
|
||
update_ref_delta: u8,
|
||
loop_filter_ref_deltas: [VIDEO_AV1_TOTAL_REFS_PER_FRAME]i8,
|
||
update_mode_delta: u8,
|
||
loop_filter_mode_deltas: [VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS]i8,
|
||
}
|
||
|
||
VideoAV1QuantizationFlags :: distinct bit_set[VideoAV1QuantizationFlag; u32]
|
||
VideoAV1QuantizationFlag :: enum u32 {
|
||
using_qmatrix,
|
||
diff_uv_delta,
|
||
}
|
||
|
||
VideoAV1Quantization :: struct {
|
||
flags: VideoAV1QuantizationFlags,
|
||
base_q_idx: u8,
|
||
DeltaQYDc: i8,
|
||
DeltaQUDc: i8,
|
||
DeltaQUAc: i8,
|
||
DeltaQVDc: i8,
|
||
DeltaQVAc: i8,
|
||
qm_y: u8,
|
||
qm_u: u8,
|
||
qm_v: u8,
|
||
}
|
||
|
||
VideoAV1Segmentation :: struct {
|
||
FeatureEnabled: [VIDEO_AV1_MAX_SEGMENTS]u8,
|
||
FeatureData: [VIDEO_AV1_MAX_SEGMENTS][VIDEO_AV1_SEG_LVL_MAX]i16,
|
||
}
|
||
|
||
VideoAV1TileInfoFlags :: distinct bit_set[VideoAV1TileInfoFlag; u32]
|
||
VideoAV1TileInfoFlag :: enum u32 {
|
||
uniform_tile_spacing_flag,
|
||
}
|
||
|
||
VideoAV1TileInfo :: struct {
|
||
flags: VideoAV1TileInfoFlags,
|
||
TileCols: u8,
|
||
TileRows: u8,
|
||
context_update_tile_id: u16,
|
||
tile_size_bytes_minus_1: u8,
|
||
reserved1: [7]u8,
|
||
pMiColStarts: [^]u16,
|
||
pMiRowStarts: [^]u16,
|
||
pWidthInSbsMinus1: ^u16,
|
||
pHeightInSbsMinus1: ^u16,
|
||
}
|
||
|
||
VideoAV1CDEF :: struct {
|
||
cdef_damping_minus_3: u8,
|
||
cdef_bits: u8,
|
||
cdef_y_pri_strength: [VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]u8,
|
||
cdef_y_sec_strength: [VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]u8,
|
||
cdef_uv_pri_strength: [VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]u8,
|
||
cdef_uv_sec_strength: [VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]u8,
|
||
}
|
||
|
||
VideoAV1LoopRestoration :: struct {
|
||
FrameRestorationType: [VIDEO_AV1_MAX_NUM_PLANES]VideoAV1FrameRestorationType,
|
||
LoopRestorationSize: [VIDEO_AV1_MAX_NUM_PLANES]u16,
|
||
}
|
||
|
||
VideoAV1GlobalMotion :: struct {
|
||
GmType: [VIDEO_AV1_NUM_REF_FRAMES]u8,
|
||
gm_params: [VIDEO_AV1_NUM_REF_FRAMES][VIDEO_AV1_GLOBAL_MOTION_PARAMS]i32,
|
||
}
|
||
|
||
VideoAV1FilmGrainFlags :: distinct bit_set[VideoAV1FilmGrainFlag; u32]
|
||
VideoAV1FilmGrainFlag :: enum u32 {
|
||
chroma_scaling_from_luma,
|
||
overlap_flag,
|
||
clip_to_restricted_range,
|
||
update_grain,
|
||
}
|
||
|
||
VideoAV1FilmGrain :: struct {
|
||
flags: VideoAV1FilmGrainFlags,
|
||
grain_scaling_minus_8: u8,
|
||
ar_coeff_lag: u8,
|
||
ar_coeff_shift_minus_6: u8,
|
||
grain_scale_shift: u8,
|
||
grain_seed: u16,
|
||
film_grain_params_ref_idx: u8,
|
||
num_y_points: u8,
|
||
point_y_value: [VIDEO_AV1_MAX_NUM_Y_POINTS]u8,
|
||
point_y_scaling: [VIDEO_AV1_MAX_NUM_Y_POINTS]u8,
|
||
num_cb_points: u8,
|
||
point_cb_value: [VIDEO_AV1_MAX_NUM_CB_POINTS]u8,
|
||
point_cb_scaling: [VIDEO_AV1_MAX_NUM_CB_POINTS]u8,
|
||
num_cr_points: u8,
|
||
point_cr_value: [VIDEO_AV1_MAX_NUM_CR_POINTS]u8,
|
||
point_cr_scaling: [VIDEO_AV1_MAX_NUM_CR_POINTS]u8,
|
||
ar_coeffs_y_plus_128: [VIDEO_AV1_MAX_NUM_POS_LUMA]i8,
|
||
ar_coeffs_cb_plus_128: [VIDEO_AV1_MAX_NUM_POS_CHROMA]i8,
|
||
ar_coeffs_cr_plus_128: [VIDEO_AV1_MAX_NUM_POS_CHROMA]i8,
|
||
cb_mult: u8,
|
||
cb_luma_mult: u8,
|
||
cb_offset: u16,
|
||
cr_mult: u8,
|
||
cr_luma_mult: u8,
|
||
cr_offset: u16,
|
||
}
|
||
|
||
VideoAV1SequenceHeaderFlags :: distinct bit_set[VideoAV1SequenceHeaderFlag; u32]
|
||
VideoAV1SequenceHeaderFlag :: enum u32 {
|
||
still_picture,
|
||
reduced_still_picture_header,
|
||
use_128x128_superblock,
|
||
enable_filter_intra,
|
||
enable_intra_edge_filter,
|
||
enable_interintra_compound,
|
||
enable_masked_compound,
|
||
enable_warped_motion,
|
||
enable_dual_filter,
|
||
enable_order_hint,
|
||
enable_jnt_comp,
|
||
enable_ref_frame_mvs,
|
||
frame_id_numbers_present_flag,
|
||
enable_superres,
|
||
enable_cdef,
|
||
enable_restoration,
|
||
film_grain_params_present,
|
||
timing_info_present_flag,
|
||
initial_display_delay_present_flag,
|
||
}
|
||
|
||
VideoAV1SequenceHeader :: struct {
|
||
flags: VideoAV1SequenceHeaderFlags,
|
||
seq_profile: VideoAV1Profile,
|
||
frame_width_bits_minus_1: u8,
|
||
frame_height_bits_minus_1: u8,
|
||
max_frame_width_minus_1: u16,
|
||
max_frame_height_minus_1: u16,
|
||
delta_frame_id_length_minus_2: u8,
|
||
additional_frame_id_length_minus_1: u8,
|
||
order_hint_bits_minus_1: u8,
|
||
seq_force_integer_mv: u8,
|
||
seq_force_screen_content_tools: u8,
|
||
reserved1: [5]u8,
|
||
pColorConfig: ^VideoAV1ColorConfig,
|
||
pTimingInfo: ^VideoAV1TimingInfo,
|
||
}
|
||
|
||
VideoDecodeAV1PictureInfoFlags :: distinct bit_set[VideoDecodeAV1PictureInfoFlag; u32]
|
||
VideoDecodeAV1PictureInfoFlag :: enum u32 {
|
||
error_resilient_mode,
|
||
disable_cdf_update,
|
||
use_superres,
|
||
render_and_frame_size_different,
|
||
allow_screen_content_tools,
|
||
is_filter_switchable,
|
||
force_integer_mv,
|
||
frame_size_override_flag,
|
||
buffer_removal_time_present_flag,
|
||
allow_intrabc,
|
||
frame_refs_short_signaling,
|
||
allow_high_precision_mv,
|
||
is_motion_mode_switchable,
|
||
use_ref_frame_mvs,
|
||
disable_frame_end_update_cdf,
|
||
allow_warped_motion,
|
||
reduced_tx_set,
|
||
reference_select,
|
||
skip_mode_present,
|
||
delta_q_present,
|
||
delta_lf_present,
|
||
delta_lf_multi,
|
||
segmentation_enabled,
|
||
segmentation_update_map,
|
||
segmentation_temporal_update,
|
||
segmentation_update_data,
|
||
UsesLr,
|
||
usesChromaLr,
|
||
apply_grain,
|
||
}
|
||
|
||
VideoDecodeAV1PictureInfo :: struct {
|
||
flags: VideoDecodeAV1PictureInfoFlags,
|
||
frame_type: VideoAV1FrameType,
|
||
current_frame_id: u32,
|
||
OrderHint: u8,
|
||
primary_ref_frame: u8,
|
||
refresh_frame_flags: u8,
|
||
reserved1: u8,
|
||
interpolation_filter: VideoAV1InterpolationFilter,
|
||
TxMode: VideoAV1TxMode,
|
||
delta_q_res: u8,
|
||
delta_lf_res: u8,
|
||
SkipModeFrame: [VIDEO_AV1_SKIP_MODE_FRAMES]u8,
|
||
coded_denom: u8,
|
||
reserved2: [3]u8,
|
||
OrderHints: [VIDEO_AV1_NUM_REF_FRAMES]u8,
|
||
expectedFrameId: [VIDEO_AV1_NUM_REF_FRAMES]u32,
|
||
pTileInfo: ^VideoAV1TileInfo,
|
||
pQuantization: ^VideoAV1Quantization,
|
||
pSegmentation: ^VideoAV1Segmentation,
|
||
pLoopFilter: ^VideoAV1LoopFilter,
|
||
pCDEF: ^VideoAV1CDEF,
|
||
pLoopRestoration: ^VideoAV1LoopRestoration,
|
||
pGlobalMotion: ^VideoAV1GlobalMotion,
|
||
pFilmGrain: ^VideoAV1FilmGrain,
|
||
}
|
||
|
||
VideoDecodeAV1ReferenceInfoFlags :: distinct bit_set[VideoDecodeAV1ReferenceInfoFlag; u32]
|
||
VideoDecodeAV1ReferenceInfoFlag :: enum u32 {
|
||
disable_frame_end_update_cdf,
|
||
segmentation_enabled,
|
||
}
|
||
|
||
VideoDecodeAV1ReferenceInfo :: struct {
|
||
flags: VideoDecodeAV1ReferenceInfoFlags,
|
||
frame_type: u8,
|
||
RefFrameSignBias: u8,
|
||
OrderHint: u8,
|
||
SavedOrderHints: [VIDEO_AV1_NUM_REF_FRAMES]u8,
|
||
}
|
||
|
||
VideoEncodeAV1DecoderModelInfo :: struct {
|
||
buffer_delay_length_minus_1: u8,
|
||
buffer_removal_time_length_minus_1: u8,
|
||
frame_presentation_time_length_minus_1: u8,
|
||
reserved1: u8,
|
||
num_units_in_decoding_tick: u32,
|
||
}
|
||
|
||
VideoEncodeAV1ExtensionHeader :: struct {
|
||
temporal_id: u8,
|
||
spatial_id: u8,
|
||
}
|
||
|
||
VideoEncodeAV1OperatingPointInfoFlags :: distinct bit_set[VideoEncodeAV1OperatingPointInfoFlag; u32]
|
||
VideoEncodeAV1OperatingPointInfoFlag :: enum u32 {
|
||
decoder_model_present_for_this_op,
|
||
low_delay_mode_flag,
|
||
initial_display_delay_present_for_this_op,
|
||
}
|
||
|
||
VideoEncodeAV1OperatingPointInfo :: struct {
|
||
flags: VideoEncodeAV1OperatingPointInfoFlags,
|
||
operating_point_idc: u16,
|
||
seq_level_idx: u8,
|
||
seq_tier: u8,
|
||
decoder_buffer_delay: u32,
|
||
encoder_buffer_delay: u32,
|
||
initial_display_delay_minus_1: u8,
|
||
}
|
||
|
||
VideoEncodeAV1PictureInfoFlags :: distinct bit_set[VideoEncodeAV1PictureInfoFlag; u32]
|
||
VideoEncodeAV1PictureInfoFlag :: enum u32 {
|
||
error_resilient_mode,
|
||
disable_cdf_update,
|
||
use_superres,
|
||
render_and_frame_size_different,
|
||
allow_screen_content_tools,
|
||
is_filter_switchable,
|
||
force_integer_mv,
|
||
frame_size_override_flag,
|
||
buffer_removal_time_present_flag,
|
||
allow_intrabc,
|
||
frame_refs_short_signaling,
|
||
allow_high_precision_mv,
|
||
is_motion_mode_switchable,
|
||
use_ref_frame_mvs,
|
||
disable_frame_end_update_cdf,
|
||
allow_warped_motion,
|
||
reduced_tx_set,
|
||
skip_mode_present,
|
||
delta_q_present,
|
||
delta_lf_present,
|
||
delta_lf_multi,
|
||
segmentation_enabled,
|
||
segmentation_update_map,
|
||
segmentation_temporal_update,
|
||
segmentation_update_data,
|
||
UsesLr,
|
||
usesChromaLr,
|
||
show_frame,
|
||
showable_frame,
|
||
}
|
||
|
||
VideoEncodeAV1PictureInfo :: struct {
|
||
flags: VideoEncodeAV1PictureInfoFlags,
|
||
frame_type: VideoAV1FrameType,
|
||
frame_presentation_time: u32,
|
||
current_frame_id: u32,
|
||
order_hint: u8,
|
||
primary_ref_frame: u8,
|
||
refresh_frame_flags: u8,
|
||
coded_denom: u8,
|
||
render_width_minus_1: u16,
|
||
render_height_minus_1: u16,
|
||
interpolation_filter: VideoAV1InterpolationFilter,
|
||
TxMode: VideoAV1TxMode,
|
||
delta_q_res: u8,
|
||
delta_lf_res: u8,
|
||
ref_order_hint: [VIDEO_AV1_NUM_REF_FRAMES]u8,
|
||
ref_frame_idx: [VIDEO_AV1_REFS_PER_FRAME]i8,
|
||
reserved1: [3]u8,
|
||
delta_frame_id_minus_1: [VIDEO_AV1_REFS_PER_FRAME]u32,
|
||
pTileInfo: ^VideoAV1TileInfo,
|
||
pQuantization: ^VideoAV1Quantization,
|
||
pSegmentation: ^VideoAV1Segmentation,
|
||
pLoopFilter: ^VideoAV1LoopFilter,
|
||
pCDEF: ^VideoAV1CDEF,
|
||
pLoopRestoration: ^VideoAV1LoopRestoration,
|
||
pGlobalMotion: ^VideoAV1GlobalMotion,
|
||
pExtensionHeader: ^VideoEncodeAV1ExtensionHeader,
|
||
pBufferRemovalTimes: [^]u32,
|
||
}
|
||
|
||
VideoEncodeAV1ReferenceInfoFlags :: distinct bit_set[VideoEncodeAV1ReferenceInfoFlag; u32]
|
||
VideoEncodeAV1ReferenceInfoFlag :: enum u32 {
|
||
disable_frame_end_update_cdf,
|
||
segmentation_enabled,
|
||
}
|
||
|
||
VideoEncodeAV1ReferenceInfo :: struct {
|
||
flags: VideoEncodeAV1ReferenceInfoFlags,
|
||
RefFrameId: u32,
|
||
frame_type: VideoAV1FrameType,
|
||
OrderHint: u8,
|
||
reserved1: [3]u8,
|
||
pExtensionHeader: ^VideoEncodeAV1ExtensionHeader,
|
||
}
|
||
|
||
VideoH264SpsVuiFlags :: distinct bit_set[VideoH264SpsVuiFlag; u32]
|
||
VideoH264SpsVuiFlag :: enum u32 {
|
||
aspect_ratio_info_present_flag,
|
||
overscan_info_present_flag,
|
||
overscan_appropriate_flag,
|
||
video_signal_type_present_flag,
|
||
video_full_range_flag,
|
||
color_description_present_flag,
|
||
chroma_loc_info_present_flag,
|
||
timing_info_present_flag,
|
||
fixed_frame_rate_flag,
|
||
bitstream_restriction_flag,
|
||
nal_hrd_parameters_present_flag,
|
||
vcl_hrd_parameters_present_flag,
|
||
}
|
||
|
||
VideoH264HrdParameters :: struct {
|
||
cpb_cnt_minus1: u8,
|
||
bit_rate_scale: u8,
|
||
cpb_size_scale: u8,
|
||
reserved1: u8,
|
||
bit_rate_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
|
||
cpb_size_value_minus1: [VIDEO_H264_CPB_CNT_LIST_SIZE]u32,
|
||
cbr_flag: [VIDEO_H264_CPB_CNT_LIST_SIZE]u8,
|
||
initial_cpb_removal_delay_length_minus1: u32,
|
||
cpb_removal_delay_length_minus1: u32,
|
||
dpb_output_delay_length_minus1: u32,
|
||
time_offset_length: u32,
|
||
}
|
||
|
||
VideoH264SequenceParameterSetVui :: struct {
|
||
flags: VideoH264SpsVuiFlags,
|
||
aspect_ratio_idc: VideoH264AspectRatioIdc,
|
||
sar_width: u16,
|
||
sar_height: u16,
|
||
video_format: u8,
|
||
colour_primaries: u8,
|
||
transfer_characteristics: u8,
|
||
matrix_coefficients: u8,
|
||
num_units_in_tick: u32,
|
||
time_scale: u32,
|
||
max_num_reorder_frames: u8,
|
||
max_dec_frame_buffering: u8,
|
||
chroma_sample_loc_type_top_field: u8,
|
||
chroma_sample_loc_type_bottom_field: u8,
|
||
reserved1: u32,
|
||
pHrdParameters: [^]VideoH264HrdParameters,
|
||
}
|
||
|
||
VideoH264SpsFlags :: distinct bit_set[VideoH264SpsFlag; u32]
|
||
VideoH264SpsFlag :: enum u32 {
|
||
constraint_set0_flag,
|
||
constraint_set1_flag,
|
||
constraint_set2_flag,
|
||
constraint_set3_flag,
|
||
constraint_set4_flag,
|
||
constraint_set5_flag,
|
||
direct_8x8_inference_flag,
|
||
mb_adaptive_frame_field_flag,
|
||
frame_mbs_only_flag,
|
||
delta_pic_order_always_zero_flag,
|
||
separate_colour_plane_flag,
|
||
gaps_in_frame_num_value_allowed_flag,
|
||
qpprime_y_zero_transform_bypass_flag,
|
||
frame_cropping_flag,
|
||
seq_scaling_matrix_present_flag,
|
||
vui_parameters_present_flag,
|
||
}
|
||
|
||
VideoH264ScalingLists :: struct {
|
||
scaling_list_present_mask: u16,
|
||
use_default_scaling_matrix_mask: u16,
|
||
ScalingList4x4: [VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
|
||
ScalingList8x8: [VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
|
||
}
|
||
|
||
VideoH264SequenceParameterSet :: struct {
|
||
flags: VideoH264SpsFlags,
|
||
profile_idc: VideoH264ProfileIdc,
|
||
level_idc: VideoH264LevelIdc,
|
||
chroma_format_idc: VideoH264ChromaFormatIdc,
|
||
seq_parameter_set_id: u8,
|
||
bit_depth_luma_minus8: u8,
|
||
bit_depth_chroma_minus8: u8,
|
||
log2_max_frame_num_minus4: u8,
|
||
pic_order_cnt_type: VideoH264PocType,
|
||
offset_for_non_ref_pic: i32,
|
||
offset_for_top_to_bottom_field: i32,
|
||
log2_max_pic_order_cnt_lsb_minus4: u8,
|
||
num_ref_frames_in_pic_order_cnt_cycle: u8,
|
||
max_num_ref_frames: u8,
|
||
reserved1: u8,
|
||
pic_width_in_mbs_minus1: u32,
|
||
pic_height_in_map_units_minus1: u32,
|
||
frame_crop_left_offset: u32,
|
||
frame_crop_right_offset: u32,
|
||
frame_crop_top_offset: u32,
|
||
frame_crop_bottom_offset: u32,
|
||
reserved2: u32,
|
||
pOffsetForRefFrame: ^i32,
|
||
pScalingLists: [^]VideoH264ScalingLists,
|
||
pSequenceParameterSetVui: ^VideoH264SequenceParameterSetVui,
|
||
}
|
||
|
||
VideoH264PpsFlags :: distinct bit_set[VideoH264PpsFlag; u32]
|
||
VideoH264PpsFlag :: enum u32 {
|
||
transform_8x8_mode_flag,
|
||
redundant_pic_cnt_present_flag,
|
||
constrained_intra_pred_flag,
|
||
deblocking_filter_control_present_flag,
|
||
weighted_pred_flag,
|
||
bottom_field_pic_order_in_frame_present_flag,
|
||
entropy_coding_mode_flag,
|
||
pic_scaling_matrix_present_flag,
|
||
}
|
||
|
||
VideoH264PictureParameterSet :: struct {
|
||
flags: VideoH264PpsFlags,
|
||
seq_parameter_set_id: u8,
|
||
pic_parameter_set_id: u8,
|
||
num_ref_idx_l0_default_active_minus1: u8,
|
||
num_ref_idx_l1_default_active_minus1: u8,
|
||
weighted_bipred_idc: VideoH264WeightedBipredIdc,
|
||
pic_init_qp_minus26: i8,
|
||
pic_init_qs_minus26: i8,
|
||
chroma_qp_index_offset: i8,
|
||
second_chroma_qp_index_offset: i8,
|
||
pScalingLists: [^]VideoH264ScalingLists,
|
||
}
|
||
|
||
VideoDecodeH264PictureInfoFlags :: distinct bit_set[VideoDecodeH264PictureInfoFlag; u32]
|
||
VideoDecodeH264PictureInfoFlag :: enum u32 {
|
||
field_pic_flag,
|
||
is_intra,
|
||
IdrPicFlag,
|
||
bottom_field_flag,
|
||
is_reference,
|
||
complementary_field_pair,
|
||
}
|
||
|
||
VideoDecodeH264PictureInfo :: struct {
|
||
flags: VideoDecodeH264PictureInfoFlags,
|
||
seq_parameter_set_id: u8,
|
||
pic_parameter_set_id: u8,
|
||
reserved1: u8,
|
||
reserved2: u8,
|
||
frame_num: u16,
|
||
idr_pic_id: u16,
|
||
PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
|
||
}
|
||
|
||
VideoDecodeH264ReferenceInfoFlags :: distinct bit_set[VideoDecodeH264ReferenceInfoFlag; u32]
|
||
VideoDecodeH264ReferenceInfoFlag :: enum u32 {
|
||
top_field_flag,
|
||
bottom_field_flag,
|
||
used_for_long_term_reference,
|
||
is_non_existing,
|
||
}
|
||
|
||
VideoDecodeH264ReferenceInfo :: struct {
|
||
flags: VideoDecodeH264ReferenceInfoFlags,
|
||
FrameNum: u16,
|
||
reserved: u16,
|
||
PicOrderCnt: [VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]i32,
|
||
}
|
||
|
||
VideoEncodeH264WeightTableFlags :: struct {
|
||
luma_weight_l0_flag: u32,
|
||
chroma_weight_l0_flag: u32,
|
||
luma_weight_l1_flag: u32,
|
||
chroma_weight_l1_flag: u32,
|
||
}
|
||
|
||
VideoEncodeH264WeightTable :: struct {
|
||
flags: VideoEncodeH264WeightTableFlags,
|
||
luma_log2_weight_denom: u8,
|
||
chroma_log2_weight_denom: u8,
|
||
luma_weight_l0: [VIDEO_H264_MAX_NUM_LIST_REF]i8,
|
||
luma_offset_l0: [VIDEO_H264_MAX_NUM_LIST_REF]i8,
|
||
chroma_weight_l0: [VIDEO_H264_MAX_NUM_LIST_REF][VIDEO_H264_MAX_CHROMA_PLANES]i8,
|
||
chroma_offset_l0: [VIDEO_H264_MAX_NUM_LIST_REF][VIDEO_H264_MAX_CHROMA_PLANES]i8,
|
||
luma_weight_l1: [VIDEO_H264_MAX_NUM_LIST_REF]i8,
|
||
luma_offset_l1: [VIDEO_H264_MAX_NUM_LIST_REF]i8,
|
||
chroma_weight_l1: [VIDEO_H264_MAX_NUM_LIST_REF][VIDEO_H264_MAX_CHROMA_PLANES]i8,
|
||
chroma_offset_l1: [VIDEO_H264_MAX_NUM_LIST_REF][VIDEO_H264_MAX_CHROMA_PLANES]i8,
|
||
}
|
||
|
||
VideoEncodeH264SliceHeaderFlags :: distinct bit_set[VideoEncodeH264SliceHeaderFlag; u32]
|
||
VideoEncodeH264SliceHeaderFlag :: enum u32 {
|
||
direct_spatial_mv_pred_flag,
|
||
num_ref_idx_active_override_flag,
|
||
}
|
||
|
||
VideoEncodeH264PictureInfoFlags :: distinct bit_set[VideoEncodeH264PictureInfoFlag; u32]
|
||
VideoEncodeH264PictureInfoFlag :: enum u32 {
|
||
IdrPicFlag,
|
||
is_reference,
|
||
no_output_of_prior_pics_flag,
|
||
long_term_reference_flag,
|
||
adaptive_ref_pic_marking_mode_flag,
|
||
}
|
||
|
||
VideoEncodeH264ReferenceInfoFlags :: distinct bit_set[VideoEncodeH264ReferenceInfoFlag; u32]
|
||
VideoEncodeH264ReferenceInfoFlag :: enum u32 {
|
||
used_for_long_term_reference,
|
||
}
|
||
|
||
VideoEncodeH264ReferenceListsInfoFlags :: distinct bit_set[VideoEncodeH264ReferenceListsInfoFlag; u32]
|
||
VideoEncodeH264ReferenceListsInfoFlag :: enum u32 {
|
||
ref_pic_list_modification_flag_l0,
|
||
ref_pic_list_modification_flag_l1,
|
||
}
|
||
|
||
VideoEncodeH264RefListModEntry :: struct {
|
||
modification_of_pic_nums_idc: VideoH264ModificationOfPicNumsIdc,
|
||
abs_diff_pic_num_minus1: u16,
|
||
long_term_pic_num: u16,
|
||
}
|
||
|
||
VideoEncodeH264RefPicMarkingEntry :: struct {
|
||
memory_management_control_operation: VideoH264MemMgmtControlOp,
|
||
difference_of_pic_nums_minus1: u16,
|
||
long_term_pic_num: u16,
|
||
long_term_frame_idx: u16,
|
||
max_long_term_frame_idx_plus1: u16,
|
||
}
|
||
|
||
VideoEncodeH264ReferenceListsInfo :: struct {
|
||
flags: VideoEncodeH264ReferenceListsInfoFlags,
|
||
num_ref_idx_l0_active_minus1: u8,
|
||
num_ref_idx_l1_active_minus1: u8,
|
||
RefPicList0: [VIDEO_H264_MAX_NUM_LIST_REF]u8,
|
||
RefPicList1: [VIDEO_H264_MAX_NUM_LIST_REF]u8,
|
||
refList0ModOpCount: u8,
|
||
refList1ModOpCount: u8,
|
||
refPicMarkingOpCount: u8,
|
||
reserved1: [7]u8,
|
||
pRefList0ModOperations: [^]VideoEncodeH264RefListModEntry,
|
||
pRefList1ModOperations: [^]VideoEncodeH264RefListModEntry,
|
||
pRefPicMarkingOperations: [^]VideoEncodeH264RefPicMarkingEntry,
|
||
}
|
||
|
||
VideoEncodeH264PictureInfo :: struct {
|
||
flags: VideoEncodeH264PictureInfoFlags,
|
||
seq_parameter_set_id: u8,
|
||
pic_parameter_set_id: u8,
|
||
idr_pic_id: u16,
|
||
primary_pic_type: VideoH264PictureType,
|
||
frame_num: u32,
|
||
PicOrderCnt: i32,
|
||
temporal_id: u8,
|
||
reserved1: [3]u8,
|
||
pRefLists: [^]VideoEncodeH264ReferenceListsInfo,
|
||
}
|
||
|
||
VideoEncodeH264ReferenceInfo :: struct {
|
||
flags: VideoEncodeH264ReferenceInfoFlags,
|
||
primary_pic_type: VideoH264PictureType,
|
||
FrameNum: u32,
|
||
PicOrderCnt: i32,
|
||
long_term_pic_num: u16,
|
||
long_term_frame_idx: u16,
|
||
temporal_id: u8,
|
||
}
|
||
|
||
VideoEncodeH264SliceHeader :: struct {
|
||
flags: VideoEncodeH264SliceHeaderFlags,
|
||
first_mb_in_slice: u32,
|
||
slice_type: VideoH264SliceType,
|
||
slice_alpha_c0_offset_div2: i8,
|
||
slice_beta_offset_div2: i8,
|
||
slice_qp_delta: i8,
|
||
reserved1: u8,
|
||
cabac_init_idc: VideoH264CabacInitIdc,
|
||
disable_deblocking_filter_idc: VideoH264DisableDeblockingFilterIdc,
|
||
pWeightTable: [^]VideoEncodeH264WeightTable,
|
||
}
|
||
|
||
VideoH265DecPicBufMgr :: struct {
|
||
max_latency_increase_plus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u32,
|
||
max_dec_pic_buffering_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
|
||
max_num_reorder_pics: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
|
||
}
|
||
|
||
VideoH265SubLayerHrdParameters :: struct {
|
||
bit_rate_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
|
||
cpb_size_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
|
||
cpb_size_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
|
||
bit_rate_du_value_minus1: [VIDEO_H265_CPB_CNT_LIST_SIZE]u32,
|
||
cbr_flag: u32,
|
||
}
|
||
|
||
VideoH265HrdFlags :: bit_field u32 {
|
||
nal_hrd_parameters_present_flag: u32 | 1,
|
||
vcl_hrd_parameters_present_flag: u32 | 1,
|
||
sub_pic_hrd_params_present_flag: u32 | 1,
|
||
sub_pic_cpb_params_in_pic_timing_sei_flag: u32 | 1,
|
||
fixed_pic_rate_general_flag: u32 | 8,
|
||
fixed_pic_rate_within_cvs_flag: u32 | 8,
|
||
low_delay_hrd_flag: u32 | 8,
|
||
}
|
||
|
||
VideoH265HrdParameters :: struct {
|
||
flags: VideoH265HrdFlags,
|
||
tick_divisor_minus2: u8,
|
||
du_cpb_removal_delay_increment_length_minus1: u8,
|
||
dpb_output_delay_du_length_minus1: u8,
|
||
bit_rate_scale: u8,
|
||
cpb_size_scale: u8,
|
||
cpb_size_du_scale: u8,
|
||
initial_cpb_removal_delay_length_minus1: u8,
|
||
au_cpb_removal_delay_length_minus1: u8,
|
||
dpb_output_delay_length_minus1: u8,
|
||
cpb_cnt_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u8,
|
||
elemental_duration_in_tc_minus1: [VIDEO_H265_SUBLAYERS_LIST_SIZE]u16,
|
||
reserved: [3]u16,
|
||
pSubLayerHrdParametersNal: ^VideoH265SubLayerHrdParameters,
|
||
pSubLayerHrdParametersVcl: ^VideoH265SubLayerHrdParameters,
|
||
}
|
||
|
||
VideoH265VpsFlags :: distinct bit_set[VideoH265VpsFlag; u32]
|
||
VideoH265VpsFlag :: enum u32 {
|
||
vps_temporal_id_nesting_flag,
|
||
vps_sub_layer_ordering_info_present_flag,
|
||
vps_timing_info_present_flag,
|
||
vps_poc_proportional_to_timing_flag,
|
||
}
|
||
|
||
VideoH265ProfileTierLevelFlags :: distinct bit_set[VideoH265ProfileTierLevelFlag; u32]
|
||
VideoH265ProfileTierLevelFlag :: enum u32 {
|
||
general_tier_flag,
|
||
general_progressive_source_flag,
|
||
general_interlaced_source_flag,
|
||
general_non_packed_constraint_flag,
|
||
general_frame_only_constraint_flag,
|
||
}
|
||
|
||
VideoH265ProfileTierLevel :: struct {
|
||
flags: VideoH265ProfileTierLevelFlags,
|
||
general_profile_idc: VideoH265ProfileIdc,
|
||
general_level_idc: VideoH265LevelIdc,
|
||
}
|
||
|
||
VideoH265VideoParameterSet :: struct {
|
||
flags: VideoH265VpsFlags,
|
||
vps_video_parameter_set_id: u8,
|
||
vps_max_sub_layers_minus1: u8,
|
||
reserved1: u8,
|
||
reserved2: u8,
|
||
vps_num_units_in_tick: u32,
|
||
vps_time_scale: u32,
|
||
vps_num_ticks_poc_diff_one_minus1: u32,
|
||
reserved3: u32,
|
||
pDecPicBufMgr: ^VideoH265DecPicBufMgr,
|
||
pHrdParameters: [^]VideoH265HrdParameters,
|
||
pProfileTierLevel: ^VideoH265ProfileTierLevel,
|
||
}
|
||
|
||
VideoH265ScalingLists :: struct {
|
||
ScalingList4x4: [VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]u8,
|
||
ScalingList8x8: [VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]u8,
|
||
ScalingList16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]u8,
|
||
ScalingList32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]u8,
|
||
ScalingListDCCoef16x16: [VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]u8,
|
||
ScalingListDCCoef32x32: [VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]u8,
|
||
}
|
||
|
||
VideoH265SpsVuiFlags :: distinct bit_set[VideoH265SpsVuiFlag; u32]
|
||
VideoH265SpsVuiFlag :: enum u32 {
|
||
aspect_ratio_info_present_flag,
|
||
overscan_info_present_flag,
|
||
overscan_appropriate_flag,
|
||
video_signal_type_present_flag,
|
||
video_full_range_flag,
|
||
colour_description_present_flag,
|
||
chroma_loc_info_present_flag,
|
||
neutral_chroma_indication_flag,
|
||
field_seq_flag,
|
||
frame_field_info_present_flag,
|
||
default_display_window_flag,
|
||
vui_timing_info_present_flag,
|
||
vui_poc_proportional_to_timing_flag,
|
||
vui_hrd_parameters_present_flag,
|
||
bitstream_restriction_flag,
|
||
tiles_fixed_structure_flag,
|
||
motion_vectors_over_pic_boundaries_flag,
|
||
restricted_ref_pic_lists_flag,
|
||
}
|
||
|
||
VideoH265SequenceParameterSetVui :: struct {
|
||
flags: VideoH265SpsVuiFlags,
|
||
aspect_ratio_idc: VideoH265AspectRatioIdc,
|
||
sar_width: u16,
|
||
sar_height: u16,
|
||
video_format: u8,
|
||
colour_primaries: u8,
|
||
transfer_characteristics: u8,
|
||
matrix_coeffs: u8,
|
||
chroma_sample_loc_type_top_field: u8,
|
||
chroma_sample_loc_type_bottom_field: u8,
|
||
reserved1: u8,
|
||
reserved2: u8,
|
||
def_disp_win_left_offset: u16,
|
||
def_disp_win_right_offset: u16,
|
||
def_disp_win_top_offset: u16,
|
||
def_disp_win_bottom_offset: u16,
|
||
vui_num_units_in_tick: u32,
|
||
vui_time_scale: u32,
|
||
vui_num_ticks_poc_diff_one_minus1: u32,
|
||
min_spatial_segmentation_idc: u16,
|
||
reserved3: u16,
|
||
max_bytes_per_pic_denom: u8,
|
||
max_bits_per_min_cu_denom: u8,
|
||
log2_max_mv_length_horizontal: u8,
|
||
log2_max_mv_length_vertical: u8,
|
||
pHrdParameters: [^]VideoH265HrdParameters,
|
||
}
|
||
|
||
VideoH265PredictorPaletteEntries :: struct {
|
||
PredictorPaletteEntries: [VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]u16,
|
||
}
|
||
|
||
VideoH265SpsFlags :: distinct bit_set[VideoH265SpsFlag; u32]
|
||
VideoH265SpsFlag :: enum u32 {
|
||
sps_temporal_id_nesting_flag,
|
||
separate_colour_plane_flag,
|
||
conformance_window_flag,
|
||
sps_sub_layer_ordering_info_present_flag,
|
||
scaling_list_enabled_flag,
|
||
sps_scaling_list_data_present_flag,
|
||
amp_enabled_flag,
|
||
sample_adaptive_offset_enabled_flag,
|
||
pcm_enabled_flag,
|
||
pcm_loop_filter_disabled_flag,
|
||
long_term_ref_pics_present_flag,
|
||
sps_temporal_mvp_enabled_flag,
|
||
strong_intra_smoothing_enabled_flag,
|
||
vui_parameters_present_flag,
|
||
sps_extension_present_flag,
|
||
sps_range_extension_flag,
|
||
transform_skip_rotation_enabled_flag,
|
||
transform_skip_context_enabled_flag,
|
||
implicit_rdpcm_enabled_flag,
|
||
explicit_rdpcm_enabled_flag,
|
||
extended_precision_processing_flag,
|
||
intra_smoothing_disabled_flag,
|
||
high_precision_offsets_enabled_flag,
|
||
persistent_rice_adaptation_enabled_flag,
|
||
cabac_bypass_alignment_enabled_flag,
|
||
sps_scc_extension_flag,
|
||
sps_curr_pic_ref_enabled_flag,
|
||
palette_mode_enabled_flag,
|
||
sps_palette_predictor_initializers_present_flag,
|
||
intra_boundary_filtering_disabled_flag,
|
||
}
|
||
|
||
VideoH265ShortTermRefPicSetFlags :: distinct bit_set[VideoH265ShortTermRefPicSetFlag; u32]
|
||
VideoH265ShortTermRefPicSetFlag :: enum u32 {
|
||
inter_ref_pic_set_prediction_flag,
|
||
delta_rps_sign,
|
||
}
|
||
|
||
VideoH265ShortTermRefPicSet :: struct {
|
||
flags: VideoH265ShortTermRefPicSetFlags,
|
||
delta_idx_minus1: u32,
|
||
use_delta_flag: u16,
|
||
abs_delta_rps_minus1: u16,
|
||
used_by_curr_pic_flag: u16,
|
||
used_by_curr_pic_s0_flag: u16,
|
||
used_by_curr_pic_s1_flag: u16,
|
||
reserved1: u16,
|
||
reserved2: u8,
|
||
reserved3: u8,
|
||
num_negative_pics: u8,
|
||
num_positive_pics: u8,
|
||
delta_poc_s0_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
|
||
delta_poc_s1_minus1: [VIDEO_H265_MAX_DPB_SIZE]u16,
|
||
}
|
||
|
||
VideoH265LongTermRefPicsSps :: struct {
|
||
used_by_curr_pic_lt_sps_flag: u32,
|
||
lt_ref_pic_poc_lsb_sps: [VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]u32,
|
||
}
|
||
|
||
VideoH265SequenceParameterSet :: struct {
|
||
flags: VideoH265SpsFlags,
|
||
chroma_format_idc: VideoH265ChromaFormatIdc,
|
||
pic_width_in_luma_samples: u32,
|
||
pic_height_in_luma_samples: u32,
|
||
sps_video_parameter_set_id: u8,
|
||
sps_max_sub_layers_minus1: u8,
|
||
sps_seq_parameter_set_id: u8,
|
||
bit_depth_luma_minus8: u8,
|
||
bit_depth_chroma_minus8: u8,
|
||
log2_max_pic_order_cnt_lsb_minus4: u8,
|
||
log2_min_luma_coding_block_size_minus3: u8,
|
||
log2_diff_max_min_luma_coding_block_size: u8,
|
||
log2_min_luma_transform_block_size_minus2: u8,
|
||
log2_diff_max_min_luma_transform_block_size: u8,
|
||
max_transform_hierarchy_depth_inter: u8,
|
||
max_transform_hierarchy_depth_intra: u8,
|
||
num_short_term_ref_pic_sets: u8,
|
||
num_long_term_ref_pics_sps: u8,
|
||
pcm_sample_bit_depth_luma_minus1: u8,
|
||
pcm_sample_bit_depth_chroma_minus1: u8,
|
||
log2_min_pcm_luma_coding_block_size_minus3: u8,
|
||
log2_diff_max_min_pcm_luma_coding_block_size: u8,
|
||
reserved1: u8,
|
||
reserved2: u8,
|
||
palette_max_size: u8,
|
||
delta_palette_max_predictor_size: u8,
|
||
motion_vector_resolution_control_idc: u8,
|
||
sps_num_palette_predictor_initializers_minus1: u8,
|
||
conf_win_left_offset: u32,
|
||
conf_win_right_offset: u32,
|
||
conf_win_top_offset: u32,
|
||
conf_win_bottom_offset: u32,
|
||
pProfileTierLevel: ^VideoH265ProfileTierLevel,
|
||
pDecPicBufMgr: ^VideoH265DecPicBufMgr,
|
||
pScalingLists: [^]VideoH265ScalingLists,
|
||
pShortTermRefPicSet: ^VideoH265ShortTermRefPicSet,
|
||
pLongTermRefPicsSps: [^]VideoH265LongTermRefPicsSps,
|
||
pSequenceParameterSetVui: ^VideoH265SequenceParameterSetVui,
|
||
pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
|
||
}
|
||
|
||
VideoH265PpsFlags :: distinct bit_set[VideoH265PpsFlag; u32]
|
||
VideoH265PpsFlag :: enum u32 {
|
||
dependent_slice_segments_enabled_flag,
|
||
output_flag_present_flag,
|
||
sign_data_hiding_enabled_flag,
|
||
cabac_init_present_flag,
|
||
constrained_intra_pred_flag,
|
||
transform_skip_enabled_flag,
|
||
cu_qp_delta_enabled_flag,
|
||
pps_slice_chroma_qp_offsets_present_flag,
|
||
weighted_pred_flag,
|
||
weighted_bipred_flag,
|
||
transquant_bypass_enabled_flag,
|
||
tiles_enabled_flag,
|
||
entropy_coding_sync_enabled_flag,
|
||
uniform_spacing_flag,
|
||
loop_filter_across_tiles_enabled_flag,
|
||
pps_loop_filter_across_slices_enabled_flag,
|
||
deblocking_filter_control_present_flag,
|
||
deblocking_filter_override_enabled_flag,
|
||
pps_deblocking_filter_disabled_flag,
|
||
pps_scaling_list_data_present_flag,
|
||
lists_modification_present_flag,
|
||
slice_segment_header_extension_present_flag,
|
||
pps_extension_present_flag,
|
||
cross_component_prediction_enabled_flag,
|
||
chroma_qp_offset_list_enabled_flag,
|
||
pps_curr_pic_ref_enabled_flag,
|
||
residual_adaptive_colour_transform_enabled_flag,
|
||
pps_slice_act_qp_offsets_present_flag,
|
||
pps_palette_predictor_initializers_present_flag,
|
||
monochrome_palette_flag,
|
||
pps_range_extension_flag,
|
||
}
|
||
|
||
VideoH265PictureParameterSet :: struct {
|
||
flags: VideoH265PpsFlags,
|
||
pps_pic_parameter_set_id: u8,
|
||
pps_seq_parameter_set_id: u8,
|
||
sps_video_parameter_set_id: u8,
|
||
num_extra_slice_header_bits: u8,
|
||
num_ref_idx_l0_default_active_minus1: u8,
|
||
num_ref_idx_l1_default_active_minus1: u8,
|
||
init_qp_minus26: i8,
|
||
diff_cu_qp_delta_depth: u8,
|
||
pps_cb_qp_offset: i8,
|
||
pps_cr_qp_offset: i8,
|
||
pps_beta_offset_div2: i8,
|
||
pps_tc_offset_div2: i8,
|
||
log2_parallel_merge_level_minus2: u8,
|
||
log2_max_transform_skip_block_size_minus2: u8,
|
||
diff_cu_chroma_qp_offset_depth: u8,
|
||
chroma_qp_offset_list_len_minus1: u8,
|
||
cb_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
|
||
cr_qp_offset_list: [VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]i8,
|
||
log2_sao_offset_scale_luma: u8,
|
||
log2_sao_offset_scale_chroma: u8,
|
||
pps_act_y_qp_offset_plus5: i8,
|
||
pps_act_cb_qp_offset_plus5: i8,
|
||
pps_act_cr_qp_offset_plus3: i8,
|
||
pps_num_palette_predictor_initializers: u8,
|
||
luma_bit_depth_entry_minus8: u8,
|
||
chroma_bit_depth_entry_minus8: u8,
|
||
num_tile_columns_minus1: u8,
|
||
num_tile_rows_minus1: u8,
|
||
reserved1: u8,
|
||
reserved2: u8,
|
||
column_width_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]u16,
|
||
row_height_minus1: [VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]u16,
|
||
reserved3: u32,
|
||
pScalingLists: [^]VideoH265ScalingLists,
|
||
pPredictorPaletteEntries: [^]VideoH265PredictorPaletteEntries,
|
||
}
|
||
|
||
VideoDecodeH265PictureInfoFlags :: distinct bit_set[VideoDecodeH265PictureInfoFlag; u32]
|
||
VideoDecodeH265PictureInfoFlag :: enum u32 {
|
||
IrapPicFlag,
|
||
IdrPicFlag,
|
||
IsReference,
|
||
short_term_ref_pic_set_sps_flag,
|
||
}
|
||
|
||
VideoDecodeH265PictureInfo :: struct {
|
||
flags: VideoDecodeH265PictureInfoFlags,
|
||
sps_video_parameter_set_id: u8,
|
||
pps_seq_parameter_set_id: u8,
|
||
pps_pic_parameter_set_id: u8,
|
||
NumDeltaPocsOfRefRpsIdx: u8,
|
||
PicOrderCntVal: i32,
|
||
NumBitsForSTRefPicSetInSlice: u16,
|
||
reserved: u16,
|
||
RefPicSetStCurrBefore: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
|
||
RefPicSetStCurrAfter: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
|
||
RefPicSetLtCurr: [VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]u8,
|
||
}
|
||
|
||
VideoDecodeH265ReferenceInfoFlags :: distinct bit_set[VideoDecodeH265ReferenceInfoFlag; u32]
|
||
VideoDecodeH265ReferenceInfoFlag :: enum u32 {
|
||
used_for_long_term_reference,
|
||
unused_for_reference,
|
||
}
|
||
|
||
VideoDecodeH265ReferenceInfo :: struct {
|
||
flags: VideoDecodeH265ReferenceInfoFlags,
|
||
PicOrderCntVal: i32,
|
||
}
|
||
|
||
VideoEncodeH265WeightTableFlags :: struct {
|
||
luma_weight_l0_flag: u16,
|
||
chroma_weight_l0_flag: u16,
|
||
luma_weight_l1_flag: u16,
|
||
chroma_weight_l1_flag: u16,
|
||
}
|
||
|
||
VideoEncodeH265WeightTable :: struct {
|
||
flags: VideoEncodeH265WeightTableFlags,
|
||
luma_log2_weight_denom: u8,
|
||
delta_chroma_log2_weight_denom: i8,
|
||
delta_luma_weight_l0: [VIDEO_H265_MAX_NUM_LIST_REF]i8,
|
||
luma_offset_l0: [VIDEO_H265_MAX_NUM_LIST_REF]i8,
|
||
delta_chroma_weight_l0: [VIDEO_H265_MAX_NUM_LIST_REF][VIDEO_H265_MAX_CHROMA_PLANES]i8,
|
||
delta_chroma_offset_l0: [VIDEO_H265_MAX_NUM_LIST_REF][VIDEO_H265_MAX_CHROMA_PLANES]i8,
|
||
delta_luma_weight_l1: [VIDEO_H265_MAX_NUM_LIST_REF]i8,
|
||
luma_offset_l1: [VIDEO_H265_MAX_NUM_LIST_REF]i8,
|
||
delta_chroma_weight_l1: [VIDEO_H265_MAX_NUM_LIST_REF][VIDEO_H265_MAX_CHROMA_PLANES]i8,
|
||
delta_chroma_offset_l1: [VIDEO_H265_MAX_NUM_LIST_REF][VIDEO_H265_MAX_CHROMA_PLANES]i8,
|
||
}
|
||
|
||
VideoEncodeH265SliceSegmentHeaderFlags :: distinct bit_set[VideoEncodeH265SliceSegmentHeaderFlag; u32]
|
||
VideoEncodeH265SliceSegmentHeaderFlag :: enum u32 {
|
||
first_slice_segment_in_pic_flag,
|
||
dependent_slice_segment_flag,
|
||
slice_sao_luma_flag,
|
||
slice_sao_chroma_flag,
|
||
num_ref_idx_active_override_flag,
|
||
mvd_l1_zero_flag,
|
||
cabac_init_flag,
|
||
cu_chroma_qp_offset_enabled_flag,
|
||
deblocking_filter_override_flag,
|
||
slice_deblocking_filter_disabled_flag,
|
||
collocated_from_l0_flag,
|
||
slice_loop_filter_across_slices_enabled_flag,
|
||
}
|
||
|
||
VideoEncodeH265SliceSegmentHeader :: struct {
|
||
flags: VideoEncodeH265SliceSegmentHeaderFlags,
|
||
slice_type: VideoH265SliceType,
|
||
slice_segment_address: u32,
|
||
collocated_ref_idx: u8,
|
||
MaxNumMergeCand: u8,
|
||
slice_cb_qp_offset: i8,
|
||
slice_cr_qp_offset: i8,
|
||
slice_beta_offset_div2: i8,
|
||
slice_tc_offset_div2: i8,
|
||
slice_act_y_qp_offset: i8,
|
||
slice_act_cb_qp_offset: i8,
|
||
slice_act_cr_qp_offset: i8,
|
||
slice_qp_delta: i8,
|
||
reserved1: u16,
|
||
pWeightTable: [^]VideoEncodeH265WeightTable,
|
||
}
|
||
|
||
VideoEncodeH265ReferenceListsInfoFlags :: distinct bit_set[VideoEncodeH265ReferenceListsInfoFlag; u32]
|
||
VideoEncodeH265ReferenceListsInfoFlag :: enum u32 {
|
||
ref_pic_list_modification_flag_l0,
|
||
ref_pic_list_modification_flag_l1,
|
||
}
|
||
|
||
VideoEncodeH265ReferenceListsInfo :: struct {
|
||
flags: VideoEncodeH265ReferenceListsInfoFlags,
|
||
num_ref_idx_l0_active_minus1: u8,
|
||
num_ref_idx_l1_active_minus1: u8,
|
||
RefPicList0: [VIDEO_H265_MAX_NUM_LIST_REF]u8,
|
||
RefPicList1: [VIDEO_H265_MAX_NUM_LIST_REF]u8,
|
||
list_entry_l0: [VIDEO_H265_MAX_NUM_LIST_REF]u8,
|
||
list_entry_l1: [VIDEO_H265_MAX_NUM_LIST_REF]u8,
|
||
}
|
||
|
||
VideoEncodeH265PictureInfoFlags :: distinct bit_set[VideoEncodeH265PictureInfoFlag; u32]
|
||
VideoEncodeH265PictureInfoFlag :: enum u32 {
|
||
is_reference,
|
||
IrapPicFlag,
|
||
used_for_long_term_reference,
|
||
discardable_flag,
|
||
cross_layer_bla_flag,
|
||
pic_output_flag,
|
||
no_output_of_prior_pics_flag,
|
||
short_term_ref_pic_set_sps_flag,
|
||
slice_temporal_mvp_enabled_flag,
|
||
}
|
||
|
||
VideoEncodeH265LongTermRefPics :: struct {
|
||
num_long_term_sps: u8,
|
||
num_long_term_pics: u8,
|
||
lt_idx_sps: [VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]u8,
|
||
poc_lsb_lt: [VIDEO_H265_MAX_LONG_TERM_PICS]u8,
|
||
used_by_curr_pic_lt_flag: u16,
|
||
delta_poc_msb_present_flag: [VIDEO_H265_MAX_DELTA_POC]u8,
|
||
delta_poc_msb_cycle_lt: [VIDEO_H265_MAX_DELTA_POC]u8,
|
||
}
|
||
|
||
VideoEncodeH265PictureInfo :: struct {
|
||
flags: VideoEncodeH265PictureInfoFlags,
|
||
pic_type: VideoH265PictureType,
|
||
sps_video_parameter_set_id: u8,
|
||
pps_seq_parameter_set_id: u8,
|
||
pps_pic_parameter_set_id: u8,
|
||
short_term_ref_pic_set_idx: u8,
|
||
PicOrderCntVal: i32,
|
||
TemporalId: u8,
|
||
reserved1: [7]u8,
|
||
pRefLists: [^]VideoEncodeH265ReferenceListsInfo,
|
||
pShortTermRefPicSet: ^VideoH265ShortTermRefPicSet,
|
||
pLongTermRefPics: [^]VideoEncodeH265LongTermRefPics,
|
||
}
|
||
|
||
VideoEncodeH265ReferenceInfoFlags :: distinct bit_set[VideoEncodeH265ReferenceInfoFlag; u32]
|
||
VideoEncodeH265ReferenceInfoFlag :: enum u32 {
|
||
used_for_long_term_reference,
|
||
unused_for_reference,
|
||
}
|
||
|
||
VideoEncodeH265ReferenceInfo :: struct {
|
||
flags: VideoEncodeH265ReferenceInfoFlags,
|
||
pic_type: VideoH265PictureType,
|
||
PicOrderCntVal: i32,
|
||
TemporalId: u8,
|
||
}
|
||
|
||
// Opaque structs
|
||
|
||
wl_surface :: struct {} // Opaque struct defined by Wayland
|
||
wl_display :: struct {} // Opaque struct defined by Wayland
|
||
xcb_connection_t :: struct {} // Opaque struct defined by xcb
|
||
IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework
|
||
// Aliases
|
||
PhysicalDeviceVariablePointerFeatures :: PhysicalDeviceVariablePointersFeatures
|
||
PhysicalDeviceShaderDrawParameterFeatures :: PhysicalDeviceShaderDrawParametersFeatures
|
||
RenderingFlagsKHR :: RenderingFlags
|
||
RenderingFlagKHR :: RenderingFlag
|
||
RenderingInfoKHR :: RenderingInfo
|
||
RenderingAttachmentInfoKHR :: RenderingAttachmentInfo
|
||
PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfo
|
||
PhysicalDeviceDynamicRenderingFeaturesKHR :: PhysicalDeviceDynamicRenderingFeatures
|
||
CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfo
|
||
RenderPassMultiviewCreateInfoKHR :: RenderPassMultiviewCreateInfo
|
||
PhysicalDeviceMultiviewFeaturesKHR :: PhysicalDeviceMultiviewFeatures
|
||
PhysicalDeviceMultiviewPropertiesKHR :: PhysicalDeviceMultiviewProperties
|
||
PhysicalDeviceFeatures2KHR :: PhysicalDeviceFeatures2
|
||
PhysicalDeviceProperties2KHR :: PhysicalDeviceProperties2
|
||
FormatProperties2KHR :: FormatProperties2
|
||
ImageFormatProperties2KHR :: ImageFormatProperties2
|
||
PhysicalDeviceImageFormatInfo2KHR :: PhysicalDeviceImageFormatInfo2
|
||
QueueFamilyProperties2KHR :: QueueFamilyProperties2
|
||
PhysicalDeviceMemoryProperties2KHR :: PhysicalDeviceMemoryProperties2
|
||
SparseImageFormatProperties2KHR :: SparseImageFormatProperties2
|
||
PhysicalDeviceSparseImageFormatInfo2KHR :: PhysicalDeviceSparseImageFormatInfo2
|
||
PeerMemoryFeatureFlagsKHR :: PeerMemoryFeatureFlags
|
||
PeerMemoryFeatureFlagKHR :: PeerMemoryFeatureFlag
|
||
MemoryAllocateFlagsKHR :: MemoryAllocateFlags
|
||
MemoryAllocateFlagKHR :: MemoryAllocateFlag
|
||
MemoryAllocateFlagsInfoKHR :: MemoryAllocateFlagsInfo
|
||
DeviceGroupRenderPassBeginInfoKHR :: DeviceGroupRenderPassBeginInfo
|
||
DeviceGroupCommandBufferBeginInfoKHR :: DeviceGroupCommandBufferBeginInfo
|
||
DeviceGroupSubmitInfoKHR :: DeviceGroupSubmitInfo
|
||
DeviceGroupBindSparseInfoKHR :: DeviceGroupBindSparseInfo
|
||
BindBufferMemoryDeviceGroupInfoKHR :: BindBufferMemoryDeviceGroupInfo
|
||
BindImageMemoryDeviceGroupInfoKHR :: BindImageMemoryDeviceGroupInfo
|
||
CommandPoolTrimFlagsKHR :: CommandPoolTrimFlags
|
||
PhysicalDeviceGroupPropertiesKHR :: PhysicalDeviceGroupProperties
|
||
DeviceGroupDeviceCreateInfoKHR :: DeviceGroupDeviceCreateInfo
|
||
ExternalMemoryHandleTypeFlagsKHR :: ExternalMemoryHandleTypeFlags
|
||
ExternalMemoryHandleTypeFlagKHR :: ExternalMemoryHandleTypeFlag
|
||
ExternalMemoryFeatureFlagsKHR :: ExternalMemoryFeatureFlags
|
||
ExternalMemoryFeatureFlagKHR :: ExternalMemoryFeatureFlag
|
||
ExternalMemoryPropertiesKHR :: ExternalMemoryProperties
|
||
PhysicalDeviceExternalImageFormatInfoKHR :: PhysicalDeviceExternalImageFormatInfo
|
||
ExternalImageFormatPropertiesKHR :: ExternalImageFormatProperties
|
||
PhysicalDeviceExternalBufferInfoKHR :: PhysicalDeviceExternalBufferInfo
|
||
ExternalBufferPropertiesKHR :: ExternalBufferProperties
|
||
PhysicalDeviceIDPropertiesKHR :: PhysicalDeviceIDProperties
|
||
ExternalMemoryImageCreateInfoKHR :: ExternalMemoryImageCreateInfo
|
||
ExternalMemoryBufferCreateInfoKHR :: ExternalMemoryBufferCreateInfo
|
||
ExportMemoryAllocateInfoKHR :: ExportMemoryAllocateInfo
|
||
ExternalSemaphoreHandleTypeFlagsKHR :: ExternalSemaphoreHandleTypeFlags
|
||
ExternalSemaphoreHandleTypeFlagKHR :: ExternalSemaphoreHandleTypeFlag
|
||
ExternalSemaphoreFeatureFlagsKHR :: ExternalSemaphoreFeatureFlags
|
||
ExternalSemaphoreFeatureFlagKHR :: ExternalSemaphoreFeatureFlag
|
||
PhysicalDeviceExternalSemaphoreInfoKHR :: PhysicalDeviceExternalSemaphoreInfo
|
||
ExternalSemaphorePropertiesKHR :: ExternalSemaphoreProperties
|
||
SemaphoreImportFlagsKHR :: SemaphoreImportFlags
|
||
SemaphoreImportFlagKHR :: SemaphoreImportFlag
|
||
ExportSemaphoreCreateInfoKHR :: ExportSemaphoreCreateInfo
|
||
PhysicalDevicePushDescriptorPropertiesKHR :: PhysicalDevicePushDescriptorProperties
|
||
PhysicalDeviceShaderFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
|
||
PhysicalDeviceFloat16Int8FeaturesKHR :: PhysicalDeviceShaderFloat16Int8Features
|
||
PhysicalDevice16BitStorageFeaturesKHR :: PhysicalDevice16BitStorageFeatures
|
||
DescriptorUpdateTemplateKHR :: DescriptorUpdateTemplate
|
||
DescriptorUpdateTemplateTypeKHR :: DescriptorUpdateTemplateType
|
||
DescriptorUpdateTemplateCreateFlagsKHR :: DescriptorUpdateTemplateCreateFlags
|
||
DescriptorUpdateTemplateEntryKHR :: DescriptorUpdateTemplateEntry
|
||
DescriptorUpdateTemplateCreateInfoKHR :: DescriptorUpdateTemplateCreateInfo
|
||
PhysicalDeviceImagelessFramebufferFeaturesKHR :: PhysicalDeviceImagelessFramebufferFeatures
|
||
FramebufferAttachmentsCreateInfoKHR :: FramebufferAttachmentsCreateInfo
|
||
FramebufferAttachmentImageInfoKHR :: FramebufferAttachmentImageInfo
|
||
RenderPassAttachmentBeginInfoKHR :: RenderPassAttachmentBeginInfo
|
||
RenderPassCreateInfo2KHR :: RenderPassCreateInfo2
|
||
AttachmentDescription2KHR :: AttachmentDescription2
|
||
AttachmentReference2KHR :: AttachmentReference2
|
||
SubpassDescription2KHR :: SubpassDescription2
|
||
SubpassDependency2KHR :: SubpassDependency2
|
||
SubpassBeginInfoKHR :: SubpassBeginInfo
|
||
SubpassEndInfoKHR :: SubpassEndInfo
|
||
ExternalFenceHandleTypeFlagsKHR :: ExternalFenceHandleTypeFlags
|
||
ExternalFenceHandleTypeFlagKHR :: ExternalFenceHandleTypeFlag
|
||
ExternalFenceFeatureFlagsKHR :: ExternalFenceFeatureFlags
|
||
ExternalFenceFeatureFlagKHR :: ExternalFenceFeatureFlag
|
||
PhysicalDeviceExternalFenceInfoKHR :: PhysicalDeviceExternalFenceInfo
|
||
ExternalFencePropertiesKHR :: ExternalFenceProperties
|
||
FenceImportFlagsKHR :: FenceImportFlags
|
||
FenceImportFlagKHR :: FenceImportFlag
|
||
ExportFenceCreateInfoKHR :: ExportFenceCreateInfo
|
||
PointClippingBehaviorKHR :: PointClippingBehavior
|
||
TessellationDomainOriginKHR :: TessellationDomainOrigin
|
||
PhysicalDevicePointClippingPropertiesKHR :: PhysicalDevicePointClippingProperties
|
||
RenderPassInputAttachmentAspectCreateInfoKHR :: RenderPassInputAttachmentAspectCreateInfo
|
||
InputAttachmentAspectReferenceKHR :: InputAttachmentAspectReference
|
||
ImageViewUsageCreateInfoKHR :: ImageViewUsageCreateInfo
|
||
PipelineTessellationDomainOriginStateCreateInfoKHR :: PipelineTessellationDomainOriginStateCreateInfo
|
||
PhysicalDeviceVariablePointerFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
|
||
PhysicalDeviceVariablePointersFeaturesKHR :: PhysicalDeviceVariablePointersFeatures
|
||
MemoryDedicatedRequirementsKHR :: MemoryDedicatedRequirements
|
||
MemoryDedicatedAllocateInfoKHR :: MemoryDedicatedAllocateInfo
|
||
BufferMemoryRequirementsInfo2KHR :: BufferMemoryRequirementsInfo2
|
||
ImageMemoryRequirementsInfo2KHR :: ImageMemoryRequirementsInfo2
|
||
ImageSparseMemoryRequirementsInfo2KHR :: ImageSparseMemoryRequirementsInfo2
|
||
MemoryRequirements2KHR :: MemoryRequirements2
|
||
SparseImageMemoryRequirements2KHR :: SparseImageMemoryRequirements2
|
||
ImageFormatListCreateInfoKHR :: ImageFormatListCreateInfo
|
||
SamplerYcbcrConversionKHR :: SamplerYcbcrConversion
|
||
SamplerYcbcrModelConversionKHR :: SamplerYcbcrModelConversion
|
||
SamplerYcbcrRangeKHR :: SamplerYcbcrRange
|
||
ChromaLocationKHR :: ChromaLocation
|
||
SamplerYcbcrConversionCreateInfoKHR :: SamplerYcbcrConversionCreateInfo
|
||
SamplerYcbcrConversionInfoKHR :: SamplerYcbcrConversionInfo
|
||
BindImagePlaneMemoryInfoKHR :: BindImagePlaneMemoryInfo
|
||
ImagePlaneMemoryRequirementsInfoKHR :: ImagePlaneMemoryRequirementsInfo
|
||
PhysicalDeviceSamplerYcbcrConversionFeaturesKHR :: PhysicalDeviceSamplerYcbcrConversionFeatures
|
||
SamplerYcbcrConversionImageFormatPropertiesKHR :: SamplerYcbcrConversionImageFormatProperties
|
||
BindBufferMemoryInfoKHR :: BindBufferMemoryInfo
|
||
BindImageMemoryInfoKHR :: BindImageMemoryInfo
|
||
PhysicalDeviceMaintenance3PropertiesKHR :: PhysicalDeviceMaintenance3Properties
|
||
DescriptorSetLayoutSupportKHR :: DescriptorSetLayoutSupport
|
||
PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR :: PhysicalDeviceShaderSubgroupExtendedTypesFeatures
|
||
PhysicalDevice8BitStorageFeaturesKHR :: PhysicalDevice8BitStorageFeatures
|
||
PhysicalDeviceShaderAtomicInt64FeaturesKHR :: PhysicalDeviceShaderAtomicInt64Features
|
||
QueueGlobalPriorityKHR :: QueueGlobalPriority
|
||
DeviceQueueGlobalPriorityCreateInfoKHR :: DeviceQueueGlobalPriorityCreateInfo
|
||
PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: PhysicalDeviceGlobalPriorityQueryFeatures
|
||
QueueFamilyGlobalPriorityPropertiesKHR :: QueueFamilyGlobalPriorityProperties
|
||
DriverIdKHR :: DriverId
|
||
ConformanceVersionKHR :: ConformanceVersion
|
||
PhysicalDeviceDriverPropertiesKHR :: PhysicalDeviceDriverProperties
|
||
ShaderFloatControlsIndependenceKHR :: ShaderFloatControlsIndependence
|
||
PhysicalDeviceFloatControlsPropertiesKHR :: PhysicalDeviceFloatControlsProperties
|
||
ResolveModeFlagKHR :: ResolveModeFlag
|
||
ResolveModeFlagsKHR :: ResolveModeFlags
|
||
SubpassDescriptionDepthStencilResolveKHR :: SubpassDescriptionDepthStencilResolve
|
||
PhysicalDeviceDepthStencilResolvePropertiesKHR :: PhysicalDeviceDepthStencilResolveProperties
|
||
SemaphoreTypeKHR :: SemaphoreType
|
||
SemaphoreWaitFlagKHR :: SemaphoreWaitFlag
|
||
SemaphoreWaitFlagsKHR :: SemaphoreWaitFlags
|
||
PhysicalDeviceTimelineSemaphoreFeaturesKHR :: PhysicalDeviceTimelineSemaphoreFeatures
|
||
PhysicalDeviceTimelineSemaphorePropertiesKHR :: PhysicalDeviceTimelineSemaphoreProperties
|
||
SemaphoreTypeCreateInfoKHR :: SemaphoreTypeCreateInfo
|
||
TimelineSemaphoreSubmitInfoKHR :: TimelineSemaphoreSubmitInfo
|
||
SemaphoreWaitInfoKHR :: SemaphoreWaitInfo
|
||
SemaphoreSignalInfoKHR :: SemaphoreSignalInfo
|
||
PhysicalDeviceVulkanMemoryModelFeaturesKHR :: PhysicalDeviceVulkanMemoryModelFeatures
|
||
PhysicalDeviceShaderTerminateInvocationFeaturesKHR :: PhysicalDeviceShaderTerminateInvocationFeatures
|
||
PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR :: PhysicalDeviceDynamicRenderingLocalReadFeatures
|
||
RenderingAttachmentLocationInfoKHR :: RenderingAttachmentLocationInfo
|
||
RenderingInputAttachmentIndexInfoKHR :: RenderingInputAttachmentIndexInfo
|
||
PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures
|
||
AttachmentReferenceStencilLayoutKHR :: AttachmentReferenceStencilLayout
|
||
AttachmentDescriptionStencilLayoutKHR :: AttachmentDescriptionStencilLayout
|
||
PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR :: PhysicalDeviceUniformBufferStandardLayoutFeatures
|
||
PhysicalDeviceBufferDeviceAddressFeaturesKHR :: PhysicalDeviceBufferDeviceAddressFeatures
|
||
BufferDeviceAddressInfoKHR :: BufferDeviceAddressInfo
|
||
BufferOpaqueCaptureAddressCreateInfoKHR :: BufferOpaqueCaptureAddressCreateInfo
|
||
MemoryOpaqueCaptureAddressAllocateInfoKHR :: MemoryOpaqueCaptureAddressAllocateInfo
|
||
DeviceMemoryOpaqueCaptureAddressInfoKHR :: DeviceMemoryOpaqueCaptureAddressInfo
|
||
MemoryUnmapFlagKHR :: MemoryUnmapFlag
|
||
MemoryUnmapFlagsKHR :: MemoryUnmapFlags
|
||
MemoryMapInfoKHR :: MemoryMapInfo
|
||
MemoryUnmapInfoKHR :: MemoryUnmapInfo
|
||
PhysicalDeviceShaderIntegerDotProductFeaturesKHR :: PhysicalDeviceShaderIntegerDotProductFeatures
|
||
PhysicalDeviceShaderIntegerDotProductPropertiesKHR :: PhysicalDeviceShaderIntegerDotProductProperties
|
||
PipelineStageFlags2KHR :: PipelineStageFlags2
|
||
PipelineStageFlag2KHR :: PipelineStageFlag2
|
||
AccessFlags2KHR :: AccessFlags2
|
||
AccessFlag2KHR :: AccessFlag2
|
||
SubmitFlagKHR :: SubmitFlag
|
||
SubmitFlagsKHR :: SubmitFlags
|
||
MemoryBarrier2KHR :: MemoryBarrier2
|
||
BufferMemoryBarrier2KHR :: BufferMemoryBarrier2
|
||
ImageMemoryBarrier2KHR :: ImageMemoryBarrier2
|
||
DependencyInfoKHR :: DependencyInfo
|
||
SubmitInfo2KHR :: SubmitInfo2
|
||
SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfo
|
||
CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfo
|
||
PhysicalDeviceSynchronization2FeaturesKHR :: PhysicalDeviceSynchronization2Features
|
||
PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR :: PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
|
||
CopyBufferInfo2KHR :: CopyBufferInfo2
|
||
CopyImageInfo2KHR :: CopyImageInfo2
|
||
CopyBufferToImageInfo2KHR :: CopyBufferToImageInfo2
|
||
CopyImageToBufferInfo2KHR :: CopyImageToBufferInfo2
|
||
BlitImageInfo2KHR :: BlitImageInfo2
|
||
ResolveImageInfo2KHR :: ResolveImageInfo2
|
||
BufferCopy2KHR :: BufferCopy2
|
||
ImageCopy2KHR :: ImageCopy2
|
||
ImageBlit2KHR :: ImageBlit2
|
||
BufferImageCopy2KHR :: BufferImageCopy2
|
||
ImageResolve2KHR :: ImageResolve2
|
||
FormatFeatureFlags2KHR :: FormatFeatureFlags2
|
||
FormatFeatureFlag2KHR :: FormatFeatureFlag2
|
||
FormatProperties3KHR :: FormatProperties3
|
||
PhysicalDeviceMaintenance4FeaturesKHR :: PhysicalDeviceMaintenance4Features
|
||
PhysicalDeviceMaintenance4PropertiesKHR :: PhysicalDeviceMaintenance4Properties
|
||
DeviceBufferMemoryRequirementsKHR :: DeviceBufferMemoryRequirements
|
||
DeviceImageMemoryRequirementsKHR :: DeviceImageMemoryRequirements
|
||
PhysicalDeviceShaderSubgroupRotateFeaturesKHR :: PhysicalDeviceShaderSubgroupRotateFeatures
|
||
PipelineCreateFlags2KHR :: PipelineCreateFlags2
|
||
PipelineCreateFlag2KHR :: PipelineCreateFlag2
|
||
BufferUsageFlags2KHR :: BufferUsageFlags2
|
||
BufferUsageFlag2KHR :: BufferUsageFlag2
|
||
PhysicalDeviceMaintenance5FeaturesKHR :: PhysicalDeviceMaintenance5Features
|
||
PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5Properties
|
||
RenderingAreaInfoKHR :: RenderingAreaInfo
|
||
DeviceImageSubresourceInfoKHR :: DeviceImageSubresourceInfo
|
||
ImageSubresource2KHR :: ImageSubresource2
|
||
SubresourceLayout2KHR :: SubresourceLayout2
|
||
PipelineCreateFlags2CreateInfoKHR :: PipelineCreateFlags2CreateInfo
|
||
BufferUsageFlags2CreateInfoKHR :: BufferUsageFlags2CreateInfo
|
||
PhysicalDeviceVertexAttributeDivisorPropertiesKHR :: PhysicalDeviceVertexAttributeDivisorProperties
|
||
VertexInputBindingDivisorDescriptionKHR :: VertexInputBindingDivisorDescription
|
||
PipelineVertexInputDivisorStateCreateInfoKHR :: PipelineVertexInputDivisorStateCreateInfo
|
||
PhysicalDeviceVertexAttributeDivisorFeaturesKHR :: PhysicalDeviceVertexAttributeDivisorFeatures
|
||
PhysicalDeviceShaderFloatControls2FeaturesKHR :: PhysicalDeviceShaderFloatControls2Features
|
||
PhysicalDeviceIndexTypeUint8FeaturesKHR :: PhysicalDeviceIndexTypeUint8Features
|
||
LineRasterizationModeKHR :: LineRasterizationMode
|
||
PhysicalDeviceLineRasterizationFeaturesKHR :: PhysicalDeviceLineRasterizationFeatures
|
||
PhysicalDeviceLineRasterizationPropertiesKHR :: PhysicalDeviceLineRasterizationProperties
|
||
PipelineRasterizationLineStateCreateInfoKHR :: PipelineRasterizationLineStateCreateInfo
|
||
PhysicalDeviceShaderExpectAssumeFeaturesKHR :: PhysicalDeviceShaderExpectAssumeFeatures
|
||
PhysicalDeviceMaintenance6FeaturesKHR :: PhysicalDeviceMaintenance6Features
|
||
PhysicalDeviceMaintenance6PropertiesKHR :: PhysicalDeviceMaintenance6Properties
|
||
BindMemoryStatusKHR :: BindMemoryStatus
|
||
BindDescriptorSetsInfoKHR :: BindDescriptorSetsInfo
|
||
PushConstantsInfoKHR :: PushConstantsInfo
|
||
PushDescriptorSetInfoKHR :: PushDescriptorSetInfo
|
||
PushDescriptorSetWithTemplateInfoKHR :: PushDescriptorSetWithTemplateInfo
|
||
AccessFlags3KHR :: Flags64
|
||
AccessFlag3KHR :: Flags64
|
||
PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT :: PhysicalDeviceTextureCompressionASTCHDRFeatures
|
||
PipelineRobustnessBufferBehaviorEXT :: PipelineRobustnessBufferBehavior
|
||
PipelineRobustnessImageBehaviorEXT :: PipelineRobustnessImageBehavior
|
||
PhysicalDevicePipelineRobustnessFeaturesEXT :: PhysicalDevicePipelineRobustnessFeatures
|
||
PhysicalDevicePipelineRobustnessPropertiesEXT :: PhysicalDevicePipelineRobustnessProperties
|
||
PipelineRobustnessCreateInfoEXT :: PipelineRobustnessCreateInfo
|
||
SamplerReductionModeEXT :: SamplerReductionMode
|
||
SamplerReductionModeCreateInfoEXT :: SamplerReductionModeCreateInfo
|
||
PhysicalDeviceSamplerFilterMinmaxPropertiesEXT :: PhysicalDeviceSamplerFilterMinmaxProperties
|
||
PhysicalDeviceInlineUniformBlockFeaturesEXT :: PhysicalDeviceInlineUniformBlockFeatures
|
||
PhysicalDeviceInlineUniformBlockPropertiesEXT :: PhysicalDeviceInlineUniformBlockProperties
|
||
WriteDescriptorSetInlineUniformBlockEXT :: WriteDescriptorSetInlineUniformBlock
|
||
DescriptorPoolInlineUniformBlockCreateInfoEXT :: DescriptorPoolInlineUniformBlockCreateInfo
|
||
AttachmentSampleCountInfoNV :: AttachmentSampleCountInfoAMD
|
||
DescriptorBindingFlagEXT :: DescriptorBindingFlag
|
||
DescriptorBindingFlagsEXT :: DescriptorBindingFlags
|
||
DescriptorSetLayoutBindingFlagsCreateInfoEXT :: DescriptorSetLayoutBindingFlagsCreateInfo
|
||
PhysicalDeviceDescriptorIndexingFeaturesEXT :: PhysicalDeviceDescriptorIndexingFeatures
|
||
PhysicalDeviceDescriptorIndexingPropertiesEXT :: PhysicalDeviceDescriptorIndexingProperties
|
||
DescriptorSetVariableDescriptorCountAllocateInfoEXT :: DescriptorSetVariableDescriptorCountAllocateInfo
|
||
DescriptorSetVariableDescriptorCountLayoutSupportEXT :: DescriptorSetVariableDescriptorCountLayoutSupport
|
||
RayTracingShaderGroupTypeNV :: RayTracingShaderGroupTypeKHR
|
||
GeometryTypeNV :: GeometryTypeKHR
|
||
AccelerationStructureTypeNV :: AccelerationStructureTypeKHR
|
||
CopyAccelerationStructureModeNV :: CopyAccelerationStructureModeKHR
|
||
GeometryFlagsNV :: GeometryFlagsKHR
|
||
GeometryFlagNV :: GeometryFlagKHR
|
||
GeometryInstanceFlagsNV :: GeometryInstanceFlagsKHR
|
||
GeometryInstanceFlagNV :: GeometryInstanceFlagKHR
|
||
BuildAccelerationStructureFlagsNV :: BuildAccelerationStructureFlagsKHR
|
||
BuildAccelerationStructureFlagNV :: BuildAccelerationStructureFlagKHR
|
||
TransformMatrixNV :: TransformMatrixKHR
|
||
AabbPositionsNV :: AabbPositionsKHR
|
||
AccelerationStructureInstanceNV :: AccelerationStructureInstanceKHR
|
||
QueueGlobalPriorityEXT :: QueueGlobalPriority
|
||
DeviceQueueGlobalPriorityCreateInfoEXT :: DeviceQueueGlobalPriorityCreateInfo
|
||
TimeDomainEXT :: TimeDomainKHR
|
||
CalibratedTimestampInfoEXT :: CalibratedTimestampInfoKHR
|
||
VertexInputBindingDivisorDescriptionEXT :: VertexInputBindingDivisorDescription
|
||
PipelineVertexInputDivisorStateCreateInfoEXT :: PipelineVertexInputDivisorStateCreateInfo
|
||
PhysicalDeviceVertexAttributeDivisorFeaturesEXT :: PhysicalDeviceVertexAttributeDivisorFeatures
|
||
PipelineCreationFeedbackFlagEXT :: PipelineCreationFeedbackFlag
|
||
PipelineCreationFeedbackFlagsEXT :: PipelineCreationFeedbackFlags
|
||
PipelineCreationFeedbackCreateInfoEXT :: PipelineCreationFeedbackCreateInfo
|
||
PipelineCreationFeedbackEXT :: PipelineCreationFeedback
|
||
PhysicalDeviceComputeShaderDerivativesFeaturesNV :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
|
||
PhysicalDeviceFragmentShaderBarycentricFeaturesNV :: PhysicalDeviceFragmentShaderBarycentricFeaturesKHR
|
||
QueryPoolCreateInfoINTEL :: QueryPoolPerformanceQueryCreateInfoINTEL
|
||
PhysicalDeviceScalarBlockLayoutFeaturesEXT :: PhysicalDeviceScalarBlockLayoutFeatures
|
||
PhysicalDeviceSubgroupSizeControlFeaturesEXT :: PhysicalDeviceSubgroupSizeControlFeatures
|
||
PhysicalDeviceSubgroupSizeControlPropertiesEXT :: PhysicalDeviceSubgroupSizeControlProperties
|
||
PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
|
||
PhysicalDeviceBufferAddressFeaturesEXT :: PhysicalDeviceBufferDeviceAddressFeaturesEXT
|
||
BufferDeviceAddressInfoEXT :: BufferDeviceAddressInfo
|
||
ToolPurposeFlagEXT :: ToolPurposeFlag
|
||
ToolPurposeFlagsEXT :: ToolPurposeFlags
|
||
PhysicalDeviceToolPropertiesEXT :: PhysicalDeviceToolProperties
|
||
ImageStencilUsageCreateInfoEXT :: ImageStencilUsageCreateInfo
|
||
ComponentTypeNV :: ComponentTypeKHR
|
||
ScopeNV :: ScopeKHR
|
||
LineRasterizationModeEXT :: LineRasterizationMode
|
||
PhysicalDeviceLineRasterizationFeaturesEXT :: PhysicalDeviceLineRasterizationFeatures
|
||
PhysicalDeviceLineRasterizationPropertiesEXT :: PhysicalDeviceLineRasterizationProperties
|
||
PipelineRasterizationLineStateCreateInfoEXT :: PipelineRasterizationLineStateCreateInfo
|
||
PhysicalDeviceHostQueryResetFeaturesEXT :: PhysicalDeviceHostQueryResetFeatures
|
||
PhysicalDeviceIndexTypeUint8FeaturesEXT :: PhysicalDeviceIndexTypeUint8Features
|
||
HostImageCopyFlagEXT :: HostImageCopyFlag
|
||
HostImageCopyFlagsEXT :: HostImageCopyFlags
|
||
PhysicalDeviceHostImageCopyFeaturesEXT :: PhysicalDeviceHostImageCopyFeatures
|
||
PhysicalDeviceHostImageCopyPropertiesEXT :: PhysicalDeviceHostImageCopyProperties
|
||
MemoryToImageCopyEXT :: MemoryToImageCopy
|
||
ImageToMemoryCopyEXT :: ImageToMemoryCopy
|
||
CopyMemoryToImageInfoEXT :: CopyMemoryToImageInfo
|
||
CopyImageToMemoryInfoEXT :: CopyImageToMemoryInfo
|
||
CopyImageToImageInfoEXT :: CopyImageToImageInfo
|
||
HostImageLayoutTransitionInfoEXT :: HostImageLayoutTransitionInfo
|
||
SubresourceHostMemcpySizeEXT :: SubresourceHostMemcpySize
|
||
HostImageCopyDevicePerformanceQueryEXT :: HostImageCopyDevicePerformanceQuery
|
||
SubresourceLayout2EXT :: SubresourceLayout2
|
||
ImageSubresource2EXT :: ImageSubresource2
|
||
PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT :: PhysicalDeviceShaderDemoteToHelperInvocationFeatures
|
||
PhysicalDeviceTexelBufferAlignmentPropertiesEXT :: PhysicalDeviceTexelBufferAlignmentProperties
|
||
PrivateDataSlotEXT :: PrivateDataSlot
|
||
PrivateDataSlotCreateFlagsEXT :: PrivateDataSlotCreateFlags
|
||
PhysicalDevicePrivateDataFeaturesEXT :: PhysicalDevicePrivateDataFeatures
|
||
DevicePrivateDataCreateInfoEXT :: DevicePrivateDataCreateInfo
|
||
PrivateDataSlotCreateInfoEXT :: PrivateDataSlotCreateInfo
|
||
PhysicalDevicePipelineCreationCacheControlFeaturesEXT :: PhysicalDevicePipelineCreationCacheControlFeatures
|
||
PhysicalDeviceImageRobustnessFeaturesEXT :: PhysicalDeviceImageRobustnessFeatures
|
||
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM :: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
|
||
PhysicalDeviceMutableDescriptorTypeFeaturesVALVE :: PhysicalDeviceMutableDescriptorTypeFeaturesEXT
|
||
MutableDescriptorTypeListVALVE :: MutableDescriptorTypeListEXT
|
||
MutableDescriptorTypeCreateInfoVALVE :: MutableDescriptorTypeCreateInfoEXT
|
||
PipelineInfoEXT :: PipelineInfoKHR
|
||
PhysicalDeviceGlobalPriorityQueryFeaturesEXT :: PhysicalDeviceGlobalPriorityQueryFeatures
|
||
QueueFamilyGlobalPriorityPropertiesEXT :: QueueFamilyGlobalPriorityProperties
|
||
PhysicalDeviceSchedulingControlsFlagsARM :: Flags64
|
||
PhysicalDeviceSchedulingControlsFlagARM :: Flags64
|
||
PhysicalDeviceDepthClampZeroOneFeaturesEXT :: PhysicalDeviceDepthClampZeroOneFeaturesKHR
|
||
MemoryDecompressionMethodFlagNV :: Flags64
|
||
MemoryDecompressionMethodFlagsNV :: Flags64
|
||
PhysicalDevicePipelineProtectedAccessFeaturesEXT :: PhysicalDevicePipelineProtectedAccessFeatures
|
||
ShaderRequiredSubgroupSizeCreateInfoEXT :: PipelineShaderStageRequiredSubgroupSizeCreateInfo
|
||
|
||
|