From 8e857f746524ce1da50f56feeb7be70064c27399 Mon Sep 17 00:00:00 2001 From: Mr-L-oof Date: Fri, 16 Jun 2023 15:37:51 -0400 Subject: [PATCH 1/2] fix bugs, update to vulkan 1.3 --- src/vulkan.nim | 13267 ++++++++++++++++++++++++++++++++---------- tools/generator.nim | 7 +- 2 files changed, 10346 insertions(+), 2928 deletions(-) diff --git a/src/vulkan.nim b/src/vulkan.nim index 7ea1c9f..84ae383 100644 --- a/src/vulkan.nim +++ b/src/vulkan.nim @@ -6,6 +6,7 @@ ## Any edits will be overwritten by the generator. var vkGetProc: proc(procName: cstring): pointer {.cdecl.} +var currInst: pointer = nil when not defined(vkCustomLoader): import dynlib @@ -21,13 +22,13 @@ when not defined(vkCustomLoader): if isNil(vkHandleDLL): quit("could not load: " & vkDLL) - let vkGetProcAddress = cast[proc(s: cstring): pointer {.stdcall.}](symAddr(vkHandleDLL, "vkGetInstanceProcAddr")) + let vkGetProcAddress = cast[proc(inst: pointer, s: cstring): pointer {.stdcall.}](symAddr(vkHandleDLL, "vkGetInstanceProcAddr")) if vkGetProcAddress == nil: quit("failed to load `vkGetInstanceProcAddr` from " & vkDLL) vkGetProc = proc(procName: cstring): pointer {.cdecl.} = when defined(windows): - result = vkGetProcAddress(procName) + result = vkGetProcAddress(currInst, procName) if result != nil: return result = symAddr(vkHandleDLL, procName) @@ -54,17 +55,18 @@ const VK_MAX_DESCRIPTION_SIZE* = 256 VK_MAX_MEMORY_TYPES* = 32 VK_MAX_MEMORY_HEAPS* = 16 - VK_LOD_CLAMP_NONE* = 1000.0f + VK_LOD_CLAMP_NONE* = 1000.0F VK_REMAINING_MIP_LEVELS* = (not 0'u32) VK_REMAINING_ARRAY_LAYERS* = (not 0'u32) + VK_REMAINING_3D_SLICES_EXT* = (not 0'u32) VK_WHOLE_SIZE* = (not 0'u64) VK_ATTACHMENT_UNUSED* = (not 0'u32) VK_TRUE* = 1 VK_FALSE* = 0 VK_QUEUE_FAMILY_IGNORED* = (not 0'u32) - VK_QUEUE_FAMILY_EXTERNAL* = (not 0'u32) - 1 + VK_QUEUE_FAMILY_EXTERNAL* = (~1U) VK_QUEUE_FAMILY_EXTERNAL_KHR* = VK_QUEUE_FAMILY_EXTERNAL - VK_QUEUE_FAMILY_FOREIGN_EXT* = (not 0'u32) - 2 + VK_QUEUE_FAMILY_FOREIGN_EXT* = (~2U) VK_SUBPASS_EXTERNAL* = (not 0'u32) VK_MAX_DEVICE_GROUP_SIZE* = 32 VK_MAX_DEVICE_GROUP_SIZE_KHR* = VK_MAX_DEVICE_GROUP_SIZE @@ -74,6 +76,9 @@ const VK_MAX_DRIVER_INFO_SIZE_KHR* = VK_MAX_DRIVER_INFO_SIZE VK_SHADER_UNUSED_KHR* = (not 0'u32) VK_SHADER_UNUSED_NV* = VK_SHADER_UNUSED_KHR + VK_MAX_GLOBAL_PRIORITY_SIZE_KHR* = 16 + VK_MAX_GLOBAL_PRIORITY_SIZE_EXT* = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT* = 32 type VkImageLayout* {.size: int32.sizeof.} = enum @@ -189,11 +194,6 @@ type VK_POLYGON_MODE_FILL = 0 VK_POLYGON_MODE_LINE = 1 VK_POLYGON_MODE_POINT = 2 - VkCullModeFlagBits* {.size: int32.sizeof.} = enum - VK_CULL_MODE_NONE = 0 - VK_CULL_MODE_FRONT_BIT = 1 - VK_CULL_MODE_BACK_BIT = 2 - VK_CULL_MODE_FRONT_AND_BACK = 3 VkFrontFace* {.size: int32.sizeof.} = enum VK_FRONT_FACE_COUNTER_CLOCKWISE = 0 VK_FRONT_FACE_CLOCKWISE = 1 @@ -564,11 +564,22 @@ type VK_OBJECT_TYPE_DESCRIPTOR_SET = 23 VK_OBJECT_TYPE_FRAMEBUFFER = 24 VK_OBJECT_TYPE_COMMAND_POOL = 25 + VkRayTracingInvocationReorderModeNV* {.size: int32.sizeof.} = enum + VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0 + VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1 + VkDirectDriverLoadingModeLUNARG* {.size: int32.sizeof.} = enum + VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0 + VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1 VkQueueFlagBits* {.size: int32.sizeof.} = enum VK_QUEUE_GRAPHICS_BIT = 1 VK_QUEUE_COMPUTE_BIT = 2 VK_QUEUE_TRANSFER_BIT = 4 VK_QUEUE_SPARSE_BINDING_BIT = 8 + VkCullModeFlagBits* {.size: int32.sizeof.} = enum + VK_CULL_MODE_NONE = 0 + VK_CULL_MODE_FRONT_BIT = 1 + VK_CULL_MODE_BACK_BIT = 2 + VK_CULL_MODE_FRONT_AND_BACK = 3 VkMemoryPropertyFlagBits* {.size: int32.sizeof.} = enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2 @@ -813,6 +824,12 @@ type VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33 + VkDeviceMemoryReportEventTypeEXT* {.size: int32.sizeof.} = enum + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0 + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1 + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2 + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3 + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4 VkRasterizationOrderAMD* {.size: int32.sizeof.} = enum VK_RASTERIZATION_ORDER_STRICT_AMD = 0 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1 @@ -842,6 +859,7 @@ type VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6 + VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7 VkSubgroupFeatureFlagBits* {.size: int32.sizeof.} = enum VK_SUBGROUP_FEATURE_BASIC_BIT = 1 VK_SUBGROUP_FEATURE_VOTE_BIT = 2 @@ -900,7 +918,7 @@ type VkFenceImportFlagBits* {.size: int32.sizeof.} = enum VK_FENCE_IMPORT_TEMPORARY_BIT = 1 VkSurfaceCounterFlagBitsEXT* {.size: int32.sizeof.} = enum - VK_SURFACE_COUNTER_VBLANK_EXT = 1 + VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 1 VkDisplayPowerStateEXT* {.size: int32.sizeof.} = enum VK_DISPLAY_POWER_STATE_OFF_EXT = 0 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1 @@ -973,11 +991,11 @@ type VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0 VK_SHADER_INFO_TYPE_BINARY_AMD = 1 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2 - VkQueueGlobalPriorityEXT* {.size: int32.sizeof.} = enum - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128 - VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256 - VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512 - VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024 + VkQueueGlobalPriorityKHR* {.size: int32.sizeof.} = enum + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 VkDebugUtilsMessageSeverityFlagBitsEXT* {.size: int32.sizeof.} = enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 1 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 16 @@ -1002,6 +1020,8 @@ type VK_VENDOR_ID_KAZAN = 65539 VK_VENDOR_ID_CODEPLAY = 65540 VK_VENDOR_ID_MESA = 65541 + VK_VENDOR_ID_POCL = 65542 + VK_VENDOR_ID_MOBILEYE = 65543 VkDriverId* {.size: int32.sizeof.} = enum VK_DRIVER_ID_AMD_PROPRIETARY = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2 @@ -1017,6 +1037,17 @@ type VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12 VK_DRIVER_ID_MESA_LLVMPIPE = 13 VK_DRIVER_ID_MOLTENVK = 14 + VK_DRIVER_ID_COREAVI_PROPRIETARY = 15 + VK_DRIVER_ID_JUICE_PROPRIETARY = 16 + VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17 + VK_DRIVER_ID_MESA_TURNIP = 18 + VK_DRIVER_ID_MESA_V3DV = 19 + VK_DRIVER_ID_MESA_PANVK = 20 + VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21 + VK_DRIVER_ID_MESA_VENUS = 22 + VK_DRIVER_ID_MESA_DOZEN = 23 + VK_DRIVER_ID_MESA_NVK = 24 + VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25 VkConditionalRenderingFlagBitsEXT* {.size: int32.sizeof.} = enum VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 1 VkResolveModeFlagBits* {.size: int32.sizeof.} = enum @@ -1045,7 +1076,7 @@ type VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3 VkGeometryInstanceFlagBitsKHR* {.size: int32.sizeof.} = enum VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 VkGeometryFlagBitsKHR* {.size: int32.sizeof.} = enum @@ -1057,21 +1088,28 @@ type VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VkAccelerationStructureCreateFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 VkCopyAccelerationStructureModeKHR* {.size: int32.sizeof.} = enum VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3 + VkBuildAccelerationStructureModeKHR* {.size: int32.sizeof.} = enum + VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0 + VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1 VkAccelerationStructureTypeKHR* {.size: int32.sizeof.} = enum VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1 + VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2 VkGeometryTypeKHR* {.size: int32.sizeof.} = enum VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0 VK_GEOMETRY_TYPE_AABBS_KHR = 1 - VkAccelerationStructureMemoryRequirementsTypeKHR* {.size: int32.sizeof.} = enum - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0 - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1 - VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2 + VK_GEOMETRY_TYPE_INSTANCES_KHR = 2 + VkAccelerationStructureMemoryRequirementsTypeNV* {.size: int32.sizeof.} = enum + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0 + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1 + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2 VkAccelerationStructureBuildTypeKHR* {.size: int32.sizeof.} = enum VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1 @@ -1080,6 +1118,14 @@ type VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2 + VkAccelerationStructureCompatibilityKHR* {.size: int32.sizeof.} = enum + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0 + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1 + VkShaderGroupShaderKHR* {.size: int32.sizeof.} = enum + VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0 + VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1 + VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2 + VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3 VkMemoryOverallocationBehaviorAMD* {.size: int32.sizeof.} = enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1 @@ -1105,10 +1151,11 @@ type VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 2 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 4 - VkPipelineCreationFeedbackFlagBitsEXT* {.size: int32.sizeof.} = enum - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 8 + VkPipelineCreationFeedbackFlagBits* {.size: int32.sizeof.} = enum + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 VkFullScreenExclusiveEXT* {.size: int32.sizeof.} = enum VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0 VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1 @@ -1118,6 +1165,8 @@ type VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2 + VkMemoryDecompressionMethodFlagBitsNV* {.size: int32.sizeof.} = enum + VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 1 VkPerformanceCounterUnitKHR* {.size: int32.sizeof.} = enum VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1 @@ -1138,8 +1187,8 @@ type VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5 VkPerformanceCounterDescriptionFlagBitsKHR* {.size: int32.sizeof.} = enum - VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 1 - VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 2 + VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 1 + VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 2 VkPerformanceConfigurationTypeINTEL* {.size: int32.sizeof.} = enum VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0 VkQueryPoolSamplingModeINTEL* {.size: int32.sizeof.} = enum @@ -1170,12 +1219,463 @@ type VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3 - VkToolPurposeFlagBitsEXT* {.size: int32.sizeof.} = enum - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VkFaultLevel* {.size: int32.sizeof.} = enum + VK_FAULT_LEVEL_UNASSIGNED = 0 + VK_FAULT_LEVEL_CRITICAL = 1 + VK_FAULT_LEVEL_RECOVERABLE = 2 + VK_FAULT_LEVEL_WARNING = 3 + VkFaultType* {.size: int32.sizeof.} = enum + VK_FAULT_TYPE_INVALID = 0 + VK_FAULT_TYPE_UNASSIGNED = 1 + VK_FAULT_TYPE_IMPLEMENTATION = 2 + VK_FAULT_TYPE_SYSTEM = 3 + VK_FAULT_TYPE_PHYSICAL_DEVICE = 4 + VK_FAULT_TYPE_COMMAND_BUFFER_FULL = 5 + VK_FAULT_TYPE_INVALID_API_USAGE = 6 + VkFaultQueryBehavior* {.size: int32.sizeof.} = enum + VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS = 0 + VkToolPurposeFlagBits* {.size: int32.sizeof.} = enum + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VkPipelineMatchControl* {.size: int32.sizeof.} = enum + VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH = 0 + VkFragmentShadingRateCombinerOpKHR* {.size: int32.sizeof.} = enum + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1 + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2 + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3 + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4 + VkFragmentShadingRateNV* {.size: int32.sizeof.} = enum + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9 + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10 + VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11 + VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12 + VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13 + VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14 + VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15 + VkFragmentShadingRateTypeNV* {.size: int32.sizeof.} = enum + VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0 + VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1 + VkSubpassMergeStatusEXT* {.size: int32.sizeof.} = enum + VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0 + VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12 + VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13 + VkAccessFlagBits2* {.size: int32.sizeof.} = enum + VK_ACCESS_2_NONE = 0 + VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 1 + VK_ACCESS_2_INDEX_READ_BIT = 2 + VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 4 + VK_ACCESS_2_UNIFORM_READ_BIT = 8 + VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 16 + VK_ACCESS_2_SHADER_READ_BIT = 32 + VK_ACCESS_2_SHADER_WRITE_BIT = 64 + VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 128 + VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 256 + VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512 + VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024 + VK_ACCESS_2_TRANSFER_READ_BIT = 2048 + VK_ACCESS_2_TRANSFER_WRITE_BIT = 4096 + VK_ACCESS_2_HOST_READ_BIT = 8192 + VK_ACCESS_2_HOST_WRITE_BIT = 16384 + VK_ACCESS_2_MEMORY_READ_BIT = 32768 + VK_ACCESS_2_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 4294967296 + VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 8589934592 + VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 17179869184 + VkPipelineStageFlagBits2* {.size: int32.sizeof.} = enum + VK_PIPELINE_STAGE_2_NONE = 0 + VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 1 + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 2 + VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 4 + VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 8 + VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 16 + VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 32 + VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 64 + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 128 + VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 256 + VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 512 + VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 1024 + VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 2048 + VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 4096 + VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 8192 + VK_PIPELINE_STAGE_2_HOST_BIT = 16384 + VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 32768 + VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_2_COPY_BIT = 4294967296 + VK_PIPELINE_STAGE_2_RESOLVE_BIT = 8589934592 + VK_PIPELINE_STAGE_2_BLIT_BIT = 17179869184 + VK_PIPELINE_STAGE_2_CLEAR_BIT = 34359738368 + VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 68719476736 + VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 137438953472 + VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 274877906944 + VkSubmitFlagBits* {.size: int32.sizeof.} = enum + VK_SUBMIT_PROTECTED_BIT = 1 + VkSciSyncClientTypeNV* {.size: int32.sizeof.} = enum + VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV = 0 + VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV = 1 + VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV = 2 + VkSciSyncPrimitiveTypeNV* {.size: int32.sizeof.} = enum + VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV = 0 + VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV = 1 + VkProvokingVertexModeEXT* {.size: int32.sizeof.} = enum + VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0 + VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1 + VkPipelineCacheValidationVersion* {.size: int32.sizeof.} = enum + VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE = 1 + VkAccelerationStructureMotionInstanceTypeNV* {.size: int32.sizeof.} = enum + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0 + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1 + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2 + VkGraphicsPipelineLibraryFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 1 + VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 2 + VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 4 + VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 8 + VkDeviceAddressBindingFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 1 + VkDeviceAddressBindingTypeEXT* {.size: int32.sizeof.} = enum + VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0 + VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1 + VkPresentScalingFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 1 + VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 2 + VK_PRESENT_SCALING_STRETCH_BIT_EXT = 4 + VkPresentGravityFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_PRESENT_GRAVITY_MIN_BIT_EXT = 1 + VK_PRESENT_GRAVITY_MAX_BIT_EXT = 2 + VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 4 + VkVideoCodecOperationFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0 + VkVideoChromaSubsamplingFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0 + VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 1 + VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 2 + VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 4 + VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 8 + VkVideoComponentBitDepthFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0 + VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 1 + VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 4 + VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 16 + VkVideoCapabilityFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 1 + VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 2 + VkVideoSessionCreateFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 1 + VkVideoDecodeH264PictureLayoutFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 1 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 2 + VkVideoCodingControlFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 1 + VkQueryResultStatusKHR* {.size: int32.sizeof.} = enum + VK_QUERY_RESULT_STATUS_ERROR_KHR = -1 + VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0 + VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1 + VkVideoDecodeUsageFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0 + VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 1 + VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 2 + VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 4 + VkVideoDecodeCapabilityFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 1 + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 2 + VkVideoEncodeUsageFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0 + VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 1 + VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 2 + VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 4 + VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 8 + VkVideoEncodeContentFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0 + VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 1 + VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 2 + VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 4 + VkVideoEncodeTuningModeKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0 + VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1 + VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2 + VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3 + VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4 + VkVideoEncodeCapabilityFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 1 + VkVideoEncodeFeedbackFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 1 + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 2 + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 4 + VkVideoEncodeRateControlModeFlagBitsKHR* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 1 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 2 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 4 + VkVideoEncodeH264CapabilityFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 1 + VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT = 2 + VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT = 4 + VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 8 + VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT = 16 + VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 32 + VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT = 64 + VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_EXT = 128 + VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_EXT = 256 + VkVideoEncodeH264StdFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT = 1 + VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_EXT = 2 + VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_EXT = 4 + VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_EXT = 8 + VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_EXT = 16 + VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_EXT = 32 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT = 64 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_EXT = 128 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_EXT = 256 + VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_EXT = 512 + VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_EXT = 1024 + VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_EXT = 2048 + VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_EXT = 4096 + VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_EXT = 8192 + VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT = 16384 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 32768 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 65536 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 131072 + VkVideoEncodeH264RateControlFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT = 1 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_EXT = 2 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT = 4 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT = 8 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_EXT = 16 + VkImageConstraintsInfoFlagBitsFUCHSIA* {.size: int32.sizeof.} = enum + VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 1 + VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 2 + VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 4 + VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 8 + VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 16 + VkFormatFeatureFlagBits2* {.size: int32.sizeof.} = enum + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 1 + VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 2 + VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 4 + VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 8 + VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 16 + VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32 + VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 64 + VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 128 + VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 256 + VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 512 + VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 1024 + VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 2048 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 8192 + VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 16384 + VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 32768 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536 + VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 131072 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152 + VK_FORMAT_FEATURE_2_DISJOINT_BIT = 4194304 + VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 8388608 + VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 2147483648 + VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 4294967296 + VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 8589934592 + VkRenderingFlagBits* {.size: int32.sizeof.} = enum + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VkVideoEncodeH265CapabilityFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 1 + VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT = 2 + VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 4 + VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_EXT = 8 + VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT = 16 + VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 32 + VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT = 64 + VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_EXT = 128 + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_EXT = 256 + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_EXT = 512 + VkVideoEncodeH265StdFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT = 1 + VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_EXT = 2 + VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_EXT = 4 + VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_EXT = 8 + VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_EXT = 16 + VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_EXT = 32 + VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT = 64 + VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_EXT = 128 + VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT = 256 + VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_EXT = 512 + VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_EXT = 1024 + VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_EXT = 2048 + VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_EXT = 4096 + VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_EXT = 8192 + VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT = 16384 + VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_EXT = 32768 + VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_EXT = 65536 + VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_EXT = 131072 + VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_EXT = 262144 + VkVideoEncodeH265RateControlFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT = 1 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_EXT = 2 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT = 4 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT = 8 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_EXT = 16 + VkVideoEncodeH265CtbSizeFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 1 + VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 2 + VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 4 + VkVideoEncodeH265TransformBlockSizeFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT = 1 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT = 2 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT = 4 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT = 8 + VkExportMetalObjectTypeFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 1 + VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 2 + VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 4 + VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 8 + VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 16 + VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 32 + VkImageCompressionFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0 + VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 1 + VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 2 + VK_IMAGE_COMPRESSION_DISABLED_EXT = 4 + VkImageCompressionFixedRateFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0 + VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 1 + VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 2 + VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 4 + VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 8 + VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 16 + VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 32 + VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 64 + VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 128 + VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 256 + VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 512 + VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 1024 + VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 2048 + VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 4096 + VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 8192 + VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 16384 + VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 32768 + VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 65536 + VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 131072 + VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 262144 + VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 524288 + VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 1048576 + VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 2097152 + VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 4194304 + VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 8388608 + VkPipelineRobustnessBufferBehaviorEXT* {.size: int32.sizeof.} = enum + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0 + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1 + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2 + VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3 + VkPipelineRobustnessImageBehaviorEXT* {.size: int32.sizeof.} = enum + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0 + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1 + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2 + VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3 + VkOpticalFlowGridSizeFlagBitsNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0 + VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 1 + VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 2 + VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 4 + VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 8 + VkOpticalFlowUsageFlagBitsNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0 + VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 1 + VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 2 + VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 4 + VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 8 + VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 16 + VkOpticalFlowPerformanceLevelNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3 + VkOpticalFlowSessionBindingPointNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8 + VkOpticalFlowSessionCreateFlagBitsNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 1 + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 2 + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 4 + VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 8 + VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 16 + VkOpticalFlowExecuteFlagBitsNV* {.size: int32.sizeof.} = enum + VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 1 + VkMicromapTypeEXT* {.size: int32.sizeof.} = enum + VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0 + VkBuildMicromapFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 1 + VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 2 + VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 4 + VkMicromapCreateFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 1 + VkCopyMicromapModeEXT* {.size: int32.sizeof.} = enum + VK_COPY_MICROMAP_MODE_CLONE_EXT = 0 + VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1 + VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2 + VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3 + VkBuildMicromapModeEXT* {.size: int32.sizeof.} = enum + VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0 + VkOpacityMicromapFormatEXT* {.size: int32.sizeof.} = enum + VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1 + VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2 + VkOpacityMicromapSpecialIndexEXT* {.size: int32.sizeof.} = enum + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1 + VkDepthBiasRepresentationEXT* {.size: int32.sizeof.} = enum + VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0 + VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1 + VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2 + VkDeviceFaultAddressTypeEXT* {.size: int32.sizeof.} = enum + VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0 + VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1 + VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2 + VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6 + VkDeviceFaultVendorBinaryHeaderVersionEXT* {.size: int32.sizeof.} = enum + VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1 + VkDisplacementMicromapFormatNV* {.size: int32.sizeof.} = enum + VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1 + VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2 + VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3 + VkShaderCreateFlagBitsEXT* {.size: int32.sizeof.} = enum + VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 1 + VkShaderCodeTypeEXT* {.size: int32.sizeof.} = enum + VK_SHADER_CODE_TYPE_BINARY_EXT = 0 + VK_SHADER_CODE_TYPE_SPIRV_EXT = 1 # Types @@ -1201,6 +1701,14 @@ type zx_handle_t* = ptr object GgpStreamDescriptor* = ptr object GgpFrameToken* = ptr object + _screen_context* = ptr object + _screen_window* = ptr object + _screen_buffer* = ptr object + NvSciSyncAttrList* = ptr object + NvSciSyncObj* = ptr object + NvSciSyncFence* = ptr object + NvSciBufAttrList* = ptr object + NvSciBufObj* = ptr object template vkMakeVersion*(major, minor, patch: untyped): untyped = (((major) shl 22) or ((minor) shl 12) or (patch)) @@ -1217,11 +1725,13 @@ template vkVersionPatch*(version: untyped): untyped = const vkApiVersion1_0* = vkMakeVersion(1, 0, 0) const vkApiVersion1_1* = vkMakeVersion(1, 1, 0) const vkApiVersion1_2* = vkMakeVersion(1, 2, 0) +const vkApiVersion1_3* = vkMakeVersion(1, 3, 0) type VkSampleMask* = distinct uint32 VkBool32* = distinct uint32 VkFlags* = distinct uint32 + VkFlags64* = distinct uint64 VkDeviceSize* = distinct uint64 VkDeviceAddress* = distinct uint64 VkFramebufferCreateFlags* = distinct VkFlags @@ -1231,8 +1741,10 @@ type VkPipelineLayoutCreateFlags* = distinct VkFlags VkPipelineCacheCreateFlags* = distinct VkFlags VkPipelineDepthStencilStateCreateFlags* = distinct VkFlags + VkPipelineDepthStencilStateCreateFlags* = distinct VkFlags VkPipelineDynamicStateCreateFlags* = distinct VkFlags VkPipelineColorBlendStateCreateFlags* = distinct VkFlags + VkPipelineColorBlendStateCreateFlags* = distinct VkFlags VkPipelineMultisampleStateCreateFlags* = distinct VkFlags VkPipelineRasterizationStateCreateFlags* = distinct VkFlags VkPipelineViewportStateCreateFlags* = distinct VkFlags @@ -1270,6 +1782,7 @@ type VkCommandBufferUsageFlags* = distinct VkFlags VkQueryPipelineStatisticFlags* = distinct VkFlags VkMemoryMapFlags* = distinct VkFlags + VkMemoryUnmapFlagsKHR* = distinct VkFlags VkImageAspectFlags* = distinct VkFlags VkSparseMemoryBindFlags* = distinct VkFlags VkSparseImageFormatFlags* = distinct VkFlags @@ -1291,10 +1804,13 @@ type VkGeometryInstanceFlagsNV* = VkGeometryInstanceFlagsKHR VkBuildAccelerationStructureFlagsKHR* = distinct VkFlags VkBuildAccelerationStructureFlagsNV* = VkBuildAccelerationStructureFlagsKHR - VkPrivateDataSlotCreateFlagsEXT* = distinct VkFlags + VkPrivateDataSlotCreateFlags* = distinct VkFlags + VkPrivateDataSlotCreateFlagsEXT* = VkPrivateDataSlotCreateFlags + VkAccelerationStructureCreateFlagsKHR* = distinct VkFlags VkDescriptorUpdateTemplateCreateFlags* = distinct VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR* = VkDescriptorUpdateTemplateCreateFlags - VkPipelineCreationFeedbackFlagsEXT* = distinct VkFlags + VkPipelineCreationFeedbackFlags* = distinct VkFlags + VkPipelineCreationFeedbackFlagsEXT* = VkPipelineCreationFeedbackFlags VkPerformanceCounterDescriptionFlagsKHR* = distinct VkFlags VkAcquireProfilingLockFlagsKHR* = distinct VkFlags VkSemaphoreWaitFlags* = distinct VkFlags @@ -1302,6 +1818,21 @@ type VkPipelineCompilerControlFlagsAMD* = distinct VkFlags VkShaderCorePropertiesFlagsAMD* = distinct VkFlags VkDeviceDiagnosticsConfigFlagsNV* = distinct VkFlags + VkRefreshObjectFlagsKHR* = distinct VkFlags + VkAccessFlags2* = distinct VkFlags64 + VkAccessFlags2KHR* = VkAccessFlags2 + VkPipelineStageFlags2* = distinct VkFlags64 + VkPipelineStageFlags2KHR* = VkPipelineStageFlags2 + VkAccelerationStructureMotionInfoFlagsNV* = distinct VkFlags + VkAccelerationStructureMotionInstanceFlagsNV* = distinct VkFlags + VkFormatFeatureFlags2* = distinct VkFlags64 + VkFormatFeatureFlags2KHR* = VkFormatFeatureFlags2 + VkRenderingFlags* = distinct VkFlags + VkMemoryDecompressionMethodFlagsNV* = distinct VkFlags64 + VkRenderingFlagsKHR* = VkRenderingFlags + VkBuildMicromapFlagsEXT* = distinct VkFlags + VkMicromapCreateFlagsEXT* = distinct VkFlags + VkDirectDriverLoadingFlagsLUNARG* = distinct VkFlags VkCompositeAlphaFlagsKHR* = distinct VkFlags VkDisplayPlaneAlphaFlagsKHR* = distinct VkFlags VkSurfaceTransformFlagsKHR* = distinct VkFlags @@ -1321,6 +1852,7 @@ type VkImagePipeSurfaceCreateFlagsFUCHSIA* = distinct VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP* = distinct VkFlags VkHeadlessSurfaceCreateFlagsEXT* = distinct VkFlags + VkScreenSurfaceCreateFlagsQNX* = distinct VkFlags VkPeerMemoryFeatureFlags* = distinct VkFlags VkPeerMemoryFeatureFlagsKHR* = VkPeerMemoryFeatureFlags VkMemoryAllocateFlags* = distinct VkFlags @@ -1358,6 +1890,7 @@ type VkDebugUtilsMessageTypeFlagsEXT* = distinct VkFlags VkDebugUtilsMessengerCreateFlagsEXT* = distinct VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT* = distinct VkFlags + VkDeviceMemoryReportFlagsEXT* = distinct VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT* = distinct VkFlags VkDescriptorBindingFlags* = distinct VkFlags VkDescriptorBindingFlagsEXT* = VkDescriptorBindingFlags @@ -1367,7 +1900,52 @@ type VkPipelineRasterizationStateStreamCreateFlagsEXT* = distinct VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT* = distinct VkFlags VkSwapchainImageUsageFlagsANDROID* = distinct VkFlags - VkToolPurposeFlagsEXT* = distinct VkFlags + VkToolPurposeFlags* = distinct VkFlags + VkToolPurposeFlagsEXT* = VkToolPurposeFlags + VkSubmitFlags* = distinct VkFlags + VkSubmitFlagsKHR* = VkSubmitFlags + VkImageFormatConstraintsFlagsFUCHSIA* = distinct VkFlags + VkImageConstraintsInfoFlagsFUCHSIA* = distinct VkFlags + VkGraphicsPipelineLibraryFlagsEXT* = distinct VkFlags + VkImageCompressionFlagsEXT* = distinct VkFlags + VkImageCompressionFixedRateFlagsEXT* = distinct VkFlags + VkExportMetalObjectTypeFlagsEXT* = distinct VkFlags + VkDeviceAddressBindingFlagsEXT* = distinct VkFlags + VkOpticalFlowGridSizeFlagsNV* = distinct VkFlags + VkOpticalFlowUsageFlagsNV* = distinct VkFlags + VkOpticalFlowSessionCreateFlagsNV* = distinct VkFlags + VkOpticalFlowExecuteFlagsNV* = distinct VkFlags + VkPresentScalingFlagsEXT* = distinct VkFlags + VkPresentGravityFlagsEXT* = distinct VkFlags + VkShaderCreateFlagsEXT* = distinct VkFlags + VkVideoCodecOperationFlagsKHR* = distinct VkFlags + VkVideoCapabilityFlagsKHR* = distinct VkFlags + VkVideoSessionCreateFlagsKHR* = distinct VkFlags + VkVideoSessionParametersCreateFlagsKHR* = distinct VkFlags + VkVideoBeginCodingFlagsKHR* = distinct VkFlags + VkVideoEndCodingFlagsKHR* = distinct VkFlags + VkVideoCodingControlFlagsKHR* = distinct VkFlags + VkVideoDecodeUsageFlagsKHR* = distinct VkFlags + VkVideoDecodeCapabilityFlagsKHR* = distinct VkFlags + VkVideoDecodeFlagsKHR* = distinct VkFlags + VkVideoDecodeH264PictureLayoutFlagsKHR* = distinct VkFlags + VkVideoEncodeFlagsKHR* = distinct VkFlags + VkVideoEncodeUsageFlagsKHR* = distinct VkFlags + VkVideoEncodeContentFlagsKHR* = distinct VkFlags + VkVideoEncodeCapabilityFlagsKHR* = distinct VkFlags + VkVideoEncodeFeedbackFlagsKHR* = distinct VkFlags + VkVideoEncodeRateControlFlagsKHR* = distinct VkFlags + VkVideoEncodeRateControlModeFlagsKHR* = distinct VkFlags + VkVideoChromaSubsamplingFlagsKHR* = distinct VkFlags + VkVideoComponentBitDepthFlagsKHR* = distinct VkFlags + VkVideoEncodeH264CapabilityFlagsEXT* = distinct VkFlags + VkVideoEncodeH264StdFlagsEXT* = distinct VkFlags + VkVideoEncodeH264RateControlFlagsEXT* = distinct VkFlags + VkVideoEncodeH265CapabilityFlagsEXT* = distinct VkFlags + VkVideoEncodeH265StdFlagsEXT* = distinct VkFlags + VkVideoEncodeH265RateControlFlagsEXT* = distinct VkFlags + VkVideoEncodeH265CtbSizeFlagsEXT* = distinct VkFlags + VkVideoEncodeH265TransformBlockSizeFlagsEXT* = distinct VkFlags VkInstance* = distinct VkHandle VkPhysicalDevice* = distinct VkHandle VkDevice* = distinct VkHandle @@ -1400,18 +1978,30 @@ type VkSamplerYcbcrConversionKHR* = VkSamplerYcbcrConversion VkValidationCacheEXT* = distinct VkNonDispatchableHandle VkAccelerationStructureKHR* = distinct VkNonDispatchableHandle - VkAccelerationStructureNV* = VkAccelerationStructureKHR + VkAccelerationStructureNV* = distinct VkNonDispatchableHandle VkPerformanceConfigurationINTEL* = distinct VkNonDispatchableHandle + VkBufferCollectionFUCHSIA* = distinct VkNonDispatchableHandle VkDeferredOperationKHR* = distinct VkNonDispatchableHandle - VkPrivateDataSlotEXT* = distinct VkNonDispatchableHandle + VkPrivateDataSlot* = distinct VkNonDispatchableHandle + VkPrivateDataSlotEXT* = VkPrivateDataSlot + VkCuModuleNVX* = distinct VkNonDispatchableHandle + VkCuFunctionNVX* = distinct VkNonDispatchableHandle + VkOpticalFlowSessionNV* = distinct VkNonDispatchableHandle + VkMicromapEXT* = distinct VkNonDispatchableHandle + VkShaderEXT* = distinct VkNonDispatchableHandle VkDisplayKHR* = distinct VkNonDispatchableHandle VkDisplayModeKHR* = distinct VkNonDispatchableHandle VkSurfaceKHR* = distinct VkNonDispatchableHandle VkSwapchainKHR* = distinct VkNonDispatchableHandle VkDebugReportCallbackEXT* = distinct VkNonDispatchableHandle VkDebugUtilsMessengerEXT* = distinct VkNonDispatchableHandle + VkVideoSessionKHR* = distinct VkNonDispatchableHandle + VkVideoSessionParametersKHR* = distinct VkNonDispatchableHandle + VkSemaphoreSciSyncPoolNV* = distinct VkNonDispatchableHandle + VkPrivateDataSlotCreateFlagBitsEXT* = VkPrivateDataSlotCreateFlagBits VkDescriptorUpdateTemplateTypeKHR* = VkDescriptorUpdateTemplateType VkPointClippingBehaviorKHR* = VkPointClippingBehavior + VkQueueGlobalPriorityEXT* = VkQueueGlobalPriorityKHR VkResolveModeFlagBitsKHR* = VkResolveModeFlagBits VkDescriptorBindingFlagBitsEXT* = VkDescriptorBindingFlagBits VkSemaphoreTypeKHR* = VkSemaphoreType @@ -1422,8 +2012,13 @@ type VkAccelerationStructureTypeNV* = VkAccelerationStructureTypeKHR VkGeometryTypeNV* = VkGeometryTypeKHR VkRayTracingShaderGroupTypeNV* = VkRayTracingShaderGroupTypeKHR - VkAccelerationStructureMemoryRequirementsTypeNV* = VkAccelerationStructureMemoryRequirementsTypeKHR + VkPipelineCreationFeedbackFlagBitsEXT* = VkPipelineCreationFeedbackFlagBits VkSemaphoreWaitFlagBitsKHR* = VkSemaphoreWaitFlagBits + VkToolPurposeFlagBitsEXT* = VkToolPurposeFlagBits + VkAccessFlagBits2KHR* = VkAccessFlagBits2 + VkPipelineStageFlagBits2KHR* = VkPipelineStageFlagBits2 + VkFormatFeatureFlagBits2KHR* = VkFormatFeatureFlagBits2 + VkRenderingFlagBitsKHR* = VkRenderingFlagBits VkExternalMemoryHandleTypeFlagBitsKHR* = VkExternalMemoryHandleTypeFlagBits VkExternalMemoryFeatureFlagBitsKHR* = VkExternalMemoryFeatureFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR* = VkExternalSemaphoreHandleTypeFlagBits @@ -1440,6 +2035,7 @@ type VkChromaLocationKHR* = VkChromaLocation VkSamplerReductionModeEXT* = VkSamplerReductionMode VkShaderFloatControlsIndependenceKHR* = VkShaderFloatControlsIndependence + VkSubmitFlagBitsKHR* = VkSubmitFlagBits VkDriverIdKHR* = VkDriverId PFN_vkInternalAllocationNotification* = proc(pUserData: pointer; size: csize; allocationType: VkInternalAllocationType; allocationScope: VkSystemAllocationScope) {.cdecl.} PFN_vkInternalFreeNotification* = proc(pUserData: pointer; size: csize; allocationType: VkInternalAllocationType; allocationScope: VkSystemAllocationScope) {.cdecl.} @@ -1824,6 +2420,19 @@ type imageOffset*: VkOffset3D imageExtent*: VkExtent3D + VkCopyMemoryIndirectCommandNV* = object + srcAddress*: VkDeviceAddress + dstAddress*: VkDeviceAddress + size*: VkDeviceSize + + VkCopyMemoryToImageIndirectCommandNV* = object + srcAddress*: VkDeviceAddress + bufferRowLength*: uint32 + bufferImageHeight*: uint32 + imageSubresource*: VkImageSubresourceLayers + imageOffset*: VkOffset3D + imageExtent*: VkExtent3D + VkImageResolve* = object srcSubresource*: VkImageSubresourceLayers srcOffset*: VkOffset3D @@ -1889,6 +2498,7 @@ type stage*: VkShaderStageFlagBits module*: VkShaderModule pName*: cstring + pName*: cstring pSpecializationInfo*: ptr VkSpecializationInfo VkComputePipelineCreateInfo* = object @@ -2024,6 +2634,7 @@ type flags*: VkPipelineCreateFlags stageCount*: uint32 pStages*: ptr VkPipelineShaderStageCreateInfo + pStages*: ptr VkPipelineShaderStageCreateInfo pVertexInputState*: ptr VkPipelineVertexInputStateCreateInfo pInputAssemblyState*: ptr VkPipelineInputAssemblyStateCreateInfo pTessellationState*: ptr VkPipelineTessellationStateCreateInfo @@ -2044,8 +2655,37 @@ type pNext*: pointer flags*: VkPipelineCacheCreateFlags initialDataSize*: uint + initialDataSize*: uint pInitialData*: pointer + VkPipelineCacheHeaderVersionOne* = object + headerSize*: uint32 + headerVersion*: VkPipelineCacheHeaderVersion + vendorID*: uint32 + deviceID*: uint32 + pipelineCacheUUID*: array[VK_UUID_SIZE, uint8] + + VkPipelineCacheStageValidationIndexEntry* = object + codeSize*: uint64 + codeOffset*: uint64 + + VkPipelineCacheSafetyCriticalIndexEntry* = object + pipelineIdentifier*: array[VK_UUID_SIZE, uint8] + pipelineMemorySize*: uint64 + jsonSize*: uint64 + jsonOffset*: uint64 + stageIndexCount*: uint32 + stageIndexStride*: uint32 + stageIndexOffset*: uint64 + + VkPipelineCacheHeaderVersionSafetyCriticalOne* = object + headerVersionOne*: VkPipelineCacheHeaderVersionOne + validationVersion*: VkPipelineCacheValidationVersion + implementationData*: uint32 + pipelineIndexCount*: uint32 + pipelineIndexStride*: uint32 + pipelineIndexOffset*: uint64 + VkPushConstantRange* = object stageFlags*: VkShaderStageFlags offset*: uint32 @@ -2407,6 +3047,15 @@ type y*: uint32 z*: uint32 + VkMultiDrawInfoEXT* = object + firstVertex*: uint32 + vertexCount*: uint32 + + VkMultiDrawIndexedInfoEXT* = object + firstIndex*: uint32 + indexCount*: uint32 + vertexOffset*: int32 + VkSubmitInfo* = object sType*: VkStructureType pNext*: pointer @@ -2546,6 +3195,13 @@ type flags*: VkStreamDescriptorSurfaceCreateFlagsGGP streamDescriptor*: GgpStreamDescriptor + VkScreenSurfaceCreateInfoQNX* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkScreenSurfaceCreateFlagsQNX + context*: ptr _screen_context + window*: ptr _screen_window + VkSurfaceFormatKHR* = object format*: VkFormat colorSpace*: VkColorSpaceKHR @@ -2569,6 +3225,7 @@ type presentMode*: VkPresentModeKHR clipped*: VkBool32 oldSwapchain*: VkSwapchainKHR + oldSwapchain*: VkSwapchainKHR VkPresentInfoKHR* = object sType*: VkStructureType @@ -2601,6 +3258,14 @@ type disabledValidationFeatureCount*: uint32 pDisabledValidationFeatures*: ptr VkValidationFeatureDisableEXT + VkApplicationParametersEXT* = object + sType*: VkStructureType + pNext*: pointer + vendorID*: uint32 + deviceID*: uint32 + key*: uint32 + value*: uint64 + VkPipelineRasterizationStateRasterizationOrderAMD* = object sType*: VkStructureType pNext*: pointer @@ -2672,6 +3337,36 @@ type pAttributes*: ptr SECURITY_ATTRIBUTES dwAccess*: DWORD + VkExportMemorySciBufInfoNV* = object + sType*: VkStructureType + pNext*: pointer + pAttributes*: NvSciBufAttrList + + VkImportMemorySciBufInfoNV* = object + sType*: VkStructureType + pNext*: pointer + handleType*: VkExternalMemoryHandleTypeFlagBits + handle*: NvSciBufObj + + VkMemoryGetSciBufInfoNV* = object + sType*: VkStructureType + pNext*: pointer + memory*: VkDeviceMemory + handleType*: VkExternalMemoryHandleTypeFlagBits + + VkMemorySciBufPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + memoryTypeBits*: uint32 + + VkPhysicalDeviceExternalMemorySciBufFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + sciBufImport*: VkBool32 + sciBufExport*: VkBool32 + + VkPhysicalDeviceExternalSciBufFeaturesNV* = object + VkWin32KeyedMutexAcquireReleaseInfoNV* = object sType*: VkStructureType pNext*: pointer @@ -2688,21 +3383,27 @@ type pNext*: pointer deviceGeneratedCommands*: VkBool32 - VkDevicePrivateDataCreateInfoEXT* = object + VkDevicePrivateDataCreateInfo* = object sType*: VkStructureType pNext*: pointer privateDataSlotRequestCount*: uint32 - VkPrivateDataSlotCreateInfoEXT* = object + VkDevicePrivateDataCreateInfoEXT* = object + + VkPrivateDataSlotCreateInfo* = object sType*: VkStructureType pNext*: pointer - flags*: VkPrivateDataSlotCreateFlagsEXT + flags*: VkPrivateDataSlotCreateFlags - VkPhysicalDevicePrivateDataFeaturesEXT* = object + VkPrivateDataSlotCreateInfoEXT* = object + + VkPhysicalDevicePrivateDataFeatures* = object sType*: VkStructureType pNext*: pointer privateData*: VkBool32 + VkPhysicalDevicePrivateDataFeaturesEXT* = object + VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* = object sType*: VkStructureType pNext*: pointer @@ -2716,6 +3417,11 @@ type minSequencesIndexBufferOffsetAlignment*: uint32 minIndirectCommandsBufferOffsetAlignment*: uint32 + VkPhysicalDeviceMultiDrawPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + maxMultiDrawCount*: uint32 + VkGraphicsShaderGroupCreateInfoNV* = object sType*: VkStructureType pNext*: pointer @@ -3008,6 +3714,23 @@ type dwAccess*: DWORD name*: LPCWSTR + VkImportMemoryZirconHandleInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + handleType*: VkExternalMemoryHandleTypeFlagBits + handle*: zx_handle_t + + VkMemoryZirconHandlePropertiesFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + memoryTypeBits*: uint32 + + VkMemoryGetZirconHandleInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + memory*: VkDeviceMemory + handleType*: VkExternalMemoryHandleTypeFlagBits + VkMemoryWin32HandlePropertiesKHR* = object sType*: VkStructureType pNext*: pointer @@ -3114,6 +3837,20 @@ type semaphore*: VkSemaphore handleType*: VkExternalSemaphoreHandleTypeFlagBits + VkImportSemaphoreZirconHandleInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + flags*: VkSemaphoreImportFlags + handleType*: VkExternalSemaphoreHandleTypeFlagBits + zirconHandle*: zx_handle_t + + VkSemaphoreGetZirconHandleInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + handleType*: VkExternalSemaphoreHandleTypeFlagBits + VkPhysicalDeviceExternalFenceInfo* = object sType*: VkStructureType pNext*: pointer @@ -3173,6 +3910,80 @@ type fence*: VkFence handleType*: VkExternalFenceHandleTypeFlagBits + VkExportFenceSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + pAttributes*: NvSciSyncAttrList + + VkImportFenceSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + fence*: VkFence + handleType*: VkExternalFenceHandleTypeFlagBits + handle*: pointer + + VkFenceGetSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + fence*: VkFence + handleType*: VkExternalFenceHandleTypeFlagBits + + VkExportSemaphoreSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + pAttributes*: NvSciSyncAttrList + + VkImportSemaphoreSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + handleType*: VkExternalSemaphoreHandleTypeFlagBits + handle*: pointer + + VkSemaphoreGetSciSyncInfoNV* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + handleType*: VkExternalSemaphoreHandleTypeFlagBits + + VkSciSyncAttributesInfoNV* = object + sType*: VkStructureType + pNext*: pointer + clientType*: VkSciSyncClientTypeNV + primitiveType*: VkSciSyncPrimitiveTypeNV + + VkPhysicalDeviceExternalSciSyncFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + sciSyncFence*: VkBool32 + sciSyncSemaphore*: VkBool32 + sciSyncImport*: VkBool32 + sciSyncExport*: VkBool32 + + VkPhysicalDeviceExternalSciSync2FeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + sciSyncFence*: VkBool32 + sciSyncSemaphore2*: VkBool32 + sciSyncImport*: VkBool32 + sciSyncExport*: VkBool32 + + VkSemaphoreSciSyncPoolCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + handle*: NvSciSyncObj + + VkSemaphoreSciSyncCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + semaphorePool*: VkSemaphoreSciSyncPoolNV + pFence*: ptr NvSciSyncFence + + VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + semaphoreSciSyncPoolRequestCount*: uint32 + VkPhysicalDeviceMultiviewFeatures* = object sType*: VkStructureType pNext*: pointer @@ -3400,6 +4211,22 @@ type x*: float32 y*: float32 + VkPhysicalDevicePresentIdFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + presentId*: VkBool32 + + VkPresentIdKHR* = object + sType*: VkStructureType + pNext*: pointer + swapchainCount*: uint32 + pPresentIds*: ptr uint64 + + VkPhysicalDevicePresentWaitFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + presentWait*: VkBool32 + VkHdrMetadataEXT* = object sType*: VkStructureType pNext*: pointer @@ -3595,6 +4422,13 @@ type VkBufferMemoryRequirementsInfo2KHR* = object + VkDeviceBufferMemoryRequirements* = object + sType*: VkStructureType + pNext*: pointer + pCreateInfo*: ptr VkBufferCreateInfo + + VkDeviceBufferMemoryRequirementsKHR* = object + VkImageMemoryRequirementsInfo2* = object sType*: VkStructureType pNext*: pointer @@ -3609,6 +4443,14 @@ type VkImageSparseMemoryRequirementsInfo2KHR* = object + VkDeviceImageMemoryRequirements* = object + sType*: VkStructureType + pNext*: pointer + pCreateInfo*: ptr VkImageCreateInfo + planeAspect*: VkImageAspectFlagBits + + VkDeviceImageMemoryRequirementsKHR* = object + VkMemoryRequirements2* = object sType*: VkStructureType pNext*: pointer @@ -3651,6 +4493,12 @@ type pNext*: pointer usage*: VkImageUsageFlags + VkImageViewSlicedCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + sliceOffset*: uint32 + sliceCount*: uint32 + VkImageViewUsageCreateInfoKHR* = object VkPipelineTessellationDomainOriginStateCreateInfo* = object @@ -3818,6 +4666,11 @@ type pNext*: pointer advancedBlendCoherentOperations*: VkBool32 + VkPhysicalDeviceMultiDrawFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + multiDraw*: VkBool32 + VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* = object sType*: VkStructureType pNext*: pointer @@ -3835,13 +4688,15 @@ type dstPremultiplied*: VkBool32 blendOverlap*: VkBlendOverlapEXT - VkPhysicalDeviceInlineUniformBlockFeaturesEXT* = object + VkPhysicalDeviceInlineUniformBlockFeatures* = object sType*: VkStructureType pNext*: pointer inlineUniformBlock*: VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32 - VkPhysicalDeviceInlineUniformBlockPropertiesEXT* = object + VkPhysicalDeviceInlineUniformBlockFeaturesEXT* = object + + VkPhysicalDeviceInlineUniformBlockProperties* = object sType*: VkStructureType pNext*: pointer maxInlineUniformBlockSize*: uint32 @@ -3850,17 +4705,23 @@ type maxDescriptorSetInlineUniformBlocks*: uint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32 - VkWriteDescriptorSetInlineUniformBlockEXT* = object + VkPhysicalDeviceInlineUniformBlockPropertiesEXT* = object + + VkWriteDescriptorSetInlineUniformBlock* = object sType*: VkStructureType pNext*: pointer dataSize*: uint32 pData*: pointer - VkDescriptorPoolInlineUniformBlockCreateInfoEXT* = object + VkWriteDescriptorSetInlineUniformBlockEXT* = object + + VkDescriptorPoolInlineUniformBlockCreateInfo* = object sType*: VkStructureType pNext*: pointer maxInlineUniformBlockBindings*: uint32 + VkDescriptorPoolInlineUniformBlockCreateInfoEXT* = object + VkPipelineCoverageModulationStateCreateInfoNV* = object sType*: VkStructureType pNext*: pointer @@ -3898,6 +4759,20 @@ type VkPhysicalDeviceMaintenance3PropertiesKHR* = object + VkPhysicalDeviceMaintenance4Features* = object + sType*: VkStructureType + pNext*: pointer + maintenance4*: VkBool32 + + VkPhysicalDeviceMaintenance4FeaturesKHR* = object + + VkPhysicalDeviceMaintenance4Properties* = object + sType*: VkStructureType + pNext*: pointer + maxBufferSize*: VkDeviceSize + + VkPhysicalDeviceMaintenance4PropertiesKHR* = object + VkDescriptorSetLayoutSupport* = object sType*: VkStructureType pNext*: pointer @@ -3991,10 +4866,27 @@ type numAvailableSgprs*: uint32 computeWorkGroupSize*: array[3, uint32] + VkDeviceQueueGlobalPriorityCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + globalPriority*: VkQueueGlobalPriorityKHR + VkDeviceQueueGlobalPriorityCreateInfoEXT* = object + + VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + globalPriorityQuery*: VkBool32 + + VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* = object + + VkQueueFamilyGlobalPriorityPropertiesKHR* = object sType*: VkStructureType pNext*: pointer - globalPriority*: VkQueueGlobalPriorityEXT + priorityCount*: uint32 + priorities*: array[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR, VkQueueGlobalPriorityKHR] + + VkQueueFamilyGlobalPriorityPropertiesEXT* = object VkDebugUtilsObjectNameInfoEXT* = object sType*: VkStructureType @@ -4041,6 +4933,29 @@ type objectCount*: uint32 pObjects*: ptr VkDebugUtilsObjectNameInfoEXT + VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + deviceMemoryReport*: VkBool32 + + VkDeviceDeviceMemoryReportCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkDeviceMemoryReportFlagsEXT + pfnUserCallback*: PFN_vkDeviceMemoryReportCallbackEXT + pUserData*: pointer + + VkDeviceMemoryReportCallbackDataEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkDeviceMemoryReportFlagsEXT + `type`*: VkDeviceMemoryReportEventTypeEXT + memoryObjectId*: uint64 + size*: VkDeviceSize + objectType*: VkObjectType + objectHandle*: uint64 + heapIndex*: uint32 + VkImportMemoryHostPointerInfoEXT* = object sType*: VkStructureType pNext*: pointer @@ -4431,6 +5346,22 @@ type sparseImageFloat32Atomics*: VkBool32 sparseImageFloat32AtomicAdd*: VkBool32 + VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderBufferFloat16Atomics*: VkBool32 + shaderBufferFloat16AtomicAdd*: VkBool32 + shaderBufferFloat16AtomicMinMax*: VkBool32 + shaderBufferFloat32AtomicMinMax*: VkBool32 + shaderBufferFloat64AtomicMinMax*: VkBool32 + shaderSharedFloat16Atomics*: VkBool32 + shaderSharedFloat16AtomicAdd*: VkBool32 + shaderSharedFloat16AtomicMinMax*: VkBool32 + shaderSharedFloat32AtomicMinMax*: VkBool32 + shaderSharedFloat64AtomicMinMax*: VkBool32 + shaderImageFloat32AtomicMinMax*: VkBool32 + sparseImageFloat32AtomicMinMax*: VkBool32 + VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* = object sType*: VkStructureType pNext*: pointer @@ -4536,9 +5467,6 @@ type computeDerivativeGroupLinear*: VkBool32 VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* = object - sType*: VkStructureType - pNext*: pointer - fragmentShaderBarycentric*: VkBool32 VkPhysicalDeviceShaderImageFootprintFeaturesNV* = object sType*: VkStructureType @@ -4550,6 +5478,27 @@ type pNext*: pointer dedicatedAllocationImageAliasing*: VkBool32 + VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + indirectCopy*: VkBool32 + + VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + supportedQueues*: VkQueueFlags + + VkPhysicalDeviceMemoryDecompressionFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + memoryDecompression*: VkBool32 + + VkPhysicalDeviceMemoryDecompressionPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + decompressionMethods*: VkMemoryDecompressionMethodFlagsNV + maxDecompressionIndirectCount*: uint64 + VkShadingRatePaletteNV* = object shadingRatePaletteEntryCount*: uint32 pShadingRatePaletteEntries*: ptr VkShadingRatePaletteEntryNV @@ -4574,6 +5523,11 @@ type shadingRatePaletteSize*: uint32 shadingRateMaxCoarseSamples*: uint32 + VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + invocationMask*: VkBool32 + VkCoarseSampleLocationNV* = object pixelX*: uint32 pixelY*: uint32 @@ -4619,6 +5573,52 @@ type taskCount*: uint32 firstTask*: uint32 + VkPhysicalDeviceMeshShaderFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + taskShader*: VkBool32 + meshShader*: VkBool32 + multiviewMeshShader*: VkBool32 + primitiveFragmentShadingRateMeshShader*: VkBool32 + meshShaderQueries*: VkBool32 + + VkPhysicalDeviceMeshShaderPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + maxTaskWorkGroupTotalCount*: uint32 + maxTaskWorkGroupCount*: array[3, uint32] + maxTaskWorkGroupInvocations*: uint32 + maxTaskWorkGroupSize*: array[3, uint32] + maxTaskPayloadSize*: uint32 + maxTaskSharedMemorySize*: uint32 + maxTaskPayloadAndSharedMemorySize*: uint32 + maxMeshWorkGroupTotalCount*: uint32 + maxMeshWorkGroupCount*: array[3, uint32] + maxMeshWorkGroupInvocations*: uint32 + maxMeshWorkGroupSize*: array[3, uint32] + maxMeshSharedMemorySize*: uint32 + maxMeshPayloadAndSharedMemorySize*: uint32 + maxMeshOutputMemorySize*: uint32 + maxMeshPayloadAndOutputMemorySize*: uint32 + maxMeshOutputComponents*: uint32 + maxMeshOutputVertices*: uint32 + maxMeshOutputPrimitives*: uint32 + maxMeshOutputLayers*: uint32 + maxMeshMultiviewViewCount*: uint32 + meshOutputPerVertexGranularity*: uint32 + meshOutputPerPrimitiveGranularity*: uint32 + maxPreferredTaskWorkGroupInvocations*: uint32 + maxPreferredMeshWorkGroupInvocations*: uint32 + prefersLocalInvocationVertexOutput*: VkBool32 + prefersLocalInvocationPrimitiveOutput*: VkBool32 + prefersCompactVertexOutput*: VkBool32 + prefersCompactPrimitiveOutput*: VkBool32 + + VkDrawMeshTasksIndirectCommandEXT* = object + groupCountX*: uint32 + groupCountY*: uint32 + groupCountZ*: uint32 + VkRayTracingShaderGroupCreateInfoNV* = object sType*: VkStructureType pNext*: pointer @@ -4659,9 +5659,10 @@ type pStages*: ptr VkPipelineShaderStageCreateInfo groupCount*: uint32 pGroups*: ptr VkRayTracingShaderGroupCreateInfoKHR - maxRecursionDepth*: uint32 - libraries*: VkPipelineLibraryCreateInfoKHR + maxPipelineRayRecursionDepth*: uint32 + pLibraryInfo*: ptr VkPipelineLibraryCreateInfoKHR pLibraryInterface*: ptr VkRayTracingPipelineInterfaceCreateInfoKHR + pDynamicState*: ptr VkPipelineDynamicStateCreateInfo layout*: VkPipelineLayout basePipelineHandle*: VkPipeline basePipelineIndex*: int32 @@ -4715,17 +5716,15 @@ type compactedSize*: VkDeviceSize info*: VkAccelerationStructureInfoNV - VkBindAccelerationStructureMemoryInfoKHR* = object + VkBindAccelerationStructureMemoryInfoNV* = object sType*: VkStructureType pNext*: pointer - accelerationStructure*: VkAccelerationStructureKHR + accelerationStructure*: VkAccelerationStructureNV memory*: VkDeviceMemory memoryOffset*: VkDeviceSize deviceIndexCount*: uint32 pDeviceIndices*: ptr uint32 - VkBindAccelerationStructureMemoryInfoNV* = object - VkWriteDescriptorSetAccelerationStructureKHR* = object sType*: VkStructureType pNext*: pointer @@ -4733,13 +5732,10 @@ type pAccelerationStructures*: ptr VkAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV* = object - - VkAccelerationStructureMemoryRequirementsInfoKHR* = object sType*: VkStructureType pNext*: pointer - `type`*: VkAccelerationStructureMemoryRequirementsTypeKHR - buildType*: VkAccelerationStructureBuildTypeKHR - accelerationStructure*: VkAccelerationStructureKHR + accelerationStructureCount*: uint32 + pAccelerationStructures*: ptr VkAccelerationStructureNV VkAccelerationStructureMemoryRequirementsInfoNV* = object sType*: VkStructureType @@ -4747,31 +5743,52 @@ type `type`*: VkAccelerationStructureMemoryRequirementsTypeNV accelerationStructure*: VkAccelerationStructureNV - VkPhysicalDeviceRayTracingFeaturesKHR* = object + VkPhysicalDeviceAccelerationStructureFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + accelerationStructure*: VkBool32 + accelerationStructureCaptureReplay*: VkBool32 + accelerationStructureIndirectBuild*: VkBool32 + accelerationStructureHostCommands*: VkBool32 + descriptorBindingAccelerationStructureUpdateAfterBind*: VkBool32 + + VkPhysicalDeviceRayTracingPipelineFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + rayTracingPipeline*: VkBool32 + rayTracingPipelineShaderGroupHandleCaptureReplay*: VkBool32 + rayTracingPipelineShaderGroupHandleCaptureReplayMixed*: VkBool32 + rayTracingPipelineTraceRaysIndirect*: VkBool32 + rayTraversalPrimitiveCulling*: VkBool32 + + VkPhysicalDeviceRayQueryFeaturesKHR* = object sType*: VkStructureType pNext*: pointer - rayTracing*: VkBool32 - rayTracingShaderGroupHandleCaptureReplay*: VkBool32 - rayTracingShaderGroupHandleCaptureReplayMixed*: VkBool32 - rayTracingAccelerationStructureCaptureReplay*: VkBool32 - rayTracingIndirectTraceRays*: VkBool32 - rayTracingIndirectAccelerationStructureBuild*: VkBool32 - rayTracingHostAccelerationStructureCommands*: VkBool32 rayQuery*: VkBool32 - rayTracingPrimitiveCulling*: VkBool32 - VkPhysicalDeviceRayTracingPropertiesKHR* = object + VkPhysicalDeviceAccelerationStructurePropertiesKHR* = object sType*: VkStructureType pNext*: pointer - shaderGroupHandleSize*: uint32 - maxRecursionDepth*: uint32 - maxShaderGroupStride*: uint32 - shaderGroupBaseAlignment*: uint32 maxGeometryCount*: uint64 maxInstanceCount*: uint64 maxPrimitiveCount*: uint64 + maxPerStageDescriptorAccelerationStructures*: uint32 + maxPerStageDescriptorUpdateAfterBindAccelerationStructures*: uint32 maxDescriptorSetAccelerationStructures*: uint32 + maxDescriptorSetUpdateAfterBindAccelerationStructures*: uint32 + minAccelerationStructureScratchOffsetAlignment*: uint32 + + VkPhysicalDeviceRayTracingPipelinePropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + shaderGroupHandleSize*: uint32 + maxRayRecursionDepth*: uint32 + maxShaderGroupStride*: uint32 + shaderGroupBaseAlignment*: uint32 shaderGroupHandleCaptureReplaySize*: uint32 + maxRayDispatchInvocationCount*: uint32 + shaderGroupHandleAlignment*: uint32 + maxRayHitAttributeSize*: uint32 VkPhysicalDeviceRayTracingPropertiesNV* = object sType*: VkStructureType @@ -4785,9 +5802,8 @@ type maxTriangleCount*: uint64 maxDescriptorSetAccelerationStructures*: uint32 - VkStridedBufferRegionKHR* = object - buffer*: VkBuffer - offset*: VkDeviceSize + VkStridedDeviceAddressRegionKHR* = object + deviceAddress*: VkDeviceAddress stride*: VkDeviceSize size*: VkDeviceSize @@ -4796,6 +5812,28 @@ type height*: uint32 depth*: uint32 + VkTraceRaysIndirectCommand2KHR* = object + raygenShaderRecordAddress*: VkDeviceAddress + raygenShaderRecordSize*: VkDeviceSize + missShaderBindingTableAddress*: VkDeviceAddress + missShaderBindingTableSize*: VkDeviceSize + missShaderBindingTableStride*: VkDeviceSize + hitShaderBindingTableAddress*: VkDeviceAddress + hitShaderBindingTableSize*: VkDeviceSize + hitShaderBindingTableStride*: VkDeviceSize + callableShaderBindingTableAddress*: VkDeviceAddress + callableShaderBindingTableSize*: VkDeviceSize + callableShaderBindingTableStride*: VkDeviceSize + width*: uint32 + height*: uint32 + depth*: uint32 + + VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + rayTracingMaintenance1*: VkBool32 + rayTracingPipelineTraceRaysIndirect2*: VkBool32 + VkDrmFormatModifierPropertiesListEXT* = object sType*: VkStructureType pNext*: pointer @@ -4857,6 +5895,11 @@ type pNext*: pointer fragmentDensityMapDeferred*: VkBool32 + VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* = object + sType*: VkStructureType + pNext*: pointer + fragmentDensityMapOffset*: VkBool32 + VkPhysicalDeviceFragmentDensityMapPropertiesEXT* = object sType*: VkStructureType pNext*: pointer @@ -4872,11 +5915,22 @@ type maxSubsampledArrayLayers*: uint32 maxDescriptorSetSubsampledSamplers*: uint32 + VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* = object + sType*: VkStructureType + pNext*: pointer + fragmentDensityOffsetGranularity*: VkExtent2D + VkRenderPassFragmentDensityMapCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer fragmentDensityMapAttachment*: VkAttachmentReference + VkSubpassFragmentDensityMapOffsetEndInfoQCOM* = object + sType*: VkStructureType + pNext*: pointer + fragmentDensityOffsetCount*: uint32 + pFragmentDensityOffsets*: ptr VkOffset2D + VkPhysicalDeviceScalarBlockLayoutFeatures* = object sType*: VkStructureType pNext*: pointer @@ -4923,6 +5977,11 @@ type pNext*: pointer priority*: float32 + VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + pageableDeviceLocalMemory*: VkBool32 + VkPhysicalDeviceBufferDeviceAddressFeatures* = object sType*: VkStructureType pNext*: pointer @@ -5009,11 +6068,13 @@ type VkRenderPassAttachmentBeginInfoKHR* = object - VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* = object + VkPhysicalDeviceTextureCompressionASTCHDRFeatures* = object sType*: VkStructureType pNext*: pointer textureCompressionASTC_HDR*: VkBool32 + VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* = object + VkPhysicalDeviceCooperativeMatrixFeaturesNV* = object sType*: VkStructureType pNext*: pointer @@ -5060,16 +6121,20 @@ type pNext*: pointer frameToken*: GgpFrameToken - VkPipelineCreationFeedbackEXT* = object - flags*: VkPipelineCreationFeedbackFlagsEXT + VkPipelineCreationFeedback* = object + flags*: VkPipelineCreationFeedbackFlags duration*: uint64 - VkPipelineCreationFeedbackCreateInfoEXT* = object + VkPipelineCreationFeedbackEXT* = object + + VkPipelineCreationFeedbackCreateInfo* = object sType*: VkStructureType pNext*: pointer - pPipelineCreationFeedback*: ptr VkPipelineCreationFeedbackEXT + pPipelineCreationFeedback*: ptr VkPipelineCreationFeedback pipelineStageCreationFeedbackCount*: uint32 - pPipelineStageCreationFeedbacks*: ptr ptr VkPipelineCreationFeedbackEXT + pPipelineStageCreationFeedbacks*: ptr ptr VkPipelineCreationFeedback + + VkPipelineCreationFeedbackCreateInfoEXT* = object VkSurfaceFullScreenExclusiveInfoEXT* = object sType*: VkStructureType @@ -5086,6 +6151,21 @@ type pNext*: pointer fullScreenExclusiveSupported*: VkBool32 + VkPhysicalDevicePresentBarrierFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + presentBarrier*: VkBool32 + + VkSurfaceCapabilitiesPresentBarrierNV* = object + sType*: VkStructureType + pNext*: pointer + presentBarrierSupported*: VkBool32 + + VkSwapchainPresentBarrierCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + presentBarrierEnable*: VkBool32 + VkPhysicalDevicePerformanceQueryFeaturesKHR* = object sType*: VkStructureType pNext*: pointer @@ -5139,6 +6219,11 @@ type pNext*: pointer counterPassIndex*: uint32 + VkPerformanceQueryReservationInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + maxPerformanceQueriesPerPool*: uint32 + VkHeadlessSurfaceCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer @@ -5254,6 +6339,12 @@ type pNext*: pointer stencilLayout*: VkImageLayout + VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + primitiveTopologyListRestart*: VkBool32 + primitiveTopologyPatchListRestart*: VkBool32 + VkAttachmentReferenceStencilLayoutKHR* = object VkAttachmentDescriptionStencilLayout* = object @@ -5274,6 +6365,8 @@ type pNext*: pointer pipeline*: VkPipeline + VkPipelineInfoEXT* = object + VkPipelineExecutablePropertiesKHR* = object sType*: VkStructureType pNext*: pointer @@ -5311,17 +6404,19 @@ type dataSize*: uint pData*: pointer - VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* = object + VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* = object sType*: VkStructureType pNext*: pointer shaderDemoteToHelperInvocation*: VkBool32 + VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* = object + VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* = object sType*: VkStructureType pNext*: pointer texelBufferAlignment*: VkBool32 - VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* = object + VkPhysicalDeviceTexelBufferAlignmentProperties* = object sType*: VkStructureType pNext*: pointer storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize @@ -5329,13 +6424,17 @@ type uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32 - VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* = object + VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* = object + + VkPhysicalDeviceSubgroupSizeControlFeatures* = object sType*: VkStructureType pNext*: pointer subgroupSizeControl*: VkBool32 computeFullSubgroups*: VkBool32 - VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* = object + VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* = object + + VkPhysicalDeviceSubgroupSizeControlProperties* = object sType*: VkStructureType pNext*: pointer minSubgroupSize*: uint32 @@ -5343,11 +6442,36 @@ type maxComputeWorkgroupSubgroups*: uint32 requiredSubgroupSizeStages*: VkShaderStageFlags - VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* = object + VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* = object + + VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* = object sType*: VkStructureType pNext*: pointer requiredSubgroupSize*: uint32 + VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* = object + + VkShaderRequiredSubgroupSizeCreateInfoEXT* = object + + VkSubpassShadingPipelineCreateInfoHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + renderPass*: VkRenderPass + subpass*: uint32 + + VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + maxSubpassShadingWorkgroupSizeAspectRatio*: uint32 + + VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + maxWorkGroupCount*: array[3, uint32] + maxWorkGroupSize*: array[3, uint32] + maxOutputClusterCount*: uint32 + indirectBufferOffsetAlignment*: VkDeviceSize + VkMemoryOpaqueCaptureAddressAllocateInfo* = object sType*: VkStructureType pNext*: pointer @@ -5385,11 +6509,13 @@ type lineStippleFactor*: uint32 lineStipplePattern*: uint16 - VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* = object + VkPhysicalDevicePipelineCreationCacheControlFeatures* = object sType*: VkStructureType pNext*: pointer pipelineCreationCacheControl*: VkBool32 + VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* = object + VkPhysicalDeviceVulkan11Features* = object sType*: VkStructureType pNext*: pointer @@ -5532,6 +6658,74 @@ type maxTimelineSemaphoreValueDifference*: uint64 framebufferIntegerColorSampleCounts*: VkSampleCountFlags + VkPhysicalDeviceVulkan13Features* = object + sType*: VkStructureType + pNext*: pointer + robustImageAccess*: VkBool32 + inlineUniformBlock*: VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32 + pipelineCreationCacheControl*: VkBool32 + privateData*: VkBool32 + shaderDemoteToHelperInvocation*: VkBool32 + shaderTerminateInvocation*: VkBool32 + subgroupSizeControl*: VkBool32 + computeFullSubgroups*: VkBool32 + synchronization2*: VkBool32 + textureCompressionASTC_HDR*: VkBool32 + shaderZeroInitializeWorkgroupMemory*: VkBool32 + dynamicRendering*: VkBool32 + shaderIntegerDotProduct*: VkBool32 + maintenance4*: VkBool32 + + VkPhysicalDeviceVulkan13Properties* = object + sType*: VkStructureType + pNext*: pointer + minSubgroupSize*: uint32 + maxSubgroupSize*: uint32 + maxComputeWorkgroupSubgroups*: uint32 + requiredSubgroupSizeStages*: VkShaderStageFlags + maxInlineUniformBlockSize*: uint32 + maxPerStageDescriptorInlineUniformBlocks*: uint32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32 + maxDescriptorSetInlineUniformBlocks*: uint32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32 + maxInlineUniformTotalSize*: uint32 + integerDotProduct8BitUnsignedAccelerated*: VkBool32 + integerDotProduct8BitSignedAccelerated*: VkBool32 + integerDotProduct8BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32 + integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32 + integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32 + integerDotProduct16BitUnsignedAccelerated*: VkBool32 + integerDotProduct16BitSignedAccelerated*: VkBool32 + integerDotProduct16BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct32BitUnsignedAccelerated*: VkBool32 + integerDotProduct32BitSignedAccelerated*: VkBool32 + integerDotProduct32BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct64BitUnsignedAccelerated*: VkBool32 + integerDotProduct64BitSignedAccelerated*: VkBool32 + integerDotProduct64BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32 + storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment*: VkBool32 + uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32 + maxBufferSize*: VkDeviceSize + VkPipelineCompilerControlCreateInfoAMD* = object sType*: VkStructureType pNext*: pointer @@ -5542,15 +6736,30 @@ type pNext*: pointer deviceCoherentMemory*: VkBool32 - VkPhysicalDeviceToolPropertiesEXT* = object + VkFaultData* = object + sType*: VkStructureType + pNext*: pointer + faultLevel*: VkFaultLevel + faultType*: VkFaultType + + VkFaultCallbackInfo* = object + sType*: VkStructureType + pNext*: pointer + faultCount*: uint32 + pFaults*: ptr VkFaultData + pfnFaultCallback*: PFN_vkFaultCallbackFunction + + VkPhysicalDeviceToolProperties* = object sType*: VkStructureType pNext*: pointer name*: array[VK_MAX_EXTENSION_NAME_SIZE, char] version*: array[VK_MAX_EXTENSION_NAME_SIZE, char] - purposes*: VkToolPurposeFlagsEXT + purposes*: VkToolPurposeFlags description*: array[VK_MAX_DESCRIPTION_SIZE, char] layer*: array[VK_MAX_EXTENSION_NAME_SIZE, char] + VkPhysicalDeviceToolPropertiesEXT* = object + VkSamplerCustomBorderColorCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer @@ -5568,6 +6777,18 @@ type customBorderColors*: VkBool32 customBorderColorWithoutFormat*: VkBool32 + VkSamplerBorderColorComponentMappingCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + components*: VkComponentMapping + srgb*: VkBool32 + + VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + borderColorSwizzle*: VkBool32 + borderColorSwizzleFromImage*: VkBool32 + VkDeviceOrHostAddressKHR* {.union.} = object deviceAddress*: VkDeviceAddress hostAddress*: pointer @@ -5582,6 +6803,7 @@ type vertexFormat*: VkFormat vertexData*: VkDeviceOrHostAddressConstKHR vertexStride*: VkDeviceSize + maxVertex*: uint32 indexType*: VkIndexType indexData*: VkDeviceOrHostAddressConstKHR transformData*: VkDeviceOrHostAddressConstKHR @@ -5615,38 +6837,28 @@ type pNext*: pointer `type`*: VkAccelerationStructureTypeKHR flags*: VkBuildAccelerationStructureFlagsKHR - update*: VkBool32 + mode*: VkBuildAccelerationStructureModeKHR srcAccelerationStructure*: VkAccelerationStructureKHR dstAccelerationStructure*: VkAccelerationStructureKHR - geometryArrayOfPointers*: VkBool32 geometryCount*: uint32 + pGeometries*: ptr VkAccelerationStructureGeometryKHR ppGeometries*: ptr ptr VkAccelerationStructureGeometryKHR scratchData*: VkDeviceOrHostAddressKHR - VkAccelerationStructureBuildOffsetInfoKHR* = object + VkAccelerationStructureBuildRangeInfoKHR* = object primitiveCount*: uint32 primitiveOffset*: uint32 firstVertex*: uint32 transformOffset*: uint32 - VkAccelerationStructureCreateGeometryTypeInfoKHR* = object - sType*: VkStructureType - pNext*: pointer - geometryType*: VkGeometryTypeKHR - maxPrimitiveCount*: uint32 - indexType*: VkIndexType - maxVertexCount*: uint32 - vertexFormat*: VkFormat - allowsTransforms*: VkBool32 - VkAccelerationStructureCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer - compactedSize*: VkDeviceSize + createFlags*: VkAccelerationStructureCreateFlagsKHR + buffer*: VkBuffer + offset*: VkDeviceSize + size*: VkDeviceSize `type`*: VkAccelerationStructureTypeKHR - flags*: VkBuildAccelerationStructureFlagsKHR - maxGeometryCount*: uint32 - pGeometryInfos*: ptr VkAccelerationStructureCreateGeometryTypeInfoKHR deviceAddress*: VkDeviceAddress VkAabbPositionsKHR* = object @@ -5679,10 +6891,10 @@ type pNext*: pointer accelerationStructure*: VkAccelerationStructureKHR - VkAccelerationStructureVersionKHR* = object + VkAccelerationStructureVersionInfoKHR* = object sType*: VkStructureType pNext*: pointer - versionData*: ptr uint8 + pVersionData*: ptr uint8 VkCopyAccelerationStructureInfoKHR* = object sType*: VkStructureType @@ -5708,14 +6920,8 @@ type VkRayTracingPipelineInterfaceCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer - maxPayloadSize*: uint32 - maxAttributeSize*: uint32 - maxCallableSize*: uint32 - - VkDeferredOperationInfoKHR* = object - sType*: VkStructureType - pNext*: pointer - operationHandle*: VkDeferredOperationKHR + maxPipelineRayPayloadSize*: uint32 + maxPipelineRayHitAttributeSize*: uint32 VkPipelineLibraryCreateInfoKHR* = object sType*: VkStructureType @@ -5723,16 +6929,94 @@ type libraryCount*: uint32 pLibraries*: ptr VkPipeline + VkRefreshObjectKHR* = object + objectType*: VkObjectType + objectHandle*: uint64 + flags*: VkRefreshObjectFlagsKHR + + VkRefreshObjectListKHR* = object + sType*: VkStructureType + pNext*: pointer + objectCount*: uint32 + pObjects*: ptr VkRefreshObjectKHR + VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* = object sType*: VkStructureType pNext*: pointer extendedDynamicState*: VkBool32 + VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + extendedDynamicState2*: VkBool32 + extendedDynamicState2LogicOp*: VkBool32 + extendedDynamicState2PatchControlPoints*: VkBool32 + + VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + extendedDynamicState3TessellationDomainOrigin*: VkBool32 + extendedDynamicState3DepthClampEnable*: VkBool32 + extendedDynamicState3PolygonMode*: VkBool32 + extendedDynamicState3RasterizationSamples*: VkBool32 + extendedDynamicState3SampleMask*: VkBool32 + extendedDynamicState3AlphaToCoverageEnable*: VkBool32 + extendedDynamicState3AlphaToOneEnable*: VkBool32 + extendedDynamicState3LogicOpEnable*: VkBool32 + extendedDynamicState3ColorBlendEnable*: VkBool32 + extendedDynamicState3ColorBlendEquation*: VkBool32 + extendedDynamicState3ColorWriteMask*: VkBool32 + extendedDynamicState3RasterizationStream*: VkBool32 + extendedDynamicState3ConservativeRasterizationMode*: VkBool32 + extendedDynamicState3ExtraPrimitiveOverestimationSize*: VkBool32 + extendedDynamicState3DepthClipEnable*: VkBool32 + extendedDynamicState3SampleLocationsEnable*: VkBool32 + extendedDynamicState3ColorBlendAdvanced*: VkBool32 + extendedDynamicState3ProvokingVertexMode*: VkBool32 + extendedDynamicState3LineRasterizationMode*: VkBool32 + extendedDynamicState3LineStippleEnable*: VkBool32 + extendedDynamicState3DepthClipNegativeOneToOne*: VkBool32 + extendedDynamicState3ViewportWScalingEnable*: VkBool32 + extendedDynamicState3ViewportSwizzle*: VkBool32 + extendedDynamicState3CoverageToColorEnable*: VkBool32 + extendedDynamicState3CoverageToColorLocation*: VkBool32 + extendedDynamicState3CoverageModulationMode*: VkBool32 + extendedDynamicState3CoverageModulationTableEnable*: VkBool32 + extendedDynamicState3CoverageModulationTable*: VkBool32 + extendedDynamicState3CoverageReductionMode*: VkBool32 + extendedDynamicState3RepresentativeFragmentTestEnable*: VkBool32 + extendedDynamicState3ShadingRateImageEnable*: VkBool32 + + VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + dynamicPrimitiveTopologyUnrestricted*: VkBool32 + + VkColorBlendEquationEXT* = object + srcColorBlendFactor*: VkBlendFactor + dstColorBlendFactor*: VkBlendFactor + colorBlendOp*: VkBlendOp + srcAlphaBlendFactor*: VkBlendFactor + dstAlphaBlendFactor*: VkBlendFactor + alphaBlendOp*: VkBlendOp + + VkColorBlendAdvancedEXT* = object + advancedBlendOp*: VkBlendOp + srcPremultiplied*: VkBool32 + dstPremultiplied*: VkBool32 + blendOverlap*: VkBlendOverlapEXT + clampResults*: VkBool32 + VkRenderPassTransformBeginInfoQCOM* = object sType*: VkStructureType pNext*: pointer transform*: VkSurfaceTransformFlagBitsKHR + VkCopyCommandTransformInfoQCOM* = object + sType*: VkStructureType + pNext*: pointer + transform*: VkSurfaceTransformFlagBitsKHR + VkCommandBufferInheritanceRenderPassTransformInfoQCOM* = object sType*: VkStructureType pNext*: pointer @@ -5749,6 +7033,25 @@ type pNext*: pointer flags*: VkDeviceDiagnosticsConfigFlagsNV + VkPipelineOfflineCreateInfo* = object + sType*: VkStructureType + pNext*: pointer + pipelineIdentifier*: array[VK_UUID_SIZE, uint8] + matchControl*: VkPipelineMatchControl + poolEntrySize*: VkDeviceSize + + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* = object + sType*: VkStructureType + pNext*: pointer + shaderZeroInitializeWorkgroupMemory*: VkBool32 + + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* = object + + VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + shaderSubgroupUniformControlFlow*: VkBool32 + VkPhysicalDeviceRobustness2FeaturesEXT* = object sType*: VkStructureType pNext*: pointer @@ -5762,4060 +7065,9572 @@ type robustStorageBufferAccessSizeAlignment*: VkDeviceSize robustUniformBufferAccessSizeAlignment*: VkDeviceSize - VkPhysicalDeviceImageRobustnessFeaturesEXT* = object + VkPhysicalDeviceImageRobustnessFeatures* = object sType*: VkStructureType pNext*: pointer robustImageAccess*: VkBool32 + VkPhysicalDeviceImageRobustnessFeaturesEXT* = object + + VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + workgroupMemoryExplicitLayout*: VkBool32 + workgroupMemoryExplicitLayoutScalarBlockLayout*: VkBool32 + workgroupMemoryExplicitLayout8BitAccess*: VkBool32 + workgroupMemoryExplicitLayout16BitAccess*: VkBool32 + + VkPhysicalDevicePortabilitySubsetFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + constantAlphaColorBlendFactors*: VkBool32 + events*: VkBool32 + imageViewFormatReinterpretation*: VkBool32 + imageViewFormatSwizzle*: VkBool32 + imageView2DOn3DImage*: VkBool32 + multisampleArrayImage*: VkBool32 + mutableComparisonSamplers*: VkBool32 + pointPolygons*: VkBool32 + samplerMipLodBias*: VkBool32 + separateStencilMaskRef*: VkBool32 + shaderSampleRateInterpolationFunctions*: VkBool32 + tessellationIsolines*: VkBool32 + tessellationPointMode*: VkBool32 + triangleFans*: VkBool32 + vertexAttributeAccessBeyondStride*: VkBool32 + + VkPhysicalDevicePortabilitySubsetPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + minVertexInputBindingStrideAlignment*: uint32 + VkPhysicalDevice4444FormatsFeaturesEXT* = object sType*: VkStructureType pNext*: pointer formatA4R4G4B4*: VkBool32 formatA4B4G4R4*: VkBool32 -# Constructors + VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + subpassShading*: VkBool32 -proc newVkOffset2D*(x: int32, y: int32): VkOffset2D = - result.x = x - result.y = y + VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* = object + sType*: VkStructureType + pNext*: pointer + clustercullingShader*: VkBool32 + multiviewClusterCullingShader*: VkBool32 -proc newVkOffset3D*(x: int32, y: int32, z: int32): VkOffset3D = - result.x = x - result.y = y - result.z = z + VkBufferCopy2* = object + sType*: VkStructureType + pNext*: pointer + srcOffset*: VkDeviceSize + dstOffset*: VkDeviceSize + size*: VkDeviceSize -proc newVkExtent2D*(width: uint32, height: uint32): VkExtent2D = - result.width = width - result.height = height + VkBufferCopy2KHR* = object -proc newVkExtent3D*(width: uint32, height: uint32, depth: uint32): VkExtent3D = - result.width = width - result.height = height - result.depth = depth + VkImageCopy2* = object + sType*: VkStructureType + pNext*: pointer + srcSubresource*: VkImageSubresourceLayers + srcOffset*: VkOffset3D + dstSubresource*: VkImageSubresourceLayers + dstOffset*: VkOffset3D + extent*: VkExtent3D -proc newVkViewport*(x: float32, y: float32, width: float32, height: float32, minDepth: float32, maxDepth: float32): VkViewport = - result.x = x - result.y = y - result.width = width - result.height = height - result.minDepth = minDepth - result.maxDepth = maxDepth + VkImageCopy2KHR* = object -proc newVkRect2D*(offset: VkOffset2D, extent: VkExtent2D): VkRect2D = - result.offset = offset - result.extent = extent + VkImageBlit2* = object + sType*: VkStructureType + pNext*: pointer + srcSubresource*: VkImageSubresourceLayers + srcOffsets*: array[2, VkOffset3D] + dstSubresource*: VkImageSubresourceLayers + dstOffsets*: array[2, VkOffset3D] -proc newVkClearRect*(rect: VkRect2D, baseArrayLayer: uint32, layerCount: uint32): VkClearRect = - result.rect = rect - result.baseArrayLayer = baseArrayLayer - result.layerCount = layerCount + VkImageBlit2KHR* = object -proc newVkComponentMapping*(r: VkComponentSwizzle, g: VkComponentSwizzle, b: VkComponentSwizzle, a: VkComponentSwizzle): VkComponentMapping = - result.r = r - result.g = g - result.b = b - result.a = a + VkBufferImageCopy2* = object + sType*: VkStructureType + pNext*: pointer + bufferOffset*: VkDeviceSize + bufferRowLength*: uint32 + bufferImageHeight*: uint32 + imageSubresource*: VkImageSubresourceLayers + imageOffset*: VkOffset3D + imageExtent*: VkExtent3D -proc newVkPhysicalDeviceProperties*(apiVersion: uint32, driverVersion: uint32, vendorID: uint32, deviceID: uint32, deviceType: VkPhysicalDeviceType, deviceName: array[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, char], pipelineCacheUUID: array[VK_UUID_SIZE, uint8], limits: VkPhysicalDeviceLimits, sparseProperties: VkPhysicalDeviceSparseProperties): VkPhysicalDeviceProperties = - result.apiVersion = apiVersion - result.driverVersion = driverVersion - result.vendorID = vendorID - result.deviceID = deviceID - result.deviceType = deviceType - result.deviceName = deviceName - result.pipelineCacheUUID = pipelineCacheUUID - result.limits = limits - result.sparseProperties = sparseProperties + VkBufferImageCopy2KHR* = object -proc newVkExtensionProperties*(extensionName: array[VK_MAX_EXTENSION_NAME_SIZE, char], specVersion: uint32): VkExtensionProperties = - result.extensionName = extensionName - result.specVersion = specVersion + VkImageResolve2* = object + sType*: VkStructureType + pNext*: pointer + srcSubresource*: VkImageSubresourceLayers + srcOffset*: VkOffset3D + dstSubresource*: VkImageSubresourceLayers + dstOffset*: VkOffset3D + extent*: VkExtent3D -proc newVkLayerProperties*(layerName: array[VK_MAX_EXTENSION_NAME_SIZE, char], specVersion: uint32, implementationVersion: uint32, description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkLayerProperties = - result.layerName = layerName - result.specVersion = specVersion - result.implementationVersion = implementationVersion - result.description = description + VkImageResolve2KHR* = object -proc newVkApplicationInfo*(sType: VkStructureType = VkStructureTypeApplicationInfo, pNext: pointer = nil, pApplicationName: cstring, applicationVersion: uint32, pEngineName: cstring, engineVersion: uint32, apiVersion: uint32): VkApplicationInfo = - result.sType = sType - result.pNext = pNext - result.pApplicationName = pApplicationName - result.applicationVersion = applicationVersion - result.pEngineName = pEngineName - result.engineVersion = engineVersion - result.apiVersion = apiVersion + VkCopyBufferInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcBuffer*: VkBuffer + dstBuffer*: VkBuffer + regionCount*: uint32 + pRegions*: ptr VkBufferCopy2 -proc newVkAllocationCallbacks*(pUserData: pointer = nil, pfnAllocation: PFN_vkAllocationFunction, pfnReallocation: PFN_vkReallocationFunction, pfnFree: PFN_vkFreeFunction, pfnInternalAllocation: PFN_vkInternalAllocationNotification, pfnInternalFree: PFN_vkInternalFreeNotification): VkAllocationCallbacks = - result.pUserData = pUserData - result.pfnAllocation = pfnAllocation - result.pfnReallocation = pfnReallocation - result.pfnFree = pfnFree - result.pfnInternalAllocation = pfnInternalAllocation - result.pfnInternalFree = pfnInternalFree + VkCopyBufferInfo2KHR* = object -proc newVkDeviceQueueCreateInfo*(sType: VkStructureType = VkStructureTypeDeviceQueueCreateInfo, pNext: pointer = nil, flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags, queueFamilyIndex: uint32, queueCount: uint32, pQueuePriorities: ptr float32): VkDeviceQueueCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.queueFamilyIndex = queueFamilyIndex - result.queueCount = queueCount - result.pQueuePriorities = pQueuePriorities + VkCopyImageInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcImage*: VkImage + srcImageLayout*: VkImageLayout + dstImage*: VkImage + dstImageLayout*: VkImageLayout + regionCount*: uint32 + pRegions*: ptr VkImageCopy2 -proc newVkDeviceCreateInfo*(sType: VkStructureType = VkStructureTypeDeviceCreateInfo, pNext: pointer = nil, flags: VkDeviceCreateFlags = 0.VkDeviceCreateFlags, queueCreateInfoCount: uint32, pQueueCreateInfos: ptr VkDeviceQueueCreateInfo, enabledLayerCount: uint32, ppEnabledLayerNames: cstringArray, enabledExtensionCount: uint32, ppEnabledExtensionNames: cstringArray, pEnabledFeatures: ptr VkPhysicalDeviceFeatures): VkDeviceCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.queueCreateInfoCount = queueCreateInfoCount - result.pQueueCreateInfos = pQueueCreateInfos - result.enabledLayerCount = enabledLayerCount - result.ppEnabledLayerNames = ppEnabledLayerNames - result.enabledExtensionCount = enabledExtensionCount - result.ppEnabledExtensionNames = ppEnabledExtensionNames - result.pEnabledFeatures = pEnabledFeatures + VkCopyImageInfo2KHR* = object -proc newVkInstanceCreateInfo*(sType: VkStructureType = VkStructureTypeInstanceCreateInfo, pNext: pointer = nil, flags: VkInstanceCreateFlags = 0.VkInstanceCreateFlags, pApplicationInfo: ptr VkApplicationInfo, enabledLayerCount: uint32, ppEnabledLayerNames: cstringArray, enabledExtensionCount: uint32, ppEnabledExtensionNames: cstringArray): VkInstanceCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.pApplicationInfo = pApplicationInfo - result.enabledLayerCount = enabledLayerCount - result.ppEnabledLayerNames = ppEnabledLayerNames - result.enabledExtensionCount = enabledExtensionCount - result.ppEnabledExtensionNames = ppEnabledExtensionNames + VkBlitImageInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcImage*: VkImage + srcImageLayout*: VkImageLayout + dstImage*: VkImage + dstImageLayout*: VkImageLayout + regionCount*: uint32 + pRegions*: ptr VkImageBlit2 + filter*: VkFilter -proc newVkQueueFamilyProperties*(queueFlags: VkQueueFlags, queueCount: uint32, timestampValidBits: uint32, minImageTransferGranularity: VkExtent3D): VkQueueFamilyProperties = - result.queueFlags = queueFlags - result.queueCount = queueCount - result.timestampValidBits = timestampValidBits - result.minImageTransferGranularity = minImageTransferGranularity + VkBlitImageInfo2KHR* = object -proc newVkPhysicalDeviceMemoryProperties*(memoryTypeCount: uint32, memoryTypes: array[VK_MAX_MEMORY_TYPES, VkMemoryType], memoryHeapCount: uint32, memoryHeaps: array[VK_MAX_MEMORY_HEAPS, VkMemoryHeap]): VkPhysicalDeviceMemoryProperties = - result.memoryTypeCount = memoryTypeCount - result.memoryTypes = memoryTypes - result.memoryHeapCount = memoryHeapCount - result.memoryHeaps = memoryHeaps + VkCopyBufferToImageInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcBuffer*: VkBuffer + dstImage*: VkImage + dstImageLayout*: VkImageLayout + regionCount*: uint32 + pRegions*: ptr VkBufferImageCopy2 -proc newVkMemoryAllocateInfo*(sType: VkStructureType = VkStructureTypeMemoryAllocateInfo, pNext: pointer = nil, allocationSize: VkDeviceSize, memoryTypeIndex: uint32): VkMemoryAllocateInfo = - result.sType = sType - result.pNext = pNext - result.allocationSize = allocationSize - result.memoryTypeIndex = memoryTypeIndex + VkCopyBufferToImageInfo2KHR* = object -proc newVkMemoryRequirements*(size: VkDeviceSize, alignment: VkDeviceSize, memoryTypeBits: uint32): VkMemoryRequirements = - result.size = size - result.alignment = alignment - result.memoryTypeBits = memoryTypeBits + VkCopyImageToBufferInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcImage*: VkImage + srcImageLayout*: VkImageLayout + dstBuffer*: VkBuffer + regionCount*: uint32 + pRegions*: ptr VkBufferImageCopy2 -proc newVkSparseImageFormatProperties*(aspectMask: VkImageAspectFlags, imageGranularity: VkExtent3D, flags: VkSparseImageFormatFlags = 0.VkSparseImageFormatFlags): VkSparseImageFormatProperties = - result.aspectMask = aspectMask - result.imageGranularity = imageGranularity - result.flags = flags + VkCopyImageToBufferInfo2KHR* = object -proc newVkSparseImageMemoryRequirements*(formatProperties: VkSparseImageFormatProperties, imageMipTailFirstLod: uint32, imageMipTailSize: VkDeviceSize, imageMipTailOffset: VkDeviceSize, imageMipTailStride: VkDeviceSize): VkSparseImageMemoryRequirements = - result.formatProperties = formatProperties - result.imageMipTailFirstLod = imageMipTailFirstLod - result.imageMipTailSize = imageMipTailSize - result.imageMipTailOffset = imageMipTailOffset - result.imageMipTailStride = imageMipTailStride + VkResolveImageInfo2* = object + sType*: VkStructureType + pNext*: pointer + srcImage*: VkImage + srcImageLayout*: VkImageLayout + dstImage*: VkImage + dstImageLayout*: VkImageLayout + regionCount*: uint32 + pRegions*: ptr VkImageResolve2 -proc newVkMemoryType*(propertyFlags: VkMemoryPropertyFlags, heapIndex: uint32): VkMemoryType = - result.propertyFlags = propertyFlags - result.heapIndex = heapIndex + VkResolveImageInfo2KHR* = object -proc newVkMemoryHeap*(size: VkDeviceSize, flags: VkMemoryHeapFlags = 0.VkMemoryHeapFlags): VkMemoryHeap = - result.size = size - result.flags = flags + VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderImageInt64Atomics*: VkBool32 + sparseImageInt64Atomics*: VkBool32 -proc newVkMappedMemoryRange*(sType: VkStructureType = VkStructureTypeMappedMemoryRange, pNext: pointer = nil, memory: VkDeviceMemory, offset: VkDeviceSize, size: VkDeviceSize): VkMappedMemoryRange = - result.sType = sType - result.pNext = pNext - result.memory = memory - result.offset = offset - result.size = size + VkFragmentShadingRateAttachmentInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pFragmentShadingRateAttachment*: ptr VkAttachmentReference2 + shadingRateAttachmentTexelSize*: VkExtent2D -proc newVkFormatProperties*(linearTilingFeatures: VkFormatFeatureFlags, optimalTilingFeatures: VkFormatFeatureFlags, bufferFeatures: VkFormatFeatureFlags): VkFormatProperties = - result.linearTilingFeatures = linearTilingFeatures - result.optimalTilingFeatures = optimalTilingFeatures - result.bufferFeatures = bufferFeatures + VkPipelineFragmentShadingRateStateCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + fragmentSize*: VkExtent2D + combinerOps*: array[2, VkFragmentShadingRateCombinerOpKHR] -proc newVkImageFormatProperties*(maxExtent: VkExtent3D, maxMipLevels: uint32, maxArrayLayers: uint32, sampleCounts: VkSampleCountFlags, maxResourceSize: VkDeviceSize): VkImageFormatProperties = - result.maxExtent = maxExtent - result.maxMipLevels = maxMipLevels - result.maxArrayLayers = maxArrayLayers - result.sampleCounts = sampleCounts - result.maxResourceSize = maxResourceSize + VkPhysicalDeviceFragmentShadingRateFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + pipelineFragmentShadingRate*: VkBool32 + primitiveFragmentShadingRate*: VkBool32 + attachmentFragmentShadingRate*: VkBool32 -proc newVkDescriptorBufferInfo*(buffer: VkBuffer, offset: VkDeviceSize, range: VkDeviceSize): VkDescriptorBufferInfo = - result.buffer = buffer - result.offset = offset - result.range = range + VkPhysicalDeviceFragmentShadingRatePropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + minFragmentShadingRateAttachmentTexelSize*: VkExtent2D + maxFragmentShadingRateAttachmentTexelSize*: VkExtent2D + maxFragmentShadingRateAttachmentTexelSizeAspectRatio*: uint32 + primitiveFragmentShadingRateWithMultipleViewports*: VkBool32 + layeredShadingRateAttachments*: VkBool32 + fragmentShadingRateNonTrivialCombinerOps*: VkBool32 + maxFragmentSize*: VkExtent2D + maxFragmentSizeAspectRatio*: uint32 + maxFragmentShadingRateCoverageSamples*: uint32 + maxFragmentShadingRateRasterizationSamples*: VkSampleCountFlagBits + fragmentShadingRateWithShaderDepthStencilWrites*: VkBool32 + fragmentShadingRateWithSampleMask*: VkBool32 + fragmentShadingRateWithShaderSampleMask*: VkBool32 + fragmentShadingRateWithConservativeRasterization*: VkBool32 + fragmentShadingRateWithFragmentShaderInterlock*: VkBool32 + fragmentShadingRateWithCustomSampleLocations*: VkBool32 + fragmentShadingRateStrictMultiplyCombiner*: VkBool32 -proc newVkDescriptorImageInfo*(sampler: VkSampler, imageView: VkImageView, imageLayout: VkImageLayout): VkDescriptorImageInfo = - result.sampler = sampler - result.imageView = imageView - result.imageLayout = imageLayout + VkPhysicalDeviceFragmentShadingRateKHR* = object + sType*: VkStructureType + pNext*: pointer + sampleCounts*: VkSampleCountFlags + fragmentSize*: VkExtent2D -proc newVkWriteDescriptorSet*(sType: VkStructureType = VkStructureTypeWriteDescriptorSet, pNext: pointer = nil, dstSet: VkDescriptorSet, dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32, descriptorType: VkDescriptorType, pImageInfo: ptr VkDescriptorImageInfo, pBufferInfo: ptr ptr VkDescriptorBufferInfo, pTexelBufferView: ptr VkBufferView): VkWriteDescriptorSet = - result.sType = sType - result.pNext = pNext - result.dstSet = dstSet - result.dstBinding = dstBinding - result.dstArrayElement = dstArrayElement - result.descriptorCount = descriptorCount - result.descriptorType = descriptorType - result.pImageInfo = pImageInfo - result.pBufferInfo = pBufferInfo - result.pTexelBufferView = pTexelBufferView + VkPhysicalDeviceShaderTerminateInvocationFeatures* = object + sType*: VkStructureType + pNext*: pointer + shaderTerminateInvocation*: VkBool32 -proc newVkCopyDescriptorSet*(sType: VkStructureType = VkStructureTypeCopyDescriptorSet, pNext: pointer = nil, srcSet: VkDescriptorSet, srcBinding: uint32, srcArrayElement: uint32, dstSet: VkDescriptorSet, dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32): VkCopyDescriptorSet = - result.sType = sType - result.pNext = pNext - result.srcSet = srcSet - result.srcBinding = srcBinding - result.srcArrayElement = srcArrayElement - result.dstSet = dstSet - result.dstBinding = dstBinding - result.dstArrayElement = dstArrayElement - result.descriptorCount = descriptorCount + VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* = object -proc newVkBufferCreateInfo*(sType: VkStructureType = VkStructureTypeBufferCreateInfo, pNext: pointer = nil, flags: VkBufferCreateFlags = 0.VkBufferCreateFlags, size: VkDeviceSize, usage: VkBufferUsageFlags, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32): VkBufferCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.size = size - result.usage = usage - result.sharingMode = sharingMode - result.queueFamilyIndexCount = queueFamilyIndexCount - result.pQueueFamilyIndices = pQueueFamilyIndices + VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + fragmentShadingRateEnums*: VkBool32 + supersampleFragmentShadingRates*: VkBool32 + noInvocationFragmentShadingRates*: VkBool32 -proc newVkBufferViewCreateInfo*(sType: VkStructureType = VkStructureTypeBufferViewCreateInfo, pNext: pointer = nil, flags: VkBufferViewCreateFlags = 0.VkBufferViewCreateFlags, buffer: VkBuffer, format: VkFormat, offset: VkDeviceSize, range: VkDeviceSize): VkBufferViewCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.buffer = buffer - result.format = format - result.offset = offset - result.range = range + VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + maxFragmentShadingRateInvocationCount*: VkSampleCountFlagBits -proc newVkImageSubresource*(aspectMask: VkImageAspectFlags, mipLevel: uint32, arrayLayer: uint32): VkImageSubresource = - result.aspectMask = aspectMask - result.mipLevel = mipLevel - result.arrayLayer = arrayLayer + VkPipelineFragmentShadingRateEnumStateCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + shadingRateType*: VkFragmentShadingRateTypeNV + shadingRate*: VkFragmentShadingRateNV + combinerOps*: array[2, VkFragmentShadingRateCombinerOpKHR] -proc newVkImageSubresourceLayers*(aspectMask: VkImageAspectFlags, mipLevel: uint32, baseArrayLayer: uint32, layerCount: uint32): VkImageSubresourceLayers = - result.aspectMask = aspectMask - result.mipLevel = mipLevel - result.baseArrayLayer = baseArrayLayer - result.layerCount = layerCount + VkAccelerationStructureBuildSizesInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + accelerationStructureSize*: VkDeviceSize + updateScratchSize*: VkDeviceSize + buildScratchSize*: VkDeviceSize -proc newVkImageSubresourceRange*(aspectMask: VkImageAspectFlags, baseMipLevel: uint32, levelCount: uint32, baseArrayLayer: uint32, layerCount: uint32): VkImageSubresourceRange = - result.aspectMask = aspectMask - result.baseMipLevel = baseMipLevel - result.levelCount = levelCount - result.baseArrayLayer = baseArrayLayer - result.layerCount = layerCount + VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + image2DViewOf3D*: VkBool32 + sampler2DViewOf3D*: VkBool32 -proc newVkMemoryBarrier*(sType: VkStructureType = VkStructureTypeMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags): VkMemoryBarrier = - result.sType = sType - result.pNext = pNext - result.srcAccessMask = srcAccessMask - result.dstAccessMask = dstAccessMask + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + imageSlicedViewOf3D*: VkBool32 -proc newVkBufferMemoryBarrier*(sType: VkStructureType = VkStructureTypeBufferMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, buffer: VkBuffer, offset: VkDeviceSize, size: VkDeviceSize): VkBufferMemoryBarrier = - result.sType = sType - result.pNext = pNext - result.srcAccessMask = srcAccessMask - result.dstAccessMask = dstAccessMask - result.srcQueueFamilyIndex = srcQueueFamilyIndex - result.dstQueueFamilyIndex = dstQueueFamilyIndex - result.buffer = buffer - result.offset = offset - result.size = size + VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + attachmentFeedbackLoopDynamicState*: VkBool32 -proc newVkImageMemoryBarrier*(sType: VkStructureType = VkStructureTypeImageMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, oldLayout: VkImageLayout, newLayout: VkImageLayout, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, image: VkImage, subresourceRange: VkImageSubresourceRange): VkImageMemoryBarrier = - result.sType = sType - result.pNext = pNext - result.srcAccessMask = srcAccessMask - result.dstAccessMask = dstAccessMask - result.oldLayout = oldLayout - result.newLayout = newLayout - result.srcQueueFamilyIndex = srcQueueFamilyIndex - result.dstQueueFamilyIndex = dstQueueFamilyIndex - result.image = image - result.subresourceRange = subresourceRange + VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + mutableDescriptorType*: VkBool32 -proc newVkImageCreateInfo*(sType: VkStructureType = VkStructureTypeImageCreateInfo, pNext: pointer = nil, flags: VkImageCreateFlags = 0.VkImageCreateFlags, imageType: VkImageType, format: VkFormat, extent: VkExtent3D, mipLevels: uint32, arrayLayers: uint32, samples: VkSampleCountFlagBits, tiling: VkImageTiling, usage: VkImageUsageFlags, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32, initialLayout: VkImageLayout): VkImageCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.imageType = imageType - result.format = format - result.extent = extent - result.mipLevels = mipLevels - result.arrayLayers = arrayLayers - result.samples = samples - result.tiling = tiling - result.usage = usage - result.sharingMode = sharingMode - result.queueFamilyIndexCount = queueFamilyIndexCount - result.pQueueFamilyIndices = pQueueFamilyIndices - result.initialLayout = initialLayout + VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* = object -proc newVkSubresourceLayout*(offset: VkDeviceSize, size: VkDeviceSize, rowPitch: VkDeviceSize, arrayPitch: VkDeviceSize, depthPitch: VkDeviceSize): VkSubresourceLayout = - result.offset = offset - result.size = size - result.rowPitch = rowPitch - result.arrayPitch = arrayPitch - result.depthPitch = depthPitch + VkMutableDescriptorTypeListEXT* = object + descriptorTypeCount*: uint32 + pDescriptorTypes*: ptr VkDescriptorType -proc newVkImageViewCreateInfo*(sType: VkStructureType = VkStructureTypeImageViewCreateInfo, pNext: pointer = nil, flags: VkImageViewCreateFlags = 0.VkImageViewCreateFlags, image: VkImage, viewType: VkImageViewType, format: VkFormat, components: VkComponentMapping, subresourceRange: VkImageSubresourceRange): VkImageViewCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.image = image - result.viewType = viewType - result.format = format - result.components = components - result.subresourceRange = subresourceRange + VkMutableDescriptorTypeListVALVE* = object -proc newVkBufferCopy*(srcOffset: VkDeviceSize, dstOffset: VkDeviceSize, size: VkDeviceSize): VkBufferCopy = - result.srcOffset = srcOffset - result.dstOffset = dstOffset - result.size = size + VkMutableDescriptorTypeCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mutableDescriptorTypeListCount*: uint32 + pMutableDescriptorTypeLists*: ptr VkMutableDescriptorTypeListEXT -proc newVkSparseMemoryBind*(resourceOffset: VkDeviceSize, size: VkDeviceSize, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseMemoryBind = - result.resourceOffset = resourceOffset - result.size = size - result.memory = memory - result.memoryOffset = memoryOffset - result.flags = flags + VkMutableDescriptorTypeCreateInfoVALVE* = object -proc newVkSparseImageMemoryBind*(subresource: VkImageSubresource, offset: VkOffset3D, extent: VkExtent3D, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseImageMemoryBind = - result.subresource = subresource - result.offset = offset - result.extent = extent - result.memory = memory - result.memoryOffset = memoryOffset - result.flags = flags + VkPhysicalDeviceDepthClipControlFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + depthClipControl*: VkBool32 -proc newVkSparseBufferMemoryBindInfo*(buffer: VkBuffer, bindCount: uint32, pBinds: ptr VkSparseMemoryBind): VkSparseBufferMemoryBindInfo = - result.buffer = buffer - result.bindCount = bindCount - result.pBinds = pBinds + VkPipelineViewportDepthClipControlCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + negativeOneToOne*: VkBool32 -proc newVkSparseImageOpaqueMemoryBindInfo*(image: VkImage, bindCount: uint32, pBinds: ptr VkSparseMemoryBind): VkSparseImageOpaqueMemoryBindInfo = - result.image = image - result.bindCount = bindCount - result.pBinds = pBinds + VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + vertexInputDynamicState*: VkBool32 -proc newVkSparseImageMemoryBindInfo*(image: VkImage, bindCount: uint32, pBinds: ptr VkSparseImageMemoryBind): VkSparseImageMemoryBindInfo = - result.image = image - result.bindCount = bindCount - result.pBinds = pBinds + VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + externalMemoryRDMA*: VkBool32 -proc newVkBindSparseInfo*(sType: VkStructureType = VkStructureTypeBindSparseInfo, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, bufferBindCount: uint32, pBufferBinds: ptr VkSparseBufferMemoryBindInfo, imageOpaqueBindCount: uint32, pImageOpaqueBinds: ptr VkSparseImageOpaqueMemoryBindInfo, imageBindCount: uint32, pImageBinds: ptr VkSparseImageMemoryBindInfo, signalSemaphoreCount: uint32, pSignalSemaphores: ptr VkSemaphore): VkBindSparseInfo = - result.sType = sType - result.pNext = pNext - result.waitSemaphoreCount = waitSemaphoreCount - result.pWaitSemaphores = pWaitSemaphores - result.bufferBindCount = bufferBindCount - result.pBufferBinds = pBufferBinds - result.imageOpaqueBindCount = imageOpaqueBindCount - result.pImageOpaqueBinds = pImageOpaqueBinds - result.imageBindCount = imageBindCount - result.pImageBinds = pImageBinds - result.signalSemaphoreCount = signalSemaphoreCount - result.pSignalSemaphores = pSignalSemaphores + VkVertexInputBindingDescription2EXT* = object + sType*: VkStructureType + pNext*: pointer + binding*: uint32 + stride*: uint32 + inputRate*: VkVertexInputRate + divisor*: uint32 -proc newVkImageCopy*(srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageCopy = - result.srcSubresource = srcSubresource - result.srcOffset = srcOffset - result.dstSubresource = dstSubresource - result.dstOffset = dstOffset - result.extent = extent + VkVertexInputAttributeDescription2EXT* = object + sType*: VkStructureType + pNext*: pointer + location*: uint32 + binding*: uint32 + format*: VkFormat + offset*: uint32 -proc newVkImageBlit*(srcSubresource: VkImageSubresourceLayers, srcOffsets: array[2, VkOffset3D], dstSubresource: VkImageSubresourceLayers, dstOffsets: array[2, VkOffset3D]): VkImageBlit = - result.srcSubresource = srcSubresource - result.srcOffsets = srcOffsets - result.dstSubresource = dstSubresource - result.dstOffsets = dstOffsets + VkPhysicalDeviceColorWriteEnableFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + colorWriteEnable*: VkBool32 -proc newVkBufferImageCopy*(bufferOffset: VkDeviceSize, bufferRowLength: uint32, bufferImageHeight: uint32, imageSubresource: VkImageSubresourceLayers, imageOffset: VkOffset3D, imageExtent: VkExtent3D): VkBufferImageCopy = - result.bufferOffset = bufferOffset - result.bufferRowLength = bufferRowLength - result.bufferImageHeight = bufferImageHeight - result.imageSubresource = imageSubresource - result.imageOffset = imageOffset - result.imageExtent = imageExtent + VkPipelineColorWriteCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + attachmentCount*: uint32 + pColorWriteEnables*: ptr VkBool32 -proc newVkImageResolve*(srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageResolve = - result.srcSubresource = srcSubresource - result.srcOffset = srcOffset - result.dstSubresource = dstSubresource - result.dstOffset = dstOffset - result.extent = extent + VkMemoryBarrier2* = object + sType*: VkStructureType + pNext*: pointer + srcStageMask*: VkPipelineStageFlags2 + srcAccessMask*: VkAccessFlags2 + dstStageMask*: VkPipelineStageFlags2 + dstAccessMask*: VkAccessFlags2 -proc newVkShaderModuleCreateInfo*(sType: VkStructureType = VkStructureTypeShaderModuleCreateInfo, pNext: pointer = nil, flags: VkShaderModuleCreateFlags = 0.VkShaderModuleCreateFlags, codeSize: uint, pCode: ptr uint32): VkShaderModuleCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.codeSize = codeSize - result.pCode = pCode + VkMemoryBarrier2KHR* = object -proc newVkDescriptorSetLayoutBinding*(binding: uint32, descriptorType: VkDescriptorType, descriptorCount: uint32, stageFlags: VkShaderStageFlags, pImmutableSamplers: ptr VkSampler): VkDescriptorSetLayoutBinding = - result.binding = binding - result.descriptorType = descriptorType - result.descriptorCount = descriptorCount - result.stageFlags = stageFlags - result.pImmutableSamplers = pImmutableSamplers + VkImageMemoryBarrier2* = object + sType*: VkStructureType + pNext*: pointer + srcStageMask*: VkPipelineStageFlags2 + srcAccessMask*: VkAccessFlags2 + dstStageMask*: VkPipelineStageFlags2 + dstAccessMask*: VkAccessFlags2 + oldLayout*: VkImageLayout + newLayout*: VkImageLayout + srcQueueFamilyIndex*: uint32 + dstQueueFamilyIndex*: uint32 + image*: VkImage + subresourceRange*: VkImageSubresourceRange -proc newVkDescriptorSetLayoutCreateInfo*(sType: VkStructureType = VkStructureTypeDescriptorSetLayoutCreateInfo, pNext: pointer = nil, flags: VkDescriptorSetLayoutCreateFlags = 0.VkDescriptorSetLayoutCreateFlags, bindingCount: uint32, pBindings: ptr VkDescriptorSetLayoutBinding): VkDescriptorSetLayoutCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.bindingCount = bindingCount - result.pBindings = pBindings + VkImageMemoryBarrier2KHR* = object -proc newVkDescriptorPoolSize*(`type`: VkDescriptorType, descriptorCount: uint32): VkDescriptorPoolSize = - result.`type` = `type` - result.descriptorCount = descriptorCount + VkBufferMemoryBarrier2* = object + sType*: VkStructureType + pNext*: pointer + srcStageMask*: VkPipelineStageFlags2 + srcAccessMask*: VkAccessFlags2 + dstStageMask*: VkPipelineStageFlags2 + dstAccessMask*: VkAccessFlags2 + srcQueueFamilyIndex*: uint32 + dstQueueFamilyIndex*: uint32 + buffer*: VkBuffer + offset*: VkDeviceSize + size*: VkDeviceSize -proc newVkDescriptorPoolCreateInfo*(sType: VkStructureType = VkStructureTypeDescriptorPoolCreateInfo, pNext: pointer = nil, flags: VkDescriptorPoolCreateFlags = 0.VkDescriptorPoolCreateFlags, maxSets: uint32, poolSizeCount: uint32, pPoolSizes: ptr VkDescriptorPoolSize): VkDescriptorPoolCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.maxSets = maxSets - result.poolSizeCount = poolSizeCount - result.pPoolSizes = pPoolSizes + VkBufferMemoryBarrier2KHR* = object -proc newVkDescriptorSetAllocateInfo*(sType: VkStructureType = VkStructureTypeDescriptorSetAllocateInfo, pNext: pointer = nil, descriptorPool: VkDescriptorPool, descriptorSetCount: uint32, pSetLayouts: ptr VkDescriptorSetLayout): VkDescriptorSetAllocateInfo = - result.sType = sType - result.pNext = pNext - result.descriptorPool = descriptorPool - result.descriptorSetCount = descriptorSetCount - result.pSetLayouts = pSetLayouts + VkDependencyInfo* = object + sType*: VkStructureType + pNext*: pointer + dependencyFlags*: VkDependencyFlags + memoryBarrierCount*: uint32 + pMemoryBarriers*: ptr VkMemoryBarrier2 + bufferMemoryBarrierCount*: uint32 + pBufferMemoryBarriers*: ptr VkBufferMemoryBarrier2 + imageMemoryBarrierCount*: uint32 + pImageMemoryBarriers*: ptr VkImageMemoryBarrier2 -proc newVkSpecializationMapEntry*(constantID: uint32, offset: uint32, size: uint): VkSpecializationMapEntry = - result.constantID = constantID - result.offset = offset - result.size = size + VkDependencyInfoKHR* = object -proc newVkSpecializationInfo*(mapEntryCount: uint32, pMapEntries: ptr VkSpecializationMapEntry, dataSize: uint, pData: pointer = nil): VkSpecializationInfo = - result.mapEntryCount = mapEntryCount - result.pMapEntries = pMapEntries - result.dataSize = dataSize - result.pData = pData + VkSemaphoreSubmitInfo* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + value*: uint64 + stageMask*: VkPipelineStageFlags2 + deviceIndex*: uint32 -proc newVkPipelineShaderStageCreateInfo*(sType: VkStructureType = VkStructureTypePipelineShaderStageCreateInfo, pNext: pointer = nil, flags: VkPipelineShaderStageCreateFlags = 0.VkPipelineShaderStageCreateFlags, stage: VkShaderStageFlagBits, module: VkShaderModule, pName: cstring, pSpecializationInfo: ptr VkSpecializationInfo): VkPipelineShaderStageCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.stage = stage - result.module = module - result.pName = pName - result.pSpecializationInfo = pSpecializationInfo + VkSemaphoreSubmitInfoKHR* = object -proc newVkComputePipelineCreateInfo*(sType: VkStructureType = VkStructureTypeComputePipelineCreateInfo, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stage: VkPipelineShaderStageCreateInfo, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkComputePipelineCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.stage = stage - result.layout = layout - result.basePipelineHandle = basePipelineHandle - result.basePipelineIndex = basePipelineIndex + VkCommandBufferSubmitInfo* = object + sType*: VkStructureType + pNext*: pointer + commandBuffer*: VkCommandBuffer + deviceMask*: uint32 -proc newVkVertexInputBindingDescription*(binding: uint32, stride: uint32, inputRate: VkVertexInputRate): VkVertexInputBindingDescription = - result.binding = binding - result.stride = stride - result.inputRate = inputRate + VkCommandBufferSubmitInfoKHR* = object -proc newVkVertexInputAttributeDescription*(location: uint32, binding: uint32, format: VkFormat, offset: uint32): VkVertexInputAttributeDescription = - result.location = location - result.binding = binding - result.format = format - result.offset = offset + VkSubmitInfo2* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkSubmitFlags + waitSemaphoreInfoCount*: uint32 + pWaitSemaphoreInfos*: ptr VkSemaphoreSubmitInfo + commandBufferInfoCount*: uint32 + pCommandBufferInfos*: ptr VkCommandBufferSubmitInfo + signalSemaphoreInfoCount*: uint32 + pSignalSemaphoreInfos*: ptr VkSemaphoreSubmitInfo -proc newVkPipelineVertexInputStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineVertexInputStateCreateInfo, pNext: pointer = nil, flags: VkPipelineVertexInputStateCreateFlags = 0.VkPipelineVertexInputStateCreateFlags, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription, vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription): VkPipelineVertexInputStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.vertexBindingDescriptionCount = vertexBindingDescriptionCount - result.pVertexBindingDescriptions = pVertexBindingDescriptions - result.vertexAttributeDescriptionCount = vertexAttributeDescriptionCount - result.pVertexAttributeDescriptions = pVertexAttributeDescriptions + VkSubmitInfo2KHR* = object -proc newVkPipelineInputAssemblyStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineInputAssemblyStateCreateInfo, pNext: pointer = nil, flags: VkPipelineInputAssemblyStateCreateFlags = 0.VkPipelineInputAssemblyStateCreateFlags, topology: VkPrimitiveTopology, primitiveRestartEnable: VkBool32): VkPipelineInputAssemblyStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.topology = topology - result.primitiveRestartEnable = primitiveRestartEnable + VkQueueFamilyCheckpointProperties2NV* = object + sType*: VkStructureType + pNext*: pointer + checkpointExecutionStageMask*: VkPipelineStageFlags2 -proc newVkPipelineTessellationStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineTessellationStateCreateInfo, pNext: pointer = nil, flags: VkPipelineTessellationStateCreateFlags = 0.VkPipelineTessellationStateCreateFlags, patchControlPoints: uint32): VkPipelineTessellationStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.patchControlPoints = patchControlPoints + VkCheckpointData2NV* = object + sType*: VkStructureType + pNext*: pointer + stage*: VkPipelineStageFlags2 + pCheckpointMarker*: pointer -proc newVkPipelineViewportStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineViewportStateCreateInfo, pNext: pointer = nil, flags: VkPipelineViewportStateCreateFlags = 0.VkPipelineViewportStateCreateFlags, viewportCount: uint32, pViewports: ptr VkViewport, scissorCount: uint32, pScissors: ptr VkRect2D): VkPipelineViewportStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.viewportCount = viewportCount - result.pViewports = pViewports - result.scissorCount = scissorCount - result.pScissors = pScissors + VkPhysicalDeviceSynchronization2Features* = object + sType*: VkStructureType + pNext*: pointer + synchronization2*: VkBool32 -proc newVkPipelineRasterizationStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineRasterizationStateCreateInfo, pNext: pointer = nil, flags: VkPipelineRasterizationStateCreateFlags = 0.VkPipelineRasterizationStateCreateFlags, depthClampEnable: VkBool32, rasterizerDiscardEnable: VkBool32, polygonMode: VkPolygonMode, cullMode: VkCullModeFlags, frontFace: VkFrontFace, depthBiasEnable: VkBool32, depthBiasConstantFactor: float32, depthBiasClamp: float32, depthBiasSlopeFactor: float32, lineWidth: float32): VkPipelineRasterizationStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.depthClampEnable = depthClampEnable - result.rasterizerDiscardEnable = rasterizerDiscardEnable - result.polygonMode = polygonMode - result.cullMode = cullMode - result.frontFace = frontFace - result.depthBiasEnable = depthBiasEnable - result.depthBiasConstantFactor = depthBiasConstantFactor - result.depthBiasClamp = depthBiasClamp - result.depthBiasSlopeFactor = depthBiasSlopeFactor - result.lineWidth = lineWidth + VkPhysicalDeviceSynchronization2FeaturesKHR* = object -proc newVkPipelineMultisampleStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineMultisampleStateCreateInfo, pNext: pointer = nil, flags: VkPipelineMultisampleStateCreateFlags = 0.VkPipelineMultisampleStateCreateFlags, rasterizationSamples: VkSampleCountFlagBits, sampleShadingEnable: VkBool32, minSampleShading: float32, pSampleMask: ptr VkSampleMask, alphaToCoverageEnable: VkBool32, alphaToOneEnable: VkBool32): VkPipelineMultisampleStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.rasterizationSamples = rasterizationSamples - result.sampleShadingEnable = sampleShadingEnable - result.minSampleShading = minSampleShading - result.pSampleMask = pSampleMask - result.alphaToCoverageEnable = alphaToCoverageEnable - result.alphaToOneEnable = alphaToOneEnable + VkPhysicalDeviceVulkanSC10Properties* = object + sType*: VkStructureType + pNext*: pointer + deviceNoDynamicHostAllocations*: VkBool32 + deviceDestroyFreesMemory*: VkBool32 + commandPoolMultipleCommandBuffersRecording*: VkBool32 + commandPoolResetCommandBuffer*: VkBool32 + commandBufferSimultaneousUse*: VkBool32 + secondaryCommandBufferNullOrImagelessFramebuffer*: VkBool32 + recycleDescriptorSetMemory*: VkBool32 + recyclePipelineMemory*: VkBool32 + maxRenderPassSubpasses*: uint32 + maxRenderPassDependencies*: uint32 + maxSubpassInputAttachments*: uint32 + maxSubpassPreserveAttachments*: uint32 + maxFramebufferAttachments*: uint32 + maxDescriptorSetLayoutBindings*: uint32 + maxQueryFaultCount*: uint32 + maxCallbackFaultCount*: uint32 + maxCommandPoolCommandBuffers*: uint32 + maxCommandBufferSize*: VkDeviceSize -proc newVkPipelineColorBlendAttachmentState*(blendEnable: VkBool32, srcColorBlendFactor: VkBlendFactor, dstColorBlendFactor: VkBlendFactor, colorBlendOp: VkBlendOp, srcAlphaBlendFactor: VkBlendFactor, dstAlphaBlendFactor: VkBlendFactor, alphaBlendOp: VkBlendOp, colorWriteMask: VkColorComponentFlags): VkPipelineColorBlendAttachmentState = - result.blendEnable = blendEnable - result.srcColorBlendFactor = srcColorBlendFactor - result.dstColorBlendFactor = dstColorBlendFactor - result.colorBlendOp = colorBlendOp - result.srcAlphaBlendFactor = srcAlphaBlendFactor - result.dstAlphaBlendFactor = dstAlphaBlendFactor - result.alphaBlendOp = alphaBlendOp - result.colorWriteMask = colorWriteMask + VkPipelinePoolSize* = object + sType*: VkStructureType + pNext*: pointer + poolEntrySize*: VkDeviceSize + poolEntryCount*: uint32 -proc newVkPipelineColorBlendStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineColorBlendStateCreateInfo, pNext: pointer = nil, flags: VkPipelineColorBlendStateCreateFlags = 0.VkPipelineColorBlendStateCreateFlags, logicOpEnable: VkBool32, logicOp: VkLogicOp, attachmentCount: uint32, pAttachments: ptr VkPipelineColorBlendAttachmentState, blendConstants: array[4, float32]): VkPipelineColorBlendStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.logicOpEnable = logicOpEnable - result.logicOp = logicOp - result.attachmentCount = attachmentCount - result.pAttachments = pAttachments - result.blendConstants = blendConstants + VkDeviceObjectReservationCreateInfo* = object + sType*: VkStructureType + pNext*: pointer + pipelineCacheCreateInfoCount*: uint32 + pPipelineCacheCreateInfos*: ptr VkPipelineCacheCreateInfo + pipelinePoolSizeCount*: uint32 + pPipelinePoolSizes*: ptr VkPipelinePoolSize + semaphoreRequestCount*: uint32 + commandBufferRequestCount*: uint32 + fenceRequestCount*: uint32 + deviceMemoryRequestCount*: uint32 + bufferRequestCount*: uint32 + imageRequestCount*: uint32 + eventRequestCount*: uint32 + queryPoolRequestCount*: uint32 + bufferViewRequestCount*: uint32 + imageViewRequestCount*: uint32 + layeredImageViewRequestCount*: uint32 + pipelineCacheRequestCount*: uint32 + pipelineLayoutRequestCount*: uint32 + renderPassRequestCount*: uint32 + graphicsPipelineRequestCount*: uint32 + computePipelineRequestCount*: uint32 + descriptorSetLayoutRequestCount*: uint32 + samplerRequestCount*: uint32 + descriptorPoolRequestCount*: uint32 + descriptorSetRequestCount*: uint32 + framebufferRequestCount*: uint32 + commandPoolRequestCount*: uint32 + samplerYcbcrConversionRequestCount*: uint32 + surfaceRequestCount*: uint32 + swapchainRequestCount*: uint32 + displayModeRequestCount*: uint32 + subpassDescriptionRequestCount*: uint32 + attachmentDescriptionRequestCount*: uint32 + descriptorSetLayoutBindingRequestCount*: uint32 + descriptorSetLayoutBindingLimit*: uint32 + maxImageViewMipLevels*: uint32 + maxImageViewArrayLayers*: uint32 + maxLayeredImageViewMipLevels*: uint32 + maxOcclusionQueriesPerPool*: uint32 + maxPipelineStatisticsQueriesPerPool*: uint32 + maxTimestampQueriesPerPool*: uint32 + maxImmutableSamplersPerDescriptorSetLayout*: uint32 -proc newVkPipelineDynamicStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineDynamicStateCreateInfo, pNext: pointer = nil, flags: VkPipelineDynamicStateCreateFlags = 0.VkPipelineDynamicStateCreateFlags, dynamicStateCount: uint32, pDynamicStates: ptr VkDynamicState): VkPipelineDynamicStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.dynamicStateCount = dynamicStateCount - result.pDynamicStates = pDynamicStates + VkCommandPoolMemoryReservationCreateInfo* = object + sType*: VkStructureType + pNext*: pointer + commandPoolReservedSize*: VkDeviceSize + commandPoolMaxCommandBuffers*: uint32 -proc newVkStencilOpState*(failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp, compareMask: uint32, writeMask: uint32, reference: uint32): VkStencilOpState = - result.failOp = failOp - result.passOp = passOp - result.depthFailOp = depthFailOp - result.compareOp = compareOp - result.compareMask = compareMask - result.writeMask = writeMask - result.reference = reference + VkCommandPoolMemoryConsumption* = object + sType*: VkStructureType + pNext*: pointer + commandPoolAllocated*: VkDeviceSize + commandPoolReservedSize*: VkDeviceSize + commandBufferAllocated*: VkDeviceSize -proc newVkPipelineDepthStencilStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineDepthStencilStateCreateInfo, pNext: pointer = nil, flags: VkPipelineDepthStencilStateCreateFlags = 0.VkPipelineDepthStencilStateCreateFlags, depthTestEnable: VkBool32, depthWriteEnable: VkBool32, depthCompareOp: VkCompareOp, depthBoundsTestEnable: VkBool32, stencilTestEnable: VkBool32, front: VkStencilOpState, back: VkStencilOpState, minDepthBounds: float32, maxDepthBounds: float32): VkPipelineDepthStencilStateCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.depthTestEnable = depthTestEnable - result.depthWriteEnable = depthWriteEnable - result.depthCompareOp = depthCompareOp - result.depthBoundsTestEnable = depthBoundsTestEnable - result.stencilTestEnable = stencilTestEnable - result.front = front - result.back = back - result.minDepthBounds = minDepthBounds - result.maxDepthBounds = maxDepthBounds + VkPhysicalDeviceVulkanSC10Features* = object + sType*: VkStructureType + pNext*: pointer + shaderAtomicInstructions*: VkBool32 -proc newVkGraphicsPipelineCreateInfo*(sType: VkStructureType = VkStructureTypeGraphicsPipelineCreateInfo, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, pVertexInputState: ptr VkPipelineVertexInputStateCreateInfo, pInputAssemblyState: ptr VkPipelineInputAssemblyStateCreateInfo, pTessellationState: ptr VkPipelineTessellationStateCreateInfo, pViewportState: ptr VkPipelineViewportStateCreateInfo, pRasterizationState: ptr VkPipelineRasterizationStateCreateInfo, pMultisampleState: ptr VkPipelineMultisampleStateCreateInfo, pDepthStencilState: ptr VkPipelineDepthStencilStateCreateInfo, pColorBlendState: ptr VkPipelineColorBlendStateCreateInfo, pDynamicState: ptr VkPipelineDynamicStateCreateInfo, layout: VkPipelineLayout, renderPass: VkRenderPass, subpass: uint32, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkGraphicsPipelineCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.stageCount = stageCount - result.pStages = pStages - result.pVertexInputState = pVertexInputState - result.pInputAssemblyState = pInputAssemblyState - result.pTessellationState = pTessellationState - result.pViewportState = pViewportState - result.pRasterizationState = pRasterizationState - result.pMultisampleState = pMultisampleState - result.pDepthStencilState = pDepthStencilState - result.pColorBlendState = pColorBlendState - result.pDynamicState = pDynamicState - result.layout = layout - result.renderPass = renderPass - result.subpass = subpass - result.basePipelineHandle = basePipelineHandle - result.basePipelineIndex = basePipelineIndex + VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + primitivesGeneratedQuery*: VkBool32 + primitivesGeneratedQueryWithRasterizerDiscard*: VkBool32 + primitivesGeneratedQueryWithNonZeroStreams*: VkBool32 -proc newVkPipelineCacheCreateInfo*(sType: VkStructureType = VkStructureTypePipelineCacheCreateInfo, pNext: pointer = nil, flags: VkPipelineCacheCreateFlags = 0.VkPipelineCacheCreateFlags, initialDataSize: uint, pInitialData: pointer = nil): VkPipelineCacheCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.initialDataSize = initialDataSize - result.pInitialData = pInitialData + VkPhysicalDeviceLegacyDitheringFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + legacyDithering*: VkBool32 -proc newVkPushConstantRange*(stageFlags: VkShaderStageFlags, offset: uint32, size: uint32): VkPushConstantRange = - result.stageFlags = stageFlags - result.offset = offset - result.size = size + VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + multisampledRenderToSingleSampled*: VkBool32 -proc newVkPipelineLayoutCreateInfo*(sType: VkStructureType = VkStructureTypePipelineLayoutCreateInfo, pNext: pointer = nil, flags: VkPipelineLayoutCreateFlags = 0.VkPipelineLayoutCreateFlags, setLayoutCount: uint32, pSetLayouts: ptr VkDescriptorSetLayout, pushConstantRangeCount: uint32, pPushConstantRanges: ptr VkPushConstantRange): VkPipelineLayoutCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.setLayoutCount = setLayoutCount - result.pSetLayouts = pSetLayouts - result.pushConstantRangeCount = pushConstantRangeCount - result.pPushConstantRanges = pPushConstantRanges + VkSubpassResolvePerformanceQueryEXT* = object + sType*: VkStructureType + pNext*: pointer + optimal*: VkBool32 -proc newVkSamplerCreateInfo*(sType: VkStructureType = VkStructureTypeSamplerCreateInfo, pNext: pointer = nil, flags: VkSamplerCreateFlags = 0.VkSamplerCreateFlags, magFilter: VkFilter, minFilter: VkFilter, mipmapMode: VkSamplerMipmapMode, addressModeU: VkSamplerAddressMode, addressModeV: VkSamplerAddressMode, addressModeW: VkSamplerAddressMode, mipLodBias: float32, anisotropyEnable: VkBool32, maxAnisotropy: float32, compareEnable: VkBool32, compareOp: VkCompareOp, minLod: float32, maxLod: float32, borderColor: VkBorderColor, unnormalizedCoordinates: VkBool32): VkSamplerCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.magFilter = magFilter - result.minFilter = minFilter - result.mipmapMode = mipmapMode - result.addressModeU = addressModeU - result.addressModeV = addressModeV - result.addressModeW = addressModeW - result.mipLodBias = mipLodBias - result.anisotropyEnable = anisotropyEnable - result.maxAnisotropy = maxAnisotropy - result.compareEnable = compareEnable - result.compareOp = compareOp - result.minLod = minLod - result.maxLod = maxLod - result.borderColor = borderColor - result.unnormalizedCoordinates = unnormalizedCoordinates + VkMultisampledRenderToSingleSampledInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + multisampledRenderToSingleSampledEnable*: VkBool32 + rasterizationSamples*: VkSampleCountFlagBits -proc newVkCommandPoolCreateInfo*(sType: VkStructureType = VkStructureTypeCommandPoolCreateInfo, pNext: pointer = nil, flags: VkCommandPoolCreateFlags = 0.VkCommandPoolCreateFlags, queueFamilyIndex: uint32): VkCommandPoolCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.queueFamilyIndex = queueFamilyIndex + VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + pipelineProtectedAccess*: VkBool32 -proc newVkCommandBufferAllocateInfo*(sType: VkStructureType = VkStructureTypeCommandBufferAllocateInfo, pNext: pointer = nil, commandPool: VkCommandPool, level: VkCommandBufferLevel, commandBufferCount: uint32): VkCommandBufferAllocateInfo = - result.sType = sType - result.pNext = pNext - result.commandPool = commandPool - result.level = level - result.commandBufferCount = commandBufferCount + VkQueueFamilyVideoPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + videoCodecOperations*: VkVideoCodecOperationFlagsKHR -proc newVkCommandBufferInheritanceInfo*(sType: VkStructureType = VkStructureTypeCommandBufferInheritanceInfo, pNext: pointer = nil, renderPass: VkRenderPass, subpass: uint32, framebuffer: VkFramebuffer, occlusionQueryEnable: VkBool32, queryFlags: VkQueryControlFlags, pipelineStatistics: VkQueryPipelineStatisticFlags): VkCommandBufferInheritanceInfo = - result.sType = sType - result.pNext = pNext - result.renderPass = renderPass - result.subpass = subpass - result.framebuffer = framebuffer - result.occlusionQueryEnable = occlusionQueryEnable - result.queryFlags = queryFlags - result.pipelineStatistics = pipelineStatistics + VkQueueFamilyQueryResultStatusPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + queryResultStatusSupport*: VkBool32 -proc newVkCommandBufferBeginInfo*(sType: VkStructureType = VkStructureTypeCommandBufferBeginInfo, pNext: pointer = nil, flags: VkCommandBufferUsageFlags = 0.VkCommandBufferUsageFlags, pInheritanceInfo: ptr VkCommandBufferInheritanceInfo): VkCommandBufferBeginInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.pInheritanceInfo = pInheritanceInfo + VkVideoProfileListInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + profileCount*: uint32 + pProfiles*: ptr VkVideoProfileInfoKHR -proc newVkRenderPassBeginInfo*(sType: VkStructureType = VkStructureTypeRenderPassBeginInfo, pNext: pointer = nil, renderPass: VkRenderPass, framebuffer: VkFramebuffer, renderArea: VkRect2D, clearValueCount: uint32, pClearValues: ptr VkClearValue): VkRenderPassBeginInfo = - result.sType = sType - result.pNext = pNext - result.renderPass = renderPass - result.framebuffer = framebuffer - result.renderArea = renderArea - result.clearValueCount = clearValueCount - result.pClearValues = pClearValues + VkPhysicalDeviceVideoFormatInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + imageUsage*: VkImageUsageFlags -proc newVkClearDepthStencilValue*(depth: float32, stencil: uint32): VkClearDepthStencilValue = - result.depth = depth - result.stencil = stencil + VkVideoFormatPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + format*: VkFormat + componentMapping*: VkComponentMapping + imageCreateFlags*: VkImageCreateFlags + imageType*: VkImageType + imageTiling*: VkImageTiling + imageUsageFlags*: VkImageUsageFlags -proc newVkClearAttachment*(aspectMask: VkImageAspectFlags, colorAttachment: uint32, clearValue: VkClearValue): VkClearAttachment = - result.aspectMask = aspectMask - result.colorAttachment = colorAttachment - result.clearValue = clearValue + VkVideoProfileInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + videoCodecOperation*: VkVideoCodecOperationFlagBitsKHR + chromaSubsampling*: VkVideoChromaSubsamplingFlagsKHR + lumaBitDepth*: VkVideoComponentBitDepthFlagsKHR + chromaBitDepth*: VkVideoComponentBitDepthFlagsKHR -proc newVkAttachmentDescription*(flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags, format: VkFormat, samples: VkSampleCountFlagBits, loadOp: VkAttachmentLoadOp, storeOp: VkAttachmentStoreOp, stencilLoadOp: VkAttachmentLoadOp, stencilStoreOp: VkAttachmentStoreOp, initialLayout: VkImageLayout, finalLayout: VkImageLayout): VkAttachmentDescription = - result.flags = flags - result.format = format - result.samples = samples - result.loadOp = loadOp - result.storeOp = storeOp - result.stencilLoadOp = stencilLoadOp - result.stencilStoreOp = stencilStoreOp - result.initialLayout = initialLayout - result.finalLayout = finalLayout + VkVideoCapabilitiesKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoCapabilityFlagsKHR + minBitstreamBufferOffsetAlignment*: VkDeviceSize + minBitstreamBufferSizeAlignment*: VkDeviceSize + pictureAccessGranularity*: VkExtent2D + minCodedExtent*: VkExtent2D + maxCodedExtent*: VkExtent2D + maxDpbSlots*: uint32 + maxActiveReferencePictures*: uint32 + stdHeaderVersion*: VkExtensionProperties -proc newVkAttachmentReference*(attachment: uint32, layout: VkImageLayout): VkAttachmentReference = - result.attachment = attachment - result.layout = layout + VkVideoSessionMemoryRequirementsKHR* = object + sType*: VkStructureType + pNext*: pointer + memoryBindIndex*: uint32 + memoryRequirements*: VkMemoryRequirements -proc newVkSubpassDescription*(flags: VkSubpassDescriptionFlags = 0.VkSubpassDescriptionFlags, pipelineBindPoint: VkPipelineBindPoint, inputAttachmentCount: uint32, pInputAttachments: ptr VkAttachmentReference, colorAttachmentCount: uint32, pColorAttachments: ptr VkAttachmentReference, pResolveAttachments: ptr VkAttachmentReference, pDepthStencilAttachment: ptr VkAttachmentReference, preserveAttachmentCount: uint32, pPreserveAttachments: ptr uint32): VkSubpassDescription = - result.flags = flags - result.pipelineBindPoint = pipelineBindPoint - result.inputAttachmentCount = inputAttachmentCount - result.pInputAttachments = pInputAttachments - result.colorAttachmentCount = colorAttachmentCount - result.pColorAttachments = pColorAttachments - result.pResolveAttachments = pResolveAttachments - result.pDepthStencilAttachment = pDepthStencilAttachment - result.preserveAttachmentCount = preserveAttachmentCount - result.pPreserveAttachments = pPreserveAttachments + VkBindVideoSessionMemoryInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + memoryBindIndex*: uint32 + memory*: VkDeviceMemory + memoryOffset*: VkDeviceSize + memorySize*: VkDeviceSize -proc newVkSubpassDependency*(srcSubpass: uint32, dstSubpass: uint32, srcStageMask: VkPipelineStageFlags, dstStageMask: VkPipelineStageFlags, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, dependencyFlags: VkDependencyFlags): VkSubpassDependency = - result.srcSubpass = srcSubpass - result.dstSubpass = dstSubpass - result.srcStageMask = srcStageMask - result.dstStageMask = dstStageMask - result.srcAccessMask = srcAccessMask - result.dstAccessMask = dstAccessMask - result.dependencyFlags = dependencyFlags + VkVideoPictureResourceInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + codedOffset*: VkOffset2D + codedExtent*: VkExtent2D + baseArrayLayer*: uint32 + imageViewBinding*: VkImageView -proc newVkRenderPassCreateInfo*(sType: VkStructureType = VkStructureTypeRenderPassCreateInfo, pNext: pointer = nil, flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags, attachmentCount: uint32, pAttachments: ptr VkAttachmentDescription, subpassCount: uint32, pSubpasses: ptr VkSubpassDescription, dependencyCount: uint32, pDependencies: ptr VkSubpassDependency): VkRenderPassCreateInfo = - result.sType = sType - result.pNext = pNext - result.flags = flags - result.attachmentCount = attachmentCount - result.pAttachments = pAttachments - result.subpassCount = subpassCount - result.pSubpasses = pSubpasses - result.dependencyCount = dependencyCount + VkVideoReferenceSlotInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + slotIndex*: int32 + pPictureResource*: ptr VkVideoPictureResourceInfoKHR + + VkVideoDecodeCapabilitiesKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoDecodeCapabilityFlagsKHR + + VkVideoDecodeUsageInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + videoUsageHints*: VkVideoDecodeUsageFlagsKHR + + VkVideoDecodeInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoDecodeFlagsKHR + srcBuffer*: VkBuffer + srcBufferOffset*: VkDeviceSize + srcBufferRange*: VkDeviceSize + dstPictureResource*: VkVideoPictureResourceInfoKHR + pSetupReferenceSlot*: ptr VkVideoReferenceSlotInfoKHR + referenceSlotCount*: uint32 + pReferenceSlots*: ptr VkVideoReferenceSlotInfoKHR + StdVideoH264ProfileIdc* = ptr object + StdVideoH264LevelIdc* = ptr object + StdVideoH264ChromaFormatIdc* = ptr object + StdVideoH264PocType* = ptr object + StdVideoH264SpsFlags* = ptr object + StdVideoH264ScalingLists* = ptr object + StdVideoH264SequenceParameterSetVui* = ptr object + StdVideoH264AspectRatioIdc* = ptr object + StdVideoH264HrdParameters* = ptr object + StdVideoH264SpsVuiFlags* = ptr object + StdVideoH264WeightedBipredIdc* = ptr object + StdVideoH264PpsFlags* = ptr object + StdVideoH264SliceType* = ptr object + StdVideoH264CabacInitIdc* = ptr object + StdVideoH264DisableDeblockingFilterIdc* = ptr object + StdVideoH264PictureType* = ptr object + StdVideoH264ModificationOfPicNumsIdc* = ptr object + StdVideoH264MemMgmtControlOp* = ptr object + StdVideoDecodeH264PictureInfo* = ptr object + StdVideoDecodeH264ReferenceInfo* = ptr object + StdVideoDecodeH264PictureInfoFlags* = ptr object + StdVideoDecodeH264ReferenceInfoFlags* = ptr object + + VkVideoDecodeH264ProfileInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + stdProfileIdc*: StdVideoH264ProfileIdc + pictureLayout*: VkVideoDecodeH264PictureLayoutFlagBitsKHR + + VkVideoDecodeH264CapabilitiesKHR* = object + sType*: VkStructureType + pNext*: pointer + maxLevelIdc*: StdVideoH264LevelIdc + fieldOffsetGranularity*: VkOffset2D + StdVideoH264SequenceParameterSet* = ptr object + StdVideoH264PictureParameterSet* = ptr object + + VkVideoDecodeH264SessionParametersAddInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + stdSPSCount*: uint32 + pStdSPSs*: ptr StdVideoH264SequenceParameterSet + stdPPSCount*: uint32 + pStdPPSs*: ptr StdVideoH264PictureParameterSet + + VkVideoDecodeH264SessionParametersCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + maxStdSPSCount*: uint32 + maxStdPPSCount*: uint32 + pParametersAddInfo*: ptr VkVideoDecodeH264SessionParametersAddInfoKHR + + VkVideoDecodeH264PictureInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pStdPictureInfo*: ptr StdVideoDecodeH264PictureInfo + sliceCount*: uint32 + pSliceOffsets*: ptr uint32 + + VkVideoDecodeH264DpbSlotInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pStdReferenceInfo*: ptr StdVideoDecodeH264ReferenceInfo + StdVideoH265ProfileIdc* = ptr object + StdVideoH265VideoParameterSet* = ptr object + StdVideoH265SequenceParameterSet* = ptr object + StdVideoH265PictureParameterSet* = ptr object + StdVideoH265DecPicBufMgr* = ptr object + StdVideoH265HrdParameters* = ptr object + StdVideoH265VpsFlags* = ptr object + StdVideoH265LevelIdc* = ptr object + StdVideoH265SpsFlags* = ptr object + StdVideoH265ScalingLists* = ptr object + StdVideoH265SequenceParameterSetVui* = ptr object + StdVideoH265PredictorPaletteEntries* = ptr object + StdVideoH265PpsFlags* = ptr object + StdVideoH265SubLayerHrdParameters* = ptr object + StdVideoH265HrdFlags* = ptr object + StdVideoH265SpsVuiFlags* = ptr object + StdVideoH265SliceType* = ptr object + StdVideoH265PictureType* = ptr object + StdVideoDecodeH265PictureInfo* = ptr object + StdVideoDecodeH265ReferenceInfo* = ptr object + StdVideoDecodeH265PictureInfoFlags* = ptr object + StdVideoDecodeH265ReferenceInfoFlags* = ptr object + + VkVideoDecodeH265ProfileInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + stdProfileIdc*: StdVideoH265ProfileIdc + + VkVideoDecodeH265CapabilitiesKHR* = object + sType*: VkStructureType + pNext*: pointer + maxLevelIdc*: StdVideoH265LevelIdc + + VkVideoDecodeH265SessionParametersAddInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + stdVPSCount*: uint32 + pStdVPSs*: ptr StdVideoH265VideoParameterSet + stdSPSCount*: uint32 + pStdSPSs*: ptr StdVideoH265SequenceParameterSet + stdPPSCount*: uint32 + pStdPPSs*: ptr StdVideoH265PictureParameterSet + + VkVideoDecodeH265SessionParametersCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + maxStdVPSCount*: uint32 + maxStdSPSCount*: uint32 + maxStdPPSCount*: uint32 + pParametersAddInfo*: ptr VkVideoDecodeH265SessionParametersAddInfoKHR + + VkVideoDecodeH265PictureInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pStdPictureInfo*: ptr StdVideoDecodeH265PictureInfo + sliceSegmentCount*: uint32 + pSliceSegmentOffsets*: ptr uint32 + + VkVideoDecodeH265DpbSlotInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pStdReferenceInfo*: ptr StdVideoDecodeH265ReferenceInfo + + VkVideoSessionCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + queueFamilyIndex*: uint32 + flags*: VkVideoSessionCreateFlagsKHR + pVideoProfile*: ptr VkVideoProfileInfoKHR + pictureFormat*: VkFormat + maxCodedExtent*: VkExtent2D + referencePictureFormat*: VkFormat + maxDpbSlots*: uint32 + maxActiveReferencePictures*: uint32 + pStdHeaderVersion*: ptr VkExtensionProperties + + VkVideoSessionParametersCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoSessionParametersCreateFlagsKHR + videoSessionParametersTemplate*: VkVideoSessionParametersKHR + videoSession*: VkVideoSessionKHR + + VkVideoSessionParametersUpdateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + updateSequenceCount*: uint32 + + VkVideoEncodeSessionParametersGetInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + videoSessionParameters*: VkVideoSessionParametersKHR + + VkVideoEncodeSessionParametersFeedbackInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + hasOverrides*: VkBool32 + + VkVideoBeginCodingInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoBeginCodingFlagsKHR + videoSession*: VkVideoSessionKHR + videoSessionParameters*: VkVideoSessionParametersKHR + referenceSlotCount*: uint32 + pReferenceSlots*: ptr VkVideoReferenceSlotInfoKHR + + VkVideoEndCodingInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEndCodingFlagsKHR + + VkVideoCodingControlInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoCodingControlFlagsKHR + + VkVideoEncodeUsageInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + videoUsageHints*: VkVideoEncodeUsageFlagsKHR + videoContentHints*: VkVideoEncodeContentFlagsKHR + tuningMode*: VkVideoEncodeTuningModeKHR + + VkVideoEncodeInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeFlagsKHR + dstBuffer*: VkBuffer + dstBufferOffset*: VkDeviceSize + dstBufferRange*: VkDeviceSize + srcPictureResource*: VkVideoPictureResourceInfoKHR + pSetupReferenceSlot*: ptr VkVideoReferenceSlotInfoKHR + referenceSlotCount*: uint32 + pReferenceSlots*: ptr VkVideoReferenceSlotInfoKHR + precedingExternallyEncodedBytes*: uint32 + + VkQueryPoolVideoEncodeFeedbackCreateInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + encodeFeedbackFlags*: VkVideoEncodeFeedbackFlagsKHR + + VkVideoEncodeQualityLevelInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + qualityLevel*: uint32 + + VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + pVideoProfile*: ptr VkVideoProfileInfoKHR + qualityLevel*: uint32 + + VkVideoEncodeQualityLevelPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + preferredRateControlMode*: VkVideoEncodeRateControlModeFlagBitsKHR + preferredRateControlLayerCount*: uint32 + + VkVideoEncodeRateControlInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeRateControlFlagsKHR + rateControlMode*: VkVideoEncodeRateControlModeFlagBitsKHR + layerCount*: uint32 + pLayers*: ptr VkVideoEncodeRateControlLayerInfoKHR + virtualBufferSizeInMs*: uint32 + initialVirtualBufferSizeInMs*: uint32 + + VkVideoEncodeRateControlLayerInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + averageBitrate*: uint64 + maxBitrate*: uint64 + frameRateNumerator*: uint32 + frameRateDenominator*: uint32 + + VkVideoEncodeCapabilitiesKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeCapabilityFlagsKHR + rateControlModes*: VkVideoEncodeRateControlModeFlagsKHR + maxRateControlLayers*: uint32 + maxBitrate*: uint64 + maxQualityLevels*: uint32 + encodeInputPictureGranularity*: VkExtent2D + supportedEncodeFeedbackFlags*: VkVideoEncodeFeedbackFlagsKHR + + VkVideoEncodeH264CapabilitiesEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeH264CapabilityFlagsEXT + maxLevelIdc*: StdVideoH264LevelIdc + maxSliceCount*: uint32 + maxPPictureL0ReferenceCount*: uint32 + maxBPictureL0ReferenceCount*: uint32 + maxL1ReferenceCount*: uint32 + maxTemporalLayerCount*: uint32 + expectDyadicTemporalLayerPattern*: VkBool32 + minQp*: int32 + maxQp*: int32 + prefersGopRemainingFrames*: VkBool32 + requiresGopRemainingFrames*: VkBool32 + stdSyntaxFlags*: VkVideoEncodeH264StdFlagsEXT + + VkVideoEncodeH264QualityLevelPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + preferredRateControlFlags*: VkVideoEncodeH264RateControlFlagsEXT + preferredGopFrameCount*: uint32 + preferredIdrPeriod*: uint32 + preferredConsecutiveBFrameCount*: uint32 + preferredTemporalLayerCount*: uint32 + preferredConstantQp*: VkVideoEncodeH264QpEXT + preferredMaxL0ReferenceCount*: uint32 + preferredMaxL1ReferenceCount*: uint32 + preferredStdEntropyCodingModeFlag*: VkBool32 + StdVideoEncodeH264SliceHeader* = ptr object + StdVideoEncodeH264PictureInfo* = ptr object + StdVideoEncodeH264ReferenceInfo* = ptr object + StdVideoEncodeH264SliceHeaderFlags* = ptr object + StdVideoEncodeH264ReferenceListsInfo* = ptr object + StdVideoEncodeH264PictureInfoFlags* = ptr object + StdVideoEncodeH264ReferenceInfoFlags* = ptr object + StdVideoEncodeH264RefMgmtFlags* = ptr object + StdVideoEncodeH264RefListModEntry* = ptr object + StdVideoEncodeH264RefPicMarkingEntry* = ptr object + + VkVideoEncodeH264SessionCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useMaxLevelIdc*: VkBool32 + maxLevelIdc*: StdVideoH264LevelIdc + + VkVideoEncodeH264SessionParametersAddInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + stdSPSCount*: uint32 + pStdSPSs*: ptr StdVideoH264SequenceParameterSet + stdPPSCount*: uint32 + pStdPPSs*: ptr StdVideoH264PictureParameterSet + + VkVideoEncodeH264SessionParametersCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + maxStdSPSCount*: uint32 + maxStdPPSCount*: uint32 + pParametersAddInfo*: ptr VkVideoEncodeH264SessionParametersAddInfoEXT + + VkVideoEncodeH264SessionParametersGetInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + writeStdSPS*: VkBool32 + writeStdPPS*: VkBool32 + stdSPSId*: uint32 + stdPPSId*: uint32 + + VkVideoEncodeH264SessionParametersFeedbackInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + hasStdSPSOverrides*: VkBool32 + hasStdPPSOverrides*: VkBool32 + + VkVideoEncodeH264DpbSlotInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + pStdReferenceInfo*: ptr StdVideoEncodeH264ReferenceInfo + + VkVideoEncodeH264PictureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + naluSliceEntryCount*: uint32 + pNaluSliceEntries*: ptr VkVideoEncodeH264NaluSliceInfoEXT + pStdPictureInfo*: ptr StdVideoEncodeH264PictureInfo + generatePrefixNalu*: VkBool32 + + VkVideoEncodeH264ProfileInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + stdProfileIdc*: StdVideoH264ProfileIdc + + VkVideoEncodeH264NaluSliceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + constantQp*: int32 + pStdSliceHeader*: ptr StdVideoEncodeH264SliceHeader + + VkVideoEncodeH264RateControlInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeH264RateControlFlagsEXT + gopFrameCount*: uint32 + idrPeriod*: uint32 + consecutiveBFrameCount*: uint32 + temporalLayerCount*: uint32 + + VkVideoEncodeH264QpEXT* = object + qpI*: int32 + qpP*: int32 + qpB*: int32 + + VkVideoEncodeH264FrameSizeEXT* = object + frameISize*: uint32 + framePSize*: uint32 + frameBSize*: uint32 + + VkVideoEncodeH264GopRemainingFrameInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useGopRemainingFrames*: VkBool32 + gopRemainingI*: uint32 + gopRemainingP*: uint32 + gopRemainingB*: uint32 + + VkVideoEncodeH264RateControlLayerInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useMinQp*: VkBool32 + minQp*: VkVideoEncodeH264QpEXT + useMaxQp*: VkBool32 + maxQp*: VkVideoEncodeH264QpEXT + useMaxFrameSize*: VkBool32 + maxFrameSize*: VkVideoEncodeH264FrameSizeEXT + + VkVideoEncodeH265CapabilitiesEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeH265CapabilityFlagsEXT + maxLevelIdc*: StdVideoH265LevelIdc + maxSliceSegmentCount*: uint32 + maxTiles*: VkExtent2D + ctbSizes*: VkVideoEncodeH265CtbSizeFlagsEXT + transformBlockSizes*: VkVideoEncodeH265TransformBlockSizeFlagsEXT + maxPPictureL0ReferenceCount*: uint32 + maxBPictureL0ReferenceCount*: uint32 + maxL1ReferenceCount*: uint32 + maxSubLayerCount*: uint32 + expectDyadicTemporalSubLayerPattern*: VkBool32 + minQp*: int32 + maxQp*: int32 + prefersGopRemainingFrames*: VkBool32 + requiresGopRemainingFrames*: VkBool32 + stdSyntaxFlags*: VkVideoEncodeH265StdFlagsEXT + + VkVideoEncodeH265QualityLevelPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + preferredRateControlFlags*: VkVideoEncodeH265RateControlFlagsEXT + preferredGopFrameCount*: uint32 + preferredIdrPeriod*: uint32 + preferredConsecutiveBFrameCount*: uint32 + preferredSubLayerCount*: uint32 + preferredConstantQp*: VkVideoEncodeH265QpEXT + preferredMaxL0ReferenceCount*: uint32 + preferredMaxL1ReferenceCount*: uint32 + StdVideoEncodeH265PictureInfoFlags* = ptr object + StdVideoEncodeH265PictureInfo* = ptr object + StdVideoEncodeH265SliceSegmentHeader* = ptr object + StdVideoEncodeH265ReferenceInfo* = ptr object + StdVideoEncodeH265ReferenceListsInfo* = ptr object + StdVideoEncodeH265SliceSegmentHeaderFlags* = ptr object + StdVideoEncodeH265ReferenceInfoFlags* = ptr object + StdVideoEncodeH265ReferenceModificationFlags* = ptr object + + VkVideoEncodeH265SessionCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useMaxLevelIdc*: VkBool32 + maxLevelIdc*: StdVideoH265LevelIdc + + VkVideoEncodeH265SessionParametersAddInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + stdVPSCount*: uint32 + pStdVPSs*: ptr StdVideoH265VideoParameterSet + stdSPSCount*: uint32 + pStdSPSs*: ptr StdVideoH265SequenceParameterSet + stdPPSCount*: uint32 + pStdPPSs*: ptr StdVideoH265PictureParameterSet + + VkVideoEncodeH265SessionParametersCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + maxStdVPSCount*: uint32 + maxStdSPSCount*: uint32 + maxStdPPSCount*: uint32 + pParametersAddInfo*: ptr VkVideoEncodeH265SessionParametersAddInfoEXT + + VkVideoEncodeH265SessionParametersGetInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + writeStdVPS*: VkBool32 + writeStdSPS*: VkBool32 + writeStdPPS*: VkBool32 + stdVPSId*: uint32 + stdSPSId*: uint32 + stdPPSId*: uint32 + + VkVideoEncodeH265SessionParametersFeedbackInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + hasStdVPSOverrides*: VkBool32 + hasStdSPSOverrides*: VkBool32 + hasStdPPSOverrides*: VkBool32 + + VkVideoEncodeH265PictureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + naluSliceSegmentEntryCount*: uint32 + pNaluSliceSegmentEntries*: ptr VkVideoEncodeH265NaluSliceSegmentInfoEXT + pStdPictureInfo*: ptr StdVideoEncodeH265PictureInfo + + VkVideoEncodeH265NaluSliceSegmentInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + constantQp*: int32 + pStdSliceSegmentHeader*: ptr StdVideoEncodeH265SliceSegmentHeader + + VkVideoEncodeH265RateControlInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkVideoEncodeH265RateControlFlagsEXT + gopFrameCount*: uint32 + idrPeriod*: uint32 + consecutiveBFrameCount*: uint32 + subLayerCount*: uint32 + + VkVideoEncodeH265QpEXT* = object + qpI*: int32 + qpP*: int32 + qpB*: int32 + + VkVideoEncodeH265FrameSizeEXT* = object + frameISize*: uint32 + framePSize*: uint32 + frameBSize*: uint32 + + VkVideoEncodeH265GopRemainingFrameInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useGopRemainingFrames*: VkBool32 + gopRemainingI*: uint32 + gopRemainingP*: uint32 + gopRemainingB*: uint32 + + VkVideoEncodeH265RateControlLayerInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + useMinQp*: VkBool32 + minQp*: VkVideoEncodeH265QpEXT + useMaxQp*: VkBool32 + maxQp*: VkVideoEncodeH265QpEXT + useMaxFrameSize*: VkBool32 + maxFrameSize*: VkVideoEncodeH265FrameSizeEXT + + VkVideoEncodeH265ProfileInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + stdProfileIdc*: StdVideoH265ProfileIdc + + VkVideoEncodeH265DpbSlotInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + pStdReferenceInfo*: ptr StdVideoEncodeH265ReferenceInfo + + VkPhysicalDeviceInheritedViewportScissorFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + inheritedViewportScissor2D*: VkBool32 + + VkCommandBufferInheritanceViewportScissorInfoNV* = object + sType*: VkStructureType + pNext*: pointer + viewportScissor2D*: VkBool32 + viewportDepthCount*: uint32 + pViewportDepths*: ptr VkViewport + + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + ycbcr2plane444Formats*: VkBool32 + + VkPhysicalDeviceProvokingVertexFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + provokingVertexLast*: VkBool32 + transformFeedbackPreservesProvokingVertex*: VkBool32 + + VkPhysicalDeviceProvokingVertexPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + provokingVertexModePerPipeline*: VkBool32 + transformFeedbackPreservesTriangleFanProvokingVertex*: VkBool32 + + VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + provokingVertexMode*: VkProvokingVertexModeEXT + + VkCuModuleCreateInfoNVX* = object + sType*: VkStructureType + pNext*: pointer + dataSize*: uint + pData*: pointer + + VkCuFunctionCreateInfoNVX* = object + sType*: VkStructureType + pNext*: pointer + module*: VkCuModuleNVX + pName*: cstring + + VkCuLaunchInfoNVX* = object + sType*: VkStructureType + pNext*: pointer + function*: VkCuFunctionNVX + gridDimX*: uint32 + gridDimY*: uint32 + gridDimZ*: uint32 + blockDimX*: uint32 + blockDimY*: uint32 + blockDimZ*: uint32 + sharedMemBytes*: uint32 + paramCount*: uint + pParams*: ptr pointer + extraCount*: uint + pExtras*: ptr pointer + + VkPhysicalDeviceDescriptorBufferFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + descriptorBuffer*: VkBool32 + descriptorBufferCaptureReplay*: VkBool32 + descriptorBufferImageLayoutIgnored*: VkBool32 + descriptorBufferPushDescriptors*: VkBool32 + + VkPhysicalDeviceDescriptorBufferPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + combinedImageSamplerDescriptorSingleArray*: VkBool32 + bufferlessPushDescriptors*: VkBool32 + allowSamplerImageViewPostSubmitCreation*: VkBool32 + descriptorBufferOffsetAlignment*: VkDeviceSize + maxDescriptorBufferBindings*: uint32 + maxResourceDescriptorBufferBindings*: uint32 + maxSamplerDescriptorBufferBindings*: uint32 + maxEmbeddedImmutableSamplerBindings*: uint32 + maxEmbeddedImmutableSamplers*: uint32 + bufferCaptureReplayDescriptorDataSize*: uint + imageCaptureReplayDescriptorDataSize*: uint + imageViewCaptureReplayDescriptorDataSize*: uint + samplerCaptureReplayDescriptorDataSize*: uint + accelerationStructureCaptureReplayDescriptorDataSize*: uint + samplerDescriptorSize*: uint + combinedImageSamplerDescriptorSize*: uint + sampledImageDescriptorSize*: uint + storageImageDescriptorSize*: uint + uniformTexelBufferDescriptorSize*: uint + robustUniformTexelBufferDescriptorSize*: uint + storageTexelBufferDescriptorSize*: uint + robustStorageTexelBufferDescriptorSize*: uint + uniformBufferDescriptorSize*: uint + robustUniformBufferDescriptorSize*: uint + storageBufferDescriptorSize*: uint + robustStorageBufferDescriptorSize*: uint + inputAttachmentDescriptorSize*: uint + accelerationStructureDescriptorSize*: uint + maxSamplerDescriptorBufferRange*: VkDeviceSize + maxResourceDescriptorBufferRange*: VkDeviceSize + samplerDescriptorBufferAddressSpaceSize*: VkDeviceSize + resourceDescriptorBufferAddressSpaceSize*: VkDeviceSize + descriptorBufferAddressSpaceSize*: VkDeviceSize + + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + combinedImageSamplerDensityMapDescriptorSize*: uint + + VkDescriptorAddressInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + address*: VkDeviceAddress + range*: VkDeviceSize + format*: VkFormat + + VkDescriptorBufferBindingInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + address*: VkDeviceAddress + usage*: VkBufferUsageFlags + + VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* = object + sType*: VkStructureType + pNext*: pointer + buffer*: VkBuffer + + VkDescriptorDataEXT* {.union.} = object + pSampler*: ptr VkSampler + pCombinedImageSampler*: ptr VkDescriptorImageInfo + pInputAttachmentImage*: ptr VkDescriptorImageInfo + pSampledImage*: ptr VkDescriptorImageInfo + pStorageImage*: ptr VkDescriptorImageInfo + pUniformTexelBuffer*: ptr VkDescriptorAddressInfoEXT + pStorageTexelBuffer*: ptr VkDescriptorAddressInfoEXT + pUniformBuffer*: ptr VkDescriptorAddressInfoEXT + pStorageBuffer*: ptr VkDescriptorAddressInfoEXT + accelerationStructure*: VkDeviceAddress + + VkDescriptorGetInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + `type`*: VkDescriptorType + data*: VkDescriptorDataEXT + + VkBufferCaptureDescriptorDataInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + buffer*: VkBuffer + + VkImageCaptureDescriptorDataInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + image*: VkImage + + VkImageViewCaptureDescriptorDataInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + imageView*: VkImageView + + VkSamplerCaptureDescriptorDataInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + sampler*: VkSampler + + VkAccelerationStructureCaptureDescriptorDataInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + accelerationStructure*: VkAccelerationStructureKHR + accelerationStructureNV*: VkAccelerationStructureNV + + VkOpaqueCaptureDescriptorDataCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + opaqueCaptureDescriptorData*: pointer + + VkPhysicalDeviceShaderIntegerDotProductFeatures* = object + sType*: VkStructureType + pNext*: pointer + shaderIntegerDotProduct*: VkBool32 + + VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* = object + + VkPhysicalDeviceShaderIntegerDotProductProperties* = object + sType*: VkStructureType + pNext*: pointer + integerDotProduct8BitUnsignedAccelerated*: VkBool32 + integerDotProduct8BitSignedAccelerated*: VkBool32 + integerDotProduct8BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32 + integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32 + integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32 + integerDotProduct16BitUnsignedAccelerated*: VkBool32 + integerDotProduct16BitSignedAccelerated*: VkBool32 + integerDotProduct16BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct32BitUnsignedAccelerated*: VkBool32 + integerDotProduct32BitSignedAccelerated*: VkBool32 + integerDotProduct32BitMixedSignednessAccelerated*: VkBool32 + integerDotProduct64BitUnsignedAccelerated*: VkBool32 + integerDotProduct64BitSignedAccelerated*: VkBool32 + integerDotProduct64BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32 + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32 + + VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* = object + + VkPhysicalDeviceDrmPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + hasPrimary*: VkBool32 + hasRender*: VkBool32 + primaryMajor*: int64 + primaryMinor*: int64 + renderMajor*: int64 + renderMinor*: int64 + + VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + fragmentShaderBarycentric*: VkBool32 + + VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* = object + sType*: VkStructureType + pNext*: pointer + triStripVertexOrderIndependentOfProvokingVertex*: VkBool32 + + VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + rayTracingMotionBlur*: VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect*: VkBool32 + + VkAccelerationStructureGeometryMotionTrianglesDataNV* = object + sType*: VkStructureType + pNext*: pointer + vertexData*: VkDeviceOrHostAddressConstKHR + + VkAccelerationStructureMotionInfoNV* = object + sType*: VkStructureType + pNext*: pointer + maxInstances*: uint32 + flags*: VkAccelerationStructureMotionInfoFlagsNV + + VkSRTDataNV* = object + sx*: float32 + a*: float32 + b*: float32 + pvx*: float32 + sy*: float32 + c*: float32 + pvy*: float32 + sz*: float32 + pvz*: float32 + qx*: float32 + qy*: float32 + qz*: float32 + qw*: float32 + tx*: float32 + ty*: float32 + tz*: float32 + + VkAccelerationStructureSRTMotionInstanceNV* = object + transformT0*: VkSRTDataNV + transformT1*: VkSRTDataNV + instanceCustomIndex*: uint32 + mask*: uint32 + instanceShaderBindingTableRecordOffset*: uint32 + flags*: VkGeometryInstanceFlagsKHR + accelerationStructureReference*: uint64 + + VkAccelerationStructureMatrixMotionInstanceNV* = object + transformT0*: VkTransformMatrixKHR + transformT1*: VkTransformMatrixKHR + instanceCustomIndex*: uint32 + mask*: uint32 + instanceShaderBindingTableRecordOffset*: uint32 + flags*: VkGeometryInstanceFlagsKHR + accelerationStructureReference*: uint64 + + VkAccelerationStructureMotionInstanceDataNV* {.union.} = object + staticInstance*: VkAccelerationStructureInstanceKHR + matrixMotionInstance*: VkAccelerationStructureMatrixMotionInstanceNV + srtMotionInstance*: VkAccelerationStructureSRTMotionInstanceNV + + VkAccelerationStructureMotionInstanceNV* = object + `type`*: VkAccelerationStructureMotionInstanceTypeNV + flags*: VkAccelerationStructureMotionInstanceFlagsNV + data*: VkAccelerationStructureMotionInstanceDataNV + VkRemoteAddressNV* = distinct void + + VkMemoryGetRemoteAddressInfoNV* = object + sType*: VkStructureType + pNext*: pointer + memory*: VkDeviceMemory + handleType*: VkExternalMemoryHandleTypeFlagBits + + VkImportMemoryBufferCollectionFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + collection*: VkBufferCollectionFUCHSIA + index*: uint32 + + VkBufferCollectionImageCreateInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + collection*: VkBufferCollectionFUCHSIA + index*: uint32 + + VkBufferCollectionBufferCreateInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + collection*: VkBufferCollectionFUCHSIA + index*: uint32 + + VkBufferCollectionCreateInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + collectionToken*: zx_handle_t + + VkBufferCollectionPropertiesFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + memoryTypeBits*: uint32 + bufferCount*: uint32 + createInfoIndex*: uint32 + sysmemPixelFormat*: uint64 + formatFeatures*: VkFormatFeatureFlags + sysmemColorSpaceIndex*: VkSysmemColorSpaceFUCHSIA + samplerYcbcrConversionComponents*: VkComponentMapping + suggestedYcbcrModel*: VkSamplerYcbcrModelConversion + suggestedYcbcrRange*: VkSamplerYcbcrRange + suggestedXChromaOffset*: VkChromaLocation + suggestedYChromaOffset*: VkChromaLocation + + VkBufferConstraintsInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + createInfo*: VkBufferCreateInfo + requiredFormatFeatures*: VkFormatFeatureFlags + bufferCollectionConstraints*: VkBufferCollectionConstraintsInfoFUCHSIA + + VkSysmemColorSpaceFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + colorSpace*: uint32 + + VkImageFormatConstraintsInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + imageCreateInfo*: VkImageCreateInfo + requiredFormatFeatures*: VkFormatFeatureFlags + flags*: VkImageFormatConstraintsFlagsFUCHSIA + sysmemPixelFormat*: uint64 + colorSpaceCount*: uint32 + pColorSpaces*: ptr VkSysmemColorSpaceFUCHSIA + + VkImageConstraintsInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + formatConstraintsCount*: uint32 + pFormatConstraints*: ptr VkImageFormatConstraintsInfoFUCHSIA + bufferCollectionConstraints*: VkBufferCollectionConstraintsInfoFUCHSIA + flags*: VkImageConstraintsInfoFlagsFUCHSIA + + VkBufferCollectionConstraintsInfoFUCHSIA* = object + sType*: VkStructureType + pNext*: pointer + minBufferCount*: uint32 + maxBufferCount*: uint32 + minBufferCountForCamping*: uint32 + minBufferCountForDedicatedSlack*: uint32 + minBufferCountForSharedSlack*: uint32 + + VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + formatRgba10x6WithoutYCbCrSampler*: VkBool32 + + VkFormatProperties3* = object + sType*: VkStructureType + pNext*: pointer + linearTilingFeatures*: VkFormatFeatureFlags2 + optimalTilingFeatures*: VkFormatFeatureFlags2 + bufferFeatures*: VkFormatFeatureFlags2 + + VkFormatProperties3KHR* = object + + VkDrmFormatModifierPropertiesList2EXT* = object + sType*: VkStructureType + pNext*: pointer + drmFormatModifierCount*: uint32 + pDrmFormatModifierProperties*: ptr VkDrmFormatModifierProperties2EXT + + VkDrmFormatModifierProperties2EXT* = object + drmFormatModifier*: uint64 + drmFormatModifierPlaneCount*: uint32 + drmFormatModifierTilingFeatures*: VkFormatFeatureFlags2 + + VkAndroidHardwareBufferFormatProperties2ANDROID* = object + sType*: VkStructureType + pNext*: pointer + format*: VkFormat + externalFormat*: uint64 + formatFeatures*: VkFormatFeatureFlags2 + samplerYcbcrConversionComponents*: VkComponentMapping + suggestedYcbcrModel*: VkSamplerYcbcrModelConversion + suggestedYcbcrRange*: VkSamplerYcbcrRange + suggestedXChromaOffset*: VkChromaLocation + suggestedYChromaOffset*: VkChromaLocation + + VkPipelineRenderingCreateInfo* = object + sType*: VkStructureType + pNext*: pointer + viewMask*: uint32 + colorAttachmentCount*: uint32 + pColorAttachmentFormats*: ptr VkFormat + depthAttachmentFormat*: VkFormat + stencilAttachmentFormat*: VkFormat + + VkPipelineRenderingCreateInfoKHR* = object + + VkRenderingInfo* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkRenderingFlags + renderArea*: VkRect2D + layerCount*: uint32 + viewMask*: uint32 + colorAttachmentCount*: uint32 + pColorAttachments*: ptr VkRenderingAttachmentInfo + pDepthAttachment*: ptr VkRenderingAttachmentInfo + pStencilAttachment*: ptr VkRenderingAttachmentInfo + + VkRenderingInfoKHR* = object + + VkRenderingAttachmentInfo* = object + sType*: VkStructureType + pNext*: pointer + imageView*: VkImageView + imageLayout*: VkImageLayout + resolveMode*: VkResolveModeFlagBits + resolveImageView*: VkImageView + resolveImageLayout*: VkImageLayout + loadOp*: VkAttachmentLoadOp + storeOp*: VkAttachmentStoreOp + clearValue*: VkClearValue + + VkRenderingAttachmentInfoKHR* = object + + VkRenderingFragmentShadingRateAttachmentInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + imageView*: VkImageView + imageLayout*: VkImageLayout + shadingRateAttachmentTexelSize*: VkExtent2D + + VkRenderingFragmentDensityMapAttachmentInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + imageView*: VkImageView + imageLayout*: VkImageLayout + + VkPhysicalDeviceDynamicRenderingFeatures* = object + sType*: VkStructureType + pNext*: pointer + dynamicRendering*: VkBool32 + + VkPhysicalDeviceDynamicRenderingFeaturesKHR* = object + + VkCommandBufferInheritanceRenderingInfo* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkRenderingFlags + viewMask*: uint32 + colorAttachmentCount*: uint32 + colorAttachmentCount*: uint32 + pColorAttachmentFormats*: ptr VkFormat + depthAttachmentFormat*: VkFormat + stencilAttachmentFormat*: VkFormat + rasterizationSamples*: VkSampleCountFlagBits + + VkCommandBufferInheritanceRenderingInfoKHR* = object + + VkAttachmentSampleCountInfoAMD* = object + sType*: VkStructureType + pNext*: pointer + colorAttachmentCount*: uint32 + pColorAttachmentSamples*: ptr VkSampleCountFlagBits + depthStencilAttachmentSamples*: VkSampleCountFlagBits + + VkAttachmentSampleCountInfoNV* = object + + VkMultiviewPerViewAttributesInfoNVX* = object + sType*: VkStructureType + pNext*: pointer + perViewAttributes*: VkBool32 + perViewAttributesPositionXOnly*: VkBool32 + + VkPhysicalDeviceImageViewMinLodFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + minLod*: VkBool32 + + VkImageViewMinLodCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + minLod*: float32 + + VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + rasterizationOrderColorAttachmentAccess*: VkBool32 + rasterizationOrderDepthAttachmentAccess*: VkBool32 + rasterizationOrderStencilAttachmentAccess*: VkBool32 + + VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM* = object + + VkPhysicalDeviceLinearColorAttachmentFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + linearColorAttachment*: VkBool32 + + VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + graphicsPipelineLibrary*: VkBool32 + + VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + graphicsPipelineLibraryFastLinking*: VkBool32 + graphicsPipelineLibraryIndependentInterpolationDecoration*: VkBool32 + + VkGraphicsPipelineLibraryCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkGraphicsPipelineLibraryFlagsEXT + + VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* = object + sType*: VkStructureType + pNext*: pointer + descriptorSetHostMapping*: VkBool32 + + VkDescriptorSetBindingReferenceVALVE* = object + sType*: VkStructureType + pNext*: pointer + descriptorSetLayout*: VkDescriptorSetLayout + binding*: uint32 + + VkDescriptorSetLayoutHostMappingInfoVALVE* = object + sType*: VkStructureType + pNext*: pointer + descriptorOffset*: uint + descriptorSize*: uint32 + + VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderModuleIdentifier*: VkBool32 + + VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderModuleIdentifierAlgorithmUUID*: array[VK_UUID_SIZE, uint8] + + VkPipelineShaderStageModuleIdentifierCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + identifierSize*: uint32 + pIdentifier*: ptr uint8 + + VkShaderModuleIdentifierEXT* = object + sType*: VkStructureType + pNext*: pointer + identifierSize*: uint32 + identifier*: array[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT, uint8] + + VkImageCompressionControlEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkImageCompressionFlagsEXT + compressionControlPlaneCount*: uint32 + pFixedRateFlags*: ptr VkImageCompressionFixedRateFlagsEXT + + VkPhysicalDeviceImageCompressionControlFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + imageCompressionControl*: VkBool32 + + VkImageCompressionPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + imageCompressionFlags*: VkImageCompressionFlagsEXT + imageCompressionFixedRateFlags*: VkImageCompressionFixedRateFlagsEXT + + VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + imageCompressionControlSwapchain*: VkBool32 + + VkImageSubresource2EXT* = object + sType*: VkStructureType + pNext*: pointer + imageSubresource*: VkImageSubresource + + VkSubresourceLayout2EXT* = object + sType*: VkStructureType + pNext*: pointer + subresourceLayout*: VkSubresourceLayout + + VkRenderPassCreationControlEXT* = object + sType*: VkStructureType + pNext*: pointer + disallowMerging*: VkBool32 + + VkRenderPassCreationFeedbackInfoEXT* = object + postMergeSubpassCount*: uint32 + + VkRenderPassCreationFeedbackCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + pRenderPassFeedback*: ptr VkRenderPassCreationFeedbackInfoEXT + + VkRenderPassSubpassFeedbackInfoEXT* = object + subpassMergeStatus*: VkSubpassMergeStatusEXT + description*: array[VK_MAX_DESCRIPTION_SIZE, char] + postMergeIndex*: uint32 + + VkRenderPassSubpassFeedbackCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + pSubpassFeedback*: ptr VkRenderPassSubpassFeedbackInfoEXT + + VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + subpassMergeFeedback*: VkBool32 + + VkMicromapBuildInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + `type`*: VkMicromapTypeEXT + flags*: VkBuildMicromapFlagsEXT + mode*: VkBuildMicromapModeEXT + dstMicromap*: VkMicromapEXT + usageCountsCount*: uint32 + pUsageCounts*: ptr VkMicromapUsageEXT + ppUsageCounts*: ptr ptr VkMicromapUsageEXT + data*: VkDeviceOrHostAddressConstKHR + scratchData*: VkDeviceOrHostAddressKHR + triangleArray*: VkDeviceOrHostAddressConstKHR + triangleArrayStride*: VkDeviceSize + + VkMicromapCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + createFlags*: VkMicromapCreateFlagsEXT + buffer*: VkBuffer + offset*: VkDeviceSize + size*: VkDeviceSize + `type`*: VkMicromapTypeEXT + deviceAddress*: VkDeviceAddress + + VkMicromapVersionInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + pVersionData*: ptr uint8 + + VkCopyMicromapInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + src*: VkMicromapEXT + dst*: VkMicromapEXT + mode*: VkCopyMicromapModeEXT + + VkCopyMicromapToMemoryInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + src*: VkMicromapEXT + dst*: VkDeviceOrHostAddressKHR + mode*: VkCopyMicromapModeEXT + + VkCopyMemoryToMicromapInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + src*: VkDeviceOrHostAddressConstKHR + dst*: VkMicromapEXT + mode*: VkCopyMicromapModeEXT + + VkMicromapBuildSizesInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + micromapSize*: VkDeviceSize + buildScratchSize*: VkDeviceSize + discardable*: VkBool32 + + VkMicromapUsageEXT* = object + count*: uint32 + subdivisionLevel*: uint32 + format*: uint32 + + VkMicromapTriangleEXT* = object + dataOffset*: uint32 + subdivisionLevel*: uint16 + format*: uint16 + + VkPhysicalDeviceOpacityMicromapFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + micromap*: VkBool32 + micromapCaptureReplay*: VkBool32 + micromapHostCommands*: VkBool32 + + VkPhysicalDeviceOpacityMicromapPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + maxOpacity2StateSubdivisionLevel*: uint32 + maxOpacity4StateSubdivisionLevel*: uint32 + + VkAccelerationStructureTrianglesOpacityMicromapEXT* = object + sType*: VkStructureType + pNext*: pointer + indexType*: VkIndexType + indexBuffer*: VkDeviceOrHostAddressConstKHR + indexStride*: VkDeviceSize + baseTriangle*: uint32 + usageCountsCount*: uint32 + pUsageCounts*: ptr VkMicromapUsageEXT + ppUsageCounts*: ptr ptr VkMicromapUsageEXT + micromap*: VkMicromapEXT + + VkPhysicalDeviceDisplacementMicromapFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + displacementMicromap*: VkBool32 + + VkPhysicalDeviceDisplacementMicromapPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + maxDisplacementMicromapSubdivisionLevel*: uint32 + + VkAccelerationStructureTrianglesDisplacementMicromapNV* = object + sType*: VkStructureType + pNext*: pointer + displacementBiasAndScaleFormat*: VkFormat + displacementVectorFormat*: VkFormat + displacementBiasAndScaleBuffer*: VkDeviceOrHostAddressConstKHR + displacementBiasAndScaleStride*: VkDeviceSize + displacementVectorBuffer*: VkDeviceOrHostAddressConstKHR + displacementVectorStride*: VkDeviceSize + displacedMicromapPrimitiveFlags*: VkDeviceOrHostAddressConstKHR + displacedMicromapPrimitiveFlagsStride*: VkDeviceSize + indexType*: VkIndexType + indexBuffer*: VkDeviceOrHostAddressConstKHR + indexStride*: VkDeviceSize + baseTriangle*: uint32 + usageCountsCount*: uint32 + pUsageCounts*: ptr VkMicromapUsageEXT + ppUsageCounts*: ptr ptr VkMicromapUsageEXT + micromap*: VkMicromapEXT + + VkPipelinePropertiesIdentifierEXT* = object + sType*: VkStructureType + pNext*: pointer + pipelineIdentifier*: array[VK_UUID_SIZE, uint8] + + VkPhysicalDevicePipelinePropertiesFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + pipelinePropertiesIdentifier*: VkBool32 + + VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* = object + sType*: VkStructureType + pNext*: pointer + shaderEarlyAndLateFragmentTests*: VkBool32 + + VkExternalMemoryAcquireUnmodifiedEXT* = object + sType*: VkStructureType + pNext*: pointer + acquireUnmodifiedMemory*: VkBool32 + + VkExportMetalObjectCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + exportObjectType*: VkExportMetalObjectTypeFlagBitsEXT + + VkExportMetalObjectsInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + + VkExportMetalDeviceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlDevice*: MTLDevice_id + + VkExportMetalCommandQueueInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + queue*: VkQueue + mtlCommandQueue*: MTLCommandQueue_id + + VkExportMetalBufferInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + memory*: VkDeviceMemory + mtlBuffer*: MTLBuffer_id + + VkImportMetalBufferInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlBuffer*: MTLBuffer_id + + VkExportMetalTextureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + image*: VkImage + imageView*: VkImageView + bufferView*: VkBufferView + plane*: VkImageAspectFlagBits + mtlTexture*: MTLTexture_id + + VkImportMetalTextureInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + plane*: VkImageAspectFlagBits + mtlTexture*: MTLTexture_id + + VkExportMetalIOSurfaceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + image*: VkImage + ioSurface*: IOSurfaceRef + + VkImportMetalIOSurfaceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + ioSurface*: IOSurfaceRef + + VkExportMetalSharedEventInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + semaphore*: VkSemaphore + event*: VkEvent + mtlSharedEvent*: MTLSharedEvent_id + + VkImportMetalSharedEventInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + mtlSharedEvent*: MTLSharedEvent_id + + VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + nonSeamlessCubeMap*: VkBool32 + + VkPhysicalDevicePipelineRobustnessFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + pipelineRobustness*: VkBool32 + + VkPipelineRobustnessCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + storageBuffers*: VkPipelineRobustnessBufferBehaviorEXT + uniformBuffers*: VkPipelineRobustnessBufferBehaviorEXT + vertexInputs*: VkPipelineRobustnessBufferBehaviorEXT + images*: VkPipelineRobustnessImageBehaviorEXT + + VkPhysicalDevicePipelineRobustnessPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + defaultRobustnessStorageBuffers*: VkPipelineRobustnessBufferBehaviorEXT + defaultRobustnessUniformBuffers*: VkPipelineRobustnessBufferBehaviorEXT + defaultRobustnessVertexInputs*: VkPipelineRobustnessBufferBehaviorEXT + defaultRobustnessImages*: VkPipelineRobustnessImageBehaviorEXT + + VkImageViewSampleWeightCreateInfoQCOM* = object + sType*: VkStructureType + pNext*: pointer + filterCenter*: VkOffset2D + filterSize*: VkExtent2D + numPhases*: uint32 + + VkPhysicalDeviceImageProcessingFeaturesQCOM* = object + sType*: VkStructureType + pNext*: pointer + textureSampleWeighted*: VkBool32 + textureBoxFilter*: VkBool32 + textureBlockMatch*: VkBool32 + + VkPhysicalDeviceImageProcessingPropertiesQCOM* = object + sType*: VkStructureType + pNext*: pointer + maxWeightFilterPhases*: uint32 + maxWeightFilterDimension*: VkExtent2D + maxBlockMatchRegion*: VkExtent2D + maxBoxFilterBlockSize*: VkExtent2D + + VkPhysicalDeviceTilePropertiesFeaturesQCOM* = object + sType*: VkStructureType + pNext*: pointer + tileProperties*: VkBool32 + + VkTilePropertiesQCOM* = object + sType*: VkStructureType + pNext*: pointer + tileSize*: VkExtent3D + apronSize*: VkExtent2D + origin*: VkOffset2D + + VkPhysicalDeviceAmigoProfilingFeaturesSEC* = object + sType*: VkStructureType + pNext*: pointer + amigoProfiling*: VkBool32 + + VkAmigoProfilingSubmitInfoSEC* = object + sType*: VkStructureType + pNext*: pointer + firstDrawTimestamp*: uint64 + swapBufferTimestamp*: uint64 + + VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + attachmentFeedbackLoopLayout*: VkBool32 + + VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + depthClampZeroOne*: VkBool32 + + VkPhysicalDeviceAddressBindingReportFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + reportAddressBinding*: VkBool32 + + VkDeviceAddressBindingCallbackDataEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkDeviceAddressBindingFlagsEXT + baseAddress*: VkDeviceAddress + size*: VkDeviceSize + bindingType*: VkDeviceAddressBindingTypeEXT + + VkPhysicalDeviceOpticalFlowFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + opticalFlow*: VkBool32 + + VkPhysicalDeviceOpticalFlowPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + supportedOutputGridSizes*: VkOpticalFlowGridSizeFlagsNV + supportedHintGridSizes*: VkOpticalFlowGridSizeFlagsNV + hintSupported*: VkBool32 + costSupported*: VkBool32 + bidirectionalFlowSupported*: VkBool32 + globalFlowSupported*: VkBool32 + minWidth*: uint32 + minHeight*: uint32 + maxWidth*: uint32 + maxHeight*: uint32 + maxNumRegionsOfInterest*: uint32 + + VkOpticalFlowImageFormatInfoNV* = object + sType*: VkStructureType + pNext*: pointer + usage*: VkOpticalFlowUsageFlagsNV + + VkOpticalFlowImageFormatPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + format*: VkFormat + + VkOpticalFlowSessionCreateInfoNV* = object + sType*: VkStructureType + pNext*: pointer + width*: uint32 + height*: uint32 + imageFormat*: VkFormat + flowVectorFormat*: VkFormat + costFormat*: VkFormat + outputGridSize*: VkOpticalFlowGridSizeFlagsNV + hintGridSize*: VkOpticalFlowGridSizeFlagsNV + performanceLevel*: VkOpticalFlowPerformanceLevelNV + flags*: VkOpticalFlowSessionCreateFlagsNV + + VkOpticalFlowSessionCreatePrivateDataInfoNV* = object + sType*: VkStructureType + pNext*: pointer + id*: uint32 + size*: uint32 + pPrivateData*: pointer + + VkOpticalFlowExecuteInfoNV* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkOpticalFlowExecuteFlagsNV + regionCount*: uint32 + pRegions*: ptr VkRect2D + + VkPhysicalDeviceFaultFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + deviceFault*: VkBool32 + deviceFaultVendorBinary*: VkBool32 + + VkDeviceFaultAddressInfoEXT* = object + addressType*: VkDeviceFaultAddressTypeEXT + reportedAddress*: VkDeviceAddress + addressPrecision*: VkDeviceSize + + VkDeviceFaultVendorInfoEXT* = object + description*: array[VK_MAX_DESCRIPTION_SIZE, char] + vendorFaultCode*: uint64 + vendorFaultData*: uint64 + + VkDeviceFaultCountsEXT* = object + sType*: VkStructureType + pNext*: pointer + addressInfoCount*: uint32 + vendorInfoCount*: uint32 + vendorBinarySize*: VkDeviceSize + + VkDeviceFaultInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + description*: array[VK_MAX_DESCRIPTION_SIZE, char] + pAddressInfos*: ptr VkDeviceFaultAddressInfoEXT + pVendorInfos*: ptr VkDeviceFaultVendorInfoEXT + pVendorBinaryData*: pointer + + VkDeviceFaultVendorBinaryHeaderVersionOneEXT* = object + headerSize*: uint32 + headerVersion*: VkDeviceFaultVendorBinaryHeaderVersionEXT + vendorID*: uint32 + deviceID*: uint32 + driverVersion*: uint32 + pipelineCacheUUID*: array[VK_UUID_SIZE, uint8] + applicationNameOffset*: uint32 + applicationVersion*: uint32 + engineNameOffset*: uint32 + engineVersion*: uint32 + apiVersion*: uint32 + + VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + pipelineLibraryGroupHandles*: VkBool32 + + VkDepthBiasInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + depthBiasConstantFactor*: float32 + depthBiasClamp*: float32 + depthBiasSlopeFactor*: float32 + + VkDepthBiasRepresentationInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + depthBiasRepresentation*: VkDepthBiasRepresentationEXT + depthBiasExact*: VkBool32 + + VkDecompressMemoryRegionNV* = object + srcAddress*: VkDeviceAddress + dstAddress*: VkDeviceAddress + compressedSize*: VkDeviceSize + decompressedSize*: VkDeviceSize + decompressionMethod*: VkMemoryDecompressionMethodFlagsNV + + VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* = object + sType*: VkStructureType + pNext*: pointer + shaderCoreMask*: uint64 + shaderCoreCount*: uint32 + shaderWarpsPerCore*: uint32 + + VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* = object + sType*: VkStructureType + pNext*: pointer + shaderCoreBuiltins*: VkBool32 + + VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + dynamicRenderingUnusedAttachments*: VkBool32 + + VkSurfacePresentModeEXT* = object + sType*: VkStructureType + pNext*: pointer + presentMode*: VkPresentModeKHR + + VkSurfacePresentScalingCapabilitiesEXT* = object + sType*: VkStructureType + pNext*: pointer + supportedPresentScaling*: VkPresentScalingFlagsEXT + supportedPresentGravityX*: VkPresentGravityFlagsEXT + supportedPresentGravityY*: VkPresentGravityFlagsEXT + minScaledImageExtent*: VkExtent2D + maxScaledImageExtent*: VkExtent2D + + VkSurfacePresentModeCompatibilityEXT* = object + sType*: VkStructureType + pNext*: pointer + presentModeCount*: uint32 + pPresentModes*: ptr VkPresentModeKHR + + VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + swapchainMaintenance1*: VkBool32 + + VkSwapchainPresentFenceInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + swapchainCount*: uint32 + pFences*: ptr VkFence + + VkSwapchainPresentModesCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + presentModeCount*: uint32 + pPresentModes*: ptr VkPresentModeKHR + + VkSwapchainPresentModeInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + swapchainCount*: uint32 + pPresentModes*: ptr VkPresentModeKHR + + VkSwapchainPresentScalingCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + scalingBehavior*: VkPresentScalingFlagsEXT + presentGravityX*: VkPresentGravityFlagsEXT + presentGravityY*: VkPresentGravityFlagsEXT + + VkReleaseSwapchainImagesInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + swapchain*: VkSwapchainKHR + imageIndexCount*: uint32 + pImageIndices*: ptr uint32 + + VkPhysicalDeviceDepthBiasControlFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + depthBiasControl*: VkBool32 + leastRepresentableValueForceUnormRepresentation*: VkBool32 + floatRepresentation*: VkBool32 + depthBiasExact*: VkBool32 + + VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* = object + sType*: VkStructureType + pNext*: pointer + rayTracingInvocationReorder*: VkBool32 + + VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* = object + sType*: VkStructureType + pNext*: pointer + rayTracingInvocationReorderReorderingHint*: VkRayTracingInvocationReorderModeNV + + VkDirectDriverLoadingInfoLUNARG* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkDirectDriverLoadingFlagsLUNARG + pfnGetInstanceProcAddr*: PFN_vkGetInstanceProcAddrLUNARG + + VkDirectDriverLoadingListLUNARG* = object + sType*: VkStructureType + pNext*: pointer + mode*: VkDirectDriverLoadingModeLUNARG + driverCount*: uint32 + pDrivers*: ptr VkDirectDriverLoadingInfoLUNARG + + VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* = object + sType*: VkStructureType + pNext*: pointer + multiviewPerViewViewports*: VkBool32 + + VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* = object + sType*: VkStructureType + pNext*: pointer + rayTracingPositionFetch*: VkBool32 + + VkPhysicalDeviceShaderCorePropertiesARM* = object + sType*: VkStructureType + pNext*: pointer + pixelRate*: uint32 + texelRate*: uint32 + fmaRate*: uint32 + + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* = object + sType*: VkStructureType + pNext*: pointer + multiviewPerViewRenderAreas*: VkBool32 + + VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* = object + sType*: VkStructureType + pNext*: pointer + perViewRenderAreaCount*: uint32 + pPerViewRenderAreas*: ptr VkRect2D + + VkQueryLowLatencySupportNV* = object + sType*: VkStructureType + pNext*: pointer + pQueriedLowLatencyData*: pointer + + VkMemoryMapInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkMemoryMapFlags + memory*: VkDeviceMemory + offset*: VkDeviceSize + size*: VkDeviceSize + + VkMemoryUnmapInfoKHR* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkMemoryUnmapFlagsKHR + memory*: VkDeviceMemory + + VkPhysicalDeviceShaderObjectFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderObject*: VkBool32 + + VkPhysicalDeviceShaderObjectPropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderBinaryUUID*: array[VK_UUID_SIZE, uint8] + shaderBinaryVersion*: uint32 + + VkShaderCreateInfoEXT* = object + sType*: VkStructureType + pNext*: pointer + flags*: VkShaderCreateFlagsEXT + stage*: VkShaderStageFlagBits + nextStage*: VkShaderStageFlags + codeType*: VkShaderCodeTypeEXT + codeSize*: uint + pCode*: pointer + pName*: cstring + setLayoutCount*: uint32 + pSetLayouts*: ptr VkDescriptorSetLayout + pushConstantRangeCount*: uint32 + pPushConstantRanges*: ptr VkPushConstantRange + pSpecializationInfo*: ptr VkSpecializationInfo + + VkPhysicalDeviceShaderTileImageFeaturesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderTileImageColorReadAccess*: VkBool32 + shaderTileImageDepthReadAccess*: VkBool32 + shaderTileImageStencilReadAccess*: VkBool32 + + VkPhysicalDeviceShaderTileImagePropertiesEXT* = object + sType*: VkStructureType + pNext*: pointer + shaderTileImageCoherentReadAccelerated*: VkBool32 + shaderTileImageReadSampleFromPixelRateInvocation*: VkBool32 + shaderTileImageReadFromHelperInvocation*: VkBool32 + + VkImportScreenBufferInfoQNX* = object + sType*: VkStructureType + pNext*: pointer + buffer*: ptr _screen_buffer + + VkScreenBufferPropertiesQNX* = object + sType*: VkStructureType + pNext*: pointer + allocationSize*: VkDeviceSize + memoryTypeBits*: uint32 + + VkScreenBufferFormatPropertiesQNX* = object + sType*: VkStructureType + pNext*: pointer + format*: VkFormat + externalFormat*: uint64 + screenUsage*: uint64 + formatFeatures*: VkFormatFeatureFlags + samplerYcbcrConversionComponents*: VkComponentMapping + suggestedYcbcrModel*: VkSamplerYcbcrModelConversion + suggestedYcbcrRange*: VkSamplerYcbcrRange + suggestedXChromaOffset*: VkChromaLocation + suggestedYChromaOffset*: VkChromaLocation + + VkExternalFormatQNX* = object + sType*: VkStructureType + pNext*: pointer + externalFormat*: uint64 + + VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX* = object + sType*: VkStructureType + pNext*: pointer + screenBufferImport*: VkBool32 + +# Constructors + +proc newVkOffset2D*(x: int32, y: int32): VkOffset2D = + result.x = x + result.y = y + +proc newVkOffset3D*(x: int32, y: int32, z: int32): VkOffset3D = + result.x = x + result.y = y + result.z = z + +proc newVkExtent2D*(width: uint32, height: uint32): VkExtent2D = + result.width = width + result.height = height + +proc newVkExtent3D*(width: uint32, height: uint32, depth: uint32): VkExtent3D = + result.width = width + result.height = height + result.depth = depth + +proc newVkViewport*(x: float32, y: float32, width: float32, height: float32, minDepth: float32, maxDepth: float32): VkViewport = + result.x = x + result.y = y + result.width = width + result.height = height + result.minDepth = minDepth + result.maxDepth = maxDepth + +proc newVkRect2D*(offset: VkOffset2D, extent: VkExtent2D): VkRect2D = + result.offset = offset + result.extent = extent + +proc newVkClearRect*(rect: VkRect2D, baseArrayLayer: uint32, layerCount: uint32): VkClearRect = + result.rect = rect + result.baseArrayLayer = baseArrayLayer + result.layerCount = layerCount + +proc newVkComponentMapping*(r: VkComponentSwizzle, g: VkComponentSwizzle, b: VkComponentSwizzle, a: VkComponentSwizzle): VkComponentMapping = + result.r = r + result.g = g + result.b = b + result.a = a + +proc newVkPhysicalDeviceProperties*(apiVersion: uint32, driverVersion: uint32, vendorID: uint32, deviceID: uint32, deviceType: VkPhysicalDeviceType, deviceName: array[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, char], pipelineCacheUUID: array[VK_UUID_SIZE, uint8], limits: VkPhysicalDeviceLimits, sparseProperties: VkPhysicalDeviceSparseProperties): VkPhysicalDeviceProperties = + result.apiVersion = apiVersion + result.driverVersion = driverVersion + result.vendorID = vendorID + result.deviceID = deviceID + result.deviceType = deviceType + result.deviceName = deviceName + result.pipelineCacheUUID = pipelineCacheUUID + result.limits = limits + result.sparseProperties = sparseProperties + +proc newVkExtensionProperties*(extensionName: array[VK_MAX_EXTENSION_NAME_SIZE, char], specVersion: uint32): VkExtensionProperties = + result.extensionName = extensionName + result.specVersion = specVersion + +proc newVkLayerProperties*(layerName: array[VK_MAX_EXTENSION_NAME_SIZE, char], specVersion: uint32, implementationVersion: uint32, description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkLayerProperties = + result.layerName = layerName + result.specVersion = specVersion + result.implementationVersion = implementationVersion + result.description = description + +proc newVkApplicationInfo*(sType: VkStructureType = VkStructureTypeApplicationInfo, pNext: pointer = nil, pApplicationName: cstring, applicationVersion: uint32, pEngineName: cstring, engineVersion: uint32, apiVersion: uint32): VkApplicationInfo = + result.sType = sType + result.pNext = pNext + result.pApplicationName = pApplicationName + result.applicationVersion = applicationVersion + result.pEngineName = pEngineName + result.engineVersion = engineVersion + result.apiVersion = apiVersion + +proc newVkAllocationCallbacks*(pUserData: pointer = nil, pfnAllocation: PFN_vkAllocationFunction, pfnReallocation: PFN_vkReallocationFunction, pfnFree: PFN_vkFreeFunction, pfnInternalAllocation: PFN_vkInternalAllocationNotification, pfnInternalFree: PFN_vkInternalFreeNotification): VkAllocationCallbacks = + result.pUserData = pUserData + result.pfnAllocation = pfnAllocation + result.pfnReallocation = pfnReallocation + result.pfnFree = pfnFree + result.pfnInternalAllocation = pfnInternalAllocation + result.pfnInternalFree = pfnInternalFree + +proc newVkDeviceQueueCreateInfo*(sType: VkStructureType = VkStructureTypeDeviceQueueCreateInfo, pNext: pointer = nil, flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags, queueFamilyIndex: uint32, queueCount: uint32, pQueuePriorities: ptr float32): VkDeviceQueueCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.queueFamilyIndex = queueFamilyIndex + result.queueCount = queueCount + result.pQueuePriorities = pQueuePriorities + +proc newVkDeviceCreateInfo*(sType: VkStructureType = VkStructureTypeDeviceCreateInfo, pNext: pointer = nil, flags: VkDeviceCreateFlags = 0.VkDeviceCreateFlags, queueCreateInfoCount: uint32, pQueueCreateInfos: ptr VkDeviceQueueCreateInfo, enabledLayerCount: uint32, ppEnabledLayerNames: cstringArray, enabledExtensionCount: uint32, ppEnabledExtensionNames: cstringArray, pEnabledFeatures: ptr VkPhysicalDeviceFeatures): VkDeviceCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.queueCreateInfoCount = queueCreateInfoCount + result.pQueueCreateInfos = pQueueCreateInfos + result.enabledLayerCount = enabledLayerCount + result.ppEnabledLayerNames = ppEnabledLayerNames + result.enabledExtensionCount = enabledExtensionCount + result.ppEnabledExtensionNames = ppEnabledExtensionNames + result.pEnabledFeatures = pEnabledFeatures + +proc newVkInstanceCreateInfo*(sType: VkStructureType = VkStructureTypeInstanceCreateInfo, pNext: pointer = nil, flags: VkInstanceCreateFlags = 0.VkInstanceCreateFlags, pApplicationInfo: ptr VkApplicationInfo, enabledLayerCount: uint32, ppEnabledLayerNames: cstringArray, enabledExtensionCount: uint32, ppEnabledExtensionNames: cstringArray): VkInstanceCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pApplicationInfo = pApplicationInfo + result.enabledLayerCount = enabledLayerCount + result.ppEnabledLayerNames = ppEnabledLayerNames + result.enabledExtensionCount = enabledExtensionCount + result.ppEnabledExtensionNames = ppEnabledExtensionNames + +proc newVkQueueFamilyProperties*(queueFlags: VkQueueFlags, queueCount: uint32, timestampValidBits: uint32, minImageTransferGranularity: VkExtent3D): VkQueueFamilyProperties = + result.queueFlags = queueFlags + result.queueCount = queueCount + result.timestampValidBits = timestampValidBits + result.minImageTransferGranularity = minImageTransferGranularity + +proc newVkPhysicalDeviceMemoryProperties*(memoryTypeCount: uint32, memoryTypes: array[VK_MAX_MEMORY_TYPES, VkMemoryType], memoryHeapCount: uint32, memoryHeaps: array[VK_MAX_MEMORY_HEAPS, VkMemoryHeap]): VkPhysicalDeviceMemoryProperties = + result.memoryTypeCount = memoryTypeCount + result.memoryTypes = memoryTypes + result.memoryHeapCount = memoryHeapCount + result.memoryHeaps = memoryHeaps + +proc newVkMemoryAllocateInfo*(sType: VkStructureType = VkStructureTypeMemoryAllocateInfo, pNext: pointer = nil, allocationSize: VkDeviceSize, memoryTypeIndex: uint32): VkMemoryAllocateInfo = + result.sType = sType + result.pNext = pNext + result.allocationSize = allocationSize + result.memoryTypeIndex = memoryTypeIndex + +proc newVkMemoryRequirements*(size: VkDeviceSize, alignment: VkDeviceSize, memoryTypeBits: uint32): VkMemoryRequirements = + result.size = size + result.alignment = alignment + result.memoryTypeBits = memoryTypeBits + +proc newVkSparseImageFormatProperties*(aspectMask: VkImageAspectFlags, imageGranularity: VkExtent3D, flags: VkSparseImageFormatFlags = 0.VkSparseImageFormatFlags): VkSparseImageFormatProperties = + result.aspectMask = aspectMask + result.imageGranularity = imageGranularity + result.flags = flags + +proc newVkSparseImageMemoryRequirements*(formatProperties: VkSparseImageFormatProperties, imageMipTailFirstLod: uint32, imageMipTailSize: VkDeviceSize, imageMipTailOffset: VkDeviceSize, imageMipTailStride: VkDeviceSize): VkSparseImageMemoryRequirements = + result.formatProperties = formatProperties + result.imageMipTailFirstLod = imageMipTailFirstLod + result.imageMipTailSize = imageMipTailSize + result.imageMipTailOffset = imageMipTailOffset + result.imageMipTailStride = imageMipTailStride + +proc newVkMemoryType*(propertyFlags: VkMemoryPropertyFlags, heapIndex: uint32): VkMemoryType = + result.propertyFlags = propertyFlags + result.heapIndex = heapIndex + +proc newVkMemoryHeap*(size: VkDeviceSize, flags: VkMemoryHeapFlags = 0.VkMemoryHeapFlags): VkMemoryHeap = + result.size = size + result.flags = flags + +proc newVkMappedMemoryRange*(sType: VkStructureType = VkStructureTypeMappedMemoryRange, pNext: pointer = nil, memory: VkDeviceMemory, offset: VkDeviceSize, size: VkDeviceSize): VkMappedMemoryRange = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.offset = offset + result.size = size + +proc newVkFormatProperties*(linearTilingFeatures: VkFormatFeatureFlags, optimalTilingFeatures: VkFormatFeatureFlags, bufferFeatures: VkFormatFeatureFlags): VkFormatProperties = + result.linearTilingFeatures = linearTilingFeatures + result.optimalTilingFeatures = optimalTilingFeatures + result.bufferFeatures = bufferFeatures + +proc newVkImageFormatProperties*(maxExtent: VkExtent3D, maxMipLevels: uint32, maxArrayLayers: uint32, sampleCounts: VkSampleCountFlags, maxResourceSize: VkDeviceSize): VkImageFormatProperties = + result.maxExtent = maxExtent + result.maxMipLevels = maxMipLevels + result.maxArrayLayers = maxArrayLayers + result.sampleCounts = sampleCounts + result.maxResourceSize = maxResourceSize + +proc newVkDescriptorBufferInfo*(buffer: VkBuffer, offset: VkDeviceSize, range: VkDeviceSize): VkDescriptorBufferInfo = + result.buffer = buffer + result.offset = offset + result.range = range + +proc newVkDescriptorImageInfo*(sampler: VkSampler, imageView: VkImageView, imageLayout: VkImageLayout): VkDescriptorImageInfo = + result.sampler = sampler + result.imageView = imageView + result.imageLayout = imageLayout + +proc newVkWriteDescriptorSet*(sType: VkStructureType = VkStructureTypeWriteDescriptorSet, pNext: pointer = nil, dstSet: VkDescriptorSet, dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32, descriptorType: VkDescriptorType, pImageInfo: ptr VkDescriptorImageInfo, pBufferInfo: ptr ptr VkDescriptorBufferInfo, pTexelBufferView: ptr VkBufferView): VkWriteDescriptorSet = + result.sType = sType + result.pNext = pNext + result.dstSet = dstSet + result.dstBinding = dstBinding + result.dstArrayElement = dstArrayElement + result.descriptorCount = descriptorCount + result.descriptorType = descriptorType + result.pImageInfo = pImageInfo + result.pBufferInfo = pBufferInfo + result.pTexelBufferView = pTexelBufferView + +proc newVkCopyDescriptorSet*(sType: VkStructureType = VkStructureTypeCopyDescriptorSet, pNext: pointer = nil, srcSet: VkDescriptorSet, srcBinding: uint32, srcArrayElement: uint32, dstSet: VkDescriptorSet, dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32): VkCopyDescriptorSet = + result.sType = sType + result.pNext = pNext + result.srcSet = srcSet + result.srcBinding = srcBinding + result.srcArrayElement = srcArrayElement + result.dstSet = dstSet + result.dstBinding = dstBinding + result.dstArrayElement = dstArrayElement + result.descriptorCount = descriptorCount + +proc newVkBufferCreateInfo*(sType: VkStructureType = VkStructureTypeBufferCreateInfo, pNext: pointer = nil, flags: VkBufferCreateFlags = 0.VkBufferCreateFlags, size: VkDeviceSize, usage: VkBufferUsageFlags, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32): VkBufferCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.size = size + result.usage = usage + result.sharingMode = sharingMode + result.queueFamilyIndexCount = queueFamilyIndexCount + result.pQueueFamilyIndices = pQueueFamilyIndices + +proc newVkBufferViewCreateInfo*(sType: VkStructureType = VkStructureTypeBufferViewCreateInfo, pNext: pointer = nil, flags: VkBufferViewCreateFlags = 0.VkBufferViewCreateFlags, buffer: VkBuffer, format: VkFormat, offset: VkDeviceSize, range: VkDeviceSize): VkBufferViewCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.buffer = buffer + result.format = format + result.offset = offset + result.range = range + +proc newVkImageSubresource*(aspectMask: VkImageAspectFlags, mipLevel: uint32, arrayLayer: uint32): VkImageSubresource = + result.aspectMask = aspectMask + result.mipLevel = mipLevel + result.arrayLayer = arrayLayer + +proc newVkImageSubresourceLayers*(aspectMask: VkImageAspectFlags, mipLevel: uint32, baseArrayLayer: uint32, layerCount: uint32): VkImageSubresourceLayers = + result.aspectMask = aspectMask + result.mipLevel = mipLevel + result.baseArrayLayer = baseArrayLayer + result.layerCount = layerCount + +proc newVkImageSubresourceRange*(aspectMask: VkImageAspectFlags, baseMipLevel: uint32, levelCount: uint32, baseArrayLayer: uint32, layerCount: uint32): VkImageSubresourceRange = + result.aspectMask = aspectMask + result.baseMipLevel = baseMipLevel + result.levelCount = levelCount + result.baseArrayLayer = baseArrayLayer + result.layerCount = layerCount + +proc newVkMemoryBarrier*(sType: VkStructureType = VkStructureTypeMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags): VkMemoryBarrier = + result.sType = sType + result.pNext = pNext + result.srcAccessMask = srcAccessMask + result.dstAccessMask = dstAccessMask + +proc newVkBufferMemoryBarrier*(sType: VkStructureType = VkStructureTypeBufferMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, buffer: VkBuffer, offset: VkDeviceSize, size: VkDeviceSize): VkBufferMemoryBarrier = + result.sType = sType + result.pNext = pNext + result.srcAccessMask = srcAccessMask + result.dstAccessMask = dstAccessMask + result.srcQueueFamilyIndex = srcQueueFamilyIndex + result.dstQueueFamilyIndex = dstQueueFamilyIndex + result.buffer = buffer + result.offset = offset + result.size = size + +proc newVkImageMemoryBarrier*(sType: VkStructureType = VkStructureTypeImageMemoryBarrier, pNext: pointer = nil, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, oldLayout: VkImageLayout, newLayout: VkImageLayout, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, image: VkImage, subresourceRange: VkImageSubresourceRange): VkImageMemoryBarrier = + result.sType = sType + result.pNext = pNext + result.srcAccessMask = srcAccessMask + result.dstAccessMask = dstAccessMask + result.oldLayout = oldLayout + result.newLayout = newLayout + result.srcQueueFamilyIndex = srcQueueFamilyIndex + result.dstQueueFamilyIndex = dstQueueFamilyIndex + result.image = image + result.subresourceRange = subresourceRange + +proc newVkImageCreateInfo*(sType: VkStructureType = VkStructureTypeImageCreateInfo, pNext: pointer = nil, flags: VkImageCreateFlags = 0.VkImageCreateFlags, imageType: VkImageType, format: VkFormat, extent: VkExtent3D, mipLevels: uint32, arrayLayers: uint32, samples: VkSampleCountFlagBits, tiling: VkImageTiling, usage: VkImageUsageFlags, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32, initialLayout: VkImageLayout): VkImageCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.imageType = imageType + result.format = format + result.extent = extent + result.mipLevels = mipLevels + result.arrayLayers = arrayLayers + result.samples = samples + result.tiling = tiling + result.usage = usage + result.sharingMode = sharingMode + result.queueFamilyIndexCount = queueFamilyIndexCount + result.pQueueFamilyIndices = pQueueFamilyIndices + result.initialLayout = initialLayout + +proc newVkSubresourceLayout*(offset: VkDeviceSize, size: VkDeviceSize, rowPitch: VkDeviceSize, arrayPitch: VkDeviceSize, depthPitch: VkDeviceSize): VkSubresourceLayout = + result.offset = offset + result.size = size + result.rowPitch = rowPitch + result.arrayPitch = arrayPitch + result.depthPitch = depthPitch + +proc newVkImageViewCreateInfo*(sType: VkStructureType = VkStructureTypeImageViewCreateInfo, pNext: pointer = nil, flags: VkImageViewCreateFlags = 0.VkImageViewCreateFlags, image: VkImage, viewType: VkImageViewType, format: VkFormat, components: VkComponentMapping, subresourceRange: VkImageSubresourceRange): VkImageViewCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.image = image + result.viewType = viewType + result.format = format + result.components = components + result.subresourceRange = subresourceRange + +proc newVkBufferCopy*(srcOffset: VkDeviceSize, dstOffset: VkDeviceSize, size: VkDeviceSize): VkBufferCopy = + result.srcOffset = srcOffset + result.dstOffset = dstOffset + result.size = size + +proc newVkSparseMemoryBind*(resourceOffset: VkDeviceSize, size: VkDeviceSize, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseMemoryBind = + result.resourceOffset = resourceOffset + result.size = size + result.memory = memory + result.memoryOffset = memoryOffset + result.flags = flags + +proc newVkSparseImageMemoryBind*(subresource: VkImageSubresource, offset: VkOffset3D, extent: VkExtent3D, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseImageMemoryBind = + result.subresource = subresource + result.offset = offset + result.extent = extent + result.memory = memory + result.memoryOffset = memoryOffset + result.flags = flags + +proc newVkSparseBufferMemoryBindInfo*(buffer: VkBuffer, bindCount: uint32, pBinds: ptr VkSparseMemoryBind): VkSparseBufferMemoryBindInfo = + result.buffer = buffer + result.bindCount = bindCount + result.pBinds = pBinds + +proc newVkSparseImageOpaqueMemoryBindInfo*(image: VkImage, bindCount: uint32, pBinds: ptr VkSparseMemoryBind): VkSparseImageOpaqueMemoryBindInfo = + result.image = image + result.bindCount = bindCount + result.pBinds = pBinds + +proc newVkSparseImageMemoryBindInfo*(image: VkImage, bindCount: uint32, pBinds: ptr VkSparseImageMemoryBind): VkSparseImageMemoryBindInfo = + result.image = image + result.bindCount = bindCount + result.pBinds = pBinds + +proc newVkBindSparseInfo*(sType: VkStructureType = VkStructureTypeBindSparseInfo, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, bufferBindCount: uint32, pBufferBinds: ptr VkSparseBufferMemoryBindInfo, imageOpaqueBindCount: uint32, pImageOpaqueBinds: ptr VkSparseImageOpaqueMemoryBindInfo, imageBindCount: uint32, pImageBinds: ptr VkSparseImageMemoryBindInfo, signalSemaphoreCount: uint32, pSignalSemaphores: ptr VkSemaphore): VkBindSparseInfo = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreCount = waitSemaphoreCount + result.pWaitSemaphores = pWaitSemaphores + result.bufferBindCount = bufferBindCount + result.pBufferBinds = pBufferBinds + result.imageOpaqueBindCount = imageOpaqueBindCount + result.pImageOpaqueBinds = pImageOpaqueBinds + result.imageBindCount = imageBindCount + result.pImageBinds = pImageBinds + result.signalSemaphoreCount = signalSemaphoreCount + result.pSignalSemaphores = pSignalSemaphores + +proc newVkImageCopy*(srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageCopy = + result.srcSubresource = srcSubresource + result.srcOffset = srcOffset + result.dstSubresource = dstSubresource + result.dstOffset = dstOffset + result.extent = extent + +proc newVkImageBlit*(srcSubresource: VkImageSubresourceLayers, srcOffsets: array[2, VkOffset3D], dstSubresource: VkImageSubresourceLayers, dstOffsets: array[2, VkOffset3D]): VkImageBlit = + result.srcSubresource = srcSubresource + result.srcOffsets = srcOffsets + result.dstSubresource = dstSubresource + result.dstOffsets = dstOffsets + +proc newVkBufferImageCopy*(bufferOffset: VkDeviceSize, bufferRowLength: uint32, bufferImageHeight: uint32, imageSubresource: VkImageSubresourceLayers, imageOffset: VkOffset3D, imageExtent: VkExtent3D): VkBufferImageCopy = + result.bufferOffset = bufferOffset + result.bufferRowLength = bufferRowLength + result.bufferImageHeight = bufferImageHeight + result.imageSubresource = imageSubresource + result.imageOffset = imageOffset + result.imageExtent = imageExtent + +proc newVkCopyMemoryIndirectCommandNV*(srcAddress: VkDeviceAddress, dstAddress: VkDeviceAddress, size: VkDeviceSize): VkCopyMemoryIndirectCommandNV = + result.srcAddress = srcAddress + result.dstAddress = dstAddress + result.size = size + +proc newVkCopyMemoryToImageIndirectCommandNV*(srcAddress: VkDeviceAddress, bufferRowLength: uint32, bufferImageHeight: uint32, imageSubresource: VkImageSubresourceLayers, imageOffset: VkOffset3D, imageExtent: VkExtent3D): VkCopyMemoryToImageIndirectCommandNV = + result.srcAddress = srcAddress + result.bufferRowLength = bufferRowLength + result.bufferImageHeight = bufferImageHeight + result.imageSubresource = imageSubresource + result.imageOffset = imageOffset + result.imageExtent = imageExtent + +proc newVkImageResolve*(srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageResolve = + result.srcSubresource = srcSubresource + result.srcOffset = srcOffset + result.dstSubresource = dstSubresource + result.dstOffset = dstOffset + result.extent = extent + +proc newVkShaderModuleCreateInfo*(sType: VkStructureType = VkStructureTypeShaderModuleCreateInfo, pNext: pointer = nil, flags: VkShaderModuleCreateFlags = 0.VkShaderModuleCreateFlags, codeSize: uint, pCode: ptr uint32): VkShaderModuleCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.codeSize = codeSize + result.pCode = pCode + +proc newVkDescriptorSetLayoutBinding*(binding: uint32, descriptorType: VkDescriptorType, descriptorCount: uint32, stageFlags: VkShaderStageFlags, pImmutableSamplers: ptr VkSampler): VkDescriptorSetLayoutBinding = + result.binding = binding + result.descriptorType = descriptorType + result.descriptorCount = descriptorCount + result.stageFlags = stageFlags + result.pImmutableSamplers = pImmutableSamplers + +proc newVkDescriptorSetLayoutCreateInfo*(sType: VkStructureType = VkStructureTypeDescriptorSetLayoutCreateInfo, pNext: pointer = nil, flags: VkDescriptorSetLayoutCreateFlags = 0.VkDescriptorSetLayoutCreateFlags, bindingCount: uint32, pBindings: ptr VkDescriptorSetLayoutBinding): VkDescriptorSetLayoutCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.bindingCount = bindingCount + result.pBindings = pBindings + +proc newVkDescriptorPoolSize*(`type`: VkDescriptorType, descriptorCount: uint32): VkDescriptorPoolSize = + result.`type` = `type` + result.descriptorCount = descriptorCount + +proc newVkDescriptorPoolCreateInfo*(sType: VkStructureType = VkStructureTypeDescriptorPoolCreateInfo, pNext: pointer = nil, flags: VkDescriptorPoolCreateFlags = 0.VkDescriptorPoolCreateFlags, maxSets: uint32, poolSizeCount: uint32, pPoolSizes: ptr VkDescriptorPoolSize): VkDescriptorPoolCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.maxSets = maxSets + result.poolSizeCount = poolSizeCount + result.pPoolSizes = pPoolSizes + +proc newVkDescriptorSetAllocateInfo*(sType: VkStructureType = VkStructureTypeDescriptorSetAllocateInfo, pNext: pointer = nil, descriptorPool: VkDescriptorPool, descriptorSetCount: uint32, pSetLayouts: ptr VkDescriptorSetLayout): VkDescriptorSetAllocateInfo = + result.sType = sType + result.pNext = pNext + result.descriptorPool = descriptorPool + result.descriptorSetCount = descriptorSetCount + result.pSetLayouts = pSetLayouts + +proc newVkSpecializationMapEntry*(constantID: uint32, offset: uint32, size: uint): VkSpecializationMapEntry = + result.constantID = constantID + result.offset = offset + result.size = size + +proc newVkSpecializationInfo*(mapEntryCount: uint32, pMapEntries: ptr VkSpecializationMapEntry, dataSize: uint, pData: pointer = nil): VkSpecializationInfo = + result.mapEntryCount = mapEntryCount + result.pMapEntries = pMapEntries + result.dataSize = dataSize + result.pData = pData + +proc newVkPipelineShaderStageCreateInfo*(sType: VkStructureType = VkStructureTypePipelineShaderStageCreateInfo, pNext: pointer = nil, flags: VkPipelineShaderStageCreateFlags = 0.VkPipelineShaderStageCreateFlags, stage: VkShaderStageFlagBits, module: VkShaderModule, pName: cstring, pName: cstring, pSpecializationInfo: ptr VkSpecializationInfo): VkPipelineShaderStageCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.stage = stage + result.module = module + result.pName = pName + result.pName = pName + result.pSpecializationInfo = pSpecializationInfo + +proc newVkComputePipelineCreateInfo*(sType: VkStructureType = VkStructureTypeComputePipelineCreateInfo, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stage: VkPipelineShaderStageCreateInfo, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkComputePipelineCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.stage = stage + result.layout = layout + result.basePipelineHandle = basePipelineHandle + result.basePipelineIndex = basePipelineIndex + +proc newVkVertexInputBindingDescription*(binding: uint32, stride: uint32, inputRate: VkVertexInputRate): VkVertexInputBindingDescription = + result.binding = binding + result.stride = stride + result.inputRate = inputRate + +proc newVkVertexInputAttributeDescription*(location: uint32, binding: uint32, format: VkFormat, offset: uint32): VkVertexInputAttributeDescription = + result.location = location + result.binding = binding + result.format = format + result.offset = offset + +proc newVkPipelineVertexInputStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineVertexInputStateCreateInfo, pNext: pointer = nil, flags: VkPipelineVertexInputStateCreateFlags = 0.VkPipelineVertexInputStateCreateFlags, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription, vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription): VkPipelineVertexInputStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.vertexBindingDescriptionCount = vertexBindingDescriptionCount + result.pVertexBindingDescriptions = pVertexBindingDescriptions + result.vertexAttributeDescriptionCount = vertexAttributeDescriptionCount + result.pVertexAttributeDescriptions = pVertexAttributeDescriptions + +proc newVkPipelineInputAssemblyStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineInputAssemblyStateCreateInfo, pNext: pointer = nil, flags: VkPipelineInputAssemblyStateCreateFlags = 0.VkPipelineInputAssemblyStateCreateFlags, topology: VkPrimitiveTopology, primitiveRestartEnable: VkBool32): VkPipelineInputAssemblyStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.topology = topology + result.primitiveRestartEnable = primitiveRestartEnable + +proc newVkPipelineTessellationStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineTessellationStateCreateInfo, pNext: pointer = nil, flags: VkPipelineTessellationStateCreateFlags = 0.VkPipelineTessellationStateCreateFlags, patchControlPoints: uint32): VkPipelineTessellationStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.patchControlPoints = patchControlPoints + +proc newVkPipelineViewportStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineViewportStateCreateInfo, pNext: pointer = nil, flags: VkPipelineViewportStateCreateFlags = 0.VkPipelineViewportStateCreateFlags, viewportCount: uint32, pViewports: ptr VkViewport, scissorCount: uint32, pScissors: ptr VkRect2D): VkPipelineViewportStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.viewportCount = viewportCount + result.pViewports = pViewports + result.scissorCount = scissorCount + result.pScissors = pScissors + +proc newVkPipelineRasterizationStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineRasterizationStateCreateInfo, pNext: pointer = nil, flags: VkPipelineRasterizationStateCreateFlags = 0.VkPipelineRasterizationStateCreateFlags, depthClampEnable: VkBool32, rasterizerDiscardEnable: VkBool32, polygonMode: VkPolygonMode, cullMode: VkCullModeFlags, frontFace: VkFrontFace, depthBiasEnable: VkBool32, depthBiasConstantFactor: float32, depthBiasClamp: float32, depthBiasSlopeFactor: float32, lineWidth: float32): VkPipelineRasterizationStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.depthClampEnable = depthClampEnable + result.rasterizerDiscardEnable = rasterizerDiscardEnable + result.polygonMode = polygonMode + result.cullMode = cullMode + result.frontFace = frontFace + result.depthBiasEnable = depthBiasEnable + result.depthBiasConstantFactor = depthBiasConstantFactor + result.depthBiasClamp = depthBiasClamp + result.depthBiasSlopeFactor = depthBiasSlopeFactor + result.lineWidth = lineWidth + +proc newVkPipelineMultisampleStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineMultisampleStateCreateInfo, pNext: pointer = nil, flags: VkPipelineMultisampleStateCreateFlags = 0.VkPipelineMultisampleStateCreateFlags, rasterizationSamples: VkSampleCountFlagBits, sampleShadingEnable: VkBool32, minSampleShading: float32, pSampleMask: ptr VkSampleMask, alphaToCoverageEnable: VkBool32, alphaToOneEnable: VkBool32): VkPipelineMultisampleStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.rasterizationSamples = rasterizationSamples + result.sampleShadingEnable = sampleShadingEnable + result.minSampleShading = minSampleShading + result.pSampleMask = pSampleMask + result.alphaToCoverageEnable = alphaToCoverageEnable + result.alphaToOneEnable = alphaToOneEnable + +proc newVkPipelineColorBlendAttachmentState*(blendEnable: VkBool32, srcColorBlendFactor: VkBlendFactor, dstColorBlendFactor: VkBlendFactor, colorBlendOp: VkBlendOp, srcAlphaBlendFactor: VkBlendFactor, dstAlphaBlendFactor: VkBlendFactor, alphaBlendOp: VkBlendOp, colorWriteMask: VkColorComponentFlags): VkPipelineColorBlendAttachmentState = + result.blendEnable = blendEnable + result.srcColorBlendFactor = srcColorBlendFactor + result.dstColorBlendFactor = dstColorBlendFactor + result.colorBlendOp = colorBlendOp + result.srcAlphaBlendFactor = srcAlphaBlendFactor + result.dstAlphaBlendFactor = dstAlphaBlendFactor + result.alphaBlendOp = alphaBlendOp + result.colorWriteMask = colorWriteMask + +proc newVkPipelineColorBlendStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineColorBlendStateCreateInfo, pNext: pointer = nil, flags: VkPipelineColorBlendStateCreateFlags = 0.VkPipelineColorBlendStateCreateFlags, logicOpEnable: VkBool32, logicOp: VkLogicOp, attachmentCount: uint32, pAttachments: ptr VkPipelineColorBlendAttachmentState, blendConstants: array[4, float32]): VkPipelineColorBlendStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.logicOpEnable = logicOpEnable + result.logicOp = logicOp + result.attachmentCount = attachmentCount + result.pAttachments = pAttachments + result.blendConstants = blendConstants + +proc newVkPipelineDynamicStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineDynamicStateCreateInfo, pNext: pointer = nil, flags: VkPipelineDynamicStateCreateFlags = 0.VkPipelineDynamicStateCreateFlags, dynamicStateCount: uint32, pDynamicStates: ptr VkDynamicState): VkPipelineDynamicStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.dynamicStateCount = dynamicStateCount + result.pDynamicStates = pDynamicStates + +proc newVkStencilOpState*(failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp, compareMask: uint32, writeMask: uint32, reference: uint32): VkStencilOpState = + result.failOp = failOp + result.passOp = passOp + result.depthFailOp = depthFailOp + result.compareOp = compareOp + result.compareMask = compareMask + result.writeMask = writeMask + result.reference = reference + +proc newVkPipelineDepthStencilStateCreateInfo*(sType: VkStructureType = VkStructureTypePipelineDepthStencilStateCreateInfo, pNext: pointer = nil, flags: VkPipelineDepthStencilStateCreateFlags = 0.VkPipelineDepthStencilStateCreateFlags, depthTestEnable: VkBool32, depthWriteEnable: VkBool32, depthCompareOp: VkCompareOp, depthBoundsTestEnable: VkBool32, stencilTestEnable: VkBool32, front: VkStencilOpState, back: VkStencilOpState, minDepthBounds: float32, maxDepthBounds: float32): VkPipelineDepthStencilStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.depthTestEnable = depthTestEnable + result.depthWriteEnable = depthWriteEnable + result.depthCompareOp = depthCompareOp + result.depthBoundsTestEnable = depthBoundsTestEnable + result.stencilTestEnable = stencilTestEnable + result.front = front + result.back = back + result.minDepthBounds = minDepthBounds + result.maxDepthBounds = maxDepthBounds + +proc newVkGraphicsPipelineCreateInfo*(sType: VkStructureType = VkStructureTypeGraphicsPipelineCreateInfo, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, pStages: ptr VkPipelineShaderStageCreateInfo, pVertexInputState: ptr VkPipelineVertexInputStateCreateInfo, pInputAssemblyState: ptr VkPipelineInputAssemblyStateCreateInfo, pTessellationState: ptr VkPipelineTessellationStateCreateInfo, pViewportState: ptr VkPipelineViewportStateCreateInfo, pRasterizationState: ptr VkPipelineRasterizationStateCreateInfo, pMultisampleState: ptr VkPipelineMultisampleStateCreateInfo, pDepthStencilState: ptr VkPipelineDepthStencilStateCreateInfo, pColorBlendState: ptr VkPipelineColorBlendStateCreateInfo, pDynamicState: ptr VkPipelineDynamicStateCreateInfo, layout: VkPipelineLayout, renderPass: VkRenderPass, subpass: uint32, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkGraphicsPipelineCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.stageCount = stageCount + result.pStages = pStages + result.pStages = pStages + result.pVertexInputState = pVertexInputState + result.pInputAssemblyState = pInputAssemblyState + result.pTessellationState = pTessellationState + result.pViewportState = pViewportState + result.pRasterizationState = pRasterizationState + result.pMultisampleState = pMultisampleState + result.pDepthStencilState = pDepthStencilState + result.pColorBlendState = pColorBlendState + result.pDynamicState = pDynamicState + result.layout = layout + result.renderPass = renderPass + result.subpass = subpass + result.basePipelineHandle = basePipelineHandle + result.basePipelineIndex = basePipelineIndex + +proc newVkPipelineCacheCreateInfo*(sType: VkStructureType = VkStructureTypePipelineCacheCreateInfo, pNext: pointer = nil, flags: VkPipelineCacheCreateFlags = 0.VkPipelineCacheCreateFlags, initialDataSize: uint, initialDataSize: uint, pInitialData: pointer = nil): VkPipelineCacheCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.initialDataSize = initialDataSize + result.initialDataSize = initialDataSize + result.pInitialData = pInitialData + +proc newVkPipelineCacheHeaderVersionOne*(headerSize: uint32, headerVersion: VkPipelineCacheHeaderVersion, vendorID: uint32, deviceID: uint32, pipelineCacheUUID: array[VK_UUID_SIZE, uint8]): VkPipelineCacheHeaderVersionOne = + result.headerSize = headerSize + result.headerVersion = headerVersion + result.vendorID = vendorID + result.deviceID = deviceID + result.pipelineCacheUUID = pipelineCacheUUID + +proc newVkPipelineCacheStageValidationIndexEntry*(codeSize: uint64, codeOffset: uint64): VkPipelineCacheStageValidationIndexEntry = + result.codeSize = codeSize + result.codeOffset = codeOffset + +proc newVkPipelineCacheSafetyCriticalIndexEntry*(pipelineIdentifier: array[VK_UUID_SIZE, uint8], pipelineMemorySize: uint64, jsonSize: uint64, jsonOffset: uint64, stageIndexCount: uint32, stageIndexStride: uint32, stageIndexOffset: uint64): VkPipelineCacheSafetyCriticalIndexEntry = + result.pipelineIdentifier = pipelineIdentifier + result.pipelineMemorySize = pipelineMemorySize + result.jsonSize = jsonSize + result.jsonOffset = jsonOffset + result.stageIndexCount = stageIndexCount + result.stageIndexStride = stageIndexStride + result.stageIndexOffset = stageIndexOffset + +proc newVkPipelineCacheHeaderVersionSafetyCriticalOne*(headerVersionOne: VkPipelineCacheHeaderVersionOne, validationVersion: VkPipelineCacheValidationVersion, implementationData: uint32, pipelineIndexCount: uint32, pipelineIndexStride: uint32, pipelineIndexOffset: uint64): VkPipelineCacheHeaderVersionSafetyCriticalOne = + result.headerVersionOne = headerVersionOne + result.validationVersion = validationVersion + result.implementationData = implementationData + result.pipelineIndexCount = pipelineIndexCount + result.pipelineIndexStride = pipelineIndexStride + result.pipelineIndexOffset = pipelineIndexOffset + +proc newVkPushConstantRange*(stageFlags: VkShaderStageFlags, offset: uint32, size: uint32): VkPushConstantRange = + result.stageFlags = stageFlags + result.offset = offset + result.size = size + +proc newVkPipelineLayoutCreateInfo*(sType: VkStructureType = VkStructureTypePipelineLayoutCreateInfo, pNext: pointer = nil, flags: VkPipelineLayoutCreateFlags = 0.VkPipelineLayoutCreateFlags, setLayoutCount: uint32, pSetLayouts: ptr VkDescriptorSetLayout, pushConstantRangeCount: uint32, pPushConstantRanges: ptr VkPushConstantRange): VkPipelineLayoutCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.setLayoutCount = setLayoutCount + result.pSetLayouts = pSetLayouts + result.pushConstantRangeCount = pushConstantRangeCount + result.pPushConstantRanges = pPushConstantRanges + +proc newVkSamplerCreateInfo*(sType: VkStructureType = VkStructureTypeSamplerCreateInfo, pNext: pointer = nil, flags: VkSamplerCreateFlags = 0.VkSamplerCreateFlags, magFilter: VkFilter, minFilter: VkFilter, mipmapMode: VkSamplerMipmapMode, addressModeU: VkSamplerAddressMode, addressModeV: VkSamplerAddressMode, addressModeW: VkSamplerAddressMode, mipLodBias: float32, anisotropyEnable: VkBool32, maxAnisotropy: float32, compareEnable: VkBool32, compareOp: VkCompareOp, minLod: float32, maxLod: float32, borderColor: VkBorderColor, unnormalizedCoordinates: VkBool32): VkSamplerCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.magFilter = magFilter + result.minFilter = minFilter + result.mipmapMode = mipmapMode + result.addressModeU = addressModeU + result.addressModeV = addressModeV + result.addressModeW = addressModeW + result.mipLodBias = mipLodBias + result.anisotropyEnable = anisotropyEnable + result.maxAnisotropy = maxAnisotropy + result.compareEnable = compareEnable + result.compareOp = compareOp + result.minLod = minLod + result.maxLod = maxLod + result.borderColor = borderColor + result.unnormalizedCoordinates = unnormalizedCoordinates + +proc newVkCommandPoolCreateInfo*(sType: VkStructureType = VkStructureTypeCommandPoolCreateInfo, pNext: pointer = nil, flags: VkCommandPoolCreateFlags = 0.VkCommandPoolCreateFlags, queueFamilyIndex: uint32): VkCommandPoolCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.queueFamilyIndex = queueFamilyIndex + +proc newVkCommandBufferAllocateInfo*(sType: VkStructureType = VkStructureTypeCommandBufferAllocateInfo, pNext: pointer = nil, commandPool: VkCommandPool, level: VkCommandBufferLevel, commandBufferCount: uint32): VkCommandBufferAllocateInfo = + result.sType = sType + result.pNext = pNext + result.commandPool = commandPool + result.level = level + result.commandBufferCount = commandBufferCount + +proc newVkCommandBufferInheritanceInfo*(sType: VkStructureType = VkStructureTypeCommandBufferInheritanceInfo, pNext: pointer = nil, renderPass: VkRenderPass, subpass: uint32, framebuffer: VkFramebuffer, occlusionQueryEnable: VkBool32, queryFlags: VkQueryControlFlags, pipelineStatistics: VkQueryPipelineStatisticFlags): VkCommandBufferInheritanceInfo = + result.sType = sType + result.pNext = pNext + result.renderPass = renderPass + result.subpass = subpass + result.framebuffer = framebuffer + result.occlusionQueryEnable = occlusionQueryEnable + result.queryFlags = queryFlags + result.pipelineStatistics = pipelineStatistics + +proc newVkCommandBufferBeginInfo*(sType: VkStructureType = VkStructureTypeCommandBufferBeginInfo, pNext: pointer = nil, flags: VkCommandBufferUsageFlags = 0.VkCommandBufferUsageFlags, pInheritanceInfo: ptr VkCommandBufferInheritanceInfo): VkCommandBufferBeginInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pInheritanceInfo = pInheritanceInfo + +proc newVkRenderPassBeginInfo*(sType: VkStructureType = VkStructureTypeRenderPassBeginInfo, pNext: pointer = nil, renderPass: VkRenderPass, framebuffer: VkFramebuffer, renderArea: VkRect2D, clearValueCount: uint32, pClearValues: ptr VkClearValue): VkRenderPassBeginInfo = + result.sType = sType + result.pNext = pNext + result.renderPass = renderPass + result.framebuffer = framebuffer + result.renderArea = renderArea + result.clearValueCount = clearValueCount + result.pClearValues = pClearValues + +proc newVkClearDepthStencilValue*(depth: float32, stencil: uint32): VkClearDepthStencilValue = + result.depth = depth + result.stencil = stencil + +proc newVkClearAttachment*(aspectMask: VkImageAspectFlags, colorAttachment: uint32, clearValue: VkClearValue): VkClearAttachment = + result.aspectMask = aspectMask + result.colorAttachment = colorAttachment + result.clearValue = clearValue + +proc newVkAttachmentDescription*(flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags, format: VkFormat, samples: VkSampleCountFlagBits, loadOp: VkAttachmentLoadOp, storeOp: VkAttachmentStoreOp, stencilLoadOp: VkAttachmentLoadOp, stencilStoreOp: VkAttachmentStoreOp, initialLayout: VkImageLayout, finalLayout: VkImageLayout): VkAttachmentDescription = + result.flags = flags + result.format = format + result.samples = samples + result.loadOp = loadOp + result.storeOp = storeOp + result.stencilLoadOp = stencilLoadOp + result.stencilStoreOp = stencilStoreOp + result.initialLayout = initialLayout + result.finalLayout = finalLayout + +proc newVkAttachmentReference*(attachment: uint32, layout: VkImageLayout): VkAttachmentReference = + result.attachment = attachment + result.layout = layout + +proc newVkSubpassDescription*(flags: VkSubpassDescriptionFlags = 0.VkSubpassDescriptionFlags, pipelineBindPoint: VkPipelineBindPoint, inputAttachmentCount: uint32, pInputAttachments: ptr VkAttachmentReference, colorAttachmentCount: uint32, pColorAttachments: ptr VkAttachmentReference, pResolveAttachments: ptr VkAttachmentReference, pDepthStencilAttachment: ptr VkAttachmentReference, preserveAttachmentCount: uint32, pPreserveAttachments: ptr uint32): VkSubpassDescription = + result.flags = flags + result.pipelineBindPoint = pipelineBindPoint + result.inputAttachmentCount = inputAttachmentCount + result.pInputAttachments = pInputAttachments + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachments = pColorAttachments + result.pResolveAttachments = pResolveAttachments + result.pDepthStencilAttachment = pDepthStencilAttachment + result.preserveAttachmentCount = preserveAttachmentCount + result.pPreserveAttachments = pPreserveAttachments + +proc newVkSubpassDependency*(srcSubpass: uint32, dstSubpass: uint32, srcStageMask: VkPipelineStageFlags, dstStageMask: VkPipelineStageFlags, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, dependencyFlags: VkDependencyFlags): VkSubpassDependency = + result.srcSubpass = srcSubpass + result.dstSubpass = dstSubpass + result.srcStageMask = srcStageMask + result.dstStageMask = dstStageMask + result.srcAccessMask = srcAccessMask + result.dstAccessMask = dstAccessMask + result.dependencyFlags = dependencyFlags + +proc newVkRenderPassCreateInfo*(sType: VkStructureType = VkStructureTypeRenderPassCreateInfo, pNext: pointer = nil, flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags, attachmentCount: uint32, pAttachments: ptr VkAttachmentDescription, subpassCount: uint32, pSubpasses: ptr VkSubpassDescription, dependencyCount: uint32, pDependencies: ptr VkSubpassDependency): VkRenderPassCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.attachmentCount = attachmentCount + result.pAttachments = pAttachments + result.subpassCount = subpassCount + result.pSubpasses = pSubpasses + result.dependencyCount = dependencyCount + result.pDependencies = pDependencies + +proc newVkEventCreateInfo*(sType: VkStructureType = VkStructureTypeEventCreateInfo, pNext: pointer = nil, flags: VkEventCreateFlags = 0.VkEventCreateFlags): VkEventCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + +proc newVkFenceCreateInfo*(sType: VkStructureType = VkStructureTypeFenceCreateInfo, pNext: pointer = nil, flags: VkFenceCreateFlags = 0.VkFenceCreateFlags): VkFenceCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + +proc newVkPhysicalDeviceFeatures*(robustBufferAccess: VkBool32, fullDrawIndexUint32: VkBool32, imageCubeArray: VkBool32, independentBlend: VkBool32, geometryShader: VkBool32, tessellationShader: VkBool32, sampleRateShading: VkBool32, dualSrcBlend: VkBool32, logicOp: VkBool32, multiDrawIndirect: VkBool32, drawIndirectFirstInstance: VkBool32, depthClamp: VkBool32, depthBiasClamp: VkBool32, fillModeNonSolid: VkBool32, depthBounds: VkBool32, wideLines: VkBool32, largePoints: VkBool32, alphaToOne: VkBool32, multiViewport: VkBool32, samplerAnisotropy: VkBool32, textureCompressionETC2: VkBool32, textureCompressionASTC_LDR: VkBool32, textureCompressionBC: VkBool32, occlusionQueryPrecise: VkBool32, pipelineStatisticsQuery: VkBool32, vertexPipelineStoresAndAtomics: VkBool32, fragmentStoresAndAtomics: VkBool32, shaderTessellationAndGeometryPointSize: VkBool32, shaderImageGatherExtended: VkBool32, shaderStorageImageExtendedFormats: VkBool32, shaderStorageImageMultisample: VkBool32, shaderStorageImageReadWithoutFormat: VkBool32, shaderStorageImageWriteWithoutFormat: VkBool32, shaderUniformBufferArrayDynamicIndexing: VkBool32, shaderSampledImageArrayDynamicIndexing: VkBool32, shaderStorageBufferArrayDynamicIndexing: VkBool32, shaderStorageImageArrayDynamicIndexing: VkBool32, shaderClipDistance: VkBool32, shaderCullDistance: VkBool32, shaderFloat64: VkBool32, shaderInt64: VkBool32, shaderInt16: VkBool32, shaderResourceResidency: VkBool32, shaderResourceMinLod: VkBool32, sparseBinding: VkBool32, sparseResidencyBuffer: VkBool32, sparseResidencyImage2D: VkBool32, sparseResidencyImage3D: VkBool32, sparseResidency2Samples: VkBool32, sparseResidency4Samples: VkBool32, sparseResidency8Samples: VkBool32, sparseResidency16Samples: VkBool32, sparseResidencyAliased: VkBool32, variableMultisampleRate: VkBool32, inheritedQueries: VkBool32): VkPhysicalDeviceFeatures = + result.robustBufferAccess = robustBufferAccess + result.fullDrawIndexUint32 = fullDrawIndexUint32 + result.imageCubeArray = imageCubeArray + result.independentBlend = independentBlend + result.geometryShader = geometryShader + result.tessellationShader = tessellationShader + result.sampleRateShading = sampleRateShading + result.dualSrcBlend = dualSrcBlend + result.logicOp = logicOp + result.multiDrawIndirect = multiDrawIndirect + result.drawIndirectFirstInstance = drawIndirectFirstInstance + result.depthClamp = depthClamp + result.depthBiasClamp = depthBiasClamp + result.fillModeNonSolid = fillModeNonSolid + result.depthBounds = depthBounds + result.wideLines = wideLines + result.largePoints = largePoints + result.alphaToOne = alphaToOne + result.multiViewport = multiViewport + result.samplerAnisotropy = samplerAnisotropy + result.textureCompressionETC2 = textureCompressionETC2 + result.textureCompressionASTC_LDR = textureCompressionASTC_LDR + result.textureCompressionBC = textureCompressionBC + result.occlusionQueryPrecise = occlusionQueryPrecise + result.pipelineStatisticsQuery = pipelineStatisticsQuery + result.vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics + result.fragmentStoresAndAtomics = fragmentStoresAndAtomics + result.shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize + result.shaderImageGatherExtended = shaderImageGatherExtended + result.shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats + result.shaderStorageImageMultisample = shaderStorageImageMultisample + result.shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat + result.shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat + result.shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing + result.shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing + result.shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing + result.shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing + result.shaderClipDistance = shaderClipDistance + result.shaderCullDistance = shaderCullDistance + result.shaderFloat64 = shaderFloat64 + result.shaderInt64 = shaderInt64 + result.shaderInt16 = shaderInt16 + result.shaderResourceResidency = shaderResourceResidency + result.shaderResourceMinLod = shaderResourceMinLod + result.sparseBinding = sparseBinding + result.sparseResidencyBuffer = sparseResidencyBuffer + result.sparseResidencyImage2D = sparseResidencyImage2D + result.sparseResidencyImage3D = sparseResidencyImage3D + result.sparseResidency2Samples = sparseResidency2Samples + result.sparseResidency4Samples = sparseResidency4Samples + result.sparseResidency8Samples = sparseResidency8Samples + result.sparseResidency16Samples = sparseResidency16Samples + result.sparseResidencyAliased = sparseResidencyAliased + result.variableMultisampleRate = variableMultisampleRate + result.inheritedQueries = inheritedQueries + +proc newVkPhysicalDeviceSparseProperties*(residencyStandard2DBlockShape: VkBool32, residencyStandard2DMultisampleBlockShape: VkBool32, residencyStandard3DBlockShape: VkBool32, residencyAlignedMipSize: VkBool32, residencyNonResidentStrict: VkBool32): VkPhysicalDeviceSparseProperties = + result.residencyStandard2DBlockShape = residencyStandard2DBlockShape + result.residencyStandard2DMultisampleBlockShape = residencyStandard2DMultisampleBlockShape + result.residencyStandard3DBlockShape = residencyStandard3DBlockShape + result.residencyAlignedMipSize = residencyAlignedMipSize + result.residencyNonResidentStrict = residencyNonResidentStrict + +proc newVkPhysicalDeviceLimits*(maxImageDimension1D: uint32, maxImageDimension2D: uint32, maxImageDimension3D: uint32, maxImageDimensionCube: uint32, maxImageArrayLayers: uint32, maxTexelBufferElements: uint32, maxUniformBufferRange: uint32, maxStorageBufferRange: uint32, maxPushConstantsSize: uint32, maxMemoryAllocationCount: uint32, maxSamplerAllocationCount: uint32, bufferImageGranularity: VkDeviceSize, sparseAddressSpaceSize: VkDeviceSize, maxBoundDescriptorSets: uint32, maxPerStageDescriptorSamplers: uint32, maxPerStageDescriptorUniformBuffers: uint32, maxPerStageDescriptorStorageBuffers: uint32, maxPerStageDescriptorSampledImages: uint32, maxPerStageDescriptorStorageImages: uint32, maxPerStageDescriptorInputAttachments: uint32, maxPerStageResources: uint32, maxDescriptorSetSamplers: uint32, maxDescriptorSetUniformBuffers: uint32, maxDescriptorSetUniformBuffersDynamic: uint32, maxDescriptorSetStorageBuffers: uint32, maxDescriptorSetStorageBuffersDynamic: uint32, maxDescriptorSetSampledImages: uint32, maxDescriptorSetStorageImages: uint32, maxDescriptorSetInputAttachments: uint32, maxVertexInputAttributes: uint32, maxVertexInputBindings: uint32, maxVertexInputAttributeOffset: uint32, maxVertexInputBindingStride: uint32, maxVertexOutputComponents: uint32, maxTessellationGenerationLevel: uint32, maxTessellationPatchSize: uint32, maxTessellationControlPerVertexInputComponents: uint32, maxTessellationControlPerVertexOutputComponents: uint32, maxTessellationControlPerPatchOutputComponents: uint32, maxTessellationControlTotalOutputComponents: uint32, maxTessellationEvaluationInputComponents: uint32, maxTessellationEvaluationOutputComponents: uint32, maxGeometryShaderInvocations: uint32, maxGeometryInputComponents: uint32, maxGeometryOutputComponents: uint32, maxGeometryOutputVertices: uint32, maxGeometryTotalOutputComponents: uint32, maxFragmentInputComponents: uint32, maxFragmentOutputAttachments: uint32, maxFragmentDualSrcAttachments: uint32, maxFragmentCombinedOutputResources: uint32, maxComputeSharedMemorySize: uint32, maxComputeWorkGroupCount: array[3, uint32], maxComputeWorkGroupInvocations: uint32, maxComputeWorkGroupSize: array[3, uint32], subPixelPrecisionBits: uint32, subTexelPrecisionBits: uint32, mipmapPrecisionBits: uint32, maxDrawIndexedIndexValue: uint32, maxDrawIndirectCount: uint32, maxSamplerLodBias: float32, maxSamplerAnisotropy: float32, maxViewports: uint32, maxViewportDimensions: array[2, uint32], viewportBoundsRange: array[2, float32], viewportSubPixelBits: uint32, minMemoryMapAlignment: uint, minTexelBufferOffsetAlignment: VkDeviceSize, minUniformBufferOffsetAlignment: VkDeviceSize, minStorageBufferOffsetAlignment: VkDeviceSize, minTexelOffset: int32, maxTexelOffset: uint32, minTexelGatherOffset: int32, maxTexelGatherOffset: uint32, minInterpolationOffset: float32, maxInterpolationOffset: float32, subPixelInterpolationOffsetBits: uint32, maxFramebufferWidth: uint32, maxFramebufferHeight: uint32, maxFramebufferLayers: uint32, framebufferColorSampleCounts: VkSampleCountFlags, framebufferDepthSampleCounts: VkSampleCountFlags, framebufferStencilSampleCounts: VkSampleCountFlags, framebufferNoAttachmentsSampleCounts: VkSampleCountFlags, maxColorAttachments: uint32, sampledImageColorSampleCounts: VkSampleCountFlags, sampledImageIntegerSampleCounts: VkSampleCountFlags, sampledImageDepthSampleCounts: VkSampleCountFlags, sampledImageStencilSampleCounts: VkSampleCountFlags, storageImageSampleCounts: VkSampleCountFlags, maxSampleMaskWords: uint32, timestampComputeAndGraphics: VkBool32, timestampPeriod: float32, maxClipDistances: uint32, maxCullDistances: uint32, maxCombinedClipAndCullDistances: uint32, discreteQueuePriorities: uint32, pointSizeRange: array[2, float32], lineWidthRange: array[2, float32], pointSizeGranularity: float32, lineWidthGranularity: float32, strictLines: VkBool32, standardSampleLocations: VkBool32, optimalBufferCopyOffsetAlignment: VkDeviceSize, optimalBufferCopyRowPitchAlignment: VkDeviceSize, nonCoherentAtomSize: VkDeviceSize): VkPhysicalDeviceLimits = + result.maxImageDimension1D = maxImageDimension1D + result.maxImageDimension2D = maxImageDimension2D + result.maxImageDimension3D = maxImageDimension3D + result.maxImageDimensionCube = maxImageDimensionCube + result.maxImageArrayLayers = maxImageArrayLayers + result.maxTexelBufferElements = maxTexelBufferElements + result.maxUniformBufferRange = maxUniformBufferRange + result.maxStorageBufferRange = maxStorageBufferRange + result.maxPushConstantsSize = maxPushConstantsSize + result.maxMemoryAllocationCount = maxMemoryAllocationCount + result.maxSamplerAllocationCount = maxSamplerAllocationCount + result.bufferImageGranularity = bufferImageGranularity + result.sparseAddressSpaceSize = sparseAddressSpaceSize + result.maxBoundDescriptorSets = maxBoundDescriptorSets + result.maxPerStageDescriptorSamplers = maxPerStageDescriptorSamplers + result.maxPerStageDescriptorUniformBuffers = maxPerStageDescriptorUniformBuffers + result.maxPerStageDescriptorStorageBuffers = maxPerStageDescriptorStorageBuffers + result.maxPerStageDescriptorSampledImages = maxPerStageDescriptorSampledImages + result.maxPerStageDescriptorStorageImages = maxPerStageDescriptorStorageImages + result.maxPerStageDescriptorInputAttachments = maxPerStageDescriptorInputAttachments + result.maxPerStageResources = maxPerStageResources + result.maxDescriptorSetSamplers = maxDescriptorSetSamplers + result.maxDescriptorSetUniformBuffers = maxDescriptorSetUniformBuffers + result.maxDescriptorSetUniformBuffersDynamic = maxDescriptorSetUniformBuffersDynamic + result.maxDescriptorSetStorageBuffers = maxDescriptorSetStorageBuffers + result.maxDescriptorSetStorageBuffersDynamic = maxDescriptorSetStorageBuffersDynamic + result.maxDescriptorSetSampledImages = maxDescriptorSetSampledImages + result.maxDescriptorSetStorageImages = maxDescriptorSetStorageImages + result.maxDescriptorSetInputAttachments = maxDescriptorSetInputAttachments + result.maxVertexInputAttributes = maxVertexInputAttributes + result.maxVertexInputBindings = maxVertexInputBindings + result.maxVertexInputAttributeOffset = maxVertexInputAttributeOffset + result.maxVertexInputBindingStride = maxVertexInputBindingStride + result.maxVertexOutputComponents = maxVertexOutputComponents + result.maxTessellationGenerationLevel = maxTessellationGenerationLevel + result.maxTessellationPatchSize = maxTessellationPatchSize + result.maxTessellationControlPerVertexInputComponents = maxTessellationControlPerVertexInputComponents + result.maxTessellationControlPerVertexOutputComponents = maxTessellationControlPerVertexOutputComponents + result.maxTessellationControlPerPatchOutputComponents = maxTessellationControlPerPatchOutputComponents + result.maxTessellationControlTotalOutputComponents = maxTessellationControlTotalOutputComponents + result.maxTessellationEvaluationInputComponents = maxTessellationEvaluationInputComponents + result.maxTessellationEvaluationOutputComponents = maxTessellationEvaluationOutputComponents + result.maxGeometryShaderInvocations = maxGeometryShaderInvocations + result.maxGeometryInputComponents = maxGeometryInputComponents + result.maxGeometryOutputComponents = maxGeometryOutputComponents + result.maxGeometryOutputVertices = maxGeometryOutputVertices + result.maxGeometryTotalOutputComponents = maxGeometryTotalOutputComponents + result.maxFragmentInputComponents = maxFragmentInputComponents + result.maxFragmentOutputAttachments = maxFragmentOutputAttachments + result.maxFragmentDualSrcAttachments = maxFragmentDualSrcAttachments + result.maxFragmentCombinedOutputResources = maxFragmentCombinedOutputResources + result.maxComputeSharedMemorySize = maxComputeSharedMemorySize + result.maxComputeWorkGroupCount = maxComputeWorkGroupCount + result.maxComputeWorkGroupInvocations = maxComputeWorkGroupInvocations + result.maxComputeWorkGroupSize = maxComputeWorkGroupSize + result.subPixelPrecisionBits = subPixelPrecisionBits + result.subTexelPrecisionBits = subTexelPrecisionBits + result.mipmapPrecisionBits = mipmapPrecisionBits + result.maxDrawIndexedIndexValue = maxDrawIndexedIndexValue + result.maxDrawIndirectCount = maxDrawIndirectCount + result.maxSamplerLodBias = maxSamplerLodBias + result.maxSamplerAnisotropy = maxSamplerAnisotropy + result.maxViewports = maxViewports + result.maxViewportDimensions = maxViewportDimensions + result.viewportBoundsRange = viewportBoundsRange + result.viewportSubPixelBits = viewportSubPixelBits + result.minMemoryMapAlignment = minMemoryMapAlignment + result.minTexelBufferOffsetAlignment = minTexelBufferOffsetAlignment + result.minUniformBufferOffsetAlignment = minUniformBufferOffsetAlignment + result.minStorageBufferOffsetAlignment = minStorageBufferOffsetAlignment + result.minTexelOffset = minTexelOffset + result.maxTexelOffset = maxTexelOffset + result.minTexelGatherOffset = minTexelGatherOffset + result.maxTexelGatherOffset = maxTexelGatherOffset + result.minInterpolationOffset = minInterpolationOffset + result.maxInterpolationOffset = maxInterpolationOffset + result.subPixelInterpolationOffsetBits = subPixelInterpolationOffsetBits + result.maxFramebufferWidth = maxFramebufferWidth + result.maxFramebufferHeight = maxFramebufferHeight + result.maxFramebufferLayers = maxFramebufferLayers + result.framebufferColorSampleCounts = framebufferColorSampleCounts + result.framebufferDepthSampleCounts = framebufferDepthSampleCounts + result.framebufferStencilSampleCounts = framebufferStencilSampleCounts + result.framebufferNoAttachmentsSampleCounts = framebufferNoAttachmentsSampleCounts + result.maxColorAttachments = maxColorAttachments + result.sampledImageColorSampleCounts = sampledImageColorSampleCounts + result.sampledImageIntegerSampleCounts = sampledImageIntegerSampleCounts + result.sampledImageDepthSampleCounts = sampledImageDepthSampleCounts + result.sampledImageStencilSampleCounts = sampledImageStencilSampleCounts + result.storageImageSampleCounts = storageImageSampleCounts + result.maxSampleMaskWords = maxSampleMaskWords + result.timestampComputeAndGraphics = timestampComputeAndGraphics + result.timestampPeriod = timestampPeriod + result.maxClipDistances = maxClipDistances + result.maxCullDistances = maxCullDistances + result.maxCombinedClipAndCullDistances = maxCombinedClipAndCullDistances + result.discreteQueuePriorities = discreteQueuePriorities + result.pointSizeRange = pointSizeRange + result.lineWidthRange = lineWidthRange + result.pointSizeGranularity = pointSizeGranularity + result.lineWidthGranularity = lineWidthGranularity + result.strictLines = strictLines + result.standardSampleLocations = standardSampleLocations + result.optimalBufferCopyOffsetAlignment = optimalBufferCopyOffsetAlignment + result.optimalBufferCopyRowPitchAlignment = optimalBufferCopyRowPitchAlignment + result.nonCoherentAtomSize = nonCoherentAtomSize + +proc newVkSemaphoreCreateInfo*(sType: VkStructureType = VkStructureTypeSemaphoreCreateInfo, pNext: pointer = nil, flags: VkSemaphoreCreateFlags = 0.VkSemaphoreCreateFlags): VkSemaphoreCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + +proc newVkQueryPoolCreateInfo*(sType: VkStructureType = VkStructureTypeQueryPoolCreateInfo, pNext: pointer = nil, flags: VkQueryPoolCreateFlags = 0.VkQueryPoolCreateFlags, queryType: VkQueryType, queryCount: uint32, pipelineStatistics: VkQueryPipelineStatisticFlags): VkQueryPoolCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.queryType = queryType + result.queryCount = queryCount + result.pipelineStatistics = pipelineStatistics + +proc newVkFramebufferCreateInfo*(sType: VkStructureType = VkStructureTypeFramebufferCreateInfo, pNext: pointer = nil, flags: VkFramebufferCreateFlags = 0.VkFramebufferCreateFlags, renderPass: VkRenderPass, attachmentCount: uint32, pAttachments: ptr VkImageView, width: uint32, height: uint32, layers: uint32): VkFramebufferCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.renderPass = renderPass + result.attachmentCount = attachmentCount + result.pAttachments = pAttachments + result.width = width + result.height = height + result.layers = layers + +proc newVkDrawIndirectCommand*(vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): VkDrawIndirectCommand = + result.vertexCount = vertexCount + result.instanceCount = instanceCount + result.firstVertex = firstVertex + result.firstInstance = firstInstance + +proc newVkDrawIndexedIndirectCommand*(indexCount: uint32, instanceCount: uint32, firstIndex: uint32, vertexOffset: int32, firstInstance: uint32): VkDrawIndexedIndirectCommand = + result.indexCount = indexCount + result.instanceCount = instanceCount + result.firstIndex = firstIndex + result.vertexOffset = vertexOffset + result.firstInstance = firstInstance + +proc newVkDispatchIndirectCommand*(x: uint32, y: uint32, z: uint32): VkDispatchIndirectCommand = + result.x = x + result.y = y + result.z = z + +proc newVkMultiDrawInfoEXT*(firstVertex: uint32, vertexCount: uint32): VkMultiDrawInfoEXT = + result.firstVertex = firstVertex + result.vertexCount = vertexCount + +proc newVkMultiDrawIndexedInfoEXT*(firstIndex: uint32, indexCount: uint32, vertexOffset: int32): VkMultiDrawIndexedInfoEXT = + result.firstIndex = firstIndex + result.indexCount = indexCount + result.vertexOffset = vertexOffset + +proc newVkSubmitInfo*(sType: VkStructureType = VkStructureTypeSubmitInfo, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, pWaitDstStageMask: ptr VkPipelineStageFlags, commandBufferCount: uint32, pCommandBuffers: ptr VkCommandBuffer, signalSemaphoreCount: uint32, pSignalSemaphores: ptr VkSemaphore): VkSubmitInfo = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreCount = waitSemaphoreCount + result.pWaitSemaphores = pWaitSemaphores + result.pWaitDstStageMask = pWaitDstStageMask + result.commandBufferCount = commandBufferCount + result.pCommandBuffers = pCommandBuffers + result.signalSemaphoreCount = signalSemaphoreCount + result.pSignalSemaphores = pSignalSemaphores + +proc newVkDisplayPropertiesKHR*(display: VkDisplayKHR, displayName: cstring, physicalDimensions: VkExtent2D, physicalResolution: VkExtent2D, supportedTransforms: VkSurfaceTransformFlagsKHR, planeReorderPossible: VkBool32, persistentContent: VkBool32): VkDisplayPropertiesKHR = + result.display = display + result.displayName = displayName + result.physicalDimensions = physicalDimensions + result.physicalResolution = physicalResolution + result.supportedTransforms = supportedTransforms + result.planeReorderPossible = planeReorderPossible + result.persistentContent = persistentContent + +proc newVkDisplayPlanePropertiesKHR*(currentDisplay: VkDisplayKHR, currentStackIndex: uint32): VkDisplayPlanePropertiesKHR = + result.currentDisplay = currentDisplay + result.currentStackIndex = currentStackIndex + +proc newVkDisplayModeParametersKHR*(visibleRegion: VkExtent2D, refreshRate: uint32): VkDisplayModeParametersKHR = + result.visibleRegion = visibleRegion + result.refreshRate = refreshRate + +proc newVkDisplayModePropertiesKHR*(displayMode: VkDisplayModeKHR, parameters: VkDisplayModeParametersKHR): VkDisplayModePropertiesKHR = + result.displayMode = displayMode + result.parameters = parameters + +proc newVkDisplayModeCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkDisplayModeCreateFlagsKHR = 0.VkDisplayModeCreateFlagsKHR, parameters: VkDisplayModeParametersKHR): VkDisplayModeCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.parameters = parameters + +proc newVkDisplayPlaneCapabilitiesKHR*(supportedAlpha: VkDisplayPlaneAlphaFlagsKHR, minSrcPosition: VkOffset2D, maxSrcPosition: VkOffset2D, minSrcExtent: VkExtent2D, maxSrcExtent: VkExtent2D, minDstPosition: VkOffset2D, maxDstPosition: VkOffset2D, minDstExtent: VkExtent2D, maxDstExtent: VkExtent2D): VkDisplayPlaneCapabilitiesKHR = + result.supportedAlpha = supportedAlpha + result.minSrcPosition = minSrcPosition + result.maxSrcPosition = maxSrcPosition + result.minSrcExtent = minSrcExtent + result.maxSrcExtent = maxSrcExtent + result.minDstPosition = minDstPosition + result.maxDstPosition = maxDstPosition + result.minDstExtent = minDstExtent + result.maxDstExtent = maxDstExtent + +proc newVkDisplaySurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkDisplaySurfaceCreateFlagsKHR = 0.VkDisplaySurfaceCreateFlagsKHR, displayMode: VkDisplayModeKHR, planeIndex: uint32, planeStackIndex: uint32, transform: VkSurfaceTransformFlagBitsKHR, globalAlpha: float32, alphaMode: VkDisplayPlaneAlphaFlagBitsKHR, imageExtent: VkExtent2D): VkDisplaySurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.displayMode = displayMode + result.planeIndex = planeIndex + result.planeStackIndex = planeStackIndex + result.transform = transform + result.globalAlpha = globalAlpha + result.alphaMode = alphaMode + result.imageExtent = imageExtent + +proc newVkDisplayPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, srcRect: VkRect2D, dstRect: VkRect2D, persistent: VkBool32): VkDisplayPresentInfoKHR = + result.sType = sType + result.pNext = pNext + result.srcRect = srcRect + result.dstRect = dstRect + result.persistent = persistent + +proc newVkSurfaceCapabilitiesKHR*(minImageCount: uint32, maxImageCount: uint32, currentExtent: VkExtent2D, minImageExtent: VkExtent2D, maxImageExtent: VkExtent2D, maxImageArrayLayers: uint32, supportedTransforms: VkSurfaceTransformFlagsKHR, currentTransform: VkSurfaceTransformFlagBitsKHR, supportedCompositeAlpha: VkCompositeAlphaFlagsKHR, supportedUsageFlags: VkImageUsageFlags): VkSurfaceCapabilitiesKHR = + result.minImageCount = minImageCount + result.maxImageCount = maxImageCount + result.currentExtent = currentExtent + result.minImageExtent = minImageExtent + result.maxImageExtent = maxImageExtent + result.maxImageArrayLayers = maxImageArrayLayers + result.supportedTransforms = supportedTransforms + result.currentTransform = currentTransform + result.supportedCompositeAlpha = supportedCompositeAlpha + result.supportedUsageFlags = supportedUsageFlags + +proc newVkAndroidSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkAndroidSurfaceCreateFlagsKHR = 0.VkAndroidSurfaceCreateFlagsKHR, window: ptr ANativeWindow): VkAndroidSurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.window = window + +proc newVkViSurfaceCreateInfoNN*(sType: VkStructureType, pNext: pointer = nil, flags: VkViSurfaceCreateFlagsNN = 0.VkViSurfaceCreateFlagsNN, window: pointer = nil): VkViSurfaceCreateInfoNN = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.window = window + +proc newVkWaylandSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkWaylandSurfaceCreateFlagsKHR = 0.VkWaylandSurfaceCreateFlagsKHR, display: ptr wl_display, surface: ptr wl_surface): VkWaylandSurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.display = display + result.surface = surface + +proc newVkWin32SurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkWin32SurfaceCreateFlagsKHR = 0.VkWin32SurfaceCreateFlagsKHR, hinstance: HINSTANCE, hwnd: HWND): VkWin32SurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.hinstance = hinstance + result.hwnd = hwnd + +proc newVkXlibSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkXlibSurfaceCreateFlagsKHR = 0.VkXlibSurfaceCreateFlagsKHR, dpy: ptr Display, window: Window): VkXlibSurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.dpy = dpy + result.window = window + +proc newVkXcbSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkXcbSurfaceCreateFlagsKHR = 0.VkXcbSurfaceCreateFlagsKHR, connection: ptr xcb_connection_t, window: xcb_window_t): VkXcbSurfaceCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.connection = connection + result.window = window + +proc newVkDirectFBSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDirectFBSurfaceCreateFlagsEXT = 0.VkDirectFBSurfaceCreateFlagsEXT, dfb: ptr IDirectFB, surface: ptr IDirectFBSurface): VkDirectFBSurfaceCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.dfb = dfb + result.surface = surface + +proc newVkImagePipeSurfaceCreateInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, flags: VkImagePipeSurfaceCreateFlagsFUCHSIA = 0.VkImagePipeSurfaceCreateFlagsFUCHSIA, imagePipeHandle: zx_handle_t): VkImagePipeSurfaceCreateInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.imagePipeHandle = imagePipeHandle + +proc newVkStreamDescriptorSurfaceCreateInfoGGP*(sType: VkStructureType, pNext: pointer = nil, flags: VkStreamDescriptorSurfaceCreateFlagsGGP = 0.VkStreamDescriptorSurfaceCreateFlagsGGP, streamDescriptor: GgpStreamDescriptor): VkStreamDescriptorSurfaceCreateInfoGGP = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.streamDescriptor = streamDescriptor + +proc newVkScreenSurfaceCreateInfoQNX*(sType: VkStructureType, pNext: pointer = nil, flags: VkScreenSurfaceCreateFlagsQNX = 0.VkScreenSurfaceCreateFlagsQNX, context: ptr _screen_context, window: ptr _screen_window): VkScreenSurfaceCreateInfoQNX = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.context = context + result.window = window + +proc newVkSurfaceFormatKHR*(format: VkFormat, colorSpace: VkColorSpaceKHR): VkSurfaceFormatKHR = + result.format = format + result.colorSpace = colorSpace + +proc newVkSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkSwapchainCreateFlagsKHR = 0.VkSwapchainCreateFlagsKHR, surface: VkSurfaceKHR, minImageCount: uint32, imageFormat: VkFormat, imageColorSpace: VkColorSpaceKHR, imageExtent: VkExtent2D, imageArrayLayers: uint32, imageUsage: VkImageUsageFlags, imageSharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32, preTransform: VkSurfaceTransformFlagBitsKHR, compositeAlpha: VkCompositeAlphaFlagBitsKHR, presentMode: VkPresentModeKHR, clipped: VkBool32, oldSwapchain: VkSwapchainKHR, oldSwapchain: VkSwapchainKHR): VkSwapchainCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.surface = surface + result.minImageCount = minImageCount + result.imageFormat = imageFormat + result.imageColorSpace = imageColorSpace + result.imageExtent = imageExtent + result.imageArrayLayers = imageArrayLayers + result.imageUsage = imageUsage + result.imageSharingMode = imageSharingMode + result.queueFamilyIndexCount = queueFamilyIndexCount + result.pQueueFamilyIndices = pQueueFamilyIndices + result.preTransform = preTransform + result.compositeAlpha = compositeAlpha + result.presentMode = presentMode + result.clipped = clipped + result.oldSwapchain = oldSwapchain + result.oldSwapchain = oldSwapchain + +proc newVkPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, swapchainCount: uint32, pSwapchains: ptr VkSwapchainKHR, pImageIndices: ptr uint32, pResults: ptr VkResult): VkPresentInfoKHR = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreCount = waitSemaphoreCount + result.pWaitSemaphores = pWaitSemaphores + result.swapchainCount = swapchainCount + result.pSwapchains = pSwapchains + result.pImageIndices = pImageIndices + result.pResults = pResults + +proc newVkDebugReportCallbackCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugReportFlagsEXT = 0.VkDebugReportFlagsEXT, pfnCallback: PFN_vkDebugReportCallbackEXT, pUserData: pointer = nil): VkDebugReportCallbackCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pfnCallback = pfnCallback + result.pUserData = pUserData + +proc newVkValidationFlagsEXT*(sType: VkStructureType, pNext: pointer = nil, disabledValidationCheckCount: uint32, pDisabledValidationChecks: ptr VkValidationCheckEXT): VkValidationFlagsEXT = + result.sType = sType + result.pNext = pNext + result.disabledValidationCheckCount = disabledValidationCheckCount + result.pDisabledValidationChecks = pDisabledValidationChecks + +proc newVkValidationFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, enabledValidationFeatureCount: uint32, pEnabledValidationFeatures: ptr VkValidationFeatureEnableEXT, disabledValidationFeatureCount: uint32, pDisabledValidationFeatures: ptr VkValidationFeatureDisableEXT): VkValidationFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.enabledValidationFeatureCount = enabledValidationFeatureCount + result.pEnabledValidationFeatures = pEnabledValidationFeatures + result.disabledValidationFeatureCount = disabledValidationFeatureCount + result.pDisabledValidationFeatures = pDisabledValidationFeatures + +proc newVkApplicationParametersEXT*(sType: VkStructureType, pNext: pointer = nil, vendorID: uint32, deviceID: uint32, key: uint32, value: uint64): VkApplicationParametersEXT = + result.sType = sType + result.pNext = pNext + result.vendorID = vendorID + result.deviceID = deviceID + result.key = key + result.value = value + +proc newVkPipelineRasterizationStateRasterizationOrderAMD*(sType: VkStructureType, pNext: pointer = nil, rasterizationOrder: VkRasterizationOrderAMD): VkPipelineRasterizationStateRasterizationOrderAMD = + result.sType = sType + result.pNext = pNext + result.rasterizationOrder = rasterizationOrder + +proc newVkDebugMarkerObjectNameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkDebugReportObjectTypeEXT, `object`: uint64, pObjectName: cstring): VkDebugMarkerObjectNameInfoEXT = + result.sType = sType + result.pNext = pNext + result.objectType = objectType + result.`object` = `object` + result.pObjectName = pObjectName + +proc newVkDebugMarkerObjectTagInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkDebugReportObjectTypeEXT, `object`: uint64, tagName: uint64, tagSize: uint, pTag: pointer = nil): VkDebugMarkerObjectTagInfoEXT = + result.sType = sType + result.pNext = pNext + result.objectType = objectType + result.`object` = `object` + result.tagName = tagName + result.tagSize = tagSize + result.pTag = pTag + +proc newVkDebugMarkerMarkerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pMarkerName: cstring, color: array[4, float32]): VkDebugMarkerMarkerInfoEXT = + result.sType = sType + result.pNext = pNext + result.pMarkerName = pMarkerName + result.color = color + +proc newVkDedicatedAllocationImageCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocation: VkBool32): VkDedicatedAllocationImageCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.dedicatedAllocation = dedicatedAllocation + +proc newVkDedicatedAllocationBufferCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocation: VkBool32): VkDedicatedAllocationBufferCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.dedicatedAllocation = dedicatedAllocation + +proc newVkDedicatedAllocationMemoryAllocateInfoNV*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, buffer: VkBuffer): VkDedicatedAllocationMemoryAllocateInfoNV = + result.sType = sType + result.pNext = pNext + result.image = image + result.buffer = buffer + +proc newVkExternalImageFormatPropertiesNV*(imageFormatProperties: VkImageFormatProperties, externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV, exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV, compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalImageFormatPropertiesNV = + result.imageFormatProperties = imageFormatProperties + result.externalMemoryFeatures = externalMemoryFeatures + result.exportFromImportedHandleTypes = exportFromImportedHandleTypes + result.compatibleHandleTypes = compatibleHandleTypes + +proc newVkExternalMemoryImageCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalMemoryImageCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkExportMemoryAllocateInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExportMemoryAllocateInfoNV = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkImportMemoryWin32HandleInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagsNV, handle: HANDLE): VkImportMemoryWin32HandleInfoNV = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.handle = handle + +proc newVkExportMemoryWin32HandleInfoNV*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD): VkExportMemoryWin32HandleInfoNV = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + result.dwAccess = dwAccess + +proc newVkExportMemorySciBufInfoNV*(sType: VkStructureType, pNext: pointer = nil, pAttributes: NvSciBufAttrList): VkExportMemorySciBufInfoNV = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + +proc newVkImportMemorySciBufInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, handle: NvSciBufObj): VkImportMemorySciBufInfoNV = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.handle = handle + +proc newVkMemoryGetSciBufInfoNV*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetSciBufInfoNV = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.handleType = handleType + +proc newVkMemorySciBufPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemorySciBufPropertiesNV = + result.sType = sType + result.pNext = pNext + result.memoryTypeBits = memoryTypeBits + +proc newVkPhysicalDeviceExternalMemorySciBufFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, sciBufImport: VkBool32, sciBufExport: VkBool32): VkPhysicalDeviceExternalMemorySciBufFeaturesNV = + result.sType = sType + result.pNext = pNext + result.sciBufImport = sciBufImport + result.sciBufExport = sciBufExport + +proc newVkWin32KeyedMutexAcquireReleaseInfoNV*(sType: VkStructureType, pNext: pointer = nil, acquireCount: uint32, pAcquireSyncs: ptr VkDeviceMemory, pAcquireKeys: ptr uint64, pAcquireTimeoutMilliseconds: ptr uint32, releaseCount: uint32, pReleaseSyncs: ptr VkDeviceMemory, pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoNV = + result.sType = sType + result.pNext = pNext + result.acquireCount = acquireCount + result.pAcquireSyncs = pAcquireSyncs + result.pAcquireKeys = pAcquireKeys + result.pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds + result.releaseCount = releaseCount + result.pReleaseSyncs = pReleaseSyncs + result.pReleaseKeys = pReleaseKeys + +proc newVkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, deviceGeneratedCommands: VkBool32): VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = + result.sType = sType + result.pNext = pNext + result.deviceGeneratedCommands = deviceGeneratedCommands + +proc newVkDevicePrivateDataCreateInfo*(sType: VkStructureType, pNext: pointer = nil, privateDataSlotRequestCount: uint32): VkDevicePrivateDataCreateInfo = + result.sType = sType + result.pNext = pNext + result.privateDataSlotRequestCount = privateDataSlotRequestCount + +proc newVkPrivateDataSlotCreateInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkPrivateDataSlotCreateFlags = 0.VkPrivateDataSlotCreateFlags): VkPrivateDataSlotCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + +proc newVkPhysicalDevicePrivateDataFeatures*(sType: VkStructureType, pNext: pointer = nil, privateData: VkBool32): VkPhysicalDevicePrivateDataFeatures = + result.sType = sType + result.pNext = pNext + result.privateData = privateData + +proc newVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxGraphicsShaderGroupCount: uint32, maxIndirectSequenceCount: uint32, maxIndirectCommandsTokenCount: uint32, maxIndirectCommandsStreamCount: uint32, maxIndirectCommandsTokenOffset: uint32, maxIndirectCommandsStreamStride: uint32, minSequencesCountBufferOffsetAlignment: uint32, minSequencesIndexBufferOffsetAlignment: uint32, minIndirectCommandsBufferOffsetAlignment: uint32): VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = + result.sType = sType + result.pNext = pNext + result.maxGraphicsShaderGroupCount = maxGraphicsShaderGroupCount + result.maxIndirectSequenceCount = maxIndirectSequenceCount + result.maxIndirectCommandsTokenCount = maxIndirectCommandsTokenCount + result.maxIndirectCommandsStreamCount = maxIndirectCommandsStreamCount + result.maxIndirectCommandsTokenOffset = maxIndirectCommandsTokenOffset + result.maxIndirectCommandsStreamStride = maxIndirectCommandsStreamStride + result.minSequencesCountBufferOffsetAlignment = minSequencesCountBufferOffsetAlignment + result.minSequencesIndexBufferOffsetAlignment = minSequencesIndexBufferOffsetAlignment + result.minIndirectCommandsBufferOffsetAlignment = minIndirectCommandsBufferOffsetAlignment + +proc newVkPhysicalDeviceMultiDrawPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxMultiDrawCount: uint32): VkPhysicalDeviceMultiDrawPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxMultiDrawCount = maxMultiDrawCount + +proc newVkGraphicsShaderGroupCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, pVertexInputState: ptr VkPipelineVertexInputStateCreateInfo, pTessellationState: ptr VkPipelineTessellationStateCreateInfo): VkGraphicsShaderGroupCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.stageCount = stageCount + result.pStages = pStages + result.pVertexInputState = pVertexInputState + result.pTessellationState = pTessellationState + +proc newVkGraphicsPipelineShaderGroupsCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, groupCount: uint32, pGroups: ptr VkGraphicsShaderGroupCreateInfoNV, pipelineCount: uint32, pPipelines: ptr VkPipeline): VkGraphicsPipelineShaderGroupsCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.groupCount = groupCount + result.pGroups = pGroups + result.pipelineCount = pipelineCount + result.pPipelines = pPipelines + +proc newVkBindShaderGroupIndirectCommandNV*(groupIndex: uint32): VkBindShaderGroupIndirectCommandNV = + result.groupIndex = groupIndex + +proc newVkBindIndexBufferIndirectCommandNV*(bufferAddress: VkDeviceAddress, size: uint32, indexType: VkIndexType): VkBindIndexBufferIndirectCommandNV = + result.bufferAddress = bufferAddress + result.size = size + result.indexType = indexType + +proc newVkBindVertexBufferIndirectCommandNV*(bufferAddress: VkDeviceAddress, size: uint32, stride: uint32): VkBindVertexBufferIndirectCommandNV = + result.bufferAddress = bufferAddress + result.size = size + result.stride = stride + +proc newVkSetStateFlagsIndirectCommandNV*(data: uint32): VkSetStateFlagsIndirectCommandNV = + result.data = data + +proc newVkIndirectCommandsStreamNV*(buffer: VkBuffer, offset: VkDeviceSize): VkIndirectCommandsStreamNV = + result.buffer = buffer + result.offset = offset + +proc newVkIndirectCommandsLayoutTokenNV*(sType: VkStructureType, pNext: pointer = nil, tokenType: VkIndirectCommandsTokenTypeNV, stream: uint32, offset: uint32, vertexBindingUnit: uint32, vertexDynamicStride: VkBool32, pushconstantPipelineLayout: VkPipelineLayout, pushconstantShaderStageFlags: VkShaderStageFlags, pushconstantOffset: uint32, pushconstantSize: uint32, indirectStateFlags: VkIndirectStateFlagsNV, indexTypeCount: uint32, pIndexTypes: ptr VkIndexType, pIndexTypeValues: ptr uint32): VkIndirectCommandsLayoutTokenNV = + result.sType = sType + result.pNext = pNext + result.tokenType = tokenType + result.stream = stream + result.offset = offset + result.vertexBindingUnit = vertexBindingUnit + result.vertexDynamicStride = vertexDynamicStride + result.pushconstantPipelineLayout = pushconstantPipelineLayout + result.pushconstantShaderStageFlags = pushconstantShaderStageFlags + result.pushconstantOffset = pushconstantOffset + result.pushconstantSize = pushconstantSize + result.indirectStateFlags = indirectStateFlags + result.indexTypeCount = indexTypeCount + result.pIndexTypes = pIndexTypes + result.pIndexTypeValues = pIndexTypeValues + +proc newVkIndirectCommandsLayoutCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkIndirectCommandsLayoutUsageFlagsNV = 0.VkIndirectCommandsLayoutUsageFlagsNV, pipelineBindPoint: VkPipelineBindPoint, tokenCount: uint32, pTokens: ptr VkIndirectCommandsLayoutTokenNV, streamCount: uint32, pStreamStrides: ptr uint32): VkIndirectCommandsLayoutCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pipelineBindPoint = pipelineBindPoint + result.tokenCount = tokenCount + result.pTokens = pTokens + result.streamCount = streamCount + result.pStreamStrides = pStreamStrides + +proc newVkGeneratedCommandsInfoNV*(sType: VkStructureType, pNext: pointer = nil, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, indirectCommandsLayout: VkIndirectCommandsLayoutNV, streamCount: uint32, pStreams: ptr VkIndirectCommandsStreamNV, sequencesCount: uint32, preprocessBuffer: VkBuffer, preprocessOffset: VkDeviceSize, preprocessSize: VkDeviceSize, sequencesCountBuffer: VkBuffer, sequencesCountOffset: VkDeviceSize, sequencesIndexBuffer: VkBuffer, sequencesIndexOffset: VkDeviceSize): VkGeneratedCommandsInfoNV = + result.sType = sType + result.pNext = pNext + result.pipelineBindPoint = pipelineBindPoint + result.pipeline = pipeline + result.indirectCommandsLayout = indirectCommandsLayout + result.streamCount = streamCount + result.pStreams = pStreams + result.sequencesCount = sequencesCount + result.preprocessBuffer = preprocessBuffer + result.preprocessOffset = preprocessOffset + result.preprocessSize = preprocessSize + result.sequencesCountBuffer = sequencesCountBuffer + result.sequencesCountOffset = sequencesCountOffset + result.sequencesIndexBuffer = sequencesIndexBuffer + result.sequencesIndexOffset = sequencesIndexOffset + +proc newVkGeneratedCommandsMemoryRequirementsInfoNV*(sType: VkStructureType, pNext: pointer = nil, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, indirectCommandsLayout: VkIndirectCommandsLayoutNV, maxSequencesCount: uint32): VkGeneratedCommandsMemoryRequirementsInfoNV = + result.sType = sType + result.pNext = pNext + result.pipelineBindPoint = pipelineBindPoint + result.pipeline = pipeline + result.indirectCommandsLayout = indirectCommandsLayout + result.maxSequencesCount = maxSequencesCount + +proc newVkPhysicalDeviceFeatures2*(sType: VkStructureType, pNext: pointer = nil, features: VkPhysicalDeviceFeatures): VkPhysicalDeviceFeatures2 = + result.sType = sType + result.pNext = pNext + result.features = features + +proc newVkPhysicalDeviceProperties2*(sType: VkStructureType, pNext: pointer = nil, properties: VkPhysicalDeviceProperties): VkPhysicalDeviceProperties2 = + result.sType = sType + result.pNext = pNext + result.properties = properties + +proc newVkFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, formatProperties: VkFormatProperties): VkFormatProperties2 = + result.sType = sType + result.pNext = pNext + result.formatProperties = formatProperties + +proc newVkImageFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, imageFormatProperties: VkImageFormatProperties): VkImageFormatProperties2 = + result.sType = sType + result.pNext = pNext + result.imageFormatProperties = imageFormatProperties + +proc newVkPhysicalDeviceImageFormatInfo2*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, `type`: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags = 0.VkImageCreateFlags): VkPhysicalDeviceImageFormatInfo2 = + result.sType = sType + result.pNext = pNext + result.format = format + result.`type` = `type` + result.tiling = tiling + result.usage = usage + result.flags = flags + +proc newVkQueueFamilyProperties2*(sType: VkStructureType, pNext: pointer = nil, queueFamilyProperties: VkQueueFamilyProperties): VkQueueFamilyProperties2 = + result.sType = sType + result.pNext = pNext + result.queueFamilyProperties = queueFamilyProperties + +proc newVkPhysicalDeviceMemoryProperties2*(sType: VkStructureType, pNext: pointer = nil, memoryProperties: VkPhysicalDeviceMemoryProperties): VkPhysicalDeviceMemoryProperties2 = + result.sType = sType + result.pNext = pNext + result.memoryProperties = memoryProperties + +proc newVkSparseImageFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, properties: VkSparseImageFormatProperties): VkSparseImageFormatProperties2 = + result.sType = sType + result.pNext = pNext + result.properties = properties + +proc newVkPhysicalDeviceSparseImageFormatInfo2*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, `type`: VkImageType, samples: VkSampleCountFlagBits, usage: VkImageUsageFlags, tiling: VkImageTiling): VkPhysicalDeviceSparseImageFormatInfo2 = + result.sType = sType + result.pNext = pNext + result.format = format + result.`type` = `type` + result.samples = samples + result.usage = usage + result.tiling = tiling + +proc newVkPhysicalDevicePushDescriptorPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, maxPushDescriptors: uint32): VkPhysicalDevicePushDescriptorPropertiesKHR = + result.sType = sType + result.pNext = pNext + result.maxPushDescriptors = maxPushDescriptors + +proc newVkConformanceVersion*(major: uint8, minor: uint8, subminor: uint8, patch: uint8): VkConformanceVersion = + result.major = major + result.minor = minor + result.subminor = subminor + result.patch = patch + +proc newVkPhysicalDeviceDriverProperties*(sType: VkStructureType, pNext: pointer = nil, driverID: VkDriverId, driverName: array[VK_MAX_DRIVER_NAME_SIZE, char], driverInfo: array[VK_MAX_DRIVER_INFO_SIZE, char], conformanceVersion: VkConformanceVersion): VkPhysicalDeviceDriverProperties = + result.sType = sType + result.pNext = pNext + result.driverID = driverID + result.driverName = driverName + result.driverInfo = driverInfo + result.conformanceVersion = conformanceVersion + +proc newVkPresentRegionsKHR*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pRegions: ptr VkPresentRegionKHR): VkPresentRegionsKHR = + result.sType = sType + result.pNext = pNext + result.swapchainCount = swapchainCount + result.pRegions = pRegions + +proc newVkPresentRegionKHR*(rectangleCount: uint32, pRectangles: ptr VkRectLayerKHR): VkPresentRegionKHR = + result.rectangleCount = rectangleCount + result.pRectangles = pRectangles + +proc newVkRectLayerKHR*(offset: VkOffset2D, extent: VkExtent2D, layer: uint32): VkRectLayerKHR = + result.offset = offset + result.extent = extent + result.layer = layer + +proc newVkPhysicalDeviceVariablePointersFeatures*(sType: VkStructureType, pNext: pointer = nil, variablePointersStorageBuffer: VkBool32, variablePointers: VkBool32): VkPhysicalDeviceVariablePointersFeatures = + result.sType = sType + result.pNext = pNext + result.variablePointersStorageBuffer = variablePointersStorageBuffer + result.variablePointers = variablePointers + +proc newVkExternalMemoryProperties*(externalMemoryFeatures: VkExternalMemoryFeatureFlags, exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags, compatibleHandleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryProperties = + result.externalMemoryFeatures = externalMemoryFeatures + result.exportFromImportedHandleTypes = exportFromImportedHandleTypes + result.compatibleHandleTypes = compatibleHandleTypes + +proc newVkPhysicalDeviceExternalImageFormatInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalImageFormatInfo = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + +proc newVkExternalImageFormatProperties*(sType: VkStructureType, pNext: pointer = nil, externalMemoryProperties: VkExternalMemoryProperties): VkExternalImageFormatProperties = + result.sType = sType + result.pNext = pNext + result.externalMemoryProperties = externalMemoryProperties + +proc newVkPhysicalDeviceExternalBufferInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkBufferCreateFlags = 0.VkBufferCreateFlags, usage: VkBufferUsageFlags, handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalBufferInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.usage = usage + result.handleType = handleType + +proc newVkExternalBufferProperties*(sType: VkStructureType, pNext: pointer = nil, externalMemoryProperties: VkExternalMemoryProperties): VkExternalBufferProperties = + result.sType = sType + result.pNext = pNext + result.externalMemoryProperties = externalMemoryProperties + +proc newVkPhysicalDeviceIDProperties*(sType: VkStructureType, pNext: pointer = nil, deviceUUID: array[VK_UUID_SIZE, uint8], driverUUID: array[VK_UUID_SIZE, uint8], deviceLUID: array[VK_LUID_SIZE, uint8], deviceNodeMask: uint32, deviceLUIDValid: VkBool32): VkPhysicalDeviceIDProperties = + result.sType = sType + result.pNext = pNext + result.deviceUUID = deviceUUID + result.driverUUID = driverUUID + result.deviceLUID = deviceLUID + result.deviceNodeMask = deviceNodeMask + result.deviceLUIDValid = deviceLUIDValid + +proc newVkExternalMemoryImageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryImageCreateInfo = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkExternalMemoryBufferCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryBufferCreateInfo = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkExportMemoryAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExportMemoryAllocateInfo = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkImportMemoryWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportMemoryWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.handle = handle + result.name = name + +proc newVkExportMemoryWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportMemoryWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + result.dwAccess = dwAccess + result.name = name + +proc newVkImportMemoryZirconHandleInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, handle: zx_handle_t): VkImportMemoryZirconHandleInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.handle = handle + +proc newVkMemoryZirconHandlePropertiesFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryZirconHandlePropertiesFUCHSIA = + result.sType = sType + result.pNext = pNext + result.memoryTypeBits = memoryTypeBits + +proc newVkMemoryGetZirconHandleInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetZirconHandleInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.handleType = handleType + +proc newVkMemoryWin32HandlePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryWin32HandlePropertiesKHR = + result.sType = sType + result.pNext = pNext + result.memoryTypeBits = memoryTypeBits + +proc newVkMemoryGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.handleType = handleType + +proc newVkImportMemoryFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, fd: int): VkImportMemoryFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.fd = fd + +proc newVkMemoryFdPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryFdPropertiesKHR = + result.sType = sType + result.pNext = pNext + result.memoryTypeBits = memoryTypeBits + +proc newVkMemoryGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.handleType = handleType + +proc newVkWin32KeyedMutexAcquireReleaseInfoKHR*(sType: VkStructureType, pNext: pointer = nil, acquireCount: uint32, pAcquireSyncs: ptr VkDeviceMemory, pAcquireKeys: ptr uint64, pAcquireTimeouts: ptr uint32, releaseCount: uint32, pReleaseSyncs: ptr VkDeviceMemory, pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoKHR = + result.sType = sType + result.pNext = pNext + result.acquireCount = acquireCount + result.pAcquireSyncs = pAcquireSyncs + result.pAcquireKeys = pAcquireKeys + result.pAcquireTimeouts = pAcquireTimeouts + result.releaseCount = releaseCount + result.pReleaseSyncs = pReleaseSyncs + result.pReleaseKeys = pReleaseKeys + +proc newVkPhysicalDeviceExternalSemaphoreInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkPhysicalDeviceExternalSemaphoreInfo = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + +proc newVkExternalSemaphoreProperties*(sType: VkStructureType, pNext: pointer = nil, exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags, compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags, externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags): VkExternalSemaphoreProperties = + result.sType = sType + result.pNext = pNext + result.exportFromImportedHandleTypes = exportFromImportedHandleTypes + result.compatibleHandleTypes = compatibleHandleTypes + result.externalSemaphoreFeatures = externalSemaphoreFeatures + +proc newVkExportSemaphoreCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalSemaphoreHandleTypeFlags): VkExportSemaphoreCreateInfo = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkImportSemaphoreWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags, handleType: VkExternalSemaphoreHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportSemaphoreWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.flags = flags + result.handleType = handleType + result.handle = handle + result.name = name + +proc newVkExportSemaphoreWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportSemaphoreWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + result.dwAccess = dwAccess + result.name = name + +proc newVkD3D12FenceSubmitInfoKHR*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreValuesCount: uint32, pWaitSemaphoreValues: ptr uint64, signalSemaphoreValuesCount: uint32, pSignalSemaphoreValues: ptr uint64): VkD3D12FenceSubmitInfoKHR = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreValuesCount = waitSemaphoreValuesCount + result.pWaitSemaphoreValues = pWaitSemaphoreValues + result.signalSemaphoreValuesCount = signalSemaphoreValuesCount + result.pSignalSemaphoreValues = pSignalSemaphoreValues + +proc newVkSemaphoreGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.handleType = handleType + +proc newVkImportSemaphoreFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags, handleType: VkExternalSemaphoreHandleTypeFlagBits, fd: int): VkImportSemaphoreFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.flags = flags + result.handleType = handleType + result.fd = fd + +proc newVkSemaphoreGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.handleType = handleType + +proc newVkImportSemaphoreZirconHandleInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags, handleType: VkExternalSemaphoreHandleTypeFlagBits, zirconHandle: zx_handle_t): VkImportSemaphoreZirconHandleInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.flags = flags + result.handleType = handleType + result.zirconHandle = zirconHandle + +proc newVkSemaphoreGetZirconHandleInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetZirconHandleInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.handleType = handleType + +proc newVkPhysicalDeviceExternalFenceInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalFenceHandleTypeFlagBits): VkPhysicalDeviceExternalFenceInfo = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + +proc newVkExternalFenceProperties*(sType: VkStructureType, pNext: pointer = nil, exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags, compatibleHandleTypes: VkExternalFenceHandleTypeFlags, externalFenceFeatures: VkExternalFenceFeatureFlags): VkExternalFenceProperties = + result.sType = sType + result.pNext = pNext + result.exportFromImportedHandleTypes = exportFromImportedHandleTypes + result.compatibleHandleTypes = compatibleHandleTypes + result.externalFenceFeatures = externalFenceFeatures + +proc newVkExportFenceCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalFenceHandleTypeFlags): VkExportFenceCreateInfo = + result.sType = sType + result.pNext = pNext + result.handleTypes = handleTypes + +proc newVkImportFenceWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, flags: VkFenceImportFlags = 0.VkFenceImportFlags, handleType: VkExternalFenceHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportFenceWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.flags = flags + result.handleType = handleType + result.handle = handle + result.name = name + +proc newVkExportFenceWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportFenceWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + result.dwAccess = dwAccess + result.name = name + +proc newVkFenceGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetWin32HandleInfoKHR = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.handleType = handleType + +proc newVkImportFenceFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, flags: VkFenceImportFlags = 0.VkFenceImportFlags, handleType: VkExternalFenceHandleTypeFlagBits, fd: int): VkImportFenceFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.flags = flags + result.handleType = handleType + result.fd = fd + +proc newVkFenceGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetFdInfoKHR = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.handleType = handleType + +proc newVkExportFenceSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, pAttributes: NvSciSyncAttrList): VkExportFenceSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + +proc newVkImportFenceSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits, handle: pointer = nil): VkImportFenceSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.handleType = handleType + result.handle = handle + +proc newVkFenceGetSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.fence = fence + result.handleType = handleType + +proc newVkExportSemaphoreSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, pAttributes: NvSciSyncAttrList): VkExportSemaphoreSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.pAttributes = pAttributes + +proc newVkImportSemaphoreSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits, handle: pointer = nil): VkImportSemaphoreSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.handleType = handleType + result.handle = handle + +proc newVkSemaphoreGetSciSyncInfoNV*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetSciSyncInfoNV = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.handleType = handleType + +proc newVkSciSyncAttributesInfoNV*(sType: VkStructureType, pNext: pointer = nil, clientType: VkSciSyncClientTypeNV, primitiveType: VkSciSyncPrimitiveTypeNV): VkSciSyncAttributesInfoNV = + result.sType = sType + result.pNext = pNext + result.clientType = clientType + result.primitiveType = primitiveType + +proc newVkPhysicalDeviceExternalSciSyncFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, sciSyncFence: VkBool32, sciSyncSemaphore: VkBool32, sciSyncImport: VkBool32, sciSyncExport: VkBool32): VkPhysicalDeviceExternalSciSyncFeaturesNV = + result.sType = sType + result.pNext = pNext + result.sciSyncFence = sciSyncFence + result.sciSyncSemaphore = sciSyncSemaphore + result.sciSyncImport = sciSyncImport + result.sciSyncExport = sciSyncExport + +proc newVkPhysicalDeviceExternalSciSync2FeaturesNV*(sType: VkStructureType, pNext: pointer = nil, sciSyncFence: VkBool32, sciSyncSemaphore2: VkBool32, sciSyncImport: VkBool32, sciSyncExport: VkBool32): VkPhysicalDeviceExternalSciSync2FeaturesNV = + result.sType = sType + result.pNext = pNext + result.sciSyncFence = sciSyncFence + result.sciSyncSemaphore2 = sciSyncSemaphore2 + result.sciSyncImport = sciSyncImport + result.sciSyncExport = sciSyncExport + +proc newVkSemaphoreSciSyncPoolCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, handle: NvSciSyncObj): VkSemaphoreSciSyncPoolCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.handle = handle + +proc newVkSemaphoreSciSyncCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, semaphorePool: VkSemaphoreSciSyncPoolNV, pFence: ptr NvSciSyncFence): VkSemaphoreSciSyncCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.semaphorePool = semaphorePool + result.pFence = pFence + +proc newVkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, semaphoreSciSyncPoolRequestCount: uint32): VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.semaphoreSciSyncPoolRequestCount = semaphoreSciSyncPoolRequestCount + +proc newVkPhysicalDeviceMultiviewFeatures*(sType: VkStructureType, pNext: pointer = nil, multiview: VkBool32, multiviewGeometryShader: VkBool32, multiviewTessellationShader: VkBool32): VkPhysicalDeviceMultiviewFeatures = + result.sType = sType + result.pNext = pNext + result.multiview = multiview + result.multiviewGeometryShader = multiviewGeometryShader + result.multiviewTessellationShader = multiviewTessellationShader + +proc newVkPhysicalDeviceMultiviewProperties*(sType: VkStructureType, pNext: pointer = nil, maxMultiviewViewCount: uint32, maxMultiviewInstanceIndex: uint32): VkPhysicalDeviceMultiviewProperties = + result.sType = sType + result.pNext = pNext + result.maxMultiviewViewCount = maxMultiviewViewCount + result.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex + +proc newVkRenderPassMultiviewCreateInfo*(sType: VkStructureType, pNext: pointer = nil, subpassCount: uint32, pViewMasks: ptr uint32, dependencyCount: uint32, pViewOffsets: ptr int32, correlationMaskCount: uint32, pCorrelationMasks: ptr uint32): VkRenderPassMultiviewCreateInfo = + result.sType = sType + result.pNext = pNext + result.subpassCount = subpassCount + result.pViewMasks = pViewMasks + result.dependencyCount = dependencyCount + result.pViewOffsets = pViewOffsets + result.correlationMaskCount = correlationMaskCount + result.pCorrelationMasks = pCorrelationMasks + +proc newVkSurfaceCapabilities2EXT*(sType: VkStructureType, pNext: pointer = nil, minImageCount: uint32, maxImageCount: uint32, currentExtent: VkExtent2D, minImageExtent: VkExtent2D, maxImageExtent: VkExtent2D, maxImageArrayLayers: uint32, supportedTransforms: VkSurfaceTransformFlagsKHR, currentTransform: VkSurfaceTransformFlagBitsKHR, supportedCompositeAlpha: VkCompositeAlphaFlagsKHR, supportedUsageFlags: VkImageUsageFlags, supportedSurfaceCounters: VkSurfaceCounterFlagsEXT): VkSurfaceCapabilities2EXT = + result.sType = sType + result.pNext = pNext + result.minImageCount = minImageCount + result.maxImageCount = maxImageCount + result.currentExtent = currentExtent + result.minImageExtent = minImageExtent + result.maxImageExtent = maxImageExtent + result.maxImageArrayLayers = maxImageArrayLayers + result.supportedTransforms = supportedTransforms + result.currentTransform = currentTransform + result.supportedCompositeAlpha = supportedCompositeAlpha + result.supportedUsageFlags = supportedUsageFlags + result.supportedSurfaceCounters = supportedSurfaceCounters + +proc newVkDisplayPowerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, powerState: VkDisplayPowerStateEXT): VkDisplayPowerInfoEXT = + result.sType = sType + result.pNext = pNext + result.powerState = powerState + +proc newVkDeviceEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, deviceEvent: VkDeviceEventTypeEXT): VkDeviceEventInfoEXT = + result.sType = sType + result.pNext = pNext + result.deviceEvent = deviceEvent + +proc newVkDisplayEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, displayEvent: VkDisplayEventTypeEXT): VkDisplayEventInfoEXT = + result.sType = sType + result.pNext = pNext + result.displayEvent = displayEvent + +proc newVkSwapchainCounterCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, surfaceCounters: VkSurfaceCounterFlagsEXT): VkSwapchainCounterCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.surfaceCounters = surfaceCounters + +proc newVkPhysicalDeviceGroupProperties*(sType: VkStructureType, pNext: pointer = nil, physicalDeviceCount: uint32, physicalDevices: array[VK_MAX_DEVICE_GROUP_SIZE, VkPhysicalDevice], subsetAllocation: VkBool32): VkPhysicalDeviceGroupProperties = + result.sType = sType + result.pNext = pNext + result.physicalDeviceCount = physicalDeviceCount + result.physicalDevices = physicalDevices + result.subsetAllocation = subsetAllocation + +proc newVkMemoryAllocateFlagsInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkMemoryAllocateFlags = 0.VkMemoryAllocateFlags, deviceMask: uint32): VkMemoryAllocateFlagsInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.deviceMask = deviceMask + +proc newVkBindBufferMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkBindBufferMemoryInfo = + result.sType = sType + result.pNext = pNext + result.buffer = buffer + result.memory = memory + result.memoryOffset = memoryOffset + +proc newVkBindBufferMemoryDeviceGroupInfo*(sType: VkStructureType, pNext: pointer = nil, deviceIndexCount: uint32, pDeviceIndices: ptr uint32): VkBindBufferMemoryDeviceGroupInfo = + result.sType = sType + result.pNext = pNext + result.deviceIndexCount = deviceIndexCount + result.pDeviceIndices = pDeviceIndices + +proc newVkBindImageMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkBindImageMemoryInfo = + result.sType = sType + result.pNext = pNext + result.image = image + result.memory = memory + result.memoryOffset = memoryOffset + +proc newVkBindImageMemoryDeviceGroupInfo*(sType: VkStructureType, pNext: pointer = nil, deviceIndexCount: uint32, pDeviceIndices: ptr uint32, splitInstanceBindRegionCount: uint32, pSplitInstanceBindRegions: ptr VkRect2D): VkBindImageMemoryDeviceGroupInfo = + result.sType = sType + result.pNext = pNext + result.deviceIndexCount = deviceIndexCount + result.pDeviceIndices = pDeviceIndices + result.splitInstanceBindRegionCount = splitInstanceBindRegionCount + result.pSplitInstanceBindRegions = pSplitInstanceBindRegions + +proc newVkDeviceGroupRenderPassBeginInfo*(sType: VkStructureType, pNext: pointer = nil, deviceMask: uint32, deviceRenderAreaCount: uint32, pDeviceRenderAreas: ptr VkRect2D): VkDeviceGroupRenderPassBeginInfo = + result.sType = sType + result.pNext = pNext + result.deviceMask = deviceMask + result.deviceRenderAreaCount = deviceRenderAreaCount + result.pDeviceRenderAreas = pDeviceRenderAreas + +proc newVkDeviceGroupCommandBufferBeginInfo*(sType: VkStructureType, pNext: pointer = nil, deviceMask: uint32): VkDeviceGroupCommandBufferBeginInfo = + result.sType = sType + result.pNext = pNext + result.deviceMask = deviceMask + +proc newVkDeviceGroupSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphoreDeviceIndices: ptr uint32, commandBufferCount: uint32, pCommandBufferDeviceMasks: ptr uint32, signalSemaphoreCount: uint32, pSignalSemaphoreDeviceIndices: ptr uint32): VkDeviceGroupSubmitInfo = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreCount = waitSemaphoreCount + result.pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices + result.commandBufferCount = commandBufferCount + result.pCommandBufferDeviceMasks = pCommandBufferDeviceMasks + result.signalSemaphoreCount = signalSemaphoreCount + result.pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices + +proc newVkDeviceGroupBindSparseInfo*(sType: VkStructureType, pNext: pointer = nil, resourceDeviceIndex: uint32, memoryDeviceIndex: uint32): VkDeviceGroupBindSparseInfo = + result.sType = sType + result.pNext = pNext + result.resourceDeviceIndex = resourceDeviceIndex + result.memoryDeviceIndex = memoryDeviceIndex + +proc newVkDeviceGroupPresentCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, presentMask: array[VK_MAX_DEVICE_GROUP_SIZE, uint32], modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupPresentCapabilitiesKHR = + result.sType = sType + result.pNext = pNext + result.presentMask = presentMask + result.modes = modes + +proc newVkImageSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR): VkImageSwapchainCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.swapchain = swapchain + +proc newVkBindImageMemorySwapchainInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR, imageIndex: uint32): VkBindImageMemorySwapchainInfoKHR = + result.sType = sType + result.pNext = pNext + result.swapchain = swapchain + result.imageIndex = imageIndex + +proc newVkAcquireNextImageInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR, timeout: uint64, semaphore: VkSemaphore, fence: VkFence, deviceMask: uint32): VkAcquireNextImageInfoKHR = + result.sType = sType + result.pNext = pNext + result.swapchain = swapchain + result.timeout = timeout + result.semaphore = semaphore + result.fence = fence + result.deviceMask = deviceMask + +proc newVkDeviceGroupPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pDeviceMasks: ptr uint32, mode: VkDeviceGroupPresentModeFlagBitsKHR): VkDeviceGroupPresentInfoKHR = + result.sType = sType + result.pNext = pNext + result.swapchainCount = swapchainCount + result.pDeviceMasks = pDeviceMasks + result.mode = mode + +proc newVkDeviceGroupDeviceCreateInfo*(sType: VkStructureType, pNext: pointer = nil, physicalDeviceCount: uint32, pPhysicalDevices: ptr VkPhysicalDevice): VkDeviceGroupDeviceCreateInfo = + result.sType = sType + result.pNext = pNext + result.physicalDeviceCount = physicalDeviceCount + result.pPhysicalDevices = pPhysicalDevices + +proc newVkDeviceGroupSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupSwapchainCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.modes = modes + +proc newVkDescriptorUpdateTemplateEntry*(dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32, descriptorType: VkDescriptorType, offset: uint, stride: uint): VkDescriptorUpdateTemplateEntry = + result.dstBinding = dstBinding + result.dstArrayElement = dstArrayElement + result.descriptorCount = descriptorCount + result.descriptorType = descriptorType + result.offset = offset + result.stride = stride + +proc newVkDescriptorUpdateTemplateCreateInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkDescriptorUpdateTemplateCreateFlags = 0.VkDescriptorUpdateTemplateCreateFlags, descriptorUpdateEntryCount: uint32, pDescriptorUpdateEntries: ptr VkDescriptorUpdateTemplateEntry, templateType: VkDescriptorUpdateTemplateType, descriptorSetLayout: VkDescriptorSetLayout, pipelineBindPoint: VkPipelineBindPoint, pipelineLayout: VkPipelineLayout, set: uint32): VkDescriptorUpdateTemplateCreateInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.descriptorUpdateEntryCount = descriptorUpdateEntryCount + result.pDescriptorUpdateEntries = pDescriptorUpdateEntries + result.templateType = templateType + result.descriptorSetLayout = descriptorSetLayout + result.pipelineBindPoint = pipelineBindPoint + result.pipelineLayout = pipelineLayout + result.set = set + +proc newVkXYColorEXT*(x: float32, y: float32): VkXYColorEXT = + result.x = x + result.y = y + +proc newVkPhysicalDevicePresentIdFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, presentId: VkBool32): VkPhysicalDevicePresentIdFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.presentId = presentId + +proc newVkPresentIdKHR*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pPresentIds: ptr uint64): VkPresentIdKHR = + result.sType = sType + result.pNext = pNext + result.swapchainCount = swapchainCount + result.pPresentIds = pPresentIds + +proc newVkPhysicalDevicePresentWaitFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, presentWait: VkBool32): VkPhysicalDevicePresentWaitFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.presentWait = presentWait + +proc newVkHdrMetadataEXT*(sType: VkStructureType, pNext: pointer = nil, displayPrimaryRed: VkXYColorEXT, displayPrimaryGreen: VkXYColorEXT, displayPrimaryBlue: VkXYColorEXT, whitePoint: VkXYColorEXT, maxLuminance: float32, minLuminance: float32, maxContentLightLevel: float32, maxFrameAverageLightLevel: float32): VkHdrMetadataEXT = + result.sType = sType + result.pNext = pNext + result.displayPrimaryRed = displayPrimaryRed + result.displayPrimaryGreen = displayPrimaryGreen + result.displayPrimaryBlue = displayPrimaryBlue + result.whitePoint = whitePoint + result.maxLuminance = maxLuminance + result.minLuminance = minLuminance + result.maxContentLightLevel = maxContentLightLevel + result.maxFrameAverageLightLevel = maxFrameAverageLightLevel + +proc newVkDisplayNativeHdrSurfaceCapabilitiesAMD*(sType: VkStructureType, pNext: pointer = nil, localDimmingSupport: VkBool32): VkDisplayNativeHdrSurfaceCapabilitiesAMD = + result.sType = sType + result.pNext = pNext + result.localDimmingSupport = localDimmingSupport + +proc newVkSwapchainDisplayNativeHdrCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, localDimmingEnable: VkBool32): VkSwapchainDisplayNativeHdrCreateInfoAMD = + result.sType = sType + result.pNext = pNext + result.localDimmingEnable = localDimmingEnable + +proc newVkRefreshCycleDurationGOOGLE*(refreshDuration: uint64): VkRefreshCycleDurationGOOGLE = + result.refreshDuration = refreshDuration + +proc newVkPastPresentationTimingGOOGLE*(presentID: uint32, desiredPresentTime: uint64, actualPresentTime: uint64, earliestPresentTime: uint64, presentMargin: uint64): VkPastPresentationTimingGOOGLE = + result.presentID = presentID + result.desiredPresentTime = desiredPresentTime + result.actualPresentTime = actualPresentTime + result.earliestPresentTime = earliestPresentTime + result.presentMargin = presentMargin + +proc newVkPresentTimesInfoGOOGLE*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pTimes: ptr VkPresentTimeGOOGLE): VkPresentTimesInfoGOOGLE = + result.sType = sType + result.pNext = pNext + result.swapchainCount = swapchainCount + result.pTimes = pTimes + +proc newVkPresentTimeGOOGLE*(presentID: uint32, desiredPresentTime: uint64): VkPresentTimeGOOGLE = + result.presentID = presentID + result.desiredPresentTime = desiredPresentTime + +proc newVkIOSSurfaceCreateInfoMVK*(sType: VkStructureType, pNext: pointer = nil, flags: VkIOSSurfaceCreateFlagsMVK = 0.VkIOSSurfaceCreateFlagsMVK, pView: pointer = nil): VkIOSSurfaceCreateInfoMVK = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pView = pView + +proc newVkMacOSSurfaceCreateInfoMVK*(sType: VkStructureType, pNext: pointer = nil, flags: VkMacOSSurfaceCreateFlagsMVK = 0.VkMacOSSurfaceCreateFlagsMVK, pView: pointer = nil): VkMacOSSurfaceCreateInfoMVK = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pView = pView + +proc newVkMetalSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkMetalSurfaceCreateFlagsEXT = 0.VkMetalSurfaceCreateFlagsEXT, pLayer: ptr CAMetalLayer): VkMetalSurfaceCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pLayer = pLayer + +proc newVkViewportWScalingNV*(xcoeff: float32, ycoeff: float32): VkViewportWScalingNV = + result.xcoeff = xcoeff + result.ycoeff = ycoeff + +proc newVkPipelineViewportWScalingStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, viewportWScalingEnable: VkBool32, viewportCount: uint32, pViewportWScalings: ptr VkViewportWScalingNV): VkPipelineViewportWScalingStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.viewportWScalingEnable = viewportWScalingEnable + result.viewportCount = viewportCount + result.pViewportWScalings = pViewportWScalings + +proc newVkViewportSwizzleNV*(x: VkViewportCoordinateSwizzleNV, y: VkViewportCoordinateSwizzleNV, z: VkViewportCoordinateSwizzleNV, w: VkViewportCoordinateSwizzleNV): VkViewportSwizzleNV = + result.x = x + result.y = y + result.z = z + result.w = w + +proc newVkPipelineViewportSwizzleStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineViewportSwizzleStateCreateFlagsNV = 0.VkPipelineViewportSwizzleStateCreateFlagsNV, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV): VkPipelineViewportSwizzleStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.viewportCount = viewportCount + result.pViewportSwizzles = pViewportSwizzles + +proc newVkPhysicalDeviceDiscardRectanglePropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxDiscardRectangles: uint32): VkPhysicalDeviceDiscardRectanglePropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxDiscardRectangles = maxDiscardRectangles + +proc newVkPipelineDiscardRectangleStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineDiscardRectangleStateCreateFlagsEXT = 0.VkPipelineDiscardRectangleStateCreateFlagsEXT, discardRectangleMode: VkDiscardRectangleModeEXT, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D): VkPipelineDiscardRectangleStateCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.discardRectangleMode = discardRectangleMode + result.discardRectangleCount = discardRectangleCount + result.pDiscardRectangles = pDiscardRectangles + +proc newVkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*(sType: VkStructureType, pNext: pointer = nil, perViewPositionAllComponents: VkBool32): VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = + result.sType = sType + result.pNext = pNext + result.perViewPositionAllComponents = perViewPositionAllComponents + +proc newVkInputAttachmentAspectReference*(subpass: uint32, inputAttachmentIndex: uint32, aspectMask: VkImageAspectFlags): VkInputAttachmentAspectReference = + result.subpass = subpass + result.inputAttachmentIndex = inputAttachmentIndex + result.aspectMask = aspectMask + +proc newVkRenderPassInputAttachmentAspectCreateInfo*(sType: VkStructureType, pNext: pointer = nil, aspectReferenceCount: uint32, pAspectReferences: ptr VkInputAttachmentAspectReference): VkRenderPassInputAttachmentAspectCreateInfo = + result.sType = sType + result.pNext = pNext + result.aspectReferenceCount = aspectReferenceCount + result.pAspectReferences = pAspectReferences + +proc newVkPhysicalDeviceSurfaceInfo2KHR*(sType: VkStructureType, pNext: pointer = nil, surface: VkSurfaceKHR): VkPhysicalDeviceSurfaceInfo2KHR = + result.sType = sType + result.pNext = pNext + result.surface = surface + +proc newVkSurfaceCapabilities2KHR*(sType: VkStructureType, pNext: pointer = nil, surfaceCapabilities: VkSurfaceCapabilitiesKHR): VkSurfaceCapabilities2KHR = + result.sType = sType + result.pNext = pNext + result.surfaceCapabilities = surfaceCapabilities + +proc newVkSurfaceFormat2KHR*(sType: VkStructureType, pNext: pointer = nil, surfaceFormat: VkSurfaceFormatKHR): VkSurfaceFormat2KHR = + result.sType = sType + result.pNext = pNext + result.surfaceFormat = surfaceFormat + +proc newVkDisplayProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayProperties: VkDisplayPropertiesKHR): VkDisplayProperties2KHR = + result.sType = sType + result.pNext = pNext + result.displayProperties = displayProperties + +proc newVkDisplayPlaneProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayPlaneProperties: VkDisplayPlanePropertiesKHR): VkDisplayPlaneProperties2KHR = + result.sType = sType + result.pNext = pNext + result.displayPlaneProperties = displayPlaneProperties + +proc newVkDisplayModeProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayModeProperties: VkDisplayModePropertiesKHR): VkDisplayModeProperties2KHR = + result.sType = sType + result.pNext = pNext + result.displayModeProperties = displayModeProperties + +proc newVkDisplayPlaneInfo2KHR*(sType: VkStructureType, pNext: pointer = nil, mode: VkDisplayModeKHR, planeIndex: uint32): VkDisplayPlaneInfo2KHR = + result.sType = sType + result.pNext = pNext + result.mode = mode + result.planeIndex = planeIndex + +proc newVkDisplayPlaneCapabilities2KHR*(sType: VkStructureType, pNext: pointer = nil, capabilities: VkDisplayPlaneCapabilitiesKHR): VkDisplayPlaneCapabilities2KHR = + result.sType = sType + result.pNext = pNext + result.capabilities = capabilities + +proc newVkSharedPresentSurfaceCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, sharedPresentSupportedUsageFlags: VkImageUsageFlags): VkSharedPresentSurfaceCapabilitiesKHR = + result.sType = sType + result.pNext = pNext + result.sharedPresentSupportedUsageFlags = sharedPresentSupportedUsageFlags + +proc newVkPhysicalDevice16BitStorageFeatures*(sType: VkStructureType, pNext: pointer = nil, storageBuffer16BitAccess: VkBool32, uniformAndStorageBuffer16BitAccess: VkBool32, storagePushConstant16: VkBool32, storageInputOutput16: VkBool32): VkPhysicalDevice16BitStorageFeatures = + result.sType = sType + result.pNext = pNext + result.storageBuffer16BitAccess = storageBuffer16BitAccess + result.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess + result.storagePushConstant16 = storagePushConstant16 + result.storageInputOutput16 = storageInputOutput16 + +proc newVkPhysicalDeviceSubgroupProperties*(sType: VkStructureType, pNext: pointer = nil, subgroupSize: uint32, supportedStages: VkShaderStageFlags, supportedOperations: VkSubgroupFeatureFlags, quadOperationsInAllStages: VkBool32): VkPhysicalDeviceSubgroupProperties = + result.sType = sType + result.pNext = pNext + result.subgroupSize = subgroupSize + result.supportedStages = supportedStages + result.supportedOperations = supportedOperations + result.quadOperationsInAllStages = quadOperationsInAllStages + +proc newVkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderSubgroupExtendedTypes: VkBool32): VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = + result.sType = sType + result.pNext = pNext + result.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes + +proc newVkBufferMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkBufferMemoryRequirementsInfo2 = + result.sType = sType + result.pNext = pNext + result.buffer = buffer + +proc newVkDeviceBufferMemoryRequirements*(sType: VkStructureType, pNext: pointer = nil, pCreateInfo: ptr VkBufferCreateInfo): VkDeviceBufferMemoryRequirements = + result.sType = sType + result.pNext = pNext + result.pCreateInfo = pCreateInfo + +proc newVkImageMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, image: VkImage): VkImageMemoryRequirementsInfo2 = + result.sType = sType + result.pNext = pNext + result.image = image + +proc newVkImageSparseMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, image: VkImage): VkImageSparseMemoryRequirementsInfo2 = + result.sType = sType + result.pNext = pNext + result.image = image + +proc newVkDeviceImageMemoryRequirements*(sType: VkStructureType, pNext: pointer = nil, pCreateInfo: ptr VkImageCreateInfo, planeAspect: VkImageAspectFlagBits): VkDeviceImageMemoryRequirements = + result.sType = sType + result.pNext = pNext + result.pCreateInfo = pCreateInfo + result.planeAspect = planeAspect + +proc newVkMemoryRequirements2*(sType: VkStructureType, pNext: pointer = nil, memoryRequirements: VkMemoryRequirements): VkMemoryRequirements2 = + result.sType = sType + result.pNext = pNext + result.memoryRequirements = memoryRequirements + +proc newVkSparseImageMemoryRequirements2*(sType: VkStructureType, pNext: pointer = nil, memoryRequirements: VkSparseImageMemoryRequirements): VkSparseImageMemoryRequirements2 = + result.sType = sType + result.pNext = pNext + result.memoryRequirements = memoryRequirements + +proc newVkPhysicalDevicePointClippingProperties*(sType: VkStructureType, pNext: pointer = nil, pointClippingBehavior: VkPointClippingBehavior): VkPhysicalDevicePointClippingProperties = + result.sType = sType + result.pNext = pNext + result.pointClippingBehavior = pointClippingBehavior + +proc newVkMemoryDedicatedRequirements*(sType: VkStructureType, pNext: pointer = nil, prefersDedicatedAllocation: VkBool32, requiresDedicatedAllocation: VkBool32): VkMemoryDedicatedRequirements = + result.sType = sType + result.pNext = pNext + result.prefersDedicatedAllocation = prefersDedicatedAllocation + result.requiresDedicatedAllocation = requiresDedicatedAllocation + +proc newVkMemoryDedicatedAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, buffer: VkBuffer): VkMemoryDedicatedAllocateInfo = + result.sType = sType + result.pNext = pNext + result.image = image + result.buffer = buffer + +proc newVkImageViewUsageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, usage: VkImageUsageFlags): VkImageViewUsageCreateInfo = + result.sType = sType + result.pNext = pNext + result.usage = usage + +proc newVkImageViewSlicedCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sliceOffset: uint32, sliceCount: uint32): VkImageViewSlicedCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.sliceOffset = sliceOffset + result.sliceCount = sliceCount + +proc newVkPipelineTessellationDomainOriginStateCreateInfo*(sType: VkStructureType, pNext: pointer = nil, domainOrigin: VkTessellationDomainOrigin): VkPipelineTessellationDomainOriginStateCreateInfo = + result.sType = sType + result.pNext = pNext + result.domainOrigin = domainOrigin + +proc newVkSamplerYcbcrConversionInfo*(sType: VkStructureType, pNext: pointer = nil, conversion: VkSamplerYcbcrConversion): VkSamplerYcbcrConversionInfo = + result.sType = sType + result.pNext = pNext + result.conversion = conversion + +proc newVkSamplerYcbcrConversionCreateInfo*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, ycbcrModel: VkSamplerYcbcrModelConversion, ycbcrRange: VkSamplerYcbcrRange, components: VkComponentMapping, xChromaOffset: VkChromaLocation, yChromaOffset: VkChromaLocation, chromaFilter: VkFilter, forceExplicitReconstruction: VkBool32): VkSamplerYcbcrConversionCreateInfo = + result.sType = sType + result.pNext = pNext + result.format = format + result.ycbcrModel = ycbcrModel + result.ycbcrRange = ycbcrRange + result.components = components + result.xChromaOffset = xChromaOffset + result.yChromaOffset = yChromaOffset + result.chromaFilter = chromaFilter + result.forceExplicitReconstruction = forceExplicitReconstruction + +proc newVkBindImagePlaneMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, planeAspect: VkImageAspectFlagBits): VkBindImagePlaneMemoryInfo = + result.sType = sType + result.pNext = pNext + result.planeAspect = planeAspect + +proc newVkImagePlaneMemoryRequirementsInfo*(sType: VkStructureType, pNext: pointer = nil, planeAspect: VkImageAspectFlagBits): VkImagePlaneMemoryRequirementsInfo = + result.sType = sType + result.pNext = pNext + result.planeAspect = planeAspect + +proc newVkPhysicalDeviceSamplerYcbcrConversionFeatures*(sType: VkStructureType, pNext: pointer = nil, samplerYcbcrConversion: VkBool32): VkPhysicalDeviceSamplerYcbcrConversionFeatures = + result.sType = sType + result.pNext = pNext + result.samplerYcbcrConversion = samplerYcbcrConversion + +proc newVkSamplerYcbcrConversionImageFormatProperties*(sType: VkStructureType, pNext: pointer = nil, combinedImageSamplerDescriptorCount: uint32): VkSamplerYcbcrConversionImageFormatProperties = + result.sType = sType + result.pNext = pNext + result.combinedImageSamplerDescriptorCount = combinedImageSamplerDescriptorCount + +proc newVkTextureLODGatherFormatPropertiesAMD*(sType: VkStructureType, pNext: pointer = nil, supportsTextureGatherLODBiasAMD: VkBool32): VkTextureLODGatherFormatPropertiesAMD = + result.sType = sType + result.pNext = pNext + result.supportsTextureGatherLODBiasAMD = supportsTextureGatherLODBiasAMD + +proc newVkConditionalRenderingBeginInfoEXT*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer, offset: VkDeviceSize, flags: VkConditionalRenderingFlagsEXT = 0.VkConditionalRenderingFlagsEXT): VkConditionalRenderingBeginInfoEXT = + result.sType = sType + result.pNext = pNext + result.buffer = buffer + result.offset = offset + result.flags = flags + +proc newVkProtectedSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, protectedSubmit: VkBool32): VkProtectedSubmitInfo = + result.sType = sType + result.pNext = pNext + result.protectedSubmit = protectedSubmit + +proc newVkPhysicalDeviceProtectedMemoryFeatures*(sType: VkStructureType, pNext: pointer = nil, protectedMemory: VkBool32): VkPhysicalDeviceProtectedMemoryFeatures = + result.sType = sType + result.pNext = pNext + result.protectedMemory = protectedMemory + +proc newVkPhysicalDeviceProtectedMemoryProperties*(sType: VkStructureType, pNext: pointer = nil, protectedNoFault: VkBool32): VkPhysicalDeviceProtectedMemoryProperties = + result.sType = sType + result.pNext = pNext + result.protectedNoFault = protectedNoFault + +proc newVkDeviceQueueInfo2*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags, queueFamilyIndex: uint32, queueIndex: uint32): VkDeviceQueueInfo2 = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.queueFamilyIndex = queueFamilyIndex + result.queueIndex = queueIndex + +proc newVkPipelineCoverageToColorStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageToColorStateCreateFlagsNV = 0.VkPipelineCoverageToColorStateCreateFlagsNV, coverageToColorEnable: VkBool32, coverageToColorLocation: uint32): VkPipelineCoverageToColorStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.coverageToColorEnable = coverageToColorEnable + result.coverageToColorLocation = coverageToColorLocation + +proc newVkPhysicalDeviceSamplerFilterMinmaxProperties*(sType: VkStructureType, pNext: pointer = nil, filterMinmaxSingleComponentFormats: VkBool32, filterMinmaxImageComponentMapping: VkBool32): VkPhysicalDeviceSamplerFilterMinmaxProperties = + result.sType = sType + result.pNext = pNext + result.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats + result.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping + +proc newVkSampleLocationEXT*(x: float32, y: float32): VkSampleLocationEXT = + result.x = x + result.y = y + +proc newVkSampleLocationsInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationsPerPixel: VkSampleCountFlagBits, sampleLocationGridSize: VkExtent2D, sampleLocationsCount: uint32, pSampleLocations: ptr VkSampleLocationEXT): VkSampleLocationsInfoEXT = + result.sType = sType + result.pNext = pNext + result.sampleLocationsPerPixel = sampleLocationsPerPixel + result.sampleLocationGridSize = sampleLocationGridSize + result.sampleLocationsCount = sampleLocationsCount + result.pSampleLocations = pSampleLocations + +proc newVkAttachmentSampleLocationsEXT*(attachmentIndex: uint32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkAttachmentSampleLocationsEXT = + result.attachmentIndex = attachmentIndex + result.sampleLocationsInfo = sampleLocationsInfo + +proc newVkSubpassSampleLocationsEXT*(subpassIndex: uint32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkSubpassSampleLocationsEXT = + result.subpassIndex = subpassIndex + result.sampleLocationsInfo = sampleLocationsInfo + +proc newVkRenderPassSampleLocationsBeginInfoEXT*(sType: VkStructureType, pNext: pointer = nil, attachmentInitialSampleLocationsCount: uint32, pAttachmentInitialSampleLocations: ptr VkAttachmentSampleLocationsEXT, postSubpassSampleLocationsCount: uint32, pPostSubpassSampleLocations: ptr VkSubpassSampleLocationsEXT): VkRenderPassSampleLocationsBeginInfoEXT = + result.sType = sType + result.pNext = pNext + result.attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount + result.pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations + result.postSubpassSampleLocationsCount = postSubpassSampleLocationsCount + result.pPostSubpassSampleLocations = pPostSubpassSampleLocations + +proc newVkPipelineSampleLocationsStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationsEnable: VkBool32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkPipelineSampleLocationsStateCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.sampleLocationsEnable = sampleLocationsEnable + result.sampleLocationsInfo = sampleLocationsInfo + +proc newVkPhysicalDeviceSampleLocationsPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationSampleCounts: VkSampleCountFlags, maxSampleLocationGridSize: VkExtent2D, sampleLocationCoordinateRange: array[2, float32], sampleLocationSubPixelBits: uint32, variableSampleLocations: VkBool32): VkPhysicalDeviceSampleLocationsPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.sampleLocationSampleCounts = sampleLocationSampleCounts + result.maxSampleLocationGridSize = maxSampleLocationGridSize + result.sampleLocationCoordinateRange = sampleLocationCoordinateRange + result.sampleLocationSubPixelBits = sampleLocationSubPixelBits + result.variableSampleLocations = variableSampleLocations + +proc newVkMultisamplePropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxSampleLocationGridSize: VkExtent2D): VkMultisamplePropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxSampleLocationGridSize = maxSampleLocationGridSize + +proc newVkSamplerReductionModeCreateInfo*(sType: VkStructureType, pNext: pointer = nil, reductionMode: VkSamplerReductionMode): VkSamplerReductionModeCreateInfo = + result.sType = sType + result.pNext = pNext + result.reductionMode = reductionMode + +proc newVkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, advancedBlendCoherentOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.advancedBlendCoherentOperations = advancedBlendCoherentOperations + +proc newVkPhysicalDeviceMultiDrawFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, multiDraw: VkBool32): VkPhysicalDeviceMultiDrawFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.multiDraw = multiDraw + +proc newVkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, advancedBlendMaxColorAttachments: uint32, advancedBlendIndependentBlend: VkBool32, advancedBlendNonPremultipliedSrcColor: VkBool32, advancedBlendNonPremultipliedDstColor: VkBool32, advancedBlendCorrelatedOverlap: VkBool32, advancedBlendAllOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.advancedBlendMaxColorAttachments = advancedBlendMaxColorAttachments + result.advancedBlendIndependentBlend = advancedBlendIndependentBlend + result.advancedBlendNonPremultipliedSrcColor = advancedBlendNonPremultipliedSrcColor + result.advancedBlendNonPremultipliedDstColor = advancedBlendNonPremultipliedDstColor + result.advancedBlendCorrelatedOverlap = advancedBlendCorrelatedOverlap + result.advancedBlendAllOperations = advancedBlendAllOperations + +proc newVkPipelineColorBlendAdvancedStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, srcPremultiplied: VkBool32, dstPremultiplied: VkBool32, blendOverlap: VkBlendOverlapEXT): VkPipelineColorBlendAdvancedStateCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.srcPremultiplied = srcPremultiplied + result.dstPremultiplied = dstPremultiplied + result.blendOverlap = blendOverlap + +proc newVkPhysicalDeviceInlineUniformBlockFeatures*(sType: VkStructureType, pNext: pointer = nil, inlineUniformBlock: VkBool32, descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32): VkPhysicalDeviceInlineUniformBlockFeatures = + result.sType = sType + result.pNext = pNext + result.inlineUniformBlock = inlineUniformBlock + result.descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind + +proc newVkPhysicalDeviceInlineUniformBlockProperties*(sType: VkStructureType, pNext: pointer = nil, maxInlineUniformBlockSize: uint32, maxPerStageDescriptorInlineUniformBlocks: uint32, maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32, maxDescriptorSetInlineUniformBlocks: uint32, maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32): VkPhysicalDeviceInlineUniformBlockProperties = + result.sType = sType + result.pNext = pNext + result.maxInlineUniformBlockSize = maxInlineUniformBlockSize + result.maxPerStageDescriptorInlineUniformBlocks = maxPerStageDescriptorInlineUniformBlocks + result.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + result.maxDescriptorSetInlineUniformBlocks = maxDescriptorSetInlineUniformBlocks + result.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = maxDescriptorSetUpdateAfterBindInlineUniformBlocks + +proc newVkWriteDescriptorSetInlineUniformBlock*(sType: VkStructureType, pNext: pointer = nil, dataSize: uint32, pData: pointer = nil): VkWriteDescriptorSetInlineUniformBlock = + result.sType = sType + result.pNext = pNext + result.dataSize = dataSize + result.pData = pData + +proc newVkDescriptorPoolInlineUniformBlockCreateInfo*(sType: VkStructureType, pNext: pointer = nil, maxInlineUniformBlockBindings: uint32): VkDescriptorPoolInlineUniformBlockCreateInfo = + result.sType = sType + result.pNext = pNext + result.maxInlineUniformBlockBindings = maxInlineUniformBlockBindings + +proc newVkPipelineCoverageModulationStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageModulationStateCreateFlagsNV = 0.VkPipelineCoverageModulationStateCreateFlagsNV, coverageModulationMode: VkCoverageModulationModeNV, coverageModulationTableEnable: VkBool32, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32): VkPipelineCoverageModulationStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.coverageModulationMode = coverageModulationMode + result.coverageModulationTableEnable = coverageModulationTableEnable + result.coverageModulationTableCount = coverageModulationTableCount + result.pCoverageModulationTable = pCoverageModulationTable + +proc newVkImageFormatListCreateInfo*(sType: VkStructureType, pNext: pointer = nil, viewFormatCount: uint32, pViewFormats: ptr VkFormat): VkImageFormatListCreateInfo = + result.sType = sType + result.pNext = pNext + result.viewFormatCount = viewFormatCount + result.pViewFormats = pViewFormats + +proc newVkValidationCacheCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkValidationCacheCreateFlagsEXT = 0.VkValidationCacheCreateFlagsEXT, initialDataSize: uint, pInitialData: pointer = nil): VkValidationCacheCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.initialDataSize = initialDataSize + result.pInitialData = pInitialData + +proc newVkShaderModuleValidationCacheCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, validationCache: VkValidationCacheEXT): VkShaderModuleValidationCacheCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.validationCache = validationCache + +proc newVkPhysicalDeviceMaintenance3Properties*(sType: VkStructureType, pNext: pointer = nil, maxPerSetDescriptors: uint32, maxMemoryAllocationSize: VkDeviceSize): VkPhysicalDeviceMaintenance3Properties = + result.sType = sType + result.pNext = pNext + result.maxPerSetDescriptors = maxPerSetDescriptors + result.maxMemoryAllocationSize = maxMemoryAllocationSize + +proc newVkPhysicalDeviceMaintenance4Features*(sType: VkStructureType, pNext: pointer = nil, maintenance4: VkBool32): VkPhysicalDeviceMaintenance4Features = + result.sType = sType + result.pNext = pNext + result.maintenance4 = maintenance4 + +proc newVkPhysicalDeviceMaintenance4Properties*(sType: VkStructureType, pNext: pointer = nil, maxBufferSize: VkDeviceSize): VkPhysicalDeviceMaintenance4Properties = + result.sType = sType + result.pNext = pNext + result.maxBufferSize = maxBufferSize + +proc newVkDescriptorSetLayoutSupport*(sType: VkStructureType, pNext: pointer = nil, supported: VkBool32): VkDescriptorSetLayoutSupport = + result.sType = sType + result.pNext = pNext + result.supported = supported + +proc newVkPhysicalDeviceShaderDrawParametersFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderDrawParameters: VkBool32): VkPhysicalDeviceShaderDrawParametersFeatures = + result.sType = sType + result.pNext = pNext + result.shaderDrawParameters = shaderDrawParameters + +proc newVkPhysicalDeviceShaderFloat16Int8Features*(sType: VkStructureType, pNext: pointer = nil, shaderFloat16: VkBool32, shaderInt8: VkBool32): VkPhysicalDeviceShaderFloat16Int8Features = + result.sType = sType + result.pNext = pNext + result.shaderFloat16 = shaderFloat16 + result.shaderInt8 = shaderInt8 + +proc newVkPhysicalDeviceFloatControlsProperties*(sType: VkStructureType, pNext: pointer = nil, denormBehaviorIndependence: VkShaderFloatControlsIndependence, roundingModeIndependence: VkShaderFloatControlsIndependence, shaderSignedZeroInfNanPreserveFloat16: VkBool32, shaderSignedZeroInfNanPreserveFloat32: VkBool32, shaderSignedZeroInfNanPreserveFloat64: VkBool32, shaderDenormPreserveFloat16: VkBool32, shaderDenormPreserveFloat32: VkBool32, shaderDenormPreserveFloat64: VkBool32, shaderDenormFlushToZeroFloat16: VkBool32, shaderDenormFlushToZeroFloat32: VkBool32, shaderDenormFlushToZeroFloat64: VkBool32, shaderRoundingModeRTEFloat16: VkBool32, shaderRoundingModeRTEFloat32: VkBool32, shaderRoundingModeRTEFloat64: VkBool32, shaderRoundingModeRTZFloat16: VkBool32, shaderRoundingModeRTZFloat32: VkBool32, shaderRoundingModeRTZFloat64: VkBool32): VkPhysicalDeviceFloatControlsProperties = + result.sType = sType + result.pNext = pNext + result.denormBehaviorIndependence = denormBehaviorIndependence + result.roundingModeIndependence = roundingModeIndependence + result.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16 + result.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32 + result.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64 + result.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16 + result.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32 + result.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64 + result.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16 + result.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32 + result.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64 + result.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16 + result.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32 + result.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64 + result.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16 + result.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32 + result.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64 + +proc newVkPhysicalDeviceHostQueryResetFeatures*(sType: VkStructureType, pNext: pointer = nil, hostQueryReset: VkBool32): VkPhysicalDeviceHostQueryResetFeatures = + result.sType = sType + result.pNext = pNext + result.hostQueryReset = hostQueryReset + +proc newVkNativeBufferUsage2ANDROID*(consumer: uint64, producer: uint64): VkNativeBufferUsage2ANDROID = + result.consumer = consumer + result.producer = producer + +proc newVkNativeBufferANDROID*(sType: VkStructureType, pNext: pointer = nil, handle: pointer = nil, stride: int, format: int, usage: int, usage2: VkNativeBufferUsage2ANDROID): VkNativeBufferANDROID = + result.sType = sType + result.pNext = pNext + result.handle = handle + result.stride = stride + result.format = format + result.usage = usage + result.usage2 = usage2 + +proc newVkSwapchainImageCreateInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, usage: VkSwapchainImageUsageFlagsANDROID): VkSwapchainImageCreateInfoANDROID = + result.sType = sType + result.pNext = pNext + result.usage = usage + +proc newVkPhysicalDevicePresentationPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, sharedImage: VkBool32): VkPhysicalDevicePresentationPropertiesANDROID = + result.sType = sType + result.pNext = pNext + result.sharedImage = sharedImage + +proc newVkShaderResourceUsageAMD*(numUsedVgprs: uint32, numUsedSgprs: uint32, ldsSizePerLocalWorkGroup: uint32, ldsUsageSizeInBytes: uint, scratchMemUsageInBytes: uint): VkShaderResourceUsageAMD = + result.numUsedVgprs = numUsedVgprs + result.numUsedSgprs = numUsedSgprs + result.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup + result.ldsUsageSizeInBytes = ldsUsageSizeInBytes + result.scratchMemUsageInBytes = scratchMemUsageInBytes + +proc newVkShaderStatisticsInfoAMD*(shaderStageMask: VkShaderStageFlags, resourceUsage: VkShaderResourceUsageAMD, numPhysicalVgprs: uint32, numPhysicalSgprs: uint32, numAvailableVgprs: uint32, numAvailableSgprs: uint32, computeWorkGroupSize: array[3, uint32]): VkShaderStatisticsInfoAMD = + result.shaderStageMask = shaderStageMask + result.resourceUsage = resourceUsage + result.numPhysicalVgprs = numPhysicalVgprs + result.numPhysicalSgprs = numPhysicalSgprs + result.numAvailableVgprs = numAvailableVgprs + result.numAvailableSgprs = numAvailableSgprs + result.computeWorkGroupSize = computeWorkGroupSize + +proc newVkDeviceQueueGlobalPriorityCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, globalPriority: VkQueueGlobalPriorityKHR): VkDeviceQueueGlobalPriorityCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.globalPriority = globalPriority + +proc newVkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, globalPriorityQuery: VkBool32): VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.globalPriorityQuery = globalPriorityQuery + +proc newVkQueueFamilyGlobalPriorityPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, priorityCount: uint32, priorities: array[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR, VkQueueGlobalPriorityKHR]): VkQueueFamilyGlobalPriorityPropertiesKHR = + result.sType = sType + result.pNext = pNext + result.priorityCount = priorityCount + result.priorities = priorities + +proc newVkDebugUtilsObjectNameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkObjectType, objectHandle: uint64, pObjectName: cstring): VkDebugUtilsObjectNameInfoEXT = + result.sType = sType + result.pNext = pNext + result.objectType = objectType + result.objectHandle = objectHandle + result.pObjectName = pObjectName + +proc newVkDebugUtilsObjectTagInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkObjectType, objectHandle: uint64, tagName: uint64, tagSize: uint, pTag: pointer = nil): VkDebugUtilsObjectTagInfoEXT = + result.sType = sType + result.pNext = pNext + result.objectType = objectType + result.objectHandle = objectHandle + result.tagName = tagName + result.tagSize = tagSize + result.pTag = pTag + +proc newVkDebugUtilsLabelEXT*(sType: VkStructureType, pNext: pointer = nil, pLabelName: cstring, color: array[4, float32]): VkDebugUtilsLabelEXT = + result.sType = sType + result.pNext = pNext + result.pLabelName = pLabelName + result.color = color + +proc newVkDebugUtilsMessengerCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugUtilsMessengerCreateFlagsEXT = 0.VkDebugUtilsMessengerCreateFlagsEXT, messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT, messageType: VkDebugUtilsMessageTypeFlagsEXT, pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT, pUserData: pointer = nil): VkDebugUtilsMessengerCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.messageSeverity = messageSeverity + result.messageType = messageType + result.pfnUserCallback = pfnUserCallback + result.pUserData = pUserData + +proc newVkDebugUtilsMessengerCallbackDataEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugUtilsMessengerCallbackDataFlagsEXT = 0.VkDebugUtilsMessengerCallbackDataFlagsEXT, pMessageIdName: cstring, messageIdNumber: int32, pMessage: cstring, queueLabelCount: uint32, pQueueLabels: ptr VkDebugUtilsLabelEXT, cmdBufLabelCount: uint32, pCmdBufLabels: ptr VkDebugUtilsLabelEXT, objectCount: uint32, pObjects: ptr VkDebugUtilsObjectNameInfoEXT): VkDebugUtilsMessengerCallbackDataEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pMessageIdName = pMessageIdName + result.messageIdNumber = messageIdNumber + result.pMessage = pMessage + result.queueLabelCount = queueLabelCount + result.pQueueLabels = pQueueLabels + result.cmdBufLabelCount = cmdBufLabelCount + result.pCmdBufLabels = pCmdBufLabels + result.objectCount = objectCount + result.pObjects = pObjects + +proc newVkPhysicalDeviceDeviceMemoryReportFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, deviceMemoryReport: VkBool32): VkPhysicalDeviceDeviceMemoryReportFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.deviceMemoryReport = deviceMemoryReport + +proc newVkDeviceDeviceMemoryReportCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceMemoryReportFlagsEXT = 0.VkDeviceMemoryReportFlagsEXT, pfnUserCallback: PFN_vkDeviceMemoryReportCallbackEXT, pUserData: pointer = nil): VkDeviceDeviceMemoryReportCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pfnUserCallback = pfnUserCallback + result.pUserData = pUserData + +proc newVkDeviceMemoryReportCallbackDataEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceMemoryReportFlagsEXT = 0.VkDeviceMemoryReportFlagsEXT, `type`: VkDeviceMemoryReportEventTypeEXT, memoryObjectId: uint64, size: VkDeviceSize, objectType: VkObjectType, objectHandle: uint64, heapIndex: uint32): VkDeviceMemoryReportCallbackDataEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.`type` = `type` + result.memoryObjectId = memoryObjectId + result.size = size + result.objectType = objectType + result.objectHandle = objectHandle + result.heapIndex = heapIndex + +proc newVkImportMemoryHostPointerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, pHostPointer: pointer = nil): VkImportMemoryHostPointerInfoEXT = + result.sType = sType + result.pNext = pNext + result.handleType = handleType + result.pHostPointer = pHostPointer + +proc newVkMemoryHostPointerPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryHostPointerPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.memoryTypeBits = memoryTypeBits + +proc newVkPhysicalDeviceExternalMemoryHostPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, minImportedHostPointerAlignment: VkDeviceSize): VkPhysicalDeviceExternalMemoryHostPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.minImportedHostPointerAlignment = minImportedHostPointerAlignment + +proc newVkPhysicalDeviceConservativeRasterizationPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, primitiveOverestimationSize: float32, maxExtraPrimitiveOverestimationSize: float32, extraPrimitiveOverestimationSizeGranularity: float32, primitiveUnderestimation: VkBool32, conservativePointAndLineRasterization: VkBool32, degenerateTrianglesRasterized: VkBool32, degenerateLinesRasterized: VkBool32, fullyCoveredFragmentShaderInputVariable: VkBool32, conservativeRasterizationPostDepthCoverage: VkBool32): VkPhysicalDeviceConservativeRasterizationPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.primitiveOverestimationSize = primitiveOverestimationSize + result.maxExtraPrimitiveOverestimationSize = maxExtraPrimitiveOverestimationSize + result.extraPrimitiveOverestimationSizeGranularity = extraPrimitiveOverestimationSizeGranularity + result.primitiveUnderestimation = primitiveUnderestimation + result.conservativePointAndLineRasterization = conservativePointAndLineRasterization + result.degenerateTrianglesRasterized = degenerateTrianglesRasterized + result.degenerateLinesRasterized = degenerateLinesRasterized + result.fullyCoveredFragmentShaderInputVariable = fullyCoveredFragmentShaderInputVariable + result.conservativeRasterizationPostDepthCoverage = conservativeRasterizationPostDepthCoverage + +proc newVkCalibratedTimestampInfoEXT*(sType: VkStructureType, pNext: pointer = nil, timeDomain: VkTimeDomainEXT): VkCalibratedTimestampInfoEXT = + result.sType = sType + result.pNext = pNext + result.timeDomain = timeDomain + +proc newVkPhysicalDeviceShaderCorePropertiesAMD*(sType: VkStructureType, pNext: pointer = nil, shaderEngineCount: uint32, shaderArraysPerEngineCount: uint32, computeUnitsPerShaderArray: uint32, simdPerComputeUnit: uint32, wavefrontsPerSimd: uint32, wavefrontSize: uint32, sgprsPerSimd: uint32, minSgprAllocation: uint32, maxSgprAllocation: uint32, sgprAllocationGranularity: uint32, vgprsPerSimd: uint32, minVgprAllocation: uint32, maxVgprAllocation: uint32, vgprAllocationGranularity: uint32): VkPhysicalDeviceShaderCorePropertiesAMD = + result.sType = sType + result.pNext = pNext + result.shaderEngineCount = shaderEngineCount + result.shaderArraysPerEngineCount = shaderArraysPerEngineCount + result.computeUnitsPerShaderArray = computeUnitsPerShaderArray + result.simdPerComputeUnit = simdPerComputeUnit + result.wavefrontsPerSimd = wavefrontsPerSimd + result.wavefrontSize = wavefrontSize + result.sgprsPerSimd = sgprsPerSimd + result.minSgprAllocation = minSgprAllocation + result.maxSgprAllocation = maxSgprAllocation + result.sgprAllocationGranularity = sgprAllocationGranularity + result.vgprsPerSimd = vgprsPerSimd + result.minVgprAllocation = minVgprAllocation + result.maxVgprAllocation = maxVgprAllocation + result.vgprAllocationGranularity = vgprAllocationGranularity + +proc newVkPhysicalDeviceShaderCoreProperties2AMD*(sType: VkStructureType, pNext: pointer = nil, shaderCoreFeatures: VkShaderCorePropertiesFlagsAMD, activeComputeUnitCount: uint32): VkPhysicalDeviceShaderCoreProperties2AMD = + result.sType = sType + result.pNext = pNext + result.shaderCoreFeatures = shaderCoreFeatures + result.activeComputeUnitCount = activeComputeUnitCount + +proc newVkPipelineRasterizationConservativeStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT = 0.VkPipelineRasterizationConservativeStateCreateFlagsEXT, conservativeRasterizationMode: VkConservativeRasterizationModeEXT, extraPrimitiveOverestimationSize: float32): VkPipelineRasterizationConservativeStateCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.conservativeRasterizationMode = conservativeRasterizationMode + result.extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize + +proc newVkPhysicalDeviceDescriptorIndexingFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderInputAttachmentArrayDynamicIndexing: VkBool32, shaderUniformTexelBufferArrayDynamicIndexing: VkBool32, shaderStorageTexelBufferArrayDynamicIndexing: VkBool32, shaderUniformBufferArrayNonUniformIndexing: VkBool32, shaderSampledImageArrayNonUniformIndexing: VkBool32, shaderStorageBufferArrayNonUniformIndexing: VkBool32, shaderStorageImageArrayNonUniformIndexing: VkBool32, shaderInputAttachmentArrayNonUniformIndexing: VkBool32, shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32, shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32, descriptorBindingUniformBufferUpdateAfterBind: VkBool32, descriptorBindingSampledImageUpdateAfterBind: VkBool32, descriptorBindingStorageImageUpdateAfterBind: VkBool32, descriptorBindingStorageBufferUpdateAfterBind: VkBool32, descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32, descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32, descriptorBindingUpdateUnusedWhilePending: VkBool32, descriptorBindingPartiallyBound: VkBool32, descriptorBindingVariableDescriptorCount: VkBool32, runtimeDescriptorArray: VkBool32): VkPhysicalDeviceDescriptorIndexingFeatures = + result.sType = sType + result.pNext = pNext + result.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing + result.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing + result.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing + result.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing + result.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing + result.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing + result.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing + result.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing + result.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing + result.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing + result.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind + result.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind + result.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind + result.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind + result.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind + result.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind + result.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending + result.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound + result.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount + result.runtimeDescriptorArray = runtimeDescriptorArray + +proc newVkPhysicalDeviceDescriptorIndexingProperties*(sType: VkStructureType, pNext: pointer = nil, maxUpdateAfterBindDescriptorsInAllPools: uint32, shaderUniformBufferArrayNonUniformIndexingNative: VkBool32, shaderSampledImageArrayNonUniformIndexingNative: VkBool32, shaderStorageBufferArrayNonUniformIndexingNative: VkBool32, shaderStorageImageArrayNonUniformIndexingNative: VkBool32, shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32, robustBufferAccessUpdateAfterBind: VkBool32, quadDivergentImplicitLod: VkBool32, maxPerStageDescriptorUpdateAfterBindSamplers: uint32, maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32, maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32, maxPerStageDescriptorUpdateAfterBindSampledImages: uint32, maxPerStageDescriptorUpdateAfterBindStorageImages: uint32, maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32, maxPerStageUpdateAfterBindResources: uint32, maxDescriptorSetUpdateAfterBindSamplers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindStorageBuffers: uint32, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindSampledImages: uint32, maxDescriptorSetUpdateAfterBindStorageImages: uint32, maxDescriptorSetUpdateAfterBindInputAttachments: uint32): VkPhysicalDeviceDescriptorIndexingProperties = + result.sType = sType + result.pNext = pNext + result.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools + result.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative + result.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative + result.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative + result.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative + result.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative + result.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind + result.quadDivergentImplicitLod = quadDivergentImplicitLod + result.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers + result.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers + result.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers + result.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages + result.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages + result.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments + result.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources + result.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers + result.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers + result.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + result.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers + result.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + result.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages + result.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages + result.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments + +proc newVkDescriptorSetLayoutBindingFlagsCreateInfo*(sType: VkStructureType, pNext: pointer = nil, bindingCount: uint32, pBindingFlags: ptr VkDescriptorBindingFlags): VkDescriptorSetLayoutBindingFlagsCreateInfo = + result.sType = sType + result.pNext = pNext + result.bindingCount = bindingCount + result.pBindingFlags = pBindingFlags + +proc newVkDescriptorSetVariableDescriptorCountAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, descriptorSetCount: uint32, pDescriptorCounts: ptr uint32): VkDescriptorSetVariableDescriptorCountAllocateInfo = + result.sType = sType + result.pNext = pNext + result.descriptorSetCount = descriptorSetCount + result.pDescriptorCounts = pDescriptorCounts + +proc newVkDescriptorSetVariableDescriptorCountLayoutSupport*(sType: VkStructureType, pNext: pointer = nil, maxVariableDescriptorCount: uint32): VkDescriptorSetVariableDescriptorCountLayoutSupport = + result.sType = sType + result.pNext = pNext + result.maxVariableDescriptorCount = maxVariableDescriptorCount + +proc newVkAttachmentDescription2*(sType: VkStructureType, pNext: pointer = nil, flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags, format: VkFormat, samples: VkSampleCountFlagBits, loadOp: VkAttachmentLoadOp, storeOp: VkAttachmentStoreOp, stencilLoadOp: VkAttachmentLoadOp, stencilStoreOp: VkAttachmentStoreOp, initialLayout: VkImageLayout, finalLayout: VkImageLayout): VkAttachmentDescription2 = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.format = format + result.samples = samples + result.loadOp = loadOp + result.storeOp = storeOp + result.stencilLoadOp = stencilLoadOp + result.stencilStoreOp = stencilStoreOp + result.initialLayout = initialLayout + result.finalLayout = finalLayout + +proc newVkAttachmentReference2*(sType: VkStructureType, pNext: pointer = nil, attachment: uint32, layout: VkImageLayout, aspectMask: VkImageAspectFlags): VkAttachmentReference2 = + result.sType = sType + result.pNext = pNext + result.attachment = attachment + result.layout = layout + result.aspectMask = aspectMask + +proc newVkSubpassDescription2*(sType: VkStructureType, pNext: pointer = nil, flags: VkSubpassDescriptionFlags = 0.VkSubpassDescriptionFlags, pipelineBindPoint: VkPipelineBindPoint, viewMask: uint32, inputAttachmentCount: uint32, pInputAttachments: ptr VkAttachmentReference2, colorAttachmentCount: uint32, pColorAttachments: ptr VkAttachmentReference2, pResolveAttachments: ptr VkAttachmentReference2, pDepthStencilAttachment: ptr VkAttachmentReference2, preserveAttachmentCount: uint32, pPreserveAttachments: ptr uint32): VkSubpassDescription2 = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pipelineBindPoint = pipelineBindPoint + result.viewMask = viewMask + result.inputAttachmentCount = inputAttachmentCount + result.pInputAttachments = pInputAttachments + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachments = pColorAttachments + result.pResolveAttachments = pResolveAttachments + result.pDepthStencilAttachment = pDepthStencilAttachment + result.preserveAttachmentCount = preserveAttachmentCount + result.pPreserveAttachments = pPreserveAttachments + +proc newVkSubpassDependency2*(sType: VkStructureType, pNext: pointer = nil, srcSubpass: uint32, dstSubpass: uint32, srcStageMask: VkPipelineStageFlags, dstStageMask: VkPipelineStageFlags, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, dependencyFlags: VkDependencyFlags, viewOffset: int32): VkSubpassDependency2 = + result.sType = sType + result.pNext = pNext + result.srcSubpass = srcSubpass + result.dstSubpass = dstSubpass + result.srcStageMask = srcStageMask + result.dstStageMask = dstStageMask + result.srcAccessMask = srcAccessMask + result.dstAccessMask = dstAccessMask + result.dependencyFlags = dependencyFlags + result.viewOffset = viewOffset + +proc newVkRenderPassCreateInfo2*(sType: VkStructureType, pNext: pointer = nil, flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags, attachmentCount: uint32, pAttachments: ptr VkAttachmentDescription2, subpassCount: uint32, pSubpasses: ptr VkSubpassDescription2, dependencyCount: uint32, pDependencies: ptr VkSubpassDependency2, correlatedViewMaskCount: uint32, pCorrelatedViewMasks: ptr uint32): VkRenderPassCreateInfo2 = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.attachmentCount = attachmentCount + result.pAttachments = pAttachments + result.subpassCount = subpassCount + result.pSubpasses = pSubpasses + result.dependencyCount = dependencyCount result.pDependencies = pDependencies + result.correlatedViewMaskCount = correlatedViewMaskCount + result.pCorrelatedViewMasks = pCorrelatedViewMasks + +proc newVkSubpassBeginInfo*(sType: VkStructureType, pNext: pointer = nil, contents: VkSubpassContents): VkSubpassBeginInfo = + result.sType = sType + result.pNext = pNext + result.contents = contents + +proc newVkSubpassEndInfo*(sType: VkStructureType, pNext: pointer = nil): VkSubpassEndInfo = + result.sType = sType + result.pNext = pNext + +proc newVkPhysicalDeviceTimelineSemaphoreFeatures*(sType: VkStructureType, pNext: pointer = nil, timelineSemaphore: VkBool32): VkPhysicalDeviceTimelineSemaphoreFeatures = + result.sType = sType + result.pNext = pNext + result.timelineSemaphore = timelineSemaphore + +proc newVkPhysicalDeviceTimelineSemaphoreProperties*(sType: VkStructureType, pNext: pointer = nil, maxTimelineSemaphoreValueDifference: uint64): VkPhysicalDeviceTimelineSemaphoreProperties = + result.sType = sType + result.pNext = pNext + result.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference + +proc newVkSemaphoreTypeCreateInfo*(sType: VkStructureType, pNext: pointer = nil, semaphoreType: VkSemaphoreType, initialValue: uint64): VkSemaphoreTypeCreateInfo = + result.sType = sType + result.pNext = pNext + result.semaphoreType = semaphoreType + result.initialValue = initialValue + +proc newVkTimelineSemaphoreSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreValueCount: uint32, pWaitSemaphoreValues: ptr uint64, signalSemaphoreValueCount: uint32, pSignalSemaphoreValues: ptr uint64): VkTimelineSemaphoreSubmitInfo = + result.sType = sType + result.pNext = pNext + result.waitSemaphoreValueCount = waitSemaphoreValueCount + result.pWaitSemaphoreValues = pWaitSemaphoreValues + result.signalSemaphoreValueCount = signalSemaphoreValueCount + result.pSignalSemaphoreValues = pSignalSemaphoreValues + +proc newVkSemaphoreWaitInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkSemaphoreWaitFlags = 0.VkSemaphoreWaitFlags, semaphoreCount: uint32, pSemaphores: ptr VkSemaphore, pValues: ptr uint64): VkSemaphoreWaitInfo = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.semaphoreCount = semaphoreCount + result.pSemaphores = pSemaphores + result.pValues = pValues + +proc newVkSemaphoreSignalInfo*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, value: uint64): VkSemaphoreSignalInfo = + result.sType = sType + result.pNext = pNext + result.semaphore = semaphore + result.value = value + +proc newVkVertexInputBindingDivisorDescriptionEXT*(binding: uint32, divisor: uint32): VkVertexInputBindingDivisorDescriptionEXT = + result.binding = binding + result.divisor = divisor + +proc newVkPipelineVertexInputDivisorStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, vertexBindingDivisorCount: uint32, pVertexBindingDivisors: ptr VkVertexInputBindingDivisorDescriptionEXT): VkPipelineVertexInputDivisorStateCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.vertexBindingDivisorCount = vertexBindingDivisorCount + result.pVertexBindingDivisors = pVertexBindingDivisors + +proc newVkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxVertexAttribDivisor: uint32): VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxVertexAttribDivisor = maxVertexAttribDivisor + +proc newVkPhysicalDevicePCIBusInfoPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, pciDomain: uint32, pciBus: uint32, pciDevice: uint32, pciFunction: uint32): VkPhysicalDevicePCIBusInfoPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.pciDomain = pciDomain + result.pciBus = pciBus + result.pciDevice = pciDevice + result.pciFunction = pciFunction + +proc newVkImportAndroidHardwareBufferInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, buffer: ptr AHardwareBuffer): VkImportAndroidHardwareBufferInfoANDROID = + result.sType = sType + result.pNext = pNext + result.buffer = buffer + +proc newVkAndroidHardwareBufferUsageANDROID*(sType: VkStructureType, pNext: pointer = nil, androidHardwareBufferUsage: uint64): VkAndroidHardwareBufferUsageANDROID = + result.sType = sType + result.pNext = pNext + result.androidHardwareBufferUsage = androidHardwareBufferUsage + +proc newVkAndroidHardwareBufferPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, allocationSize: VkDeviceSize, memoryTypeBits: uint32): VkAndroidHardwareBufferPropertiesANDROID = + result.sType = sType + result.pNext = pNext + result.allocationSize = allocationSize + result.memoryTypeBits = memoryTypeBits + +proc newVkMemoryGetAndroidHardwareBufferInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory): VkMemoryGetAndroidHardwareBufferInfoANDROID = + result.sType = sType + result.pNext = pNext + result.memory = memory + +proc newVkAndroidHardwareBufferFormatPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, externalFormat: uint64, formatFeatures: VkFormatFeatureFlags, samplerYcbcrConversionComponents: VkComponentMapping, suggestedYcbcrModel: VkSamplerYcbcrModelConversion, suggestedYcbcrRange: VkSamplerYcbcrRange, suggestedXChromaOffset: VkChromaLocation, suggestedYChromaOffset: VkChromaLocation): VkAndroidHardwareBufferFormatPropertiesANDROID = + result.sType = sType + result.pNext = pNext + result.format = format + result.externalFormat = externalFormat + result.formatFeatures = formatFeatures + result.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents + result.suggestedYcbcrModel = suggestedYcbcrModel + result.suggestedYcbcrRange = suggestedYcbcrRange + result.suggestedXChromaOffset = suggestedXChromaOffset + result.suggestedYChromaOffset = suggestedYChromaOffset + +proc newVkCommandBufferInheritanceConditionalRenderingInfoEXT*(sType: VkStructureType, pNext: pointer = nil, conditionalRenderingEnable: VkBool32): VkCommandBufferInheritanceConditionalRenderingInfoEXT = + result.sType = sType + result.pNext = pNext + result.conditionalRenderingEnable = conditionalRenderingEnable + +proc newVkExternalFormatANDROID*(sType: VkStructureType, pNext: pointer = nil, externalFormat: uint64): VkExternalFormatANDROID = + result.sType = sType + result.pNext = pNext + result.externalFormat = externalFormat + +proc newVkPhysicalDevice8BitStorageFeatures*(sType: VkStructureType, pNext: pointer = nil, storageBuffer8BitAccess: VkBool32, uniformAndStorageBuffer8BitAccess: VkBool32, storagePushConstant8: VkBool32): VkPhysicalDevice8BitStorageFeatures = + result.sType = sType + result.pNext = pNext + result.storageBuffer8BitAccess = storageBuffer8BitAccess + result.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess + result.storagePushConstant8 = storagePushConstant8 + +proc newVkPhysicalDeviceConditionalRenderingFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, conditionalRendering: VkBool32, inheritedConditionalRendering: VkBool32): VkPhysicalDeviceConditionalRenderingFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.conditionalRendering = conditionalRendering + result.inheritedConditionalRendering = inheritedConditionalRendering + +proc newVkPhysicalDeviceVulkanMemoryModelFeatures*(sType: VkStructureType, pNext: pointer = nil, vulkanMemoryModel: VkBool32, vulkanMemoryModelDeviceScope: VkBool32, vulkanMemoryModelAvailabilityVisibilityChains: VkBool32): VkPhysicalDeviceVulkanMemoryModelFeatures = + result.sType = sType + result.pNext = pNext + result.vulkanMemoryModel = vulkanMemoryModel + result.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope + result.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains + +proc newVkPhysicalDeviceShaderAtomicInt64Features*(sType: VkStructureType, pNext: pointer = nil, shaderBufferInt64Atomics: VkBool32, shaderSharedInt64Atomics: VkBool32): VkPhysicalDeviceShaderAtomicInt64Features = + result.sType = sType + result.pNext = pNext + result.shaderBufferInt64Atomics = shaderBufferInt64Atomics + result.shaderSharedInt64Atomics = shaderSharedInt64Atomics + +proc newVkPhysicalDeviceShaderAtomicFloatFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderBufferFloat32Atomics: VkBool32, shaderBufferFloat32AtomicAdd: VkBool32, shaderBufferFloat64Atomics: VkBool32, shaderBufferFloat64AtomicAdd: VkBool32, shaderSharedFloat32Atomics: VkBool32, shaderSharedFloat32AtomicAdd: VkBool32, shaderSharedFloat64Atomics: VkBool32, shaderSharedFloat64AtomicAdd: VkBool32, shaderImageFloat32Atomics: VkBool32, shaderImageFloat32AtomicAdd: VkBool32, sparseImageFloat32Atomics: VkBool32, sparseImageFloat32AtomicAdd: VkBool32): VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.shaderBufferFloat32Atomics = shaderBufferFloat32Atomics + result.shaderBufferFloat32AtomicAdd = shaderBufferFloat32AtomicAdd + result.shaderBufferFloat64Atomics = shaderBufferFloat64Atomics + result.shaderBufferFloat64AtomicAdd = shaderBufferFloat64AtomicAdd + result.shaderSharedFloat32Atomics = shaderSharedFloat32Atomics + result.shaderSharedFloat32AtomicAdd = shaderSharedFloat32AtomicAdd + result.shaderSharedFloat64Atomics = shaderSharedFloat64Atomics + result.shaderSharedFloat64AtomicAdd = shaderSharedFloat64AtomicAdd + result.shaderImageFloat32Atomics = shaderImageFloat32Atomics + result.shaderImageFloat32AtomicAdd = shaderImageFloat32AtomicAdd + result.sparseImageFloat32Atomics = sparseImageFloat32Atomics + result.sparseImageFloat32AtomicAdd = sparseImageFloat32AtomicAdd + +proc newVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderBufferFloat16Atomics: VkBool32, shaderBufferFloat16AtomicAdd: VkBool32, shaderBufferFloat16AtomicMinMax: VkBool32, shaderBufferFloat32AtomicMinMax: VkBool32, shaderBufferFloat64AtomicMinMax: VkBool32, shaderSharedFloat16Atomics: VkBool32, shaderSharedFloat16AtomicAdd: VkBool32, shaderSharedFloat16AtomicMinMax: VkBool32, shaderSharedFloat32AtomicMinMax: VkBool32, shaderSharedFloat64AtomicMinMax: VkBool32, shaderImageFloat32AtomicMinMax: VkBool32, sparseImageFloat32AtomicMinMax: VkBool32): VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT = + result.sType = sType + result.pNext = pNext + result.shaderBufferFloat16Atomics = shaderBufferFloat16Atomics + result.shaderBufferFloat16AtomicAdd = shaderBufferFloat16AtomicAdd + result.shaderBufferFloat16AtomicMinMax = shaderBufferFloat16AtomicMinMax + result.shaderBufferFloat32AtomicMinMax = shaderBufferFloat32AtomicMinMax + result.shaderBufferFloat64AtomicMinMax = shaderBufferFloat64AtomicMinMax + result.shaderSharedFloat16Atomics = shaderSharedFloat16Atomics + result.shaderSharedFloat16AtomicAdd = shaderSharedFloat16AtomicAdd + result.shaderSharedFloat16AtomicMinMax = shaderSharedFloat16AtomicMinMax + result.shaderSharedFloat32AtomicMinMax = shaderSharedFloat32AtomicMinMax + result.shaderSharedFloat64AtomicMinMax = shaderSharedFloat64AtomicMinMax + result.shaderImageFloat32AtomicMinMax = shaderImageFloat32AtomicMinMax + result.sparseImageFloat32AtomicMinMax = sparseImageFloat32AtomicMinMax + +proc newVkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, vertexAttributeInstanceRateDivisor: VkBool32, vertexAttributeInstanceRateZeroDivisor: VkBool32): VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor + result.vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor + +proc newVkQueueFamilyCheckpointPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, checkpointExecutionStageMask: VkPipelineStageFlags): VkQueueFamilyCheckpointPropertiesNV = + result.sType = sType + result.pNext = pNext + result.checkpointExecutionStageMask = checkpointExecutionStageMask + +proc newVkCheckpointDataNV*(sType: VkStructureType, pNext: pointer = nil, stage: VkPipelineStageFlagBits, pCheckpointMarker: pointer = nil): VkCheckpointDataNV = + result.sType = sType + result.pNext = pNext + result.stage = stage + result.pCheckpointMarker = pCheckpointMarker + +proc newVkPhysicalDeviceDepthStencilResolveProperties*(sType: VkStructureType, pNext: pointer = nil, supportedDepthResolveModes: VkResolveModeFlags, supportedStencilResolveModes: VkResolveModeFlags, independentResolveNone: VkBool32, independentResolve: VkBool32): VkPhysicalDeviceDepthStencilResolveProperties = + result.sType = sType + result.pNext = pNext + result.supportedDepthResolveModes = supportedDepthResolveModes + result.supportedStencilResolveModes = supportedStencilResolveModes + result.independentResolveNone = independentResolveNone + result.independentResolve = independentResolve + +proc newVkSubpassDescriptionDepthStencilResolve*(sType: VkStructureType, pNext: pointer = nil, depthResolveMode: VkResolveModeFlagBits, stencilResolveMode: VkResolveModeFlagBits, pDepthStencilResolveAttachment: ptr VkAttachmentReference2): VkSubpassDescriptionDepthStencilResolve = + result.sType = sType + result.pNext = pNext + result.depthResolveMode = depthResolveMode + result.stencilResolveMode = stencilResolveMode + result.pDepthStencilResolveAttachment = pDepthStencilResolveAttachment + +proc newVkImageViewASTCDecodeModeEXT*(sType: VkStructureType, pNext: pointer = nil, decodeMode: VkFormat): VkImageViewASTCDecodeModeEXT = + result.sType = sType + result.pNext = pNext + result.decodeMode = decodeMode + +proc newVkPhysicalDeviceASTCDecodeFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, decodeModeSharedExponent: VkBool32): VkPhysicalDeviceASTCDecodeFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.decodeModeSharedExponent = decodeModeSharedExponent + +proc newVkPhysicalDeviceTransformFeedbackFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, transformFeedback: VkBool32, geometryStreams: VkBool32): VkPhysicalDeviceTransformFeedbackFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.transformFeedback = transformFeedback + result.geometryStreams = geometryStreams + +proc newVkPhysicalDeviceTransformFeedbackPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxTransformFeedbackStreams: uint32, maxTransformFeedbackBuffers: uint32, maxTransformFeedbackBufferSize: VkDeviceSize, maxTransformFeedbackStreamDataSize: uint32, maxTransformFeedbackBufferDataSize: uint32, maxTransformFeedbackBufferDataStride: uint32, transformFeedbackQueries: VkBool32, transformFeedbackStreamsLinesTriangles: VkBool32, transformFeedbackRasterizationStreamSelect: VkBool32, transformFeedbackDraw: VkBool32): VkPhysicalDeviceTransformFeedbackPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxTransformFeedbackStreams = maxTransformFeedbackStreams + result.maxTransformFeedbackBuffers = maxTransformFeedbackBuffers + result.maxTransformFeedbackBufferSize = maxTransformFeedbackBufferSize + result.maxTransformFeedbackStreamDataSize = maxTransformFeedbackStreamDataSize + result.maxTransformFeedbackBufferDataSize = maxTransformFeedbackBufferDataSize + result.maxTransformFeedbackBufferDataStride = maxTransformFeedbackBufferDataStride + result.transformFeedbackQueries = transformFeedbackQueries + result.transformFeedbackStreamsLinesTriangles = transformFeedbackStreamsLinesTriangles + result.transformFeedbackRasterizationStreamSelect = transformFeedbackRasterizationStreamSelect + result.transformFeedbackDraw = transformFeedbackDraw + +proc newVkPipelineRasterizationStateStreamCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationStateStreamCreateFlagsEXT = 0.VkPipelineRasterizationStateStreamCreateFlagsEXT, rasterizationStream: uint32): VkPipelineRasterizationStateStreamCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.rasterizationStream = rasterizationStream + +proc newVkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, representativeFragmentTest: VkBool32): VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = + result.sType = sType + result.pNext = pNext + result.representativeFragmentTest = representativeFragmentTest + +proc newVkPipelineRepresentativeFragmentTestStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, representativeFragmentTestEnable: VkBool32): VkPipelineRepresentativeFragmentTestStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.representativeFragmentTestEnable = representativeFragmentTestEnable + +proc newVkPhysicalDeviceExclusiveScissorFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, exclusiveScissor: VkBool32): VkPhysicalDeviceExclusiveScissorFeaturesNV = + result.sType = sType + result.pNext = pNext + result.exclusiveScissor = exclusiveScissor + +proc newVkPipelineViewportExclusiveScissorStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D): VkPipelineViewportExclusiveScissorStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.exclusiveScissorCount = exclusiveScissorCount + result.pExclusiveScissors = pExclusiveScissors + +proc newVkPhysicalDeviceCornerSampledImageFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, cornerSampledImage: VkBool32): VkPhysicalDeviceCornerSampledImageFeaturesNV = + result.sType = sType + result.pNext = pNext + result.cornerSampledImage = cornerSampledImage + +proc newVkPhysicalDeviceComputeShaderDerivativesFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, computeDerivativeGroupQuads: VkBool32, computeDerivativeGroupLinear: VkBool32): VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = + result.sType = sType + result.pNext = pNext + result.computeDerivativeGroupQuads = computeDerivativeGroupQuads + result.computeDerivativeGroupLinear = computeDerivativeGroupLinear + +proc newVkPhysicalDeviceShaderImageFootprintFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, imageFootprint: VkBool32): VkPhysicalDeviceShaderImageFootprintFeaturesNV = + result.sType = sType + result.pNext = pNext + result.imageFootprint = imageFootprint + +proc newVkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocationImageAliasing: VkBool32): VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = + result.sType = sType + result.pNext = pNext + result.dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing + +proc newVkPhysicalDeviceCopyMemoryIndirectFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, indirectCopy: VkBool32): VkPhysicalDeviceCopyMemoryIndirectFeaturesNV = + result.sType = sType + result.pNext = pNext + result.indirectCopy = indirectCopy + +proc newVkPhysicalDeviceCopyMemoryIndirectPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, supportedQueues: VkQueueFlags): VkPhysicalDeviceCopyMemoryIndirectPropertiesNV = + result.sType = sType + result.pNext = pNext + result.supportedQueues = supportedQueues + +proc newVkPhysicalDeviceMemoryDecompressionFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, memoryDecompression: VkBool32): VkPhysicalDeviceMemoryDecompressionFeaturesNV = + result.sType = sType + result.pNext = pNext + result.memoryDecompression = memoryDecompression + +proc newVkPhysicalDeviceMemoryDecompressionPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, decompressionMethods: VkMemoryDecompressionMethodFlagsNV, maxDecompressionIndirectCount: uint64): VkPhysicalDeviceMemoryDecompressionPropertiesNV = + result.sType = sType + result.pNext = pNext + result.decompressionMethods = decompressionMethods + result.maxDecompressionIndirectCount = maxDecompressionIndirectCount + +proc newVkShadingRatePaletteNV*(shadingRatePaletteEntryCount: uint32, pShadingRatePaletteEntries: ptr VkShadingRatePaletteEntryNV): VkShadingRatePaletteNV = + result.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount + result.pShadingRatePaletteEntries = pShadingRatePaletteEntries + +proc newVkPipelineViewportShadingRateImageStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateImageEnable: VkBool32, viewportCount: uint32, pShadingRatePalettes: ptr VkShadingRatePaletteNV): VkPipelineViewportShadingRateImageStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.shadingRateImageEnable = shadingRateImageEnable + result.viewportCount = viewportCount + result.pShadingRatePalettes = pShadingRatePalettes + +proc newVkPhysicalDeviceShadingRateImageFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateImage: VkBool32, shadingRateCoarseSampleOrder: VkBool32): VkPhysicalDeviceShadingRateImageFeaturesNV = + result.sType = sType + result.pNext = pNext + result.shadingRateImage = shadingRateImage + result.shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder + +proc newVkPhysicalDeviceShadingRateImagePropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateTexelSize: VkExtent2D, shadingRatePaletteSize: uint32, shadingRateMaxCoarseSamples: uint32): VkPhysicalDeviceShadingRateImagePropertiesNV = + result.sType = sType + result.pNext = pNext + result.shadingRateTexelSize = shadingRateTexelSize + result.shadingRatePaletteSize = shadingRatePaletteSize + result.shadingRateMaxCoarseSamples = shadingRateMaxCoarseSamples + +proc newVkPhysicalDeviceInvocationMaskFeaturesHUAWEI*(sType: VkStructureType, pNext: pointer = nil, invocationMask: VkBool32): VkPhysicalDeviceInvocationMaskFeaturesHUAWEI = + result.sType = sType + result.pNext = pNext + result.invocationMask = invocationMask + +proc newVkCoarseSampleLocationNV*(pixelX: uint32, pixelY: uint32, sample: uint32): VkCoarseSampleLocationNV = + result.pixelX = pixelX + result.pixelY = pixelY + result.sample = sample + +proc newVkCoarseSampleOrderCustomNV*(shadingRate: VkShadingRatePaletteEntryNV, sampleCount: uint32, sampleLocationCount: uint32, pSampleLocations: ptr VkCoarseSampleLocationNV): VkCoarseSampleOrderCustomNV = + result.shadingRate = shadingRate + result.sampleCount = sampleCount + result.sampleLocationCount = sampleLocationCount + result.pSampleLocations = pSampleLocations + +proc newVkPipelineViewportCoarseSampleOrderStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, sampleOrderType: VkCoarseSampleOrderTypeNV, customSampleOrderCount: uint32, pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.sampleOrderType = sampleOrderType + result.customSampleOrderCount = customSampleOrderCount + result.pCustomSampleOrders = pCustomSampleOrders + +proc newVkPhysicalDeviceMeshShaderFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, taskShader: VkBool32, meshShader: VkBool32): VkPhysicalDeviceMeshShaderFeaturesNV = + result.sType = sType + result.pNext = pNext + result.taskShader = taskShader + result.meshShader = meshShader + +proc newVkPhysicalDeviceMeshShaderPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxDrawMeshTasksCount: uint32, maxTaskWorkGroupInvocations: uint32, maxTaskWorkGroupSize: array[3, uint32], maxTaskTotalMemorySize: uint32, maxTaskOutputCount: uint32, maxMeshWorkGroupInvocations: uint32, maxMeshWorkGroupSize: array[3, uint32], maxMeshTotalMemorySize: uint32, maxMeshOutputVertices: uint32, maxMeshOutputPrimitives: uint32, maxMeshMultiviewViewCount: uint32, meshOutputPerVertexGranularity: uint32, meshOutputPerPrimitiveGranularity: uint32): VkPhysicalDeviceMeshShaderPropertiesNV = + result.sType = sType + result.pNext = pNext + result.maxDrawMeshTasksCount = maxDrawMeshTasksCount + result.maxTaskWorkGroupInvocations = maxTaskWorkGroupInvocations + result.maxTaskWorkGroupSize = maxTaskWorkGroupSize + result.maxTaskTotalMemorySize = maxTaskTotalMemorySize + result.maxTaskOutputCount = maxTaskOutputCount + result.maxMeshWorkGroupInvocations = maxMeshWorkGroupInvocations + result.maxMeshWorkGroupSize = maxMeshWorkGroupSize + result.maxMeshTotalMemorySize = maxMeshTotalMemorySize + result.maxMeshOutputVertices = maxMeshOutputVertices + result.maxMeshOutputPrimitives = maxMeshOutputPrimitives + result.maxMeshMultiviewViewCount = maxMeshMultiviewViewCount + result.meshOutputPerVertexGranularity = meshOutputPerVertexGranularity + result.meshOutputPerPrimitiveGranularity = meshOutputPerPrimitiveGranularity + +proc newVkDrawMeshTasksIndirectCommandNV*(taskCount: uint32, firstTask: uint32): VkDrawMeshTasksIndirectCommandNV = + result.taskCount = taskCount + result.firstTask = firstTask + +proc newVkPhysicalDeviceMeshShaderFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, taskShader: VkBool32, meshShader: VkBool32, multiviewMeshShader: VkBool32, primitiveFragmentShadingRateMeshShader: VkBool32, meshShaderQueries: VkBool32): VkPhysicalDeviceMeshShaderFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.taskShader = taskShader + result.meshShader = meshShader + result.multiviewMeshShader = multiviewMeshShader + result.primitiveFragmentShadingRateMeshShader = primitiveFragmentShadingRateMeshShader + result.meshShaderQueries = meshShaderQueries + +proc newVkPhysicalDeviceMeshShaderPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxTaskWorkGroupTotalCount: uint32, maxTaskWorkGroupCount: array[3, uint32], maxTaskWorkGroupInvocations: uint32, maxTaskWorkGroupSize: array[3, uint32], maxTaskPayloadSize: uint32, maxTaskSharedMemorySize: uint32, maxTaskPayloadAndSharedMemorySize: uint32, maxMeshWorkGroupTotalCount: uint32, maxMeshWorkGroupCount: array[3, uint32], maxMeshWorkGroupInvocations: uint32, maxMeshWorkGroupSize: array[3, uint32], maxMeshSharedMemorySize: uint32, maxMeshPayloadAndSharedMemorySize: uint32, maxMeshOutputMemorySize: uint32, maxMeshPayloadAndOutputMemorySize: uint32, maxMeshOutputComponents: uint32, maxMeshOutputVertices: uint32, maxMeshOutputPrimitives: uint32, maxMeshOutputLayers: uint32, maxMeshMultiviewViewCount: uint32, meshOutputPerVertexGranularity: uint32, meshOutputPerPrimitiveGranularity: uint32, maxPreferredTaskWorkGroupInvocations: uint32, maxPreferredMeshWorkGroupInvocations: uint32, prefersLocalInvocationVertexOutput: VkBool32, prefersLocalInvocationPrimitiveOutput: VkBool32, prefersCompactVertexOutput: VkBool32, prefersCompactPrimitiveOutput: VkBool32): VkPhysicalDeviceMeshShaderPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.maxTaskWorkGroupTotalCount = maxTaskWorkGroupTotalCount + result.maxTaskWorkGroupCount = maxTaskWorkGroupCount + result.maxTaskWorkGroupInvocations = maxTaskWorkGroupInvocations + result.maxTaskWorkGroupSize = maxTaskWorkGroupSize + result.maxTaskPayloadSize = maxTaskPayloadSize + result.maxTaskSharedMemorySize = maxTaskSharedMemorySize + result.maxTaskPayloadAndSharedMemorySize = maxTaskPayloadAndSharedMemorySize + result.maxMeshWorkGroupTotalCount = maxMeshWorkGroupTotalCount + result.maxMeshWorkGroupCount = maxMeshWorkGroupCount + result.maxMeshWorkGroupInvocations = maxMeshWorkGroupInvocations + result.maxMeshWorkGroupSize = maxMeshWorkGroupSize + result.maxMeshSharedMemorySize = maxMeshSharedMemorySize + result.maxMeshPayloadAndSharedMemorySize = maxMeshPayloadAndSharedMemorySize + result.maxMeshOutputMemorySize = maxMeshOutputMemorySize + result.maxMeshPayloadAndOutputMemorySize = maxMeshPayloadAndOutputMemorySize + result.maxMeshOutputComponents = maxMeshOutputComponents + result.maxMeshOutputVertices = maxMeshOutputVertices + result.maxMeshOutputPrimitives = maxMeshOutputPrimitives + result.maxMeshOutputLayers = maxMeshOutputLayers + result.maxMeshMultiviewViewCount = maxMeshMultiviewViewCount + result.meshOutputPerVertexGranularity = meshOutputPerVertexGranularity + result.meshOutputPerPrimitiveGranularity = meshOutputPerPrimitiveGranularity + result.maxPreferredTaskWorkGroupInvocations = maxPreferredTaskWorkGroupInvocations + result.maxPreferredMeshWorkGroupInvocations = maxPreferredMeshWorkGroupInvocations + result.prefersLocalInvocationVertexOutput = prefersLocalInvocationVertexOutput + result.prefersLocalInvocationPrimitiveOutput = prefersLocalInvocationPrimitiveOutput + result.prefersCompactVertexOutput = prefersCompactVertexOutput + result.prefersCompactPrimitiveOutput = prefersCompactPrimitiveOutput + +proc newVkDrawMeshTasksIndirectCommandEXT*(groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): VkDrawMeshTasksIndirectCommandEXT = + result.groupCountX = groupCountX + result.groupCountY = groupCountY + result.groupCountZ = groupCountZ + +proc newVkRayTracingShaderGroupCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkRayTracingShaderGroupTypeKHR, generalShader: uint32, closestHitShader: uint32, anyHitShader: uint32, intersectionShader: uint32): VkRayTracingShaderGroupCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.`type` = `type` + result.generalShader = generalShader + result.closestHitShader = closestHitShader + result.anyHitShader = anyHitShader + result.intersectionShader = intersectionShader + +proc newVkRayTracingShaderGroupCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, `type`: VkRayTracingShaderGroupTypeKHR, generalShader: uint32, closestHitShader: uint32, anyHitShader: uint32, intersectionShader: uint32, pShaderGroupCaptureReplayHandle: pointer = nil): VkRayTracingShaderGroupCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.`type` = `type` + result.generalShader = generalShader + result.closestHitShader = closestHitShader + result.anyHitShader = anyHitShader + result.intersectionShader = intersectionShader + result.pShaderGroupCaptureReplayHandle = pShaderGroupCaptureReplayHandle + +proc newVkRayTracingPipelineCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, groupCount: uint32, pGroups: ptr VkRayTracingShaderGroupCreateInfoNV, maxRecursionDepth: uint32, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkRayTracingPipelineCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.stageCount = stageCount + result.pStages = pStages + result.groupCount = groupCount + result.pGroups = pGroups + result.maxRecursionDepth = maxRecursionDepth + result.layout = layout + result.basePipelineHandle = basePipelineHandle + result.basePipelineIndex = basePipelineIndex + +proc newVkRayTracingPipelineCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, groupCount: uint32, pGroups: ptr VkRayTracingShaderGroupCreateInfoKHR, maxPipelineRayRecursionDepth: uint32, pLibraryInfo: ptr VkPipelineLibraryCreateInfoKHR, pLibraryInterface: ptr VkRayTracingPipelineInterfaceCreateInfoKHR, pDynamicState: ptr VkPipelineDynamicStateCreateInfo, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkRayTracingPipelineCreateInfoKHR = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.stageCount = stageCount + result.pStages = pStages + result.groupCount = groupCount + result.pGroups = pGroups + result.maxPipelineRayRecursionDepth = maxPipelineRayRecursionDepth + result.pLibraryInfo = pLibraryInfo + result.pLibraryInterface = pLibraryInterface + result.pDynamicState = pDynamicState + result.layout = layout + result.basePipelineHandle = basePipelineHandle + result.basePipelineIndex = basePipelineIndex + +proc newVkGeometryTrianglesNV*(sType: VkStructureType, pNext: pointer = nil, vertexData: VkBuffer, vertexOffset: VkDeviceSize, vertexCount: uint32, vertexStride: VkDeviceSize, vertexFormat: VkFormat, indexData: VkBuffer, indexOffset: VkDeviceSize, indexCount: uint32, indexType: VkIndexType, transformData: VkBuffer, transformOffset: VkDeviceSize): VkGeometryTrianglesNV = + result.sType = sType + result.pNext = pNext + result.vertexData = vertexData + result.vertexOffset = vertexOffset + result.vertexCount = vertexCount + result.vertexStride = vertexStride + result.vertexFormat = vertexFormat + result.indexData = indexData + result.indexOffset = indexOffset + result.indexCount = indexCount + result.indexType = indexType + result.transformData = transformData + result.transformOffset = transformOffset + +proc newVkGeometryAABBNV*(sType: VkStructureType, pNext: pointer = nil, aabbData: VkBuffer, numAABBs: uint32, stride: uint32, offset: VkDeviceSize): VkGeometryAABBNV = + result.sType = sType + result.pNext = pNext + result.aabbData = aabbData + result.numAABBs = numAABBs + result.stride = stride + result.offset = offset + +proc newVkGeometryDataNV*(triangles: VkGeometryTrianglesNV, aabbs: VkGeometryAABBNV): VkGeometryDataNV = + result.triangles = triangles + result.aabbs = aabbs + +proc newVkGeometryNV*(sType: VkStructureType, pNext: pointer = nil, geometryType: VkGeometryTypeKHR, geometry: VkGeometryDataNV, flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkGeometryNV = + result.sType = sType + result.pNext = pNext + result.geometryType = geometryType + result.geometry = geometry + result.flags = flags + +proc newVkAccelerationStructureInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureTypeNV, flags: VkBuildAccelerationStructureFlagsNV = 0.VkBuildAccelerationStructureFlagsNV, instanceCount: uint32, geometryCount: uint32, pGeometries: ptr VkGeometryNV): VkAccelerationStructureInfoNV = + result.sType = sType + result.pNext = pNext + result.`type` = `type` + result.flags = flags + result.instanceCount = instanceCount + result.geometryCount = geometryCount + result.pGeometries = pGeometries + +proc newVkAccelerationStructureCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, compactedSize: VkDeviceSize, info: VkAccelerationStructureInfoNV): VkAccelerationStructureCreateInfoNV = + result.sType = sType + result.pNext = pNext + result.compactedSize = compactedSize + result.info = info + +proc newVkBindAccelerationStructureMemoryInfoNV*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkAccelerationStructureNV, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, deviceIndexCount: uint32, pDeviceIndices: ptr uint32): VkBindAccelerationStructureMemoryInfoNV = + result.sType = sType + result.pNext = pNext + result.accelerationStructure = accelerationStructure + result.memory = memory + result.memoryOffset = memoryOffset + result.deviceIndexCount = deviceIndexCount + result.pDeviceIndices = pDeviceIndices + +proc newVkWriteDescriptorSetAccelerationStructureKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR): VkWriteDescriptorSetAccelerationStructureKHR = + result.sType = sType + result.pNext = pNext + result.accelerationStructureCount = accelerationStructureCount + result.pAccelerationStructures = pAccelerationStructures + +proc newVkWriteDescriptorSetAccelerationStructureNV*(sType: VkStructureType, pNext: pointer = nil, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureNV): VkWriteDescriptorSetAccelerationStructureNV = + result.sType = sType + result.pNext = pNext + result.accelerationStructureCount = accelerationStructureCount + result.pAccelerationStructures = pAccelerationStructures + +proc newVkAccelerationStructureMemoryRequirementsInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureMemoryRequirementsTypeNV, accelerationStructure: VkAccelerationStructureNV): VkAccelerationStructureMemoryRequirementsInfoNV = + result.sType = sType + result.pNext = pNext + result.`type` = `type` + result.accelerationStructure = accelerationStructure + +proc newVkPhysicalDeviceAccelerationStructureFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkBool32, accelerationStructureCaptureReplay: VkBool32, accelerationStructureIndirectBuild: VkBool32, accelerationStructureHostCommands: VkBool32, descriptorBindingAccelerationStructureUpdateAfterBind: VkBool32): VkPhysicalDeviceAccelerationStructureFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.accelerationStructure = accelerationStructure + result.accelerationStructureCaptureReplay = accelerationStructureCaptureReplay + result.accelerationStructureIndirectBuild = accelerationStructureIndirectBuild + result.accelerationStructureHostCommands = accelerationStructureHostCommands + result.descriptorBindingAccelerationStructureUpdateAfterBind = descriptorBindingAccelerationStructureUpdateAfterBind + +proc newVkPhysicalDeviceRayTracingPipelineFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, rayTracingPipeline: VkBool32, rayTracingPipelineShaderGroupHandleCaptureReplay: VkBool32, rayTracingPipelineShaderGroupHandleCaptureReplayMixed: VkBool32, rayTracingPipelineTraceRaysIndirect: VkBool32, rayTraversalPrimitiveCulling: VkBool32): VkPhysicalDeviceRayTracingPipelineFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.rayTracingPipeline = rayTracingPipeline + result.rayTracingPipelineShaderGroupHandleCaptureReplay = rayTracingPipelineShaderGroupHandleCaptureReplay + result.rayTracingPipelineShaderGroupHandleCaptureReplayMixed = rayTracingPipelineShaderGroupHandleCaptureReplayMixed + result.rayTracingPipelineTraceRaysIndirect = rayTracingPipelineTraceRaysIndirect + result.rayTraversalPrimitiveCulling = rayTraversalPrimitiveCulling + +proc newVkPhysicalDeviceRayQueryFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, rayQuery: VkBool32): VkPhysicalDeviceRayQueryFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.rayQuery = rayQuery -proc newVkEventCreateInfo*(sType: VkStructureType = VkStructureTypeEventCreateInfo, pNext: pointer = nil, flags: VkEventCreateFlags = 0.VkEventCreateFlags): VkEventCreateInfo = +proc newVkPhysicalDeviceAccelerationStructurePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, maxGeometryCount: uint64, maxInstanceCount: uint64, maxPrimitiveCount: uint64, maxPerStageDescriptorAccelerationStructures: uint32, maxPerStageDescriptorUpdateAfterBindAccelerationStructures: uint32, maxDescriptorSetAccelerationStructures: uint32, maxDescriptorSetUpdateAfterBindAccelerationStructures: uint32, minAccelerationStructureScratchOffsetAlignment: uint32): VkPhysicalDeviceAccelerationStructurePropertiesKHR = result.sType = sType result.pNext = pNext - result.flags = flags + result.maxGeometryCount = maxGeometryCount + result.maxInstanceCount = maxInstanceCount + result.maxPrimitiveCount = maxPrimitiveCount + result.maxPerStageDescriptorAccelerationStructures = maxPerStageDescriptorAccelerationStructures + result.maxPerStageDescriptorUpdateAfterBindAccelerationStructures = maxPerStageDescriptorUpdateAfterBindAccelerationStructures + result.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures + result.maxDescriptorSetUpdateAfterBindAccelerationStructures = maxDescriptorSetUpdateAfterBindAccelerationStructures + result.minAccelerationStructureScratchOffsetAlignment = minAccelerationStructureScratchOffsetAlignment -proc newVkFenceCreateInfo*(sType: VkStructureType = VkStructureTypeFenceCreateInfo, pNext: pointer = nil, flags: VkFenceCreateFlags = 0.VkFenceCreateFlags): VkFenceCreateInfo = +proc newVkPhysicalDeviceRayTracingPipelinePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, shaderGroupHandleSize: uint32, maxRayRecursionDepth: uint32, maxShaderGroupStride: uint32, shaderGroupBaseAlignment: uint32, shaderGroupHandleCaptureReplaySize: uint32, maxRayDispatchInvocationCount: uint32, shaderGroupHandleAlignment: uint32, maxRayHitAttributeSize: uint32): VkPhysicalDeviceRayTracingPipelinePropertiesKHR = result.sType = sType result.pNext = pNext - result.flags = flags + result.shaderGroupHandleSize = shaderGroupHandleSize + result.maxRayRecursionDepth = maxRayRecursionDepth + result.maxShaderGroupStride = maxShaderGroupStride + result.shaderGroupBaseAlignment = shaderGroupBaseAlignment + result.shaderGroupHandleCaptureReplaySize = shaderGroupHandleCaptureReplaySize + result.maxRayDispatchInvocationCount = maxRayDispatchInvocationCount + result.shaderGroupHandleAlignment = shaderGroupHandleAlignment + result.maxRayHitAttributeSize = maxRayHitAttributeSize -proc newVkPhysicalDeviceFeatures*(robustBufferAccess: VkBool32, fullDrawIndexUint32: VkBool32, imageCubeArray: VkBool32, independentBlend: VkBool32, geometryShader: VkBool32, tessellationShader: VkBool32, sampleRateShading: VkBool32, dualSrcBlend: VkBool32, logicOp: VkBool32, multiDrawIndirect: VkBool32, drawIndirectFirstInstance: VkBool32, depthClamp: VkBool32, depthBiasClamp: VkBool32, fillModeNonSolid: VkBool32, depthBounds: VkBool32, wideLines: VkBool32, largePoints: VkBool32, alphaToOne: VkBool32, multiViewport: VkBool32, samplerAnisotropy: VkBool32, textureCompressionETC2: VkBool32, textureCompressionASTC_LDR: VkBool32, textureCompressionBC: VkBool32, occlusionQueryPrecise: VkBool32, pipelineStatisticsQuery: VkBool32, vertexPipelineStoresAndAtomics: VkBool32, fragmentStoresAndAtomics: VkBool32, shaderTessellationAndGeometryPointSize: VkBool32, shaderImageGatherExtended: VkBool32, shaderStorageImageExtendedFormats: VkBool32, shaderStorageImageMultisample: VkBool32, shaderStorageImageReadWithoutFormat: VkBool32, shaderStorageImageWriteWithoutFormat: VkBool32, shaderUniformBufferArrayDynamicIndexing: VkBool32, shaderSampledImageArrayDynamicIndexing: VkBool32, shaderStorageBufferArrayDynamicIndexing: VkBool32, shaderStorageImageArrayDynamicIndexing: VkBool32, shaderClipDistance: VkBool32, shaderCullDistance: VkBool32, shaderFloat64: VkBool32, shaderInt64: VkBool32, shaderInt16: VkBool32, shaderResourceResidency: VkBool32, shaderResourceMinLod: VkBool32, sparseBinding: VkBool32, sparseResidencyBuffer: VkBool32, sparseResidencyImage2D: VkBool32, sparseResidencyImage3D: VkBool32, sparseResidency2Samples: VkBool32, sparseResidency4Samples: VkBool32, sparseResidency8Samples: VkBool32, sparseResidency16Samples: VkBool32, sparseResidencyAliased: VkBool32, variableMultisampleRate: VkBool32, inheritedQueries: VkBool32): VkPhysicalDeviceFeatures = - result.robustBufferAccess = robustBufferAccess - result.fullDrawIndexUint32 = fullDrawIndexUint32 - result.imageCubeArray = imageCubeArray - result.independentBlend = independentBlend - result.geometryShader = geometryShader - result.tessellationShader = tessellationShader - result.sampleRateShading = sampleRateShading - result.dualSrcBlend = dualSrcBlend - result.logicOp = logicOp - result.multiDrawIndirect = multiDrawIndirect - result.drawIndirectFirstInstance = drawIndirectFirstInstance - result.depthClamp = depthClamp - result.depthBiasClamp = depthBiasClamp - result.fillModeNonSolid = fillModeNonSolid - result.depthBounds = depthBounds - result.wideLines = wideLines - result.largePoints = largePoints - result.alphaToOne = alphaToOne - result.multiViewport = multiViewport - result.samplerAnisotropy = samplerAnisotropy - result.textureCompressionETC2 = textureCompressionETC2 - result.textureCompressionASTC_LDR = textureCompressionASTC_LDR - result.textureCompressionBC = textureCompressionBC - result.occlusionQueryPrecise = occlusionQueryPrecise - result.pipelineStatisticsQuery = pipelineStatisticsQuery - result.vertexPipelineStoresAndAtomics = vertexPipelineStoresAndAtomics - result.fragmentStoresAndAtomics = fragmentStoresAndAtomics - result.shaderTessellationAndGeometryPointSize = shaderTessellationAndGeometryPointSize - result.shaderImageGatherExtended = shaderImageGatherExtended - result.shaderStorageImageExtendedFormats = shaderStorageImageExtendedFormats - result.shaderStorageImageMultisample = shaderStorageImageMultisample - result.shaderStorageImageReadWithoutFormat = shaderStorageImageReadWithoutFormat - result.shaderStorageImageWriteWithoutFormat = shaderStorageImageWriteWithoutFormat - result.shaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing - result.shaderSampledImageArrayDynamicIndexing = shaderSampledImageArrayDynamicIndexing - result.shaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing - result.shaderStorageImageArrayDynamicIndexing = shaderStorageImageArrayDynamicIndexing - result.shaderClipDistance = shaderClipDistance - result.shaderCullDistance = shaderCullDistance - result.shaderFloat64 = shaderFloat64 - result.shaderInt64 = shaderInt64 - result.shaderInt16 = shaderInt16 - result.shaderResourceResidency = shaderResourceResidency - result.shaderResourceMinLod = shaderResourceMinLod - result.sparseBinding = sparseBinding - result.sparseResidencyBuffer = sparseResidencyBuffer - result.sparseResidencyImage2D = sparseResidencyImage2D - result.sparseResidencyImage3D = sparseResidencyImage3D - result.sparseResidency2Samples = sparseResidency2Samples - result.sparseResidency4Samples = sparseResidency4Samples - result.sparseResidency8Samples = sparseResidency8Samples - result.sparseResidency16Samples = sparseResidency16Samples - result.sparseResidencyAliased = sparseResidencyAliased - result.variableMultisampleRate = variableMultisampleRate - result.inheritedQueries = inheritedQueries +proc newVkPhysicalDeviceRayTracingPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shaderGroupHandleSize: uint32, maxRecursionDepth: uint32, maxShaderGroupStride: uint32, shaderGroupBaseAlignment: uint32, maxGeometryCount: uint64, maxInstanceCount: uint64, maxTriangleCount: uint64, maxDescriptorSetAccelerationStructures: uint32): VkPhysicalDeviceRayTracingPropertiesNV = + result.sType = sType + result.pNext = pNext + result.shaderGroupHandleSize = shaderGroupHandleSize + result.maxRecursionDepth = maxRecursionDepth + result.maxShaderGroupStride = maxShaderGroupStride + result.shaderGroupBaseAlignment = shaderGroupBaseAlignment + result.maxGeometryCount = maxGeometryCount + result.maxInstanceCount = maxInstanceCount + result.maxTriangleCount = maxTriangleCount + result.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures -proc newVkPhysicalDeviceSparseProperties*(residencyStandard2DBlockShape: VkBool32, residencyStandard2DMultisampleBlockShape: VkBool32, residencyStandard3DBlockShape: VkBool32, residencyAlignedMipSize: VkBool32, residencyNonResidentStrict: VkBool32): VkPhysicalDeviceSparseProperties = - result.residencyStandard2DBlockShape = residencyStandard2DBlockShape - result.residencyStandard2DMultisampleBlockShape = residencyStandard2DMultisampleBlockShape - result.residencyStandard3DBlockShape = residencyStandard3DBlockShape - result.residencyAlignedMipSize = residencyAlignedMipSize - result.residencyNonResidentStrict = residencyNonResidentStrict +proc newVkStridedDeviceAddressRegionKHR*(deviceAddress: VkDeviceAddress, stride: VkDeviceSize, size: VkDeviceSize): VkStridedDeviceAddressRegionKHR = + result.deviceAddress = deviceAddress + result.stride = stride + result.size = size -proc newVkPhysicalDeviceLimits*(maxImageDimension1D: uint32, maxImageDimension2D: uint32, maxImageDimension3D: uint32, maxImageDimensionCube: uint32, maxImageArrayLayers: uint32, maxTexelBufferElements: uint32, maxUniformBufferRange: uint32, maxStorageBufferRange: uint32, maxPushConstantsSize: uint32, maxMemoryAllocationCount: uint32, maxSamplerAllocationCount: uint32, bufferImageGranularity: VkDeviceSize, sparseAddressSpaceSize: VkDeviceSize, maxBoundDescriptorSets: uint32, maxPerStageDescriptorSamplers: uint32, maxPerStageDescriptorUniformBuffers: uint32, maxPerStageDescriptorStorageBuffers: uint32, maxPerStageDescriptorSampledImages: uint32, maxPerStageDescriptorStorageImages: uint32, maxPerStageDescriptorInputAttachments: uint32, maxPerStageResources: uint32, maxDescriptorSetSamplers: uint32, maxDescriptorSetUniformBuffers: uint32, maxDescriptorSetUniformBuffersDynamic: uint32, maxDescriptorSetStorageBuffers: uint32, maxDescriptorSetStorageBuffersDynamic: uint32, maxDescriptorSetSampledImages: uint32, maxDescriptorSetStorageImages: uint32, maxDescriptorSetInputAttachments: uint32, maxVertexInputAttributes: uint32, maxVertexInputBindings: uint32, maxVertexInputAttributeOffset: uint32, maxVertexInputBindingStride: uint32, maxVertexOutputComponents: uint32, maxTessellationGenerationLevel: uint32, maxTessellationPatchSize: uint32, maxTessellationControlPerVertexInputComponents: uint32, maxTessellationControlPerVertexOutputComponents: uint32, maxTessellationControlPerPatchOutputComponents: uint32, maxTessellationControlTotalOutputComponents: uint32, maxTessellationEvaluationInputComponents: uint32, maxTessellationEvaluationOutputComponents: uint32, maxGeometryShaderInvocations: uint32, maxGeometryInputComponents: uint32, maxGeometryOutputComponents: uint32, maxGeometryOutputVertices: uint32, maxGeometryTotalOutputComponents: uint32, maxFragmentInputComponents: uint32, maxFragmentOutputAttachments: uint32, maxFragmentDualSrcAttachments: uint32, maxFragmentCombinedOutputResources: uint32, maxComputeSharedMemorySize: uint32, maxComputeWorkGroupCount: array[3, uint32], maxComputeWorkGroupInvocations: uint32, maxComputeWorkGroupSize: array[3, uint32], subPixelPrecisionBits: uint32, subTexelPrecisionBits: uint32, mipmapPrecisionBits: uint32, maxDrawIndexedIndexValue: uint32, maxDrawIndirectCount: uint32, maxSamplerLodBias: float32, maxSamplerAnisotropy: float32, maxViewports: uint32, maxViewportDimensions: array[2, uint32], viewportBoundsRange: array[2, float32], viewportSubPixelBits: uint32, minMemoryMapAlignment: uint, minTexelBufferOffsetAlignment: VkDeviceSize, minUniformBufferOffsetAlignment: VkDeviceSize, minStorageBufferOffsetAlignment: VkDeviceSize, minTexelOffset: int32, maxTexelOffset: uint32, minTexelGatherOffset: int32, maxTexelGatherOffset: uint32, minInterpolationOffset: float32, maxInterpolationOffset: float32, subPixelInterpolationOffsetBits: uint32, maxFramebufferWidth: uint32, maxFramebufferHeight: uint32, maxFramebufferLayers: uint32, framebufferColorSampleCounts: VkSampleCountFlags, framebufferDepthSampleCounts: VkSampleCountFlags, framebufferStencilSampleCounts: VkSampleCountFlags, framebufferNoAttachmentsSampleCounts: VkSampleCountFlags, maxColorAttachments: uint32, sampledImageColorSampleCounts: VkSampleCountFlags, sampledImageIntegerSampleCounts: VkSampleCountFlags, sampledImageDepthSampleCounts: VkSampleCountFlags, sampledImageStencilSampleCounts: VkSampleCountFlags, storageImageSampleCounts: VkSampleCountFlags, maxSampleMaskWords: uint32, timestampComputeAndGraphics: VkBool32, timestampPeriod: float32, maxClipDistances: uint32, maxCullDistances: uint32, maxCombinedClipAndCullDistances: uint32, discreteQueuePriorities: uint32, pointSizeRange: array[2, float32], lineWidthRange: array[2, float32], pointSizeGranularity: float32, lineWidthGranularity: float32, strictLines: VkBool32, standardSampleLocations: VkBool32, optimalBufferCopyOffsetAlignment: VkDeviceSize, optimalBufferCopyRowPitchAlignment: VkDeviceSize, nonCoherentAtomSize: VkDeviceSize): VkPhysicalDeviceLimits = - result.maxImageDimension1D = maxImageDimension1D - result.maxImageDimension2D = maxImageDimension2D - result.maxImageDimension3D = maxImageDimension3D - result.maxImageDimensionCube = maxImageDimensionCube - result.maxImageArrayLayers = maxImageArrayLayers - result.maxTexelBufferElements = maxTexelBufferElements - result.maxUniformBufferRange = maxUniformBufferRange - result.maxStorageBufferRange = maxStorageBufferRange - result.maxPushConstantsSize = maxPushConstantsSize - result.maxMemoryAllocationCount = maxMemoryAllocationCount - result.maxSamplerAllocationCount = maxSamplerAllocationCount - result.bufferImageGranularity = bufferImageGranularity - result.sparseAddressSpaceSize = sparseAddressSpaceSize - result.maxBoundDescriptorSets = maxBoundDescriptorSets - result.maxPerStageDescriptorSamplers = maxPerStageDescriptorSamplers - result.maxPerStageDescriptorUniformBuffers = maxPerStageDescriptorUniformBuffers - result.maxPerStageDescriptorStorageBuffers = maxPerStageDescriptorStorageBuffers - result.maxPerStageDescriptorSampledImages = maxPerStageDescriptorSampledImages - result.maxPerStageDescriptorStorageImages = maxPerStageDescriptorStorageImages - result.maxPerStageDescriptorInputAttachments = maxPerStageDescriptorInputAttachments - result.maxPerStageResources = maxPerStageResources - result.maxDescriptorSetSamplers = maxDescriptorSetSamplers - result.maxDescriptorSetUniformBuffers = maxDescriptorSetUniformBuffers - result.maxDescriptorSetUniformBuffersDynamic = maxDescriptorSetUniformBuffersDynamic - result.maxDescriptorSetStorageBuffers = maxDescriptorSetStorageBuffers - result.maxDescriptorSetStorageBuffersDynamic = maxDescriptorSetStorageBuffersDynamic - result.maxDescriptorSetSampledImages = maxDescriptorSetSampledImages - result.maxDescriptorSetStorageImages = maxDescriptorSetStorageImages - result.maxDescriptorSetInputAttachments = maxDescriptorSetInputAttachments - result.maxVertexInputAttributes = maxVertexInputAttributes - result.maxVertexInputBindings = maxVertexInputBindings - result.maxVertexInputAttributeOffset = maxVertexInputAttributeOffset - result.maxVertexInputBindingStride = maxVertexInputBindingStride - result.maxVertexOutputComponents = maxVertexOutputComponents - result.maxTessellationGenerationLevel = maxTessellationGenerationLevel - result.maxTessellationPatchSize = maxTessellationPatchSize - result.maxTessellationControlPerVertexInputComponents = maxTessellationControlPerVertexInputComponents - result.maxTessellationControlPerVertexOutputComponents = maxTessellationControlPerVertexOutputComponents - result.maxTessellationControlPerPatchOutputComponents = maxTessellationControlPerPatchOutputComponents - result.maxTessellationControlTotalOutputComponents = maxTessellationControlTotalOutputComponents - result.maxTessellationEvaluationInputComponents = maxTessellationEvaluationInputComponents - result.maxTessellationEvaluationOutputComponents = maxTessellationEvaluationOutputComponents - result.maxGeometryShaderInvocations = maxGeometryShaderInvocations - result.maxGeometryInputComponents = maxGeometryInputComponents - result.maxGeometryOutputComponents = maxGeometryOutputComponents - result.maxGeometryOutputVertices = maxGeometryOutputVertices - result.maxGeometryTotalOutputComponents = maxGeometryTotalOutputComponents - result.maxFragmentInputComponents = maxFragmentInputComponents - result.maxFragmentOutputAttachments = maxFragmentOutputAttachments - result.maxFragmentDualSrcAttachments = maxFragmentDualSrcAttachments - result.maxFragmentCombinedOutputResources = maxFragmentCombinedOutputResources - result.maxComputeSharedMemorySize = maxComputeSharedMemorySize - result.maxComputeWorkGroupCount = maxComputeWorkGroupCount - result.maxComputeWorkGroupInvocations = maxComputeWorkGroupInvocations - result.maxComputeWorkGroupSize = maxComputeWorkGroupSize - result.subPixelPrecisionBits = subPixelPrecisionBits - result.subTexelPrecisionBits = subTexelPrecisionBits - result.mipmapPrecisionBits = mipmapPrecisionBits - result.maxDrawIndexedIndexValue = maxDrawIndexedIndexValue - result.maxDrawIndirectCount = maxDrawIndirectCount - result.maxSamplerLodBias = maxSamplerLodBias - result.maxSamplerAnisotropy = maxSamplerAnisotropy - result.maxViewports = maxViewports - result.maxViewportDimensions = maxViewportDimensions - result.viewportBoundsRange = viewportBoundsRange - result.viewportSubPixelBits = viewportSubPixelBits - result.minMemoryMapAlignment = minMemoryMapAlignment - result.minTexelBufferOffsetAlignment = minTexelBufferOffsetAlignment - result.minUniformBufferOffsetAlignment = minUniformBufferOffsetAlignment - result.minStorageBufferOffsetAlignment = minStorageBufferOffsetAlignment - result.minTexelOffset = minTexelOffset - result.maxTexelOffset = maxTexelOffset - result.minTexelGatherOffset = minTexelGatherOffset - result.maxTexelGatherOffset = maxTexelGatherOffset - result.minInterpolationOffset = minInterpolationOffset - result.maxInterpolationOffset = maxInterpolationOffset - result.subPixelInterpolationOffsetBits = subPixelInterpolationOffsetBits - result.maxFramebufferWidth = maxFramebufferWidth - result.maxFramebufferHeight = maxFramebufferHeight - result.maxFramebufferLayers = maxFramebufferLayers - result.framebufferColorSampleCounts = framebufferColorSampleCounts - result.framebufferDepthSampleCounts = framebufferDepthSampleCounts - result.framebufferStencilSampleCounts = framebufferStencilSampleCounts - result.framebufferNoAttachmentsSampleCounts = framebufferNoAttachmentsSampleCounts - result.maxColorAttachments = maxColorAttachments - result.sampledImageColorSampleCounts = sampledImageColorSampleCounts - result.sampledImageIntegerSampleCounts = sampledImageIntegerSampleCounts - result.sampledImageDepthSampleCounts = sampledImageDepthSampleCounts - result.sampledImageStencilSampleCounts = sampledImageStencilSampleCounts - result.storageImageSampleCounts = storageImageSampleCounts - result.maxSampleMaskWords = maxSampleMaskWords - result.timestampComputeAndGraphics = timestampComputeAndGraphics - result.timestampPeriod = timestampPeriod - result.maxClipDistances = maxClipDistances - result.maxCullDistances = maxCullDistances - result.maxCombinedClipAndCullDistances = maxCombinedClipAndCullDistances - result.discreteQueuePriorities = discreteQueuePriorities - result.pointSizeRange = pointSizeRange - result.lineWidthRange = lineWidthRange - result.pointSizeGranularity = pointSizeGranularity - result.lineWidthGranularity = lineWidthGranularity - result.strictLines = strictLines - result.standardSampleLocations = standardSampleLocations - result.optimalBufferCopyOffsetAlignment = optimalBufferCopyOffsetAlignment - result.optimalBufferCopyRowPitchAlignment = optimalBufferCopyRowPitchAlignment - result.nonCoherentAtomSize = nonCoherentAtomSize +proc newVkTraceRaysIndirectCommandKHR*(width: uint32, height: uint32, depth: uint32): VkTraceRaysIndirectCommandKHR = + result.width = width + result.height = height + result.depth = depth + +proc newVkTraceRaysIndirectCommand2KHR*(raygenShaderRecordAddress: VkDeviceAddress, raygenShaderRecordSize: VkDeviceSize, missShaderBindingTableAddress: VkDeviceAddress, missShaderBindingTableSize: VkDeviceSize, missShaderBindingTableStride: VkDeviceSize, hitShaderBindingTableAddress: VkDeviceAddress, hitShaderBindingTableSize: VkDeviceSize, hitShaderBindingTableStride: VkDeviceSize, callableShaderBindingTableAddress: VkDeviceAddress, callableShaderBindingTableSize: VkDeviceSize, callableShaderBindingTableStride: VkDeviceSize, width: uint32, height: uint32, depth: uint32): VkTraceRaysIndirectCommand2KHR = + result.raygenShaderRecordAddress = raygenShaderRecordAddress + result.raygenShaderRecordSize = raygenShaderRecordSize + result.missShaderBindingTableAddress = missShaderBindingTableAddress + result.missShaderBindingTableSize = missShaderBindingTableSize + result.missShaderBindingTableStride = missShaderBindingTableStride + result.hitShaderBindingTableAddress = hitShaderBindingTableAddress + result.hitShaderBindingTableSize = hitShaderBindingTableSize + result.hitShaderBindingTableStride = hitShaderBindingTableStride + result.callableShaderBindingTableAddress = callableShaderBindingTableAddress + result.callableShaderBindingTableSize = callableShaderBindingTableSize + result.callableShaderBindingTableStride = callableShaderBindingTableStride + result.width = width + result.height = height + result.depth = depth + +proc newVkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, rayTracingMaintenance1: VkBool32, rayTracingPipelineTraceRaysIndirect2: VkBool32): VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR = + result.sType = sType + result.pNext = pNext + result.rayTracingMaintenance1 = rayTracingMaintenance1 + result.rayTracingPipelineTraceRaysIndirect2 = rayTracingPipelineTraceRaysIndirect2 + +proc newVkDrmFormatModifierPropertiesListEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifierCount: uint32, pDrmFormatModifierProperties: ptr VkDrmFormatModifierPropertiesEXT): VkDrmFormatModifierPropertiesListEXT = + result.sType = sType + result.pNext = pNext + result.drmFormatModifierCount = drmFormatModifierCount + result.pDrmFormatModifierProperties = pDrmFormatModifierProperties + +proc newVkDrmFormatModifierPropertiesEXT*(drmFormatModifier: uint64, drmFormatModifierPlaneCount: uint32, drmFormatModifierTilingFeatures: VkFormatFeatureFlags): VkDrmFormatModifierPropertiesEXT = + result.drmFormatModifier = drmFormatModifier + result.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount + result.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures + +proc newVkPhysicalDeviceImageDrmFormatModifierInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32): VkPhysicalDeviceImageDrmFormatModifierInfoEXT = + result.sType = sType + result.pNext = pNext + result.drmFormatModifier = drmFormatModifier + result.sharingMode = sharingMode + result.queueFamilyIndexCount = queueFamilyIndexCount + result.pQueueFamilyIndices = pQueueFamilyIndices + +proc newVkImageDrmFormatModifierListCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifierCount: uint32, pDrmFormatModifiers: ptr uint64): VkImageDrmFormatModifierListCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.drmFormatModifierCount = drmFormatModifierCount + result.pDrmFormatModifiers = pDrmFormatModifiers + +proc newVkImageDrmFormatModifierExplicitCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64, drmFormatModifierPlaneCount: uint32, pPlaneLayouts: ptr VkSubresourceLayout): VkImageDrmFormatModifierExplicitCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.drmFormatModifier = drmFormatModifier + result.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount + result.pPlaneLayouts = pPlaneLayouts + +proc newVkImageDrmFormatModifierPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64): VkImageDrmFormatModifierPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.drmFormatModifier = drmFormatModifier + +proc newVkImageStencilUsageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, stencilUsage: VkImageUsageFlags): VkImageStencilUsageCreateInfo = + result.sType = sType + result.pNext = pNext + result.stencilUsage = stencilUsage + +proc newVkDeviceMemoryOverallocationCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, overallocationBehavior: VkMemoryOverallocationBehaviorAMD): VkDeviceMemoryOverallocationCreateInfoAMD = + result.sType = sType + result.pNext = pNext + result.overallocationBehavior = overallocationBehavior -proc newVkSemaphoreCreateInfo*(sType: VkStructureType = VkStructureTypeSemaphoreCreateInfo, pNext: pointer = nil, flags: VkSemaphoreCreateFlags = 0.VkSemaphoreCreateFlags): VkSemaphoreCreateInfo = +proc newVkPhysicalDeviceFragmentDensityMapFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMap: VkBool32, fragmentDensityMapDynamic: VkBool32, fragmentDensityMapNonSubsampledImages: VkBool32): VkPhysicalDeviceFragmentDensityMapFeaturesEXT = result.sType = sType result.pNext = pNext - result.flags = flags + result.fragmentDensityMap = fragmentDensityMap + result.fragmentDensityMapDynamic = fragmentDensityMapDynamic + result.fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages -proc newVkQueryPoolCreateInfo*(sType: VkStructureType = VkStructureTypeQueryPoolCreateInfo, pNext: pointer = nil, flags: VkQueryPoolCreateFlags = 0.VkQueryPoolCreateFlags, queryType: VkQueryType, queryCount: uint32, pipelineStatistics: VkQueryPipelineStatisticFlags): VkQueryPoolCreateInfo = +proc newVkPhysicalDeviceFragmentDensityMap2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMapDeferred: VkBool32): VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.queryType = queryType - result.queryCount = queryCount - result.pipelineStatistics = pipelineStatistics + result.fragmentDensityMapDeferred = fragmentDensityMapDeferred -proc newVkFramebufferCreateInfo*(sType: VkStructureType = VkStructureTypeFramebufferCreateInfo, pNext: pointer = nil, flags: VkFramebufferCreateFlags = 0.VkFramebufferCreateFlags, renderPass: VkRenderPass, attachmentCount: uint32, pAttachments: ptr VkImageView, width: uint32, height: uint32, layers: uint32): VkFramebufferCreateInfo = +proc newVkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMapOffset: VkBool32): VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = result.sType = sType result.pNext = pNext - result.flags = flags - result.renderPass = renderPass - result.attachmentCount = attachmentCount - result.pAttachments = pAttachments - result.width = width - result.height = height - result.layers = layers + result.fragmentDensityMapOffset = fragmentDensityMapOffset -proc newVkDrawIndirectCommand*(vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): VkDrawIndirectCommand = - result.vertexCount = vertexCount - result.instanceCount = instanceCount - result.firstVertex = firstVertex - result.firstInstance = firstInstance +proc newVkPhysicalDeviceFragmentDensityMapPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, minFragmentDensityTexelSize: VkExtent2D, maxFragmentDensityTexelSize: VkExtent2D, fragmentDensityInvocations: VkBool32): VkPhysicalDeviceFragmentDensityMapPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.minFragmentDensityTexelSize = minFragmentDensityTexelSize + result.maxFragmentDensityTexelSize = maxFragmentDensityTexelSize + result.fragmentDensityInvocations = fragmentDensityInvocations -proc newVkDrawIndexedIndirectCommand*(indexCount: uint32, instanceCount: uint32, firstIndex: uint32, vertexOffset: int32, firstInstance: uint32): VkDrawIndexedIndirectCommand = - result.indexCount = indexCount - result.instanceCount = instanceCount - result.firstIndex = firstIndex - result.vertexOffset = vertexOffset - result.firstInstance = firstInstance +proc newVkPhysicalDeviceFragmentDensityMap2PropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, subsampledLoads: VkBool32, subsampledCoarseReconstructionEarlyAccess: VkBool32, maxSubsampledArrayLayers: uint32, maxDescriptorSetSubsampledSamplers: uint32): VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = + result.sType = sType + result.pNext = pNext + result.subsampledLoads = subsampledLoads + result.subsampledCoarseReconstructionEarlyAccess = subsampledCoarseReconstructionEarlyAccess + result.maxSubsampledArrayLayers = maxSubsampledArrayLayers + result.maxDescriptorSetSubsampledSamplers = maxDescriptorSetSubsampledSamplers -proc newVkDispatchIndirectCommand*(x: uint32, y: uint32, z: uint32): VkDispatchIndirectCommand = - result.x = x - result.y = y - result.z = z +proc newVkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityOffsetGranularity: VkExtent2D): VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = + result.sType = sType + result.pNext = pNext + result.fragmentDensityOffsetGranularity = fragmentDensityOffsetGranularity -proc newVkSubmitInfo*(sType: VkStructureType = VkStructureTypeSubmitInfo, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, pWaitDstStageMask: ptr VkPipelineStageFlags, commandBufferCount: uint32, pCommandBuffers: ptr VkCommandBuffer, signalSemaphoreCount: uint32, pSignalSemaphores: ptr VkSemaphore): VkSubmitInfo = +proc newVkRenderPassFragmentDensityMapCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMapAttachment: VkAttachmentReference): VkRenderPassFragmentDensityMapCreateInfoEXT = result.sType = sType result.pNext = pNext - result.waitSemaphoreCount = waitSemaphoreCount - result.pWaitSemaphores = pWaitSemaphores - result.pWaitDstStageMask = pWaitDstStageMask - result.commandBufferCount = commandBufferCount - result.pCommandBuffers = pCommandBuffers - result.signalSemaphoreCount = signalSemaphoreCount - result.pSignalSemaphores = pSignalSemaphores + result.fragmentDensityMapAttachment = fragmentDensityMapAttachment -proc newVkDisplayPropertiesKHR*(display: VkDisplayKHR, displayName: cstring, physicalDimensions: VkExtent2D, physicalResolution: VkExtent2D, supportedTransforms: VkSurfaceTransformFlagsKHR, planeReorderPossible: VkBool32, persistentContent: VkBool32): VkDisplayPropertiesKHR = - result.display = display - result.displayName = displayName - result.physicalDimensions = physicalDimensions - result.physicalResolution = physicalResolution - result.supportedTransforms = supportedTransforms - result.planeReorderPossible = planeReorderPossible - result.persistentContent = persistentContent +proc newVkSubpassFragmentDensityMapOffsetEndInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityOffsetCount: uint32, pFragmentDensityOffsets: ptr VkOffset2D): VkSubpassFragmentDensityMapOffsetEndInfoQCOM = + result.sType = sType + result.pNext = pNext + result.fragmentDensityOffsetCount = fragmentDensityOffsetCount + result.pFragmentDensityOffsets = pFragmentDensityOffsets -proc newVkDisplayPlanePropertiesKHR*(currentDisplay: VkDisplayKHR, currentStackIndex: uint32): VkDisplayPlanePropertiesKHR = - result.currentDisplay = currentDisplay - result.currentStackIndex = currentStackIndex +proc newVkPhysicalDeviceScalarBlockLayoutFeatures*(sType: VkStructureType, pNext: pointer = nil, scalarBlockLayout: VkBool32): VkPhysicalDeviceScalarBlockLayoutFeatures = + result.sType = sType + result.pNext = pNext + result.scalarBlockLayout = scalarBlockLayout -proc newVkDisplayModeParametersKHR*(visibleRegion: VkExtent2D, refreshRate: uint32): VkDisplayModeParametersKHR = - result.visibleRegion = visibleRegion - result.refreshRate = refreshRate +proc newVkSurfaceProtectedCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, supportsProtected: VkBool32): VkSurfaceProtectedCapabilitiesKHR = + result.sType = sType + result.pNext = pNext + result.supportsProtected = supportsProtected -proc newVkDisplayModePropertiesKHR*(displayMode: VkDisplayModeKHR, parameters: VkDisplayModeParametersKHR): VkDisplayModePropertiesKHR = - result.displayMode = displayMode - result.parameters = parameters +proc newVkPhysicalDeviceUniformBufferStandardLayoutFeatures*(sType: VkStructureType, pNext: pointer = nil, uniformBufferStandardLayout: VkBool32): VkPhysicalDeviceUniformBufferStandardLayoutFeatures = + result.sType = sType + result.pNext = pNext + result.uniformBufferStandardLayout = uniformBufferStandardLayout -proc newVkDisplayModeCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkDisplayModeCreateFlagsKHR = 0.VkDisplayModeCreateFlagsKHR, parameters: VkDisplayModeParametersKHR): VkDisplayModeCreateInfoKHR = +proc newVkPhysicalDeviceDepthClipEnableFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, depthClipEnable: VkBool32): VkPhysicalDeviceDepthClipEnableFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.depthClipEnable = depthClipEnable + +proc newVkPipelineRasterizationDepthClipStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT = 0.VkPipelineRasterizationDepthClipStateCreateFlagsEXT, depthClipEnable: VkBool32): VkPipelineRasterizationDepthClipStateCreateInfoEXT = result.sType = sType result.pNext = pNext result.flags = flags - result.parameters = parameters + result.depthClipEnable = depthClipEnable -proc newVkDisplayPlaneCapabilitiesKHR*(supportedAlpha: VkDisplayPlaneAlphaFlagsKHR, minSrcPosition: VkOffset2D, maxSrcPosition: VkOffset2D, minSrcExtent: VkExtent2D, maxSrcExtent: VkExtent2D, minDstPosition: VkOffset2D, maxDstPosition: VkOffset2D, minDstExtent: VkExtent2D, maxDstExtent: VkExtent2D): VkDisplayPlaneCapabilitiesKHR = - result.supportedAlpha = supportedAlpha - result.minSrcPosition = minSrcPosition - result.maxSrcPosition = maxSrcPosition - result.minSrcExtent = minSrcExtent - result.maxSrcExtent = maxSrcExtent - result.minDstPosition = minDstPosition - result.maxDstPosition = maxDstPosition - result.minDstExtent = minDstExtent - result.maxDstExtent = maxDstExtent +proc newVkPhysicalDeviceMemoryBudgetPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, heapBudget: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize], heapUsage: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]): VkPhysicalDeviceMemoryBudgetPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.heapBudget = heapBudget + result.heapUsage = heapUsage -proc newVkDisplaySurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkDisplaySurfaceCreateFlagsKHR = 0.VkDisplaySurfaceCreateFlagsKHR, displayMode: VkDisplayModeKHR, planeIndex: uint32, planeStackIndex: uint32, transform: VkSurfaceTransformFlagBitsKHR, globalAlpha: float32, alphaMode: VkDisplayPlaneAlphaFlagBitsKHR, imageExtent: VkExtent2D): VkDisplaySurfaceCreateInfoKHR = +proc newVkPhysicalDeviceMemoryPriorityFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, memoryPriority: VkBool32): VkPhysicalDeviceMemoryPriorityFeaturesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.displayMode = displayMode - result.planeIndex = planeIndex - result.planeStackIndex = planeStackIndex - result.transform = transform - result.globalAlpha = globalAlpha - result.alphaMode = alphaMode - result.imageExtent = imageExtent + result.memoryPriority = memoryPriority -proc newVkDisplayPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, srcRect: VkRect2D, dstRect: VkRect2D, persistent: VkBool32): VkDisplayPresentInfoKHR = +proc newVkMemoryPriorityAllocateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, priority: float32): VkMemoryPriorityAllocateInfoEXT = result.sType = sType result.pNext = pNext - result.srcRect = srcRect - result.dstRect = dstRect - result.persistent = persistent + result.priority = priority -proc newVkSurfaceCapabilitiesKHR*(minImageCount: uint32, maxImageCount: uint32, currentExtent: VkExtent2D, minImageExtent: VkExtent2D, maxImageExtent: VkExtent2D, maxImageArrayLayers: uint32, supportedTransforms: VkSurfaceTransformFlagsKHR, currentTransform: VkSurfaceTransformFlagBitsKHR, supportedCompositeAlpha: VkCompositeAlphaFlagsKHR, supportedUsageFlags: VkImageUsageFlags): VkSurfaceCapabilitiesKHR = - result.minImageCount = minImageCount - result.maxImageCount = maxImageCount - result.currentExtent = currentExtent - result.minImageExtent = minImageExtent - result.maxImageExtent = maxImageExtent - result.maxImageArrayLayers = maxImageArrayLayers - result.supportedTransforms = supportedTransforms - result.currentTransform = currentTransform - result.supportedCompositeAlpha = supportedCompositeAlpha - result.supportedUsageFlags = supportedUsageFlags +proc newVkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pageableDeviceLocalMemory: VkBool32): VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.pageableDeviceLocalMemory = pageableDeviceLocalMemory -proc newVkAndroidSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkAndroidSurfaceCreateFlagsKHR = 0.VkAndroidSurfaceCreateFlagsKHR, window: ptr ANativeWindow): VkAndroidSurfaceCreateInfoKHR = +proc newVkPhysicalDeviceBufferDeviceAddressFeatures*(sType: VkStructureType, pNext: pointer = nil, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeatures = result.sType = sType result.pNext = pNext - result.flags = flags - result.window = window + result.bufferDeviceAddress = bufferDeviceAddress + result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay + result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice -proc newVkViSurfaceCreateInfoNN*(sType: VkStructureType, pNext: pointer = nil, flags: VkViSurfaceCreateFlagsNN = 0.VkViSurfaceCreateFlagsNN, window: pointer = nil): VkViSurfaceCreateInfoNN = +proc newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.window = window + result.bufferDeviceAddress = bufferDeviceAddress + result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay + result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice -proc newVkWaylandSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkWaylandSurfaceCreateFlagsKHR = 0.VkWaylandSurfaceCreateFlagsKHR, display: ptr wl_display, surface: ptr wl_surface): VkWaylandSurfaceCreateInfoKHR = +proc newVkBufferDeviceAddressInfo*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkBufferDeviceAddressInfo = result.sType = sType result.pNext = pNext - result.flags = flags - result.display = display - result.surface = surface + result.buffer = buffer -proc newVkWin32SurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkWin32SurfaceCreateFlagsKHR = 0.VkWin32SurfaceCreateFlagsKHR, hinstance: HINSTANCE, hwnd: HWND): VkWin32SurfaceCreateInfoKHR = +proc newVkBufferOpaqueCaptureAddressCreateInfo*(sType: VkStructureType, pNext: pointer = nil, opaqueCaptureAddress: uint64): VkBufferOpaqueCaptureAddressCreateInfo = result.sType = sType result.pNext = pNext - result.flags = flags - result.hinstance = hinstance - result.hwnd = hwnd + result.opaqueCaptureAddress = opaqueCaptureAddress -proc newVkXlibSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkXlibSurfaceCreateFlagsKHR = 0.VkXlibSurfaceCreateFlagsKHR, dpy: ptr Display, window: Window): VkXlibSurfaceCreateInfoKHR = +proc newVkBufferDeviceAddressCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, deviceAddress: VkDeviceAddress): VkBufferDeviceAddressCreateInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.dpy = dpy - result.window = window + result.deviceAddress = deviceAddress -proc newVkXcbSurfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkXcbSurfaceCreateFlagsKHR = 0.VkXcbSurfaceCreateFlagsKHR, connection: ptr xcb_connection_t, window: xcb_window_t): VkXcbSurfaceCreateInfoKHR = +proc newVkPhysicalDeviceImageViewImageFormatInfoEXT*(sType: VkStructureType, pNext: pointer = nil, imageViewType: VkImageViewType): VkPhysicalDeviceImageViewImageFormatInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.connection = connection - result.window = window + result.imageViewType = imageViewType -proc newVkDirectFBSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDirectFBSurfaceCreateFlagsEXT = 0.VkDirectFBSurfaceCreateFlagsEXT, dfb: ptr IDirectFB, surface: ptr IDirectFBSurface): VkDirectFBSurfaceCreateInfoEXT = +proc newVkFilterCubicImageViewImageFormatPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, filterCubic: VkBool32, filterCubicMinmax: VkBool32): VkFilterCubicImageViewImageFormatPropertiesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.dfb = dfb - result.surface = surface + result.filterCubic = filterCubic + result.filterCubicMinmax = filterCubicMinmax -proc newVkImagePipeSurfaceCreateInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, flags: VkImagePipeSurfaceCreateFlagsFUCHSIA = 0.VkImagePipeSurfaceCreateFlagsFUCHSIA, imagePipeHandle: zx_handle_t): VkImagePipeSurfaceCreateInfoFUCHSIA = +proc newVkPhysicalDeviceImagelessFramebufferFeatures*(sType: VkStructureType, pNext: pointer = nil, imagelessFramebuffer: VkBool32): VkPhysicalDeviceImagelessFramebufferFeatures = result.sType = sType result.pNext = pNext - result.flags = flags - result.imagePipeHandle = imagePipeHandle + result.imagelessFramebuffer = imagelessFramebuffer -proc newVkStreamDescriptorSurfaceCreateInfoGGP*(sType: VkStructureType, pNext: pointer = nil, flags: VkStreamDescriptorSurfaceCreateFlagsGGP = 0.VkStreamDescriptorSurfaceCreateFlagsGGP, streamDescriptor: GgpStreamDescriptor): VkStreamDescriptorSurfaceCreateInfoGGP = +proc newVkFramebufferAttachmentsCreateInfo*(sType: VkStructureType, pNext: pointer = nil, attachmentImageInfoCount: uint32, pAttachmentImageInfos: ptr VkFramebufferAttachmentImageInfo): VkFramebufferAttachmentsCreateInfo = + result.sType = sType + result.pNext = pNext + result.attachmentImageInfoCount = attachmentImageInfoCount + result.pAttachmentImageInfos = pAttachmentImageInfos + +proc newVkFramebufferAttachmentImageInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkImageCreateFlags = 0.VkImageCreateFlags, usage: VkImageUsageFlags, width: uint32, height: uint32, layerCount: uint32, viewFormatCount: uint32, pViewFormats: ptr VkFormat): VkFramebufferAttachmentImageInfo = result.sType = sType result.pNext = pNext result.flags = flags - result.streamDescriptor = streamDescriptor + result.usage = usage + result.width = width + result.height = height + result.layerCount = layerCount + result.viewFormatCount = viewFormatCount + result.pViewFormats = pViewFormats -proc newVkSurfaceFormatKHR*(format: VkFormat, colorSpace: VkColorSpaceKHR): VkSurfaceFormatKHR = - result.format = format - result.colorSpace = colorSpace +proc newVkRenderPassAttachmentBeginInfo*(sType: VkStructureType, pNext: pointer = nil, attachmentCount: uint32, pAttachments: ptr VkImageView): VkRenderPassAttachmentBeginInfo = + result.sType = sType + result.pNext = pNext + result.attachmentCount = attachmentCount + result.pAttachments = pAttachments -proc newVkSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkSwapchainCreateFlagsKHR = 0.VkSwapchainCreateFlagsKHR, surface: VkSurfaceKHR, minImageCount: uint32, imageFormat: VkFormat, imageColorSpace: VkColorSpaceKHR, imageExtent: VkExtent2D, imageArrayLayers: uint32, imageUsage: VkImageUsageFlags, imageSharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32, preTransform: VkSurfaceTransformFlagBitsKHR, compositeAlpha: VkCompositeAlphaFlagBitsKHR, presentMode: VkPresentModeKHR, clipped: VkBool32, oldSwapchain: VkSwapchainKHR): VkSwapchainCreateInfoKHR = +proc newVkPhysicalDeviceTextureCompressionASTCHDRFeatures*(sType: VkStructureType, pNext: pointer = nil, textureCompressionASTC_HDR: VkBool32): VkPhysicalDeviceTextureCompressionASTCHDRFeatures = result.sType = sType result.pNext = pNext - result.flags = flags - result.surface = surface - result.minImageCount = minImageCount - result.imageFormat = imageFormat - result.imageColorSpace = imageColorSpace - result.imageExtent = imageExtent - result.imageArrayLayers = imageArrayLayers - result.imageUsage = imageUsage - result.imageSharingMode = imageSharingMode - result.queueFamilyIndexCount = queueFamilyIndexCount - result.pQueueFamilyIndices = pQueueFamilyIndices - result.preTransform = preTransform - result.compositeAlpha = compositeAlpha - result.presentMode = presentMode - result.clipped = clipped - result.oldSwapchain = oldSwapchain + result.textureCompressionASTC_HDR = textureCompressionASTC_HDR + +proc newVkPhysicalDeviceCooperativeMatrixFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, cooperativeMatrix: VkBool32, cooperativeMatrixRobustBufferAccess: VkBool32): VkPhysicalDeviceCooperativeMatrixFeaturesNV = + result.sType = sType + result.pNext = pNext + result.cooperativeMatrix = cooperativeMatrix + result.cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess + +proc newVkPhysicalDeviceCooperativeMatrixPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, cooperativeMatrixSupportedStages: VkShaderStageFlags): VkPhysicalDeviceCooperativeMatrixPropertiesNV = + result.sType = sType + result.pNext = pNext + result.cooperativeMatrixSupportedStages = cooperativeMatrixSupportedStages + +proc newVkCooperativeMatrixPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, MSize: uint32, NSize: uint32, KSize: uint32, AType: VkComponentTypeNV, BType: VkComponentTypeNV, CType: VkComponentTypeNV, DType: VkComponentTypeNV, scope: VkScopeNV): VkCooperativeMatrixPropertiesNV = + result.sType = sType + result.pNext = pNext + result.MSize = MSize + result.NSize = NSize + result.KSize = KSize + result.AType = AType + result.BType = BType + result.CType = CType + result.DType = DType + result.scope = scope -proc newVkPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphores: ptr VkSemaphore, swapchainCount: uint32, pSwapchains: ptr VkSwapchainKHR, pImageIndices: ptr uint32, pResults: ptr VkResult): VkPresentInfoKHR = +proc newVkPhysicalDeviceYcbcrImageArraysFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, ycbcrImageArrays: VkBool32): VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = result.sType = sType result.pNext = pNext - result.waitSemaphoreCount = waitSemaphoreCount - result.pWaitSemaphores = pWaitSemaphores - result.swapchainCount = swapchainCount - result.pSwapchains = pSwapchains - result.pImageIndices = pImageIndices - result.pResults = pResults + result.ycbcrImageArrays = ycbcrImageArrays -proc newVkDebugReportCallbackCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugReportFlagsEXT = 0.VkDebugReportFlagsEXT, pfnCallback: PFN_vkDebugReportCallbackEXT, pUserData: pointer = nil): VkDebugReportCallbackCreateInfoEXT = +proc newVkImageViewHandleInfoNVX*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView, descriptorType: VkDescriptorType, sampler: VkSampler): VkImageViewHandleInfoNVX = result.sType = sType result.pNext = pNext - result.flags = flags - result.pfnCallback = pfnCallback - result.pUserData = pUserData + result.imageView = imageView + result.descriptorType = descriptorType + result.sampler = sampler -proc newVkValidationFlagsEXT*(sType: VkStructureType, pNext: pointer = nil, disabledValidationCheckCount: uint32, pDisabledValidationChecks: ptr VkValidationCheckEXT): VkValidationFlagsEXT = +proc newVkImageViewAddressPropertiesNVX*(sType: VkStructureType, pNext: pointer = nil, deviceAddress: VkDeviceAddress, size: VkDeviceSize): VkImageViewAddressPropertiesNVX = result.sType = sType result.pNext = pNext - result.disabledValidationCheckCount = disabledValidationCheckCount - result.pDisabledValidationChecks = pDisabledValidationChecks + result.deviceAddress = deviceAddress + result.size = size -proc newVkValidationFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, enabledValidationFeatureCount: uint32, pEnabledValidationFeatures: ptr VkValidationFeatureEnableEXT, disabledValidationFeatureCount: uint32, pDisabledValidationFeatures: ptr VkValidationFeatureDisableEXT): VkValidationFeaturesEXT = +proc newVkPresentFrameTokenGGP*(sType: VkStructureType, pNext: pointer = nil, frameToken: GgpFrameToken): VkPresentFrameTokenGGP = result.sType = sType result.pNext = pNext - result.enabledValidationFeatureCount = enabledValidationFeatureCount - result.pEnabledValidationFeatures = pEnabledValidationFeatures - result.disabledValidationFeatureCount = disabledValidationFeatureCount - result.pDisabledValidationFeatures = pDisabledValidationFeatures + result.frameToken = frameToken -proc newVkPipelineRasterizationStateRasterizationOrderAMD*(sType: VkStructureType, pNext: pointer = nil, rasterizationOrder: VkRasterizationOrderAMD): VkPipelineRasterizationStateRasterizationOrderAMD = +proc newVkPipelineCreationFeedback*(flags: VkPipelineCreationFeedbackFlags = 0.VkPipelineCreationFeedbackFlags, duration: uint64): VkPipelineCreationFeedback = + result.flags = flags + result.duration = duration + +proc newVkPipelineCreationFeedbackCreateInfo*(sType: VkStructureType, pNext: pointer = nil, pPipelineCreationFeedback: ptr VkPipelineCreationFeedback, pipelineStageCreationFeedbackCount: uint32, pPipelineStageCreationFeedbacks: ptr ptr VkPipelineCreationFeedback): VkPipelineCreationFeedbackCreateInfo = result.sType = sType result.pNext = pNext - result.rasterizationOrder = rasterizationOrder + result.pPipelineCreationFeedback = pPipelineCreationFeedback + result.pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount + result.pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks -proc newVkDebugMarkerObjectNameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkDebugReportObjectTypeEXT, `object`: uint64, pObjectName: cstring): VkDebugMarkerObjectNameInfoEXT = +proc newVkSurfaceFullScreenExclusiveInfoEXT*(sType: VkStructureType, pNext: pointer = nil, fullScreenExclusive: VkFullScreenExclusiveEXT): VkSurfaceFullScreenExclusiveInfoEXT = result.sType = sType result.pNext = pNext - result.objectType = objectType - result.`object` = `object` - result.pObjectName = pObjectName + result.fullScreenExclusive = fullScreenExclusive -proc newVkDebugMarkerObjectTagInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkDebugReportObjectTypeEXT, `object`: uint64, tagName: uint64, tagSize: uint, pTag: pointer = nil): VkDebugMarkerObjectTagInfoEXT = +proc newVkSurfaceFullScreenExclusiveWin32InfoEXT*(sType: VkStructureType, pNext: pointer = nil, hmonitor: HMONITOR): VkSurfaceFullScreenExclusiveWin32InfoEXT = result.sType = sType result.pNext = pNext - result.objectType = objectType - result.`object` = `object` - result.tagName = tagName - result.tagSize = tagSize - result.pTag = pTag + result.hmonitor = hmonitor -proc newVkDebugMarkerMarkerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pMarkerName: cstring, color: array[4, float32]): VkDebugMarkerMarkerInfoEXT = +proc newVkSurfaceCapabilitiesFullScreenExclusiveEXT*(sType: VkStructureType, pNext: pointer = nil, fullScreenExclusiveSupported: VkBool32): VkSurfaceCapabilitiesFullScreenExclusiveEXT = result.sType = sType result.pNext = pNext - result.pMarkerName = pMarkerName - result.color = color + result.fullScreenExclusiveSupported = fullScreenExclusiveSupported -proc newVkDedicatedAllocationImageCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocation: VkBool32): VkDedicatedAllocationImageCreateInfoNV = +proc newVkPhysicalDevicePresentBarrierFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, presentBarrier: VkBool32): VkPhysicalDevicePresentBarrierFeaturesNV = result.sType = sType result.pNext = pNext - result.dedicatedAllocation = dedicatedAllocation + result.presentBarrier = presentBarrier -proc newVkDedicatedAllocationBufferCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocation: VkBool32): VkDedicatedAllocationBufferCreateInfoNV = +proc newVkSurfaceCapabilitiesPresentBarrierNV*(sType: VkStructureType, pNext: pointer = nil, presentBarrierSupported: VkBool32): VkSurfaceCapabilitiesPresentBarrierNV = result.sType = sType result.pNext = pNext - result.dedicatedAllocation = dedicatedAllocation + result.presentBarrierSupported = presentBarrierSupported -proc newVkDedicatedAllocationMemoryAllocateInfoNV*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, buffer: VkBuffer): VkDedicatedAllocationMemoryAllocateInfoNV = +proc newVkSwapchainPresentBarrierCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, presentBarrierEnable: VkBool32): VkSwapchainPresentBarrierCreateInfoNV = result.sType = sType result.pNext = pNext - result.image = image - result.buffer = buffer + result.presentBarrierEnable = presentBarrierEnable -proc newVkExternalImageFormatPropertiesNV*(imageFormatProperties: VkImageFormatProperties, externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV, exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV, compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalImageFormatPropertiesNV = - result.imageFormatProperties = imageFormatProperties - result.externalMemoryFeatures = externalMemoryFeatures - result.exportFromImportedHandleTypes = exportFromImportedHandleTypes - result.compatibleHandleTypes = compatibleHandleTypes +proc newVkPhysicalDevicePerformanceQueryFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, performanceCounterQueryPools: VkBool32, performanceCounterMultipleQueryPools: VkBool32): VkPhysicalDevicePerformanceQueryFeaturesKHR = + result.sType = sType + result.pNext = pNext + result.performanceCounterQueryPools = performanceCounterQueryPools + result.performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools -proc newVkExternalMemoryImageCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalMemoryImageCreateInfoNV = +proc newVkPhysicalDevicePerformanceQueryPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, allowCommandBufferQueryCopies: VkBool32): VkPhysicalDevicePerformanceQueryPropertiesKHR = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.allowCommandBufferQueryCopies = allowCommandBufferQueryCopies -proc newVkExportMemoryAllocateInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExportMemoryAllocateInfoNV = +proc newVkPerformanceCounterKHR*(sType: VkStructureType, pNext: pointer = nil, unit: VkPerformanceCounterUnitKHR, scope: VkPerformanceCounterScopeKHR, storage: VkPerformanceCounterStorageKHR, uuid: array[VK_UUID_SIZE, uint8]): VkPerformanceCounterKHR = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.unit = unit + result.scope = scope + result.storage = storage + result.uuid = uuid -proc newVkImportMemoryWin32HandleInfoNV*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagsNV, handle: HANDLE): VkImportMemoryWin32HandleInfoNV = +proc newVkPerformanceCounterDescriptionKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkPerformanceCounterDescriptionFlagsKHR = 0.VkPerformanceCounterDescriptionFlagsKHR, name: array[VK_MAX_DESCRIPTION_SIZE, char], category: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkPerformanceCounterDescriptionKHR = result.sType = sType result.pNext = pNext - result.handleType = handleType - result.handle = handle + result.flags = flags + result.name = name + result.category = category + result.description = description -proc newVkExportMemoryWin32HandleInfoNV*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD): VkExportMemoryWin32HandleInfoNV = +proc newVkQueryPoolPerformanceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, queueFamilyIndex: uint32, counterIndexCount: uint32, pCounterIndices: ptr uint32): VkQueryPoolPerformanceCreateInfoKHR = result.sType = sType result.pNext = pNext - result.pAttributes = pAttributes - result.dwAccess = dwAccess + result.queueFamilyIndex = queueFamilyIndex + result.counterIndexCount = counterIndexCount + result.pCounterIndices = pCounterIndices -proc newVkWin32KeyedMutexAcquireReleaseInfoNV*(sType: VkStructureType, pNext: pointer = nil, acquireCount: uint32, pAcquireSyncs: ptr VkDeviceMemory, pAcquireKeys: ptr uint64, pAcquireTimeoutMilliseconds: ptr uint32, releaseCount: uint32, pReleaseSyncs: ptr VkDeviceMemory, pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoNV = +proc newVkAcquireProfilingLockInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkAcquireProfilingLockFlagsKHR = 0.VkAcquireProfilingLockFlagsKHR, timeout: uint64): VkAcquireProfilingLockInfoKHR = result.sType = sType result.pNext = pNext - result.acquireCount = acquireCount - result.pAcquireSyncs = pAcquireSyncs - result.pAcquireKeys = pAcquireKeys - result.pAcquireTimeoutMilliseconds = pAcquireTimeoutMilliseconds - result.releaseCount = releaseCount - result.pReleaseSyncs = pReleaseSyncs - result.pReleaseKeys = pReleaseKeys + result.flags = flags + result.timeout = timeout -proc newVkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, deviceGeneratedCommands: VkBool32): VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = +proc newVkPerformanceQuerySubmitInfoKHR*(sType: VkStructureType, pNext: pointer = nil, counterPassIndex: uint32): VkPerformanceQuerySubmitInfoKHR = result.sType = sType result.pNext = pNext - result.deviceGeneratedCommands = deviceGeneratedCommands + result.counterPassIndex = counterPassIndex -proc newVkDevicePrivateDataCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, privateDataSlotRequestCount: uint32): VkDevicePrivateDataCreateInfoEXT = +proc newVkPerformanceQueryReservationInfoKHR*(sType: VkStructureType, pNext: pointer = nil, maxPerformanceQueriesPerPool: uint32): VkPerformanceQueryReservationInfoKHR = result.sType = sType result.pNext = pNext - result.privateDataSlotRequestCount = privateDataSlotRequestCount + result.maxPerformanceQueriesPerPool = maxPerformanceQueriesPerPool -proc newVkPrivateDataSlotCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPrivateDataSlotCreateFlagsEXT = 0.VkPrivateDataSlotCreateFlagsEXT): VkPrivateDataSlotCreateInfoEXT = +proc newVkHeadlessSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkHeadlessSurfaceCreateFlagsEXT = 0.VkHeadlessSurfaceCreateFlagsEXT): VkHeadlessSurfaceCreateInfoEXT = result.sType = sType result.pNext = pNext result.flags = flags -proc newVkPhysicalDevicePrivateDataFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, privateData: VkBool32): VkPhysicalDevicePrivateDataFeaturesEXT = +proc newVkPhysicalDeviceCoverageReductionModeFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, coverageReductionMode: VkBool32): VkPhysicalDeviceCoverageReductionModeFeaturesNV = result.sType = sType result.pNext = pNext - result.privateData = privateData + result.coverageReductionMode = coverageReductionMode -proc newVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxGraphicsShaderGroupCount: uint32, maxIndirectSequenceCount: uint32, maxIndirectCommandsTokenCount: uint32, maxIndirectCommandsStreamCount: uint32, maxIndirectCommandsTokenOffset: uint32, maxIndirectCommandsStreamStride: uint32, minSequencesCountBufferOffsetAlignment: uint32, minSequencesIndexBufferOffsetAlignment: uint32, minIndirectCommandsBufferOffsetAlignment: uint32): VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = +proc newVkPipelineCoverageReductionStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageReductionStateCreateFlagsNV = 0.VkPipelineCoverageReductionStateCreateFlagsNV, coverageReductionMode: VkCoverageReductionModeNV): VkPipelineCoverageReductionStateCreateInfoNV = result.sType = sType result.pNext = pNext - result.maxGraphicsShaderGroupCount = maxGraphicsShaderGroupCount - result.maxIndirectSequenceCount = maxIndirectSequenceCount - result.maxIndirectCommandsTokenCount = maxIndirectCommandsTokenCount - result.maxIndirectCommandsStreamCount = maxIndirectCommandsStreamCount - result.maxIndirectCommandsTokenOffset = maxIndirectCommandsTokenOffset - result.maxIndirectCommandsStreamStride = maxIndirectCommandsStreamStride - result.minSequencesCountBufferOffsetAlignment = minSequencesCountBufferOffsetAlignment - result.minSequencesIndexBufferOffsetAlignment = minSequencesIndexBufferOffsetAlignment - result.minIndirectCommandsBufferOffsetAlignment = minIndirectCommandsBufferOffsetAlignment + result.flags = flags + result.coverageReductionMode = coverageReductionMode -proc newVkGraphicsShaderGroupCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, pVertexInputState: ptr VkPipelineVertexInputStateCreateInfo, pTessellationState: ptr VkPipelineTessellationStateCreateInfo): VkGraphicsShaderGroupCreateInfoNV = +proc newVkFramebufferMixedSamplesCombinationNV*(sType: VkStructureType, pNext: pointer = nil, coverageReductionMode: VkCoverageReductionModeNV, rasterizationSamples: VkSampleCountFlagBits, depthStencilSamples: VkSampleCountFlags, colorSamples: VkSampleCountFlags): VkFramebufferMixedSamplesCombinationNV = result.sType = sType result.pNext = pNext - result.stageCount = stageCount - result.pStages = pStages - result.pVertexInputState = pVertexInputState - result.pTessellationState = pTessellationState + result.coverageReductionMode = coverageReductionMode + result.rasterizationSamples = rasterizationSamples + result.depthStencilSamples = depthStencilSamples + result.colorSamples = colorSamples -proc newVkGraphicsPipelineShaderGroupsCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, groupCount: uint32, pGroups: ptr VkGraphicsShaderGroupCreateInfoNV, pipelineCount: uint32, pPipelines: ptr VkPipeline): VkGraphicsPipelineShaderGroupsCreateInfoNV = +proc newVkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*(sType: VkStructureType, pNext: pointer = nil, shaderIntegerFunctions2: VkBool32): VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = result.sType = sType result.pNext = pNext - result.groupCount = groupCount - result.pGroups = pGroups - result.pipelineCount = pipelineCount - result.pPipelines = pPipelines - -proc newVkBindShaderGroupIndirectCommandNV*(groupIndex: uint32): VkBindShaderGroupIndirectCommandNV = - result.groupIndex = groupIndex - -proc newVkBindIndexBufferIndirectCommandNV*(bufferAddress: VkDeviceAddress, size: uint32, indexType: VkIndexType): VkBindIndexBufferIndirectCommandNV = - result.bufferAddress = bufferAddress - result.size = size - result.indexType = indexType - -proc newVkBindVertexBufferIndirectCommandNV*(bufferAddress: VkDeviceAddress, size: uint32, stride: uint32): VkBindVertexBufferIndirectCommandNV = - result.bufferAddress = bufferAddress - result.size = size - result.stride = stride + result.shaderIntegerFunctions2 = shaderIntegerFunctions2 -proc newVkSetStateFlagsIndirectCommandNV*(data: uint32): VkSetStateFlagsIndirectCommandNV = +proc newVkPerformanceValueINTEL*(`type`: VkPerformanceValueTypeINTEL, data: VkPerformanceValueDataINTEL): VkPerformanceValueINTEL = + result.`type` = `type` result.data = data -proc newVkIndirectCommandsStreamNV*(buffer: VkBuffer, offset: VkDeviceSize): VkIndirectCommandsStreamNV = - result.buffer = buffer - result.offset = offset - -proc newVkIndirectCommandsLayoutTokenNV*(sType: VkStructureType, pNext: pointer = nil, tokenType: VkIndirectCommandsTokenTypeNV, stream: uint32, offset: uint32, vertexBindingUnit: uint32, vertexDynamicStride: VkBool32, pushconstantPipelineLayout: VkPipelineLayout, pushconstantShaderStageFlags: VkShaderStageFlags, pushconstantOffset: uint32, pushconstantSize: uint32, indirectStateFlags: VkIndirectStateFlagsNV, indexTypeCount: uint32, pIndexTypes: ptr VkIndexType, pIndexTypeValues: ptr uint32): VkIndirectCommandsLayoutTokenNV = - result.sType = sType - result.pNext = pNext - result.tokenType = tokenType - result.stream = stream - result.offset = offset - result.vertexBindingUnit = vertexBindingUnit - result.vertexDynamicStride = vertexDynamicStride - result.pushconstantPipelineLayout = pushconstantPipelineLayout - result.pushconstantShaderStageFlags = pushconstantShaderStageFlags - result.pushconstantOffset = pushconstantOffset - result.pushconstantSize = pushconstantSize - result.indirectStateFlags = indirectStateFlags - result.indexTypeCount = indexTypeCount - result.pIndexTypes = pIndexTypes - result.pIndexTypeValues = pIndexTypeValues - -proc newVkIndirectCommandsLayoutCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkIndirectCommandsLayoutUsageFlagsNV = 0.VkIndirectCommandsLayoutUsageFlagsNV, pipelineBindPoint: VkPipelineBindPoint, tokenCount: uint32, pTokens: ptr VkIndirectCommandsLayoutTokenNV, streamCount: uint32, pStreamStrides: ptr uint32): VkIndirectCommandsLayoutCreateInfoNV = +proc newVkInitializePerformanceApiInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, pUserData: pointer = nil): VkInitializePerformanceApiInfoINTEL = result.sType = sType result.pNext = pNext - result.flags = flags - result.pipelineBindPoint = pipelineBindPoint - result.tokenCount = tokenCount - result.pTokens = pTokens - result.streamCount = streamCount - result.pStreamStrides = pStreamStrides + result.pUserData = pUserData -proc newVkGeneratedCommandsInfoNV*(sType: VkStructureType, pNext: pointer = nil, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, indirectCommandsLayout: VkIndirectCommandsLayoutNV, streamCount: uint32, pStreams: ptr VkIndirectCommandsStreamNV, sequencesCount: uint32, preprocessBuffer: VkBuffer, preprocessOffset: VkDeviceSize, preprocessSize: VkDeviceSize, sequencesCountBuffer: VkBuffer, sequencesCountOffset: VkDeviceSize, sequencesIndexBuffer: VkBuffer, sequencesIndexOffset: VkDeviceSize): VkGeneratedCommandsInfoNV = +proc newVkQueryPoolPerformanceQueryCreateInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, performanceCountersSampling: VkQueryPoolSamplingModeINTEL): VkQueryPoolPerformanceQueryCreateInfoINTEL = result.sType = sType result.pNext = pNext - result.pipelineBindPoint = pipelineBindPoint - result.pipeline = pipeline - result.indirectCommandsLayout = indirectCommandsLayout - result.streamCount = streamCount - result.pStreams = pStreams - result.sequencesCount = sequencesCount - result.preprocessBuffer = preprocessBuffer - result.preprocessOffset = preprocessOffset - result.preprocessSize = preprocessSize - result.sequencesCountBuffer = sequencesCountBuffer - result.sequencesCountOffset = sequencesCountOffset - result.sequencesIndexBuffer = sequencesIndexBuffer - result.sequencesIndexOffset = sequencesIndexOffset + result.performanceCountersSampling = performanceCountersSampling -proc newVkGeneratedCommandsMemoryRequirementsInfoNV*(sType: VkStructureType, pNext: pointer = nil, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, indirectCommandsLayout: VkIndirectCommandsLayoutNV, maxSequencesCount: uint32): VkGeneratedCommandsMemoryRequirementsInfoNV = +proc newVkPerformanceMarkerInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, marker: uint64): VkPerformanceMarkerInfoINTEL = result.sType = sType result.pNext = pNext - result.pipelineBindPoint = pipelineBindPoint - result.pipeline = pipeline - result.indirectCommandsLayout = indirectCommandsLayout - result.maxSequencesCount = maxSequencesCount + result.marker = marker -proc newVkPhysicalDeviceFeatures2*(sType: VkStructureType, pNext: pointer = nil, features: VkPhysicalDeviceFeatures): VkPhysicalDeviceFeatures2 = +proc newVkPerformanceStreamMarkerInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, marker: uint32): VkPerformanceStreamMarkerInfoINTEL = result.sType = sType result.pNext = pNext - result.features = features + result.marker = marker -proc newVkPhysicalDeviceProperties2*(sType: VkStructureType, pNext: pointer = nil, properties: VkPhysicalDeviceProperties): VkPhysicalDeviceProperties2 = +proc newVkPerformanceOverrideInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, `type`: VkPerformanceOverrideTypeINTEL, enable: VkBool32, parameter: uint64): VkPerformanceOverrideInfoINTEL = result.sType = sType result.pNext = pNext - result.properties = properties + result.`type` = `type` + result.enable = enable + result.parameter = parameter -proc newVkFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, formatProperties: VkFormatProperties): VkFormatProperties2 = +proc newVkPerformanceConfigurationAcquireInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, `type`: VkPerformanceConfigurationTypeINTEL): VkPerformanceConfigurationAcquireInfoINTEL = result.sType = sType result.pNext = pNext - result.formatProperties = formatProperties + result.`type` = `type` -proc newVkImageFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, imageFormatProperties: VkImageFormatProperties): VkImageFormatProperties2 = +proc newVkPhysicalDeviceShaderClockFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, shaderSubgroupClock: VkBool32, shaderDeviceClock: VkBool32): VkPhysicalDeviceShaderClockFeaturesKHR = result.sType = sType result.pNext = pNext - result.imageFormatProperties = imageFormatProperties + result.shaderSubgroupClock = shaderSubgroupClock + result.shaderDeviceClock = shaderDeviceClock -proc newVkPhysicalDeviceImageFormatInfo2*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, `type`: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags = 0.VkImageCreateFlags): VkPhysicalDeviceImageFormatInfo2 = +proc newVkPhysicalDeviceIndexTypeUint8FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, indexTypeUint8: VkBool32): VkPhysicalDeviceIndexTypeUint8FeaturesEXT = result.sType = sType result.pNext = pNext - result.format = format - result.`type` = `type` - result.tiling = tiling - result.usage = usage - result.flags = flags + result.indexTypeUint8 = indexTypeUint8 -proc newVkQueueFamilyProperties2*(sType: VkStructureType, pNext: pointer = nil, queueFamilyProperties: VkQueueFamilyProperties): VkQueueFamilyProperties2 = +proc newVkPhysicalDeviceShaderSMBuiltinsPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shaderSMCount: uint32, shaderWarpsPerSM: uint32): VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = result.sType = sType result.pNext = pNext - result.queueFamilyProperties = queueFamilyProperties + result.shaderSMCount = shaderSMCount + result.shaderWarpsPerSM = shaderWarpsPerSM -proc newVkPhysicalDeviceMemoryProperties2*(sType: VkStructureType, pNext: pointer = nil, memoryProperties: VkPhysicalDeviceMemoryProperties): VkPhysicalDeviceMemoryProperties2 = +proc newVkPhysicalDeviceShaderSMBuiltinsFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, shaderSMBuiltins: VkBool32): VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = result.sType = sType result.pNext = pNext - result.memoryProperties = memoryProperties + result.shaderSMBuiltins = shaderSMBuiltins -proc newVkSparseImageFormatProperties2*(sType: VkStructureType, pNext: pointer = nil, properties: VkSparseImageFormatProperties): VkSparseImageFormatProperties2 = +proc newVkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentShaderSampleInterlock: VkBool32, fragmentShaderPixelInterlock: VkBool32, fragmentShaderShadingRateInterlock: VkBool32): VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = result.sType = sType result.pNext = pNext - result.properties = properties + result.fragmentShaderSampleInterlock = fragmentShaderSampleInterlock + result.fragmentShaderPixelInterlock = fragmentShaderPixelInterlock + result.fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock -proc newVkPhysicalDeviceSparseImageFormatInfo2*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, `type`: VkImageType, samples: VkSampleCountFlagBits, usage: VkImageUsageFlags, tiling: VkImageTiling): VkPhysicalDeviceSparseImageFormatInfo2 = +proc newVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*(sType: VkStructureType, pNext: pointer = nil, separateDepthStencilLayouts: VkBool32): VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = result.sType = sType result.pNext = pNext - result.format = format - result.`type` = `type` - result.samples = samples - result.usage = usage - result.tiling = tiling + result.separateDepthStencilLayouts = separateDepthStencilLayouts -proc newVkPhysicalDevicePushDescriptorPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, maxPushDescriptors: uint32): VkPhysicalDevicePushDescriptorPropertiesKHR = +proc newVkAttachmentReferenceStencilLayout*(sType: VkStructureType, pNext: pointer = nil, stencilLayout: VkImageLayout): VkAttachmentReferenceStencilLayout = result.sType = sType result.pNext = pNext - result.maxPushDescriptors = maxPushDescriptors - -proc newVkConformanceVersion*(major: uint8, minor: uint8, subminor: uint8, patch: uint8): VkConformanceVersion = - result.major = major - result.minor = minor - result.subminor = subminor - result.patch = patch + result.stencilLayout = stencilLayout -proc newVkPhysicalDeviceDriverProperties*(sType: VkStructureType, pNext: pointer = nil, driverID: VkDriverId, driverName: array[VK_MAX_DRIVER_NAME_SIZE, char], driverInfo: array[VK_MAX_DRIVER_INFO_SIZE, char], conformanceVersion: VkConformanceVersion): VkPhysicalDeviceDriverProperties = +proc newVkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, primitiveTopologyListRestart: VkBool32, primitiveTopologyPatchListRestart: VkBool32): VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = result.sType = sType result.pNext = pNext - result.driverID = driverID - result.driverName = driverName - result.driverInfo = driverInfo - result.conformanceVersion = conformanceVersion + result.primitiveTopologyListRestart = primitiveTopologyListRestart + result.primitiveTopologyPatchListRestart = primitiveTopologyPatchListRestart -proc newVkPresentRegionsKHR*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pRegions: ptr VkPresentRegionKHR): VkPresentRegionsKHR = +proc newVkAttachmentDescriptionStencilLayout*(sType: VkStructureType, pNext: pointer = nil, stencilInitialLayout: VkImageLayout, stencilFinalLayout: VkImageLayout): VkAttachmentDescriptionStencilLayout = result.sType = sType result.pNext = pNext - result.swapchainCount = swapchainCount - result.pRegions = pRegions - -proc newVkPresentRegionKHR*(rectangleCount: uint32, pRectangles: ptr VkRectLayerKHR): VkPresentRegionKHR = - result.rectangleCount = rectangleCount - result.pRectangles = pRectangles - -proc newVkRectLayerKHR*(offset: VkOffset2D, extent: VkExtent2D, layer: uint32): VkRectLayerKHR = - result.offset = offset - result.extent = extent - result.layer = layer + result.stencilInitialLayout = stencilInitialLayout + result.stencilFinalLayout = stencilFinalLayout -proc newVkPhysicalDeviceVariablePointersFeatures*(sType: VkStructureType, pNext: pointer = nil, variablePointersStorageBuffer: VkBool32, variablePointers: VkBool32): VkPhysicalDeviceVariablePointersFeatures = +proc newVkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, pipelineExecutableInfo: VkBool32): VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = result.sType = sType result.pNext = pNext - result.variablePointersStorageBuffer = variablePointersStorageBuffer - result.variablePointers = variablePointers + result.pipelineExecutableInfo = pipelineExecutableInfo -proc newVkExternalMemoryProperties*(externalMemoryFeatures: VkExternalMemoryFeatureFlags, exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags, compatibleHandleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryProperties = - result.externalMemoryFeatures = externalMemoryFeatures - result.exportFromImportedHandleTypes = exportFromImportedHandleTypes - result.compatibleHandleTypes = compatibleHandleTypes +proc newVkPipelineInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pipeline: VkPipeline): VkPipelineInfoKHR = + result.sType = sType + result.pNext = pNext + result.pipeline = pipeline -proc newVkPhysicalDeviceExternalImageFormatInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalImageFormatInfo = +proc newVkPipelineExecutablePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, stages: VkShaderStageFlags, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], subgroupSize: uint32): VkPipelineExecutablePropertiesKHR = result.sType = sType result.pNext = pNext - result.handleType = handleType + result.stages = stages + result.name = name + result.description = description + result.subgroupSize = subgroupSize -proc newVkExternalImageFormatProperties*(sType: VkStructureType, pNext: pointer = nil, externalMemoryProperties: VkExternalMemoryProperties): VkExternalImageFormatProperties = +proc newVkPipelineExecutableInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pipeline: VkPipeline, executableIndex: uint32): VkPipelineExecutableInfoKHR = result.sType = sType result.pNext = pNext - result.externalMemoryProperties = externalMemoryProperties + result.pipeline = pipeline + result.executableIndex = executableIndex -proc newVkPhysicalDeviceExternalBufferInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkBufferCreateFlags = 0.VkBufferCreateFlags, usage: VkBufferUsageFlags, handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalBufferInfo = +proc newVkPipelineExecutableStatisticKHR*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], format: VkPipelineExecutableStatisticFormatKHR, value: VkPipelineExecutableStatisticValueKHR): VkPipelineExecutableStatisticKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.usage = usage - result.handleType = handleType + result.name = name + result.description = description + result.format = format + result.value = value -proc newVkExternalBufferProperties*(sType: VkStructureType, pNext: pointer = nil, externalMemoryProperties: VkExternalMemoryProperties): VkExternalBufferProperties = +proc newVkPipelineExecutableInternalRepresentationKHR*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], isText: VkBool32, dataSize: uint, pData: pointer = nil): VkPipelineExecutableInternalRepresentationKHR = result.sType = sType result.pNext = pNext - result.externalMemoryProperties = externalMemoryProperties + result.name = name + result.description = description + result.isText = isText + result.dataSize = dataSize + result.pData = pData -proc newVkPhysicalDeviceIDProperties*(sType: VkStructureType, pNext: pointer = nil, deviceUUID: array[VK_UUID_SIZE, uint8], driverUUID: array[VK_UUID_SIZE, uint8], deviceLUID: array[VK_LUID_SIZE, uint8], deviceNodeMask: uint32, deviceLUIDValid: VkBool32): VkPhysicalDeviceIDProperties = +proc newVkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderDemoteToHelperInvocation: VkBool32): VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures = result.sType = sType result.pNext = pNext - result.deviceUUID = deviceUUID - result.driverUUID = driverUUID - result.deviceLUID = deviceLUID - result.deviceNodeMask = deviceNodeMask - result.deviceLUIDValid = deviceLUIDValid + result.shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation -proc newVkExternalMemoryImageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryImageCreateInfo = +proc newVkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, texelBufferAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.texelBufferAlignment = texelBufferAlignment -proc newVkExternalMemoryBufferCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryBufferCreateInfo = +proc newVkPhysicalDeviceTexelBufferAlignmentProperties*(sType: VkStructureType, pNext: pointer = nil, storageTexelBufferOffsetAlignmentBytes: VkDeviceSize, storageTexelBufferOffsetSingleTexelAlignment: VkBool32, uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize, uniformTexelBufferOffsetSingleTexelAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentProperties = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.storageTexelBufferOffsetAlignmentBytes = storageTexelBufferOffsetAlignmentBytes + result.storageTexelBufferOffsetSingleTexelAlignment = storageTexelBufferOffsetSingleTexelAlignment + result.uniformTexelBufferOffsetAlignmentBytes = uniformTexelBufferOffsetAlignmentBytes + result.uniformTexelBufferOffsetSingleTexelAlignment = uniformTexelBufferOffsetSingleTexelAlignment -proc newVkExportMemoryAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalMemoryHandleTypeFlags): VkExportMemoryAllocateInfo = +proc newVkPhysicalDeviceSubgroupSizeControlFeatures*(sType: VkStructureType, pNext: pointer = nil, subgroupSizeControl: VkBool32, computeFullSubgroups: VkBool32): VkPhysicalDeviceSubgroupSizeControlFeatures = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.subgroupSizeControl = subgroupSizeControl + result.computeFullSubgroups = computeFullSubgroups -proc newVkImportMemoryWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportMemoryWin32HandleInfoKHR = +proc newVkPhysicalDeviceSubgroupSizeControlProperties*(sType: VkStructureType, pNext: pointer = nil, minSubgroupSize: uint32, maxSubgroupSize: uint32, maxComputeWorkgroupSubgroups: uint32, requiredSubgroupSizeStages: VkShaderStageFlags): VkPhysicalDeviceSubgroupSizeControlProperties = result.sType = sType result.pNext = pNext - result.handleType = handleType - result.handle = handle - result.name = name + result.minSubgroupSize = minSubgroupSize + result.maxSubgroupSize = maxSubgroupSize + result.maxComputeWorkgroupSubgroups = maxComputeWorkgroupSubgroups + result.requiredSubgroupSizeStages = requiredSubgroupSizeStages -proc newVkExportMemoryWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportMemoryWin32HandleInfoKHR = +proc newVkPipelineShaderStageRequiredSubgroupSizeCreateInfo*(sType: VkStructureType, pNext: pointer = nil, requiredSubgroupSize: uint32): VkPipelineShaderStageRequiredSubgroupSizeCreateInfo = result.sType = sType result.pNext = pNext - result.pAttributes = pAttributes - result.dwAccess = dwAccess - result.name = name + result.requiredSubgroupSize = requiredSubgroupSize -proc newVkMemoryWin32HandlePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryWin32HandlePropertiesKHR = +proc newVkSubpassShadingPipelineCreateInfoHUAWEI*(sType: VkStructureType, pNext: pointer = nil, renderPass: VkRenderPass, subpass: uint32): VkSubpassShadingPipelineCreateInfoHUAWEI = result.sType = sType result.pNext = pNext - result.memoryTypeBits = memoryTypeBits + result.renderPass = renderPass + result.subpass = subpass -proc newVkMemoryGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetWin32HandleInfoKHR = +proc newVkPhysicalDeviceSubpassShadingPropertiesHUAWEI*(sType: VkStructureType, pNext: pointer = nil, maxSubpassShadingWorkgroupSizeAspectRatio: uint32): VkPhysicalDeviceSubpassShadingPropertiesHUAWEI = result.sType = sType result.pNext = pNext - result.memory = memory - result.handleType = handleType + result.maxSubpassShadingWorkgroupSizeAspectRatio = maxSubpassShadingWorkgroupSizeAspectRatio -proc newVkImportMemoryFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, fd: int): VkImportMemoryFdInfoKHR = +proc newVkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI*(sType: VkStructureType, pNext: pointer = nil, maxWorkGroupCount: array[3, uint32], maxWorkGroupSize: array[3, uint32], maxOutputClusterCount: uint32, indirectBufferOffsetAlignment: VkDeviceSize): VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI = result.sType = sType result.pNext = pNext - result.handleType = handleType - result.fd = fd + result.maxWorkGroupCount = maxWorkGroupCount + result.maxWorkGroupSize = maxWorkGroupSize + result.maxOutputClusterCount = maxOutputClusterCount + result.indirectBufferOffsetAlignment = indirectBufferOffsetAlignment -proc newVkMemoryFdPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryFdPropertiesKHR = +proc newVkMemoryOpaqueCaptureAddressAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, opaqueCaptureAddress: uint64): VkMemoryOpaqueCaptureAddressAllocateInfo = result.sType = sType result.pNext = pNext - result.memoryTypeBits = memoryTypeBits + result.opaqueCaptureAddress = opaqueCaptureAddress -proc newVkMemoryGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetFdInfoKHR = +proc newVkDeviceMemoryOpaqueCaptureAddressInfo*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory): VkDeviceMemoryOpaqueCaptureAddressInfo = result.sType = sType result.pNext = pNext result.memory = memory - result.handleType = handleType -proc newVkWin32KeyedMutexAcquireReleaseInfoKHR*(sType: VkStructureType, pNext: pointer = nil, acquireCount: uint32, pAcquireSyncs: ptr VkDeviceMemory, pAcquireKeys: ptr uint64, pAcquireTimeouts: ptr uint32, releaseCount: uint32, pReleaseSyncs: ptr VkDeviceMemory, pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoKHR = +proc newVkPhysicalDeviceLineRasterizationFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, rectangularLines: VkBool32, bresenhamLines: VkBool32, smoothLines: VkBool32, stippledRectangularLines: VkBool32, stippledBresenhamLines: VkBool32, stippledSmoothLines: VkBool32): VkPhysicalDeviceLineRasterizationFeaturesEXT = result.sType = sType result.pNext = pNext - result.acquireCount = acquireCount - result.pAcquireSyncs = pAcquireSyncs - result.pAcquireKeys = pAcquireKeys - result.pAcquireTimeouts = pAcquireTimeouts - result.releaseCount = releaseCount - result.pReleaseSyncs = pReleaseSyncs - result.pReleaseKeys = pReleaseKeys + result.rectangularLines = rectangularLines + result.bresenhamLines = bresenhamLines + result.smoothLines = smoothLines + result.stippledRectangularLines = stippledRectangularLines + result.stippledBresenhamLines = stippledBresenhamLines + result.stippledSmoothLines = stippledSmoothLines -proc newVkPhysicalDeviceExternalSemaphoreInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkPhysicalDeviceExternalSemaphoreInfo = +proc newVkPhysicalDeviceLineRasterizationPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, lineSubPixelPrecisionBits: uint32): VkPhysicalDeviceLineRasterizationPropertiesEXT = result.sType = sType result.pNext = pNext - result.handleType = handleType + result.lineSubPixelPrecisionBits = lineSubPixelPrecisionBits -proc newVkExternalSemaphoreProperties*(sType: VkStructureType, pNext: pointer = nil, exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags, compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags, externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags): VkExternalSemaphoreProperties = +proc newVkPipelineRasterizationLineStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, lineRasterizationMode: VkLineRasterizationModeEXT, stippledLineEnable: VkBool32, lineStippleFactor: uint32, lineStipplePattern: uint16): VkPipelineRasterizationLineStateCreateInfoEXT = result.sType = sType result.pNext = pNext - result.exportFromImportedHandleTypes = exportFromImportedHandleTypes - result.compatibleHandleTypes = compatibleHandleTypes - result.externalSemaphoreFeatures = externalSemaphoreFeatures + result.lineRasterizationMode = lineRasterizationMode + result.stippledLineEnable = stippledLineEnable + result.lineStippleFactor = lineStippleFactor + result.lineStipplePattern = lineStipplePattern -proc newVkExportSemaphoreCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalSemaphoreHandleTypeFlags): VkExportSemaphoreCreateInfo = +proc newVkPhysicalDevicePipelineCreationCacheControlFeatures*(sType: VkStructureType, pNext: pointer = nil, pipelineCreationCacheControl: VkBool32): VkPhysicalDevicePipelineCreationCacheControlFeatures = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.pipelineCreationCacheControl = pipelineCreationCacheControl -proc newVkImportSemaphoreWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags, handleType: VkExternalSemaphoreHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportSemaphoreWin32HandleInfoKHR = +proc newVkPhysicalDeviceVulkan11Features*(sType: VkStructureType, pNext: pointer = nil, storageBuffer16BitAccess: VkBool32, uniformAndStorageBuffer16BitAccess: VkBool32, storagePushConstant16: VkBool32, storageInputOutput16: VkBool32, multiview: VkBool32, multiviewGeometryShader: VkBool32, multiviewTessellationShader: VkBool32, variablePointersStorageBuffer: VkBool32, variablePointers: VkBool32, protectedMemory: VkBool32, samplerYcbcrConversion: VkBool32, shaderDrawParameters: VkBool32): VkPhysicalDeviceVulkan11Features = result.sType = sType result.pNext = pNext - result.semaphore = semaphore - result.flags = flags - result.handleType = handleType - result.handle = handle - result.name = name + result.storageBuffer16BitAccess = storageBuffer16BitAccess + result.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess + result.storagePushConstant16 = storagePushConstant16 + result.storageInputOutput16 = storageInputOutput16 + result.multiview = multiview + result.multiviewGeometryShader = multiviewGeometryShader + result.multiviewTessellationShader = multiviewTessellationShader + result.variablePointersStorageBuffer = variablePointersStorageBuffer + result.variablePointers = variablePointers + result.protectedMemory = protectedMemory + result.samplerYcbcrConversion = samplerYcbcrConversion + result.shaderDrawParameters = shaderDrawParameters -proc newVkExportSemaphoreWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportSemaphoreWin32HandleInfoKHR = +proc newVkPhysicalDeviceVulkan11Properties*(sType: VkStructureType, pNext: pointer = nil, deviceUUID: array[VK_UUID_SIZE, uint8], driverUUID: array[VK_UUID_SIZE, uint8], deviceLUID: array[VK_LUID_SIZE, uint8], deviceNodeMask: uint32, deviceLUIDValid: VkBool32, subgroupSize: uint32, subgroupSupportedStages: VkShaderStageFlags, subgroupSupportedOperations: VkSubgroupFeatureFlags, subgroupQuadOperationsInAllStages: VkBool32, pointClippingBehavior: VkPointClippingBehavior, maxMultiviewViewCount: uint32, maxMultiviewInstanceIndex: uint32, protectedNoFault: VkBool32, maxPerSetDescriptors: uint32, maxMemoryAllocationSize: VkDeviceSize): VkPhysicalDeviceVulkan11Properties = result.sType = sType result.pNext = pNext - result.pAttributes = pAttributes - result.dwAccess = dwAccess - result.name = name + result.deviceUUID = deviceUUID + result.driverUUID = driverUUID + result.deviceLUID = deviceLUID + result.deviceNodeMask = deviceNodeMask + result.deviceLUIDValid = deviceLUIDValid + result.subgroupSize = subgroupSize + result.subgroupSupportedStages = subgroupSupportedStages + result.subgroupSupportedOperations = subgroupSupportedOperations + result.subgroupQuadOperationsInAllStages = subgroupQuadOperationsInAllStages + result.pointClippingBehavior = pointClippingBehavior + result.maxMultiviewViewCount = maxMultiviewViewCount + result.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex + result.protectedNoFault = protectedNoFault + result.maxPerSetDescriptors = maxPerSetDescriptors + result.maxMemoryAllocationSize = maxMemoryAllocationSize -proc newVkD3D12FenceSubmitInfoKHR*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreValuesCount: uint32, pWaitSemaphoreValues: ptr uint64, signalSemaphoreValuesCount: uint32, pSignalSemaphoreValues: ptr uint64): VkD3D12FenceSubmitInfoKHR = +proc newVkPhysicalDeviceVulkan12Features*(sType: VkStructureType, pNext: pointer = nil, samplerMirrorClampToEdge: VkBool32, drawIndirectCount: VkBool32, storageBuffer8BitAccess: VkBool32, uniformAndStorageBuffer8BitAccess: VkBool32, storagePushConstant8: VkBool32, shaderBufferInt64Atomics: VkBool32, shaderSharedInt64Atomics: VkBool32, shaderFloat16: VkBool32, shaderInt8: VkBool32, descriptorIndexing: VkBool32, shaderInputAttachmentArrayDynamicIndexing: VkBool32, shaderUniformTexelBufferArrayDynamicIndexing: VkBool32, shaderStorageTexelBufferArrayDynamicIndexing: VkBool32, shaderUniformBufferArrayNonUniformIndexing: VkBool32, shaderSampledImageArrayNonUniformIndexing: VkBool32, shaderStorageBufferArrayNonUniformIndexing: VkBool32, shaderStorageImageArrayNonUniformIndexing: VkBool32, shaderInputAttachmentArrayNonUniformIndexing: VkBool32, shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32, shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32, descriptorBindingUniformBufferUpdateAfterBind: VkBool32, descriptorBindingSampledImageUpdateAfterBind: VkBool32, descriptorBindingStorageImageUpdateAfterBind: VkBool32, descriptorBindingStorageBufferUpdateAfterBind: VkBool32, descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32, descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32, descriptorBindingUpdateUnusedWhilePending: VkBool32, descriptorBindingPartiallyBound: VkBool32, descriptorBindingVariableDescriptorCount: VkBool32, runtimeDescriptorArray: VkBool32, samplerFilterMinmax: VkBool32, scalarBlockLayout: VkBool32, imagelessFramebuffer: VkBool32, uniformBufferStandardLayout: VkBool32, shaderSubgroupExtendedTypes: VkBool32, separateDepthStencilLayouts: VkBool32, hostQueryReset: VkBool32, timelineSemaphore: VkBool32, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32, vulkanMemoryModel: VkBool32, vulkanMemoryModelDeviceScope: VkBool32, vulkanMemoryModelAvailabilityVisibilityChains: VkBool32, shaderOutputViewportIndex: VkBool32, shaderOutputLayer: VkBool32, subgroupBroadcastDynamicId: VkBool32): VkPhysicalDeviceVulkan12Features = result.sType = sType result.pNext = pNext - result.waitSemaphoreValuesCount = waitSemaphoreValuesCount - result.pWaitSemaphoreValues = pWaitSemaphoreValues - result.signalSemaphoreValuesCount = signalSemaphoreValuesCount - result.pSignalSemaphoreValues = pSignalSemaphoreValues + result.samplerMirrorClampToEdge = samplerMirrorClampToEdge + result.drawIndirectCount = drawIndirectCount + result.storageBuffer8BitAccess = storageBuffer8BitAccess + result.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess + result.storagePushConstant8 = storagePushConstant8 + result.shaderBufferInt64Atomics = shaderBufferInt64Atomics + result.shaderSharedInt64Atomics = shaderSharedInt64Atomics + result.shaderFloat16 = shaderFloat16 + result.shaderInt8 = shaderInt8 + result.descriptorIndexing = descriptorIndexing + result.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing + result.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing + result.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing + result.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing + result.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing + result.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing + result.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing + result.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing + result.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing + result.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing + result.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind + result.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind + result.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind + result.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind + result.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind + result.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind + result.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending + result.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound + result.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount + result.runtimeDescriptorArray = runtimeDescriptorArray + result.samplerFilterMinmax = samplerFilterMinmax + result.scalarBlockLayout = scalarBlockLayout + result.imagelessFramebuffer = imagelessFramebuffer + result.uniformBufferStandardLayout = uniformBufferStandardLayout + result.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes + result.separateDepthStencilLayouts = separateDepthStencilLayouts + result.hostQueryReset = hostQueryReset + result.timelineSemaphore = timelineSemaphore + result.bufferDeviceAddress = bufferDeviceAddress + result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay + result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice + result.vulkanMemoryModel = vulkanMemoryModel + result.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope + result.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains + result.shaderOutputViewportIndex = shaderOutputViewportIndex + result.shaderOutputLayer = shaderOutputLayer + result.subgroupBroadcastDynamicId = subgroupBroadcastDynamicId -proc newVkSemaphoreGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetWin32HandleInfoKHR = +proc newVkPhysicalDeviceVulkan12Properties*(sType: VkStructureType, pNext: pointer = nil, driverID: VkDriverId, driverName: array[VK_MAX_DRIVER_NAME_SIZE, char], driverInfo: array[VK_MAX_DRIVER_INFO_SIZE, char], conformanceVersion: VkConformanceVersion, denormBehaviorIndependence: VkShaderFloatControlsIndependence, roundingModeIndependence: VkShaderFloatControlsIndependence, shaderSignedZeroInfNanPreserveFloat16: VkBool32, shaderSignedZeroInfNanPreserveFloat32: VkBool32, shaderSignedZeroInfNanPreserveFloat64: VkBool32, shaderDenormPreserveFloat16: VkBool32, shaderDenormPreserveFloat32: VkBool32, shaderDenormPreserveFloat64: VkBool32, shaderDenormFlushToZeroFloat16: VkBool32, shaderDenormFlushToZeroFloat32: VkBool32, shaderDenormFlushToZeroFloat64: VkBool32, shaderRoundingModeRTEFloat16: VkBool32, shaderRoundingModeRTEFloat32: VkBool32, shaderRoundingModeRTEFloat64: VkBool32, shaderRoundingModeRTZFloat16: VkBool32, shaderRoundingModeRTZFloat32: VkBool32, shaderRoundingModeRTZFloat64: VkBool32, maxUpdateAfterBindDescriptorsInAllPools: uint32, shaderUniformBufferArrayNonUniformIndexingNative: VkBool32, shaderSampledImageArrayNonUniformIndexingNative: VkBool32, shaderStorageBufferArrayNonUniformIndexingNative: VkBool32, shaderStorageImageArrayNonUniformIndexingNative: VkBool32, shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32, robustBufferAccessUpdateAfterBind: VkBool32, quadDivergentImplicitLod: VkBool32, maxPerStageDescriptorUpdateAfterBindSamplers: uint32, maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32, maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32, maxPerStageDescriptorUpdateAfterBindSampledImages: uint32, maxPerStageDescriptorUpdateAfterBindStorageImages: uint32, maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32, maxPerStageUpdateAfterBindResources: uint32, maxDescriptorSetUpdateAfterBindSamplers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindStorageBuffers: uint32, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindSampledImages: uint32, maxDescriptorSetUpdateAfterBindStorageImages: uint32, maxDescriptorSetUpdateAfterBindInputAttachments: uint32, supportedDepthResolveModes: VkResolveModeFlags, supportedStencilResolveModes: VkResolveModeFlags, independentResolveNone: VkBool32, independentResolve: VkBool32, filterMinmaxSingleComponentFormats: VkBool32, filterMinmaxImageComponentMapping: VkBool32, maxTimelineSemaphoreValueDifference: uint64, framebufferIntegerColorSampleCounts: VkSampleCountFlags): VkPhysicalDeviceVulkan12Properties = result.sType = sType result.pNext = pNext - result.semaphore = semaphore - result.handleType = handleType + result.driverID = driverID + result.driverName = driverName + result.driverInfo = driverInfo + result.conformanceVersion = conformanceVersion + result.denormBehaviorIndependence = denormBehaviorIndependence + result.roundingModeIndependence = roundingModeIndependence + result.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16 + result.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32 + result.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64 + result.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16 + result.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32 + result.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64 + result.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16 + result.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32 + result.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64 + result.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16 + result.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32 + result.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64 + result.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16 + result.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32 + result.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64 + result.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools + result.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative + result.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative + result.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative + result.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative + result.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative + result.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind + result.quadDivergentImplicitLod = quadDivergentImplicitLod + result.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers + result.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers + result.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers + result.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages + result.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages + result.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments + result.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources + result.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers + result.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers + result.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + result.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers + result.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + result.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages + result.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages + result.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments + result.supportedDepthResolveModes = supportedDepthResolveModes + result.supportedStencilResolveModes = supportedStencilResolveModes + result.independentResolveNone = independentResolveNone + result.independentResolve = independentResolve + result.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats + result.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping + result.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference + result.framebufferIntegerColorSampleCounts = framebufferIntegerColorSampleCounts -proc newVkImportSemaphoreFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags, handleType: VkExternalSemaphoreHandleTypeFlagBits, fd: int): VkImportSemaphoreFdInfoKHR = +proc newVkPhysicalDeviceVulkan13Features*(sType: VkStructureType, pNext: pointer = nil, robustImageAccess: VkBool32, inlineUniformBlock: VkBool32, descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32, pipelineCreationCacheControl: VkBool32, privateData: VkBool32, shaderDemoteToHelperInvocation: VkBool32, shaderTerminateInvocation: VkBool32, subgroupSizeControl: VkBool32, computeFullSubgroups: VkBool32, synchronization2: VkBool32, textureCompressionASTC_HDR: VkBool32, shaderZeroInitializeWorkgroupMemory: VkBool32, dynamicRendering: VkBool32, shaderIntegerDotProduct: VkBool32, maintenance4: VkBool32): VkPhysicalDeviceVulkan13Features = result.sType = sType result.pNext = pNext - result.semaphore = semaphore - result.flags = flags - result.handleType = handleType - result.fd = fd + result.robustImageAccess = robustImageAccess + result.inlineUniformBlock = inlineUniformBlock + result.descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind + result.pipelineCreationCacheControl = pipelineCreationCacheControl + result.privateData = privateData + result.shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation + result.shaderTerminateInvocation = shaderTerminateInvocation + result.subgroupSizeControl = subgroupSizeControl + result.computeFullSubgroups = computeFullSubgroups + result.synchronization2 = synchronization2 + result.textureCompressionASTC_HDR = textureCompressionASTC_HDR + result.shaderZeroInitializeWorkgroupMemory = shaderZeroInitializeWorkgroupMemory + result.dynamicRendering = dynamicRendering + result.shaderIntegerDotProduct = shaderIntegerDotProduct + result.maintenance4 = maintenance4 -proc newVkSemaphoreGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetFdInfoKHR = +proc newVkPhysicalDeviceVulkan13Properties*(sType: VkStructureType, pNext: pointer = nil, minSubgroupSize: uint32, maxSubgroupSize: uint32, maxComputeWorkgroupSubgroups: uint32, requiredSubgroupSizeStages: VkShaderStageFlags, maxInlineUniformBlockSize: uint32, maxPerStageDescriptorInlineUniformBlocks: uint32, maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32, maxDescriptorSetInlineUniformBlocks: uint32, maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32, maxInlineUniformTotalSize: uint32, integerDotProduct8BitUnsignedAccelerated: VkBool32, integerDotProduct8BitSignedAccelerated: VkBool32, integerDotProduct8BitMixedSignednessAccelerated: VkBool32, integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32, integerDotProduct4x8BitPackedSignedAccelerated: VkBool32, integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32, integerDotProduct16BitUnsignedAccelerated: VkBool32, integerDotProduct16BitSignedAccelerated: VkBool32, integerDotProduct16BitMixedSignednessAccelerated: VkBool32, integerDotProduct32BitUnsignedAccelerated: VkBool32, integerDotProduct32BitSignedAccelerated: VkBool32, integerDotProduct32BitMixedSignednessAccelerated: VkBool32, integerDotProduct64BitUnsignedAccelerated: VkBool32, integerDotProduct64BitSignedAccelerated: VkBool32, integerDotProduct64BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32, storageTexelBufferOffsetAlignmentBytes: VkDeviceSize, storageTexelBufferOffsetSingleTexelAlignment: VkBool32, uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize, uniformTexelBufferOffsetSingleTexelAlignment: VkBool32, maxBufferSize: VkDeviceSize): VkPhysicalDeviceVulkan13Properties = result.sType = sType result.pNext = pNext - result.semaphore = semaphore - result.handleType = handleType + result.minSubgroupSize = minSubgroupSize + result.maxSubgroupSize = maxSubgroupSize + result.maxComputeWorkgroupSubgroups = maxComputeWorkgroupSubgroups + result.requiredSubgroupSizeStages = requiredSubgroupSizeStages + result.maxInlineUniformBlockSize = maxInlineUniformBlockSize + result.maxPerStageDescriptorInlineUniformBlocks = maxPerStageDescriptorInlineUniformBlocks + result.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + result.maxDescriptorSetInlineUniformBlocks = maxDescriptorSetInlineUniformBlocks + result.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = maxDescriptorSetUpdateAfterBindInlineUniformBlocks + result.maxInlineUniformTotalSize = maxInlineUniformTotalSize + result.integerDotProduct8BitUnsignedAccelerated = integerDotProduct8BitUnsignedAccelerated + result.integerDotProduct8BitSignedAccelerated = integerDotProduct8BitSignedAccelerated + result.integerDotProduct8BitMixedSignednessAccelerated = integerDotProduct8BitMixedSignednessAccelerated + result.integerDotProduct4x8BitPackedUnsignedAccelerated = integerDotProduct4x8BitPackedUnsignedAccelerated + result.integerDotProduct4x8BitPackedSignedAccelerated = integerDotProduct4x8BitPackedSignedAccelerated + result.integerDotProduct4x8BitPackedMixedSignednessAccelerated = integerDotProduct4x8BitPackedMixedSignednessAccelerated + result.integerDotProduct16BitUnsignedAccelerated = integerDotProduct16BitUnsignedAccelerated + result.integerDotProduct16BitSignedAccelerated = integerDotProduct16BitSignedAccelerated + result.integerDotProduct16BitMixedSignednessAccelerated = integerDotProduct16BitMixedSignednessAccelerated + result.integerDotProduct32BitUnsignedAccelerated = integerDotProduct32BitUnsignedAccelerated + result.integerDotProduct32BitSignedAccelerated = integerDotProduct32BitSignedAccelerated + result.integerDotProduct32BitMixedSignednessAccelerated = integerDotProduct32BitMixedSignednessAccelerated + result.integerDotProduct64BitUnsignedAccelerated = integerDotProduct64BitUnsignedAccelerated + result.integerDotProduct64BitSignedAccelerated = integerDotProduct64BitSignedAccelerated + result.integerDotProduct64BitMixedSignednessAccelerated = integerDotProduct64BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating8BitSignedAccelerated = integerDotProductAccumulatingSaturating8BitSignedAccelerated + result.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating16BitSignedAccelerated = integerDotProductAccumulatingSaturating16BitSignedAccelerated + result.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating32BitSignedAccelerated = integerDotProductAccumulatingSaturating32BitSignedAccelerated + result.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating64BitSignedAccelerated = integerDotProductAccumulatingSaturating64BitSignedAccelerated + result.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + result.storageTexelBufferOffsetAlignmentBytes = storageTexelBufferOffsetAlignmentBytes + result.storageTexelBufferOffsetSingleTexelAlignment = storageTexelBufferOffsetSingleTexelAlignment + result.uniformTexelBufferOffsetAlignmentBytes = uniformTexelBufferOffsetAlignmentBytes + result.uniformTexelBufferOffsetSingleTexelAlignment = uniformTexelBufferOffsetSingleTexelAlignment + result.maxBufferSize = maxBufferSize -proc newVkPhysicalDeviceExternalFenceInfo*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalFenceHandleTypeFlagBits): VkPhysicalDeviceExternalFenceInfo = +proc newVkPipelineCompilerControlCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, compilerControlFlags: VkPipelineCompilerControlFlagsAMD): VkPipelineCompilerControlCreateInfoAMD = result.sType = sType result.pNext = pNext - result.handleType = handleType + result.compilerControlFlags = compilerControlFlags -proc newVkExternalFenceProperties*(sType: VkStructureType, pNext: pointer = nil, exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags, compatibleHandleTypes: VkExternalFenceHandleTypeFlags, externalFenceFeatures: VkExternalFenceFeatureFlags): VkExternalFenceProperties = +proc newVkPhysicalDeviceCoherentMemoryFeaturesAMD*(sType: VkStructureType, pNext: pointer = nil, deviceCoherentMemory: VkBool32): VkPhysicalDeviceCoherentMemoryFeaturesAMD = result.sType = sType result.pNext = pNext - result.exportFromImportedHandleTypes = exportFromImportedHandleTypes - result.compatibleHandleTypes = compatibleHandleTypes - result.externalFenceFeatures = externalFenceFeatures + result.deviceCoherentMemory = deviceCoherentMemory -proc newVkExportFenceCreateInfo*(sType: VkStructureType, pNext: pointer = nil, handleTypes: VkExternalFenceHandleTypeFlags): VkExportFenceCreateInfo = +proc newVkFaultData*(sType: VkStructureType, pNext: pointer = nil, faultLevel: VkFaultLevel, faultType: VkFaultType): VkFaultData = result.sType = sType result.pNext = pNext - result.handleTypes = handleTypes + result.faultLevel = faultLevel + result.faultType = faultType -proc newVkImportFenceWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, flags: VkFenceImportFlags = 0.VkFenceImportFlags, handleType: VkExternalFenceHandleTypeFlagBits, handle: HANDLE, name: LPCWSTR): VkImportFenceWin32HandleInfoKHR = +proc newVkFaultCallbackInfo*(sType: VkStructureType, pNext: pointer = nil, faultCount: uint32, pFaults: ptr VkFaultData, pfnFaultCallback: PFN_vkFaultCallbackFunction): VkFaultCallbackInfo = result.sType = sType result.pNext = pNext - result.fence = fence - result.flags = flags - result.handleType = handleType - result.handle = handle - result.name = name + result.faultCount = faultCount + result.pFaults = pFaults + result.pfnFaultCallback = pfnFaultCallback -proc newVkExportFenceWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pAttributes: ptr SECURITY_ATTRIBUTES, dwAccess: DWORD, name: LPCWSTR): VkExportFenceWin32HandleInfoKHR = +proc newVkPhysicalDeviceToolProperties*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_EXTENSION_NAME_SIZE, char], version: array[VK_MAX_EXTENSION_NAME_SIZE, char], purposes: VkToolPurposeFlags, description: array[VK_MAX_DESCRIPTION_SIZE, char], layer: array[VK_MAX_EXTENSION_NAME_SIZE, char]): VkPhysicalDeviceToolProperties = result.sType = sType result.pNext = pNext - result.pAttributes = pAttributes - result.dwAccess = dwAccess result.name = name + result.version = version + result.purposes = purposes + result.description = description + result.layer = layer -proc newVkFenceGetWin32HandleInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetWin32HandleInfoKHR = - result.sType = sType - result.pNext = pNext - result.fence = fence - result.handleType = handleType - -proc newVkImportFenceFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, flags: VkFenceImportFlags = 0.VkFenceImportFlags, handleType: VkExternalFenceHandleTypeFlagBits, fd: int): VkImportFenceFdInfoKHR = - result.sType = sType - result.pNext = pNext - result.fence = fence - result.flags = flags - result.handleType = handleType - result.fd = fd - -proc newVkFenceGetFdInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fence: VkFence, handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetFdInfoKHR = - result.sType = sType - result.pNext = pNext - result.fence = fence - result.handleType = handleType - -proc newVkPhysicalDeviceMultiviewFeatures*(sType: VkStructureType, pNext: pointer = nil, multiview: VkBool32, multiviewGeometryShader: VkBool32, multiviewTessellationShader: VkBool32): VkPhysicalDeviceMultiviewFeatures = +proc newVkSamplerCustomBorderColorCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, customBorderColor: VkClearColorValue, format: VkFormat): VkSamplerCustomBorderColorCreateInfoEXT = result.sType = sType result.pNext = pNext - result.multiview = multiview - result.multiviewGeometryShader = multiviewGeometryShader - result.multiviewTessellationShader = multiviewTessellationShader + result.customBorderColor = customBorderColor + result.format = format -proc newVkPhysicalDeviceMultiviewProperties*(sType: VkStructureType, pNext: pointer = nil, maxMultiviewViewCount: uint32, maxMultiviewInstanceIndex: uint32): VkPhysicalDeviceMultiviewProperties = +proc newVkPhysicalDeviceCustomBorderColorPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxCustomBorderColorSamplers: uint32): VkPhysicalDeviceCustomBorderColorPropertiesEXT = result.sType = sType result.pNext = pNext - result.maxMultiviewViewCount = maxMultiviewViewCount - result.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex + result.maxCustomBorderColorSamplers = maxCustomBorderColorSamplers -proc newVkRenderPassMultiviewCreateInfo*(sType: VkStructureType, pNext: pointer = nil, subpassCount: uint32, pViewMasks: ptr uint32, dependencyCount: uint32, pViewOffsets: ptr int32, correlationMaskCount: uint32, pCorrelationMasks: ptr uint32): VkRenderPassMultiviewCreateInfo = +proc newVkPhysicalDeviceCustomBorderColorFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, customBorderColors: VkBool32, customBorderColorWithoutFormat: VkBool32): VkPhysicalDeviceCustomBorderColorFeaturesEXT = result.sType = sType result.pNext = pNext - result.subpassCount = subpassCount - result.pViewMasks = pViewMasks - result.dependencyCount = dependencyCount - result.pViewOffsets = pViewOffsets - result.correlationMaskCount = correlationMaskCount - result.pCorrelationMasks = pCorrelationMasks + result.customBorderColors = customBorderColors + result.customBorderColorWithoutFormat = customBorderColorWithoutFormat -proc newVkSurfaceCapabilities2EXT*(sType: VkStructureType, pNext: pointer = nil, minImageCount: uint32, maxImageCount: uint32, currentExtent: VkExtent2D, minImageExtent: VkExtent2D, maxImageExtent: VkExtent2D, maxImageArrayLayers: uint32, supportedTransforms: VkSurfaceTransformFlagsKHR, currentTransform: VkSurfaceTransformFlagBitsKHR, supportedCompositeAlpha: VkCompositeAlphaFlagsKHR, supportedUsageFlags: VkImageUsageFlags, supportedSurfaceCounters: VkSurfaceCounterFlagsEXT): VkSurfaceCapabilities2EXT = +proc newVkSamplerBorderColorComponentMappingCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, components: VkComponentMapping, srgb: VkBool32): VkSamplerBorderColorComponentMappingCreateInfoEXT = result.sType = sType result.pNext = pNext - result.minImageCount = minImageCount - result.maxImageCount = maxImageCount - result.currentExtent = currentExtent - result.minImageExtent = minImageExtent - result.maxImageExtent = maxImageExtent - result.maxImageArrayLayers = maxImageArrayLayers - result.supportedTransforms = supportedTransforms - result.currentTransform = currentTransform - result.supportedCompositeAlpha = supportedCompositeAlpha - result.supportedUsageFlags = supportedUsageFlags - result.supportedSurfaceCounters = supportedSurfaceCounters + result.components = components + result.srgb = srgb -proc newVkDisplayPowerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, powerState: VkDisplayPowerStateEXT): VkDisplayPowerInfoEXT = +proc newVkPhysicalDeviceBorderColorSwizzleFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, borderColorSwizzle: VkBool32, borderColorSwizzleFromImage: VkBool32): VkPhysicalDeviceBorderColorSwizzleFeaturesEXT = result.sType = sType result.pNext = pNext - result.powerState = powerState + result.borderColorSwizzle = borderColorSwizzle + result.borderColorSwizzleFromImage = borderColorSwizzleFromImage -proc newVkDeviceEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, deviceEvent: VkDeviceEventTypeEXT): VkDeviceEventInfoEXT = +proc newVkAccelerationStructureGeometryTrianglesDataKHR*(sType: VkStructureType, pNext: pointer = nil, vertexFormat: VkFormat, vertexData: VkDeviceOrHostAddressConstKHR, vertexStride: VkDeviceSize, maxVertex: uint32, indexType: VkIndexType, indexData: VkDeviceOrHostAddressConstKHR, transformData: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryTrianglesDataKHR = result.sType = sType result.pNext = pNext - result.deviceEvent = deviceEvent + result.vertexFormat = vertexFormat + result.vertexData = vertexData + result.vertexStride = vertexStride + result.maxVertex = maxVertex + result.indexType = indexType + result.indexData = indexData + result.transformData = transformData -proc newVkDisplayEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, displayEvent: VkDisplayEventTypeEXT): VkDisplayEventInfoEXT = +proc newVkAccelerationStructureGeometryAabbsDataKHR*(sType: VkStructureType, pNext: pointer = nil, data: VkDeviceOrHostAddressConstKHR, stride: VkDeviceSize): VkAccelerationStructureGeometryAabbsDataKHR = result.sType = sType result.pNext = pNext - result.displayEvent = displayEvent + result.data = data + result.stride = stride -proc newVkSwapchainCounterCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, surfaceCounters: VkSurfaceCounterFlagsEXT): VkSwapchainCounterCreateInfoEXT = +proc newVkAccelerationStructureGeometryInstancesDataKHR*(sType: VkStructureType, pNext: pointer = nil, arrayOfPointers: VkBool32, data: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryInstancesDataKHR = result.sType = sType result.pNext = pNext - result.surfaceCounters = surfaceCounters + result.arrayOfPointers = arrayOfPointers + result.data = data -proc newVkPhysicalDeviceGroupProperties*(sType: VkStructureType, pNext: pointer = nil, physicalDeviceCount: uint32, physicalDevices: array[VK_MAX_DEVICE_GROUP_SIZE, VkPhysicalDevice], subsetAllocation: VkBool32): VkPhysicalDeviceGroupProperties = +proc newVkAccelerationStructureGeometryKHR*(sType: VkStructureType, pNext: pointer = nil, geometryType: VkGeometryTypeKHR, geometry: VkAccelerationStructureGeometryDataKHR, flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkAccelerationStructureGeometryKHR = result.sType = sType result.pNext = pNext - result.physicalDeviceCount = physicalDeviceCount - result.physicalDevices = physicalDevices - result.subsetAllocation = subsetAllocation + result.geometryType = geometryType + result.geometry = geometry + result.flags = flags -proc newVkMemoryAllocateFlagsInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkMemoryAllocateFlags = 0.VkMemoryAllocateFlags, deviceMask: uint32): VkMemoryAllocateFlagsInfo = +proc newVkAccelerationStructureBuildGeometryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureTypeKHR, flags: VkBuildAccelerationStructureFlagsKHR = 0.VkBuildAccelerationStructureFlagsKHR, mode: VkBuildAccelerationStructureModeKHR, srcAccelerationStructure: VkAccelerationStructureKHR, dstAccelerationStructure: VkAccelerationStructureKHR, geometryCount: uint32, pGeometries: ptr VkAccelerationStructureGeometryKHR, ppGeometries: ptr ptr VkAccelerationStructureGeometryKHR, scratchData: VkDeviceOrHostAddressKHR): VkAccelerationStructureBuildGeometryInfoKHR = result.sType = sType result.pNext = pNext + result.`type` = `type` result.flags = flags - result.deviceMask = deviceMask + result.mode = mode + result.srcAccelerationStructure = srcAccelerationStructure + result.dstAccelerationStructure = dstAccelerationStructure + result.geometryCount = geometryCount + result.pGeometries = pGeometries + result.ppGeometries = ppGeometries + result.scratchData = scratchData -proc newVkBindBufferMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkBindBufferMemoryInfo = +proc newVkAccelerationStructureBuildRangeInfoKHR*(primitiveCount: uint32, primitiveOffset: uint32, firstVertex: uint32, transformOffset: uint32): VkAccelerationStructureBuildRangeInfoKHR = + result.primitiveCount = primitiveCount + result.primitiveOffset = primitiveOffset + result.firstVertex = firstVertex + result.transformOffset = transformOffset + +proc newVkAccelerationStructureCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, createFlags: VkAccelerationStructureCreateFlagsKHR, buffer: VkBuffer, offset: VkDeviceSize, size: VkDeviceSize, `type`: VkAccelerationStructureTypeKHR, deviceAddress: VkDeviceAddress): VkAccelerationStructureCreateInfoKHR = result.sType = sType result.pNext = pNext + result.createFlags = createFlags result.buffer = buffer - result.memory = memory - result.memoryOffset = memoryOffset + result.offset = offset + result.size = size + result.`type` = `type` + result.deviceAddress = deviceAddress -proc newVkBindBufferMemoryDeviceGroupInfo*(sType: VkStructureType, pNext: pointer = nil, deviceIndexCount: uint32, pDeviceIndices: ptr uint32): VkBindBufferMemoryDeviceGroupInfo = - result.sType = sType - result.pNext = pNext - result.deviceIndexCount = deviceIndexCount - result.pDeviceIndices = pDeviceIndices +proc newVkAabbPositionsKHR*(minX: float32, minY: float32, minZ: float32, maxX: float32, maxY: float32, maxZ: float32): VkAabbPositionsKHR = + result.minX = minX + result.minY = minY + result.minZ = minZ + result.maxX = maxX + result.maxY = maxY + result.maxZ = maxZ -proc newVkBindImageMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkBindImageMemoryInfo = - result.sType = sType - result.pNext = pNext - result.image = image - result.memory = memory - result.memoryOffset = memoryOffset +proc newVkTransformMatrixKHR*(matrix: array[3, float32]): VkTransformMatrixKHR = + result.matrix = matrix -proc newVkBindImageMemoryDeviceGroupInfo*(sType: VkStructureType, pNext: pointer = nil, deviceIndexCount: uint32, pDeviceIndices: ptr uint32, splitInstanceBindRegionCount: uint32, pSplitInstanceBindRegions: ptr VkRect2D): VkBindImageMemoryDeviceGroupInfo = - result.sType = sType - result.pNext = pNext - result.deviceIndexCount = deviceIndexCount - result.pDeviceIndices = pDeviceIndices - result.splitInstanceBindRegionCount = splitInstanceBindRegionCount - result.pSplitInstanceBindRegions = pSplitInstanceBindRegions +proc newVkAccelerationStructureInstanceKHR*(transform: VkTransformMatrixKHR, instanceCustomIndex: uint32, mask: uint32, instanceShaderBindingTableRecordOffset: uint32, flags: VkGeometryInstanceFlagsKHR = 0.VkGeometryInstanceFlagsKHR, accelerationStructureReference: uint64): VkAccelerationStructureInstanceKHR = + result.transform = transform + result.instanceCustomIndex = instanceCustomIndex + result.mask = mask + result.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + result.flags = flags + result.accelerationStructureReference = accelerationStructureReference -proc newVkDeviceGroupRenderPassBeginInfo*(sType: VkStructureType, pNext: pointer = nil, deviceMask: uint32, deviceRenderAreaCount: uint32, pDeviceRenderAreas: ptr VkRect2D): VkDeviceGroupRenderPassBeginInfo = +proc newVkAccelerationStructureDeviceAddressInfoKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkAccelerationStructureKHR): VkAccelerationStructureDeviceAddressInfoKHR = result.sType = sType result.pNext = pNext - result.deviceMask = deviceMask - result.deviceRenderAreaCount = deviceRenderAreaCount - result.pDeviceRenderAreas = pDeviceRenderAreas + result.accelerationStructure = accelerationStructure -proc newVkDeviceGroupCommandBufferBeginInfo*(sType: VkStructureType, pNext: pointer = nil, deviceMask: uint32): VkDeviceGroupCommandBufferBeginInfo = +proc newVkAccelerationStructureVersionInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pVersionData: ptr uint8): VkAccelerationStructureVersionInfoKHR = result.sType = sType result.pNext = pNext - result.deviceMask = deviceMask + result.pVersionData = pVersionData -proc newVkDeviceGroupSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreCount: uint32, pWaitSemaphoreDeviceIndices: ptr uint32, commandBufferCount: uint32, pCommandBufferDeviceMasks: ptr uint32, signalSemaphoreCount: uint32, pSignalSemaphoreDeviceIndices: ptr uint32): VkDeviceGroupSubmitInfo = +proc newVkCopyAccelerationStructureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkAccelerationStructureKHR, dst: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureInfoKHR = result.sType = sType result.pNext = pNext - result.waitSemaphoreCount = waitSemaphoreCount - result.pWaitSemaphoreDeviceIndices = pWaitSemaphoreDeviceIndices - result.commandBufferCount = commandBufferCount - result.pCommandBufferDeviceMasks = pCommandBufferDeviceMasks - result.signalSemaphoreCount = signalSemaphoreCount - result.pSignalSemaphoreDeviceIndices = pSignalSemaphoreDeviceIndices + result.src = src + result.dst = dst + result.mode = mode -proc newVkDeviceGroupBindSparseInfo*(sType: VkStructureType, pNext: pointer = nil, resourceDeviceIndex: uint32, memoryDeviceIndex: uint32): VkDeviceGroupBindSparseInfo = +proc newVkCopyAccelerationStructureToMemoryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkAccelerationStructureKHR, dst: VkDeviceOrHostAddressKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureToMemoryInfoKHR = result.sType = sType result.pNext = pNext - result.resourceDeviceIndex = resourceDeviceIndex - result.memoryDeviceIndex = memoryDeviceIndex + result.src = src + result.dst = dst + result.mode = mode -proc newVkDeviceGroupPresentCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, presentMask: array[VK_MAX_DEVICE_GROUP_SIZE, uint32], modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupPresentCapabilitiesKHR = +proc newVkCopyMemoryToAccelerationStructureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkDeviceOrHostAddressConstKHR, dst: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyMemoryToAccelerationStructureInfoKHR = result.sType = sType result.pNext = pNext - result.presentMask = presentMask - result.modes = modes + result.src = src + result.dst = dst + result.mode = mode -proc newVkImageSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR): VkImageSwapchainCreateInfoKHR = +proc newVkRayTracingPipelineInterfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, maxPipelineRayPayloadSize: uint32, maxPipelineRayHitAttributeSize: uint32): VkRayTracingPipelineInterfaceCreateInfoKHR = result.sType = sType result.pNext = pNext - result.swapchain = swapchain + result.maxPipelineRayPayloadSize = maxPipelineRayPayloadSize + result.maxPipelineRayHitAttributeSize = maxPipelineRayHitAttributeSize -proc newVkBindImageMemorySwapchainInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR, imageIndex: uint32): VkBindImageMemorySwapchainInfoKHR = +proc newVkPipelineLibraryCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, libraryCount: uint32, pLibraries: ptr VkPipeline): VkPipelineLibraryCreateInfoKHR = result.sType = sType result.pNext = pNext - result.swapchain = swapchain - result.imageIndex = imageIndex + result.libraryCount = libraryCount + result.pLibraries = pLibraries -proc newVkAcquireNextImageInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR, timeout: uint64, semaphore: VkSemaphore, fence: VkFence, deviceMask: uint32): VkAcquireNextImageInfoKHR = - result.sType = sType - result.pNext = pNext - result.swapchain = swapchain - result.timeout = timeout - result.semaphore = semaphore - result.fence = fence - result.deviceMask = deviceMask +proc newVkRefreshObjectKHR*(objectType: VkObjectType, objectHandle: uint64, flags: VkRefreshObjectFlagsKHR = 0.VkRefreshObjectFlagsKHR): VkRefreshObjectKHR = + result.objectType = objectType + result.objectHandle = objectHandle + result.flags = flags -proc newVkDeviceGroupPresentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pDeviceMasks: ptr uint32, mode: VkDeviceGroupPresentModeFlagBitsKHR): VkDeviceGroupPresentInfoKHR = +proc newVkRefreshObjectListKHR*(sType: VkStructureType, pNext: pointer = nil, objectCount: uint32, pObjects: ptr VkRefreshObjectKHR): VkRefreshObjectListKHR = result.sType = sType result.pNext = pNext - result.swapchainCount = swapchainCount - result.pDeviceMasks = pDeviceMasks - result.mode = mode + result.objectCount = objectCount + result.pObjects = pObjects -proc newVkDeviceGroupDeviceCreateInfo*(sType: VkStructureType, pNext: pointer = nil, physicalDeviceCount: uint32, pPhysicalDevices: ptr VkPhysicalDevice): VkDeviceGroupDeviceCreateInfo = +proc newVkPhysicalDeviceExtendedDynamicStateFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, extendedDynamicState: VkBool32): VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = result.sType = sType result.pNext = pNext - result.physicalDeviceCount = physicalDeviceCount - result.pPhysicalDevices = pPhysicalDevices + result.extendedDynamicState = extendedDynamicState -proc newVkDeviceGroupSwapchainCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupSwapchainCreateInfoKHR = - result.sType = sType - result.pNext = pNext - result.modes = modes +proc newVkPhysicalDeviceExtendedDynamicState2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, extendedDynamicState2: VkBool32, extendedDynamicState2LogicOp: VkBool32, extendedDynamicState2PatchControlPoints: VkBool32): VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = + result.sType = sType + result.pNext = pNext + result.extendedDynamicState2 = extendedDynamicState2 + result.extendedDynamicState2LogicOp = extendedDynamicState2LogicOp + result.extendedDynamicState2PatchControlPoints = extendedDynamicState2PatchControlPoints + +proc newVkPhysicalDeviceExtendedDynamicState3FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, extendedDynamicState3TessellationDomainOrigin: VkBool32, extendedDynamicState3DepthClampEnable: VkBool32, extendedDynamicState3PolygonMode: VkBool32, extendedDynamicState3RasterizationSamples: VkBool32, extendedDynamicState3SampleMask: VkBool32, extendedDynamicState3AlphaToCoverageEnable: VkBool32, extendedDynamicState3AlphaToOneEnable: VkBool32, extendedDynamicState3LogicOpEnable: VkBool32, extendedDynamicState3ColorBlendEnable: VkBool32, extendedDynamicState3ColorBlendEquation: VkBool32, extendedDynamicState3ColorWriteMask: VkBool32, extendedDynamicState3RasterizationStream: VkBool32, extendedDynamicState3ConservativeRasterizationMode: VkBool32, extendedDynamicState3ExtraPrimitiveOverestimationSize: VkBool32, extendedDynamicState3DepthClipEnable: VkBool32, extendedDynamicState3SampleLocationsEnable: VkBool32, extendedDynamicState3ColorBlendAdvanced: VkBool32, extendedDynamicState3ProvokingVertexMode: VkBool32, extendedDynamicState3LineRasterizationMode: VkBool32, extendedDynamicState3LineStippleEnable: VkBool32, extendedDynamicState3DepthClipNegativeOneToOne: VkBool32, extendedDynamicState3ViewportWScalingEnable: VkBool32, extendedDynamicState3ViewportSwizzle: VkBool32, extendedDynamicState3CoverageToColorEnable: VkBool32, extendedDynamicState3CoverageToColorLocation: VkBool32, extendedDynamicState3CoverageModulationMode: VkBool32, extendedDynamicState3CoverageModulationTableEnable: VkBool32, extendedDynamicState3CoverageModulationTable: VkBool32, extendedDynamicState3CoverageReductionMode: VkBool32, extendedDynamicState3RepresentativeFragmentTestEnable: VkBool32, extendedDynamicState3ShadingRateImageEnable: VkBool32): VkPhysicalDeviceExtendedDynamicState3FeaturesEXT = + result.sType = sType + result.pNext = pNext + result.extendedDynamicState3TessellationDomainOrigin = extendedDynamicState3TessellationDomainOrigin + result.extendedDynamicState3DepthClampEnable = extendedDynamicState3DepthClampEnable + result.extendedDynamicState3PolygonMode = extendedDynamicState3PolygonMode + result.extendedDynamicState3RasterizationSamples = extendedDynamicState3RasterizationSamples + result.extendedDynamicState3SampleMask = extendedDynamicState3SampleMask + result.extendedDynamicState3AlphaToCoverageEnable = extendedDynamicState3AlphaToCoverageEnable + result.extendedDynamicState3AlphaToOneEnable = extendedDynamicState3AlphaToOneEnable + result.extendedDynamicState3LogicOpEnable = extendedDynamicState3LogicOpEnable + result.extendedDynamicState3ColorBlendEnable = extendedDynamicState3ColorBlendEnable + result.extendedDynamicState3ColorBlendEquation = extendedDynamicState3ColorBlendEquation + result.extendedDynamicState3ColorWriteMask = extendedDynamicState3ColorWriteMask + result.extendedDynamicState3RasterizationStream = extendedDynamicState3RasterizationStream + result.extendedDynamicState3ConservativeRasterizationMode = extendedDynamicState3ConservativeRasterizationMode + result.extendedDynamicState3ExtraPrimitiveOverestimationSize = extendedDynamicState3ExtraPrimitiveOverestimationSize + result.extendedDynamicState3DepthClipEnable = extendedDynamicState3DepthClipEnable + result.extendedDynamicState3SampleLocationsEnable = extendedDynamicState3SampleLocationsEnable + result.extendedDynamicState3ColorBlendAdvanced = extendedDynamicState3ColorBlendAdvanced + result.extendedDynamicState3ProvokingVertexMode = extendedDynamicState3ProvokingVertexMode + result.extendedDynamicState3LineRasterizationMode = extendedDynamicState3LineRasterizationMode + result.extendedDynamicState3LineStippleEnable = extendedDynamicState3LineStippleEnable + result.extendedDynamicState3DepthClipNegativeOneToOne = extendedDynamicState3DepthClipNegativeOneToOne + result.extendedDynamicState3ViewportWScalingEnable = extendedDynamicState3ViewportWScalingEnable + result.extendedDynamicState3ViewportSwizzle = extendedDynamicState3ViewportSwizzle + result.extendedDynamicState3CoverageToColorEnable = extendedDynamicState3CoverageToColorEnable + result.extendedDynamicState3CoverageToColorLocation = extendedDynamicState3CoverageToColorLocation + result.extendedDynamicState3CoverageModulationMode = extendedDynamicState3CoverageModulationMode + result.extendedDynamicState3CoverageModulationTableEnable = extendedDynamicState3CoverageModulationTableEnable + result.extendedDynamicState3CoverageModulationTable = extendedDynamicState3CoverageModulationTable + result.extendedDynamicState3CoverageReductionMode = extendedDynamicState3CoverageReductionMode + result.extendedDynamicState3RepresentativeFragmentTestEnable = extendedDynamicState3RepresentativeFragmentTestEnable + result.extendedDynamicState3ShadingRateImageEnable = extendedDynamicState3ShadingRateImageEnable + +proc newVkPhysicalDeviceExtendedDynamicState3PropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, dynamicPrimitiveTopologyUnrestricted: VkBool32): VkPhysicalDeviceExtendedDynamicState3PropertiesEXT = + result.sType = sType + result.pNext = pNext + result.dynamicPrimitiveTopologyUnrestricted = dynamicPrimitiveTopologyUnrestricted + +proc newVkColorBlendEquationEXT*(srcColorBlendFactor: VkBlendFactor, dstColorBlendFactor: VkBlendFactor, colorBlendOp: VkBlendOp, srcAlphaBlendFactor: VkBlendFactor, dstAlphaBlendFactor: VkBlendFactor, alphaBlendOp: VkBlendOp): VkColorBlendEquationEXT = + result.srcColorBlendFactor = srcColorBlendFactor + result.dstColorBlendFactor = dstColorBlendFactor + result.colorBlendOp = colorBlendOp + result.srcAlphaBlendFactor = srcAlphaBlendFactor + result.dstAlphaBlendFactor = dstAlphaBlendFactor + result.alphaBlendOp = alphaBlendOp -proc newVkDescriptorUpdateTemplateEntry*(dstBinding: uint32, dstArrayElement: uint32, descriptorCount: uint32, descriptorType: VkDescriptorType, offset: uint, stride: uint): VkDescriptorUpdateTemplateEntry = - result.dstBinding = dstBinding - result.dstArrayElement = dstArrayElement - result.descriptorCount = descriptorCount - result.descriptorType = descriptorType - result.offset = offset - result.stride = stride +proc newVkColorBlendAdvancedEXT*(advancedBlendOp: VkBlendOp, srcPremultiplied: VkBool32, dstPremultiplied: VkBool32, blendOverlap: VkBlendOverlapEXT, clampResults: VkBool32): VkColorBlendAdvancedEXT = + result.advancedBlendOp = advancedBlendOp + result.srcPremultiplied = srcPremultiplied + result.dstPremultiplied = dstPremultiplied + result.blendOverlap = blendOverlap + result.clampResults = clampResults -proc newVkDescriptorUpdateTemplateCreateInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkDescriptorUpdateTemplateCreateFlags = 0.VkDescriptorUpdateTemplateCreateFlags, descriptorUpdateEntryCount: uint32, pDescriptorUpdateEntries: ptr VkDescriptorUpdateTemplateEntry, templateType: VkDescriptorUpdateTemplateType, descriptorSetLayout: VkDescriptorSetLayout, pipelineBindPoint: VkPipelineBindPoint, pipelineLayout: VkPipelineLayout, set: uint32): VkDescriptorUpdateTemplateCreateInfo = +proc newVkRenderPassTransformBeginInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, transform: VkSurfaceTransformFlagBitsKHR): VkRenderPassTransformBeginInfoQCOM = result.sType = sType result.pNext = pNext - result.flags = flags - result.descriptorUpdateEntryCount = descriptorUpdateEntryCount - result.pDescriptorUpdateEntries = pDescriptorUpdateEntries - result.templateType = templateType - result.descriptorSetLayout = descriptorSetLayout - result.pipelineBindPoint = pipelineBindPoint - result.pipelineLayout = pipelineLayout - result.set = set - -proc newVkXYColorEXT*(x: float32, y: float32): VkXYColorEXT = - result.x = x - result.y = y + result.transform = transform -proc newVkHdrMetadataEXT*(sType: VkStructureType, pNext: pointer = nil, displayPrimaryRed: VkXYColorEXT, displayPrimaryGreen: VkXYColorEXT, displayPrimaryBlue: VkXYColorEXT, whitePoint: VkXYColorEXT, maxLuminance: float32, minLuminance: float32, maxContentLightLevel: float32, maxFrameAverageLightLevel: float32): VkHdrMetadataEXT = +proc newVkCopyCommandTransformInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, transform: VkSurfaceTransformFlagBitsKHR): VkCopyCommandTransformInfoQCOM = result.sType = sType result.pNext = pNext - result.displayPrimaryRed = displayPrimaryRed - result.displayPrimaryGreen = displayPrimaryGreen - result.displayPrimaryBlue = displayPrimaryBlue - result.whitePoint = whitePoint - result.maxLuminance = maxLuminance - result.minLuminance = minLuminance - result.maxContentLightLevel = maxContentLightLevel - result.maxFrameAverageLightLevel = maxFrameAverageLightLevel + result.transform = transform -proc newVkDisplayNativeHdrSurfaceCapabilitiesAMD*(sType: VkStructureType, pNext: pointer = nil, localDimmingSupport: VkBool32): VkDisplayNativeHdrSurfaceCapabilitiesAMD = +proc newVkCommandBufferInheritanceRenderPassTransformInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, transform: VkSurfaceTransformFlagBitsKHR, renderArea: VkRect2D): VkCommandBufferInheritanceRenderPassTransformInfoQCOM = result.sType = sType result.pNext = pNext - result.localDimmingSupport = localDimmingSupport + result.transform = transform + result.renderArea = renderArea -proc newVkSwapchainDisplayNativeHdrCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, localDimmingEnable: VkBool32): VkSwapchainDisplayNativeHdrCreateInfoAMD = +proc newVkPhysicalDeviceDiagnosticsConfigFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, diagnosticsConfig: VkBool32): VkPhysicalDeviceDiagnosticsConfigFeaturesNV = result.sType = sType result.pNext = pNext - result.localDimmingEnable = localDimmingEnable - -proc newVkRefreshCycleDurationGOOGLE*(refreshDuration: uint64): VkRefreshCycleDurationGOOGLE = - result.refreshDuration = refreshDuration - -proc newVkPastPresentationTimingGOOGLE*(presentID: uint32, desiredPresentTime: uint64, actualPresentTime: uint64, earliestPresentTime: uint64, presentMargin: uint64): VkPastPresentationTimingGOOGLE = - result.presentID = presentID - result.desiredPresentTime = desiredPresentTime - result.actualPresentTime = actualPresentTime - result.earliestPresentTime = earliestPresentTime - result.presentMargin = presentMargin + result.diagnosticsConfig = diagnosticsConfig -proc newVkPresentTimesInfoGOOGLE*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pTimes: ptr VkPresentTimeGOOGLE): VkPresentTimesInfoGOOGLE = +proc newVkDeviceDiagnosticsConfigCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceDiagnosticsConfigFlagsNV = 0.VkDeviceDiagnosticsConfigFlagsNV): VkDeviceDiagnosticsConfigCreateInfoNV = result.sType = sType result.pNext = pNext - result.swapchainCount = swapchainCount - result.pTimes = pTimes - -proc newVkPresentTimeGOOGLE*(presentID: uint32, desiredPresentTime: uint64): VkPresentTimeGOOGLE = - result.presentID = presentID - result.desiredPresentTime = desiredPresentTime + result.flags = flags -proc newVkIOSSurfaceCreateInfoMVK*(sType: VkStructureType, pNext: pointer = nil, flags: VkIOSSurfaceCreateFlagsMVK = 0.VkIOSSurfaceCreateFlagsMVK, pView: pointer = nil): VkIOSSurfaceCreateInfoMVK = +proc newVkPipelineOfflineCreateInfo*(sType: VkStructureType, pNext: pointer = nil, pipelineIdentifier: array[VK_UUID_SIZE, uint8], matchControl: VkPipelineMatchControl, poolEntrySize: VkDeviceSize): VkPipelineOfflineCreateInfo = result.sType = sType result.pNext = pNext - result.flags = flags - result.pView = pView + result.pipelineIdentifier = pipelineIdentifier + result.matchControl = matchControl + result.poolEntrySize = poolEntrySize -proc newVkMacOSSurfaceCreateInfoMVK*(sType: VkStructureType, pNext: pointer = nil, flags: VkMacOSSurfaceCreateFlagsMVK = 0.VkMacOSSurfaceCreateFlagsMVK, pView: pointer = nil): VkMacOSSurfaceCreateInfoMVK = +proc newVkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderZeroInitializeWorkgroupMemory: VkBool32): VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = result.sType = sType result.pNext = pNext - result.flags = flags - result.pView = pView + result.shaderZeroInitializeWorkgroupMemory = shaderZeroInitializeWorkgroupMemory -proc newVkMetalSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkMetalSurfaceCreateFlagsEXT = 0.VkMetalSurfaceCreateFlagsEXT, pLayer: ptr CAMetalLayer): VkMetalSurfaceCreateInfoEXT = +proc newVkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, shaderSubgroupUniformControlFlow: VkBool32): VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.pLayer = pLayer - -proc newVkViewportWScalingNV*(xcoeff: float32, ycoeff: float32): VkViewportWScalingNV = - result.xcoeff = xcoeff - result.ycoeff = ycoeff + result.shaderSubgroupUniformControlFlow = shaderSubgroupUniformControlFlow -proc newVkPipelineViewportWScalingStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, viewportWScalingEnable: VkBool32, viewportCount: uint32, pViewportWScalings: ptr VkViewportWScalingNV): VkPipelineViewportWScalingStateCreateInfoNV = +proc newVkPhysicalDeviceRobustness2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, robustBufferAccess2: VkBool32, robustImageAccess2: VkBool32, nullDescriptor: VkBool32): VkPhysicalDeviceRobustness2FeaturesEXT = result.sType = sType result.pNext = pNext - result.viewportWScalingEnable = viewportWScalingEnable - result.viewportCount = viewportCount - result.pViewportWScalings = pViewportWScalings - -proc newVkViewportSwizzleNV*(x: VkViewportCoordinateSwizzleNV, y: VkViewportCoordinateSwizzleNV, z: VkViewportCoordinateSwizzleNV, w: VkViewportCoordinateSwizzleNV): VkViewportSwizzleNV = - result.x = x - result.y = y - result.z = z - result.w = w + result.robustBufferAccess2 = robustBufferAccess2 + result.robustImageAccess2 = robustImageAccess2 + result.nullDescriptor = nullDescriptor -proc newVkPipelineViewportSwizzleStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineViewportSwizzleStateCreateFlagsNV = 0.VkPipelineViewportSwizzleStateCreateFlagsNV, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV): VkPipelineViewportSwizzleStateCreateInfoNV = +proc newVkPhysicalDeviceRobustness2PropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, robustStorageBufferAccessSizeAlignment: VkDeviceSize, robustUniformBufferAccessSizeAlignment: VkDeviceSize): VkPhysicalDeviceRobustness2PropertiesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.viewportCount = viewportCount - result.pViewportSwizzles = pViewportSwizzles + result.robustStorageBufferAccessSizeAlignment = robustStorageBufferAccessSizeAlignment + result.robustUniformBufferAccessSizeAlignment = robustUniformBufferAccessSizeAlignment -proc newVkPhysicalDeviceDiscardRectanglePropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxDiscardRectangles: uint32): VkPhysicalDeviceDiscardRectanglePropertiesEXT = +proc newVkPhysicalDeviceImageRobustnessFeatures*(sType: VkStructureType, pNext: pointer = nil, robustImageAccess: VkBool32): VkPhysicalDeviceImageRobustnessFeatures = result.sType = sType result.pNext = pNext - result.maxDiscardRectangles = maxDiscardRectangles + result.robustImageAccess = robustImageAccess -proc newVkPipelineDiscardRectangleStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineDiscardRectangleStateCreateFlagsEXT = 0.VkPipelineDiscardRectangleStateCreateFlagsEXT, discardRectangleMode: VkDiscardRectangleModeEXT, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D): VkPipelineDiscardRectangleStateCreateInfoEXT = +proc newVkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, workgroupMemoryExplicitLayout: VkBool32, workgroupMemoryExplicitLayoutScalarBlockLayout: VkBool32, workgroupMemoryExplicitLayout8BitAccess: VkBool32, workgroupMemoryExplicitLayout16BitAccess: VkBool32): VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.discardRectangleMode = discardRectangleMode - result.discardRectangleCount = discardRectangleCount - result.pDiscardRectangles = pDiscardRectangles + result.workgroupMemoryExplicitLayout = workgroupMemoryExplicitLayout + result.workgroupMemoryExplicitLayoutScalarBlockLayout = workgroupMemoryExplicitLayoutScalarBlockLayout + result.workgroupMemoryExplicitLayout8BitAccess = workgroupMemoryExplicitLayout8BitAccess + result.workgroupMemoryExplicitLayout16BitAccess = workgroupMemoryExplicitLayout16BitAccess -proc newVkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*(sType: VkStructureType, pNext: pointer = nil, perViewPositionAllComponents: VkBool32): VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = +proc newVkPhysicalDevicePortabilitySubsetFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, constantAlphaColorBlendFactors: VkBool32, events: VkBool32, imageViewFormatReinterpretation: VkBool32, imageViewFormatSwizzle: VkBool32, imageView2DOn3DImage: VkBool32, multisampleArrayImage: VkBool32, mutableComparisonSamplers: VkBool32, pointPolygons: VkBool32, samplerMipLodBias: VkBool32, separateStencilMaskRef: VkBool32, shaderSampleRateInterpolationFunctions: VkBool32, tessellationIsolines: VkBool32, tessellationPointMode: VkBool32, triangleFans: VkBool32, vertexAttributeAccessBeyondStride: VkBool32): VkPhysicalDevicePortabilitySubsetFeaturesKHR = result.sType = sType result.pNext = pNext - result.perViewPositionAllComponents = perViewPositionAllComponents - -proc newVkInputAttachmentAspectReference*(subpass: uint32, inputAttachmentIndex: uint32, aspectMask: VkImageAspectFlags): VkInputAttachmentAspectReference = - result.subpass = subpass - result.inputAttachmentIndex = inputAttachmentIndex - result.aspectMask = aspectMask + result.constantAlphaColorBlendFactors = constantAlphaColorBlendFactors + result.events = events + result.imageViewFormatReinterpretation = imageViewFormatReinterpretation + result.imageViewFormatSwizzle = imageViewFormatSwizzle + result.imageView2DOn3DImage = imageView2DOn3DImage + result.multisampleArrayImage = multisampleArrayImage + result.mutableComparisonSamplers = mutableComparisonSamplers + result.pointPolygons = pointPolygons + result.samplerMipLodBias = samplerMipLodBias + result.separateStencilMaskRef = separateStencilMaskRef + result.shaderSampleRateInterpolationFunctions = shaderSampleRateInterpolationFunctions + result.tessellationIsolines = tessellationIsolines + result.tessellationPointMode = tessellationPointMode + result.triangleFans = triangleFans + result.vertexAttributeAccessBeyondStride = vertexAttributeAccessBeyondStride -proc newVkRenderPassInputAttachmentAspectCreateInfo*(sType: VkStructureType, pNext: pointer = nil, aspectReferenceCount: uint32, pAspectReferences: ptr VkInputAttachmentAspectReference): VkRenderPassInputAttachmentAspectCreateInfo = +proc newVkPhysicalDevicePortabilitySubsetPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, minVertexInputBindingStrideAlignment: uint32): VkPhysicalDevicePortabilitySubsetPropertiesKHR = result.sType = sType result.pNext = pNext - result.aspectReferenceCount = aspectReferenceCount - result.pAspectReferences = pAspectReferences + result.minVertexInputBindingStrideAlignment = minVertexInputBindingStrideAlignment -proc newVkPhysicalDeviceSurfaceInfo2KHR*(sType: VkStructureType, pNext: pointer = nil, surface: VkSurfaceKHR): VkPhysicalDeviceSurfaceInfo2KHR = +proc newVkPhysicalDevice4444FormatsFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, formatA4R4G4B4: VkBool32, formatA4B4G4R4: VkBool32): VkPhysicalDevice4444FormatsFeaturesEXT = result.sType = sType result.pNext = pNext - result.surface = surface + result.formatA4R4G4B4 = formatA4R4G4B4 + result.formatA4B4G4R4 = formatA4B4G4R4 -proc newVkSurfaceCapabilities2KHR*(sType: VkStructureType, pNext: pointer = nil, surfaceCapabilities: VkSurfaceCapabilitiesKHR): VkSurfaceCapabilities2KHR = +proc newVkPhysicalDeviceSubpassShadingFeaturesHUAWEI*(sType: VkStructureType, pNext: pointer = nil, subpassShading: VkBool32): VkPhysicalDeviceSubpassShadingFeaturesHUAWEI = result.sType = sType result.pNext = pNext - result.surfaceCapabilities = surfaceCapabilities + result.subpassShading = subpassShading -proc newVkSurfaceFormat2KHR*(sType: VkStructureType, pNext: pointer = nil, surfaceFormat: VkSurfaceFormatKHR): VkSurfaceFormat2KHR = +proc newVkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI*(sType: VkStructureType, pNext: pointer = nil, clustercullingShader: VkBool32, multiviewClusterCullingShader: VkBool32): VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI = result.sType = sType result.pNext = pNext - result.surfaceFormat = surfaceFormat + result.clustercullingShader = clustercullingShader + result.multiviewClusterCullingShader = multiviewClusterCullingShader -proc newVkDisplayProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayProperties: VkDisplayPropertiesKHR): VkDisplayProperties2KHR = +proc newVkBufferCopy2*(sType: VkStructureType, pNext: pointer = nil, srcOffset: VkDeviceSize, dstOffset: VkDeviceSize, size: VkDeviceSize): VkBufferCopy2 = result.sType = sType result.pNext = pNext - result.displayProperties = displayProperties + result.srcOffset = srcOffset + result.dstOffset = dstOffset + result.size = size -proc newVkDisplayPlaneProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayPlaneProperties: VkDisplayPlanePropertiesKHR): VkDisplayPlaneProperties2KHR = +proc newVkImageCopy2*(sType: VkStructureType, pNext: pointer = nil, srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageCopy2 = result.sType = sType result.pNext = pNext - result.displayPlaneProperties = displayPlaneProperties + result.srcSubresource = srcSubresource + result.srcOffset = srcOffset + result.dstSubresource = dstSubresource + result.dstOffset = dstOffset + result.extent = extent -proc newVkDisplayModeProperties2KHR*(sType: VkStructureType, pNext: pointer = nil, displayModeProperties: VkDisplayModePropertiesKHR): VkDisplayModeProperties2KHR = +proc newVkImageBlit2*(sType: VkStructureType, pNext: pointer = nil, srcSubresource: VkImageSubresourceLayers, srcOffsets: array[2, VkOffset3D], dstSubresource: VkImageSubresourceLayers, dstOffsets: array[2, VkOffset3D]): VkImageBlit2 = result.sType = sType result.pNext = pNext - result.displayModeProperties = displayModeProperties + result.srcSubresource = srcSubresource + result.srcOffsets = srcOffsets + result.dstSubresource = dstSubresource + result.dstOffsets = dstOffsets -proc newVkDisplayPlaneInfo2KHR*(sType: VkStructureType, pNext: pointer = nil, mode: VkDisplayModeKHR, planeIndex: uint32): VkDisplayPlaneInfo2KHR = +proc newVkBufferImageCopy2*(sType: VkStructureType, pNext: pointer = nil, bufferOffset: VkDeviceSize, bufferRowLength: uint32, bufferImageHeight: uint32, imageSubresource: VkImageSubresourceLayers, imageOffset: VkOffset3D, imageExtent: VkExtent3D): VkBufferImageCopy2 = result.sType = sType result.pNext = pNext - result.mode = mode - result.planeIndex = planeIndex + result.bufferOffset = bufferOffset + result.bufferRowLength = bufferRowLength + result.bufferImageHeight = bufferImageHeight + result.imageSubresource = imageSubresource + result.imageOffset = imageOffset + result.imageExtent = imageExtent -proc newVkDisplayPlaneCapabilities2KHR*(sType: VkStructureType, pNext: pointer = nil, capabilities: VkDisplayPlaneCapabilitiesKHR): VkDisplayPlaneCapabilities2KHR = +proc newVkImageResolve2*(sType: VkStructureType, pNext: pointer = nil, srcSubresource: VkImageSubresourceLayers, srcOffset: VkOffset3D, dstSubresource: VkImageSubresourceLayers, dstOffset: VkOffset3D, extent: VkExtent3D): VkImageResolve2 = result.sType = sType result.pNext = pNext - result.capabilities = capabilities + result.srcSubresource = srcSubresource + result.srcOffset = srcOffset + result.dstSubresource = dstSubresource + result.dstOffset = dstOffset + result.extent = extent -proc newVkSharedPresentSurfaceCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, sharedPresentSupportedUsageFlags: VkImageUsageFlags): VkSharedPresentSurfaceCapabilitiesKHR = +proc newVkCopyBufferInfo2*(sType: VkStructureType, pNext: pointer = nil, srcBuffer: VkBuffer, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferCopy2): VkCopyBufferInfo2 = result.sType = sType result.pNext = pNext - result.sharedPresentSupportedUsageFlags = sharedPresentSupportedUsageFlags + result.srcBuffer = srcBuffer + result.dstBuffer = dstBuffer + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkPhysicalDevice16BitStorageFeatures*(sType: VkStructureType, pNext: pointer = nil, storageBuffer16BitAccess: VkBool32, uniformAndStorageBuffer16BitAccess: VkBool32, storagePushConstant16: VkBool32, storageInputOutput16: VkBool32): VkPhysicalDevice16BitStorageFeatures = +proc newVkCopyImageInfo2*(sType: VkStructureType, pNext: pointer = nil, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageCopy2): VkCopyImageInfo2 = result.sType = sType result.pNext = pNext - result.storageBuffer16BitAccess = storageBuffer16BitAccess - result.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess - result.storagePushConstant16 = storagePushConstant16 - result.storageInputOutput16 = storageInputOutput16 + result.srcImage = srcImage + result.srcImageLayout = srcImageLayout + result.dstImage = dstImage + result.dstImageLayout = dstImageLayout + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkPhysicalDeviceSubgroupProperties*(sType: VkStructureType, pNext: pointer = nil, subgroupSize: uint32, supportedStages: VkShaderStageFlags, supportedOperations: VkSubgroupFeatureFlags, quadOperationsInAllStages: VkBool32): VkPhysicalDeviceSubgroupProperties = +proc newVkBlitImageInfo2*(sType: VkStructureType, pNext: pointer = nil, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageBlit2, filter: VkFilter): VkBlitImageInfo2 = result.sType = sType result.pNext = pNext - result.subgroupSize = subgroupSize - result.supportedStages = supportedStages - result.supportedOperations = supportedOperations - result.quadOperationsInAllStages = quadOperationsInAllStages + result.srcImage = srcImage + result.srcImageLayout = srcImageLayout + result.dstImage = dstImage + result.dstImageLayout = dstImageLayout + result.regionCount = regionCount + result.pRegions = pRegions + result.filter = filter -proc newVkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderSubgroupExtendedTypes: VkBool32): VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = +proc newVkCopyBufferToImageInfo2*(sType: VkStructureType, pNext: pointer = nil, srcBuffer: VkBuffer, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkBufferImageCopy2): VkCopyBufferToImageInfo2 = result.sType = sType result.pNext = pNext - result.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes + result.srcBuffer = srcBuffer + result.dstImage = dstImage + result.dstImageLayout = dstImageLayout + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkBufferMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkBufferMemoryRequirementsInfo2 = +proc newVkCopyImageToBufferInfo2*(sType: VkStructureType, pNext: pointer = nil, srcImage: VkImage, srcImageLayout: VkImageLayout, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferImageCopy2): VkCopyImageToBufferInfo2 = result.sType = sType result.pNext = pNext - result.buffer = buffer + result.srcImage = srcImage + result.srcImageLayout = srcImageLayout + result.dstBuffer = dstBuffer + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkImageMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, image: VkImage): VkImageMemoryRequirementsInfo2 = +proc newVkResolveImageInfo2*(sType: VkStructureType, pNext: pointer = nil, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageResolve2): VkResolveImageInfo2 = result.sType = sType result.pNext = pNext - result.image = image + result.srcImage = srcImage + result.srcImageLayout = srcImageLayout + result.dstImage = dstImage + result.dstImageLayout = dstImageLayout + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkImageSparseMemoryRequirementsInfo2*(sType: VkStructureType, pNext: pointer = nil, image: VkImage): VkImageSparseMemoryRequirementsInfo2 = +proc newVkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderImageInt64Atomics: VkBool32, sparseImageInt64Atomics: VkBool32): VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT = result.sType = sType result.pNext = pNext - result.image = image + result.shaderImageInt64Atomics = shaderImageInt64Atomics + result.sparseImageInt64Atomics = sparseImageInt64Atomics -proc newVkMemoryRequirements2*(sType: VkStructureType, pNext: pointer = nil, memoryRequirements: VkMemoryRequirements): VkMemoryRequirements2 = +proc newVkFragmentShadingRateAttachmentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pFragmentShadingRateAttachment: ptr VkAttachmentReference2, shadingRateAttachmentTexelSize: VkExtent2D): VkFragmentShadingRateAttachmentInfoKHR = result.sType = sType result.pNext = pNext - result.memoryRequirements = memoryRequirements + result.pFragmentShadingRateAttachment = pFragmentShadingRateAttachment + result.shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize -proc newVkSparseImageMemoryRequirements2*(sType: VkStructureType, pNext: pointer = nil, memoryRequirements: VkSparseImageMemoryRequirements): VkSparseImageMemoryRequirements2 = +proc newVkPipelineFragmentShadingRateStateCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, fragmentSize: VkExtent2D, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): VkPipelineFragmentShadingRateStateCreateInfoKHR = result.sType = sType result.pNext = pNext - result.memoryRequirements = memoryRequirements + result.fragmentSize = fragmentSize + result.combinerOps = combinerOps -proc newVkPhysicalDevicePointClippingProperties*(sType: VkStructureType, pNext: pointer = nil, pointClippingBehavior: VkPointClippingBehavior): VkPhysicalDevicePointClippingProperties = +proc newVkPhysicalDeviceFragmentShadingRateFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, pipelineFragmentShadingRate: VkBool32, primitiveFragmentShadingRate: VkBool32, attachmentFragmentShadingRate: VkBool32): VkPhysicalDeviceFragmentShadingRateFeaturesKHR = result.sType = sType result.pNext = pNext - result.pointClippingBehavior = pointClippingBehavior + result.pipelineFragmentShadingRate = pipelineFragmentShadingRate + result.primitiveFragmentShadingRate = primitiveFragmentShadingRate + result.attachmentFragmentShadingRate = attachmentFragmentShadingRate -proc newVkMemoryDedicatedRequirements*(sType: VkStructureType, pNext: pointer = nil, prefersDedicatedAllocation: VkBool32, requiresDedicatedAllocation: VkBool32): VkMemoryDedicatedRequirements = +proc newVkPhysicalDeviceFragmentShadingRatePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, minFragmentShadingRateAttachmentTexelSize: VkExtent2D, maxFragmentShadingRateAttachmentTexelSize: VkExtent2D, maxFragmentShadingRateAttachmentTexelSizeAspectRatio: uint32, primitiveFragmentShadingRateWithMultipleViewports: VkBool32, layeredShadingRateAttachments: VkBool32, fragmentShadingRateNonTrivialCombinerOps: VkBool32, maxFragmentSize: VkExtent2D, maxFragmentSizeAspectRatio: uint32, maxFragmentShadingRateCoverageSamples: uint32, maxFragmentShadingRateRasterizationSamples: VkSampleCountFlagBits, fragmentShadingRateWithShaderDepthStencilWrites: VkBool32, fragmentShadingRateWithSampleMask: VkBool32, fragmentShadingRateWithShaderSampleMask: VkBool32, fragmentShadingRateWithConservativeRasterization: VkBool32, fragmentShadingRateWithFragmentShaderInterlock: VkBool32, fragmentShadingRateWithCustomSampleLocations: VkBool32, fragmentShadingRateStrictMultiplyCombiner: VkBool32): VkPhysicalDeviceFragmentShadingRatePropertiesKHR = result.sType = sType result.pNext = pNext - result.prefersDedicatedAllocation = prefersDedicatedAllocation - result.requiresDedicatedAllocation = requiresDedicatedAllocation + result.minFragmentShadingRateAttachmentTexelSize = minFragmentShadingRateAttachmentTexelSize + result.maxFragmentShadingRateAttachmentTexelSize = maxFragmentShadingRateAttachmentTexelSize + result.maxFragmentShadingRateAttachmentTexelSizeAspectRatio = maxFragmentShadingRateAttachmentTexelSizeAspectRatio + result.primitiveFragmentShadingRateWithMultipleViewports = primitiveFragmentShadingRateWithMultipleViewports + result.layeredShadingRateAttachments = layeredShadingRateAttachments + result.fragmentShadingRateNonTrivialCombinerOps = fragmentShadingRateNonTrivialCombinerOps + result.maxFragmentSize = maxFragmentSize + result.maxFragmentSizeAspectRatio = maxFragmentSizeAspectRatio + result.maxFragmentShadingRateCoverageSamples = maxFragmentShadingRateCoverageSamples + result.maxFragmentShadingRateRasterizationSamples = maxFragmentShadingRateRasterizationSamples + result.fragmentShadingRateWithShaderDepthStencilWrites = fragmentShadingRateWithShaderDepthStencilWrites + result.fragmentShadingRateWithSampleMask = fragmentShadingRateWithSampleMask + result.fragmentShadingRateWithShaderSampleMask = fragmentShadingRateWithShaderSampleMask + result.fragmentShadingRateWithConservativeRasterization = fragmentShadingRateWithConservativeRasterization + result.fragmentShadingRateWithFragmentShaderInterlock = fragmentShadingRateWithFragmentShaderInterlock + result.fragmentShadingRateWithCustomSampleLocations = fragmentShadingRateWithCustomSampleLocations + result.fragmentShadingRateStrictMultiplyCombiner = fragmentShadingRateStrictMultiplyCombiner -proc newVkMemoryDedicatedAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, buffer: VkBuffer): VkMemoryDedicatedAllocateInfo = +proc newVkPhysicalDeviceFragmentShadingRateKHR*(sType: VkStructureType, pNext: pointer = nil, sampleCounts: VkSampleCountFlags, fragmentSize: VkExtent2D): VkPhysicalDeviceFragmentShadingRateKHR = result.sType = sType result.pNext = pNext - result.image = image - result.buffer = buffer + result.sampleCounts = sampleCounts + result.fragmentSize = fragmentSize -proc newVkImageViewUsageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, usage: VkImageUsageFlags): VkImageViewUsageCreateInfo = +proc newVkPhysicalDeviceShaderTerminateInvocationFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderTerminateInvocation: VkBool32): VkPhysicalDeviceShaderTerminateInvocationFeatures = result.sType = sType result.pNext = pNext - result.usage = usage + result.shaderTerminateInvocation = shaderTerminateInvocation -proc newVkPipelineTessellationDomainOriginStateCreateInfo*(sType: VkStructureType, pNext: pointer = nil, domainOrigin: VkTessellationDomainOrigin): VkPipelineTessellationDomainOriginStateCreateInfo = +proc newVkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, fragmentShadingRateEnums: VkBool32, supersampleFragmentShadingRates: VkBool32, noInvocationFragmentShadingRates: VkBool32): VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = result.sType = sType result.pNext = pNext - result.domainOrigin = domainOrigin + result.fragmentShadingRateEnums = fragmentShadingRateEnums + result.supersampleFragmentShadingRates = supersampleFragmentShadingRates + result.noInvocationFragmentShadingRates = noInvocationFragmentShadingRates -proc newVkSamplerYcbcrConversionInfo*(sType: VkStructureType, pNext: pointer = nil, conversion: VkSamplerYcbcrConversion): VkSamplerYcbcrConversionInfo = +proc newVkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxFragmentShadingRateInvocationCount: VkSampleCountFlagBits): VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV = result.sType = sType result.pNext = pNext - result.conversion = conversion + result.maxFragmentShadingRateInvocationCount = maxFragmentShadingRateInvocationCount -proc newVkSamplerYcbcrConversionCreateInfo*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, ycbcrModel: VkSamplerYcbcrModelConversion, ycbcrRange: VkSamplerYcbcrRange, components: VkComponentMapping, xChromaOffset: VkChromaLocation, yChromaOffset: VkChromaLocation, chromaFilter: VkFilter, forceExplicitReconstruction: VkBool32): VkSamplerYcbcrConversionCreateInfo = +proc newVkPipelineFragmentShadingRateEnumStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateType: VkFragmentShadingRateTypeNV, shadingRate: VkFragmentShadingRateNV, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): VkPipelineFragmentShadingRateEnumStateCreateInfoNV = result.sType = sType result.pNext = pNext - result.format = format - result.ycbcrModel = ycbcrModel - result.ycbcrRange = ycbcrRange - result.components = components - result.xChromaOffset = xChromaOffset - result.yChromaOffset = yChromaOffset - result.chromaFilter = chromaFilter - result.forceExplicitReconstruction = forceExplicitReconstruction + result.shadingRateType = shadingRateType + result.shadingRate = shadingRate + result.combinerOps = combinerOps -proc newVkBindImagePlaneMemoryInfo*(sType: VkStructureType, pNext: pointer = nil, planeAspect: VkImageAspectFlagBits): VkBindImagePlaneMemoryInfo = +proc newVkAccelerationStructureBuildSizesInfoKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructureSize: VkDeviceSize, updateScratchSize: VkDeviceSize, buildScratchSize: VkDeviceSize): VkAccelerationStructureBuildSizesInfoKHR = result.sType = sType result.pNext = pNext - result.planeAspect = planeAspect + result.accelerationStructureSize = accelerationStructureSize + result.updateScratchSize = updateScratchSize + result.buildScratchSize = buildScratchSize -proc newVkImagePlaneMemoryRequirementsInfo*(sType: VkStructureType, pNext: pointer = nil, planeAspect: VkImageAspectFlagBits): VkImagePlaneMemoryRequirementsInfo = +proc newVkPhysicalDeviceImage2DViewOf3DFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, image2DViewOf3D: VkBool32, sampler2DViewOf3D: VkBool32): VkPhysicalDeviceImage2DViewOf3DFeaturesEXT = result.sType = sType result.pNext = pNext - result.planeAspect = planeAspect + result.image2DViewOf3D = image2DViewOf3D + result.sampler2DViewOf3D = sampler2DViewOf3D -proc newVkPhysicalDeviceSamplerYcbcrConversionFeatures*(sType: VkStructureType, pNext: pointer = nil, samplerYcbcrConversion: VkBool32): VkPhysicalDeviceSamplerYcbcrConversionFeatures = +proc newVkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, imageSlicedViewOf3D: VkBool32): VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT = result.sType = sType result.pNext = pNext - result.samplerYcbcrConversion = samplerYcbcrConversion + result.imageSlicedViewOf3D = imageSlicedViewOf3D -proc newVkSamplerYcbcrConversionImageFormatProperties*(sType: VkStructureType, pNext: pointer = nil, combinedImageSamplerDescriptorCount: uint32): VkSamplerYcbcrConversionImageFormatProperties = +proc newVkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, attachmentFeedbackLoopDynamicState: VkBool32): VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT = result.sType = sType result.pNext = pNext - result.combinedImageSamplerDescriptorCount = combinedImageSamplerDescriptorCount + result.attachmentFeedbackLoopDynamicState = attachmentFeedbackLoopDynamicState -proc newVkTextureLODGatherFormatPropertiesAMD*(sType: VkStructureType, pNext: pointer = nil, supportsTextureGatherLODBiasAMD: VkBool32): VkTextureLODGatherFormatPropertiesAMD = +proc newVkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, mutableDescriptorType: VkBool32): VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT = result.sType = sType result.pNext = pNext - result.supportsTextureGatherLODBiasAMD = supportsTextureGatherLODBiasAMD + result.mutableDescriptorType = mutableDescriptorType -proc newVkConditionalRenderingBeginInfoEXT*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer, offset: VkDeviceSize, flags: VkConditionalRenderingFlagsEXT = 0.VkConditionalRenderingFlagsEXT): VkConditionalRenderingBeginInfoEXT = +proc newVkMutableDescriptorTypeListEXT*(descriptorTypeCount: uint32, pDescriptorTypes: ptr VkDescriptorType): VkMutableDescriptorTypeListEXT = + result.descriptorTypeCount = descriptorTypeCount + result.pDescriptorTypes = pDescriptorTypes + +proc newVkMutableDescriptorTypeCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, mutableDescriptorTypeListCount: uint32, pMutableDescriptorTypeLists: ptr VkMutableDescriptorTypeListEXT): VkMutableDescriptorTypeCreateInfoEXT = result.sType = sType result.pNext = pNext - result.buffer = buffer - result.offset = offset - result.flags = flags + result.mutableDescriptorTypeListCount = mutableDescriptorTypeListCount + result.pMutableDescriptorTypeLists = pMutableDescriptorTypeLists -proc newVkProtectedSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, protectedSubmit: VkBool32): VkProtectedSubmitInfo = +proc newVkPhysicalDeviceDepthClipControlFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, depthClipControl: VkBool32): VkPhysicalDeviceDepthClipControlFeaturesEXT = result.sType = sType result.pNext = pNext - result.protectedSubmit = protectedSubmit + result.depthClipControl = depthClipControl -proc newVkPhysicalDeviceProtectedMemoryFeatures*(sType: VkStructureType, pNext: pointer = nil, protectedMemory: VkBool32): VkPhysicalDeviceProtectedMemoryFeatures = +proc newVkPipelineViewportDepthClipControlCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, negativeOneToOne: VkBool32): VkPipelineViewportDepthClipControlCreateInfoEXT = result.sType = sType result.pNext = pNext - result.protectedMemory = protectedMemory + result.negativeOneToOne = negativeOneToOne -proc newVkPhysicalDeviceProtectedMemoryProperties*(sType: VkStructureType, pNext: pointer = nil, protectedNoFault: VkBool32): VkPhysicalDeviceProtectedMemoryProperties = +proc newVkPhysicalDeviceVertexInputDynamicStateFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, vertexInputDynamicState: VkBool32): VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = result.sType = sType result.pNext = pNext - result.protectedNoFault = protectedNoFault + result.vertexInputDynamicState = vertexInputDynamicState -proc newVkDeviceQueueInfo2*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags, queueFamilyIndex: uint32, queueIndex: uint32): VkDeviceQueueInfo2 = +proc newVkPhysicalDeviceExternalMemoryRDMAFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, externalMemoryRDMA: VkBool32): VkPhysicalDeviceExternalMemoryRDMAFeaturesNV = result.sType = sType result.pNext = pNext - result.flags = flags - result.queueFamilyIndex = queueFamilyIndex - result.queueIndex = queueIndex + result.externalMemoryRDMA = externalMemoryRDMA -proc newVkPipelineCoverageToColorStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageToColorStateCreateFlagsNV = 0.VkPipelineCoverageToColorStateCreateFlagsNV, coverageToColorEnable: VkBool32, coverageToColorLocation: uint32): VkPipelineCoverageToColorStateCreateInfoNV = +proc newVkVertexInputBindingDescription2EXT*(sType: VkStructureType, pNext: pointer = nil, binding: uint32, stride: uint32, inputRate: VkVertexInputRate, divisor: uint32): VkVertexInputBindingDescription2EXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.coverageToColorEnable = coverageToColorEnable - result.coverageToColorLocation = coverageToColorLocation + result.binding = binding + result.stride = stride + result.inputRate = inputRate + result.divisor = divisor -proc newVkPhysicalDeviceSamplerFilterMinmaxProperties*(sType: VkStructureType, pNext: pointer = nil, filterMinmaxSingleComponentFormats: VkBool32, filterMinmaxImageComponentMapping: VkBool32): VkPhysicalDeviceSamplerFilterMinmaxProperties = +proc newVkVertexInputAttributeDescription2EXT*(sType: VkStructureType, pNext: pointer = nil, location: uint32, binding: uint32, format: VkFormat, offset: uint32): VkVertexInputAttributeDescription2EXT = result.sType = sType result.pNext = pNext - result.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats - result.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping - -proc newVkSampleLocationEXT*(x: float32, y: float32): VkSampleLocationEXT = - result.x = x - result.y = y + result.location = location + result.binding = binding + result.format = format + result.offset = offset -proc newVkSampleLocationsInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationsPerPixel: VkSampleCountFlagBits, sampleLocationGridSize: VkExtent2D, sampleLocationsCount: uint32, pSampleLocations: ptr VkSampleLocationEXT): VkSampleLocationsInfoEXT = +proc newVkPhysicalDeviceColorWriteEnableFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, colorWriteEnable: VkBool32): VkPhysicalDeviceColorWriteEnableFeaturesEXT = result.sType = sType result.pNext = pNext - result.sampleLocationsPerPixel = sampleLocationsPerPixel - result.sampleLocationGridSize = sampleLocationGridSize - result.sampleLocationsCount = sampleLocationsCount - result.pSampleLocations = pSampleLocations - -proc newVkAttachmentSampleLocationsEXT*(attachmentIndex: uint32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkAttachmentSampleLocationsEXT = - result.attachmentIndex = attachmentIndex - result.sampleLocationsInfo = sampleLocationsInfo - -proc newVkSubpassSampleLocationsEXT*(subpassIndex: uint32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkSubpassSampleLocationsEXT = - result.subpassIndex = subpassIndex - result.sampleLocationsInfo = sampleLocationsInfo + result.colorWriteEnable = colorWriteEnable -proc newVkRenderPassSampleLocationsBeginInfoEXT*(sType: VkStructureType, pNext: pointer = nil, attachmentInitialSampleLocationsCount: uint32, pAttachmentInitialSampleLocations: ptr VkAttachmentSampleLocationsEXT, postSubpassSampleLocationsCount: uint32, pPostSubpassSampleLocations: ptr VkSubpassSampleLocationsEXT): VkRenderPassSampleLocationsBeginInfoEXT = +proc newVkPipelineColorWriteCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, attachmentCount: uint32, pColorWriteEnables: ptr VkBool32): VkPipelineColorWriteCreateInfoEXT = result.sType = sType result.pNext = pNext - result.attachmentInitialSampleLocationsCount = attachmentInitialSampleLocationsCount - result.pAttachmentInitialSampleLocations = pAttachmentInitialSampleLocations - result.postSubpassSampleLocationsCount = postSubpassSampleLocationsCount - result.pPostSubpassSampleLocations = pPostSubpassSampleLocations + result.attachmentCount = attachmentCount + result.pColorWriteEnables = pColorWriteEnables -proc newVkPipelineSampleLocationsStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationsEnable: VkBool32, sampleLocationsInfo: VkSampleLocationsInfoEXT): VkPipelineSampleLocationsStateCreateInfoEXT = +proc newVkMemoryBarrier2*(sType: VkStructureType, pNext: pointer = nil, srcStageMask: VkPipelineStageFlags2, srcAccessMask: VkAccessFlags2, dstStageMask: VkPipelineStageFlags2, dstAccessMask: VkAccessFlags2): VkMemoryBarrier2 = result.sType = sType result.pNext = pNext - result.sampleLocationsEnable = sampleLocationsEnable - result.sampleLocationsInfo = sampleLocationsInfo + result.srcStageMask = srcStageMask + result.srcAccessMask = srcAccessMask + result.dstStageMask = dstStageMask + result.dstAccessMask = dstAccessMask -proc newVkPhysicalDeviceSampleLocationsPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, sampleLocationSampleCounts: VkSampleCountFlags, maxSampleLocationGridSize: VkExtent2D, sampleLocationCoordinateRange: array[2, float32], sampleLocationSubPixelBits: uint32, variableSampleLocations: VkBool32): VkPhysicalDeviceSampleLocationsPropertiesEXT = +proc newVkImageMemoryBarrier2*(sType: VkStructureType, pNext: pointer = nil, srcStageMask: VkPipelineStageFlags2, srcAccessMask: VkAccessFlags2, dstStageMask: VkPipelineStageFlags2, dstAccessMask: VkAccessFlags2, oldLayout: VkImageLayout, newLayout: VkImageLayout, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, image: VkImage, subresourceRange: VkImageSubresourceRange): VkImageMemoryBarrier2 = result.sType = sType result.pNext = pNext - result.sampleLocationSampleCounts = sampleLocationSampleCounts - result.maxSampleLocationGridSize = maxSampleLocationGridSize - result.sampleLocationCoordinateRange = sampleLocationCoordinateRange - result.sampleLocationSubPixelBits = sampleLocationSubPixelBits - result.variableSampleLocations = variableSampleLocations + result.srcStageMask = srcStageMask + result.srcAccessMask = srcAccessMask + result.dstStageMask = dstStageMask + result.dstAccessMask = dstAccessMask + result.oldLayout = oldLayout + result.newLayout = newLayout + result.srcQueueFamilyIndex = srcQueueFamilyIndex + result.dstQueueFamilyIndex = dstQueueFamilyIndex + result.image = image + result.subresourceRange = subresourceRange -proc newVkMultisamplePropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxSampleLocationGridSize: VkExtent2D): VkMultisamplePropertiesEXT = +proc newVkBufferMemoryBarrier2*(sType: VkStructureType, pNext: pointer = nil, srcStageMask: VkPipelineStageFlags2, srcAccessMask: VkAccessFlags2, dstStageMask: VkPipelineStageFlags2, dstAccessMask: VkAccessFlags2, srcQueueFamilyIndex: uint32, dstQueueFamilyIndex: uint32, buffer: VkBuffer, offset: VkDeviceSize, size: VkDeviceSize): VkBufferMemoryBarrier2 = result.sType = sType result.pNext = pNext - result.maxSampleLocationGridSize = maxSampleLocationGridSize + result.srcStageMask = srcStageMask + result.srcAccessMask = srcAccessMask + result.dstStageMask = dstStageMask + result.dstAccessMask = dstAccessMask + result.srcQueueFamilyIndex = srcQueueFamilyIndex + result.dstQueueFamilyIndex = dstQueueFamilyIndex + result.buffer = buffer + result.offset = offset + result.size = size -proc newVkSamplerReductionModeCreateInfo*(sType: VkStructureType, pNext: pointer = nil, reductionMode: VkSamplerReductionMode): VkSamplerReductionModeCreateInfo = +proc newVkDependencyInfo*(sType: VkStructureType, pNext: pointer = nil, dependencyFlags: VkDependencyFlags, memoryBarrierCount: uint32, pMemoryBarriers: ptr VkMemoryBarrier2, bufferMemoryBarrierCount: uint32, pBufferMemoryBarriers: ptr VkBufferMemoryBarrier2, imageMemoryBarrierCount: uint32, pImageMemoryBarriers: ptr VkImageMemoryBarrier2): VkDependencyInfo = result.sType = sType result.pNext = pNext - result.reductionMode = reductionMode + result.dependencyFlags = dependencyFlags + result.memoryBarrierCount = memoryBarrierCount + result.pMemoryBarriers = pMemoryBarriers + result.bufferMemoryBarrierCount = bufferMemoryBarrierCount + result.pBufferMemoryBarriers = pBufferMemoryBarriers + result.imageMemoryBarrierCount = imageMemoryBarrierCount + result.pImageMemoryBarriers = pImageMemoryBarriers -proc newVkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, advancedBlendCoherentOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = +proc newVkSemaphoreSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, value: uint64, stageMask: VkPipelineStageFlags2, deviceIndex: uint32): VkSemaphoreSubmitInfo = result.sType = sType result.pNext = pNext - result.advancedBlendCoherentOperations = advancedBlendCoherentOperations + result.semaphore = semaphore + result.value = value + result.stageMask = stageMask + result.deviceIndex = deviceIndex -proc newVkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, advancedBlendMaxColorAttachments: uint32, advancedBlendIndependentBlend: VkBool32, advancedBlendNonPremultipliedSrcColor: VkBool32, advancedBlendNonPremultipliedDstColor: VkBool32, advancedBlendCorrelatedOverlap: VkBool32, advancedBlendAllOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = +proc newVkCommandBufferSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, commandBuffer: VkCommandBuffer, deviceMask: uint32): VkCommandBufferSubmitInfo = result.sType = sType result.pNext = pNext - result.advancedBlendMaxColorAttachments = advancedBlendMaxColorAttachments - result.advancedBlendIndependentBlend = advancedBlendIndependentBlend - result.advancedBlendNonPremultipliedSrcColor = advancedBlendNonPremultipliedSrcColor - result.advancedBlendNonPremultipliedDstColor = advancedBlendNonPremultipliedDstColor - result.advancedBlendCorrelatedOverlap = advancedBlendCorrelatedOverlap - result.advancedBlendAllOperations = advancedBlendAllOperations + result.commandBuffer = commandBuffer + result.deviceMask = deviceMask -proc newVkPipelineColorBlendAdvancedStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, srcPremultiplied: VkBool32, dstPremultiplied: VkBool32, blendOverlap: VkBlendOverlapEXT): VkPipelineColorBlendAdvancedStateCreateInfoEXT = +proc newVkSubmitInfo2*(sType: VkStructureType, pNext: pointer = nil, flags: VkSubmitFlags = 0.VkSubmitFlags, waitSemaphoreInfoCount: uint32, pWaitSemaphoreInfos: ptr VkSemaphoreSubmitInfo, commandBufferInfoCount: uint32, pCommandBufferInfos: ptr VkCommandBufferSubmitInfo, signalSemaphoreInfoCount: uint32, pSignalSemaphoreInfos: ptr VkSemaphoreSubmitInfo): VkSubmitInfo2 = result.sType = sType result.pNext = pNext - result.srcPremultiplied = srcPremultiplied - result.dstPremultiplied = dstPremultiplied - result.blendOverlap = blendOverlap + result.flags = flags + result.waitSemaphoreInfoCount = waitSemaphoreInfoCount + result.pWaitSemaphoreInfos = pWaitSemaphoreInfos + result.commandBufferInfoCount = commandBufferInfoCount + result.pCommandBufferInfos = pCommandBufferInfos + result.signalSemaphoreInfoCount = signalSemaphoreInfoCount + result.pSignalSemaphoreInfos = pSignalSemaphoreInfos -proc newVkPhysicalDeviceInlineUniformBlockFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, inlineUniformBlock: VkBool32, descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32): VkPhysicalDeviceInlineUniformBlockFeaturesEXT = +proc newVkQueueFamilyCheckpointProperties2NV*(sType: VkStructureType, pNext: pointer = nil, checkpointExecutionStageMask: VkPipelineStageFlags2): VkQueueFamilyCheckpointProperties2NV = result.sType = sType result.pNext = pNext - result.inlineUniformBlock = inlineUniformBlock - result.descriptorBindingInlineUniformBlockUpdateAfterBind = descriptorBindingInlineUniformBlockUpdateAfterBind + result.checkpointExecutionStageMask = checkpointExecutionStageMask -proc newVkPhysicalDeviceInlineUniformBlockPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxInlineUniformBlockSize: uint32, maxPerStageDescriptorInlineUniformBlocks: uint32, maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32, maxDescriptorSetInlineUniformBlocks: uint32, maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32): VkPhysicalDeviceInlineUniformBlockPropertiesEXT = +proc newVkCheckpointData2NV*(sType: VkStructureType, pNext: pointer = nil, stage: VkPipelineStageFlags2, pCheckpointMarker: pointer = nil): VkCheckpointData2NV = result.sType = sType result.pNext = pNext - result.maxInlineUniformBlockSize = maxInlineUniformBlockSize - result.maxPerStageDescriptorInlineUniformBlocks = maxPerStageDescriptorInlineUniformBlocks - result.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks - result.maxDescriptorSetInlineUniformBlocks = maxDescriptorSetInlineUniformBlocks - result.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = maxDescriptorSetUpdateAfterBindInlineUniformBlocks + result.stage = stage + result.pCheckpointMarker = pCheckpointMarker + +proc newVkPhysicalDeviceSynchronization2Features*(sType: VkStructureType, pNext: pointer = nil, synchronization2: VkBool32): VkPhysicalDeviceSynchronization2Features = + result.sType = sType + result.pNext = pNext + result.synchronization2 = synchronization2 -proc newVkWriteDescriptorSetInlineUniformBlockEXT*(sType: VkStructureType, pNext: pointer = nil, dataSize: uint32, pData: pointer = nil): VkWriteDescriptorSetInlineUniformBlockEXT = +proc newVkPhysicalDeviceVulkanSC10Properties*(sType: VkStructureType, pNext: pointer = nil, deviceNoDynamicHostAllocations: VkBool32, deviceDestroyFreesMemory: VkBool32, commandPoolMultipleCommandBuffersRecording: VkBool32, commandPoolResetCommandBuffer: VkBool32, commandBufferSimultaneousUse: VkBool32, secondaryCommandBufferNullOrImagelessFramebuffer: VkBool32, recycleDescriptorSetMemory: VkBool32, recyclePipelineMemory: VkBool32, maxRenderPassSubpasses: uint32, maxRenderPassDependencies: uint32, maxSubpassInputAttachments: uint32, maxSubpassPreserveAttachments: uint32, maxFramebufferAttachments: uint32, maxDescriptorSetLayoutBindings: uint32, maxQueryFaultCount: uint32, maxCallbackFaultCount: uint32, maxCommandPoolCommandBuffers: uint32, maxCommandBufferSize: VkDeviceSize): VkPhysicalDeviceVulkanSC10Properties = result.sType = sType result.pNext = pNext - result.dataSize = dataSize - result.pData = pData + result.deviceNoDynamicHostAllocations = deviceNoDynamicHostAllocations + result.deviceDestroyFreesMemory = deviceDestroyFreesMemory + result.commandPoolMultipleCommandBuffersRecording = commandPoolMultipleCommandBuffersRecording + result.commandPoolResetCommandBuffer = commandPoolResetCommandBuffer + result.commandBufferSimultaneousUse = commandBufferSimultaneousUse + result.secondaryCommandBufferNullOrImagelessFramebuffer = secondaryCommandBufferNullOrImagelessFramebuffer + result.recycleDescriptorSetMemory = recycleDescriptorSetMemory + result.recyclePipelineMemory = recyclePipelineMemory + result.maxRenderPassSubpasses = maxRenderPassSubpasses + result.maxRenderPassDependencies = maxRenderPassDependencies + result.maxSubpassInputAttachments = maxSubpassInputAttachments + result.maxSubpassPreserveAttachments = maxSubpassPreserveAttachments + result.maxFramebufferAttachments = maxFramebufferAttachments + result.maxDescriptorSetLayoutBindings = maxDescriptorSetLayoutBindings + result.maxQueryFaultCount = maxQueryFaultCount + result.maxCallbackFaultCount = maxCallbackFaultCount + result.maxCommandPoolCommandBuffers = maxCommandPoolCommandBuffers + result.maxCommandBufferSize = maxCommandBufferSize -proc newVkDescriptorPoolInlineUniformBlockCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, maxInlineUniformBlockBindings: uint32): VkDescriptorPoolInlineUniformBlockCreateInfoEXT = +proc newVkPipelinePoolSize*(sType: VkStructureType, pNext: pointer = nil, poolEntrySize: VkDeviceSize, poolEntryCount: uint32): VkPipelinePoolSize = result.sType = sType result.pNext = pNext - result.maxInlineUniformBlockBindings = maxInlineUniformBlockBindings + result.poolEntrySize = poolEntrySize + result.poolEntryCount = poolEntryCount -proc newVkPipelineCoverageModulationStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageModulationStateCreateFlagsNV = 0.VkPipelineCoverageModulationStateCreateFlagsNV, coverageModulationMode: VkCoverageModulationModeNV, coverageModulationTableEnable: VkBool32, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32): VkPipelineCoverageModulationStateCreateInfoNV = +proc newVkDeviceObjectReservationCreateInfo*(sType: VkStructureType, pNext: pointer = nil, pipelineCacheCreateInfoCount: uint32, pPipelineCacheCreateInfos: ptr VkPipelineCacheCreateInfo, pipelinePoolSizeCount: uint32, pPipelinePoolSizes: ptr VkPipelinePoolSize, semaphoreRequestCount: uint32, commandBufferRequestCount: uint32, fenceRequestCount: uint32, deviceMemoryRequestCount: uint32, bufferRequestCount: uint32, imageRequestCount: uint32, eventRequestCount: uint32, queryPoolRequestCount: uint32, bufferViewRequestCount: uint32, imageViewRequestCount: uint32, layeredImageViewRequestCount: uint32, pipelineCacheRequestCount: uint32, pipelineLayoutRequestCount: uint32, renderPassRequestCount: uint32, graphicsPipelineRequestCount: uint32, computePipelineRequestCount: uint32, descriptorSetLayoutRequestCount: uint32, samplerRequestCount: uint32, descriptorPoolRequestCount: uint32, descriptorSetRequestCount: uint32, framebufferRequestCount: uint32, commandPoolRequestCount: uint32, samplerYcbcrConversionRequestCount: uint32, surfaceRequestCount: uint32, swapchainRequestCount: uint32, displayModeRequestCount: uint32, subpassDescriptionRequestCount: uint32, attachmentDescriptionRequestCount: uint32, descriptorSetLayoutBindingRequestCount: uint32, descriptorSetLayoutBindingLimit: uint32, maxImageViewMipLevels: uint32, maxImageViewArrayLayers: uint32, maxLayeredImageViewMipLevels: uint32, maxOcclusionQueriesPerPool: uint32, maxPipelineStatisticsQueriesPerPool: uint32, maxTimestampQueriesPerPool: uint32, maxImmutableSamplersPerDescriptorSetLayout: uint32): VkDeviceObjectReservationCreateInfo = result.sType = sType result.pNext = pNext - result.flags = flags - result.coverageModulationMode = coverageModulationMode - result.coverageModulationTableEnable = coverageModulationTableEnable - result.coverageModulationTableCount = coverageModulationTableCount - result.pCoverageModulationTable = pCoverageModulationTable + result.pipelineCacheCreateInfoCount = pipelineCacheCreateInfoCount + result.pPipelineCacheCreateInfos = pPipelineCacheCreateInfos + result.pipelinePoolSizeCount = pipelinePoolSizeCount + result.pPipelinePoolSizes = pPipelinePoolSizes + result.semaphoreRequestCount = semaphoreRequestCount + result.commandBufferRequestCount = commandBufferRequestCount + result.fenceRequestCount = fenceRequestCount + result.deviceMemoryRequestCount = deviceMemoryRequestCount + result.bufferRequestCount = bufferRequestCount + result.imageRequestCount = imageRequestCount + result.eventRequestCount = eventRequestCount + result.queryPoolRequestCount = queryPoolRequestCount + result.bufferViewRequestCount = bufferViewRequestCount + result.imageViewRequestCount = imageViewRequestCount + result.layeredImageViewRequestCount = layeredImageViewRequestCount + result.pipelineCacheRequestCount = pipelineCacheRequestCount + result.pipelineLayoutRequestCount = pipelineLayoutRequestCount + result.renderPassRequestCount = renderPassRequestCount + result.graphicsPipelineRequestCount = graphicsPipelineRequestCount + result.computePipelineRequestCount = computePipelineRequestCount + result.descriptorSetLayoutRequestCount = descriptorSetLayoutRequestCount + result.samplerRequestCount = samplerRequestCount + result.descriptorPoolRequestCount = descriptorPoolRequestCount + result.descriptorSetRequestCount = descriptorSetRequestCount + result.framebufferRequestCount = framebufferRequestCount + result.commandPoolRequestCount = commandPoolRequestCount + result.samplerYcbcrConversionRequestCount = samplerYcbcrConversionRequestCount + result.surfaceRequestCount = surfaceRequestCount + result.swapchainRequestCount = swapchainRequestCount + result.displayModeRequestCount = displayModeRequestCount + result.subpassDescriptionRequestCount = subpassDescriptionRequestCount + result.attachmentDescriptionRequestCount = attachmentDescriptionRequestCount + result.descriptorSetLayoutBindingRequestCount = descriptorSetLayoutBindingRequestCount + result.descriptorSetLayoutBindingLimit = descriptorSetLayoutBindingLimit + result.maxImageViewMipLevels = maxImageViewMipLevels + result.maxImageViewArrayLayers = maxImageViewArrayLayers + result.maxLayeredImageViewMipLevels = maxLayeredImageViewMipLevels + result.maxOcclusionQueriesPerPool = maxOcclusionQueriesPerPool + result.maxPipelineStatisticsQueriesPerPool = maxPipelineStatisticsQueriesPerPool + result.maxTimestampQueriesPerPool = maxTimestampQueriesPerPool + result.maxImmutableSamplersPerDescriptorSetLayout = maxImmutableSamplersPerDescriptorSetLayout -proc newVkImageFormatListCreateInfo*(sType: VkStructureType, pNext: pointer = nil, viewFormatCount: uint32, pViewFormats: ptr VkFormat): VkImageFormatListCreateInfo = +proc newVkCommandPoolMemoryReservationCreateInfo*(sType: VkStructureType, pNext: pointer = nil, commandPoolReservedSize: VkDeviceSize, commandPoolMaxCommandBuffers: uint32): VkCommandPoolMemoryReservationCreateInfo = result.sType = sType result.pNext = pNext - result.viewFormatCount = viewFormatCount - result.pViewFormats = pViewFormats + result.commandPoolReservedSize = commandPoolReservedSize + result.commandPoolMaxCommandBuffers = commandPoolMaxCommandBuffers -proc newVkValidationCacheCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkValidationCacheCreateFlagsEXT = 0.VkValidationCacheCreateFlagsEXT, initialDataSize: uint, pInitialData: pointer = nil): VkValidationCacheCreateInfoEXT = +proc newVkCommandPoolMemoryConsumption*(sType: VkStructureType, pNext: pointer = nil, commandPoolAllocated: VkDeviceSize, commandPoolReservedSize: VkDeviceSize, commandBufferAllocated: VkDeviceSize): VkCommandPoolMemoryConsumption = result.sType = sType result.pNext = pNext - result.flags = flags - result.initialDataSize = initialDataSize - result.pInitialData = pInitialData + result.commandPoolAllocated = commandPoolAllocated + result.commandPoolReservedSize = commandPoolReservedSize + result.commandBufferAllocated = commandBufferAllocated -proc newVkShaderModuleValidationCacheCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, validationCache: VkValidationCacheEXT): VkShaderModuleValidationCacheCreateInfoEXT = +proc newVkPhysicalDeviceVulkanSC10Features*(sType: VkStructureType, pNext: pointer = nil, shaderAtomicInstructions: VkBool32): VkPhysicalDeviceVulkanSC10Features = result.sType = sType result.pNext = pNext - result.validationCache = validationCache + result.shaderAtomicInstructions = shaderAtomicInstructions -proc newVkPhysicalDeviceMaintenance3Properties*(sType: VkStructureType, pNext: pointer = nil, maxPerSetDescriptors: uint32, maxMemoryAllocationSize: VkDeviceSize): VkPhysicalDeviceMaintenance3Properties = +proc newVkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, primitivesGeneratedQuery: VkBool32, primitivesGeneratedQueryWithRasterizerDiscard: VkBool32, primitivesGeneratedQueryWithNonZeroStreams: VkBool32): VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = result.sType = sType result.pNext = pNext - result.maxPerSetDescriptors = maxPerSetDescriptors - result.maxMemoryAllocationSize = maxMemoryAllocationSize + result.primitivesGeneratedQuery = primitivesGeneratedQuery + result.primitivesGeneratedQueryWithRasterizerDiscard = primitivesGeneratedQueryWithRasterizerDiscard + result.primitivesGeneratedQueryWithNonZeroStreams = primitivesGeneratedQueryWithNonZeroStreams -proc newVkDescriptorSetLayoutSupport*(sType: VkStructureType, pNext: pointer = nil, supported: VkBool32): VkDescriptorSetLayoutSupport = +proc newVkPhysicalDeviceLegacyDitheringFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, legacyDithering: VkBool32): VkPhysicalDeviceLegacyDitheringFeaturesEXT = result.sType = sType result.pNext = pNext - result.supported = supported + result.legacyDithering = legacyDithering -proc newVkPhysicalDeviceShaderDrawParametersFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderDrawParameters: VkBool32): VkPhysicalDeviceShaderDrawParametersFeatures = +proc newVkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, multisampledRenderToSingleSampled: VkBool32): VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = result.sType = sType result.pNext = pNext - result.shaderDrawParameters = shaderDrawParameters + result.multisampledRenderToSingleSampled = multisampledRenderToSingleSampled -proc newVkPhysicalDeviceShaderFloat16Int8Features*(sType: VkStructureType, pNext: pointer = nil, shaderFloat16: VkBool32, shaderInt8: VkBool32): VkPhysicalDeviceShaderFloat16Int8Features = +proc newVkSubpassResolvePerformanceQueryEXT*(sType: VkStructureType, pNext: pointer = nil, optimal: VkBool32): VkSubpassResolvePerformanceQueryEXT = result.sType = sType result.pNext = pNext - result.shaderFloat16 = shaderFloat16 - result.shaderInt8 = shaderInt8 + result.optimal = optimal -proc newVkPhysicalDeviceFloatControlsProperties*(sType: VkStructureType, pNext: pointer = nil, denormBehaviorIndependence: VkShaderFloatControlsIndependence, roundingModeIndependence: VkShaderFloatControlsIndependence, shaderSignedZeroInfNanPreserveFloat16: VkBool32, shaderSignedZeroInfNanPreserveFloat32: VkBool32, shaderSignedZeroInfNanPreserveFloat64: VkBool32, shaderDenormPreserveFloat16: VkBool32, shaderDenormPreserveFloat32: VkBool32, shaderDenormPreserveFloat64: VkBool32, shaderDenormFlushToZeroFloat16: VkBool32, shaderDenormFlushToZeroFloat32: VkBool32, shaderDenormFlushToZeroFloat64: VkBool32, shaderRoundingModeRTEFloat16: VkBool32, shaderRoundingModeRTEFloat32: VkBool32, shaderRoundingModeRTEFloat64: VkBool32, shaderRoundingModeRTZFloat16: VkBool32, shaderRoundingModeRTZFloat32: VkBool32, shaderRoundingModeRTZFloat64: VkBool32): VkPhysicalDeviceFloatControlsProperties = +proc newVkMultisampledRenderToSingleSampledInfoEXT*(sType: VkStructureType, pNext: pointer = nil, multisampledRenderToSingleSampledEnable: VkBool32, rasterizationSamples: VkSampleCountFlagBits): VkMultisampledRenderToSingleSampledInfoEXT = result.sType = sType result.pNext = pNext - result.denormBehaviorIndependence = denormBehaviorIndependence - result.roundingModeIndependence = roundingModeIndependence - result.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16 - result.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32 - result.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64 - result.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16 - result.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32 - result.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64 - result.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16 - result.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32 - result.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64 - result.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16 - result.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32 - result.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64 - result.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16 - result.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32 - result.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64 + result.multisampledRenderToSingleSampledEnable = multisampledRenderToSingleSampledEnable + result.rasterizationSamples = rasterizationSamples -proc newVkPhysicalDeviceHostQueryResetFeatures*(sType: VkStructureType, pNext: pointer = nil, hostQueryReset: VkBool32): VkPhysicalDeviceHostQueryResetFeatures = +proc newVkPhysicalDevicePipelineProtectedAccessFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pipelineProtectedAccess: VkBool32): VkPhysicalDevicePipelineProtectedAccessFeaturesEXT = result.sType = sType result.pNext = pNext - result.hostQueryReset = hostQueryReset - -proc newVkNativeBufferUsage2ANDROID*(consumer: uint64, producer: uint64): VkNativeBufferUsage2ANDROID = - result.consumer = consumer - result.producer = producer + result.pipelineProtectedAccess = pipelineProtectedAccess -proc newVkNativeBufferANDROID*(sType: VkStructureType, pNext: pointer = nil, handle: pointer = nil, stride: int, format: int, usage: int, usage2: VkNativeBufferUsage2ANDROID): VkNativeBufferANDROID = +proc newVkQueueFamilyVideoPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, videoCodecOperations: VkVideoCodecOperationFlagsKHR): VkQueueFamilyVideoPropertiesKHR = result.sType = sType result.pNext = pNext - result.handle = handle - result.stride = stride - result.format = format - result.usage = usage - result.usage2 = usage2 + result.videoCodecOperations = videoCodecOperations -proc newVkSwapchainImageCreateInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, usage: VkSwapchainImageUsageFlagsANDROID): VkSwapchainImageCreateInfoANDROID = +proc newVkQueueFamilyQueryResultStatusPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, queryResultStatusSupport: VkBool32): VkQueueFamilyQueryResultStatusPropertiesKHR = result.sType = sType result.pNext = pNext - result.usage = usage + result.queryResultStatusSupport = queryResultStatusSupport -proc newVkPhysicalDevicePresentationPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, sharedImage: VkBool32): VkPhysicalDevicePresentationPropertiesANDROID = +proc newVkVideoProfileListInfoKHR*(sType: VkStructureType, pNext: pointer = nil, profileCount: uint32, pProfiles: ptr VkVideoProfileInfoKHR): VkVideoProfileListInfoKHR = result.sType = sType result.pNext = pNext - result.sharedImage = sharedImage - -proc newVkShaderResourceUsageAMD*(numUsedVgprs: uint32, numUsedSgprs: uint32, ldsSizePerLocalWorkGroup: uint32, ldsUsageSizeInBytes: uint, scratchMemUsageInBytes: uint): VkShaderResourceUsageAMD = - result.numUsedVgprs = numUsedVgprs - result.numUsedSgprs = numUsedSgprs - result.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup - result.ldsUsageSizeInBytes = ldsUsageSizeInBytes - result.scratchMemUsageInBytes = scratchMemUsageInBytes - -proc newVkShaderStatisticsInfoAMD*(shaderStageMask: VkShaderStageFlags, resourceUsage: VkShaderResourceUsageAMD, numPhysicalVgprs: uint32, numPhysicalSgprs: uint32, numAvailableVgprs: uint32, numAvailableSgprs: uint32, computeWorkGroupSize: array[3, uint32]): VkShaderStatisticsInfoAMD = - result.shaderStageMask = shaderStageMask - result.resourceUsage = resourceUsage - result.numPhysicalVgprs = numPhysicalVgprs - result.numPhysicalSgprs = numPhysicalSgprs - result.numAvailableVgprs = numAvailableVgprs - result.numAvailableSgprs = numAvailableSgprs - result.computeWorkGroupSize = computeWorkGroupSize + result.profileCount = profileCount + result.pProfiles = pProfiles -proc newVkDeviceQueueGlobalPriorityCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, globalPriority: VkQueueGlobalPriorityEXT): VkDeviceQueueGlobalPriorityCreateInfoEXT = +proc newVkPhysicalDeviceVideoFormatInfoKHR*(sType: VkStructureType, pNext: pointer = nil, imageUsage: VkImageUsageFlags): VkPhysicalDeviceVideoFormatInfoKHR = result.sType = sType result.pNext = pNext - result.globalPriority = globalPriority + result.imageUsage = imageUsage -proc newVkDebugUtilsObjectNameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkObjectType, objectHandle: uint64, pObjectName: cstring): VkDebugUtilsObjectNameInfoEXT = +proc newVkVideoFormatPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, componentMapping: VkComponentMapping, imageCreateFlags: VkImageCreateFlags, imageType: VkImageType, imageTiling: VkImageTiling, imageUsageFlags: VkImageUsageFlags): VkVideoFormatPropertiesKHR = result.sType = sType result.pNext = pNext - result.objectType = objectType - result.objectHandle = objectHandle - result.pObjectName = pObjectName + result.format = format + result.componentMapping = componentMapping + result.imageCreateFlags = imageCreateFlags + result.imageType = imageType + result.imageTiling = imageTiling + result.imageUsageFlags = imageUsageFlags -proc newVkDebugUtilsObjectTagInfoEXT*(sType: VkStructureType, pNext: pointer = nil, objectType: VkObjectType, objectHandle: uint64, tagName: uint64, tagSize: uint, pTag: pointer = nil): VkDebugUtilsObjectTagInfoEXT = +proc newVkVideoProfileInfoKHR*(sType: VkStructureType, pNext: pointer = nil, videoCodecOperation: VkVideoCodecOperationFlagBitsKHR, chromaSubsampling: VkVideoChromaSubsamplingFlagsKHR, lumaBitDepth: VkVideoComponentBitDepthFlagsKHR, chromaBitDepth: VkVideoComponentBitDepthFlagsKHR): VkVideoProfileInfoKHR = result.sType = sType result.pNext = pNext - result.objectType = objectType - result.objectHandle = objectHandle - result.tagName = tagName - result.tagSize = tagSize - result.pTag = pTag + result.videoCodecOperation = videoCodecOperation + result.chromaSubsampling = chromaSubsampling + result.lumaBitDepth = lumaBitDepth + result.chromaBitDepth = chromaBitDepth -proc newVkDebugUtilsLabelEXT*(sType: VkStructureType, pNext: pointer = nil, pLabelName: cstring, color: array[4, float32]): VkDebugUtilsLabelEXT = +proc newVkVideoCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoCapabilityFlagsKHR = 0.VkVideoCapabilityFlagsKHR, minBitstreamBufferOffsetAlignment: VkDeviceSize, minBitstreamBufferSizeAlignment: VkDeviceSize, pictureAccessGranularity: VkExtent2D, minCodedExtent: VkExtent2D, maxCodedExtent: VkExtent2D, maxDpbSlots: uint32, maxActiveReferencePictures: uint32, stdHeaderVersion: VkExtensionProperties): VkVideoCapabilitiesKHR = result.sType = sType result.pNext = pNext - result.pLabelName = pLabelName - result.color = color + result.flags = flags + result.minBitstreamBufferOffsetAlignment = minBitstreamBufferOffsetAlignment + result.minBitstreamBufferSizeAlignment = minBitstreamBufferSizeAlignment + result.pictureAccessGranularity = pictureAccessGranularity + result.minCodedExtent = minCodedExtent + result.maxCodedExtent = maxCodedExtent + result.maxDpbSlots = maxDpbSlots + result.maxActiveReferencePictures = maxActiveReferencePictures + result.stdHeaderVersion = stdHeaderVersion -proc newVkDebugUtilsMessengerCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugUtilsMessengerCreateFlagsEXT = 0.VkDebugUtilsMessengerCreateFlagsEXT, messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT, messageType: VkDebugUtilsMessageTypeFlagsEXT, pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT, pUserData: pointer = nil): VkDebugUtilsMessengerCreateInfoEXT = +proc newVkVideoSessionMemoryRequirementsKHR*(sType: VkStructureType, pNext: pointer = nil, memoryBindIndex: uint32, memoryRequirements: VkMemoryRequirements): VkVideoSessionMemoryRequirementsKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.messageSeverity = messageSeverity - result.messageType = messageType - result.pfnUserCallback = pfnUserCallback - result.pUserData = pUserData + result.memoryBindIndex = memoryBindIndex + result.memoryRequirements = memoryRequirements -proc newVkDebugUtilsMessengerCallbackDataEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDebugUtilsMessengerCallbackDataFlagsEXT = 0.VkDebugUtilsMessengerCallbackDataFlagsEXT, pMessageIdName: cstring, messageIdNumber: int32, pMessage: cstring, queueLabelCount: uint32, pQueueLabels: ptr VkDebugUtilsLabelEXT, cmdBufLabelCount: uint32, pCmdBufLabels: ptr VkDebugUtilsLabelEXT, objectCount: uint32, pObjects: ptr VkDebugUtilsObjectNameInfoEXT): VkDebugUtilsMessengerCallbackDataEXT = +proc newVkBindVideoSessionMemoryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, memoryBindIndex: uint32, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, memorySize: VkDeviceSize): VkBindVideoSessionMemoryInfoKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.pMessageIdName = pMessageIdName - result.messageIdNumber = messageIdNumber - result.pMessage = pMessage - result.queueLabelCount = queueLabelCount - result.pQueueLabels = pQueueLabels - result.cmdBufLabelCount = cmdBufLabelCount - result.pCmdBufLabels = pCmdBufLabels - result.objectCount = objectCount - result.pObjects = pObjects + result.memoryBindIndex = memoryBindIndex + result.memory = memory + result.memoryOffset = memoryOffset + result.memorySize = memorySize -proc newVkImportMemoryHostPointerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, handleType: VkExternalMemoryHandleTypeFlagBits, pHostPointer: pointer = nil): VkImportMemoryHostPointerInfoEXT = +proc newVkVideoPictureResourceInfoKHR*(sType: VkStructureType, pNext: pointer = nil, codedOffset: VkOffset2D, codedExtent: VkExtent2D, baseArrayLayer: uint32, imageViewBinding: VkImageView): VkVideoPictureResourceInfoKHR = result.sType = sType result.pNext = pNext - result.handleType = handleType - result.pHostPointer = pHostPointer + result.codedOffset = codedOffset + result.codedExtent = codedExtent + result.baseArrayLayer = baseArrayLayer + result.imageViewBinding = imageViewBinding -proc newVkMemoryHostPointerPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32): VkMemoryHostPointerPropertiesEXT = +proc newVkVideoReferenceSlotInfoKHR*(sType: VkStructureType, pNext: pointer = nil, slotIndex: int32, pPictureResource: ptr VkVideoPictureResourceInfoKHR): VkVideoReferenceSlotInfoKHR = result.sType = sType result.pNext = pNext - result.memoryTypeBits = memoryTypeBits + result.slotIndex = slotIndex + result.pPictureResource = pPictureResource -proc newVkPhysicalDeviceExternalMemoryHostPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, minImportedHostPointerAlignment: VkDeviceSize): VkPhysicalDeviceExternalMemoryHostPropertiesEXT = +proc newVkVideoDecodeCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoDecodeCapabilityFlagsKHR = 0.VkVideoDecodeCapabilityFlagsKHR): VkVideoDecodeCapabilitiesKHR = result.sType = sType result.pNext = pNext - result.minImportedHostPointerAlignment = minImportedHostPointerAlignment + result.flags = flags -proc newVkPhysicalDeviceConservativeRasterizationPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, primitiveOverestimationSize: float32, maxExtraPrimitiveOverestimationSize: float32, extraPrimitiveOverestimationSizeGranularity: float32, primitiveUnderestimation: VkBool32, conservativePointAndLineRasterization: VkBool32, degenerateTrianglesRasterized: VkBool32, degenerateLinesRasterized: VkBool32, fullyCoveredFragmentShaderInputVariable: VkBool32, conservativeRasterizationPostDepthCoverage: VkBool32): VkPhysicalDeviceConservativeRasterizationPropertiesEXT = +proc newVkVideoDecodeUsageInfoKHR*(sType: VkStructureType, pNext: pointer = nil, videoUsageHints: VkVideoDecodeUsageFlagsKHR): VkVideoDecodeUsageInfoKHR = result.sType = sType result.pNext = pNext - result.primitiveOverestimationSize = primitiveOverestimationSize - result.maxExtraPrimitiveOverestimationSize = maxExtraPrimitiveOverestimationSize - result.extraPrimitiveOverestimationSizeGranularity = extraPrimitiveOverestimationSizeGranularity - result.primitiveUnderestimation = primitiveUnderestimation - result.conservativePointAndLineRasterization = conservativePointAndLineRasterization - result.degenerateTrianglesRasterized = degenerateTrianglesRasterized - result.degenerateLinesRasterized = degenerateLinesRasterized - result.fullyCoveredFragmentShaderInputVariable = fullyCoveredFragmentShaderInputVariable - result.conservativeRasterizationPostDepthCoverage = conservativeRasterizationPostDepthCoverage + result.videoUsageHints = videoUsageHints -proc newVkCalibratedTimestampInfoEXT*(sType: VkStructureType, pNext: pointer = nil, timeDomain: VkTimeDomainEXT): VkCalibratedTimestampInfoEXT = +proc newVkVideoDecodeInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoDecodeFlagsKHR = 0.VkVideoDecodeFlagsKHR, srcBuffer: VkBuffer, srcBufferOffset: VkDeviceSize, srcBufferRange: VkDeviceSize, dstPictureResource: VkVideoPictureResourceInfoKHR, pSetupReferenceSlot: ptr VkVideoReferenceSlotInfoKHR, referenceSlotCount: uint32, pReferenceSlots: ptr VkVideoReferenceSlotInfoKHR): VkVideoDecodeInfoKHR = result.sType = sType result.pNext = pNext - result.timeDomain = timeDomain + result.flags = flags + result.srcBuffer = srcBuffer + result.srcBufferOffset = srcBufferOffset + result.srcBufferRange = srcBufferRange + result.dstPictureResource = dstPictureResource + result.pSetupReferenceSlot = pSetupReferenceSlot + result.referenceSlotCount = referenceSlotCount + result.pReferenceSlots = pReferenceSlots -proc newVkPhysicalDeviceShaderCorePropertiesAMD*(sType: VkStructureType, pNext: pointer = nil, shaderEngineCount: uint32, shaderArraysPerEngineCount: uint32, computeUnitsPerShaderArray: uint32, simdPerComputeUnit: uint32, wavefrontsPerSimd: uint32, wavefrontSize: uint32, sgprsPerSimd: uint32, minSgprAllocation: uint32, maxSgprAllocation: uint32, sgprAllocationGranularity: uint32, vgprsPerSimd: uint32, minVgprAllocation: uint32, maxVgprAllocation: uint32, vgprAllocationGranularity: uint32): VkPhysicalDeviceShaderCorePropertiesAMD = +proc newVkVideoDecodeH264ProfileInfoKHR*(sType: VkStructureType, pNext: pointer = nil, stdProfileIdc: StdVideoH264ProfileIdc, pictureLayout: VkVideoDecodeH264PictureLayoutFlagBitsKHR): VkVideoDecodeH264ProfileInfoKHR = result.sType = sType result.pNext = pNext - result.shaderEngineCount = shaderEngineCount - result.shaderArraysPerEngineCount = shaderArraysPerEngineCount - result.computeUnitsPerShaderArray = computeUnitsPerShaderArray - result.simdPerComputeUnit = simdPerComputeUnit - result.wavefrontsPerSimd = wavefrontsPerSimd - result.wavefrontSize = wavefrontSize - result.sgprsPerSimd = sgprsPerSimd - result.minSgprAllocation = minSgprAllocation - result.maxSgprAllocation = maxSgprAllocation - result.sgprAllocationGranularity = sgprAllocationGranularity - result.vgprsPerSimd = vgprsPerSimd - result.minVgprAllocation = minVgprAllocation - result.maxVgprAllocation = maxVgprAllocation - result.vgprAllocationGranularity = vgprAllocationGranularity + result.stdProfileIdc = stdProfileIdc + result.pictureLayout = pictureLayout -proc newVkPhysicalDeviceShaderCoreProperties2AMD*(sType: VkStructureType, pNext: pointer = nil, shaderCoreFeatures: VkShaderCorePropertiesFlagsAMD, activeComputeUnitCount: uint32): VkPhysicalDeviceShaderCoreProperties2AMD = +proc newVkVideoDecodeH264CapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, maxLevelIdc: StdVideoH264LevelIdc, fieldOffsetGranularity: VkOffset2D): VkVideoDecodeH264CapabilitiesKHR = result.sType = sType result.pNext = pNext - result.shaderCoreFeatures = shaderCoreFeatures - result.activeComputeUnitCount = activeComputeUnitCount + result.maxLevelIdc = maxLevelIdc + result.fieldOffsetGranularity = fieldOffsetGranularity -proc newVkPipelineRasterizationConservativeStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT = 0.VkPipelineRasterizationConservativeStateCreateFlagsEXT, conservativeRasterizationMode: VkConservativeRasterizationModeEXT, extraPrimitiveOverestimationSize: float32): VkPipelineRasterizationConservativeStateCreateInfoEXT = +proc newVkVideoDecodeH264SessionParametersAddInfoKHR*(sType: VkStructureType, pNext: pointer = nil, stdSPSCount: uint32, pStdSPSs: ptr StdVideoH264SequenceParameterSet, stdPPSCount: uint32, pStdPPSs: ptr StdVideoH264PictureParameterSet): VkVideoDecodeH264SessionParametersAddInfoKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.conservativeRasterizationMode = conservativeRasterizationMode - result.extraPrimitiveOverestimationSize = extraPrimitiveOverestimationSize + result.stdSPSCount = stdSPSCount + result.pStdSPSs = pStdSPSs + result.stdPPSCount = stdPPSCount + result.pStdPPSs = pStdPPSs -proc newVkPhysicalDeviceDescriptorIndexingFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderInputAttachmentArrayDynamicIndexing: VkBool32, shaderUniformTexelBufferArrayDynamicIndexing: VkBool32, shaderStorageTexelBufferArrayDynamicIndexing: VkBool32, shaderUniformBufferArrayNonUniformIndexing: VkBool32, shaderSampledImageArrayNonUniformIndexing: VkBool32, shaderStorageBufferArrayNonUniformIndexing: VkBool32, shaderStorageImageArrayNonUniformIndexing: VkBool32, shaderInputAttachmentArrayNonUniformIndexing: VkBool32, shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32, shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32, descriptorBindingUniformBufferUpdateAfterBind: VkBool32, descriptorBindingSampledImageUpdateAfterBind: VkBool32, descriptorBindingStorageImageUpdateAfterBind: VkBool32, descriptorBindingStorageBufferUpdateAfterBind: VkBool32, descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32, descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32, descriptorBindingUpdateUnusedWhilePending: VkBool32, descriptorBindingPartiallyBound: VkBool32, descriptorBindingVariableDescriptorCount: VkBool32, runtimeDescriptorArray: VkBool32): VkPhysicalDeviceDescriptorIndexingFeatures = +proc newVkVideoDecodeH264SessionParametersCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, maxStdSPSCount: uint32, maxStdPPSCount: uint32, pParametersAddInfo: ptr VkVideoDecodeH264SessionParametersAddInfoKHR): VkVideoDecodeH264SessionParametersCreateInfoKHR = result.sType = sType result.pNext = pNext - result.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing - result.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing - result.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing - result.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing - result.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing - result.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing - result.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing - result.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing - result.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing - result.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing - result.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind - result.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind - result.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind - result.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind - result.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind - result.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind - result.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending - result.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound - result.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount - result.runtimeDescriptorArray = runtimeDescriptorArray + result.maxStdSPSCount = maxStdSPSCount + result.maxStdPPSCount = maxStdPPSCount + result.pParametersAddInfo = pParametersAddInfo -proc newVkPhysicalDeviceDescriptorIndexingProperties*(sType: VkStructureType, pNext: pointer = nil, maxUpdateAfterBindDescriptorsInAllPools: uint32, shaderUniformBufferArrayNonUniformIndexingNative: VkBool32, shaderSampledImageArrayNonUniformIndexingNative: VkBool32, shaderStorageBufferArrayNonUniformIndexingNative: VkBool32, shaderStorageImageArrayNonUniformIndexingNative: VkBool32, shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32, robustBufferAccessUpdateAfterBind: VkBool32, quadDivergentImplicitLod: VkBool32, maxPerStageDescriptorUpdateAfterBindSamplers: uint32, maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32, maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32, maxPerStageDescriptorUpdateAfterBindSampledImages: uint32, maxPerStageDescriptorUpdateAfterBindStorageImages: uint32, maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32, maxPerStageUpdateAfterBindResources: uint32, maxDescriptorSetUpdateAfterBindSamplers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindStorageBuffers: uint32, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindSampledImages: uint32, maxDescriptorSetUpdateAfterBindStorageImages: uint32, maxDescriptorSetUpdateAfterBindInputAttachments: uint32): VkPhysicalDeviceDescriptorIndexingProperties = +proc newVkVideoDecodeH264PictureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pStdPictureInfo: ptr StdVideoDecodeH264PictureInfo, sliceCount: uint32, pSliceOffsets: ptr uint32): VkVideoDecodeH264PictureInfoKHR = result.sType = sType result.pNext = pNext - result.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools - result.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative - result.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative - result.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative - result.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative - result.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative - result.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind - result.quadDivergentImplicitLod = quadDivergentImplicitLod - result.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers - result.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers - result.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers - result.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages - result.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages - result.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments - result.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources - result.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers - result.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers - result.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - result.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers - result.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - result.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages - result.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages - result.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments + result.pStdPictureInfo = pStdPictureInfo + result.sliceCount = sliceCount + result.pSliceOffsets = pSliceOffsets -proc newVkDescriptorSetLayoutBindingFlagsCreateInfo*(sType: VkStructureType, pNext: pointer = nil, bindingCount: uint32, pBindingFlags: ptr VkDescriptorBindingFlags): VkDescriptorSetLayoutBindingFlagsCreateInfo = +proc newVkVideoDecodeH264DpbSlotInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pStdReferenceInfo: ptr StdVideoDecodeH264ReferenceInfo): VkVideoDecodeH264DpbSlotInfoKHR = result.sType = sType result.pNext = pNext - result.bindingCount = bindingCount - result.pBindingFlags = pBindingFlags + result.pStdReferenceInfo = pStdReferenceInfo -proc newVkDescriptorSetVariableDescriptorCountAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, descriptorSetCount: uint32, pDescriptorCounts: ptr uint32): VkDescriptorSetVariableDescriptorCountAllocateInfo = +proc newVkVideoDecodeH265ProfileInfoKHR*(sType: VkStructureType, pNext: pointer = nil, stdProfileIdc: StdVideoH265ProfileIdc): VkVideoDecodeH265ProfileInfoKHR = result.sType = sType result.pNext = pNext - result.descriptorSetCount = descriptorSetCount - result.pDescriptorCounts = pDescriptorCounts + result.stdProfileIdc = stdProfileIdc -proc newVkDescriptorSetVariableDescriptorCountLayoutSupport*(sType: VkStructureType, pNext: pointer = nil, maxVariableDescriptorCount: uint32): VkDescriptorSetVariableDescriptorCountLayoutSupport = +proc newVkVideoDecodeH265CapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, maxLevelIdc: StdVideoH265LevelIdc): VkVideoDecodeH265CapabilitiesKHR = result.sType = sType result.pNext = pNext - result.maxVariableDescriptorCount = maxVariableDescriptorCount + result.maxLevelIdc = maxLevelIdc -proc newVkAttachmentDescription2*(sType: VkStructureType, pNext: pointer = nil, flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags, format: VkFormat, samples: VkSampleCountFlagBits, loadOp: VkAttachmentLoadOp, storeOp: VkAttachmentStoreOp, stencilLoadOp: VkAttachmentLoadOp, stencilStoreOp: VkAttachmentStoreOp, initialLayout: VkImageLayout, finalLayout: VkImageLayout): VkAttachmentDescription2 = +proc newVkVideoDecodeH265SessionParametersAddInfoKHR*(sType: VkStructureType, pNext: pointer = nil, stdVPSCount: uint32, pStdVPSs: ptr StdVideoH265VideoParameterSet, stdSPSCount: uint32, pStdSPSs: ptr StdVideoH265SequenceParameterSet, stdPPSCount: uint32, pStdPPSs: ptr StdVideoH265PictureParameterSet): VkVideoDecodeH265SessionParametersAddInfoKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.format = format - result.samples = samples - result.loadOp = loadOp - result.storeOp = storeOp - result.stencilLoadOp = stencilLoadOp - result.stencilStoreOp = stencilStoreOp - result.initialLayout = initialLayout - result.finalLayout = finalLayout + result.stdVPSCount = stdVPSCount + result.pStdVPSs = pStdVPSs + result.stdSPSCount = stdSPSCount + result.pStdSPSs = pStdSPSs + result.stdPPSCount = stdPPSCount + result.pStdPPSs = pStdPPSs -proc newVkAttachmentReference2*(sType: VkStructureType, pNext: pointer = nil, attachment: uint32, layout: VkImageLayout, aspectMask: VkImageAspectFlags): VkAttachmentReference2 = +proc newVkVideoDecodeH265SessionParametersCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, maxStdVPSCount: uint32, maxStdSPSCount: uint32, maxStdPPSCount: uint32, pParametersAddInfo: ptr VkVideoDecodeH265SessionParametersAddInfoKHR): VkVideoDecodeH265SessionParametersCreateInfoKHR = result.sType = sType result.pNext = pNext - result.attachment = attachment - result.layout = layout - result.aspectMask = aspectMask + result.maxStdVPSCount = maxStdVPSCount + result.maxStdSPSCount = maxStdSPSCount + result.maxStdPPSCount = maxStdPPSCount + result.pParametersAddInfo = pParametersAddInfo -proc newVkSubpassDescription2*(sType: VkStructureType, pNext: pointer = nil, flags: VkSubpassDescriptionFlags = 0.VkSubpassDescriptionFlags, pipelineBindPoint: VkPipelineBindPoint, viewMask: uint32, inputAttachmentCount: uint32, pInputAttachments: ptr VkAttachmentReference2, colorAttachmentCount: uint32, pColorAttachments: ptr VkAttachmentReference2, pResolveAttachments: ptr VkAttachmentReference2, pDepthStencilAttachment: ptr VkAttachmentReference2, preserveAttachmentCount: uint32, pPreserveAttachments: ptr uint32): VkSubpassDescription2 = +proc newVkVideoDecodeH265PictureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pStdPictureInfo: ptr StdVideoDecodeH265PictureInfo, sliceSegmentCount: uint32, pSliceSegmentOffsets: ptr uint32): VkVideoDecodeH265PictureInfoKHR = result.sType = sType result.pNext = pNext - result.flags = flags - result.pipelineBindPoint = pipelineBindPoint - result.viewMask = viewMask - result.inputAttachmentCount = inputAttachmentCount - result.pInputAttachments = pInputAttachments - result.colorAttachmentCount = colorAttachmentCount - result.pColorAttachments = pColorAttachments - result.pResolveAttachments = pResolveAttachments - result.pDepthStencilAttachment = pDepthStencilAttachment - result.preserveAttachmentCount = preserveAttachmentCount - result.pPreserveAttachments = pPreserveAttachments + result.pStdPictureInfo = pStdPictureInfo + result.sliceSegmentCount = sliceSegmentCount + result.pSliceSegmentOffsets = pSliceSegmentOffsets -proc newVkSubpassDependency2*(sType: VkStructureType, pNext: pointer = nil, srcSubpass: uint32, dstSubpass: uint32, srcStageMask: VkPipelineStageFlags, dstStageMask: VkPipelineStageFlags, srcAccessMask: VkAccessFlags, dstAccessMask: VkAccessFlags, dependencyFlags: VkDependencyFlags, viewOffset: int32): VkSubpassDependency2 = +proc newVkVideoDecodeH265DpbSlotInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pStdReferenceInfo: ptr StdVideoDecodeH265ReferenceInfo): VkVideoDecodeH265DpbSlotInfoKHR = result.sType = sType result.pNext = pNext - result.srcSubpass = srcSubpass - result.dstSubpass = dstSubpass - result.srcStageMask = srcStageMask - result.dstStageMask = dstStageMask - result.srcAccessMask = srcAccessMask - result.dstAccessMask = dstAccessMask - result.dependencyFlags = dependencyFlags - result.viewOffset = viewOffset + result.pStdReferenceInfo = pStdReferenceInfo -proc newVkRenderPassCreateInfo2*(sType: VkStructureType, pNext: pointer = nil, flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags, attachmentCount: uint32, pAttachments: ptr VkAttachmentDescription2, subpassCount: uint32, pSubpasses: ptr VkSubpassDescription2, dependencyCount: uint32, pDependencies: ptr VkSubpassDependency2, correlatedViewMaskCount: uint32, pCorrelatedViewMasks: ptr uint32): VkRenderPassCreateInfo2 = +proc newVkVideoSessionCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, queueFamilyIndex: uint32, flags: VkVideoSessionCreateFlagsKHR = 0.VkVideoSessionCreateFlagsKHR, pVideoProfile: ptr VkVideoProfileInfoKHR, pictureFormat: VkFormat, maxCodedExtent: VkExtent2D, referencePictureFormat: VkFormat, maxDpbSlots: uint32, maxActiveReferencePictures: uint32, pStdHeaderVersion: ptr VkExtensionProperties): VkVideoSessionCreateInfoKHR = result.sType = sType result.pNext = pNext + result.queueFamilyIndex = queueFamilyIndex result.flags = flags - result.attachmentCount = attachmentCount - result.pAttachments = pAttachments - result.subpassCount = subpassCount - result.pSubpasses = pSubpasses - result.dependencyCount = dependencyCount - result.pDependencies = pDependencies - result.correlatedViewMaskCount = correlatedViewMaskCount - result.pCorrelatedViewMasks = pCorrelatedViewMasks + result.pVideoProfile = pVideoProfile + result.pictureFormat = pictureFormat + result.maxCodedExtent = maxCodedExtent + result.referencePictureFormat = referencePictureFormat + result.maxDpbSlots = maxDpbSlots + result.maxActiveReferencePictures = maxActiveReferencePictures + result.pStdHeaderVersion = pStdHeaderVersion -proc newVkSubpassBeginInfo*(sType: VkStructureType, pNext: pointer = nil, contents: VkSubpassContents): VkSubpassBeginInfo = +proc newVkVideoSessionParametersCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoSessionParametersCreateFlagsKHR = 0.VkVideoSessionParametersCreateFlagsKHR, videoSessionParametersTemplate: VkVideoSessionParametersKHR, videoSession: VkVideoSessionKHR): VkVideoSessionParametersCreateInfoKHR = result.sType = sType result.pNext = pNext - result.contents = contents + result.flags = flags + result.videoSessionParametersTemplate = videoSessionParametersTemplate + result.videoSession = videoSession -proc newVkSubpassEndInfo*(sType: VkStructureType, pNext: pointer = nil): VkSubpassEndInfo = +proc newVkVideoSessionParametersUpdateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, updateSequenceCount: uint32): VkVideoSessionParametersUpdateInfoKHR = result.sType = sType result.pNext = pNext + result.updateSequenceCount = updateSequenceCount -proc newVkPhysicalDeviceTimelineSemaphoreFeatures*(sType: VkStructureType, pNext: pointer = nil, timelineSemaphore: VkBool32): VkPhysicalDeviceTimelineSemaphoreFeatures = +proc newVkVideoEncodeSessionParametersGetInfoKHR*(sType: VkStructureType, pNext: pointer = nil, videoSessionParameters: VkVideoSessionParametersKHR): VkVideoEncodeSessionParametersGetInfoKHR = result.sType = sType result.pNext = pNext - result.timelineSemaphore = timelineSemaphore + result.videoSessionParameters = videoSessionParameters -proc newVkPhysicalDeviceTimelineSemaphoreProperties*(sType: VkStructureType, pNext: pointer = nil, maxTimelineSemaphoreValueDifference: uint64): VkPhysicalDeviceTimelineSemaphoreProperties = +proc newVkVideoEncodeSessionParametersFeedbackInfoKHR*(sType: VkStructureType, pNext: pointer = nil, hasOverrides: VkBool32): VkVideoEncodeSessionParametersFeedbackInfoKHR = result.sType = sType result.pNext = pNext - result.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference + result.hasOverrides = hasOverrides -proc newVkSemaphoreTypeCreateInfo*(sType: VkStructureType, pNext: pointer = nil, semaphoreType: VkSemaphoreType, initialValue: uint64): VkSemaphoreTypeCreateInfo = +proc newVkVideoBeginCodingInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoBeginCodingFlagsKHR = 0.VkVideoBeginCodingFlagsKHR, videoSession: VkVideoSessionKHR, videoSessionParameters: VkVideoSessionParametersKHR, referenceSlotCount: uint32, pReferenceSlots: ptr VkVideoReferenceSlotInfoKHR): VkVideoBeginCodingInfoKHR = result.sType = sType result.pNext = pNext - result.semaphoreType = semaphoreType - result.initialValue = initialValue + result.flags = flags + result.videoSession = videoSession + result.videoSessionParameters = videoSessionParameters + result.referenceSlotCount = referenceSlotCount + result.pReferenceSlots = pReferenceSlots -proc newVkTimelineSemaphoreSubmitInfo*(sType: VkStructureType, pNext: pointer = nil, waitSemaphoreValueCount: uint32, pWaitSemaphoreValues: ptr uint64, signalSemaphoreValueCount: uint32, pSignalSemaphoreValues: ptr uint64): VkTimelineSemaphoreSubmitInfo = +proc newVkVideoEndCodingInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEndCodingFlagsKHR = 0.VkVideoEndCodingFlagsKHR): VkVideoEndCodingInfoKHR = result.sType = sType result.pNext = pNext - result.waitSemaphoreValueCount = waitSemaphoreValueCount - result.pWaitSemaphoreValues = pWaitSemaphoreValues - result.signalSemaphoreValueCount = signalSemaphoreValueCount - result.pSignalSemaphoreValues = pSignalSemaphoreValues + result.flags = flags -proc newVkSemaphoreWaitInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkSemaphoreWaitFlags = 0.VkSemaphoreWaitFlags, semaphoreCount: uint32, pSemaphores: ptr VkSemaphore, pValues: ptr uint64): VkSemaphoreWaitInfo = +proc newVkVideoCodingControlInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoCodingControlFlagsKHR = 0.VkVideoCodingControlFlagsKHR): VkVideoCodingControlInfoKHR = result.sType = sType result.pNext = pNext result.flags = flags - result.semaphoreCount = semaphoreCount - result.pSemaphores = pSemaphores - result.pValues = pValues -proc newVkSemaphoreSignalInfo*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, value: uint64): VkSemaphoreSignalInfo = +proc newVkVideoEncodeUsageInfoKHR*(sType: VkStructureType, pNext: pointer = nil, videoUsageHints: VkVideoEncodeUsageFlagsKHR, videoContentHints: VkVideoEncodeContentFlagsKHR, tuningMode: VkVideoEncodeTuningModeKHR): VkVideoEncodeUsageInfoKHR = result.sType = sType result.pNext = pNext - result.semaphore = semaphore - result.value = value - -proc newVkVertexInputBindingDivisorDescriptionEXT*(binding: uint32, divisor: uint32): VkVertexInputBindingDivisorDescriptionEXT = - result.binding = binding - result.divisor = divisor + result.videoUsageHints = videoUsageHints + result.videoContentHints = videoContentHints + result.tuningMode = tuningMode -proc newVkPipelineVertexInputDivisorStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, vertexBindingDivisorCount: uint32, pVertexBindingDivisors: ptr VkVertexInputBindingDivisorDescriptionEXT): VkPipelineVertexInputDivisorStateCreateInfoEXT = +proc newVkVideoEncodeInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeFlagsKHR = 0.VkVideoEncodeFlagsKHR, dstBuffer: VkBuffer, dstBufferOffset: VkDeviceSize, dstBufferRange: VkDeviceSize, srcPictureResource: VkVideoPictureResourceInfoKHR, pSetupReferenceSlot: ptr VkVideoReferenceSlotInfoKHR, referenceSlotCount: uint32, pReferenceSlots: ptr VkVideoReferenceSlotInfoKHR, precedingExternallyEncodedBytes: uint32): VkVideoEncodeInfoKHR = result.sType = sType result.pNext = pNext - result.vertexBindingDivisorCount = vertexBindingDivisorCount - result.pVertexBindingDivisors = pVertexBindingDivisors + result.flags = flags + result.dstBuffer = dstBuffer + result.dstBufferOffset = dstBufferOffset + result.dstBufferRange = dstBufferRange + result.srcPictureResource = srcPictureResource + result.pSetupReferenceSlot = pSetupReferenceSlot + result.referenceSlotCount = referenceSlotCount + result.pReferenceSlots = pReferenceSlots + result.precedingExternallyEncodedBytes = precedingExternallyEncodedBytes -proc newVkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxVertexAttribDivisor: uint32): VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = +proc newVkQueryPoolVideoEncodeFeedbackCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, encodeFeedbackFlags: VkVideoEncodeFeedbackFlagsKHR): VkQueryPoolVideoEncodeFeedbackCreateInfoKHR = result.sType = sType result.pNext = pNext - result.maxVertexAttribDivisor = maxVertexAttribDivisor + result.encodeFeedbackFlags = encodeFeedbackFlags -proc newVkPhysicalDevicePCIBusInfoPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, pciDomain: uint32, pciBus: uint32, pciDevice: uint32, pciFunction: uint32): VkPhysicalDevicePCIBusInfoPropertiesEXT = +proc newVkVideoEncodeQualityLevelInfoKHR*(sType: VkStructureType, pNext: pointer = nil, qualityLevel: uint32): VkVideoEncodeQualityLevelInfoKHR = result.sType = sType result.pNext = pNext - result.pciDomain = pciDomain - result.pciBus = pciBus - result.pciDevice = pciDevice - result.pciFunction = pciFunction + result.qualityLevel = qualityLevel -proc newVkImportAndroidHardwareBufferInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, buffer: ptr AHardwareBuffer): VkImportAndroidHardwareBufferInfoANDROID = +proc newVkPhysicalDeviceVideoEncodeQualityLevelInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pVideoProfile: ptr VkVideoProfileInfoKHR, qualityLevel: uint32): VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR = result.sType = sType result.pNext = pNext - result.buffer = buffer + result.pVideoProfile = pVideoProfile + result.qualityLevel = qualityLevel -proc newVkAndroidHardwareBufferUsageANDROID*(sType: VkStructureType, pNext: pointer = nil, androidHardwareBufferUsage: uint64): VkAndroidHardwareBufferUsageANDROID = +proc newVkVideoEncodeQualityLevelPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, preferredRateControlMode: VkVideoEncodeRateControlModeFlagBitsKHR, preferredRateControlLayerCount: uint32): VkVideoEncodeQualityLevelPropertiesKHR = result.sType = sType result.pNext = pNext - result.androidHardwareBufferUsage = androidHardwareBufferUsage + result.preferredRateControlMode = preferredRateControlMode + result.preferredRateControlLayerCount = preferredRateControlLayerCount -proc newVkAndroidHardwareBufferPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, allocationSize: VkDeviceSize, memoryTypeBits: uint32): VkAndroidHardwareBufferPropertiesANDROID = +proc newVkVideoEncodeRateControlInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeRateControlFlagsKHR = 0.VkVideoEncodeRateControlFlagsKHR, rateControlMode: VkVideoEncodeRateControlModeFlagBitsKHR, layerCount: uint32, pLayers: ptr VkVideoEncodeRateControlLayerInfoKHR, virtualBufferSizeInMs: uint32, initialVirtualBufferSizeInMs: uint32): VkVideoEncodeRateControlInfoKHR = result.sType = sType result.pNext = pNext - result.allocationSize = allocationSize - result.memoryTypeBits = memoryTypeBits + result.flags = flags + result.rateControlMode = rateControlMode + result.layerCount = layerCount + result.pLayers = pLayers + result.virtualBufferSizeInMs = virtualBufferSizeInMs + result.initialVirtualBufferSizeInMs = initialVirtualBufferSizeInMs -proc newVkMemoryGetAndroidHardwareBufferInfoANDROID*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory): VkMemoryGetAndroidHardwareBufferInfoANDROID = +proc newVkVideoEncodeRateControlLayerInfoKHR*(sType: VkStructureType, pNext: pointer = nil, averageBitrate: uint64, maxBitrate: uint64, frameRateNumerator: uint32, frameRateDenominator: uint32): VkVideoEncodeRateControlLayerInfoKHR = result.sType = sType result.pNext = pNext - result.memory = memory + result.averageBitrate = averageBitrate + result.maxBitrate = maxBitrate + result.frameRateNumerator = frameRateNumerator + result.frameRateDenominator = frameRateDenominator -proc newVkAndroidHardwareBufferFormatPropertiesANDROID*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, externalFormat: uint64, formatFeatures: VkFormatFeatureFlags, samplerYcbcrConversionComponents: VkComponentMapping, suggestedYcbcrModel: VkSamplerYcbcrModelConversion, suggestedYcbcrRange: VkSamplerYcbcrRange, suggestedXChromaOffset: VkChromaLocation, suggestedYChromaOffset: VkChromaLocation): VkAndroidHardwareBufferFormatPropertiesANDROID = +proc newVkVideoEncodeCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeCapabilityFlagsKHR = 0.VkVideoEncodeCapabilityFlagsKHR, rateControlModes: VkVideoEncodeRateControlModeFlagsKHR, maxRateControlLayers: uint32, maxBitrate: uint64, maxQualityLevels: uint32, encodeInputPictureGranularity: VkExtent2D, supportedEncodeFeedbackFlags: VkVideoEncodeFeedbackFlagsKHR): VkVideoEncodeCapabilitiesKHR = result.sType = sType result.pNext = pNext - result.format = format - result.externalFormat = externalFormat - result.formatFeatures = formatFeatures - result.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents - result.suggestedYcbcrModel = suggestedYcbcrModel - result.suggestedYcbcrRange = suggestedYcbcrRange - result.suggestedXChromaOffset = suggestedXChromaOffset - result.suggestedYChromaOffset = suggestedYChromaOffset + result.flags = flags + result.rateControlModes = rateControlModes + result.maxRateControlLayers = maxRateControlLayers + result.maxBitrate = maxBitrate + result.maxQualityLevels = maxQualityLevels + result.encodeInputPictureGranularity = encodeInputPictureGranularity + result.supportedEncodeFeedbackFlags = supportedEncodeFeedbackFlags -proc newVkCommandBufferInheritanceConditionalRenderingInfoEXT*(sType: VkStructureType, pNext: pointer = nil, conditionalRenderingEnable: VkBool32): VkCommandBufferInheritanceConditionalRenderingInfoEXT = +proc newVkVideoEncodeH264CapabilitiesEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeH264CapabilityFlagsEXT = 0.VkVideoEncodeH264CapabilityFlagsEXT, maxLevelIdc: StdVideoH264LevelIdc, maxSliceCount: uint32, maxPPictureL0ReferenceCount: uint32, maxBPictureL0ReferenceCount: uint32, maxL1ReferenceCount: uint32, maxTemporalLayerCount: uint32, expectDyadicTemporalLayerPattern: VkBool32, minQp: int32, maxQp: int32, prefersGopRemainingFrames: VkBool32, requiresGopRemainingFrames: VkBool32, stdSyntaxFlags: VkVideoEncodeH264StdFlagsEXT): VkVideoEncodeH264CapabilitiesEXT = result.sType = sType result.pNext = pNext - result.conditionalRenderingEnable = conditionalRenderingEnable + result.flags = flags + result.maxLevelIdc = maxLevelIdc + result.maxSliceCount = maxSliceCount + result.maxPPictureL0ReferenceCount = maxPPictureL0ReferenceCount + result.maxBPictureL0ReferenceCount = maxBPictureL0ReferenceCount + result.maxL1ReferenceCount = maxL1ReferenceCount + result.maxTemporalLayerCount = maxTemporalLayerCount + result.expectDyadicTemporalLayerPattern = expectDyadicTemporalLayerPattern + result.minQp = minQp + result.maxQp = maxQp + result.prefersGopRemainingFrames = prefersGopRemainingFrames + result.requiresGopRemainingFrames = requiresGopRemainingFrames + result.stdSyntaxFlags = stdSyntaxFlags -proc newVkExternalFormatANDROID*(sType: VkStructureType, pNext: pointer = nil, externalFormat: uint64): VkExternalFormatANDROID = +proc newVkVideoEncodeH264QualityLevelPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, preferredRateControlFlags: VkVideoEncodeH264RateControlFlagsEXT, preferredGopFrameCount: uint32, preferredIdrPeriod: uint32, preferredConsecutiveBFrameCount: uint32, preferredTemporalLayerCount: uint32, preferredConstantQp: VkVideoEncodeH264QpEXT, preferredMaxL0ReferenceCount: uint32, preferredMaxL1ReferenceCount: uint32, preferredStdEntropyCodingModeFlag: VkBool32): VkVideoEncodeH264QualityLevelPropertiesEXT = result.sType = sType result.pNext = pNext - result.externalFormat = externalFormat + result.preferredRateControlFlags = preferredRateControlFlags + result.preferredGopFrameCount = preferredGopFrameCount + result.preferredIdrPeriod = preferredIdrPeriod + result.preferredConsecutiveBFrameCount = preferredConsecutiveBFrameCount + result.preferredTemporalLayerCount = preferredTemporalLayerCount + result.preferredConstantQp = preferredConstantQp + result.preferredMaxL0ReferenceCount = preferredMaxL0ReferenceCount + result.preferredMaxL1ReferenceCount = preferredMaxL1ReferenceCount + result.preferredStdEntropyCodingModeFlag = preferredStdEntropyCodingModeFlag -proc newVkPhysicalDevice8BitStorageFeatures*(sType: VkStructureType, pNext: pointer = nil, storageBuffer8BitAccess: VkBool32, uniformAndStorageBuffer8BitAccess: VkBool32, storagePushConstant8: VkBool32): VkPhysicalDevice8BitStorageFeatures = +proc newVkVideoEncodeH264SessionCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useMaxLevelIdc: VkBool32, maxLevelIdc: StdVideoH264LevelIdc): VkVideoEncodeH264SessionCreateInfoEXT = result.sType = sType result.pNext = pNext - result.storageBuffer8BitAccess = storageBuffer8BitAccess - result.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess - result.storagePushConstant8 = storagePushConstant8 + result.useMaxLevelIdc = useMaxLevelIdc + result.maxLevelIdc = maxLevelIdc -proc newVkPhysicalDeviceConditionalRenderingFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, conditionalRendering: VkBool32, inheritedConditionalRendering: VkBool32): VkPhysicalDeviceConditionalRenderingFeaturesEXT = +proc newVkVideoEncodeH264SessionParametersAddInfoEXT*(sType: VkStructureType, pNext: pointer = nil, stdSPSCount: uint32, pStdSPSs: ptr StdVideoH264SequenceParameterSet, stdPPSCount: uint32, pStdPPSs: ptr StdVideoH264PictureParameterSet): VkVideoEncodeH264SessionParametersAddInfoEXT = result.sType = sType result.pNext = pNext - result.conditionalRendering = conditionalRendering - result.inheritedConditionalRendering = inheritedConditionalRendering + result.stdSPSCount = stdSPSCount + result.pStdSPSs = pStdSPSs + result.stdPPSCount = stdPPSCount + result.pStdPPSs = pStdPPSs -proc newVkPhysicalDeviceVulkanMemoryModelFeatures*(sType: VkStructureType, pNext: pointer = nil, vulkanMemoryModel: VkBool32, vulkanMemoryModelDeviceScope: VkBool32, vulkanMemoryModelAvailabilityVisibilityChains: VkBool32): VkPhysicalDeviceVulkanMemoryModelFeatures = +proc newVkVideoEncodeH264SessionParametersCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, maxStdSPSCount: uint32, maxStdPPSCount: uint32, pParametersAddInfo: ptr VkVideoEncodeH264SessionParametersAddInfoEXT): VkVideoEncodeH264SessionParametersCreateInfoEXT = result.sType = sType result.pNext = pNext - result.vulkanMemoryModel = vulkanMemoryModel - result.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope - result.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains + result.maxStdSPSCount = maxStdSPSCount + result.maxStdPPSCount = maxStdPPSCount + result.pParametersAddInfo = pParametersAddInfo -proc newVkPhysicalDeviceShaderAtomicInt64Features*(sType: VkStructureType, pNext: pointer = nil, shaderBufferInt64Atomics: VkBool32, shaderSharedInt64Atomics: VkBool32): VkPhysicalDeviceShaderAtomicInt64Features = +proc newVkVideoEncodeH264SessionParametersGetInfoEXT*(sType: VkStructureType, pNext: pointer = nil, writeStdSPS: VkBool32, writeStdPPS: VkBool32, stdSPSId: uint32, stdPPSId: uint32): VkVideoEncodeH264SessionParametersGetInfoEXT = result.sType = sType result.pNext = pNext - result.shaderBufferInt64Atomics = shaderBufferInt64Atomics - result.shaderSharedInt64Atomics = shaderSharedInt64Atomics + result.writeStdSPS = writeStdSPS + result.writeStdPPS = writeStdPPS + result.stdSPSId = stdSPSId + result.stdPPSId = stdPPSId -proc newVkPhysicalDeviceShaderAtomicFloatFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderBufferFloat32Atomics: VkBool32, shaderBufferFloat32AtomicAdd: VkBool32, shaderBufferFloat64Atomics: VkBool32, shaderBufferFloat64AtomicAdd: VkBool32, shaderSharedFloat32Atomics: VkBool32, shaderSharedFloat32AtomicAdd: VkBool32, shaderSharedFloat64Atomics: VkBool32, shaderSharedFloat64AtomicAdd: VkBool32, shaderImageFloat32Atomics: VkBool32, shaderImageFloat32AtomicAdd: VkBool32, sparseImageFloat32Atomics: VkBool32, sparseImageFloat32AtomicAdd: VkBool32): VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = +proc newVkVideoEncodeH264SessionParametersFeedbackInfoEXT*(sType: VkStructureType, pNext: pointer = nil, hasStdSPSOverrides: VkBool32, hasStdPPSOverrides: VkBool32): VkVideoEncodeH264SessionParametersFeedbackInfoEXT = result.sType = sType result.pNext = pNext - result.shaderBufferFloat32Atomics = shaderBufferFloat32Atomics - result.shaderBufferFloat32AtomicAdd = shaderBufferFloat32AtomicAdd - result.shaderBufferFloat64Atomics = shaderBufferFloat64Atomics - result.shaderBufferFloat64AtomicAdd = shaderBufferFloat64AtomicAdd - result.shaderSharedFloat32Atomics = shaderSharedFloat32Atomics - result.shaderSharedFloat32AtomicAdd = shaderSharedFloat32AtomicAdd - result.shaderSharedFloat64Atomics = shaderSharedFloat64Atomics - result.shaderSharedFloat64AtomicAdd = shaderSharedFloat64AtomicAdd - result.shaderImageFloat32Atomics = shaderImageFloat32Atomics - result.shaderImageFloat32AtomicAdd = shaderImageFloat32AtomicAdd - result.sparseImageFloat32Atomics = sparseImageFloat32Atomics - result.sparseImageFloat32AtomicAdd = sparseImageFloat32AtomicAdd + result.hasStdSPSOverrides = hasStdSPSOverrides + result.hasStdPPSOverrides = hasStdPPSOverrides + +proc newVkVideoEncodeH264DpbSlotInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pStdReferenceInfo: ptr StdVideoEncodeH264ReferenceInfo): VkVideoEncodeH264DpbSlotInfoEXT = + result.sType = sType + result.pNext = pNext + result.pStdReferenceInfo = pStdReferenceInfo -proc newVkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, vertexAttributeInstanceRateDivisor: VkBool32, vertexAttributeInstanceRateZeroDivisor: VkBool32): VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = +proc newVkVideoEncodeH264PictureInfoEXT*(sType: VkStructureType, pNext: pointer = nil, naluSliceEntryCount: uint32, pNaluSliceEntries: ptr VkVideoEncodeH264NaluSliceInfoEXT, pStdPictureInfo: ptr StdVideoEncodeH264PictureInfo, generatePrefixNalu: VkBool32): VkVideoEncodeH264PictureInfoEXT = result.sType = sType result.pNext = pNext - result.vertexAttributeInstanceRateDivisor = vertexAttributeInstanceRateDivisor - result.vertexAttributeInstanceRateZeroDivisor = vertexAttributeInstanceRateZeroDivisor + result.naluSliceEntryCount = naluSliceEntryCount + result.pNaluSliceEntries = pNaluSliceEntries + result.pStdPictureInfo = pStdPictureInfo + result.generatePrefixNalu = generatePrefixNalu -proc newVkQueueFamilyCheckpointPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, checkpointExecutionStageMask: VkPipelineStageFlags): VkQueueFamilyCheckpointPropertiesNV = +proc newVkVideoEncodeH264ProfileInfoEXT*(sType: VkStructureType, pNext: pointer = nil, stdProfileIdc: StdVideoH264ProfileIdc): VkVideoEncodeH264ProfileInfoEXT = result.sType = sType result.pNext = pNext - result.checkpointExecutionStageMask = checkpointExecutionStageMask + result.stdProfileIdc = stdProfileIdc -proc newVkCheckpointDataNV*(sType: VkStructureType, pNext: pointer = nil, stage: VkPipelineStageFlagBits, pCheckpointMarker: pointer = nil): VkCheckpointDataNV = +proc newVkVideoEncodeH264NaluSliceInfoEXT*(sType: VkStructureType, pNext: pointer = nil, constantQp: int32, pStdSliceHeader: ptr StdVideoEncodeH264SliceHeader): VkVideoEncodeH264NaluSliceInfoEXT = result.sType = sType result.pNext = pNext - result.stage = stage - result.pCheckpointMarker = pCheckpointMarker + result.constantQp = constantQp + result.pStdSliceHeader = pStdSliceHeader -proc newVkPhysicalDeviceDepthStencilResolveProperties*(sType: VkStructureType, pNext: pointer = nil, supportedDepthResolveModes: VkResolveModeFlags, supportedStencilResolveModes: VkResolveModeFlags, independentResolveNone: VkBool32, independentResolve: VkBool32): VkPhysicalDeviceDepthStencilResolveProperties = +proc newVkVideoEncodeH264RateControlInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeH264RateControlFlagsEXT = 0.VkVideoEncodeH264RateControlFlagsEXT, gopFrameCount: uint32, idrPeriod: uint32, consecutiveBFrameCount: uint32, temporalLayerCount: uint32): VkVideoEncodeH264RateControlInfoEXT = result.sType = sType result.pNext = pNext - result.supportedDepthResolveModes = supportedDepthResolveModes - result.supportedStencilResolveModes = supportedStencilResolveModes - result.independentResolveNone = independentResolveNone - result.independentResolve = independentResolve + result.flags = flags + result.gopFrameCount = gopFrameCount + result.idrPeriod = idrPeriod + result.consecutiveBFrameCount = consecutiveBFrameCount + result.temporalLayerCount = temporalLayerCount -proc newVkSubpassDescriptionDepthStencilResolve*(sType: VkStructureType, pNext: pointer = nil, depthResolveMode: VkResolveModeFlagBits, stencilResolveMode: VkResolveModeFlagBits, pDepthStencilResolveAttachment: ptr VkAttachmentReference2): VkSubpassDescriptionDepthStencilResolve = +proc newVkVideoEncodeH264QpEXT*(qpI: int32, qpP: int32, qpB: int32): VkVideoEncodeH264QpEXT = + result.qpI = qpI + result.qpP = qpP + result.qpB = qpB + +proc newVkVideoEncodeH264FrameSizeEXT*(frameISize: uint32, framePSize: uint32, frameBSize: uint32): VkVideoEncodeH264FrameSizeEXT = + result.frameISize = frameISize + result.framePSize = framePSize + result.frameBSize = frameBSize + +proc newVkVideoEncodeH264GopRemainingFrameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useGopRemainingFrames: VkBool32, gopRemainingI: uint32, gopRemainingP: uint32, gopRemainingB: uint32): VkVideoEncodeH264GopRemainingFrameInfoEXT = result.sType = sType result.pNext = pNext - result.depthResolveMode = depthResolveMode - result.stencilResolveMode = stencilResolveMode - result.pDepthStencilResolveAttachment = pDepthStencilResolveAttachment + result.useGopRemainingFrames = useGopRemainingFrames + result.gopRemainingI = gopRemainingI + result.gopRemainingP = gopRemainingP + result.gopRemainingB = gopRemainingB -proc newVkImageViewASTCDecodeModeEXT*(sType: VkStructureType, pNext: pointer = nil, decodeMode: VkFormat): VkImageViewASTCDecodeModeEXT = +proc newVkVideoEncodeH264RateControlLayerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useMinQp: VkBool32, minQp: VkVideoEncodeH264QpEXT, useMaxQp: VkBool32, maxQp: VkVideoEncodeH264QpEXT, useMaxFrameSize: VkBool32, maxFrameSize: VkVideoEncodeH264FrameSizeEXT): VkVideoEncodeH264RateControlLayerInfoEXT = result.sType = sType result.pNext = pNext - result.decodeMode = decodeMode + result.useMinQp = useMinQp + result.minQp = minQp + result.useMaxQp = useMaxQp + result.maxQp = maxQp + result.useMaxFrameSize = useMaxFrameSize + result.maxFrameSize = maxFrameSize -proc newVkPhysicalDeviceASTCDecodeFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, decodeModeSharedExponent: VkBool32): VkPhysicalDeviceASTCDecodeFeaturesEXT = +proc newVkVideoEncodeH265CapabilitiesEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeH265CapabilityFlagsEXT = 0.VkVideoEncodeH265CapabilityFlagsEXT, maxLevelIdc: StdVideoH265LevelIdc, maxSliceSegmentCount: uint32, maxTiles: VkExtent2D, ctbSizes: VkVideoEncodeH265CtbSizeFlagsEXT, transformBlockSizes: VkVideoEncodeH265TransformBlockSizeFlagsEXT, maxPPictureL0ReferenceCount: uint32, maxBPictureL0ReferenceCount: uint32, maxL1ReferenceCount: uint32, maxSubLayerCount: uint32, expectDyadicTemporalSubLayerPattern: VkBool32, minQp: int32, maxQp: int32, prefersGopRemainingFrames: VkBool32, requiresGopRemainingFrames: VkBool32, stdSyntaxFlags: VkVideoEncodeH265StdFlagsEXT): VkVideoEncodeH265CapabilitiesEXT = result.sType = sType result.pNext = pNext - result.decodeModeSharedExponent = decodeModeSharedExponent + result.flags = flags + result.maxLevelIdc = maxLevelIdc + result.maxSliceSegmentCount = maxSliceSegmentCount + result.maxTiles = maxTiles + result.ctbSizes = ctbSizes + result.transformBlockSizes = transformBlockSizes + result.maxPPictureL0ReferenceCount = maxPPictureL0ReferenceCount + result.maxBPictureL0ReferenceCount = maxBPictureL0ReferenceCount + result.maxL1ReferenceCount = maxL1ReferenceCount + result.maxSubLayerCount = maxSubLayerCount + result.expectDyadicTemporalSubLayerPattern = expectDyadicTemporalSubLayerPattern + result.minQp = minQp + result.maxQp = maxQp + result.prefersGopRemainingFrames = prefersGopRemainingFrames + result.requiresGopRemainingFrames = requiresGopRemainingFrames + result.stdSyntaxFlags = stdSyntaxFlags -proc newVkPhysicalDeviceTransformFeedbackFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, transformFeedback: VkBool32, geometryStreams: VkBool32): VkPhysicalDeviceTransformFeedbackFeaturesEXT = +proc newVkVideoEncodeH265QualityLevelPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, preferredRateControlFlags: VkVideoEncodeH265RateControlFlagsEXT, preferredGopFrameCount: uint32, preferredIdrPeriod: uint32, preferredConsecutiveBFrameCount: uint32, preferredSubLayerCount: uint32, preferredConstantQp: VkVideoEncodeH265QpEXT, preferredMaxL0ReferenceCount: uint32, preferredMaxL1ReferenceCount: uint32): VkVideoEncodeH265QualityLevelPropertiesEXT = result.sType = sType result.pNext = pNext - result.transformFeedback = transformFeedback - result.geometryStreams = geometryStreams + result.preferredRateControlFlags = preferredRateControlFlags + result.preferredGopFrameCount = preferredGopFrameCount + result.preferredIdrPeriod = preferredIdrPeriod + result.preferredConsecutiveBFrameCount = preferredConsecutiveBFrameCount + result.preferredSubLayerCount = preferredSubLayerCount + result.preferredConstantQp = preferredConstantQp + result.preferredMaxL0ReferenceCount = preferredMaxL0ReferenceCount + result.preferredMaxL1ReferenceCount = preferredMaxL1ReferenceCount -proc newVkPhysicalDeviceTransformFeedbackPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxTransformFeedbackStreams: uint32, maxTransformFeedbackBuffers: uint32, maxTransformFeedbackBufferSize: VkDeviceSize, maxTransformFeedbackStreamDataSize: uint32, maxTransformFeedbackBufferDataSize: uint32, maxTransformFeedbackBufferDataStride: uint32, transformFeedbackQueries: VkBool32, transformFeedbackStreamsLinesTriangles: VkBool32, transformFeedbackRasterizationStreamSelect: VkBool32, transformFeedbackDraw: VkBool32): VkPhysicalDeviceTransformFeedbackPropertiesEXT = +proc newVkVideoEncodeH265SessionCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useMaxLevelIdc: VkBool32, maxLevelIdc: StdVideoH265LevelIdc): VkVideoEncodeH265SessionCreateInfoEXT = result.sType = sType result.pNext = pNext - result.maxTransformFeedbackStreams = maxTransformFeedbackStreams - result.maxTransformFeedbackBuffers = maxTransformFeedbackBuffers - result.maxTransformFeedbackBufferSize = maxTransformFeedbackBufferSize - result.maxTransformFeedbackStreamDataSize = maxTransformFeedbackStreamDataSize - result.maxTransformFeedbackBufferDataSize = maxTransformFeedbackBufferDataSize - result.maxTransformFeedbackBufferDataStride = maxTransformFeedbackBufferDataStride - result.transformFeedbackQueries = transformFeedbackQueries - result.transformFeedbackStreamsLinesTriangles = transformFeedbackStreamsLinesTriangles - result.transformFeedbackRasterizationStreamSelect = transformFeedbackRasterizationStreamSelect - result.transformFeedbackDraw = transformFeedbackDraw + result.useMaxLevelIdc = useMaxLevelIdc + result.maxLevelIdc = maxLevelIdc -proc newVkPipelineRasterizationStateStreamCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationStateStreamCreateFlagsEXT = 0.VkPipelineRasterizationStateStreamCreateFlagsEXT, rasterizationStream: uint32): VkPipelineRasterizationStateStreamCreateInfoEXT = +proc newVkVideoEncodeH265SessionParametersAddInfoEXT*(sType: VkStructureType, pNext: pointer = nil, stdVPSCount: uint32, pStdVPSs: ptr StdVideoH265VideoParameterSet, stdSPSCount: uint32, pStdSPSs: ptr StdVideoH265SequenceParameterSet, stdPPSCount: uint32, pStdPPSs: ptr StdVideoH265PictureParameterSet): VkVideoEncodeH265SessionParametersAddInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.rasterizationStream = rasterizationStream + result.stdVPSCount = stdVPSCount + result.pStdVPSs = pStdVPSs + result.stdSPSCount = stdSPSCount + result.pStdSPSs = pStdSPSs + result.stdPPSCount = stdPPSCount + result.pStdPPSs = pStdPPSs -proc newVkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, representativeFragmentTest: VkBool32): VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = +proc newVkVideoEncodeH265SessionParametersCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, maxStdVPSCount: uint32, maxStdSPSCount: uint32, maxStdPPSCount: uint32, pParametersAddInfo: ptr VkVideoEncodeH265SessionParametersAddInfoEXT): VkVideoEncodeH265SessionParametersCreateInfoEXT = result.sType = sType result.pNext = pNext - result.representativeFragmentTest = representativeFragmentTest + result.maxStdVPSCount = maxStdVPSCount + result.maxStdSPSCount = maxStdSPSCount + result.maxStdPPSCount = maxStdPPSCount + result.pParametersAddInfo = pParametersAddInfo -proc newVkPipelineRepresentativeFragmentTestStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, representativeFragmentTestEnable: VkBool32): VkPipelineRepresentativeFragmentTestStateCreateInfoNV = +proc newVkVideoEncodeH265SessionParametersGetInfoEXT*(sType: VkStructureType, pNext: pointer = nil, writeStdVPS: VkBool32, writeStdSPS: VkBool32, writeStdPPS: VkBool32, stdVPSId: uint32, stdSPSId: uint32, stdPPSId: uint32): VkVideoEncodeH265SessionParametersGetInfoEXT = result.sType = sType result.pNext = pNext - result.representativeFragmentTestEnable = representativeFragmentTestEnable + result.writeStdVPS = writeStdVPS + result.writeStdSPS = writeStdSPS + result.writeStdPPS = writeStdPPS + result.stdVPSId = stdVPSId + result.stdSPSId = stdSPSId + result.stdPPSId = stdPPSId -proc newVkPhysicalDeviceExclusiveScissorFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, exclusiveScissor: VkBool32): VkPhysicalDeviceExclusiveScissorFeaturesNV = +proc newVkVideoEncodeH265SessionParametersFeedbackInfoEXT*(sType: VkStructureType, pNext: pointer = nil, hasStdVPSOverrides: VkBool32, hasStdSPSOverrides: VkBool32, hasStdPPSOverrides: VkBool32): VkVideoEncodeH265SessionParametersFeedbackInfoEXT = result.sType = sType result.pNext = pNext - result.exclusiveScissor = exclusiveScissor + result.hasStdVPSOverrides = hasStdVPSOverrides + result.hasStdSPSOverrides = hasStdSPSOverrides + result.hasStdPPSOverrides = hasStdPPSOverrides -proc newVkPipelineViewportExclusiveScissorStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D): VkPipelineViewportExclusiveScissorStateCreateInfoNV = +proc newVkVideoEncodeH265PictureInfoEXT*(sType: VkStructureType, pNext: pointer = nil, naluSliceSegmentEntryCount: uint32, pNaluSliceSegmentEntries: ptr VkVideoEncodeH265NaluSliceSegmentInfoEXT, pStdPictureInfo: ptr StdVideoEncodeH265PictureInfo): VkVideoEncodeH265PictureInfoEXT = result.sType = sType result.pNext = pNext - result.exclusiveScissorCount = exclusiveScissorCount - result.pExclusiveScissors = pExclusiveScissors + result.naluSliceSegmentEntryCount = naluSliceSegmentEntryCount + result.pNaluSliceSegmentEntries = pNaluSliceSegmentEntries + result.pStdPictureInfo = pStdPictureInfo -proc newVkPhysicalDeviceCornerSampledImageFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, cornerSampledImage: VkBool32): VkPhysicalDeviceCornerSampledImageFeaturesNV = +proc newVkVideoEncodeH265NaluSliceSegmentInfoEXT*(sType: VkStructureType, pNext: pointer = nil, constantQp: int32, pStdSliceSegmentHeader: ptr StdVideoEncodeH265SliceSegmentHeader): VkVideoEncodeH265NaluSliceSegmentInfoEXT = result.sType = sType result.pNext = pNext - result.cornerSampledImage = cornerSampledImage + result.constantQp = constantQp + result.pStdSliceSegmentHeader = pStdSliceSegmentHeader -proc newVkPhysicalDeviceComputeShaderDerivativesFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, computeDerivativeGroupQuads: VkBool32, computeDerivativeGroupLinear: VkBool32): VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = +proc newVkVideoEncodeH265RateControlInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkVideoEncodeH265RateControlFlagsEXT = 0.VkVideoEncodeH265RateControlFlagsEXT, gopFrameCount: uint32, idrPeriod: uint32, consecutiveBFrameCount: uint32, subLayerCount: uint32): VkVideoEncodeH265RateControlInfoEXT = result.sType = sType result.pNext = pNext - result.computeDerivativeGroupQuads = computeDerivativeGroupQuads - result.computeDerivativeGroupLinear = computeDerivativeGroupLinear + result.flags = flags + result.gopFrameCount = gopFrameCount + result.idrPeriod = idrPeriod + result.consecutiveBFrameCount = consecutiveBFrameCount + result.subLayerCount = subLayerCount + +proc newVkVideoEncodeH265QpEXT*(qpI: int32, qpP: int32, qpB: int32): VkVideoEncodeH265QpEXT = + result.qpI = qpI + result.qpP = qpP + result.qpB = qpB + +proc newVkVideoEncodeH265FrameSizeEXT*(frameISize: uint32, framePSize: uint32, frameBSize: uint32): VkVideoEncodeH265FrameSizeEXT = + result.frameISize = frameISize + result.framePSize = framePSize + result.frameBSize = frameBSize -proc newVkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, fragmentShaderBarycentric: VkBool32): VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = +proc newVkVideoEncodeH265GopRemainingFrameInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useGopRemainingFrames: VkBool32, gopRemainingI: uint32, gopRemainingP: uint32, gopRemainingB: uint32): VkVideoEncodeH265GopRemainingFrameInfoEXT = result.sType = sType result.pNext = pNext - result.fragmentShaderBarycentric = fragmentShaderBarycentric + result.useGopRemainingFrames = useGopRemainingFrames + result.gopRemainingI = gopRemainingI + result.gopRemainingP = gopRemainingP + result.gopRemainingB = gopRemainingB -proc newVkPhysicalDeviceShaderImageFootprintFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, imageFootprint: VkBool32): VkPhysicalDeviceShaderImageFootprintFeaturesNV = +proc newVkVideoEncodeH265RateControlLayerInfoEXT*(sType: VkStructureType, pNext: pointer = nil, useMinQp: VkBool32, minQp: VkVideoEncodeH265QpEXT, useMaxQp: VkBool32, maxQp: VkVideoEncodeH265QpEXT, useMaxFrameSize: VkBool32, maxFrameSize: VkVideoEncodeH265FrameSizeEXT): VkVideoEncodeH265RateControlLayerInfoEXT = result.sType = sType result.pNext = pNext - result.imageFootprint = imageFootprint + result.useMinQp = useMinQp + result.minQp = minQp + result.useMaxQp = useMaxQp + result.maxQp = maxQp + result.useMaxFrameSize = useMaxFrameSize + result.maxFrameSize = maxFrameSize -proc newVkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, dedicatedAllocationImageAliasing: VkBool32): VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = +proc newVkVideoEncodeH265ProfileInfoEXT*(sType: VkStructureType, pNext: pointer = nil, stdProfileIdc: StdVideoH265ProfileIdc): VkVideoEncodeH265ProfileInfoEXT = result.sType = sType result.pNext = pNext - result.dedicatedAllocationImageAliasing = dedicatedAllocationImageAliasing + result.stdProfileIdc = stdProfileIdc -proc newVkShadingRatePaletteNV*(shadingRatePaletteEntryCount: uint32, pShadingRatePaletteEntries: ptr VkShadingRatePaletteEntryNV): VkShadingRatePaletteNV = - result.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount - result.pShadingRatePaletteEntries = pShadingRatePaletteEntries +proc newVkVideoEncodeH265DpbSlotInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pStdReferenceInfo: ptr StdVideoEncodeH265ReferenceInfo): VkVideoEncodeH265DpbSlotInfoEXT = + result.sType = sType + result.pNext = pNext + result.pStdReferenceInfo = pStdReferenceInfo -proc newVkPipelineViewportShadingRateImageStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateImageEnable: VkBool32, viewportCount: uint32, pShadingRatePalettes: ptr VkShadingRatePaletteNV): VkPipelineViewportShadingRateImageStateCreateInfoNV = +proc newVkPhysicalDeviceInheritedViewportScissorFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, inheritedViewportScissor2D: VkBool32): VkPhysicalDeviceInheritedViewportScissorFeaturesNV = result.sType = sType result.pNext = pNext - result.shadingRateImageEnable = shadingRateImageEnable - result.viewportCount = viewportCount - result.pShadingRatePalettes = pShadingRatePalettes + result.inheritedViewportScissor2D = inheritedViewportScissor2D -proc newVkPhysicalDeviceShadingRateImageFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateImage: VkBool32, shadingRateCoarseSampleOrder: VkBool32): VkPhysicalDeviceShadingRateImageFeaturesNV = +proc newVkCommandBufferInheritanceViewportScissorInfoNV*(sType: VkStructureType, pNext: pointer = nil, viewportScissor2D: VkBool32, viewportDepthCount: uint32, pViewportDepths: ptr VkViewport): VkCommandBufferInheritanceViewportScissorInfoNV = result.sType = sType result.pNext = pNext - result.shadingRateImage = shadingRateImage - result.shadingRateCoarseSampleOrder = shadingRateCoarseSampleOrder + result.viewportScissor2D = viewportScissor2D + result.viewportDepthCount = viewportDepthCount + result.pViewportDepths = pViewportDepths -proc newVkPhysicalDeviceShadingRateImagePropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shadingRateTexelSize: VkExtent2D, shadingRatePaletteSize: uint32, shadingRateMaxCoarseSamples: uint32): VkPhysicalDeviceShadingRateImagePropertiesNV = +proc newVkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, ycbcr2plane444Formats: VkBool32): VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = result.sType = sType result.pNext = pNext - result.shadingRateTexelSize = shadingRateTexelSize - result.shadingRatePaletteSize = shadingRatePaletteSize - result.shadingRateMaxCoarseSamples = shadingRateMaxCoarseSamples + result.ycbcr2plane444Formats = ycbcr2plane444Formats -proc newVkCoarseSampleLocationNV*(pixelX: uint32, pixelY: uint32, sample: uint32): VkCoarseSampleLocationNV = - result.pixelX = pixelX - result.pixelY = pixelY - result.sample = sample +proc newVkPhysicalDeviceProvokingVertexFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, provokingVertexLast: VkBool32, transformFeedbackPreservesProvokingVertex: VkBool32): VkPhysicalDeviceProvokingVertexFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.provokingVertexLast = provokingVertexLast + result.transformFeedbackPreservesProvokingVertex = transformFeedbackPreservesProvokingVertex -proc newVkCoarseSampleOrderCustomNV*(shadingRate: VkShadingRatePaletteEntryNV, sampleCount: uint32, sampleLocationCount: uint32, pSampleLocations: ptr VkCoarseSampleLocationNV): VkCoarseSampleOrderCustomNV = - result.shadingRate = shadingRate - result.sampleCount = sampleCount - result.sampleLocationCount = sampleLocationCount - result.pSampleLocations = pSampleLocations +proc newVkPhysicalDeviceProvokingVertexPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, provokingVertexModePerPipeline: VkBool32, transformFeedbackPreservesTriangleFanProvokingVertex: VkBool32): VkPhysicalDeviceProvokingVertexPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.provokingVertexModePerPipeline = provokingVertexModePerPipeline + result.transformFeedbackPreservesTriangleFanProvokingVertex = transformFeedbackPreservesTriangleFanProvokingVertex -proc newVkPipelineViewportCoarseSampleOrderStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, sampleOrderType: VkCoarseSampleOrderTypeNV, customSampleOrderCount: uint32, pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = +proc newVkPipelineRasterizationProvokingVertexStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, provokingVertexMode: VkProvokingVertexModeEXT): VkPipelineRasterizationProvokingVertexStateCreateInfoEXT = result.sType = sType result.pNext = pNext - result.sampleOrderType = sampleOrderType - result.customSampleOrderCount = customSampleOrderCount - result.pCustomSampleOrders = pCustomSampleOrders + result.provokingVertexMode = provokingVertexMode -proc newVkPhysicalDeviceMeshShaderFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, taskShader: VkBool32, meshShader: VkBool32): VkPhysicalDeviceMeshShaderFeaturesNV = +proc newVkCuModuleCreateInfoNVX*(sType: VkStructureType, pNext: pointer = nil, dataSize: uint, pData: pointer = nil): VkCuModuleCreateInfoNVX = result.sType = sType result.pNext = pNext - result.taskShader = taskShader - result.meshShader = meshShader + result.dataSize = dataSize + result.pData = pData -proc newVkPhysicalDeviceMeshShaderPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxDrawMeshTasksCount: uint32, maxTaskWorkGroupInvocations: uint32, maxTaskWorkGroupSize: array[3, uint32], maxTaskTotalMemorySize: uint32, maxTaskOutputCount: uint32, maxMeshWorkGroupInvocations: uint32, maxMeshWorkGroupSize: array[3, uint32], maxMeshTotalMemorySize: uint32, maxMeshOutputVertices: uint32, maxMeshOutputPrimitives: uint32, maxMeshMultiviewViewCount: uint32, meshOutputPerVertexGranularity: uint32, meshOutputPerPrimitiveGranularity: uint32): VkPhysicalDeviceMeshShaderPropertiesNV = +proc newVkCuFunctionCreateInfoNVX*(sType: VkStructureType, pNext: pointer = nil, module: VkCuModuleNVX, pName: cstring): VkCuFunctionCreateInfoNVX = result.sType = sType result.pNext = pNext - result.maxDrawMeshTasksCount = maxDrawMeshTasksCount - result.maxTaskWorkGroupInvocations = maxTaskWorkGroupInvocations - result.maxTaskWorkGroupSize = maxTaskWorkGroupSize - result.maxTaskTotalMemorySize = maxTaskTotalMemorySize - result.maxTaskOutputCount = maxTaskOutputCount - result.maxMeshWorkGroupInvocations = maxMeshWorkGroupInvocations - result.maxMeshWorkGroupSize = maxMeshWorkGroupSize - result.maxMeshTotalMemorySize = maxMeshTotalMemorySize - result.maxMeshOutputVertices = maxMeshOutputVertices - result.maxMeshOutputPrimitives = maxMeshOutputPrimitives - result.maxMeshMultiviewViewCount = maxMeshMultiviewViewCount - result.meshOutputPerVertexGranularity = meshOutputPerVertexGranularity - result.meshOutputPerPrimitiveGranularity = meshOutputPerPrimitiveGranularity + result.module = module + result.pName = pName -proc newVkDrawMeshTasksIndirectCommandNV*(taskCount: uint32, firstTask: uint32): VkDrawMeshTasksIndirectCommandNV = - result.taskCount = taskCount - result.firstTask = firstTask +proc newVkCuLaunchInfoNVX*(sType: VkStructureType, pNext: pointer = nil, function: VkCuFunctionNVX, gridDimX: uint32, gridDimY: uint32, gridDimZ: uint32, blockDimX: uint32, blockDimY: uint32, blockDimZ: uint32, sharedMemBytes: uint32, paramCount: uint, pParams: ptr pointer, extraCount: uint, pExtras: ptr pointer): VkCuLaunchInfoNVX = + result.sType = sType + result.pNext = pNext + result.function = function + result.gridDimX = gridDimX + result.gridDimY = gridDimY + result.gridDimZ = gridDimZ + result.blockDimX = blockDimX + result.blockDimY = blockDimY + result.blockDimZ = blockDimZ + result.sharedMemBytes = sharedMemBytes + result.paramCount = paramCount + result.pParams = pParams + result.extraCount = extraCount + result.pExtras = pExtras + +proc newVkPhysicalDeviceDescriptorBufferFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, descriptorBuffer: VkBool32, descriptorBufferCaptureReplay: VkBool32, descriptorBufferImageLayoutIgnored: VkBool32, descriptorBufferPushDescriptors: VkBool32): VkPhysicalDeviceDescriptorBufferFeaturesEXT = + result.sType = sType + result.pNext = pNext + result.descriptorBuffer = descriptorBuffer + result.descriptorBufferCaptureReplay = descriptorBufferCaptureReplay + result.descriptorBufferImageLayoutIgnored = descriptorBufferImageLayoutIgnored + result.descriptorBufferPushDescriptors = descriptorBufferPushDescriptors + +proc newVkPhysicalDeviceDescriptorBufferPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, combinedImageSamplerDescriptorSingleArray: VkBool32, bufferlessPushDescriptors: VkBool32, allowSamplerImageViewPostSubmitCreation: VkBool32, descriptorBufferOffsetAlignment: VkDeviceSize, maxDescriptorBufferBindings: uint32, maxResourceDescriptorBufferBindings: uint32, maxSamplerDescriptorBufferBindings: uint32, maxEmbeddedImmutableSamplerBindings: uint32, maxEmbeddedImmutableSamplers: uint32, bufferCaptureReplayDescriptorDataSize: uint, imageCaptureReplayDescriptorDataSize: uint, imageViewCaptureReplayDescriptorDataSize: uint, samplerCaptureReplayDescriptorDataSize: uint, accelerationStructureCaptureReplayDescriptorDataSize: uint, samplerDescriptorSize: uint, combinedImageSamplerDescriptorSize: uint, sampledImageDescriptorSize: uint, storageImageDescriptorSize: uint, uniformTexelBufferDescriptorSize: uint, robustUniformTexelBufferDescriptorSize: uint, storageTexelBufferDescriptorSize: uint, robustStorageTexelBufferDescriptorSize: uint, uniformBufferDescriptorSize: uint, robustUniformBufferDescriptorSize: uint, storageBufferDescriptorSize: uint, robustStorageBufferDescriptorSize: uint, inputAttachmentDescriptorSize: uint, accelerationStructureDescriptorSize: uint, maxSamplerDescriptorBufferRange: VkDeviceSize, maxResourceDescriptorBufferRange: VkDeviceSize, samplerDescriptorBufferAddressSpaceSize: VkDeviceSize, resourceDescriptorBufferAddressSpaceSize: VkDeviceSize, descriptorBufferAddressSpaceSize: VkDeviceSize): VkPhysicalDeviceDescriptorBufferPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.combinedImageSamplerDescriptorSingleArray = combinedImageSamplerDescriptorSingleArray + result.bufferlessPushDescriptors = bufferlessPushDescriptors + result.allowSamplerImageViewPostSubmitCreation = allowSamplerImageViewPostSubmitCreation + result.descriptorBufferOffsetAlignment = descriptorBufferOffsetAlignment + result.maxDescriptorBufferBindings = maxDescriptorBufferBindings + result.maxResourceDescriptorBufferBindings = maxResourceDescriptorBufferBindings + result.maxSamplerDescriptorBufferBindings = maxSamplerDescriptorBufferBindings + result.maxEmbeddedImmutableSamplerBindings = maxEmbeddedImmutableSamplerBindings + result.maxEmbeddedImmutableSamplers = maxEmbeddedImmutableSamplers + result.bufferCaptureReplayDescriptorDataSize = bufferCaptureReplayDescriptorDataSize + result.imageCaptureReplayDescriptorDataSize = imageCaptureReplayDescriptorDataSize + result.imageViewCaptureReplayDescriptorDataSize = imageViewCaptureReplayDescriptorDataSize + result.samplerCaptureReplayDescriptorDataSize = samplerCaptureReplayDescriptorDataSize + result.accelerationStructureCaptureReplayDescriptorDataSize = accelerationStructureCaptureReplayDescriptorDataSize + result.samplerDescriptorSize = samplerDescriptorSize + result.combinedImageSamplerDescriptorSize = combinedImageSamplerDescriptorSize + result.sampledImageDescriptorSize = sampledImageDescriptorSize + result.storageImageDescriptorSize = storageImageDescriptorSize + result.uniformTexelBufferDescriptorSize = uniformTexelBufferDescriptorSize + result.robustUniformTexelBufferDescriptorSize = robustUniformTexelBufferDescriptorSize + result.storageTexelBufferDescriptorSize = storageTexelBufferDescriptorSize + result.robustStorageTexelBufferDescriptorSize = robustStorageTexelBufferDescriptorSize + result.uniformBufferDescriptorSize = uniformBufferDescriptorSize + result.robustUniformBufferDescriptorSize = robustUniformBufferDescriptorSize + result.storageBufferDescriptorSize = storageBufferDescriptorSize + result.robustStorageBufferDescriptorSize = robustStorageBufferDescriptorSize + result.inputAttachmentDescriptorSize = inputAttachmentDescriptorSize + result.accelerationStructureDescriptorSize = accelerationStructureDescriptorSize + result.maxSamplerDescriptorBufferRange = maxSamplerDescriptorBufferRange + result.maxResourceDescriptorBufferRange = maxResourceDescriptorBufferRange + result.samplerDescriptorBufferAddressSpaceSize = samplerDescriptorBufferAddressSpaceSize + result.resourceDescriptorBufferAddressSpaceSize = resourceDescriptorBufferAddressSpaceSize + result.descriptorBufferAddressSpaceSize = descriptorBufferAddressSpaceSize + +proc newVkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, combinedImageSamplerDensityMapDescriptorSize: uint): VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = + result.sType = sType + result.pNext = pNext + result.combinedImageSamplerDensityMapDescriptorSize = combinedImageSamplerDensityMapDescriptorSize + +proc newVkDescriptorAddressInfoEXT*(sType: VkStructureType, pNext: pointer = nil, address: VkDeviceAddress, range: VkDeviceSize, format: VkFormat): VkDescriptorAddressInfoEXT = + result.sType = sType + result.pNext = pNext + result.address = address + result.range = range + result.format = format -proc newVkRayTracingShaderGroupCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkRayTracingShaderGroupTypeKHR, generalShader: uint32, closestHitShader: uint32, anyHitShader: uint32, intersectionShader: uint32): VkRayTracingShaderGroupCreateInfoNV = +proc newVkDescriptorBufferBindingInfoEXT*(sType: VkStructureType, pNext: pointer = nil, address: VkDeviceAddress, usage: VkBufferUsageFlags): VkDescriptorBufferBindingInfoEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.generalShader = generalShader - result.closestHitShader = closestHitShader - result.anyHitShader = anyHitShader - result.intersectionShader = intersectionShader + result.address = address + result.usage = usage -proc newVkRayTracingShaderGroupCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, `type`: VkRayTracingShaderGroupTypeKHR, generalShader: uint32, closestHitShader: uint32, anyHitShader: uint32, intersectionShader: uint32, pShaderGroupCaptureReplayHandle: pointer = nil): VkRayTracingShaderGroupCreateInfoKHR = +proc newVkDescriptorBufferBindingPushDescriptorBufferHandleEXT*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkDescriptorBufferBindingPushDescriptorBufferHandleEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.generalShader = generalShader - result.closestHitShader = closestHitShader - result.anyHitShader = anyHitShader - result.intersectionShader = intersectionShader - result.pShaderGroupCaptureReplayHandle = pShaderGroupCaptureReplayHandle + result.buffer = buffer -proc newVkRayTracingPipelineCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, groupCount: uint32, pGroups: ptr VkRayTracingShaderGroupCreateInfoNV, maxRecursionDepth: uint32, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkRayTracingPipelineCreateInfoNV = +proc newVkDescriptorGetInfoEXT*(sType: VkStructureType, pNext: pointer = nil, `type`: VkDescriptorType, data: VkDescriptorDataEXT): VkDescriptorGetInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.stageCount = stageCount - result.pStages = pStages - result.groupCount = groupCount - result.pGroups = pGroups - result.maxRecursionDepth = maxRecursionDepth - result.layout = layout - result.basePipelineHandle = basePipelineHandle - result.basePipelineIndex = basePipelineIndex + result.`type` = `type` + result.data = data -proc newVkRayTracingPipelineCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags, stageCount: uint32, pStages: ptr VkPipelineShaderStageCreateInfo, groupCount: uint32, pGroups: ptr VkRayTracingShaderGroupCreateInfoKHR, maxRecursionDepth: uint32, libraries: VkPipelineLibraryCreateInfoKHR, pLibraryInterface: ptr VkRayTracingPipelineInterfaceCreateInfoKHR, layout: VkPipelineLayout, basePipelineHandle: VkPipeline, basePipelineIndex: int32): VkRayTracingPipelineCreateInfoKHR = +proc newVkBufferCaptureDescriptorDataInfoEXT*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkBufferCaptureDescriptorDataInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.stageCount = stageCount - result.pStages = pStages - result.groupCount = groupCount - result.pGroups = pGroups - result.maxRecursionDepth = maxRecursionDepth - result.libraries = libraries - result.pLibraryInterface = pLibraryInterface - result.layout = layout - result.basePipelineHandle = basePipelineHandle - result.basePipelineIndex = basePipelineIndex + result.buffer = buffer -proc newVkGeometryTrianglesNV*(sType: VkStructureType, pNext: pointer = nil, vertexData: VkBuffer, vertexOffset: VkDeviceSize, vertexCount: uint32, vertexStride: VkDeviceSize, vertexFormat: VkFormat, indexData: VkBuffer, indexOffset: VkDeviceSize, indexCount: uint32, indexType: VkIndexType, transformData: VkBuffer, transformOffset: VkDeviceSize): VkGeometryTrianglesNV = +proc newVkImageCaptureDescriptorDataInfoEXT*(sType: VkStructureType, pNext: pointer = nil, image: VkImage): VkImageCaptureDescriptorDataInfoEXT = result.sType = sType result.pNext = pNext - result.vertexData = vertexData - result.vertexOffset = vertexOffset - result.vertexCount = vertexCount - result.vertexStride = vertexStride - result.vertexFormat = vertexFormat - result.indexData = indexData - result.indexOffset = indexOffset - result.indexCount = indexCount - result.indexType = indexType - result.transformData = transformData - result.transformOffset = transformOffset + result.image = image -proc newVkGeometryAABBNV*(sType: VkStructureType, pNext: pointer = nil, aabbData: VkBuffer, numAABBs: uint32, stride: uint32, offset: VkDeviceSize): VkGeometryAABBNV = +proc newVkImageViewCaptureDescriptorDataInfoEXT*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView): VkImageViewCaptureDescriptorDataInfoEXT = result.sType = sType result.pNext = pNext - result.aabbData = aabbData - result.numAABBs = numAABBs - result.stride = stride - result.offset = offset + result.imageView = imageView -proc newVkGeometryDataNV*(triangles: VkGeometryTrianglesNV, aabbs: VkGeometryAABBNV): VkGeometryDataNV = - result.triangles = triangles - result.aabbs = aabbs +proc newVkSamplerCaptureDescriptorDataInfoEXT*(sType: VkStructureType, pNext: pointer = nil, sampler: VkSampler): VkSamplerCaptureDescriptorDataInfoEXT = + result.sType = sType + result.pNext = pNext + result.sampler = sampler -proc newVkGeometryNV*(sType: VkStructureType, pNext: pointer = nil, geometryType: VkGeometryTypeKHR, geometry: VkGeometryDataNV, flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkGeometryNV = +proc newVkAccelerationStructureCaptureDescriptorDataInfoEXT*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkAccelerationStructureKHR, accelerationStructureNV: VkAccelerationStructureNV): VkAccelerationStructureCaptureDescriptorDataInfoEXT = result.sType = sType result.pNext = pNext - result.geometryType = geometryType - result.geometry = geometry - result.flags = flags + result.accelerationStructure = accelerationStructure + result.accelerationStructureNV = accelerationStructureNV -proc newVkAccelerationStructureInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureTypeNV, flags: VkBuildAccelerationStructureFlagsNV = 0.VkBuildAccelerationStructureFlagsNV, instanceCount: uint32, geometryCount: uint32, pGeometries: ptr VkGeometryNV): VkAccelerationStructureInfoNV = +proc newVkOpaqueCaptureDescriptorDataCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, opaqueCaptureDescriptorData: pointer = nil): VkOpaqueCaptureDescriptorDataCreateInfoEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.flags = flags - result.instanceCount = instanceCount - result.geometryCount = geometryCount - result.pGeometries = pGeometries + result.opaqueCaptureDescriptorData = opaqueCaptureDescriptorData -proc newVkAccelerationStructureCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, compactedSize: VkDeviceSize, info: VkAccelerationStructureInfoNV): VkAccelerationStructureCreateInfoNV = +proc newVkPhysicalDeviceShaderIntegerDotProductFeatures*(sType: VkStructureType, pNext: pointer = nil, shaderIntegerDotProduct: VkBool32): VkPhysicalDeviceShaderIntegerDotProductFeatures = result.sType = sType result.pNext = pNext - result.compactedSize = compactedSize - result.info = info + result.shaderIntegerDotProduct = shaderIntegerDotProduct -proc newVkBindAccelerationStructureMemoryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkAccelerationStructureKHR, memory: VkDeviceMemory, memoryOffset: VkDeviceSize, deviceIndexCount: uint32, pDeviceIndices: ptr uint32): VkBindAccelerationStructureMemoryInfoKHR = +proc newVkPhysicalDeviceShaderIntegerDotProductProperties*(sType: VkStructureType, pNext: pointer = nil, integerDotProduct8BitUnsignedAccelerated: VkBool32, integerDotProduct8BitSignedAccelerated: VkBool32, integerDotProduct8BitMixedSignednessAccelerated: VkBool32, integerDotProduct4x8BitPackedUnsignedAccelerated: VkBool32, integerDotProduct4x8BitPackedSignedAccelerated: VkBool32, integerDotProduct4x8BitPackedMixedSignednessAccelerated: VkBool32, integerDotProduct16BitUnsignedAccelerated: VkBool32, integerDotProduct16BitSignedAccelerated: VkBool32, integerDotProduct16BitMixedSignednessAccelerated: VkBool32, integerDotProduct32BitUnsignedAccelerated: VkBool32, integerDotProduct32BitSignedAccelerated: VkBool32, integerDotProduct32BitMixedSignednessAccelerated: VkBool32, integerDotProduct64BitUnsignedAccelerated: VkBool32, integerDotProduct64BitSignedAccelerated: VkBool32, integerDotProduct64BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitUnsignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitSignedAccelerated: VkBool32, integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated: VkBool32): VkPhysicalDeviceShaderIntegerDotProductProperties = result.sType = sType result.pNext = pNext - result.accelerationStructure = accelerationStructure - result.memory = memory - result.memoryOffset = memoryOffset - result.deviceIndexCount = deviceIndexCount - result.pDeviceIndices = pDeviceIndices + result.integerDotProduct8BitUnsignedAccelerated = integerDotProduct8BitUnsignedAccelerated + result.integerDotProduct8BitSignedAccelerated = integerDotProduct8BitSignedAccelerated + result.integerDotProduct8BitMixedSignednessAccelerated = integerDotProduct8BitMixedSignednessAccelerated + result.integerDotProduct4x8BitPackedUnsignedAccelerated = integerDotProduct4x8BitPackedUnsignedAccelerated + result.integerDotProduct4x8BitPackedSignedAccelerated = integerDotProduct4x8BitPackedSignedAccelerated + result.integerDotProduct4x8BitPackedMixedSignednessAccelerated = integerDotProduct4x8BitPackedMixedSignednessAccelerated + result.integerDotProduct16BitUnsignedAccelerated = integerDotProduct16BitUnsignedAccelerated + result.integerDotProduct16BitSignedAccelerated = integerDotProduct16BitSignedAccelerated + result.integerDotProduct16BitMixedSignednessAccelerated = integerDotProduct16BitMixedSignednessAccelerated + result.integerDotProduct32BitUnsignedAccelerated = integerDotProduct32BitUnsignedAccelerated + result.integerDotProduct32BitSignedAccelerated = integerDotProduct32BitSignedAccelerated + result.integerDotProduct32BitMixedSignednessAccelerated = integerDotProduct32BitMixedSignednessAccelerated + result.integerDotProduct64BitUnsignedAccelerated = integerDotProduct64BitUnsignedAccelerated + result.integerDotProduct64BitSignedAccelerated = integerDotProduct64BitSignedAccelerated + result.integerDotProduct64BitMixedSignednessAccelerated = integerDotProduct64BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating8BitSignedAccelerated = integerDotProductAccumulatingSaturating8BitSignedAccelerated + result.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + result.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating16BitSignedAccelerated = integerDotProductAccumulatingSaturating16BitSignedAccelerated + result.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating32BitSignedAccelerated = integerDotProductAccumulatingSaturating32BitSignedAccelerated + result.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + result.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + result.integerDotProductAccumulatingSaturating64BitSignedAccelerated = integerDotProductAccumulatingSaturating64BitSignedAccelerated + result.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated -proc newVkWriteDescriptorSetAccelerationStructureKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR): VkWriteDescriptorSetAccelerationStructureKHR = +proc newVkPhysicalDeviceDrmPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, hasPrimary: VkBool32, hasRender: VkBool32, primaryMajor: int64, primaryMinor: int64, renderMajor: int64, renderMinor: int64): VkPhysicalDeviceDrmPropertiesEXT = result.sType = sType result.pNext = pNext - result.accelerationStructureCount = accelerationStructureCount - result.pAccelerationStructures = pAccelerationStructures + result.hasPrimary = hasPrimary + result.hasRender = hasRender + result.primaryMajor = primaryMajor + result.primaryMinor = primaryMinor + result.renderMajor = renderMajor + result.renderMinor = renderMinor -proc newVkAccelerationStructureMemoryRequirementsInfoKHR*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureMemoryRequirementsTypeKHR, buildType: VkAccelerationStructureBuildTypeKHR, accelerationStructure: VkAccelerationStructureKHR): VkAccelerationStructureMemoryRequirementsInfoKHR = +proc newVkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, fragmentShaderBarycentric: VkBool32): VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.buildType = buildType - result.accelerationStructure = accelerationStructure + result.fragmentShaderBarycentric = fragmentShaderBarycentric -proc newVkAccelerationStructureMemoryRequirementsInfoNV*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureMemoryRequirementsTypeNV, accelerationStructure: VkAccelerationStructureNV): VkAccelerationStructureMemoryRequirementsInfoNV = +proc newVkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, triStripVertexOrderIndependentOfProvokingVertex: VkBool32): VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.accelerationStructure = accelerationStructure + result.triStripVertexOrderIndependentOfProvokingVertex = triStripVertexOrderIndependentOfProvokingVertex -proc newVkPhysicalDeviceRayTracingFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, rayTracing: VkBool32, rayTracingShaderGroupHandleCaptureReplay: VkBool32, rayTracingShaderGroupHandleCaptureReplayMixed: VkBool32, rayTracingAccelerationStructureCaptureReplay: VkBool32, rayTracingIndirectTraceRays: VkBool32, rayTracingIndirectAccelerationStructureBuild: VkBool32, rayTracingHostAccelerationStructureCommands: VkBool32, rayQuery: VkBool32, rayTracingPrimitiveCulling: VkBool32): VkPhysicalDeviceRayTracingFeaturesKHR = +proc newVkPhysicalDeviceRayTracingMotionBlurFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, rayTracingMotionBlur: VkBool32, rayTracingMotionBlurPipelineTraceRaysIndirect: VkBool32): VkPhysicalDeviceRayTracingMotionBlurFeaturesNV = result.sType = sType result.pNext = pNext - result.rayTracing = rayTracing - result.rayTracingShaderGroupHandleCaptureReplay = rayTracingShaderGroupHandleCaptureReplay - result.rayTracingShaderGroupHandleCaptureReplayMixed = rayTracingShaderGroupHandleCaptureReplayMixed - result.rayTracingAccelerationStructureCaptureReplay = rayTracingAccelerationStructureCaptureReplay - result.rayTracingIndirectTraceRays = rayTracingIndirectTraceRays - result.rayTracingIndirectAccelerationStructureBuild = rayTracingIndirectAccelerationStructureBuild - result.rayTracingHostAccelerationStructureCommands = rayTracingHostAccelerationStructureCommands - result.rayQuery = rayQuery - result.rayTracingPrimitiveCulling = rayTracingPrimitiveCulling + result.rayTracingMotionBlur = rayTracingMotionBlur + result.rayTracingMotionBlurPipelineTraceRaysIndirect = rayTracingMotionBlurPipelineTraceRaysIndirect -proc newVkPhysicalDeviceRayTracingPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, shaderGroupHandleSize: uint32, maxRecursionDepth: uint32, maxShaderGroupStride: uint32, shaderGroupBaseAlignment: uint32, maxGeometryCount: uint64, maxInstanceCount: uint64, maxPrimitiveCount: uint64, maxDescriptorSetAccelerationStructures: uint32, shaderGroupHandleCaptureReplaySize: uint32): VkPhysicalDeviceRayTracingPropertiesKHR = +proc newVkAccelerationStructureGeometryMotionTrianglesDataNV*(sType: VkStructureType, pNext: pointer = nil, vertexData: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryMotionTrianglesDataNV = result.sType = sType result.pNext = pNext - result.shaderGroupHandleSize = shaderGroupHandleSize - result.maxRecursionDepth = maxRecursionDepth - result.maxShaderGroupStride = maxShaderGroupStride - result.shaderGroupBaseAlignment = shaderGroupBaseAlignment - result.maxGeometryCount = maxGeometryCount - result.maxInstanceCount = maxInstanceCount - result.maxPrimitiveCount = maxPrimitiveCount - result.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures - result.shaderGroupHandleCaptureReplaySize = shaderGroupHandleCaptureReplaySize + result.vertexData = vertexData -proc newVkPhysicalDeviceRayTracingPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shaderGroupHandleSize: uint32, maxRecursionDepth: uint32, maxShaderGroupStride: uint32, shaderGroupBaseAlignment: uint32, maxGeometryCount: uint64, maxInstanceCount: uint64, maxTriangleCount: uint64, maxDescriptorSetAccelerationStructures: uint32): VkPhysicalDeviceRayTracingPropertiesNV = +proc newVkAccelerationStructureMotionInfoNV*(sType: VkStructureType, pNext: pointer = nil, maxInstances: uint32, flags: VkAccelerationStructureMotionInfoFlagsNV = 0.VkAccelerationStructureMotionInfoFlagsNV): VkAccelerationStructureMotionInfoNV = result.sType = sType result.pNext = pNext - result.shaderGroupHandleSize = shaderGroupHandleSize - result.maxRecursionDepth = maxRecursionDepth - result.maxShaderGroupStride = maxShaderGroupStride - result.shaderGroupBaseAlignment = shaderGroupBaseAlignment - result.maxGeometryCount = maxGeometryCount - result.maxInstanceCount = maxInstanceCount - result.maxTriangleCount = maxTriangleCount - result.maxDescriptorSetAccelerationStructures = maxDescriptorSetAccelerationStructures + result.maxInstances = maxInstances + result.flags = flags + +proc newVkSRTDataNV*(sx: float32, a: float32, b: float32, pvx: float32, sy: float32, c: float32, pvy: float32, sz: float32, pvz: float32, qx: float32, qy: float32, qz: float32, qw: float32, tx: float32, ty: float32, tz: float32): VkSRTDataNV = + result.sx = sx + result.a = a + result.b = b + result.pvx = pvx + result.sy = sy + result.c = c + result.pvy = pvy + result.sz = sz + result.pvz = pvz + result.qx = qx + result.qy = qy + result.qz = qz + result.qw = qw + result.tx = tx + result.ty = ty + result.tz = tz + +proc newVkAccelerationStructureSRTMotionInstanceNV*(transformT0: VkSRTDataNV, transformT1: VkSRTDataNV, instanceCustomIndex: uint32, mask: uint32, instanceShaderBindingTableRecordOffset: uint32, flags: VkGeometryInstanceFlagsKHR = 0.VkGeometryInstanceFlagsKHR, accelerationStructureReference: uint64): VkAccelerationStructureSRTMotionInstanceNV = + result.transformT0 = transformT0 + result.transformT1 = transformT1 + result.instanceCustomIndex = instanceCustomIndex + result.mask = mask + result.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + result.flags = flags + result.accelerationStructureReference = accelerationStructureReference + +proc newVkAccelerationStructureMatrixMotionInstanceNV*(transformT0: VkTransformMatrixKHR, transformT1: VkTransformMatrixKHR, instanceCustomIndex: uint32, mask: uint32, instanceShaderBindingTableRecordOffset: uint32, flags: VkGeometryInstanceFlagsKHR = 0.VkGeometryInstanceFlagsKHR, accelerationStructureReference: uint64): VkAccelerationStructureMatrixMotionInstanceNV = + result.transformT0 = transformT0 + result.transformT1 = transformT1 + result.instanceCustomIndex = instanceCustomIndex + result.mask = mask + result.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + result.flags = flags + result.accelerationStructureReference = accelerationStructureReference + +proc newVkAccelerationStructureMotionInstanceNV*(`type`: VkAccelerationStructureMotionInstanceTypeNV, flags: VkAccelerationStructureMotionInstanceFlagsNV = 0.VkAccelerationStructureMotionInstanceFlagsNV, data: VkAccelerationStructureMotionInstanceDataNV): VkAccelerationStructureMotionInstanceNV = + result.`type` = `type` + result.flags = flags + result.data = data + +proc newVkMemoryGetRemoteAddressInfoNV*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetRemoteAddressInfoNV = + result.sType = sType + result.pNext = pNext + result.memory = memory + result.handleType = handleType -proc newVkStridedBufferRegionKHR*(buffer: VkBuffer, offset: VkDeviceSize, stride: VkDeviceSize, size: VkDeviceSize): VkStridedBufferRegionKHR = - result.buffer = buffer - result.offset = offset - result.stride = stride - result.size = size +proc newVkImportMemoryBufferCollectionFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, collection: VkBufferCollectionFUCHSIA, index: uint32): VkImportMemoryBufferCollectionFUCHSIA = + result.sType = sType + result.pNext = pNext + result.collection = collection + result.index = index -proc newVkTraceRaysIndirectCommandKHR*(width: uint32, height: uint32, depth: uint32): VkTraceRaysIndirectCommandKHR = - result.width = width - result.height = height - result.depth = depth +proc newVkBufferCollectionImageCreateInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, collection: VkBufferCollectionFUCHSIA, index: uint32): VkBufferCollectionImageCreateInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.collection = collection + result.index = index -proc newVkDrmFormatModifierPropertiesListEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifierCount: uint32, pDrmFormatModifierProperties: ptr VkDrmFormatModifierPropertiesEXT): VkDrmFormatModifierPropertiesListEXT = +proc newVkBufferCollectionBufferCreateInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, collection: VkBufferCollectionFUCHSIA, index: uint32): VkBufferCollectionBufferCreateInfoFUCHSIA = result.sType = sType result.pNext = pNext - result.drmFormatModifierCount = drmFormatModifierCount - result.pDrmFormatModifierProperties = pDrmFormatModifierProperties + result.collection = collection + result.index = index -proc newVkDrmFormatModifierPropertiesEXT*(drmFormatModifier: uint64, drmFormatModifierPlaneCount: uint32, drmFormatModifierTilingFeatures: VkFormatFeatureFlags): VkDrmFormatModifierPropertiesEXT = - result.drmFormatModifier = drmFormatModifier - result.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount - result.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures +proc newVkBufferCollectionCreateInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, collectionToken: zx_handle_t): VkBufferCollectionCreateInfoFUCHSIA = + result.sType = sType + result.pNext = pNext + result.collectionToken = collectionToken -proc newVkPhysicalDeviceImageDrmFormatModifierInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64, sharingMode: VkSharingMode, queueFamilyIndexCount: uint32, pQueueFamilyIndices: ptr uint32): VkPhysicalDeviceImageDrmFormatModifierInfoEXT = +proc newVkBufferCollectionPropertiesFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, memoryTypeBits: uint32, bufferCount: uint32, createInfoIndex: uint32, sysmemPixelFormat: uint64, formatFeatures: VkFormatFeatureFlags, sysmemColorSpaceIndex: VkSysmemColorSpaceFUCHSIA, samplerYcbcrConversionComponents: VkComponentMapping, suggestedYcbcrModel: VkSamplerYcbcrModelConversion, suggestedYcbcrRange: VkSamplerYcbcrRange, suggestedXChromaOffset: VkChromaLocation, suggestedYChromaOffset: VkChromaLocation): VkBufferCollectionPropertiesFUCHSIA = result.sType = sType result.pNext = pNext - result.drmFormatModifier = drmFormatModifier - result.sharingMode = sharingMode - result.queueFamilyIndexCount = queueFamilyIndexCount - result.pQueueFamilyIndices = pQueueFamilyIndices + result.memoryTypeBits = memoryTypeBits + result.bufferCount = bufferCount + result.createInfoIndex = createInfoIndex + result.sysmemPixelFormat = sysmemPixelFormat + result.formatFeatures = formatFeatures + result.sysmemColorSpaceIndex = sysmemColorSpaceIndex + result.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents + result.suggestedYcbcrModel = suggestedYcbcrModel + result.suggestedYcbcrRange = suggestedYcbcrRange + result.suggestedXChromaOffset = suggestedXChromaOffset + result.suggestedYChromaOffset = suggestedYChromaOffset -proc newVkImageDrmFormatModifierListCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifierCount: uint32, pDrmFormatModifiers: ptr uint64): VkImageDrmFormatModifierListCreateInfoEXT = +proc newVkBufferConstraintsInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, createInfo: VkBufferCreateInfo, requiredFormatFeatures: VkFormatFeatureFlags, bufferCollectionConstraints: VkBufferCollectionConstraintsInfoFUCHSIA): VkBufferConstraintsInfoFUCHSIA = result.sType = sType result.pNext = pNext - result.drmFormatModifierCount = drmFormatModifierCount - result.pDrmFormatModifiers = pDrmFormatModifiers + result.createInfo = createInfo + result.requiredFormatFeatures = requiredFormatFeatures + result.bufferCollectionConstraints = bufferCollectionConstraints -proc newVkImageDrmFormatModifierExplicitCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64, drmFormatModifierPlaneCount: uint32, pPlaneLayouts: ptr VkSubresourceLayout): VkImageDrmFormatModifierExplicitCreateInfoEXT = +proc newVkSysmemColorSpaceFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, colorSpace: uint32): VkSysmemColorSpaceFUCHSIA = result.sType = sType result.pNext = pNext - result.drmFormatModifier = drmFormatModifier - result.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount - result.pPlaneLayouts = pPlaneLayouts + result.colorSpace = colorSpace -proc newVkImageDrmFormatModifierPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifier: uint64): VkImageDrmFormatModifierPropertiesEXT = +proc newVkImageFormatConstraintsInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, imageCreateInfo: VkImageCreateInfo, requiredFormatFeatures: VkFormatFeatureFlags, flags: VkImageFormatConstraintsFlagsFUCHSIA = 0.VkImageFormatConstraintsFlagsFUCHSIA, sysmemPixelFormat: uint64, colorSpaceCount: uint32, pColorSpaces: ptr VkSysmemColorSpaceFUCHSIA): VkImageFormatConstraintsInfoFUCHSIA = result.sType = sType result.pNext = pNext - result.drmFormatModifier = drmFormatModifier + result.imageCreateInfo = imageCreateInfo + result.requiredFormatFeatures = requiredFormatFeatures + result.flags = flags + result.sysmemPixelFormat = sysmemPixelFormat + result.colorSpaceCount = colorSpaceCount + result.pColorSpaces = pColorSpaces -proc newVkImageStencilUsageCreateInfo*(sType: VkStructureType, pNext: pointer = nil, stencilUsage: VkImageUsageFlags): VkImageStencilUsageCreateInfo = +proc newVkImageConstraintsInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, formatConstraintsCount: uint32, pFormatConstraints: ptr VkImageFormatConstraintsInfoFUCHSIA, bufferCollectionConstraints: VkBufferCollectionConstraintsInfoFUCHSIA, flags: VkImageConstraintsInfoFlagsFUCHSIA = 0.VkImageConstraintsInfoFlagsFUCHSIA): VkImageConstraintsInfoFUCHSIA = result.sType = sType result.pNext = pNext - result.stencilUsage = stencilUsage + result.formatConstraintsCount = formatConstraintsCount + result.pFormatConstraints = pFormatConstraints + result.bufferCollectionConstraints = bufferCollectionConstraints + result.flags = flags -proc newVkDeviceMemoryOverallocationCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, overallocationBehavior: VkMemoryOverallocationBehaviorAMD): VkDeviceMemoryOverallocationCreateInfoAMD = +proc newVkBufferCollectionConstraintsInfoFUCHSIA*(sType: VkStructureType, pNext: pointer = nil, minBufferCount: uint32, maxBufferCount: uint32, minBufferCountForCamping: uint32, minBufferCountForDedicatedSlack: uint32, minBufferCountForSharedSlack: uint32): VkBufferCollectionConstraintsInfoFUCHSIA = result.sType = sType result.pNext = pNext - result.overallocationBehavior = overallocationBehavior + result.minBufferCount = minBufferCount + result.maxBufferCount = maxBufferCount + result.minBufferCountForCamping = minBufferCountForCamping + result.minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack + result.minBufferCountForSharedSlack = minBufferCountForSharedSlack -proc newVkPhysicalDeviceFragmentDensityMapFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMap: VkBool32, fragmentDensityMapDynamic: VkBool32, fragmentDensityMapNonSubsampledImages: VkBool32): VkPhysicalDeviceFragmentDensityMapFeaturesEXT = +proc newVkPhysicalDeviceRGBA10X6FormatsFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, formatRgba10x6WithoutYCbCrSampler: VkBool32): VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT = result.sType = sType result.pNext = pNext - result.fragmentDensityMap = fragmentDensityMap - result.fragmentDensityMapDynamic = fragmentDensityMapDynamic - result.fragmentDensityMapNonSubsampledImages = fragmentDensityMapNonSubsampledImages + result.formatRgba10x6WithoutYCbCrSampler = formatRgba10x6WithoutYCbCrSampler -proc newVkPhysicalDeviceFragmentDensityMap2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMapDeferred: VkBool32): VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = +proc newVkFormatProperties3*(sType: VkStructureType, pNext: pointer = nil, linearTilingFeatures: VkFormatFeatureFlags2, optimalTilingFeatures: VkFormatFeatureFlags2, bufferFeatures: VkFormatFeatureFlags2): VkFormatProperties3 = result.sType = sType result.pNext = pNext - result.fragmentDensityMapDeferred = fragmentDensityMapDeferred + result.linearTilingFeatures = linearTilingFeatures + result.optimalTilingFeatures = optimalTilingFeatures + result.bufferFeatures = bufferFeatures -proc newVkPhysicalDeviceFragmentDensityMapPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, minFragmentDensityTexelSize: VkExtent2D, maxFragmentDensityTexelSize: VkExtent2D, fragmentDensityInvocations: VkBool32): VkPhysicalDeviceFragmentDensityMapPropertiesEXT = +proc newVkDrmFormatModifierPropertiesList2EXT*(sType: VkStructureType, pNext: pointer = nil, drmFormatModifierCount: uint32, pDrmFormatModifierProperties: ptr VkDrmFormatModifierProperties2EXT): VkDrmFormatModifierPropertiesList2EXT = result.sType = sType result.pNext = pNext - result.minFragmentDensityTexelSize = minFragmentDensityTexelSize - result.maxFragmentDensityTexelSize = maxFragmentDensityTexelSize - result.fragmentDensityInvocations = fragmentDensityInvocations + result.drmFormatModifierCount = drmFormatModifierCount + result.pDrmFormatModifierProperties = pDrmFormatModifierProperties -proc newVkPhysicalDeviceFragmentDensityMap2PropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, subsampledLoads: VkBool32, subsampledCoarseReconstructionEarlyAccess: VkBool32, maxSubsampledArrayLayers: uint32, maxDescriptorSetSubsampledSamplers: uint32): VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = +proc newVkDrmFormatModifierProperties2EXT*(drmFormatModifier: uint64, drmFormatModifierPlaneCount: uint32, drmFormatModifierTilingFeatures: VkFormatFeatureFlags2): VkDrmFormatModifierProperties2EXT = + result.drmFormatModifier = drmFormatModifier + result.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount + result.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures + +proc newVkAndroidHardwareBufferFormatProperties2ANDROID*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, externalFormat: uint64, formatFeatures: VkFormatFeatureFlags2, samplerYcbcrConversionComponents: VkComponentMapping, suggestedYcbcrModel: VkSamplerYcbcrModelConversion, suggestedYcbcrRange: VkSamplerYcbcrRange, suggestedXChromaOffset: VkChromaLocation, suggestedYChromaOffset: VkChromaLocation): VkAndroidHardwareBufferFormatProperties2ANDROID = result.sType = sType result.pNext = pNext - result.subsampledLoads = subsampledLoads - result.subsampledCoarseReconstructionEarlyAccess = subsampledCoarseReconstructionEarlyAccess - result.maxSubsampledArrayLayers = maxSubsampledArrayLayers - result.maxDescriptorSetSubsampledSamplers = maxDescriptorSetSubsampledSamplers + result.format = format + result.externalFormat = externalFormat + result.formatFeatures = formatFeatures + result.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents + result.suggestedYcbcrModel = suggestedYcbcrModel + result.suggestedYcbcrRange = suggestedYcbcrRange + result.suggestedXChromaOffset = suggestedXChromaOffset + result.suggestedYChromaOffset = suggestedYChromaOffset -proc newVkRenderPassFragmentDensityMapCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentDensityMapAttachment: VkAttachmentReference): VkRenderPassFragmentDensityMapCreateInfoEXT = +proc newVkPipelineRenderingCreateInfo*(sType: VkStructureType, pNext: pointer = nil, viewMask: uint32, colorAttachmentCount: uint32, pColorAttachmentFormats: ptr VkFormat, depthAttachmentFormat: VkFormat, stencilAttachmentFormat: VkFormat): VkPipelineRenderingCreateInfo = result.sType = sType result.pNext = pNext - result.fragmentDensityMapAttachment = fragmentDensityMapAttachment + result.viewMask = viewMask + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachmentFormats = pColorAttachmentFormats + result.depthAttachmentFormat = depthAttachmentFormat + result.stencilAttachmentFormat = stencilAttachmentFormat -proc newVkPhysicalDeviceScalarBlockLayoutFeatures*(sType: VkStructureType, pNext: pointer = nil, scalarBlockLayout: VkBool32): VkPhysicalDeviceScalarBlockLayoutFeatures = +proc newVkRenderingInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkRenderingFlags = 0.VkRenderingFlags, renderArea: VkRect2D, layerCount: uint32, viewMask: uint32, colorAttachmentCount: uint32, pColorAttachments: ptr VkRenderingAttachmentInfo, pDepthAttachment: ptr VkRenderingAttachmentInfo, pStencilAttachment: ptr VkRenderingAttachmentInfo): VkRenderingInfo = result.sType = sType result.pNext = pNext - result.scalarBlockLayout = scalarBlockLayout + result.flags = flags + result.renderArea = renderArea + result.layerCount = layerCount + result.viewMask = viewMask + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachments = pColorAttachments + result.pDepthAttachment = pDepthAttachment + result.pStencilAttachment = pStencilAttachment -proc newVkSurfaceProtectedCapabilitiesKHR*(sType: VkStructureType, pNext: pointer = nil, supportsProtected: VkBool32): VkSurfaceProtectedCapabilitiesKHR = +proc newVkRenderingAttachmentInfo*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView, imageLayout: VkImageLayout, resolveMode: VkResolveModeFlagBits, resolveImageView: VkImageView, resolveImageLayout: VkImageLayout, loadOp: VkAttachmentLoadOp, storeOp: VkAttachmentStoreOp, clearValue: VkClearValue): VkRenderingAttachmentInfo = result.sType = sType result.pNext = pNext - result.supportsProtected = supportsProtected + result.imageView = imageView + result.imageLayout = imageLayout + result.resolveMode = resolveMode + result.resolveImageView = resolveImageView + result.resolveImageLayout = resolveImageLayout + result.loadOp = loadOp + result.storeOp = storeOp + result.clearValue = clearValue -proc newVkPhysicalDeviceUniformBufferStandardLayoutFeatures*(sType: VkStructureType, pNext: pointer = nil, uniformBufferStandardLayout: VkBool32): VkPhysicalDeviceUniformBufferStandardLayoutFeatures = +proc newVkRenderingFragmentShadingRateAttachmentInfoKHR*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView, imageLayout: VkImageLayout, shadingRateAttachmentTexelSize: VkExtent2D): VkRenderingFragmentShadingRateAttachmentInfoKHR = result.sType = sType result.pNext = pNext - result.uniformBufferStandardLayout = uniformBufferStandardLayout + result.imageView = imageView + result.imageLayout = imageLayout + result.shadingRateAttachmentTexelSize = shadingRateAttachmentTexelSize -proc newVkPhysicalDeviceDepthClipEnableFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, depthClipEnable: VkBool32): VkPhysicalDeviceDepthClipEnableFeaturesEXT = +proc newVkRenderingFragmentDensityMapAttachmentInfoEXT*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView, imageLayout: VkImageLayout): VkRenderingFragmentDensityMapAttachmentInfoEXT = result.sType = sType result.pNext = pNext - result.depthClipEnable = depthClipEnable + result.imageView = imageView + result.imageLayout = imageLayout -proc newVkPipelineRasterizationDepthClipStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT = 0.VkPipelineRasterizationDepthClipStateCreateFlagsEXT, depthClipEnable: VkBool32): VkPipelineRasterizationDepthClipStateCreateInfoEXT = +proc newVkPhysicalDeviceDynamicRenderingFeatures*(sType: VkStructureType, pNext: pointer = nil, dynamicRendering: VkBool32): VkPhysicalDeviceDynamicRenderingFeatures = + result.sType = sType + result.pNext = pNext + result.dynamicRendering = dynamicRendering + +proc newVkCommandBufferInheritanceRenderingInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkRenderingFlags = 0.VkRenderingFlags, viewMask: uint32, colorAttachmentCount: uint32, colorAttachmentCount: uint32, pColorAttachmentFormats: ptr VkFormat, depthAttachmentFormat: VkFormat, stencilAttachmentFormat: VkFormat, rasterizationSamples: VkSampleCountFlagBits): VkCommandBufferInheritanceRenderingInfo = result.sType = sType result.pNext = pNext result.flags = flags - result.depthClipEnable = depthClipEnable + result.viewMask = viewMask + result.colorAttachmentCount = colorAttachmentCount + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachmentFormats = pColorAttachmentFormats + result.depthAttachmentFormat = depthAttachmentFormat + result.stencilAttachmentFormat = stencilAttachmentFormat + result.rasterizationSamples = rasterizationSamples -proc newVkPhysicalDeviceMemoryBudgetPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, heapBudget: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize], heapUsage: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]): VkPhysicalDeviceMemoryBudgetPropertiesEXT = +proc newVkAttachmentSampleCountInfoAMD*(sType: VkStructureType, pNext: pointer = nil, colorAttachmentCount: uint32, pColorAttachmentSamples: ptr VkSampleCountFlagBits, depthStencilAttachmentSamples: VkSampleCountFlagBits): VkAttachmentSampleCountInfoAMD = result.sType = sType result.pNext = pNext - result.heapBudget = heapBudget - result.heapUsage = heapUsage + result.colorAttachmentCount = colorAttachmentCount + result.pColorAttachmentSamples = pColorAttachmentSamples + result.depthStencilAttachmentSamples = depthStencilAttachmentSamples -proc newVkPhysicalDeviceMemoryPriorityFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, memoryPriority: VkBool32): VkPhysicalDeviceMemoryPriorityFeaturesEXT = +proc newVkMultiviewPerViewAttributesInfoNVX*(sType: VkStructureType, pNext: pointer = nil, perViewAttributes: VkBool32, perViewAttributesPositionXOnly: VkBool32): VkMultiviewPerViewAttributesInfoNVX = result.sType = sType result.pNext = pNext - result.memoryPriority = memoryPriority + result.perViewAttributes = perViewAttributes + result.perViewAttributesPositionXOnly = perViewAttributesPositionXOnly -proc newVkMemoryPriorityAllocateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, priority: float32): VkMemoryPriorityAllocateInfoEXT = +proc newVkPhysicalDeviceImageViewMinLodFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, minLod: VkBool32): VkPhysicalDeviceImageViewMinLodFeaturesEXT = result.sType = sType result.pNext = pNext - result.priority = priority + result.minLod = minLod -proc newVkPhysicalDeviceBufferDeviceAddressFeatures*(sType: VkStructureType, pNext: pointer = nil, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeatures = +proc newVkImageViewMinLodCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, minLod: float32): VkImageViewMinLodCreateInfoEXT = result.sType = sType result.pNext = pNext - result.bufferDeviceAddress = bufferDeviceAddress - result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay - result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice + result.minLod = minLod -proc newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = +proc newVkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, rasterizationOrderColorAttachmentAccess: VkBool32, rasterizationOrderDepthAttachmentAccess: VkBool32, rasterizationOrderStencilAttachmentAccess: VkBool32): VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = result.sType = sType result.pNext = pNext - result.bufferDeviceAddress = bufferDeviceAddress - result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay - result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice + result.rasterizationOrderColorAttachmentAccess = rasterizationOrderColorAttachmentAccess + result.rasterizationOrderDepthAttachmentAccess = rasterizationOrderDepthAttachmentAccess + result.rasterizationOrderStencilAttachmentAccess = rasterizationOrderStencilAttachmentAccess -proc newVkBufferDeviceAddressInfo*(sType: VkStructureType, pNext: pointer = nil, buffer: VkBuffer): VkBufferDeviceAddressInfo = +proc newVkPhysicalDeviceLinearColorAttachmentFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, linearColorAttachment: VkBool32): VkPhysicalDeviceLinearColorAttachmentFeaturesNV = result.sType = sType result.pNext = pNext - result.buffer = buffer + result.linearColorAttachment = linearColorAttachment -proc newVkBufferOpaqueCaptureAddressCreateInfo*(sType: VkStructureType, pNext: pointer = nil, opaqueCaptureAddress: uint64): VkBufferOpaqueCaptureAddressCreateInfo = +proc newVkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, graphicsPipelineLibrary: VkBool32): VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = result.sType = sType result.pNext = pNext - result.opaqueCaptureAddress = opaqueCaptureAddress + result.graphicsPipelineLibrary = graphicsPipelineLibrary -proc newVkBufferDeviceAddressCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, deviceAddress: VkDeviceAddress): VkBufferDeviceAddressCreateInfoEXT = +proc newVkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, graphicsPipelineLibraryFastLinking: VkBool32, graphicsPipelineLibraryIndependentInterpolationDecoration: VkBool32): VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = result.sType = sType result.pNext = pNext - result.deviceAddress = deviceAddress + result.graphicsPipelineLibraryFastLinking = graphicsPipelineLibraryFastLinking + result.graphicsPipelineLibraryIndependentInterpolationDecoration = graphicsPipelineLibraryIndependentInterpolationDecoration -proc newVkPhysicalDeviceImageViewImageFormatInfoEXT*(sType: VkStructureType, pNext: pointer = nil, imageViewType: VkImageViewType): VkPhysicalDeviceImageViewImageFormatInfoEXT = +proc newVkGraphicsPipelineLibraryCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkGraphicsPipelineLibraryFlagsEXT = 0.VkGraphicsPipelineLibraryFlagsEXT): VkGraphicsPipelineLibraryCreateInfoEXT = result.sType = sType result.pNext = pNext - result.imageViewType = imageViewType + result.flags = flags -proc newVkFilterCubicImageViewImageFormatPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, filterCubic: VkBool32, filterCubicMinmax: VkBool32): VkFilterCubicImageViewImageFormatPropertiesEXT = +proc newVkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*(sType: VkStructureType, pNext: pointer = nil, descriptorSetHostMapping: VkBool32): VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = result.sType = sType result.pNext = pNext - result.filterCubic = filterCubic - result.filterCubicMinmax = filterCubicMinmax + result.descriptorSetHostMapping = descriptorSetHostMapping -proc newVkPhysicalDeviceImagelessFramebufferFeatures*(sType: VkStructureType, pNext: pointer = nil, imagelessFramebuffer: VkBool32): VkPhysicalDeviceImagelessFramebufferFeatures = +proc newVkDescriptorSetBindingReferenceVALVE*(sType: VkStructureType, pNext: pointer = nil, descriptorSetLayout: VkDescriptorSetLayout, binding: uint32): VkDescriptorSetBindingReferenceVALVE = result.sType = sType result.pNext = pNext - result.imagelessFramebuffer = imagelessFramebuffer + result.descriptorSetLayout = descriptorSetLayout + result.binding = binding -proc newVkFramebufferAttachmentsCreateInfo*(sType: VkStructureType, pNext: pointer = nil, attachmentImageInfoCount: uint32, pAttachmentImageInfos: ptr VkFramebufferAttachmentImageInfo): VkFramebufferAttachmentsCreateInfo = +proc newVkDescriptorSetLayoutHostMappingInfoVALVE*(sType: VkStructureType, pNext: pointer = nil, descriptorOffset: uint, descriptorSize: uint32): VkDescriptorSetLayoutHostMappingInfoVALVE = result.sType = sType result.pNext = pNext - result.attachmentImageInfoCount = attachmentImageInfoCount - result.pAttachmentImageInfos = pAttachmentImageInfos + result.descriptorOffset = descriptorOffset + result.descriptorSize = descriptorSize -proc newVkFramebufferAttachmentImageInfo*(sType: VkStructureType, pNext: pointer = nil, flags: VkImageCreateFlags = 0.VkImageCreateFlags, usage: VkImageUsageFlags, width: uint32, height: uint32, layerCount: uint32, viewFormatCount: uint32, pViewFormats: ptr VkFormat): VkFramebufferAttachmentImageInfo = +proc newVkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderModuleIdentifier: VkBool32): VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.usage = usage - result.width = width - result.height = height - result.layerCount = layerCount - result.viewFormatCount = viewFormatCount - result.pViewFormats = pViewFormats + result.shaderModuleIdentifier = shaderModuleIdentifier -proc newVkRenderPassAttachmentBeginInfo*(sType: VkStructureType, pNext: pointer = nil, attachmentCount: uint32, pAttachments: ptr VkImageView): VkRenderPassAttachmentBeginInfo = +proc newVkPhysicalDeviceShaderModuleIdentifierPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderModuleIdentifierAlgorithmUUID: array[VK_UUID_SIZE, uint8]): VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT = result.sType = sType result.pNext = pNext - result.attachmentCount = attachmentCount - result.pAttachments = pAttachments + result.shaderModuleIdentifierAlgorithmUUID = shaderModuleIdentifierAlgorithmUUID -proc newVkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, textureCompressionASTC_HDR: VkBool32): VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = +proc newVkPipelineShaderStageModuleIdentifierCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, identifierSize: uint32, pIdentifier: ptr uint8): VkPipelineShaderStageModuleIdentifierCreateInfoEXT = result.sType = sType result.pNext = pNext - result.textureCompressionASTC_HDR = textureCompressionASTC_HDR + result.identifierSize = identifierSize + result.pIdentifier = pIdentifier -proc newVkPhysicalDeviceCooperativeMatrixFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, cooperativeMatrix: VkBool32, cooperativeMatrixRobustBufferAccess: VkBool32): VkPhysicalDeviceCooperativeMatrixFeaturesNV = +proc newVkShaderModuleIdentifierEXT*(sType: VkStructureType, pNext: pointer = nil, identifierSize: uint32, identifier: array[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT, uint8]): VkShaderModuleIdentifierEXT = result.sType = sType result.pNext = pNext - result.cooperativeMatrix = cooperativeMatrix - result.cooperativeMatrixRobustBufferAccess = cooperativeMatrixRobustBufferAccess + result.identifierSize = identifierSize + result.identifier = identifier -proc newVkPhysicalDeviceCooperativeMatrixPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, cooperativeMatrixSupportedStages: VkShaderStageFlags): VkPhysicalDeviceCooperativeMatrixPropertiesNV = +proc newVkImageCompressionControlEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkImageCompressionFlagsEXT = 0.VkImageCompressionFlagsEXT, compressionControlPlaneCount: uint32, pFixedRateFlags: ptr VkImageCompressionFixedRateFlagsEXT): VkImageCompressionControlEXT = result.sType = sType result.pNext = pNext - result.cooperativeMatrixSupportedStages = cooperativeMatrixSupportedStages + result.flags = flags + result.compressionControlPlaneCount = compressionControlPlaneCount + result.pFixedRateFlags = pFixedRateFlags -proc newVkCooperativeMatrixPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, MSize: uint32, NSize: uint32, KSize: uint32, AType: VkComponentTypeNV, BType: VkComponentTypeNV, CType: VkComponentTypeNV, DType: VkComponentTypeNV, scope: VkScopeNV): VkCooperativeMatrixPropertiesNV = +proc newVkPhysicalDeviceImageCompressionControlFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, imageCompressionControl: VkBool32): VkPhysicalDeviceImageCompressionControlFeaturesEXT = result.sType = sType result.pNext = pNext - result.MSize = MSize - result.NSize = NSize - result.KSize = KSize - result.AType = AType - result.BType = BType - result.CType = CType - result.DType = DType - result.scope = scope + result.imageCompressionControl = imageCompressionControl -proc newVkPhysicalDeviceYcbcrImageArraysFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, ycbcrImageArrays: VkBool32): VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = +proc newVkImageCompressionPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, imageCompressionFlags: VkImageCompressionFlagsEXT, imageCompressionFixedRateFlags: VkImageCompressionFixedRateFlagsEXT): VkImageCompressionPropertiesEXT = result.sType = sType result.pNext = pNext - result.ycbcrImageArrays = ycbcrImageArrays + result.imageCompressionFlags = imageCompressionFlags + result.imageCompressionFixedRateFlags = imageCompressionFixedRateFlags -proc newVkImageViewHandleInfoNVX*(sType: VkStructureType, pNext: pointer = nil, imageView: VkImageView, descriptorType: VkDescriptorType, sampler: VkSampler): VkImageViewHandleInfoNVX = +proc newVkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, imageCompressionControlSwapchain: VkBool32): VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = result.sType = sType result.pNext = pNext - result.imageView = imageView - result.descriptorType = descriptorType - result.sampler = sampler + result.imageCompressionControlSwapchain = imageCompressionControlSwapchain -proc newVkImageViewAddressPropertiesNVX*(sType: VkStructureType, pNext: pointer = nil, deviceAddress: VkDeviceAddress, size: VkDeviceSize): VkImageViewAddressPropertiesNVX = +proc newVkImageSubresource2EXT*(sType: VkStructureType, pNext: pointer = nil, imageSubresource: VkImageSubresource): VkImageSubresource2EXT = result.sType = sType result.pNext = pNext - result.deviceAddress = deviceAddress - result.size = size + result.imageSubresource = imageSubresource -proc newVkPresentFrameTokenGGP*(sType: VkStructureType, pNext: pointer = nil, frameToken: GgpFrameToken): VkPresentFrameTokenGGP = +proc newVkSubresourceLayout2EXT*(sType: VkStructureType, pNext: pointer = nil, subresourceLayout: VkSubresourceLayout): VkSubresourceLayout2EXT = result.sType = sType result.pNext = pNext - result.frameToken = frameToken + result.subresourceLayout = subresourceLayout -proc newVkPipelineCreationFeedbackEXT*(flags: VkPipelineCreationFeedbackFlagsEXT = 0.VkPipelineCreationFeedbackFlagsEXT, duration: uint64): VkPipelineCreationFeedbackEXT = - result.flags = flags - result.duration = duration +proc newVkRenderPassCreationControlEXT*(sType: VkStructureType, pNext: pointer = nil, disallowMerging: VkBool32): VkRenderPassCreationControlEXT = + result.sType = sType + result.pNext = pNext + result.disallowMerging = disallowMerging -proc newVkPipelineCreationFeedbackCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pPipelineCreationFeedback: ptr VkPipelineCreationFeedbackEXT, pipelineStageCreationFeedbackCount: uint32, pPipelineStageCreationFeedbacks: ptr ptr VkPipelineCreationFeedbackEXT): VkPipelineCreationFeedbackCreateInfoEXT = +proc newVkRenderPassCreationFeedbackInfoEXT*(postMergeSubpassCount: uint32): VkRenderPassCreationFeedbackInfoEXT = + result.postMergeSubpassCount = postMergeSubpassCount + +proc newVkRenderPassCreationFeedbackCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pRenderPassFeedback: ptr VkRenderPassCreationFeedbackInfoEXT): VkRenderPassCreationFeedbackCreateInfoEXT = result.sType = sType result.pNext = pNext - result.pPipelineCreationFeedback = pPipelineCreationFeedback - result.pipelineStageCreationFeedbackCount = pipelineStageCreationFeedbackCount - result.pPipelineStageCreationFeedbacks = pPipelineStageCreationFeedbacks + result.pRenderPassFeedback = pRenderPassFeedback -proc newVkSurfaceFullScreenExclusiveInfoEXT*(sType: VkStructureType, pNext: pointer = nil, fullScreenExclusive: VkFullScreenExclusiveEXT): VkSurfaceFullScreenExclusiveInfoEXT = +proc newVkRenderPassSubpassFeedbackInfoEXT*(subpassMergeStatus: VkSubpassMergeStatusEXT, description: array[VK_MAX_DESCRIPTION_SIZE, char], postMergeIndex: uint32): VkRenderPassSubpassFeedbackInfoEXT = + result.subpassMergeStatus = subpassMergeStatus + result.description = description + result.postMergeIndex = postMergeIndex + +proc newVkRenderPassSubpassFeedbackCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pSubpassFeedback: ptr VkRenderPassSubpassFeedbackInfoEXT): VkRenderPassSubpassFeedbackCreateInfoEXT = result.sType = sType result.pNext = pNext - result.fullScreenExclusive = fullScreenExclusive + result.pSubpassFeedback = pSubpassFeedback -proc newVkSurfaceFullScreenExclusiveWin32InfoEXT*(sType: VkStructureType, pNext: pointer = nil, hmonitor: HMONITOR): VkSurfaceFullScreenExclusiveWin32InfoEXT = +proc newVkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, subpassMergeFeedback: VkBool32): VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT = result.sType = sType result.pNext = pNext - result.hmonitor = hmonitor + result.subpassMergeFeedback = subpassMergeFeedback -proc newVkSurfaceCapabilitiesFullScreenExclusiveEXT*(sType: VkStructureType, pNext: pointer = nil, fullScreenExclusiveSupported: VkBool32): VkSurfaceCapabilitiesFullScreenExclusiveEXT = +proc newVkMicromapBuildInfoEXT*(sType: VkStructureType, pNext: pointer = nil, `type`: VkMicromapTypeEXT, flags: VkBuildMicromapFlagsEXT = 0.VkBuildMicromapFlagsEXT, mode: VkBuildMicromapModeEXT, dstMicromap: VkMicromapEXT, usageCountsCount: uint32, pUsageCounts: ptr VkMicromapUsageEXT, ppUsageCounts: ptr ptr VkMicromapUsageEXT, data: VkDeviceOrHostAddressConstKHR, scratchData: VkDeviceOrHostAddressKHR, triangleArray: VkDeviceOrHostAddressConstKHR, triangleArrayStride: VkDeviceSize): VkMicromapBuildInfoEXT = result.sType = sType result.pNext = pNext - result.fullScreenExclusiveSupported = fullScreenExclusiveSupported + result.`type` = `type` + result.flags = flags + result.mode = mode + result.dstMicromap = dstMicromap + result.usageCountsCount = usageCountsCount + result.pUsageCounts = pUsageCounts + result.ppUsageCounts = ppUsageCounts + result.data = data + result.scratchData = scratchData + result.triangleArray = triangleArray + result.triangleArrayStride = triangleArrayStride -proc newVkPhysicalDevicePerformanceQueryFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, performanceCounterQueryPools: VkBool32, performanceCounterMultipleQueryPools: VkBool32): VkPhysicalDevicePerformanceQueryFeaturesKHR = +proc newVkMicromapCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, createFlags: VkMicromapCreateFlagsEXT, buffer: VkBuffer, offset: VkDeviceSize, size: VkDeviceSize, `type`: VkMicromapTypeEXT, deviceAddress: VkDeviceAddress): VkMicromapCreateInfoEXT = result.sType = sType result.pNext = pNext - result.performanceCounterQueryPools = performanceCounterQueryPools - result.performanceCounterMultipleQueryPools = performanceCounterMultipleQueryPools + result.createFlags = createFlags + result.buffer = buffer + result.offset = offset + result.size = size + result.`type` = `type` + result.deviceAddress = deviceAddress -proc newVkPhysicalDevicePerformanceQueryPropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, allowCommandBufferQueryCopies: VkBool32): VkPhysicalDevicePerformanceQueryPropertiesKHR = +proc newVkMicromapVersionInfoEXT*(sType: VkStructureType, pNext: pointer = nil, pVersionData: ptr uint8): VkMicromapVersionInfoEXT = result.sType = sType result.pNext = pNext - result.allowCommandBufferQueryCopies = allowCommandBufferQueryCopies + result.pVersionData = pVersionData -proc newVkPerformanceCounterKHR*(sType: VkStructureType, pNext: pointer = nil, unit: VkPerformanceCounterUnitKHR, scope: VkPerformanceCounterScopeKHR, storage: VkPerformanceCounterStorageKHR, uuid: array[VK_UUID_SIZE, uint8]): VkPerformanceCounterKHR = +proc newVkCopyMicromapInfoEXT*(sType: VkStructureType, pNext: pointer = nil, src: VkMicromapEXT, dst: VkMicromapEXT, mode: VkCopyMicromapModeEXT): VkCopyMicromapInfoEXT = result.sType = sType result.pNext = pNext - result.unit = unit - result.scope = scope - result.storage = storage - result.uuid = uuid + result.src = src + result.dst = dst + result.mode = mode -proc newVkPerformanceCounterDescriptionKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkPerformanceCounterDescriptionFlagsKHR = 0.VkPerformanceCounterDescriptionFlagsKHR, name: array[VK_MAX_DESCRIPTION_SIZE, char], category: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkPerformanceCounterDescriptionKHR = +proc newVkCopyMicromapToMemoryInfoEXT*(sType: VkStructureType, pNext: pointer = nil, src: VkMicromapEXT, dst: VkDeviceOrHostAddressKHR, mode: VkCopyMicromapModeEXT): VkCopyMicromapToMemoryInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.name = name - result.category = category - result.description = description + result.src = src + result.dst = dst + result.mode = mode -proc newVkQueryPoolPerformanceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, queueFamilyIndex: uint32, counterIndexCount: uint32, pCounterIndices: ptr uint32): VkQueryPoolPerformanceCreateInfoKHR = +proc newVkCopyMemoryToMicromapInfoEXT*(sType: VkStructureType, pNext: pointer = nil, src: VkDeviceOrHostAddressConstKHR, dst: VkMicromapEXT, mode: VkCopyMicromapModeEXT): VkCopyMemoryToMicromapInfoEXT = result.sType = sType result.pNext = pNext - result.queueFamilyIndex = queueFamilyIndex - result.counterIndexCount = counterIndexCount - result.pCounterIndices = pCounterIndices + result.src = src + result.dst = dst + result.mode = mode -proc newVkAcquireProfilingLockInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkAcquireProfilingLockFlagsKHR = 0.VkAcquireProfilingLockFlagsKHR, timeout: uint64): VkAcquireProfilingLockInfoKHR = +proc newVkMicromapBuildSizesInfoEXT*(sType: VkStructureType, pNext: pointer = nil, micromapSize: VkDeviceSize, buildScratchSize: VkDeviceSize, discardable: VkBool32): VkMicromapBuildSizesInfoEXT = result.sType = sType result.pNext = pNext - result.flags = flags - result.timeout = timeout + result.micromapSize = micromapSize + result.buildScratchSize = buildScratchSize + result.discardable = discardable + +proc newVkMicromapUsageEXT*(count: uint32, subdivisionLevel: uint32, format: uint32): VkMicromapUsageEXT = + result.count = count + result.subdivisionLevel = subdivisionLevel + result.format = format + +proc newVkMicromapTriangleEXT*(dataOffset: uint32, subdivisionLevel: uint16, format: uint16): VkMicromapTriangleEXT = + result.dataOffset = dataOffset + result.subdivisionLevel = subdivisionLevel + result.format = format -proc newVkPerformanceQuerySubmitInfoKHR*(sType: VkStructureType, pNext: pointer = nil, counterPassIndex: uint32): VkPerformanceQuerySubmitInfoKHR = +proc newVkPhysicalDeviceOpacityMicromapFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, micromap: VkBool32, micromapCaptureReplay: VkBool32, micromapHostCommands: VkBool32): VkPhysicalDeviceOpacityMicromapFeaturesEXT = result.sType = sType result.pNext = pNext - result.counterPassIndex = counterPassIndex + result.micromap = micromap + result.micromapCaptureReplay = micromapCaptureReplay + result.micromapHostCommands = micromapHostCommands -proc newVkHeadlessSurfaceCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkHeadlessSurfaceCreateFlagsEXT = 0.VkHeadlessSurfaceCreateFlagsEXT): VkHeadlessSurfaceCreateInfoEXT = +proc newVkPhysicalDeviceOpacityMicromapPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxOpacity2StateSubdivisionLevel: uint32, maxOpacity4StateSubdivisionLevel: uint32): VkPhysicalDeviceOpacityMicromapPropertiesEXT = result.sType = sType result.pNext = pNext - result.flags = flags + result.maxOpacity2StateSubdivisionLevel = maxOpacity2StateSubdivisionLevel + result.maxOpacity4StateSubdivisionLevel = maxOpacity4StateSubdivisionLevel -proc newVkPhysicalDeviceCoverageReductionModeFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, coverageReductionMode: VkBool32): VkPhysicalDeviceCoverageReductionModeFeaturesNV = +proc newVkAccelerationStructureTrianglesOpacityMicromapEXT*(sType: VkStructureType, pNext: pointer = nil, indexType: VkIndexType, indexBuffer: VkDeviceOrHostAddressConstKHR, indexStride: VkDeviceSize, baseTriangle: uint32, usageCountsCount: uint32, pUsageCounts: ptr VkMicromapUsageEXT, ppUsageCounts: ptr ptr VkMicromapUsageEXT, micromap: VkMicromapEXT): VkAccelerationStructureTrianglesOpacityMicromapEXT = result.sType = sType result.pNext = pNext - result.coverageReductionMode = coverageReductionMode + result.indexType = indexType + result.indexBuffer = indexBuffer + result.indexStride = indexStride + result.baseTriangle = baseTriangle + result.usageCountsCount = usageCountsCount + result.pUsageCounts = pUsageCounts + result.ppUsageCounts = ppUsageCounts + result.micromap = micromap -proc newVkPipelineCoverageReductionStateCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkPipelineCoverageReductionStateCreateFlagsNV = 0.VkPipelineCoverageReductionStateCreateFlagsNV, coverageReductionMode: VkCoverageReductionModeNV): VkPipelineCoverageReductionStateCreateInfoNV = +proc newVkPhysicalDeviceDisplacementMicromapFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, displacementMicromap: VkBool32): VkPhysicalDeviceDisplacementMicromapFeaturesNV = result.sType = sType result.pNext = pNext - result.flags = flags - result.coverageReductionMode = coverageReductionMode + result.displacementMicromap = displacementMicromap -proc newVkFramebufferMixedSamplesCombinationNV*(sType: VkStructureType, pNext: pointer = nil, coverageReductionMode: VkCoverageReductionModeNV, rasterizationSamples: VkSampleCountFlagBits, depthStencilSamples: VkSampleCountFlags, colorSamples: VkSampleCountFlags): VkFramebufferMixedSamplesCombinationNV = +proc newVkPhysicalDeviceDisplacementMicromapPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, maxDisplacementMicromapSubdivisionLevel: uint32): VkPhysicalDeviceDisplacementMicromapPropertiesNV = result.sType = sType result.pNext = pNext - result.coverageReductionMode = coverageReductionMode - result.rasterizationSamples = rasterizationSamples - result.depthStencilSamples = depthStencilSamples - result.colorSamples = colorSamples + result.maxDisplacementMicromapSubdivisionLevel = maxDisplacementMicromapSubdivisionLevel -proc newVkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*(sType: VkStructureType, pNext: pointer = nil, shaderIntegerFunctions2: VkBool32): VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = +proc newVkAccelerationStructureTrianglesDisplacementMicromapNV*(sType: VkStructureType, pNext: pointer = nil, displacementBiasAndScaleFormat: VkFormat, displacementVectorFormat: VkFormat, displacementBiasAndScaleBuffer: VkDeviceOrHostAddressConstKHR, displacementBiasAndScaleStride: VkDeviceSize, displacementVectorBuffer: VkDeviceOrHostAddressConstKHR, displacementVectorStride: VkDeviceSize, displacedMicromapPrimitiveFlags: VkDeviceOrHostAddressConstKHR, displacedMicromapPrimitiveFlagsStride: VkDeviceSize, indexType: VkIndexType, indexBuffer: VkDeviceOrHostAddressConstKHR, indexStride: VkDeviceSize, baseTriangle: uint32, usageCountsCount: uint32, pUsageCounts: ptr VkMicromapUsageEXT, ppUsageCounts: ptr ptr VkMicromapUsageEXT, micromap: VkMicromapEXT): VkAccelerationStructureTrianglesDisplacementMicromapNV = result.sType = sType result.pNext = pNext - result.shaderIntegerFunctions2 = shaderIntegerFunctions2 - -proc newVkPerformanceValueINTEL*(`type`: VkPerformanceValueTypeINTEL, data: VkPerformanceValueDataINTEL): VkPerformanceValueINTEL = - result.`type` = `type` - result.data = data + result.displacementBiasAndScaleFormat = displacementBiasAndScaleFormat + result.displacementVectorFormat = displacementVectorFormat + result.displacementBiasAndScaleBuffer = displacementBiasAndScaleBuffer + result.displacementBiasAndScaleStride = displacementBiasAndScaleStride + result.displacementVectorBuffer = displacementVectorBuffer + result.displacementVectorStride = displacementVectorStride + result.displacedMicromapPrimitiveFlags = displacedMicromapPrimitiveFlags + result.displacedMicromapPrimitiveFlagsStride = displacedMicromapPrimitiveFlagsStride + result.indexType = indexType + result.indexBuffer = indexBuffer + result.indexStride = indexStride + result.baseTriangle = baseTriangle + result.usageCountsCount = usageCountsCount + result.pUsageCounts = pUsageCounts + result.ppUsageCounts = ppUsageCounts + result.micromap = micromap -proc newVkInitializePerformanceApiInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, pUserData: pointer = nil): VkInitializePerformanceApiInfoINTEL = +proc newVkPipelinePropertiesIdentifierEXT*(sType: VkStructureType, pNext: pointer = nil, pipelineIdentifier: array[VK_UUID_SIZE, uint8]): VkPipelinePropertiesIdentifierEXT = result.sType = sType result.pNext = pNext - result.pUserData = pUserData + result.pipelineIdentifier = pipelineIdentifier -proc newVkQueryPoolPerformanceQueryCreateInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, performanceCountersSampling: VkQueryPoolSamplingModeINTEL): VkQueryPoolPerformanceQueryCreateInfoINTEL = +proc newVkPhysicalDevicePipelinePropertiesFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pipelinePropertiesIdentifier: VkBool32): VkPhysicalDevicePipelinePropertiesFeaturesEXT = result.sType = sType result.pNext = pNext - result.performanceCountersSampling = performanceCountersSampling + result.pipelinePropertiesIdentifier = pipelinePropertiesIdentifier -proc newVkPerformanceMarkerInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, marker: uint64): VkPerformanceMarkerInfoINTEL = +proc newVkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*(sType: VkStructureType, pNext: pointer = nil, shaderEarlyAndLateFragmentTests: VkBool32): VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = result.sType = sType result.pNext = pNext - result.marker = marker + result.shaderEarlyAndLateFragmentTests = shaderEarlyAndLateFragmentTests -proc newVkPerformanceStreamMarkerInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, marker: uint32): VkPerformanceStreamMarkerInfoINTEL = +proc newVkExternalMemoryAcquireUnmodifiedEXT*(sType: VkStructureType, pNext: pointer = nil, acquireUnmodifiedMemory: VkBool32): VkExternalMemoryAcquireUnmodifiedEXT = result.sType = sType result.pNext = pNext - result.marker = marker + result.acquireUnmodifiedMemory = acquireUnmodifiedMemory -proc newVkPerformanceOverrideInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, `type`: VkPerformanceOverrideTypeINTEL, enable: VkBool32, parameter: uint64): VkPerformanceOverrideInfoINTEL = +proc newVkExportMetalObjectCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, exportObjectType: VkExportMetalObjectTypeFlagBitsEXT): VkExportMetalObjectCreateInfoEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.enable = enable - result.parameter = parameter + result.exportObjectType = exportObjectType -proc newVkPerformanceConfigurationAcquireInfoINTEL*(sType: VkStructureType, pNext: pointer = nil, `type`: VkPerformanceConfigurationTypeINTEL): VkPerformanceConfigurationAcquireInfoINTEL = +proc newVkExportMetalObjectsInfoEXT*(sType: VkStructureType, pNext: pointer = nil): VkExportMetalObjectsInfoEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` -proc newVkPhysicalDeviceShaderClockFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, shaderSubgroupClock: VkBool32, shaderDeviceClock: VkBool32): VkPhysicalDeviceShaderClockFeaturesKHR = +proc newVkExportMetalDeviceInfoEXT*(sType: VkStructureType, pNext: pointer = nil, mtlDevice: MTLDevice_id): VkExportMetalDeviceInfoEXT = result.sType = sType result.pNext = pNext - result.shaderSubgroupClock = shaderSubgroupClock - result.shaderDeviceClock = shaderDeviceClock + result.mtlDevice = mtlDevice -proc newVkPhysicalDeviceIndexTypeUint8FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, indexTypeUint8: VkBool32): VkPhysicalDeviceIndexTypeUint8FeaturesEXT = +proc newVkExportMetalCommandQueueInfoEXT*(sType: VkStructureType, pNext: pointer = nil, queue: VkQueue, mtlCommandQueue: MTLCommandQueue_id): VkExportMetalCommandQueueInfoEXT = result.sType = sType result.pNext = pNext - result.indexTypeUint8 = indexTypeUint8 + result.queue = queue + result.mtlCommandQueue = mtlCommandQueue -proc newVkPhysicalDeviceShaderSMBuiltinsPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, shaderSMCount: uint32, shaderWarpsPerSM: uint32): VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = +proc newVkExportMetalBufferInfoEXT*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory, mtlBuffer: MTLBuffer_id): VkExportMetalBufferInfoEXT = result.sType = sType result.pNext = pNext - result.shaderSMCount = shaderSMCount - result.shaderWarpsPerSM = shaderWarpsPerSM + result.memory = memory + result.mtlBuffer = mtlBuffer -proc newVkPhysicalDeviceShaderSMBuiltinsFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, shaderSMBuiltins: VkBool32): VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = +proc newVkImportMetalBufferInfoEXT*(sType: VkStructureType, pNext: pointer = nil, mtlBuffer: MTLBuffer_id): VkImportMetalBufferInfoEXT = result.sType = sType result.pNext = pNext - result.shaderSMBuiltins = shaderSMBuiltins + result.mtlBuffer = mtlBuffer -proc newVkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, fragmentShaderSampleInterlock: VkBool32, fragmentShaderPixelInterlock: VkBool32, fragmentShaderShadingRateInterlock: VkBool32): VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = +proc newVkExportMetalTextureInfoEXT*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, imageView: VkImageView, bufferView: VkBufferView, plane: VkImageAspectFlagBits, mtlTexture: MTLTexture_id): VkExportMetalTextureInfoEXT = result.sType = sType result.pNext = pNext - result.fragmentShaderSampleInterlock = fragmentShaderSampleInterlock - result.fragmentShaderPixelInterlock = fragmentShaderPixelInterlock - result.fragmentShaderShadingRateInterlock = fragmentShaderShadingRateInterlock + result.image = image + result.imageView = imageView + result.bufferView = bufferView + result.plane = plane + result.mtlTexture = mtlTexture -proc newVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*(sType: VkStructureType, pNext: pointer = nil, separateDepthStencilLayouts: VkBool32): VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = +proc newVkImportMetalTextureInfoEXT*(sType: VkStructureType, pNext: pointer = nil, plane: VkImageAspectFlagBits, mtlTexture: MTLTexture_id): VkImportMetalTextureInfoEXT = result.sType = sType result.pNext = pNext - result.separateDepthStencilLayouts = separateDepthStencilLayouts + result.plane = plane + result.mtlTexture = mtlTexture -proc newVkAttachmentReferenceStencilLayout*(sType: VkStructureType, pNext: pointer = nil, stencilLayout: VkImageLayout): VkAttachmentReferenceStencilLayout = +proc newVkExportMetalIOSurfaceInfoEXT*(sType: VkStructureType, pNext: pointer = nil, image: VkImage, ioSurface: IOSurfaceRef): VkExportMetalIOSurfaceInfoEXT = result.sType = sType result.pNext = pNext - result.stencilLayout = stencilLayout + result.image = image + result.ioSurface = ioSurface -proc newVkAttachmentDescriptionStencilLayout*(sType: VkStructureType, pNext: pointer = nil, stencilInitialLayout: VkImageLayout, stencilFinalLayout: VkImageLayout): VkAttachmentDescriptionStencilLayout = +proc newVkImportMetalIOSurfaceInfoEXT*(sType: VkStructureType, pNext: pointer = nil, ioSurface: IOSurfaceRef): VkImportMetalIOSurfaceInfoEXT = result.sType = sType result.pNext = pNext - result.stencilInitialLayout = stencilInitialLayout - result.stencilFinalLayout = stencilFinalLayout + result.ioSurface = ioSurface -proc newVkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, pipelineExecutableInfo: VkBool32): VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = +proc newVkExportMetalSharedEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, semaphore: VkSemaphore, event: VkEvent, mtlSharedEvent: MTLSharedEvent_id): VkExportMetalSharedEventInfoEXT = result.sType = sType result.pNext = pNext - result.pipelineExecutableInfo = pipelineExecutableInfo + result.semaphore = semaphore + result.event = event + result.mtlSharedEvent = mtlSharedEvent -proc newVkPipelineInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pipeline: VkPipeline): VkPipelineInfoKHR = +proc newVkImportMetalSharedEventInfoEXT*(sType: VkStructureType, pNext: pointer = nil, mtlSharedEvent: MTLSharedEvent_id): VkImportMetalSharedEventInfoEXT = result.sType = sType result.pNext = pNext - result.pipeline = pipeline + result.mtlSharedEvent = mtlSharedEvent -proc newVkPipelineExecutablePropertiesKHR*(sType: VkStructureType, pNext: pointer = nil, stages: VkShaderStageFlags, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], subgroupSize: uint32): VkPipelineExecutablePropertiesKHR = +proc newVkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, nonSeamlessCubeMap: VkBool32): VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT = result.sType = sType result.pNext = pNext - result.stages = stages - result.name = name - result.description = description - result.subgroupSize = subgroupSize + result.nonSeamlessCubeMap = nonSeamlessCubeMap -proc newVkPipelineExecutableInfoKHR*(sType: VkStructureType, pNext: pointer = nil, pipeline: VkPipeline, executableIndex: uint32): VkPipelineExecutableInfoKHR = +proc newVkPhysicalDevicePipelineRobustnessFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pipelineRobustness: VkBool32): VkPhysicalDevicePipelineRobustnessFeaturesEXT = result.sType = sType result.pNext = pNext - result.pipeline = pipeline - result.executableIndex = executableIndex + result.pipelineRobustness = pipelineRobustness -proc newVkPipelineExecutableStatisticKHR*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], format: VkPipelineExecutableStatisticFormatKHR, value: VkPipelineExecutableStatisticValueKHR): VkPipelineExecutableStatisticKHR = +proc newVkPipelineRobustnessCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, storageBuffers: VkPipelineRobustnessBufferBehaviorEXT, uniformBuffers: VkPipelineRobustnessBufferBehaviorEXT, vertexInputs: VkPipelineRobustnessBufferBehaviorEXT, images: VkPipelineRobustnessImageBehaviorEXT): VkPipelineRobustnessCreateInfoEXT = result.sType = sType result.pNext = pNext - result.name = name - result.description = description - result.format = format - result.value = value + result.storageBuffers = storageBuffers + result.uniformBuffers = uniformBuffers + result.vertexInputs = vertexInputs + result.images = images -proc newVkPipelineExecutableInternalRepresentationKHR*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_DESCRIPTION_SIZE, char], description: array[VK_MAX_DESCRIPTION_SIZE, char], isText: VkBool32, dataSize: uint, pData: pointer = nil): VkPipelineExecutableInternalRepresentationKHR = +proc newVkPhysicalDevicePipelineRobustnessPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, defaultRobustnessStorageBuffers: VkPipelineRobustnessBufferBehaviorEXT, defaultRobustnessUniformBuffers: VkPipelineRobustnessBufferBehaviorEXT, defaultRobustnessVertexInputs: VkPipelineRobustnessBufferBehaviorEXT, defaultRobustnessImages: VkPipelineRobustnessImageBehaviorEXT): VkPhysicalDevicePipelineRobustnessPropertiesEXT = result.sType = sType result.pNext = pNext - result.name = name - result.description = description - result.isText = isText - result.dataSize = dataSize - result.pData = pData + result.defaultRobustnessStorageBuffers = defaultRobustnessStorageBuffers + result.defaultRobustnessUniformBuffers = defaultRobustnessUniformBuffers + result.defaultRobustnessVertexInputs = defaultRobustnessVertexInputs + result.defaultRobustnessImages = defaultRobustnessImages -proc newVkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderDemoteToHelperInvocation: VkBool32): VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = +proc newVkImageViewSampleWeightCreateInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, filterCenter: VkOffset2D, filterSize: VkExtent2D, numPhases: uint32): VkImageViewSampleWeightCreateInfoQCOM = result.sType = sType result.pNext = pNext - result.shaderDemoteToHelperInvocation = shaderDemoteToHelperInvocation + result.filterCenter = filterCenter + result.filterSize = filterSize + result.numPhases = numPhases -proc newVkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, texelBufferAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = +proc newVkPhysicalDeviceImageProcessingFeaturesQCOM*(sType: VkStructureType, pNext: pointer = nil, textureSampleWeighted: VkBool32, textureBoxFilter: VkBool32, textureBlockMatch: VkBool32): VkPhysicalDeviceImageProcessingFeaturesQCOM = result.sType = sType result.pNext = pNext - result.texelBufferAlignment = texelBufferAlignment + result.textureSampleWeighted = textureSampleWeighted + result.textureBoxFilter = textureBoxFilter + result.textureBlockMatch = textureBlockMatch -proc newVkPhysicalDeviceTexelBufferAlignmentPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, storageTexelBufferOffsetAlignmentBytes: VkDeviceSize, storageTexelBufferOffsetSingleTexelAlignment: VkBool32, uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize, uniformTexelBufferOffsetSingleTexelAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = +proc newVkPhysicalDeviceImageProcessingPropertiesQCOM*(sType: VkStructureType, pNext: pointer = nil, maxWeightFilterPhases: uint32, maxWeightFilterDimension: VkExtent2D, maxBlockMatchRegion: VkExtent2D, maxBoxFilterBlockSize: VkExtent2D): VkPhysicalDeviceImageProcessingPropertiesQCOM = result.sType = sType result.pNext = pNext - result.storageTexelBufferOffsetAlignmentBytes = storageTexelBufferOffsetAlignmentBytes - result.storageTexelBufferOffsetSingleTexelAlignment = storageTexelBufferOffsetSingleTexelAlignment - result.uniformTexelBufferOffsetAlignmentBytes = uniformTexelBufferOffsetAlignmentBytes - result.uniformTexelBufferOffsetSingleTexelAlignment = uniformTexelBufferOffsetSingleTexelAlignment + result.maxWeightFilterPhases = maxWeightFilterPhases + result.maxWeightFilterDimension = maxWeightFilterDimension + result.maxBlockMatchRegion = maxBlockMatchRegion + result.maxBoxFilterBlockSize = maxBoxFilterBlockSize -proc newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, subgroupSizeControl: VkBool32, computeFullSubgroups: VkBool32): VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = +proc newVkPhysicalDeviceTilePropertiesFeaturesQCOM*(sType: VkStructureType, pNext: pointer = nil, tileProperties: VkBool32): VkPhysicalDeviceTilePropertiesFeaturesQCOM = result.sType = sType result.pNext = pNext - result.subgroupSizeControl = subgroupSizeControl - result.computeFullSubgroups = computeFullSubgroups + result.tileProperties = tileProperties -proc newVkPhysicalDeviceSubgroupSizeControlPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, minSubgroupSize: uint32, maxSubgroupSize: uint32, maxComputeWorkgroupSubgroups: uint32, requiredSubgroupSizeStages: VkShaderStageFlags): VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = +proc newVkTilePropertiesQCOM*(sType: VkStructureType, pNext: pointer = nil, tileSize: VkExtent3D, apronSize: VkExtent2D, origin: VkOffset2D): VkTilePropertiesQCOM = result.sType = sType result.pNext = pNext - result.minSubgroupSize = minSubgroupSize - result.maxSubgroupSize = maxSubgroupSize - result.maxComputeWorkgroupSubgroups = maxComputeWorkgroupSubgroups - result.requiredSubgroupSizeStages = requiredSubgroupSizeStages + result.tileSize = tileSize + result.apronSize = apronSize + result.origin = origin -proc newVkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, requiredSubgroupSize: uint32): VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = +proc newVkPhysicalDeviceAmigoProfilingFeaturesSEC*(sType: VkStructureType, pNext: pointer = nil, amigoProfiling: VkBool32): VkPhysicalDeviceAmigoProfilingFeaturesSEC = result.sType = sType result.pNext = pNext - result.requiredSubgroupSize = requiredSubgroupSize + result.amigoProfiling = amigoProfiling -proc newVkMemoryOpaqueCaptureAddressAllocateInfo*(sType: VkStructureType, pNext: pointer = nil, opaqueCaptureAddress: uint64): VkMemoryOpaqueCaptureAddressAllocateInfo = +proc newVkAmigoProfilingSubmitInfoSEC*(sType: VkStructureType, pNext: pointer = nil, firstDrawTimestamp: uint64, swapBufferTimestamp: uint64): VkAmigoProfilingSubmitInfoSEC = result.sType = sType result.pNext = pNext - result.opaqueCaptureAddress = opaqueCaptureAddress + result.firstDrawTimestamp = firstDrawTimestamp + result.swapBufferTimestamp = swapBufferTimestamp -proc newVkDeviceMemoryOpaqueCaptureAddressInfo*(sType: VkStructureType, pNext: pointer = nil, memory: VkDeviceMemory): VkDeviceMemoryOpaqueCaptureAddressInfo = +proc newVkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, attachmentFeedbackLoopLayout: VkBool32): VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = result.sType = sType result.pNext = pNext - result.memory = memory + result.attachmentFeedbackLoopLayout = attachmentFeedbackLoopLayout -proc newVkPhysicalDeviceLineRasterizationFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, rectangularLines: VkBool32, bresenhamLines: VkBool32, smoothLines: VkBool32, stippledRectangularLines: VkBool32, stippledBresenhamLines: VkBool32, stippledSmoothLines: VkBool32): VkPhysicalDeviceLineRasterizationFeaturesEXT = +proc newVkPhysicalDeviceDepthClampZeroOneFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, depthClampZeroOne: VkBool32): VkPhysicalDeviceDepthClampZeroOneFeaturesEXT = result.sType = sType result.pNext = pNext - result.rectangularLines = rectangularLines - result.bresenhamLines = bresenhamLines - result.smoothLines = smoothLines - result.stippledRectangularLines = stippledRectangularLines - result.stippledBresenhamLines = stippledBresenhamLines - result.stippledSmoothLines = stippledSmoothLines + result.depthClampZeroOne = depthClampZeroOne -proc newVkPhysicalDeviceLineRasterizationPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, lineSubPixelPrecisionBits: uint32): VkPhysicalDeviceLineRasterizationPropertiesEXT = +proc newVkPhysicalDeviceAddressBindingReportFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, reportAddressBinding: VkBool32): VkPhysicalDeviceAddressBindingReportFeaturesEXT = result.sType = sType result.pNext = pNext - result.lineSubPixelPrecisionBits = lineSubPixelPrecisionBits + result.reportAddressBinding = reportAddressBinding -proc newVkPipelineRasterizationLineStateCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, lineRasterizationMode: VkLineRasterizationModeEXT, stippledLineEnable: VkBool32, lineStippleFactor: uint32, lineStipplePattern: uint16): VkPipelineRasterizationLineStateCreateInfoEXT = +proc newVkDeviceAddressBindingCallbackDataEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceAddressBindingFlagsEXT = 0.VkDeviceAddressBindingFlagsEXT, baseAddress: VkDeviceAddress, size: VkDeviceSize, bindingType: VkDeviceAddressBindingTypeEXT): VkDeviceAddressBindingCallbackDataEXT = result.sType = sType result.pNext = pNext - result.lineRasterizationMode = lineRasterizationMode - result.stippledLineEnable = stippledLineEnable - result.lineStippleFactor = lineStippleFactor - result.lineStipplePattern = lineStipplePattern + result.flags = flags + result.baseAddress = baseAddress + result.size = size + result.bindingType = bindingType -proc newVkPhysicalDevicePipelineCreationCacheControlFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pipelineCreationCacheControl: VkBool32): VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = +proc newVkPhysicalDeviceOpticalFlowFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, opticalFlow: VkBool32): VkPhysicalDeviceOpticalFlowFeaturesNV = result.sType = sType result.pNext = pNext - result.pipelineCreationCacheControl = pipelineCreationCacheControl + result.opticalFlow = opticalFlow -proc newVkPhysicalDeviceVulkan11Features*(sType: VkStructureType, pNext: pointer = nil, storageBuffer16BitAccess: VkBool32, uniformAndStorageBuffer16BitAccess: VkBool32, storagePushConstant16: VkBool32, storageInputOutput16: VkBool32, multiview: VkBool32, multiviewGeometryShader: VkBool32, multiviewTessellationShader: VkBool32, variablePointersStorageBuffer: VkBool32, variablePointers: VkBool32, protectedMemory: VkBool32, samplerYcbcrConversion: VkBool32, shaderDrawParameters: VkBool32): VkPhysicalDeviceVulkan11Features = +proc newVkPhysicalDeviceOpticalFlowPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, supportedOutputGridSizes: VkOpticalFlowGridSizeFlagsNV, supportedHintGridSizes: VkOpticalFlowGridSizeFlagsNV, hintSupported: VkBool32, costSupported: VkBool32, bidirectionalFlowSupported: VkBool32, globalFlowSupported: VkBool32, minWidth: uint32, minHeight: uint32, maxWidth: uint32, maxHeight: uint32, maxNumRegionsOfInterest: uint32): VkPhysicalDeviceOpticalFlowPropertiesNV = result.sType = sType result.pNext = pNext - result.storageBuffer16BitAccess = storageBuffer16BitAccess - result.uniformAndStorageBuffer16BitAccess = uniformAndStorageBuffer16BitAccess - result.storagePushConstant16 = storagePushConstant16 - result.storageInputOutput16 = storageInputOutput16 - result.multiview = multiview - result.multiviewGeometryShader = multiviewGeometryShader - result.multiviewTessellationShader = multiviewTessellationShader - result.variablePointersStorageBuffer = variablePointersStorageBuffer - result.variablePointers = variablePointers - result.protectedMemory = protectedMemory - result.samplerYcbcrConversion = samplerYcbcrConversion - result.shaderDrawParameters = shaderDrawParameters + result.supportedOutputGridSizes = supportedOutputGridSizes + result.supportedHintGridSizes = supportedHintGridSizes + result.hintSupported = hintSupported + result.costSupported = costSupported + result.bidirectionalFlowSupported = bidirectionalFlowSupported + result.globalFlowSupported = globalFlowSupported + result.minWidth = minWidth + result.minHeight = minHeight + result.maxWidth = maxWidth + result.maxHeight = maxHeight + result.maxNumRegionsOfInterest = maxNumRegionsOfInterest -proc newVkPhysicalDeviceVulkan11Properties*(sType: VkStructureType, pNext: pointer = nil, deviceUUID: array[VK_UUID_SIZE, uint8], driverUUID: array[VK_UUID_SIZE, uint8], deviceLUID: array[VK_LUID_SIZE, uint8], deviceNodeMask: uint32, deviceLUIDValid: VkBool32, subgroupSize: uint32, subgroupSupportedStages: VkShaderStageFlags, subgroupSupportedOperations: VkSubgroupFeatureFlags, subgroupQuadOperationsInAllStages: VkBool32, pointClippingBehavior: VkPointClippingBehavior, maxMultiviewViewCount: uint32, maxMultiviewInstanceIndex: uint32, protectedNoFault: VkBool32, maxPerSetDescriptors: uint32, maxMemoryAllocationSize: VkDeviceSize): VkPhysicalDeviceVulkan11Properties = +proc newVkOpticalFlowImageFormatInfoNV*(sType: VkStructureType, pNext: pointer = nil, usage: VkOpticalFlowUsageFlagsNV): VkOpticalFlowImageFormatInfoNV = result.sType = sType result.pNext = pNext - result.deviceUUID = deviceUUID - result.driverUUID = driverUUID - result.deviceLUID = deviceLUID - result.deviceNodeMask = deviceNodeMask - result.deviceLUIDValid = deviceLUIDValid - result.subgroupSize = subgroupSize - result.subgroupSupportedStages = subgroupSupportedStages - result.subgroupSupportedOperations = subgroupSupportedOperations - result.subgroupQuadOperationsInAllStages = subgroupQuadOperationsInAllStages - result.pointClippingBehavior = pointClippingBehavior - result.maxMultiviewViewCount = maxMultiviewViewCount - result.maxMultiviewInstanceIndex = maxMultiviewInstanceIndex - result.protectedNoFault = protectedNoFault - result.maxPerSetDescriptors = maxPerSetDescriptors - result.maxMemoryAllocationSize = maxMemoryAllocationSize + result.usage = usage -proc newVkPhysicalDeviceVulkan12Features*(sType: VkStructureType, pNext: pointer = nil, samplerMirrorClampToEdge: VkBool32, drawIndirectCount: VkBool32, storageBuffer8BitAccess: VkBool32, uniformAndStorageBuffer8BitAccess: VkBool32, storagePushConstant8: VkBool32, shaderBufferInt64Atomics: VkBool32, shaderSharedInt64Atomics: VkBool32, shaderFloat16: VkBool32, shaderInt8: VkBool32, descriptorIndexing: VkBool32, shaderInputAttachmentArrayDynamicIndexing: VkBool32, shaderUniformTexelBufferArrayDynamicIndexing: VkBool32, shaderStorageTexelBufferArrayDynamicIndexing: VkBool32, shaderUniformBufferArrayNonUniformIndexing: VkBool32, shaderSampledImageArrayNonUniformIndexing: VkBool32, shaderStorageBufferArrayNonUniformIndexing: VkBool32, shaderStorageImageArrayNonUniformIndexing: VkBool32, shaderInputAttachmentArrayNonUniformIndexing: VkBool32, shaderUniformTexelBufferArrayNonUniformIndexing: VkBool32, shaderStorageTexelBufferArrayNonUniformIndexing: VkBool32, descriptorBindingUniformBufferUpdateAfterBind: VkBool32, descriptorBindingSampledImageUpdateAfterBind: VkBool32, descriptorBindingStorageImageUpdateAfterBind: VkBool32, descriptorBindingStorageBufferUpdateAfterBind: VkBool32, descriptorBindingUniformTexelBufferUpdateAfterBind: VkBool32, descriptorBindingStorageTexelBufferUpdateAfterBind: VkBool32, descriptorBindingUpdateUnusedWhilePending: VkBool32, descriptorBindingPartiallyBound: VkBool32, descriptorBindingVariableDescriptorCount: VkBool32, runtimeDescriptorArray: VkBool32, samplerFilterMinmax: VkBool32, scalarBlockLayout: VkBool32, imagelessFramebuffer: VkBool32, uniformBufferStandardLayout: VkBool32, shaderSubgroupExtendedTypes: VkBool32, separateDepthStencilLayouts: VkBool32, hostQueryReset: VkBool32, timelineSemaphore: VkBool32, bufferDeviceAddress: VkBool32, bufferDeviceAddressCaptureReplay: VkBool32, bufferDeviceAddressMultiDevice: VkBool32, vulkanMemoryModel: VkBool32, vulkanMemoryModelDeviceScope: VkBool32, vulkanMemoryModelAvailabilityVisibilityChains: VkBool32, shaderOutputViewportIndex: VkBool32, shaderOutputLayer: VkBool32, subgroupBroadcastDynamicId: VkBool32): VkPhysicalDeviceVulkan12Features = +proc newVkOpticalFlowImageFormatPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat): VkOpticalFlowImageFormatPropertiesNV = result.sType = sType result.pNext = pNext - result.samplerMirrorClampToEdge = samplerMirrorClampToEdge - result.drawIndirectCount = drawIndirectCount - result.storageBuffer8BitAccess = storageBuffer8BitAccess - result.uniformAndStorageBuffer8BitAccess = uniformAndStorageBuffer8BitAccess - result.storagePushConstant8 = storagePushConstant8 - result.shaderBufferInt64Atomics = shaderBufferInt64Atomics - result.shaderSharedInt64Atomics = shaderSharedInt64Atomics - result.shaderFloat16 = shaderFloat16 - result.shaderInt8 = shaderInt8 - result.descriptorIndexing = descriptorIndexing - result.shaderInputAttachmentArrayDynamicIndexing = shaderInputAttachmentArrayDynamicIndexing - result.shaderUniformTexelBufferArrayDynamicIndexing = shaderUniformTexelBufferArrayDynamicIndexing - result.shaderStorageTexelBufferArrayDynamicIndexing = shaderStorageTexelBufferArrayDynamicIndexing - result.shaderUniformBufferArrayNonUniformIndexing = shaderUniformBufferArrayNonUniformIndexing - result.shaderSampledImageArrayNonUniformIndexing = shaderSampledImageArrayNonUniformIndexing - result.shaderStorageBufferArrayNonUniformIndexing = shaderStorageBufferArrayNonUniformIndexing - result.shaderStorageImageArrayNonUniformIndexing = shaderStorageImageArrayNonUniformIndexing - result.shaderInputAttachmentArrayNonUniformIndexing = shaderInputAttachmentArrayNonUniformIndexing - result.shaderUniformTexelBufferArrayNonUniformIndexing = shaderUniformTexelBufferArrayNonUniformIndexing - result.shaderStorageTexelBufferArrayNonUniformIndexing = shaderStorageTexelBufferArrayNonUniformIndexing - result.descriptorBindingUniformBufferUpdateAfterBind = descriptorBindingUniformBufferUpdateAfterBind - result.descriptorBindingSampledImageUpdateAfterBind = descriptorBindingSampledImageUpdateAfterBind - result.descriptorBindingStorageImageUpdateAfterBind = descriptorBindingStorageImageUpdateAfterBind - result.descriptorBindingStorageBufferUpdateAfterBind = descriptorBindingStorageBufferUpdateAfterBind - result.descriptorBindingUniformTexelBufferUpdateAfterBind = descriptorBindingUniformTexelBufferUpdateAfterBind - result.descriptorBindingStorageTexelBufferUpdateAfterBind = descriptorBindingStorageTexelBufferUpdateAfterBind - result.descriptorBindingUpdateUnusedWhilePending = descriptorBindingUpdateUnusedWhilePending - result.descriptorBindingPartiallyBound = descriptorBindingPartiallyBound - result.descriptorBindingVariableDescriptorCount = descriptorBindingVariableDescriptorCount - result.runtimeDescriptorArray = runtimeDescriptorArray - result.samplerFilterMinmax = samplerFilterMinmax - result.scalarBlockLayout = scalarBlockLayout - result.imagelessFramebuffer = imagelessFramebuffer - result.uniformBufferStandardLayout = uniformBufferStandardLayout - result.shaderSubgroupExtendedTypes = shaderSubgroupExtendedTypes - result.separateDepthStencilLayouts = separateDepthStencilLayouts - result.hostQueryReset = hostQueryReset - result.timelineSemaphore = timelineSemaphore - result.bufferDeviceAddress = bufferDeviceAddress - result.bufferDeviceAddressCaptureReplay = bufferDeviceAddressCaptureReplay - result.bufferDeviceAddressMultiDevice = bufferDeviceAddressMultiDevice - result.vulkanMemoryModel = vulkanMemoryModel - result.vulkanMemoryModelDeviceScope = vulkanMemoryModelDeviceScope - result.vulkanMemoryModelAvailabilityVisibilityChains = vulkanMemoryModelAvailabilityVisibilityChains - result.shaderOutputViewportIndex = shaderOutputViewportIndex - result.shaderOutputLayer = shaderOutputLayer - result.subgroupBroadcastDynamicId = subgroupBroadcastDynamicId + result.format = format -proc newVkPhysicalDeviceVulkan12Properties*(sType: VkStructureType, pNext: pointer = nil, driverID: VkDriverId, driverName: array[VK_MAX_DRIVER_NAME_SIZE, char], driverInfo: array[VK_MAX_DRIVER_INFO_SIZE, char], conformanceVersion: VkConformanceVersion, denormBehaviorIndependence: VkShaderFloatControlsIndependence, roundingModeIndependence: VkShaderFloatControlsIndependence, shaderSignedZeroInfNanPreserveFloat16: VkBool32, shaderSignedZeroInfNanPreserveFloat32: VkBool32, shaderSignedZeroInfNanPreserveFloat64: VkBool32, shaderDenormPreserveFloat16: VkBool32, shaderDenormPreserveFloat32: VkBool32, shaderDenormPreserveFloat64: VkBool32, shaderDenormFlushToZeroFloat16: VkBool32, shaderDenormFlushToZeroFloat32: VkBool32, shaderDenormFlushToZeroFloat64: VkBool32, shaderRoundingModeRTEFloat16: VkBool32, shaderRoundingModeRTEFloat32: VkBool32, shaderRoundingModeRTEFloat64: VkBool32, shaderRoundingModeRTZFloat16: VkBool32, shaderRoundingModeRTZFloat32: VkBool32, shaderRoundingModeRTZFloat64: VkBool32, maxUpdateAfterBindDescriptorsInAllPools: uint32, shaderUniformBufferArrayNonUniformIndexingNative: VkBool32, shaderSampledImageArrayNonUniformIndexingNative: VkBool32, shaderStorageBufferArrayNonUniformIndexingNative: VkBool32, shaderStorageImageArrayNonUniformIndexingNative: VkBool32, shaderInputAttachmentArrayNonUniformIndexingNative: VkBool32, robustBufferAccessUpdateAfterBind: VkBool32, quadDivergentImplicitLod: VkBool32, maxPerStageDescriptorUpdateAfterBindSamplers: uint32, maxPerStageDescriptorUpdateAfterBindUniformBuffers: uint32, maxPerStageDescriptorUpdateAfterBindStorageBuffers: uint32, maxPerStageDescriptorUpdateAfterBindSampledImages: uint32, maxPerStageDescriptorUpdateAfterBindStorageImages: uint32, maxPerStageDescriptorUpdateAfterBindInputAttachments: uint32, maxPerStageUpdateAfterBindResources: uint32, maxDescriptorSetUpdateAfterBindSamplers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffers: uint32, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindStorageBuffers: uint32, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic: uint32, maxDescriptorSetUpdateAfterBindSampledImages: uint32, maxDescriptorSetUpdateAfterBindStorageImages: uint32, maxDescriptorSetUpdateAfterBindInputAttachments: uint32, supportedDepthResolveModes: VkResolveModeFlags, supportedStencilResolveModes: VkResolveModeFlags, independentResolveNone: VkBool32, independentResolve: VkBool32, filterMinmaxSingleComponentFormats: VkBool32, filterMinmaxImageComponentMapping: VkBool32, maxTimelineSemaphoreValueDifference: uint64, framebufferIntegerColorSampleCounts: VkSampleCountFlags): VkPhysicalDeviceVulkan12Properties = +proc newVkOpticalFlowSessionCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, width: uint32, height: uint32, imageFormat: VkFormat, flowVectorFormat: VkFormat, costFormat: VkFormat, outputGridSize: VkOpticalFlowGridSizeFlagsNV, hintGridSize: VkOpticalFlowGridSizeFlagsNV, performanceLevel: VkOpticalFlowPerformanceLevelNV, flags: VkOpticalFlowSessionCreateFlagsNV = 0.VkOpticalFlowSessionCreateFlagsNV): VkOpticalFlowSessionCreateInfoNV = result.sType = sType result.pNext = pNext - result.driverID = driverID - result.driverName = driverName - result.driverInfo = driverInfo - result.conformanceVersion = conformanceVersion - result.denormBehaviorIndependence = denormBehaviorIndependence - result.roundingModeIndependence = roundingModeIndependence - result.shaderSignedZeroInfNanPreserveFloat16 = shaderSignedZeroInfNanPreserveFloat16 - result.shaderSignedZeroInfNanPreserveFloat32 = shaderSignedZeroInfNanPreserveFloat32 - result.shaderSignedZeroInfNanPreserveFloat64 = shaderSignedZeroInfNanPreserveFloat64 - result.shaderDenormPreserveFloat16 = shaderDenormPreserveFloat16 - result.shaderDenormPreserveFloat32 = shaderDenormPreserveFloat32 - result.shaderDenormPreserveFloat64 = shaderDenormPreserveFloat64 - result.shaderDenormFlushToZeroFloat16 = shaderDenormFlushToZeroFloat16 - result.shaderDenormFlushToZeroFloat32 = shaderDenormFlushToZeroFloat32 - result.shaderDenormFlushToZeroFloat64 = shaderDenormFlushToZeroFloat64 - result.shaderRoundingModeRTEFloat16 = shaderRoundingModeRTEFloat16 - result.shaderRoundingModeRTEFloat32 = shaderRoundingModeRTEFloat32 - result.shaderRoundingModeRTEFloat64 = shaderRoundingModeRTEFloat64 - result.shaderRoundingModeRTZFloat16 = shaderRoundingModeRTZFloat16 - result.shaderRoundingModeRTZFloat32 = shaderRoundingModeRTZFloat32 - result.shaderRoundingModeRTZFloat64 = shaderRoundingModeRTZFloat64 - result.maxUpdateAfterBindDescriptorsInAllPools = maxUpdateAfterBindDescriptorsInAllPools - result.shaderUniformBufferArrayNonUniformIndexingNative = shaderUniformBufferArrayNonUniformIndexingNative - result.shaderSampledImageArrayNonUniformIndexingNative = shaderSampledImageArrayNonUniformIndexingNative - result.shaderStorageBufferArrayNonUniformIndexingNative = shaderStorageBufferArrayNonUniformIndexingNative - result.shaderStorageImageArrayNonUniformIndexingNative = shaderStorageImageArrayNonUniformIndexingNative - result.shaderInputAttachmentArrayNonUniformIndexingNative = shaderInputAttachmentArrayNonUniformIndexingNative - result.robustBufferAccessUpdateAfterBind = robustBufferAccessUpdateAfterBind - result.quadDivergentImplicitLod = quadDivergentImplicitLod - result.maxPerStageDescriptorUpdateAfterBindSamplers = maxPerStageDescriptorUpdateAfterBindSamplers - result.maxPerStageDescriptorUpdateAfterBindUniformBuffers = maxPerStageDescriptorUpdateAfterBindUniformBuffers - result.maxPerStageDescriptorUpdateAfterBindStorageBuffers = maxPerStageDescriptorUpdateAfterBindStorageBuffers - result.maxPerStageDescriptorUpdateAfterBindSampledImages = maxPerStageDescriptorUpdateAfterBindSampledImages - result.maxPerStageDescriptorUpdateAfterBindStorageImages = maxPerStageDescriptorUpdateAfterBindStorageImages - result.maxPerStageDescriptorUpdateAfterBindInputAttachments = maxPerStageDescriptorUpdateAfterBindInputAttachments - result.maxPerStageUpdateAfterBindResources = maxPerStageUpdateAfterBindResources - result.maxDescriptorSetUpdateAfterBindSamplers = maxDescriptorSetUpdateAfterBindSamplers - result.maxDescriptorSetUpdateAfterBindUniformBuffers = maxDescriptorSetUpdateAfterBindUniformBuffers - result.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - result.maxDescriptorSetUpdateAfterBindStorageBuffers = maxDescriptorSetUpdateAfterBindStorageBuffers - result.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - result.maxDescriptorSetUpdateAfterBindSampledImages = maxDescriptorSetUpdateAfterBindSampledImages - result.maxDescriptorSetUpdateAfterBindStorageImages = maxDescriptorSetUpdateAfterBindStorageImages - result.maxDescriptorSetUpdateAfterBindInputAttachments = maxDescriptorSetUpdateAfterBindInputAttachments - result.supportedDepthResolveModes = supportedDepthResolveModes - result.supportedStencilResolveModes = supportedStencilResolveModes - result.independentResolveNone = independentResolveNone - result.independentResolve = independentResolve - result.filterMinmaxSingleComponentFormats = filterMinmaxSingleComponentFormats - result.filterMinmaxImageComponentMapping = filterMinmaxImageComponentMapping - result.maxTimelineSemaphoreValueDifference = maxTimelineSemaphoreValueDifference - result.framebufferIntegerColorSampleCounts = framebufferIntegerColorSampleCounts + result.width = width + result.height = height + result.imageFormat = imageFormat + result.flowVectorFormat = flowVectorFormat + result.costFormat = costFormat + result.outputGridSize = outputGridSize + result.hintGridSize = hintGridSize + result.performanceLevel = performanceLevel + result.flags = flags -proc newVkPipelineCompilerControlCreateInfoAMD*(sType: VkStructureType, pNext: pointer = nil, compilerControlFlags: VkPipelineCompilerControlFlagsAMD): VkPipelineCompilerControlCreateInfoAMD = +proc newVkOpticalFlowSessionCreatePrivateDataInfoNV*(sType: VkStructureType, pNext: pointer = nil, id: uint32, size: uint32, pPrivateData: pointer = nil): VkOpticalFlowSessionCreatePrivateDataInfoNV = result.sType = sType result.pNext = pNext - result.compilerControlFlags = compilerControlFlags + result.id = id + result.size = size + result.pPrivateData = pPrivateData -proc newVkPhysicalDeviceCoherentMemoryFeaturesAMD*(sType: VkStructureType, pNext: pointer = nil, deviceCoherentMemory: VkBool32): VkPhysicalDeviceCoherentMemoryFeaturesAMD = +proc newVkOpticalFlowExecuteInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkOpticalFlowExecuteFlagsNV = 0.VkOpticalFlowExecuteFlagsNV, regionCount: uint32, pRegions: ptr VkRect2D): VkOpticalFlowExecuteInfoNV = result.sType = sType result.pNext = pNext - result.deviceCoherentMemory = deviceCoherentMemory + result.flags = flags + result.regionCount = regionCount + result.pRegions = pRegions -proc newVkPhysicalDeviceToolPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, name: array[VK_MAX_EXTENSION_NAME_SIZE, char], version: array[VK_MAX_EXTENSION_NAME_SIZE, char], purposes: VkToolPurposeFlagsEXT, description: array[VK_MAX_DESCRIPTION_SIZE, char], layer: array[VK_MAX_EXTENSION_NAME_SIZE, char]): VkPhysicalDeviceToolPropertiesEXT = +proc newVkPhysicalDeviceFaultFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, deviceFault: VkBool32, deviceFaultVendorBinary: VkBool32): VkPhysicalDeviceFaultFeaturesEXT = result.sType = sType result.pNext = pNext - result.name = name - result.version = version - result.purposes = purposes + result.deviceFault = deviceFault + result.deviceFaultVendorBinary = deviceFaultVendorBinary + +proc newVkDeviceFaultAddressInfoEXT*(addressType: VkDeviceFaultAddressTypeEXT, reportedAddress: VkDeviceAddress, addressPrecision: VkDeviceSize): VkDeviceFaultAddressInfoEXT = + result.addressType = addressType + result.reportedAddress = reportedAddress + result.addressPrecision = addressPrecision + +proc newVkDeviceFaultVendorInfoEXT*(description: array[VK_MAX_DESCRIPTION_SIZE, char], vendorFaultCode: uint64, vendorFaultData: uint64): VkDeviceFaultVendorInfoEXT = result.description = description - result.layer = layer + result.vendorFaultCode = vendorFaultCode + result.vendorFaultData = vendorFaultData -proc newVkSamplerCustomBorderColorCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, customBorderColor: VkClearColorValue, format: VkFormat): VkSamplerCustomBorderColorCreateInfoEXT = +proc newVkDeviceFaultCountsEXT*(sType: VkStructureType, pNext: pointer = nil, addressInfoCount: uint32, vendorInfoCount: uint32, vendorBinarySize: VkDeviceSize): VkDeviceFaultCountsEXT = result.sType = sType result.pNext = pNext - result.customBorderColor = customBorderColor - result.format = format + result.addressInfoCount = addressInfoCount + result.vendorInfoCount = vendorInfoCount + result.vendorBinarySize = vendorBinarySize -proc newVkPhysicalDeviceCustomBorderColorPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, maxCustomBorderColorSamplers: uint32): VkPhysicalDeviceCustomBorderColorPropertiesEXT = +proc newVkDeviceFaultInfoEXT*(sType: VkStructureType, pNext: pointer = nil, description: array[VK_MAX_DESCRIPTION_SIZE, char], pAddressInfos: ptr VkDeviceFaultAddressInfoEXT, pVendorInfos: ptr VkDeviceFaultVendorInfoEXT, pVendorBinaryData: pointer = nil): VkDeviceFaultInfoEXT = result.sType = sType result.pNext = pNext - result.maxCustomBorderColorSamplers = maxCustomBorderColorSamplers + result.description = description + result.pAddressInfos = pAddressInfos + result.pVendorInfos = pVendorInfos + result.pVendorBinaryData = pVendorBinaryData -proc newVkPhysicalDeviceCustomBorderColorFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, customBorderColors: VkBool32, customBorderColorWithoutFormat: VkBool32): VkPhysicalDeviceCustomBorderColorFeaturesEXT = +proc newVkDeviceFaultVendorBinaryHeaderVersionOneEXT*(headerSize: uint32, headerVersion: VkDeviceFaultVendorBinaryHeaderVersionEXT, vendorID: uint32, deviceID: uint32, driverVersion: uint32, pipelineCacheUUID: array[VK_UUID_SIZE, uint8], applicationNameOffset: uint32, applicationVersion: uint32, engineNameOffset: uint32, engineVersion: uint32, apiVersion: uint32): VkDeviceFaultVendorBinaryHeaderVersionOneEXT = + result.headerSize = headerSize + result.headerVersion = headerVersion + result.vendorID = vendorID + result.deviceID = deviceID + result.driverVersion = driverVersion + result.pipelineCacheUUID = pipelineCacheUUID + result.applicationNameOffset = applicationNameOffset + result.applicationVersion = applicationVersion + result.engineNameOffset = engineNameOffset + result.engineVersion = engineVersion + result.apiVersion = apiVersion + +proc newVkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, pipelineLibraryGroupHandles: VkBool32): VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = result.sType = sType result.pNext = pNext - result.customBorderColors = customBorderColors - result.customBorderColorWithoutFormat = customBorderColorWithoutFormat + result.pipelineLibraryGroupHandles = pipelineLibraryGroupHandles -proc newVkAccelerationStructureGeometryTrianglesDataKHR*(sType: VkStructureType, pNext: pointer = nil, vertexFormat: VkFormat, vertexData: VkDeviceOrHostAddressConstKHR, vertexStride: VkDeviceSize, indexType: VkIndexType, indexData: VkDeviceOrHostAddressConstKHR, transformData: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryTrianglesDataKHR = +proc newVkDepthBiasInfoEXT*(sType: VkStructureType, pNext: pointer = nil, depthBiasConstantFactor: float32, depthBiasClamp: float32, depthBiasSlopeFactor: float32): VkDepthBiasInfoEXT = result.sType = sType result.pNext = pNext - result.vertexFormat = vertexFormat - result.vertexData = vertexData - result.vertexStride = vertexStride - result.indexType = indexType - result.indexData = indexData - result.transformData = transformData + result.depthBiasConstantFactor = depthBiasConstantFactor + result.depthBiasClamp = depthBiasClamp + result.depthBiasSlopeFactor = depthBiasSlopeFactor -proc newVkAccelerationStructureGeometryAabbsDataKHR*(sType: VkStructureType, pNext: pointer = nil, data: VkDeviceOrHostAddressConstKHR, stride: VkDeviceSize): VkAccelerationStructureGeometryAabbsDataKHR = +proc newVkDepthBiasRepresentationInfoEXT*(sType: VkStructureType, pNext: pointer = nil, depthBiasRepresentation: VkDepthBiasRepresentationEXT, depthBiasExact: VkBool32): VkDepthBiasRepresentationInfoEXT = result.sType = sType result.pNext = pNext - result.data = data - result.stride = stride + result.depthBiasRepresentation = depthBiasRepresentation + result.depthBiasExact = depthBiasExact -proc newVkAccelerationStructureGeometryInstancesDataKHR*(sType: VkStructureType, pNext: pointer = nil, arrayOfPointers: VkBool32, data: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryInstancesDataKHR = +proc newVkDecompressMemoryRegionNV*(srcAddress: VkDeviceAddress, dstAddress: VkDeviceAddress, compressedSize: VkDeviceSize, decompressedSize: VkDeviceSize, decompressionMethod: VkMemoryDecompressionMethodFlagsNV): VkDecompressMemoryRegionNV = + result.srcAddress = srcAddress + result.dstAddress = dstAddress + result.compressedSize = compressedSize + result.decompressedSize = decompressedSize + result.decompressionMethod = decompressionMethod + +proc newVkPhysicalDeviceShaderCoreBuiltinsPropertiesARM*(sType: VkStructureType, pNext: pointer = nil, shaderCoreMask: uint64, shaderCoreCount: uint32, shaderWarpsPerCore: uint32): VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM = result.sType = sType result.pNext = pNext - result.arrayOfPointers = arrayOfPointers - result.data = data + result.shaderCoreMask = shaderCoreMask + result.shaderCoreCount = shaderCoreCount + result.shaderWarpsPerCore = shaderWarpsPerCore -proc newVkAccelerationStructureGeometryKHR*(sType: VkStructureType, pNext: pointer = nil, geometryType: VkGeometryTypeKHR, geometry: VkAccelerationStructureGeometryDataKHR, flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkAccelerationStructureGeometryKHR = +proc newVkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*(sType: VkStructureType, pNext: pointer = nil, shaderCoreBuiltins: VkBool32): VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM = result.sType = sType result.pNext = pNext - result.geometryType = geometryType - result.geometry = geometry - result.flags = flags + result.shaderCoreBuiltins = shaderCoreBuiltins -proc newVkAccelerationStructureBuildGeometryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, `type`: VkAccelerationStructureTypeKHR, flags: VkBuildAccelerationStructureFlagsKHR = 0.VkBuildAccelerationStructureFlagsKHR, update: VkBool32, srcAccelerationStructure: VkAccelerationStructureKHR, dstAccelerationStructure: VkAccelerationStructureKHR, geometryArrayOfPointers: VkBool32, geometryCount: uint32, ppGeometries: ptr ptr VkAccelerationStructureGeometryKHR, scratchData: VkDeviceOrHostAddressKHR): VkAccelerationStructureBuildGeometryInfoKHR = +proc newVkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, dynamicRenderingUnusedAttachments: VkBool32): VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = result.sType = sType result.pNext = pNext - result.`type` = `type` - result.flags = flags - result.update = update - result.srcAccelerationStructure = srcAccelerationStructure - result.dstAccelerationStructure = dstAccelerationStructure - result.geometryArrayOfPointers = geometryArrayOfPointers - result.geometryCount = geometryCount - result.ppGeometries = ppGeometries - result.scratchData = scratchData + result.dynamicRenderingUnusedAttachments = dynamicRenderingUnusedAttachments -proc newVkAccelerationStructureBuildOffsetInfoKHR*(primitiveCount: uint32, primitiveOffset: uint32, firstVertex: uint32, transformOffset: uint32): VkAccelerationStructureBuildOffsetInfoKHR = - result.primitiveCount = primitiveCount - result.primitiveOffset = primitiveOffset - result.firstVertex = firstVertex - result.transformOffset = transformOffset +proc newVkSurfacePresentModeEXT*(sType: VkStructureType, pNext: pointer = nil, presentMode: VkPresentModeKHR): VkSurfacePresentModeEXT = + result.sType = sType + result.pNext = pNext + result.presentMode = presentMode -proc newVkAccelerationStructureCreateGeometryTypeInfoKHR*(sType: VkStructureType, pNext: pointer = nil, geometryType: VkGeometryTypeKHR, maxPrimitiveCount: uint32, indexType: VkIndexType, maxVertexCount: uint32, vertexFormat: VkFormat, allowsTransforms: VkBool32): VkAccelerationStructureCreateGeometryTypeInfoKHR = +proc newVkSurfacePresentScalingCapabilitiesEXT*(sType: VkStructureType, pNext: pointer = nil, supportedPresentScaling: VkPresentScalingFlagsEXT, supportedPresentGravityX: VkPresentGravityFlagsEXT, supportedPresentGravityY: VkPresentGravityFlagsEXT, minScaledImageExtent: VkExtent2D, maxScaledImageExtent: VkExtent2D): VkSurfacePresentScalingCapabilitiesEXT = result.sType = sType result.pNext = pNext - result.geometryType = geometryType - result.maxPrimitiveCount = maxPrimitiveCount - result.indexType = indexType - result.maxVertexCount = maxVertexCount - result.vertexFormat = vertexFormat - result.allowsTransforms = allowsTransforms + result.supportedPresentScaling = supportedPresentScaling + result.supportedPresentGravityX = supportedPresentGravityX + result.supportedPresentGravityY = supportedPresentGravityY + result.minScaledImageExtent = minScaledImageExtent + result.maxScaledImageExtent = maxScaledImageExtent -proc newVkAccelerationStructureCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, compactedSize: VkDeviceSize, `type`: VkAccelerationStructureTypeKHR, flags: VkBuildAccelerationStructureFlagsKHR = 0.VkBuildAccelerationStructureFlagsKHR, maxGeometryCount: uint32, pGeometryInfos: ptr VkAccelerationStructureCreateGeometryTypeInfoKHR, deviceAddress: VkDeviceAddress): VkAccelerationStructureCreateInfoKHR = +proc newVkSurfacePresentModeCompatibilityEXT*(sType: VkStructureType, pNext: pointer = nil, presentModeCount: uint32, pPresentModes: ptr VkPresentModeKHR): VkSurfacePresentModeCompatibilityEXT = result.sType = sType result.pNext = pNext - result.compactedSize = compactedSize - result.`type` = `type` - result.flags = flags - result.maxGeometryCount = maxGeometryCount - result.pGeometryInfos = pGeometryInfos - result.deviceAddress = deviceAddress + result.presentModeCount = presentModeCount + result.pPresentModes = pPresentModes -proc newVkAabbPositionsKHR*(minX: float32, minY: float32, minZ: float32, maxX: float32, maxY: float32, maxZ: float32): VkAabbPositionsKHR = - result.minX = minX - result.minY = minY - result.minZ = minZ - result.maxX = maxX - result.maxY = maxY - result.maxZ = maxZ +proc newVkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, swapchainMaintenance1: VkBool32): VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT = + result.sType = sType + result.pNext = pNext + result.swapchainMaintenance1 = swapchainMaintenance1 -proc newVkTransformMatrixKHR*(matrix: array[3, float32]): VkTransformMatrixKHR = - result.matrix = matrix +proc newVkSwapchainPresentFenceInfoEXT*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pFences: ptr VkFence): VkSwapchainPresentFenceInfoEXT = + result.sType = sType + result.pNext = pNext + result.swapchainCount = swapchainCount + result.pFences = pFences -proc newVkAccelerationStructureInstanceKHR*(transform: VkTransformMatrixKHR, instanceCustomIndex: uint32, mask: uint32, instanceShaderBindingTableRecordOffset: uint32, flags: VkGeometryInstanceFlagsKHR = 0.VkGeometryInstanceFlagsKHR, accelerationStructureReference: uint64): VkAccelerationStructureInstanceKHR = - result.transform = transform - result.instanceCustomIndex = instanceCustomIndex - result.mask = mask - result.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset - result.flags = flags - result.accelerationStructureReference = accelerationStructureReference +proc newVkSwapchainPresentModesCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, presentModeCount: uint32, pPresentModes: ptr VkPresentModeKHR): VkSwapchainPresentModesCreateInfoEXT = + result.sType = sType + result.pNext = pNext + result.presentModeCount = presentModeCount + result.pPresentModes = pPresentModes -proc newVkAccelerationStructureDeviceAddressInfoKHR*(sType: VkStructureType, pNext: pointer = nil, accelerationStructure: VkAccelerationStructureKHR): VkAccelerationStructureDeviceAddressInfoKHR = +proc newVkSwapchainPresentModeInfoEXT*(sType: VkStructureType, pNext: pointer = nil, swapchainCount: uint32, pPresentModes: ptr VkPresentModeKHR): VkSwapchainPresentModeInfoEXT = result.sType = sType result.pNext = pNext - result.accelerationStructure = accelerationStructure + result.swapchainCount = swapchainCount + result.pPresentModes = pPresentModes -proc newVkAccelerationStructureVersionKHR*(sType: VkStructureType, pNext: pointer = nil, versionData: ptr uint8): VkAccelerationStructureVersionKHR = +proc newVkSwapchainPresentScalingCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, scalingBehavior: VkPresentScalingFlagsEXT, presentGravityX: VkPresentGravityFlagsEXT, presentGravityY: VkPresentGravityFlagsEXT): VkSwapchainPresentScalingCreateInfoEXT = result.sType = sType result.pNext = pNext - result.versionData = versionData + result.scalingBehavior = scalingBehavior + result.presentGravityX = presentGravityX + result.presentGravityY = presentGravityY -proc newVkCopyAccelerationStructureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkAccelerationStructureKHR, dst: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureInfoKHR = +proc newVkReleaseSwapchainImagesInfoEXT*(sType: VkStructureType, pNext: pointer = nil, swapchain: VkSwapchainKHR, imageIndexCount: uint32, pImageIndices: ptr uint32): VkReleaseSwapchainImagesInfoEXT = result.sType = sType result.pNext = pNext - result.src = src - result.dst = dst - result.mode = mode + result.swapchain = swapchain + result.imageIndexCount = imageIndexCount + result.pImageIndices = pImageIndices -proc newVkCopyAccelerationStructureToMemoryInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkAccelerationStructureKHR, dst: VkDeviceOrHostAddressKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureToMemoryInfoKHR = +proc newVkPhysicalDeviceDepthBiasControlFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, depthBiasControl: VkBool32, leastRepresentableValueForceUnormRepresentation: VkBool32, floatRepresentation: VkBool32, depthBiasExact: VkBool32): VkPhysicalDeviceDepthBiasControlFeaturesEXT = result.sType = sType result.pNext = pNext - result.src = src - result.dst = dst - result.mode = mode + result.depthBiasControl = depthBiasControl + result.leastRepresentableValueForceUnormRepresentation = leastRepresentableValueForceUnormRepresentation + result.floatRepresentation = floatRepresentation + result.depthBiasExact = depthBiasExact -proc newVkCopyMemoryToAccelerationStructureInfoKHR*(sType: VkStructureType, pNext: pointer = nil, src: VkDeviceOrHostAddressConstKHR, dst: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): VkCopyMemoryToAccelerationStructureInfoKHR = +proc newVkPhysicalDeviceRayTracingInvocationReorderFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, rayTracingInvocationReorder: VkBool32): VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV = + result.sType = sType + result.pNext = pNext + result.rayTracingInvocationReorder = rayTracingInvocationReorder + +proc newVkPhysicalDeviceRayTracingInvocationReorderPropertiesNV*(sType: VkStructureType, pNext: pointer = nil, rayTracingInvocationReorderReorderingHint: VkRayTracingInvocationReorderModeNV): VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV = + result.sType = sType + result.pNext = pNext + result.rayTracingInvocationReorderReorderingHint = rayTracingInvocationReorderReorderingHint + +proc newVkDirectDriverLoadingInfoLUNARG*(sType: VkStructureType, pNext: pointer = nil, flags: VkDirectDriverLoadingFlagsLUNARG = 0.VkDirectDriverLoadingFlagsLUNARG, pfnGetInstanceProcAddr: PFN_vkGetInstanceProcAddrLUNARG): VkDirectDriverLoadingInfoLUNARG = + result.sType = sType + result.pNext = pNext + result.flags = flags + result.pfnGetInstanceProcAddr = pfnGetInstanceProcAddr + +proc newVkDirectDriverLoadingListLUNARG*(sType: VkStructureType, pNext: pointer = nil, mode: VkDirectDriverLoadingModeLUNARG, driverCount: uint32, pDrivers: ptr VkDirectDriverLoadingInfoLUNARG): VkDirectDriverLoadingListLUNARG = result.sType = sType result.pNext = pNext - result.src = src - result.dst = dst result.mode = mode + result.driverCount = driverCount + result.pDrivers = pDrivers -proc newVkRayTracingPipelineInterfaceCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, maxPayloadSize: uint32, maxAttributeSize: uint32, maxCallableSize: uint32): VkRayTracingPipelineInterfaceCreateInfoKHR = +proc newVkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM*(sType: VkStructureType, pNext: pointer = nil, multiviewPerViewViewports: VkBool32): VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = result.sType = sType result.pNext = pNext - result.maxPayloadSize = maxPayloadSize - result.maxAttributeSize = maxAttributeSize - result.maxCallableSize = maxCallableSize + result.multiviewPerViewViewports = multiviewPerViewViewports -proc newVkDeferredOperationInfoKHR*(sType: VkStructureType, pNext: pointer = nil, operationHandle: VkDeferredOperationKHR): VkDeferredOperationInfoKHR = +proc newVkPhysicalDeviceRayTracingPositionFetchFeaturesKHR*(sType: VkStructureType, pNext: pointer = nil, rayTracingPositionFetch: VkBool32): VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR = result.sType = sType result.pNext = pNext - result.operationHandle = operationHandle + result.rayTracingPositionFetch = rayTracingPositionFetch -proc newVkPipelineLibraryCreateInfoKHR*(sType: VkStructureType, pNext: pointer = nil, libraryCount: uint32, pLibraries: ptr VkPipeline): VkPipelineLibraryCreateInfoKHR = +proc newVkPhysicalDeviceShaderCorePropertiesARM*(sType: VkStructureType, pNext: pointer = nil, pixelRate: uint32, texelRate: uint32, fmaRate: uint32): VkPhysicalDeviceShaderCorePropertiesARM = result.sType = sType result.pNext = pNext - result.libraryCount = libraryCount - result.pLibraries = pLibraries + result.pixelRate = pixelRate + result.texelRate = texelRate + result.fmaRate = fmaRate -proc newVkPhysicalDeviceExtendedDynamicStateFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, extendedDynamicState: VkBool32): VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = +proc newVkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM*(sType: VkStructureType, pNext: pointer = nil, multiviewPerViewRenderAreas: VkBool32): VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = result.sType = sType result.pNext = pNext - result.extendedDynamicState = extendedDynamicState + result.multiviewPerViewRenderAreas = multiviewPerViewRenderAreas -proc newVkRenderPassTransformBeginInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, transform: VkSurfaceTransformFlagBitsKHR): VkRenderPassTransformBeginInfoQCOM = +proc newVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, perViewRenderAreaCount: uint32, pPerViewRenderAreas: ptr VkRect2D): VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = result.sType = sType result.pNext = pNext - result.transform = transform + result.perViewRenderAreaCount = perViewRenderAreaCount + result.pPerViewRenderAreas = pPerViewRenderAreas -proc newVkCommandBufferInheritanceRenderPassTransformInfoQCOM*(sType: VkStructureType, pNext: pointer = nil, transform: VkSurfaceTransformFlagBitsKHR, renderArea: VkRect2D): VkCommandBufferInheritanceRenderPassTransformInfoQCOM = +proc newVkQueryLowLatencySupportNV*(sType: VkStructureType, pNext: pointer = nil, pQueriedLowLatencyData: pointer = nil): VkQueryLowLatencySupportNV = result.sType = sType result.pNext = pNext - result.transform = transform - result.renderArea = renderArea + result.pQueriedLowLatencyData = pQueriedLowLatencyData -proc newVkPhysicalDeviceDiagnosticsConfigFeaturesNV*(sType: VkStructureType, pNext: pointer = nil, diagnosticsConfig: VkBool32): VkPhysicalDeviceDiagnosticsConfigFeaturesNV = +proc newVkMemoryMapInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkMemoryMapFlags = 0.VkMemoryMapFlags, memory: VkDeviceMemory, offset: VkDeviceSize, size: VkDeviceSize): VkMemoryMapInfoKHR = result.sType = sType result.pNext = pNext - result.diagnosticsConfig = diagnosticsConfig + result.flags = flags + result.memory = memory + result.offset = offset + result.size = size -proc newVkDeviceDiagnosticsConfigCreateInfoNV*(sType: VkStructureType, pNext: pointer = nil, flags: VkDeviceDiagnosticsConfigFlagsNV = 0.VkDeviceDiagnosticsConfigFlagsNV): VkDeviceDiagnosticsConfigCreateInfoNV = +proc newVkMemoryUnmapInfoKHR*(sType: VkStructureType, pNext: pointer = nil, flags: VkMemoryUnmapFlagsKHR = 0.VkMemoryUnmapFlagsKHR, memory: VkDeviceMemory): VkMemoryUnmapInfoKHR = result.sType = sType result.pNext = pNext result.flags = flags + result.memory = memory -proc newVkPhysicalDeviceRobustness2FeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, robustBufferAccess2: VkBool32, robustImageAccess2: VkBool32, nullDescriptor: VkBool32): VkPhysicalDeviceRobustness2FeaturesEXT = +proc newVkPhysicalDeviceShaderObjectFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderObject: VkBool32): VkPhysicalDeviceShaderObjectFeaturesEXT = result.sType = sType result.pNext = pNext - result.robustBufferAccess2 = robustBufferAccess2 - result.robustImageAccess2 = robustImageAccess2 - result.nullDescriptor = nullDescriptor + result.shaderObject = shaderObject -proc newVkPhysicalDeviceRobustness2PropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, robustStorageBufferAccessSizeAlignment: VkDeviceSize, robustUniformBufferAccessSizeAlignment: VkDeviceSize): VkPhysicalDeviceRobustness2PropertiesEXT = +proc newVkPhysicalDeviceShaderObjectPropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderBinaryUUID: array[VK_UUID_SIZE, uint8], shaderBinaryVersion: uint32): VkPhysicalDeviceShaderObjectPropertiesEXT = result.sType = sType result.pNext = pNext - result.robustStorageBufferAccessSizeAlignment = robustStorageBufferAccessSizeAlignment - result.robustUniformBufferAccessSizeAlignment = robustUniformBufferAccessSizeAlignment + result.shaderBinaryUUID = shaderBinaryUUID + result.shaderBinaryVersion = shaderBinaryVersion -proc newVkPhysicalDeviceImageRobustnessFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, robustImageAccess: VkBool32): VkPhysicalDeviceImageRobustnessFeaturesEXT = +proc newVkShaderCreateInfoEXT*(sType: VkStructureType, pNext: pointer = nil, flags: VkShaderCreateFlagsEXT = 0.VkShaderCreateFlagsEXT, stage: VkShaderStageFlagBits, nextStage: VkShaderStageFlags, codeType: VkShaderCodeTypeEXT, codeSize: uint, pCode: pointer = nil, pName: cstring, setLayoutCount: uint32, pSetLayouts: ptr VkDescriptorSetLayout, pushConstantRangeCount: uint32, pPushConstantRanges: ptr VkPushConstantRange, pSpecializationInfo: ptr VkSpecializationInfo): VkShaderCreateInfoEXT = result.sType = sType result.pNext = pNext - result.robustImageAccess = robustImageAccess + result.flags = flags + result.stage = stage + result.nextStage = nextStage + result.codeType = codeType + result.codeSize = codeSize + result.pCode = pCode + result.pName = pName + result.setLayoutCount = setLayoutCount + result.pSetLayouts = pSetLayouts + result.pushConstantRangeCount = pushConstantRangeCount + result.pPushConstantRanges = pPushConstantRanges + result.pSpecializationInfo = pSpecializationInfo -proc newVkPhysicalDevice4444FormatsFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, formatA4R4G4B4: VkBool32, formatA4B4G4R4: VkBool32): VkPhysicalDevice4444FormatsFeaturesEXT = +proc newVkPhysicalDeviceShaderTileImageFeaturesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderTileImageColorReadAccess: VkBool32, shaderTileImageDepthReadAccess: VkBool32, shaderTileImageStencilReadAccess: VkBool32): VkPhysicalDeviceShaderTileImageFeaturesEXT = result.sType = sType result.pNext = pNext - result.formatA4R4G4B4 = formatA4R4G4B4 - result.formatA4B4G4R4 = formatA4B4G4R4 + result.shaderTileImageColorReadAccess = shaderTileImageColorReadAccess + result.shaderTileImageDepthReadAccess = shaderTileImageDepthReadAccess + result.shaderTileImageStencilReadAccess = shaderTileImageStencilReadAccess + +proc newVkPhysicalDeviceShaderTileImagePropertiesEXT*(sType: VkStructureType, pNext: pointer = nil, shaderTileImageCoherentReadAccelerated: VkBool32, shaderTileImageReadSampleFromPixelRateInvocation: VkBool32, shaderTileImageReadFromHelperInvocation: VkBool32): VkPhysicalDeviceShaderTileImagePropertiesEXT = + result.sType = sType + result.pNext = pNext + result.shaderTileImageCoherentReadAccelerated = shaderTileImageCoherentReadAccelerated + result.shaderTileImageReadSampleFromPixelRateInvocation = shaderTileImageReadSampleFromPixelRateInvocation + result.shaderTileImageReadFromHelperInvocation = shaderTileImageReadFromHelperInvocation + +proc newVkImportScreenBufferInfoQNX*(sType: VkStructureType, pNext: pointer = nil, buffer: ptr _screen_buffer): VkImportScreenBufferInfoQNX = + result.sType = sType + result.pNext = pNext + result.buffer = buffer + +proc newVkScreenBufferPropertiesQNX*(sType: VkStructureType, pNext: pointer = nil, allocationSize: VkDeviceSize, memoryTypeBits: uint32): VkScreenBufferPropertiesQNX = + result.sType = sType + result.pNext = pNext + result.allocationSize = allocationSize + result.memoryTypeBits = memoryTypeBits + +proc newVkScreenBufferFormatPropertiesQNX*(sType: VkStructureType, pNext: pointer = nil, format: VkFormat, externalFormat: uint64, screenUsage: uint64, formatFeatures: VkFormatFeatureFlags, samplerYcbcrConversionComponents: VkComponentMapping, suggestedYcbcrModel: VkSamplerYcbcrModelConversion, suggestedYcbcrRange: VkSamplerYcbcrRange, suggestedXChromaOffset: VkChromaLocation, suggestedYChromaOffset: VkChromaLocation): VkScreenBufferFormatPropertiesQNX = + result.sType = sType + result.pNext = pNext + result.format = format + result.externalFormat = externalFormat + result.screenUsage = screenUsage + result.formatFeatures = formatFeatures + result.samplerYcbcrConversionComponents = samplerYcbcrConversionComponents + result.suggestedYcbcrModel = suggestedYcbcrModel + result.suggestedYcbcrRange = suggestedYcbcrRange + result.suggestedXChromaOffset = suggestedXChromaOffset + result.suggestedYChromaOffset = suggestedYChromaOffset + +proc newVkExternalFormatQNX*(sType: VkStructureType, pNext: pointer = nil, externalFormat: uint64): VkExternalFormatQNX = + result.sType = sType + result.pNext = pNext + result.externalFormat = externalFormat + +proc newVkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX*(sType: VkStructureType, pNext: pointer = nil, screenBufferImport: VkBool32): VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = + result.sType = sType + result.pNext = pNext + result.screenBufferImport = screenBufferImport # Procs var - vkCreateInstance*: proc(pCreateInfo: ptr VkInstanceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pInstance: ptr VkInstance ): VkResult {.stdcall.} vkDestroyInstance*: proc(instance: VkInstance, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkEnumeratePhysicalDevices*: proc(instance: VkInstance, pPhysicalDeviceCount: ptr uint32 , pPhysicalDevices: ptr VkPhysicalDevice ): VkResult {.stdcall.} vkGetDeviceProcAddr*: proc(device: VkDevice, pName: cstring ): PFN_vkVoidFunction {.stdcall.} @@ -9827,10 +16642,9 @@ var vkGetPhysicalDeviceFormatProperties*: proc(physicalDevice: VkPhysicalDevice, format: VkFormat, pFormatProperties: ptr VkFormatProperties ): void {.stdcall.} vkGetPhysicalDeviceImageFormatProperties*: proc(physicalDevice: VkPhysicalDevice, format: VkFormat, `type`: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags, pImageFormatProperties: ptr VkImageFormatProperties ): VkResult {.stdcall.} vkCreateDevice*: proc(physicalDevice: VkPhysicalDevice, pCreateInfo: ptr VkDeviceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pDevice: ptr VkDevice ): VkResult {.stdcall.} + vkCreateDevice*: proc(physicalDevice: VkPhysicalDevice, pCreateInfo: ptr VkDeviceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pDevice: ptr VkDevice ): VkResult {.stdcall.} vkDestroyDevice*: proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} - vkEnumerateInstanceVersion*: proc(pApiVersion: ptr uint32 ): VkResult {.stdcall.} - vkEnumerateInstanceLayerProperties*: proc(pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.} - vkEnumerateInstanceExtensionProperties*: proc(pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.} + vkEnumerateDeviceLayerProperties*: proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.} vkEnumerateDeviceLayerProperties*: proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.} vkEnumerateDeviceExtensionProperties*: proc(physicalDevice: VkPhysicalDevice, pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.} vkGetDeviceQueue*: proc(device: VkDevice, queueFamilyIndex: uint32, queueIndex: uint32, pQueue: ptr VkQueue ): void {.stdcall.} @@ -9879,11 +16693,15 @@ var vkCreateShaderModule*: proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo , pAllocator: ptr VkAllocationCallbacks , pShaderModule: ptr VkShaderModule ): VkResult {.stdcall.} vkDestroyShaderModule*: proc(device: VkDevice, shaderModule: VkShaderModule, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkCreatePipelineCache*: proc(device: VkDevice, pCreateInfo: ptr VkPipelineCacheCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineCache: ptr VkPipelineCache ): VkResult {.stdcall.} + vkCreatePipelineCache*: proc(device: VkDevice, pCreateInfo: ptr VkPipelineCacheCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineCache: ptr VkPipelineCache ): VkResult {.stdcall.} vkDestroyPipelineCache*: proc(device: VkDevice, pipelineCache: VkPipelineCache, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetPipelineCacheData*: proc(device: VkDevice, pipelineCache: VkPipelineCache, pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.} vkMergePipelineCaches*: proc(device: VkDevice, dstCache: VkPipelineCache, srcCacheCount: uint32, pSrcCaches: ptr VkPipelineCache ): VkResult {.stdcall.} vkCreateGraphicsPipelines*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkGraphicsPipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} + vkCreateGraphicsPipelines*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkGraphicsPipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} vkCreateComputePipelines*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkComputePipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} + vkCreateComputePipelines*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkComputePipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} + vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI*: proc(device: VkDevice, renderpass: VkRenderPass, pMaxWorkgroupSize: ptr VkExtent2D ): VkResult {.stdcall.} vkDestroyPipeline*: proc(device: VkDevice, pipeline: VkPipeline, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkCreatePipelineLayout*: proc(device: VkDevice, pCreateInfo: ptr VkPipelineLayoutCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineLayout: ptr VkPipelineLayout ): VkResult {.stdcall.} vkDestroyPipelineLayout*: proc(device: VkDevice, pipelineLayout: VkPipelineLayout, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} @@ -9911,6 +16729,7 @@ var vkEndCommandBuffer*: proc(commandBuffer: VkCommandBuffer): VkResult {.stdcall.} vkResetCommandBuffer*: proc(commandBuffer: VkCommandBuffer, flags: VkCommandBufferResetFlags): VkResult {.stdcall.} vkCmdBindPipeline*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline): void {.stdcall.} + vkCmdSetAttachmentFeedbackLoopEnableEXT*: proc(commandBuffer: VkCommandBuffer, aspectMask: VkImageAspectFlags): void {.stdcall.} vkCmdSetViewport*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewports: ptr VkViewport ): void {.stdcall.} vkCmdSetScissor*: proc(commandBuffer: VkCommandBuffer, firstScissor: uint32, scissorCount: uint32, pScissors: ptr VkRect2D ): void {.stdcall.} vkCmdSetLineWidth*: proc(commandBuffer: VkCommandBuffer, lineWidth: float32): void {.stdcall.} @@ -9925,15 +16744,22 @@ var vkCmdBindVertexBuffers*: proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize ): void {.stdcall.} vkCmdDraw*: proc(commandBuffer: VkCommandBuffer, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): void {.stdcall.} vkCmdDrawIndexed*: proc(commandBuffer: VkCommandBuffer, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, vertexOffset: int32, firstInstance: uint32): void {.stdcall.} + vkCmdDrawMultiEXT*: proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pVertexInfo: ptr VkMultiDrawInfoEXT , instanceCount: uint32, firstInstance: uint32, stride: uint32): void {.stdcall.} + vkCmdDrawMultiIndexedEXT*: proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pIndexInfo: ptr VkMultiDrawIndexedInfoEXT , instanceCount: uint32, firstInstance: uint32, stride: uint32, pVertexOffset: ptr int32 ): void {.stdcall.} vkCmdDrawIndirect*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.} vkCmdDrawIndexedIndirect*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.} vkCmdDispatch*: proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} vkCmdDispatchIndirect*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.} + vkCmdSubpassShadingHUAWEI*: proc(commandBuffer: VkCommandBuffer): void {.stdcall.} + vkCmdDrawClusterHUAWEI*: proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} + vkCmdDrawClusterIndirectHUAWEI*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.} vkCmdCopyBuffer*: proc(commandBuffer: VkCommandBuffer, srcBuffer: VkBuffer, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferCopy ): void {.stdcall.} vkCmdCopyImage*: proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageCopy ): void {.stdcall.} vkCmdBlitImage*: proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageBlit , filter: VkFilter): void {.stdcall.} vkCmdCopyBufferToImage*: proc(commandBuffer: VkCommandBuffer, srcBuffer: VkBuffer, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkBufferImageCopy ): void {.stdcall.} vkCmdCopyImageToBuffer*: proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferImageCopy ): void {.stdcall.} + vkCmdCopyMemoryIndirectNV*: proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32): void {.stdcall.} + vkCmdCopyMemoryToImageIndirectNV*: proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32, dstImage: VkImage, dstImageLayout: VkImageLayout, pImageSubresources: ptr VkImageSubresourceLayers ): void {.stdcall.} vkCmdUpdateBuffer*: proc(commandBuffer: VkCommandBuffer, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, dataSize: VkDeviceSize, pData: pointer ): void {.stdcall.} vkCmdFillBuffer*: proc(commandBuffer: VkCommandBuffer, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, size: VkDeviceSize, data: uint32): void {.stdcall.} vkCmdClearColorImage*: proc(commandBuffer: VkCommandBuffer, image: VkImage, imageLayout: VkImageLayout, pColor: ptr VkClearColorValue , rangeCount: uint32, pRanges: ptr VkImageSubresourceRange ): void {.stdcall.} @@ -9964,13 +16790,13 @@ var vkCreateDisplayModeKHR*: proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR, pCreateInfo: ptr VkDisplayModeCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pMode: ptr VkDisplayModeKHR ): VkResult {.stdcall.} vkGetDisplayPlaneCapabilitiesKHR*: proc(physicalDevice: VkPhysicalDevice, mode: VkDisplayModeKHR, planeIndex: uint32, pCapabilities: ptr VkDisplayPlaneCapabilitiesKHR ): VkResult {.stdcall.} vkCreateDisplayPlaneSurfaceKHR*: proc(instance: VkInstance, pCreateInfo: ptr VkDisplaySurfaceCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.} - vkCreateSharedSwapchainsKHR*: proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchains: ptr VkSwapchainKHR ): VkResult {.stdcall.} + vkCreateSharedSwapchainsKHR*: proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR , pCreateInfos: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchains: ptr VkSwapchainKHR ): VkResult {.stdcall.} vkDestroySurfaceKHR*: proc(instance: VkInstance, surface: VkSurfaceKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetPhysicalDeviceSurfaceSupportKHR*: proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, surface: VkSurfaceKHR, pSupported: ptr VkBool32 ): VkResult {.stdcall.} vkGetPhysicalDeviceSurfaceCapabilitiesKHR*: proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceCapabilities: ptr VkSurfaceCapabilitiesKHR ): VkResult {.stdcall.} vkGetPhysicalDeviceSurfaceFormatsKHR*: proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceFormatCount: ptr uint32 , pSurfaceFormats: ptr VkSurfaceFormatKHR ): VkResult {.stdcall.} vkGetPhysicalDeviceSurfacePresentModesKHR*: proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pPresentModeCount: ptr uint32 , pPresentModes: ptr VkPresentModeKHR ): VkResult {.stdcall.} - vkCreateSwapchainKHR*: proc(device: VkDevice, pCreateInfo: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchain: ptr VkSwapchainKHR ): VkResult {.stdcall.} + vkCreateSwapchainKHR*: proc(device: VkDevice, pCreateInfo: ptr VkSwapchainCreateInfoKHR , pCreateInfo: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchain: ptr VkSwapchainKHR ): VkResult {.stdcall.} vkDestroySwapchainKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetSwapchainImagesKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR, pSwapchainImageCount: ptr uint32 , pSwapchainImages: ptr VkImage ): VkResult {.stdcall.} vkAcquireNextImageKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR, timeout: uint64, semaphore: VkSemaphore, fence: VkFence, pImageIndex: ptr uint32 ): VkResult {.stdcall.} @@ -9988,6 +16814,8 @@ var vkGetPhysicalDeviceDirectFBPresentationSupportEXT*: proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, dfb: ptr IDirectFB ): VkBool32 {.stdcall.} vkCreateImagePipeSurfaceFUCHSIA*: proc(instance: VkInstance, pCreateInfo: ptr VkImagePipeSurfaceCreateInfoFUCHSIA , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.} vkCreateStreamDescriptorSurfaceGGP*: proc(instance: VkInstance, pCreateInfo: ptr VkStreamDescriptorSurfaceCreateInfoGGP , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.} + vkCreateScreenSurfaceQNX*: proc(instance: VkInstance, pCreateInfo: ptr VkScreenSurfaceCreateInfoQNX , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.} + vkGetPhysicalDeviceScreenPresentationSupportQNX*: proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, window: ptr _screen_window ): VkBool32 {.stdcall.} vkCreateDebugReportCallbackEXT*: proc(instance: VkInstance, pCreateInfo: ptr VkDebugReportCallbackCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pCallback: ptr VkDebugReportCallbackEXT ): VkResult {.stdcall.} vkDestroyDebugReportCallbackEXT*: proc(instance: VkInstance, callback: VkDebugReportCallbackEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkDebugReportMessageEXT*: proc(instance: VkInstance, flags: VkDebugReportFlagsEXT, objectType: VkDebugReportObjectTypeEXT, `object`: uint64, location: uint, messageCode: int32, pLayerPrefix: cstring , pMessage: cstring ): void {.stdcall.} @@ -10018,19 +16846,38 @@ var vkGetMemoryWin32HandlePropertiesKHR*: proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, handle: HANDLE, pMemoryWin32HandleProperties: ptr VkMemoryWin32HandlePropertiesKHR ): VkResult {.stdcall.} vkGetMemoryFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkMemoryGetFdInfoKHR , pFd: ptr int ): VkResult {.stdcall.} vkGetMemoryFdPropertiesKHR*: proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, fd: int, pMemoryFdProperties: ptr VkMemoryFdPropertiesKHR ): VkResult {.stdcall.} + vkGetMemoryZirconHandleFUCHSIA*: proc(device: VkDevice, pGetZirconHandleInfo: ptr VkMemoryGetZirconHandleInfoFUCHSIA , pZirconHandle: ptr zx_handle_t ): VkResult {.stdcall.} + vkGetMemoryZirconHandlePropertiesFUCHSIA*: proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, zirconHandle: zx_handle_t, pMemoryZirconHandleProperties: ptr VkMemoryZirconHandlePropertiesFUCHSIA ): VkResult {.stdcall.} + vkGetMemoryRemoteAddressNV*: proc(device: VkDevice, pMemoryGetRemoteAddressInfo: ptr VkMemoryGetRemoteAddressInfoNV , pAddress: ptr VkRemoteAddressNV ): VkResult {.stdcall.} + vkGetMemorySciBufNV*: proc(device: VkDevice, pGetSciBufInfo: ptr VkMemoryGetSciBufInfoNV , pHandle: ptr NvSciBufObj ): VkResult {.stdcall.} + vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV*: proc(physicalDevice: VkPhysicalDevice, handleType: VkExternalMemoryHandleTypeFlagBits, handle: NvSciBufObj, pMemorySciBufProperties: ptr VkMemorySciBufPropertiesNV ): VkResult {.stdcall.} + vkGetPhysicalDeviceSciBufAttributesNV*: proc(physicalDevice: VkPhysicalDevice, pAttributes: NvSciBufAttrList): VkResult {.stdcall.} vkGetPhysicalDeviceExternalSemaphoreProperties*: proc(physicalDevice: VkPhysicalDevice, pExternalSemaphoreInfo: ptr VkPhysicalDeviceExternalSemaphoreInfo , pExternalSemaphoreProperties: ptr VkExternalSemaphoreProperties ): void {.stdcall.} vkGetSemaphoreWin32HandleKHR*: proc(device: VkDevice, pGetWin32HandleInfo: ptr VkSemaphoreGetWin32HandleInfoKHR , pHandle: ptr HANDLE ): VkResult {.stdcall.} vkImportSemaphoreWin32HandleKHR*: proc(device: VkDevice, pImportSemaphoreWin32HandleInfo: ptr VkImportSemaphoreWin32HandleInfoKHR ): VkResult {.stdcall.} vkGetSemaphoreFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkSemaphoreGetFdInfoKHR , pFd: ptr int ): VkResult {.stdcall.} vkImportSemaphoreFdKHR*: proc(device: VkDevice, pImportSemaphoreFdInfo: ptr VkImportSemaphoreFdInfoKHR ): VkResult {.stdcall.} + vkGetSemaphoreZirconHandleFUCHSIA*: proc(device: VkDevice, pGetZirconHandleInfo: ptr VkSemaphoreGetZirconHandleInfoFUCHSIA , pZirconHandle: ptr zx_handle_t ): VkResult {.stdcall.} + vkImportSemaphoreZirconHandleFUCHSIA*: proc(device: VkDevice, pImportSemaphoreZirconHandleInfo: ptr VkImportSemaphoreZirconHandleInfoFUCHSIA ): VkResult {.stdcall.} vkGetPhysicalDeviceExternalFenceProperties*: proc(physicalDevice: VkPhysicalDevice, pExternalFenceInfo: ptr VkPhysicalDeviceExternalFenceInfo , pExternalFenceProperties: ptr VkExternalFenceProperties ): void {.stdcall.} vkGetFenceWin32HandleKHR*: proc(device: VkDevice, pGetWin32HandleInfo: ptr VkFenceGetWin32HandleInfoKHR , pHandle: ptr HANDLE ): VkResult {.stdcall.} vkImportFenceWin32HandleKHR*: proc(device: VkDevice, pImportFenceWin32HandleInfo: ptr VkImportFenceWin32HandleInfoKHR ): VkResult {.stdcall.} vkGetFenceFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkFenceGetFdInfoKHR , pFd: ptr int ): VkResult {.stdcall.} vkImportFenceFdKHR*: proc(device: VkDevice, pImportFenceFdInfo: ptr VkImportFenceFdInfoKHR ): VkResult {.stdcall.} + vkGetFenceSciSyncFenceNV*: proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.} + vkGetFenceSciSyncObjNV*: proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.} + vkImportFenceSciSyncFenceNV*: proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.} + vkImportFenceSciSyncObjNV*: proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.} + vkGetSemaphoreSciSyncObjNV*: proc(device: VkDevice, pGetSciSyncInfo: ptr VkSemaphoreGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.} + vkImportSemaphoreSciSyncObjNV*: proc(device: VkDevice, pImportSemaphoreSciSyncInfo: ptr VkImportSemaphoreSciSyncInfoNV ): VkResult {.stdcall.} + vkGetPhysicalDeviceSciSyncAttributesNV*: proc(physicalDevice: VkPhysicalDevice, pSciSyncAttributesInfo: ptr VkSciSyncAttributesInfoNV , pAttributes: NvSciSyncAttrList): VkResult {.stdcall.} + vkCreateSemaphoreSciSyncPoolNV*: proc(device: VkDevice, pCreateInfo: ptr VkSemaphoreSciSyncPoolCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pSemaphorePool: ptr VkSemaphoreSciSyncPoolNV ): VkResult {.stdcall.} + vkDestroySemaphoreSciSyncPoolNV*: proc(device: VkDevice, semaphorePool: VkSemaphoreSciSyncPoolNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkReleaseDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR): VkResult {.stdcall.} vkAcquireXlibDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, dpy: ptr Display , display: VkDisplayKHR): VkResult {.stdcall.} vkGetRandROutputDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, dpy: ptr Display , rrOutput: RROutput, pDisplay: ptr VkDisplayKHR ): VkResult {.stdcall.} + vkAcquireWinrtDisplayNV*: proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR): VkResult {.stdcall.} + vkGetWinrtDisplayNV*: proc(physicalDevice: VkPhysicalDevice, deviceRelativeId: uint32, pDisplay: ptr VkDisplayKHR ): VkResult {.stdcall.} vkDisplayPowerControlEXT*: proc(device: VkDevice, display: VkDisplayKHR, pDisplayPowerInfo: ptr VkDisplayPowerInfoEXT ): VkResult {.stdcall.} vkRegisterDeviceEventEXT*: proc(device: VkDevice, pDeviceEventInfo: ptr VkDeviceEventInfoEXT , pAllocator: ptr VkAllocationCallbacks , pFence: ptr VkFence ): VkResult {.stdcall.} vkRegisterDisplayEventEXT*: proc(device: VkDevice, display: VkDisplayKHR, pDisplayEventInfo: ptr VkDisplayEventInfoEXT , pAllocator: ptr VkAllocationCallbacks , pFence: ptr VkFence ): VkResult {.stdcall.} @@ -10059,6 +16906,8 @@ var vkCreateMetalSurfaceEXT*: proc(instance: VkInstance, pCreateInfo: ptr VkMetalSurfaceCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.} vkCmdSetViewportWScalingNV*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportWScalings: ptr VkViewportWScalingNV ): void {.stdcall.} vkCmdSetDiscardRectangleEXT*: proc(commandBuffer: VkCommandBuffer, firstDiscardRectangle: uint32, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D ): void {.stdcall.} + vkCmdSetDiscardRectangleEnableEXT*: proc(commandBuffer: VkCommandBuffer, discardRectangleEnable: VkBool32): void {.stdcall.} + vkCmdSetDiscardRectangleModeEXT*: proc(commandBuffer: VkCommandBuffer, discardRectangleMode: VkDiscardRectangleModeEXT): void {.stdcall.} vkCmdSetSampleLocationsEXT*: proc(commandBuffer: VkCommandBuffer, pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT ): void {.stdcall.} vkGetPhysicalDeviceMultisamplePropertiesEXT*: proc(physicalDevice: VkPhysicalDevice, samples: VkSampleCountFlagBits, pMultisampleProperties: ptr VkMultisamplePropertiesEXT ): void {.stdcall.} vkGetPhysicalDeviceSurfaceCapabilities2KHR*: proc(physicalDevice: VkPhysicalDevice, pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR , pSurfaceCapabilities: ptr VkSurfaceCapabilities2KHR ): VkResult {.stdcall.} @@ -10070,6 +16919,9 @@ var vkGetBufferMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkBufferMemoryRequirementsInfo2 , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.} vkGetImageMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkImageMemoryRequirementsInfo2 , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.} vkGetImageSparseMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkImageSparseMemoryRequirementsInfo2 , pSparseMemoryRequirementCount: ptr uint32 , pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2 ): void {.stdcall.} + vkGetDeviceBufferMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceBufferMemoryRequirements , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.} + vkGetDeviceImageMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.} + vkGetDeviceImageSparseMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements , pSparseMemoryRequirementCount: ptr uint32 , pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2 ): void {.stdcall.} vkCreateSamplerYcbcrConversion*: proc(device: VkDevice, pCreateInfo: ptr VkSamplerYcbcrConversionCreateInfo , pAllocator: ptr VkAllocationCallbacks , pYcbcrConversion: ptr VkSamplerYcbcrConversion ): VkResult {.stdcall.} vkDestroySamplerYcbcrConversion*: proc(device: VkDevice, ycbcrConversion: VkSamplerYcbcrConversion, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetDeviceQueue2*: proc(device: VkDevice, pQueueInfo: ptr VkDeviceQueueInfo2 , pQueue: ptr VkQueue ): void {.stdcall.} @@ -10119,38 +16971,49 @@ var vkCmdEndQueryIndexedEXT*: proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32, index: uint32): void {.stdcall.} vkCmdDrawIndirectByteCountEXT*: proc(commandBuffer: VkCommandBuffer, instanceCount: uint32, firstInstance: uint32, counterBuffer: VkBuffer, counterBufferOffset: VkDeviceSize, counterOffset: uint32, vertexStride: uint32): void {.stdcall.} vkCmdSetExclusiveScissorNV*: proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D ): void {.stdcall.} + vkCmdSetExclusiveScissorEnableNV*: proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissorEnables: ptr VkBool32 ): void {.stdcall.} vkCmdBindShadingRateImageNV*: proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.} vkCmdSetViewportShadingRatePaletteNV*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pShadingRatePalettes: ptr VkShadingRatePaletteNV ): void {.stdcall.} vkCmdSetCoarseSampleOrderNV*: proc(commandBuffer: VkCommandBuffer, sampleOrderType: VkCoarseSampleOrderTypeNV, customSampleOrderCount: uint32, pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV ): void {.stdcall.} vkCmdDrawMeshTasksNV*: proc(commandBuffer: VkCommandBuffer, taskCount: uint32, firstTask: uint32): void {.stdcall.} vkCmdDrawMeshTasksIndirectNV*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.} vkCmdDrawMeshTasksIndirectCountNV*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.} + vkCmdDrawMeshTasksEXT*: proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} + vkCmdDrawMeshTasksIndirectEXT*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.} + vkCmdDrawMeshTasksIndirectCountEXT*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.} vkCompileDeferredNV*: proc(device: VkDevice, pipeline: VkPipeline, shader: uint32): VkResult {.stdcall.} vkCreateAccelerationStructureNV*: proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pAccelerationStructure: ptr VkAccelerationStructureNV ): VkResult {.stdcall.} + vkCmdBindInvocationMaskHUAWEI*: proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.} vkDestroyAccelerationStructureKHR*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} - vkGetAccelerationStructureMemoryRequirementsKHR*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoKHR , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.} + vkDestroyAccelerationStructureNV*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetAccelerationStructureMemoryRequirementsNV*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoNV , pMemoryRequirements: ptr VkMemoryRequirements2KHR ): void {.stdcall.} - vkBindAccelerationStructureMemoryKHR*: proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoKHR ): VkResult {.stdcall.} - vkCmdCopyAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureKHR, src: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): void {.stdcall.} + vkBindAccelerationStructureMemoryNV*: proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoNV ): VkResult {.stdcall.} + vkCmdCopyAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, mode: VkCopyAccelerationStructureModeKHR): void {.stdcall.} vkCmdCopyAccelerationStructureKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): void {.stdcall.} - vkCopyAccelerationStructureKHR*: proc(device: VkDevice, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): VkResult {.stdcall.} + vkCopyAccelerationStructureKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): VkResult {.stdcall.} vkCmdCopyAccelerationStructureToMemoryKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): void {.stdcall.} - vkCopyAccelerationStructureToMemoryKHR*: proc(device: VkDevice, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): VkResult {.stdcall.} + vkCopyAccelerationStructureToMemoryKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): VkResult {.stdcall.} vkCmdCopyMemoryToAccelerationStructureKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): void {.stdcall.} - vkCopyMemoryToAccelerationStructureKHR*: proc(device: VkDevice, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): VkResult {.stdcall.} + vkCopyMemoryToAccelerationStructureKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): VkResult {.stdcall.} vkCmdWriteAccelerationStructuresPropertiesKHR*: proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} - vkCmdBuildAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV , instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureKHR, src: VkAccelerationStructureKHR, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.} + vkCmdWriteAccelerationStructuresPropertiesNV*: proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureNV , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} + vkCmdBuildAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV , instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.} vkWriteAccelerationStructuresPropertiesKHR*: proc(device: VkDevice, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR , queryType: VkQueryType, dataSize: uint, pData: pointer , stride: uint): VkResult {.stdcall.} - vkCmdTraceRaysKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR , pMissShaderBindingTable: ptr VkStridedBufferRegionKHR , pHitShaderBindingTable: ptr VkStridedBufferRegionKHR , pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR , width: uint32, height: uint32, depth: uint32): void {.stdcall.} + vkCmdTraceRaysKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , width: uint32, height: uint32, depth: uint32): void {.stdcall.} vkCmdTraceRaysNV*: proc(commandBuffer: VkCommandBuffer, raygenShaderBindingTableBuffer: VkBuffer, raygenShaderBindingOffset: VkDeviceSize, missShaderBindingTableBuffer: VkBuffer, missShaderBindingOffset: VkDeviceSize, missShaderBindingStride: VkDeviceSize, hitShaderBindingTableBuffer: VkBuffer, hitShaderBindingOffset: VkDeviceSize, hitShaderBindingStride: VkDeviceSize, callableShaderBindingTableBuffer: VkBuffer, callableShaderBindingOffset: VkDeviceSize, callableShaderBindingStride: VkDeviceSize, width: uint32, height: uint32, depth: uint32): void {.stdcall.} vkGetRayTracingShaderGroupHandlesKHR*: proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.} vkGetRayTracingCaptureReplayShaderGroupHandlesKHR*: proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.} - vkGetAccelerationStructureHandleNV*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, dataSize: uint, pData: pointer ): VkResult {.stdcall.} + vkGetAccelerationStructureHandleNV*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, dataSize: uint, pData: pointer ): VkResult {.stdcall.} + vkCreateRayTracingPipelinesNV*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} vkCreateRayTracingPipelinesNV*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} - vkCreateRayTracingPipelinesKHR*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} + vkCreateRayTracingPipelinesKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} + vkCreateRayTracingPipelinesKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.} vkGetPhysicalDeviceCooperativeMatrixPropertiesNV*: proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32 , pProperties: ptr VkCooperativeMatrixPropertiesNV ): VkResult {.stdcall.} - vkCmdTraceRaysIndirectKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR , pMissShaderBindingTable: ptr VkStridedBufferRegionKHR , pHitShaderBindingTable: ptr VkStridedBufferRegionKHR , pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR , buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.} - vkGetDeviceAccelerationStructureCompatibilityKHR*: proc(device: VkDevice, version: ptr VkAccelerationStructureVersionKHR ): VkResult {.stdcall.} + vkCmdTraceRaysIndirectKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , indirectDeviceAddress: VkDeviceAddress): void {.stdcall.} + vkCmdTraceRaysIndirect2KHR*: proc(commandBuffer: VkCommandBuffer, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.} + vkGetDeviceAccelerationStructureCompatibilityKHR*: proc(device: VkDevice, pVersionInfo: ptr VkAccelerationStructureVersionInfoKHR , pCompatibility: ptr VkAccelerationStructureCompatibilityKHR ): void {.stdcall.} + vkGetRayTracingShaderGroupStackSizeKHR*: proc(device: VkDevice, pipeline: VkPipeline, group: uint32, groupShader: VkShaderGroupShaderKHR): VkDeviceSize {.stdcall.} + vkCmdSetRayTracingPipelineStackSizeKHR*: proc(commandBuffer: VkCommandBuffer, pipelineStackSize: uint32): void {.stdcall.} vkGetImageViewHandleNVX*: proc(device: VkDevice, pInfo: ptr VkImageViewHandleInfoNVX ): uint32 {.stdcall.} vkGetImageViewAddressNVX*: proc(device: VkDevice, imageView: VkImageView, pProperties: ptr VkImageViewAddressPropertiesNVX ): VkResult {.stdcall.} vkGetPhysicalDeviceSurfacePresentModes2EXT*: proc(physicalDevice: VkPhysicalDevice, pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR , pPresentModeCount: ptr uint32 , pPresentModes: ptr VkPresentModeKHR ): VkResult {.stdcall.} @@ -10180,37 +17043,179 @@ var vkGetPipelineExecutableStatisticsKHR*: proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR , pStatisticCount: ptr uint32 , pStatistics: ptr VkPipelineExecutableStatisticKHR ): VkResult {.stdcall.} vkGetPipelineExecutableInternalRepresentationsKHR*: proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR , pInternalRepresentationCount: ptr uint32 , pInternalRepresentations: ptr VkPipelineExecutableInternalRepresentationKHR ): VkResult {.stdcall.} vkCmdSetLineStippleEXT*: proc(commandBuffer: VkCommandBuffer, lineStippleFactor: uint32, lineStipplePattern: uint16): void {.stdcall.} - vkGetPhysicalDeviceToolPropertiesEXT*: proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32 , pToolProperties: ptr VkPhysicalDeviceToolPropertiesEXT ): VkResult {.stdcall.} + vkGetFaultData*: proc(device: VkDevice, faultQueryBehavior: VkFaultQueryBehavior, pUnrecordedFaults: ptr VkBool32 , pFaultCount: ptr uint32 , pFaults: ptr VkFaultData ): VkResult {.stdcall.} + vkGetPhysicalDeviceToolProperties*: proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32 , pToolProperties: ptr VkPhysicalDeviceToolProperties ): VkResult {.stdcall.} vkCreateAccelerationStructureKHR*: proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pAccelerationStructure: ptr VkAccelerationStructureKHR ): VkResult {.stdcall.} - vkCmdBuildAccelerationStructureKHR*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR ): void {.stdcall.} - vkCmdBuildAccelerationStructureIndirectKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR , indirectBuffer: VkBuffer, indirectOffset: VkDeviceSize, indirectStride: uint32): void {.stdcall.} - vkBuildAccelerationStructureKHR*: proc(device: VkDevice, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR ): VkResult {.stdcall.} + vkCmdBuildAccelerationStructuresKHR*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR ): void {.stdcall.} + vkCmdBuildAccelerationStructuresIndirectKHR*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , pIndirectDeviceAddresses: ptr VkDeviceAddress , pIndirectStrides: ptr uint32 , ppMaxPrimitiveCounts: ptr ptr uint32 ): void {.stdcall.} + vkBuildAccelerationStructuresKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR ): VkResult {.stdcall.} vkGetAccelerationStructureDeviceAddressKHR*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureDeviceAddressInfoKHR ): VkDeviceAddress {.stdcall.} vkCreateDeferredOperationKHR*: proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks , pDeferredOperation: ptr VkDeferredOperationKHR ): VkResult {.stdcall.} vkDestroyDeferredOperationKHR*: proc(device: VkDevice, operation: VkDeferredOperationKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} vkGetDeferredOperationMaxConcurrencyKHR*: proc(device: VkDevice, operation: VkDeferredOperationKHR): uint32 {.stdcall.} vkGetDeferredOperationResultKHR*: proc(device: VkDevice, operation: VkDeferredOperationKHR): VkResult {.stdcall.} vkDeferredOperationJoinKHR*: proc(device: VkDevice, operation: VkDeferredOperationKHR): VkResult {.stdcall.} - vkCmdSetCullModeEXT*: proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.} - vkCmdSetFrontFaceEXT*: proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.} - vkCmdSetPrimitiveTopologyEXT*: proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.} - vkCmdSetViewportWithCountEXT*: proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport ): void {.stdcall.} - vkCmdSetScissorWithCountEXT*: proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D ): void {.stdcall.} - vkCmdBindVertexBuffers2EXT*: proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize , pSizes: ptr VkDeviceSize , pStrides: ptr VkDeviceSize ): void {.stdcall.} - vkCmdSetDepthTestEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.} - vkCmdSetDepthWriteEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.} - vkCmdSetDepthCompareOpEXT*: proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.} - vkCmdSetDepthBoundsTestEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.} - vkCmdSetStencilTestEnableEXT*: proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.} - vkCmdSetStencilOpEXT*: proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.} - vkCreatePrivateDataSlotEXT*: proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pPrivateDataSlot: ptr VkPrivateDataSlotEXT ): VkResult {.stdcall.} - vkDestroyPrivateDataSlotEXT*: proc(device: VkDevice, privateDataSlot: VkPrivateDataSlotEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} - vkSetPrivateDataEXT*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlotEXT, data: uint64): VkResult {.stdcall.} - vkGetPrivateDataEXT*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlotEXT, pData: ptr uint64 ): void {.stdcall.} + vkCmdSetCullMode*: proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.} + vkCmdSetFrontFace*: proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.} + vkCmdSetPrimitiveTopology*: proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.} + vkCmdSetViewportWithCount*: proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport ): void {.stdcall.} + vkCmdSetScissorWithCount*: proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D ): void {.stdcall.} + vkCmdBindVertexBuffers2*: proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize , pSizes: ptr VkDeviceSize , pStrides: ptr VkDeviceSize ): void {.stdcall.} + vkCmdSetDepthTestEnable*: proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.} + vkCmdSetDepthWriteEnable*: proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.} + vkCmdSetDepthCompareOp*: proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.} + vkCmdSetDepthBoundsTestEnable*: proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.} + vkCmdSetStencilTestEnable*: proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.} + vkCmdSetStencilOp*: proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.} + vkCmdSetPatchControlPointsEXT*: proc(commandBuffer: VkCommandBuffer, patchControlPoints: uint32): void {.stdcall.} + vkCmdSetRasterizerDiscardEnable*: proc(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32): void {.stdcall.} + vkCmdSetDepthBiasEnable*: proc(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32): void {.stdcall.} + vkCmdSetLogicOpEXT*: proc(commandBuffer: VkCommandBuffer, logicOp: VkLogicOp): void {.stdcall.} + vkCmdSetPrimitiveRestartEnable*: proc(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32): void {.stdcall.} + vkCmdSetTessellationDomainOriginEXT*: proc(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin): void {.stdcall.} + vkCmdSetDepthClampEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32): void {.stdcall.} + vkCmdSetPolygonModeEXT*: proc(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode): void {.stdcall.} + vkCmdSetRasterizationSamplesEXT*: proc(commandBuffer: VkCommandBuffer, rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.} + vkCmdSetSampleMaskEXT*: proc(commandBuffer: VkCommandBuffer, samples: VkSampleCountFlagBits, pSampleMask: ptr VkSampleMask ): void {.stdcall.} + vkCmdSetAlphaToCoverageEnableEXT*: proc(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32): void {.stdcall.} + vkCmdSetAlphaToOneEnableEXT*: proc(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32): void {.stdcall.} + vkCmdSetLogicOpEnableEXT*: proc(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32): void {.stdcall.} + vkCmdSetColorBlendEnableEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEnables: ptr VkBool32 ): void {.stdcall.} + vkCmdSetColorBlendEquationEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEquations: ptr VkColorBlendEquationEXT ): void {.stdcall.} + vkCmdSetColorWriteMaskEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorWriteMasks: ptr VkColorComponentFlags ): void {.stdcall.} + vkCmdSetRasterizationStreamEXT*: proc(commandBuffer: VkCommandBuffer, rasterizationStream: uint32): void {.stdcall.} + vkCmdSetConservativeRasterizationModeEXT*: proc(commandBuffer: VkCommandBuffer, conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.stdcall.} + vkCmdSetExtraPrimitiveOverestimationSizeEXT*: proc(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: float32): void {.stdcall.} + vkCmdSetDepthClipEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32): void {.stdcall.} + vkCmdSetSampleLocationsEnableEXT*: proc(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32): void {.stdcall.} + vkCmdSetColorBlendAdvancedEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT ): void {.stdcall.} + vkCmdSetProvokingVertexModeEXT*: proc(commandBuffer: VkCommandBuffer, provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.} + vkCmdSetLineRasterizationModeEXT*: proc(commandBuffer: VkCommandBuffer, lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.} + vkCmdSetLineStippleEnableEXT*: proc(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32): void {.stdcall.} + vkCmdSetDepthClipNegativeOneToOneEXT*: proc(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32): void {.stdcall.} + vkCmdSetViewportWScalingEnableNV*: proc(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32): void {.stdcall.} + vkCmdSetViewportSwizzleNV*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV ): void {.stdcall.} + vkCmdSetCoverageToColorEnableNV*: proc(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32): void {.stdcall.} + vkCmdSetCoverageToColorLocationNV*: proc(commandBuffer: VkCommandBuffer, coverageToColorLocation: uint32): void {.stdcall.} + vkCmdSetCoverageModulationModeNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.} + vkCmdSetCoverageModulationTableEnableNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32): void {.stdcall.} + vkCmdSetCoverageModulationTableNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32 ): void {.stdcall.} + vkCmdSetShadingRateImageEnableNV*: proc(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32): void {.stdcall.} + vkCmdSetCoverageReductionModeNV*: proc(commandBuffer: VkCommandBuffer, coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.} + vkCmdSetRepresentativeFragmentTestEnableNV*: proc(commandBuffer: VkCommandBuffer, representativeFragmentTestEnable: VkBool32): void {.stdcall.} + vkCreatePrivateDataSlot*: proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPrivateDataSlot: ptr VkPrivateDataSlot ): VkResult {.stdcall.} + vkDestroyPrivateDataSlot*: proc(device: VkDevice, privateDataSlot: VkPrivateDataSlot, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkSetPrivateData*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, data: uint64): VkResult {.stdcall.} + vkGetPrivateData*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, pData: ptr uint64 ): void {.stdcall.} + vkCmdCopyBuffer2*: proc(commandBuffer: VkCommandBuffer, pCopyBufferInfo: ptr VkCopyBufferInfo2 ): void {.stdcall.} + vkCmdCopyImage2*: proc(commandBuffer: VkCommandBuffer, pCopyImageInfo: ptr VkCopyImageInfo2 ): void {.stdcall.} + vkCmdBlitImage2*: proc(commandBuffer: VkCommandBuffer, pBlitImageInfo: ptr VkBlitImageInfo2 ): void {.stdcall.} + vkCmdCopyBufferToImage2*: proc(commandBuffer: VkCommandBuffer, pCopyBufferToImageInfo: ptr VkCopyBufferToImageInfo2 ): void {.stdcall.} + vkCmdCopyImageToBuffer2*: proc(commandBuffer: VkCommandBuffer, pCopyImageToBufferInfo: ptr VkCopyImageToBufferInfo2 ): void {.stdcall.} + vkCmdResolveImage2*: proc(commandBuffer: VkCommandBuffer, pResolveImageInfo: ptr VkResolveImageInfo2 ): void {.stdcall.} + vkCmdRefreshObjectsKHR*: proc(commandBuffer: VkCommandBuffer, pRefreshObjects: ptr VkRefreshObjectListKHR ): void {.stdcall.} + vkGetPhysicalDeviceRefreshableObjectTypesKHR*: proc(physicalDevice: VkPhysicalDevice, pRefreshableObjectTypeCount: ptr uint32 , pRefreshableObjectTypes: ptr VkObjectType ): VkResult {.stdcall.} + vkCmdSetFragmentShadingRateKHR*: proc(commandBuffer: VkCommandBuffer, pFragmentSize: ptr VkExtent2D , combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.} + vkGetPhysicalDeviceFragmentShadingRatesKHR*: proc(physicalDevice: VkPhysicalDevice, pFragmentShadingRateCount: ptr uint32 , pFragmentShadingRates: ptr VkPhysicalDeviceFragmentShadingRateKHR ): VkResult {.stdcall.} + vkCmdSetFragmentShadingRateEnumNV*: proc(commandBuffer: VkCommandBuffer, shadingRate: VkFragmentShadingRateNV, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.} + vkGetAccelerationStructureBuildSizesKHR*: proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR , pMaxPrimitiveCounts: ptr uint32 , pSizeInfo: ptr VkAccelerationStructureBuildSizesInfoKHR ): void {.stdcall.} + vkCmdSetVertexInputEXT*: proc(commandBuffer: VkCommandBuffer, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT , vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT ): void {.stdcall.} + vkCmdSetColorWriteEnableEXT*: proc(commandBuffer: VkCommandBuffer, attachmentCount: uint32, pColorWriteEnables: ptr VkBool32 ): void {.stdcall.} + vkCmdSetEvent2*: proc(commandBuffer: VkCommandBuffer, event: VkEvent, pDependencyInfo: ptr VkDependencyInfo ): void {.stdcall.} + vkCmdResetEvent2*: proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags2): void {.stdcall.} + vkCmdWaitEvents2*: proc(commandBuffer: VkCommandBuffer, eventCount: uint32, pEvents: ptr VkEvent , pDependencyInfos: ptr VkDependencyInfo ): void {.stdcall.} + vkCmdPipelineBarrier2*: proc(commandBuffer: VkCommandBuffer, pDependencyInfo: ptr VkDependencyInfo ): void {.stdcall.} + vkQueueSubmit2*: proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo2 , fence: VkFence): VkResult {.stdcall.} + vkCmdWriteTimestamp2*: proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, queryPool: VkQueryPool, query: uint32): void {.stdcall.} + vkCmdWriteBufferMarker2AMD*: proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, marker: uint32): void {.stdcall.} + vkGetQueueCheckpointData2NV*: proc(queue: VkQueue, pCheckpointDataCount: ptr uint32 , pCheckpointData: ptr VkCheckpointData2NV ): void {.stdcall.} + vkGetCommandPoolMemoryConsumption*: proc(device: VkDevice, commandPool: VkCommandPool, commandBuffer: VkCommandBuffer, pConsumption: ptr VkCommandPoolMemoryConsumption ): void {.stdcall.} + vkGetPhysicalDeviceVideoCapabilitiesKHR*: proc(physicalDevice: VkPhysicalDevice, pVideoProfile: ptr VkVideoProfileInfoKHR , pCapabilities: ptr VkVideoCapabilitiesKHR ): VkResult {.stdcall.} + vkGetPhysicalDeviceVideoFormatPropertiesKHR*: proc(physicalDevice: VkPhysicalDevice, pVideoFormatInfo: ptr VkPhysicalDeviceVideoFormatInfoKHR , pVideoFormatPropertyCount: ptr uint32 , pVideoFormatProperties: ptr VkVideoFormatPropertiesKHR ): VkResult {.stdcall.} + vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR*: proc(physicalDevice: VkPhysicalDevice, pQualityLevelInfo: ptr VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR , pQualityLevelProperties: ptr VkVideoEncodeQualityLevelPropertiesKHR ): VkResult {.stdcall.} + vkCreateVideoSessionKHR*: proc(device: VkDevice, pCreateInfo: ptr VkVideoSessionCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pVideoSession: ptr VkVideoSessionKHR ): VkResult {.stdcall.} + vkDestroyVideoSessionKHR*: proc(device: VkDevice, videoSession: VkVideoSessionKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkCreateVideoSessionParametersKHR*: proc(device: VkDevice, pCreateInfo: ptr VkVideoSessionParametersCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pVideoSessionParameters: ptr VkVideoSessionParametersKHR ): VkResult {.stdcall.} + vkUpdateVideoSessionParametersKHR*: proc(device: VkDevice, videoSessionParameters: VkVideoSessionParametersKHR, pUpdateInfo: ptr VkVideoSessionParametersUpdateInfoKHR ): VkResult {.stdcall.} + vkGetEncodedVideoSessionParametersKHR*: proc(device: VkDevice, pVideoSessionParametersInfo: ptr VkVideoEncodeSessionParametersGetInfoKHR , pFeedbackInfo: ptr VkVideoEncodeSessionParametersFeedbackInfoKHR , pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.} + vkDestroyVideoSessionParametersKHR*: proc(device: VkDevice, videoSessionParameters: VkVideoSessionParametersKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkGetVideoSessionMemoryRequirementsKHR*: proc(device: VkDevice, videoSession: VkVideoSessionKHR, pMemoryRequirementsCount: ptr uint32 , pMemoryRequirements: ptr VkVideoSessionMemoryRequirementsKHR ): VkResult {.stdcall.} + vkBindVideoSessionMemoryKHR*: proc(device: VkDevice, videoSession: VkVideoSessionKHR, bindSessionMemoryInfoCount: uint32, pBindSessionMemoryInfos: ptr VkBindVideoSessionMemoryInfoKHR ): VkResult {.stdcall.} + vkCmdDecodeVideoKHR*: proc(commandBuffer: VkCommandBuffer, pDecodeInfo: ptr VkVideoDecodeInfoKHR ): void {.stdcall.} + vkCmdBeginVideoCodingKHR*: proc(commandBuffer: VkCommandBuffer, pBeginInfo: ptr VkVideoBeginCodingInfoKHR ): void {.stdcall.} + vkCmdControlVideoCodingKHR*: proc(commandBuffer: VkCommandBuffer, pCodingControlInfo: ptr VkVideoCodingControlInfoKHR ): void {.stdcall.} + vkCmdEndVideoCodingKHR*: proc(commandBuffer: VkCommandBuffer, pEndCodingInfo: ptr VkVideoEndCodingInfoKHR ): void {.stdcall.} + vkCmdEncodeVideoKHR*: proc(commandBuffer: VkCommandBuffer, pEncodeInfo: ptr VkVideoEncodeInfoKHR ): void {.stdcall.} + vkCmdDecompressMemoryNV*: proc(commandBuffer: VkCommandBuffer, decompressRegionCount: uint32, pDecompressMemoryRegions: ptr VkDecompressMemoryRegionNV ): void {.stdcall.} + vkCmdDecompressMemoryIndirectCountNV*: proc(commandBuffer: VkCommandBuffer, indirectCommandsAddress: VkDeviceAddress, indirectCommandsCountAddress: VkDeviceAddress, stride: uint32): void {.stdcall.} + vkCreateCuModuleNVX*: proc(device: VkDevice, pCreateInfo: ptr VkCuModuleCreateInfoNVX , pAllocator: ptr VkAllocationCallbacks , pModule: ptr VkCuModuleNVX ): VkResult {.stdcall.} + vkCreateCuFunctionNVX*: proc(device: VkDevice, pCreateInfo: ptr VkCuFunctionCreateInfoNVX , pAllocator: ptr VkAllocationCallbacks , pFunction: ptr VkCuFunctionNVX ): VkResult {.stdcall.} + vkDestroyCuModuleNVX*: proc(device: VkDevice, module: VkCuModuleNVX, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkDestroyCuFunctionNVX*: proc(device: VkDevice, function: VkCuFunctionNVX, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkCmdCuLaunchKernelNVX*: proc(commandBuffer: VkCommandBuffer, pLaunchInfo: ptr VkCuLaunchInfoNVX ): void {.stdcall.} + vkGetDescriptorSetLayoutSizeEXT*: proc(device: VkDevice, layout: VkDescriptorSetLayout, pLayoutSizeInBytes: ptr VkDeviceSize ): void {.stdcall.} + vkGetDescriptorSetLayoutBindingOffsetEXT*: proc(device: VkDevice, layout: VkDescriptorSetLayout, binding: uint32, pOffset: ptr VkDeviceSize ): void {.stdcall.} + vkGetDescriptorEXT*: proc(device: VkDevice, pDescriptorInfo: ptr VkDescriptorGetInfoEXT , dataSize: uint, pDescriptor: pointer ): void {.stdcall.} + vkCmdBindDescriptorBuffersEXT*: proc(commandBuffer: VkCommandBuffer, bufferCount: uint32, pBindingInfos: ptr VkDescriptorBufferBindingInfoEXT ): void {.stdcall.} + vkCmdSetDescriptorBufferOffsetsEXT*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, firstSet: uint32, setCount: uint32, pBufferIndices: ptr uint32 , pOffsets: ptr VkDeviceSize ): void {.stdcall.} + vkCmdBindDescriptorBufferEmbeddedSamplersEXT*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32): void {.stdcall.} + vkGetBufferOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkBufferCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.} + vkGetImageOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkImageCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.} + vkGetImageViewOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkImageViewCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.} + vkGetSamplerOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkSamplerCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.} + vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.} + vkSetDeviceMemoryPriorityEXT*: proc(device: VkDevice, memory: VkDeviceMemory, priority: float32): void {.stdcall.} + vkAcquireDrmDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, drmFd: int32, display: VkDisplayKHR): VkResult {.stdcall.} + vkGetDrmDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, drmFd: int32, connectorId: uint32, display: ptr VkDisplayKHR ): VkResult {.stdcall.} + vkWaitForPresentKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR, presentId: uint64, timeout: uint64): VkResult {.stdcall.} + vkCreateBufferCollectionFUCHSIA*: proc(device: VkDevice, pCreateInfo: ptr VkBufferCollectionCreateInfoFUCHSIA , pAllocator: ptr VkAllocationCallbacks , pCollection: ptr VkBufferCollectionFUCHSIA ): VkResult {.stdcall.} + vkSetBufferCollectionBufferConstraintsFUCHSIA*: proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pBufferConstraintsInfo: ptr VkBufferConstraintsInfoFUCHSIA ): VkResult {.stdcall.} + vkSetBufferCollectionImageConstraintsFUCHSIA*: proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pImageConstraintsInfo: ptr VkImageConstraintsInfoFUCHSIA ): VkResult {.stdcall.} + vkDestroyBufferCollectionFUCHSIA*: proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkGetBufferCollectionPropertiesFUCHSIA*: proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pProperties: ptr VkBufferCollectionPropertiesFUCHSIA ): VkResult {.stdcall.} + vkCmdBeginRendering*: proc(commandBuffer: VkCommandBuffer, pRenderingInfo: ptr VkRenderingInfo ): void {.stdcall.} + vkCmdEndRendering*: proc(commandBuffer: VkCommandBuffer): void {.stdcall.} + vkGetDescriptorSetLayoutHostMappingInfoVALVE*: proc(device: VkDevice, pBindingReference: ptr VkDescriptorSetBindingReferenceVALVE , pHostMapping: ptr VkDescriptorSetLayoutHostMappingInfoVALVE ): void {.stdcall.} + vkGetDescriptorSetHostMappingVALVE*: proc(device: VkDevice, descriptorSet: VkDescriptorSet, ppData: ptr pointer ): void {.stdcall.} + vkCreateMicromapEXT*: proc(device: VkDevice, pCreateInfo: ptr VkMicromapCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pMicromap: ptr VkMicromapEXT ): VkResult {.stdcall.} + vkCmdBuildMicromapsEXT*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT ): void {.stdcall.} + vkBuildMicromapsEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT ): VkResult {.stdcall.} + vkDestroyMicromapEXT*: proc(device: VkDevice, micromap: VkMicromapEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkCmdCopyMicromapEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapInfoEXT ): void {.stdcall.} + vkCopyMicromapEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapInfoEXT ): VkResult {.stdcall.} + vkCmdCopyMicromapToMemoryEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapToMemoryInfoEXT ): void {.stdcall.} + vkCopyMicromapToMemoryEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapToMemoryInfoEXT ): VkResult {.stdcall.} + vkCmdCopyMemoryToMicromapEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToMicromapInfoEXT ): void {.stdcall.} + vkCopyMemoryToMicromapEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToMicromapInfoEXT ): VkResult {.stdcall.} + vkCmdWriteMicromapsPropertiesEXT*: proc(commandBuffer: VkCommandBuffer, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} + vkWriteMicromapsPropertiesEXT*: proc(device: VkDevice, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT , queryType: VkQueryType, dataSize: uint, pData: pointer , stride: uint): VkResult {.stdcall.} + vkGetDeviceMicromapCompatibilityEXT*: proc(device: VkDevice, pVersionInfo: ptr VkMicromapVersionInfoEXT , pCompatibility: ptr VkAccelerationStructureCompatibilityKHR ): void {.stdcall.} + vkGetMicromapBuildSizesEXT*: proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkMicromapBuildInfoEXT , pSizeInfo: ptr VkMicromapBuildSizesInfoEXT ): void {.stdcall.} + vkGetShaderModuleIdentifierEXT*: proc(device: VkDevice, shaderModule: VkShaderModule, pIdentifier: ptr VkShaderModuleIdentifierEXT ): void {.stdcall.} + vkGetShaderModuleCreateInfoIdentifierEXT*: proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo , pIdentifier: ptr VkShaderModuleIdentifierEXT ): void {.stdcall.} + vkGetImageSubresourceLayout2EXT*: proc(device: VkDevice, image: VkImage, pSubresource: ptr VkImageSubresource2EXT , pLayout: ptr VkSubresourceLayout2EXT ): void {.stdcall.} + vkGetPipelinePropertiesEXT*: proc(device: VkDevice, pPipelineInfo: ptr VkPipelineInfoEXT , pPipelineProperties: ptr VkBaseOutStructure ): VkResult {.stdcall.} + vkExportMetalObjectsEXT*: proc(device: VkDevice, pMetalObjectsInfo: ptr VkExportMetalObjectsInfoEXT ): void {.stdcall.} + vkGetFramebufferTilePropertiesQCOM*: proc(device: VkDevice, framebuffer: VkFramebuffer, pPropertiesCount: ptr uint32 , pProperties: ptr VkTilePropertiesQCOM ): VkResult {.stdcall.} + vkGetDynamicRenderingTilePropertiesQCOM*: proc(device: VkDevice, pRenderingInfo: ptr VkRenderingInfo , pProperties: ptr VkTilePropertiesQCOM ): VkResult {.stdcall.} + vkGetPhysicalDeviceOpticalFlowImageFormatsNV*: proc(physicalDevice: VkPhysicalDevice, pOpticalFlowImageFormatInfo: ptr VkOpticalFlowImageFormatInfoNV , pFormatCount: ptr uint32 , pImageFormatProperties: ptr VkOpticalFlowImageFormatPropertiesNV ): VkResult {.stdcall.} + vkCreateOpticalFlowSessionNV*: proc(device: VkDevice, pCreateInfo: ptr VkOpticalFlowSessionCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pSession: ptr VkOpticalFlowSessionNV ): VkResult {.stdcall.} + vkDestroyOpticalFlowSessionNV*: proc(device: VkDevice, session: VkOpticalFlowSessionNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkBindOpticalFlowSessionImageNV*: proc(device: VkDevice, session: VkOpticalFlowSessionNV, bindingPoint: VkOpticalFlowSessionBindingPointNV, view: VkImageView, layout: VkImageLayout): VkResult {.stdcall.} + vkCmdOpticalFlowExecuteNV*: proc(commandBuffer: VkCommandBuffer, session: VkOpticalFlowSessionNV, pExecuteInfo: ptr VkOpticalFlowExecuteInfoNV ): void {.stdcall.} + vkGetDeviceFaultInfoEXT*: proc(device: VkDevice, pFaultCounts: ptr VkDeviceFaultCountsEXT , pFaultInfo: ptr VkDeviceFaultInfoEXT ): VkResult {.stdcall.} + vkCmdSetDepthBias2EXT*: proc(commandBuffer: VkCommandBuffer, pDepthBiasInfo: ptr VkDepthBiasInfoEXT ): void {.stdcall.} + vkReleaseSwapchainImagesEXT*: proc(device: VkDevice, pReleaseInfo: ptr VkReleaseSwapchainImagesInfoEXT ): VkResult {.stdcall.} + vkMapMemory2KHR*: proc(device: VkDevice, pMemoryMapInfo: ptr VkMemoryMapInfoKHR , ppData: ptr pointer ): VkResult {.stdcall.} + vkUnmapMemory2KHR*: proc(device: VkDevice, pMemoryUnmapInfo: ptr VkMemoryUnmapInfoKHR ): VkResult {.stdcall.} + vkCreateShadersEXT*: proc(device: VkDevice, createInfoCount: uint32, pCreateInfos: ptr VkShaderCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pShaders: ptr VkShaderEXT ): VkResult {.stdcall.} + vkDestroyShaderEXT*: proc(device: VkDevice, shader: VkShaderEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.} + vkGetShaderBinaryDataEXT*: proc(device: VkDevice, shader: VkShaderEXT, pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.} + vkCmdBindShadersEXT*: proc(commandBuffer: VkCommandBuffer, stageCount: uint32, pStages: ptr VkShaderStageFlagBits , pShaders: ptr VkShaderEXT ): void {.stdcall.} + vkGetScreenBufferPropertiesQNX*: proc(device: VkDevice, buffer: ptr _screen_buffer , pProperties: ptr VkScreenBufferPropertiesQNX ): VkResult {.stdcall.} # Vulkan 1_0 proc vkLoad1_0*() = - vkCreateInstance = cast[proc(pCreateInfo: ptr VkInstanceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pInstance: ptr VkInstance ): VkResult {.stdcall.}](vkGetProc("vkCreateInstance")) vkDestroyInstance = cast[proc(instance: VkInstance, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyInstance")) vkEnumeratePhysicalDevices = cast[proc(instance: VkInstance, pPhysicalDeviceCount: ptr uint32 , pPhysicalDevices: ptr VkPhysicalDevice ): VkResult {.stdcall.}](vkGetProc("vkEnumeratePhysicalDevices")) vkGetPhysicalDeviceFeatures = cast[proc(physicalDevice: VkPhysicalDevice, pFeatures: ptr VkPhysicalDeviceFeatures ): void {.stdcall.}](vkGetProc("vkGetPhysicalDeviceFeatures")) @@ -10222,10 +17227,10 @@ proc vkLoad1_0*() = vkGetInstanceProcAddr = cast[proc(instance: VkInstance, pName: cstring ): PFN_vkVoidFunction {.stdcall.}](vkGetProc("vkGetInstanceProcAddr")) vkGetDeviceProcAddr = cast[proc(device: VkDevice, pName: cstring ): PFN_vkVoidFunction {.stdcall.}](vkGetProc("vkGetDeviceProcAddr")) vkCreateDevice = cast[proc(physicalDevice: VkPhysicalDevice, pCreateInfo: ptr VkDeviceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pDevice: ptr VkDevice ): VkResult {.stdcall.}](vkGetProc("vkCreateDevice")) + vkCreateDevice = cast[proc(physicalDevice: VkPhysicalDevice, pCreateInfo: ptr VkDeviceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pDevice: ptr VkDevice ): VkResult {.stdcall.}](vkGetProc("vkCreateDevice")) vkDestroyDevice = cast[proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyDevice")) - vkEnumerateInstanceExtensionProperties = cast[proc(pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceExtensionProperties")) vkEnumerateDeviceExtensionProperties = cast[proc(physicalDevice: VkPhysicalDevice, pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateDeviceExtensionProperties")) - vkEnumerateInstanceLayerProperties = cast[proc(pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceLayerProperties")) + vkEnumerateDeviceLayerProperties = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateDeviceLayerProperties")) vkEnumerateDeviceLayerProperties = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateDeviceLayerProperties")) vkGetDeviceQueue = cast[proc(device: VkDevice, queueFamilyIndex: uint32, queueIndex: uint32, pQueue: ptr VkQueue ): void {.stdcall.}](vkGetProc("vkGetDeviceQueue")) vkQueueSubmit = cast[proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo , fence: VkFence): VkResult {.stdcall.}](vkGetProc("vkQueueSubmit")) @@ -10272,10 +17277,13 @@ proc vkLoad1_0*() = vkCreateShaderModule = cast[proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo , pAllocator: ptr VkAllocationCallbacks , pShaderModule: ptr VkShaderModule ): VkResult {.stdcall.}](vkGetProc("vkCreateShaderModule")) vkDestroyShaderModule = cast[proc(device: VkDevice, shaderModule: VkShaderModule, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyShaderModule")) vkCreatePipelineCache = cast[proc(device: VkDevice, pCreateInfo: ptr VkPipelineCacheCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineCache: ptr VkPipelineCache ): VkResult {.stdcall.}](vkGetProc("vkCreatePipelineCache")) + vkCreatePipelineCache = cast[proc(device: VkDevice, pCreateInfo: ptr VkPipelineCacheCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineCache: ptr VkPipelineCache ): VkResult {.stdcall.}](vkGetProc("vkCreatePipelineCache")) vkDestroyPipelineCache = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyPipelineCache")) vkGetPipelineCacheData = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetPipelineCacheData")) vkMergePipelineCaches = cast[proc(device: VkDevice, dstCache: VkPipelineCache, srcCacheCount: uint32, pSrcCaches: ptr VkPipelineCache ): VkResult {.stdcall.}](vkGetProc("vkMergePipelineCaches")) vkCreateGraphicsPipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkGraphicsPipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateGraphicsPipelines")) + vkCreateGraphicsPipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkGraphicsPipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateGraphicsPipelines")) + vkCreateComputePipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkComputePipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateComputePipelines")) vkCreateComputePipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkComputePipelineCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateComputePipelines")) vkDestroyPipeline = cast[proc(device: VkDevice, pipeline: VkPipeline, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyPipeline")) vkCreatePipelineLayout = cast[proc(device: VkDevice, pCreateInfo: ptr VkPipelineLayoutCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPipelineLayout: ptr VkPipelineLayout ): VkResult {.stdcall.}](vkGetProc("vkCreatePipelineLayout")) @@ -10350,7 +17358,6 @@ proc vkLoad1_0*() = # Vulkan 1_1 proc vkLoad1_1*() = - vkEnumerateInstanceVersion = cast[proc(pApiVersion: ptr uint32 ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceVersion")) vkBindBufferMemory2 = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindBufferMemoryInfo ): VkResult {.stdcall.}](vkGetProc("vkBindBufferMemory2")) vkBindImageMemory2 = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindImageMemoryInfo ): VkResult {.stdcall.}](vkGetProc("vkBindImageMemory2")) vkGetDeviceGroupPeerMemoryFeatures = cast[proc(device: VkDevice, heapIndex: uint32, localDeviceIndex: uint32, remoteDeviceIndex: uint32, pPeerMemoryFeatures: ptr VkPeerMemoryFeatureFlags ): void {.stdcall.}](vkGetProc("vkGetDeviceGroupPeerMemoryFeatures")) @@ -10395,6 +17402,70 @@ proc vkLoad1_2*() = vkGetBufferOpaqueCaptureAddress = cast[proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo ): uint64 {.stdcall.}](vkGetProc("vkGetBufferOpaqueCaptureAddress")) vkGetDeviceMemoryOpaqueCaptureAddress = cast[proc(device: VkDevice, pInfo: ptr VkDeviceMemoryOpaqueCaptureAddressInfo ): uint64 {.stdcall.}](vkGetProc("vkGetDeviceMemoryOpaqueCaptureAddress")) +# Vulkan 1_3 +proc vkLoad1_3*() = + vkGetPhysicalDeviceToolProperties = cast[proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32 , pToolProperties: ptr VkPhysicalDeviceToolProperties ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceToolProperties")) + vkCreatePrivateDataSlot = cast[proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfo , pAllocator: ptr VkAllocationCallbacks , pPrivateDataSlot: ptr VkPrivateDataSlot ): VkResult {.stdcall.}](vkGetProc("vkCreatePrivateDataSlot")) + vkDestroyPrivateDataSlot = cast[proc(device: VkDevice, privateDataSlot: VkPrivateDataSlot, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyPrivateDataSlot")) + vkSetPrivateData = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, data: uint64): VkResult {.stdcall.}](vkGetProc("vkSetPrivateData")) + vkGetPrivateData = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, pData: ptr uint64 ): void {.stdcall.}](vkGetProc("vkGetPrivateData")) + vkCmdSetEvent2 = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, pDependencyInfo: ptr VkDependencyInfo ): void {.stdcall.}](vkGetProc("vkCmdSetEvent2")) + vkCmdResetEvent2 = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags2): void {.stdcall.}](vkGetProc("vkCmdResetEvent2")) + vkCmdWaitEvents2 = cast[proc(commandBuffer: VkCommandBuffer, eventCount: uint32, pEvents: ptr VkEvent , pDependencyInfos: ptr VkDependencyInfo ): void {.stdcall.}](vkGetProc("vkCmdWaitEvents2")) + vkCmdPipelineBarrier2 = cast[proc(commandBuffer: VkCommandBuffer, pDependencyInfo: ptr VkDependencyInfo ): void {.stdcall.}](vkGetProc("vkCmdPipelineBarrier2")) + vkCmdWriteTimestamp2 = cast[proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, queryPool: VkQueryPool, query: uint32): void {.stdcall.}](vkGetProc("vkCmdWriteTimestamp2")) + vkQueueSubmit2 = cast[proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo2 , fence: VkFence): VkResult {.stdcall.}](vkGetProc("vkQueueSubmit2")) + vkCmdCopyBuffer2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyBufferInfo: ptr VkCopyBufferInfo2 ): void {.stdcall.}](vkGetProc("vkCmdCopyBuffer2")) + vkCmdCopyImage2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyImageInfo: ptr VkCopyImageInfo2 ): void {.stdcall.}](vkGetProc("vkCmdCopyImage2")) + vkCmdCopyBufferToImage2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyBufferToImageInfo: ptr VkCopyBufferToImageInfo2 ): void {.stdcall.}](vkGetProc("vkCmdCopyBufferToImage2")) + vkCmdCopyImageToBuffer2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyImageToBufferInfo: ptr VkCopyImageToBufferInfo2 ): void {.stdcall.}](vkGetProc("vkCmdCopyImageToBuffer2")) + vkCmdBlitImage2 = cast[proc(commandBuffer: VkCommandBuffer, pBlitImageInfo: ptr VkBlitImageInfo2 ): void {.stdcall.}](vkGetProc("vkCmdBlitImage2")) + vkCmdResolveImage2 = cast[proc(commandBuffer: VkCommandBuffer, pResolveImageInfo: ptr VkResolveImageInfo2 ): void {.stdcall.}](vkGetProc("vkCmdResolveImage2")) + vkCmdBeginRendering = cast[proc(commandBuffer: VkCommandBuffer, pRenderingInfo: ptr VkRenderingInfo ): void {.stdcall.}](vkGetProc("vkCmdBeginRendering")) + vkCmdEndRendering = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetProc("vkCmdEndRendering")) + vkCmdSetCullMode = cast[proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.}](vkGetProc("vkCmdSetCullMode")) + vkCmdSetFrontFace = cast[proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.}](vkGetProc("vkCmdSetFrontFace")) + vkCmdSetPrimitiveTopology = cast[proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.}](vkGetProc("vkCmdSetPrimitiveTopology")) + vkCmdSetViewportWithCount = cast[proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport ): void {.stdcall.}](vkGetProc("vkCmdSetViewportWithCount")) + vkCmdSetScissorWithCount = cast[proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D ): void {.stdcall.}](vkGetProc("vkCmdSetScissorWithCount")) + vkCmdBindVertexBuffers2 = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize , pSizes: ptr VkDeviceSize , pStrides: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkCmdBindVertexBuffers2")) + vkCmdSetDepthTestEnable = cast[proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthTestEnable")) + vkCmdSetDepthWriteEnable = cast[proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthWriteEnable")) + vkCmdSetDepthCompareOp = cast[proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.}](vkGetProc("vkCmdSetDepthCompareOp")) + vkCmdSetDepthBoundsTestEnable = cast[proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthBoundsTestEnable")) + vkCmdSetStencilTestEnable = cast[proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetStencilTestEnable")) + vkCmdSetStencilOp = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.}](vkGetProc("vkCmdSetStencilOp")) + vkCmdSetRasterizerDiscardEnable = cast[proc(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetRasterizerDiscardEnable")) + vkCmdSetDepthBiasEnable = cast[proc(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthBiasEnable")) + vkCmdSetPrimitiveRestartEnable = cast[proc(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetPrimitiveRestartEnable")) + vkGetDeviceBufferMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceBufferMemoryRequirements , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetDeviceBufferMemoryRequirements")) + vkGetDeviceImageMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetDeviceImageMemoryRequirements")) + vkGetDeviceImageSparseMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements , pSparseMemoryRequirementCount: ptr uint32 , pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetDeviceImageSparseMemoryRequirements")) + +# Vulkan 1_0 +proc vkLoad1_0*() = + vkGetCommandPoolMemoryConsumption = cast[proc(device: VkDevice, commandPool: VkCommandPool, commandBuffer: VkCommandBuffer, pConsumption: ptr VkCommandPoolMemoryConsumption ): void {.stdcall.}](vkGetProc("vkGetCommandPoolMemoryConsumption")) + vkGetFaultData = cast[proc(device: VkDevice, faultQueryBehavior: VkFaultQueryBehavior, pUnrecordedFaults: ptr VkBool32 , pFaultCount: ptr uint32 , pFaults: ptr VkFaultData ): VkResult {.stdcall.}](vkGetProc("vkGetFaultData")) + vkCreateShaderModule = cast[proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo , pAllocator: ptr VkAllocationCallbacks , pShaderModule: ptr VkShaderModule ): VkResult {.stdcall.}](vkGetProc("vkCreateShaderModule")) + vkDestroyShaderModule = cast[proc(device: VkDevice, shaderModule: VkShaderModule, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyShaderModule")) + vkMergePipelineCaches = cast[proc(device: VkDevice, dstCache: VkPipelineCache, srcCacheCount: uint32, pSrcCaches: ptr VkPipelineCache ): VkResult {.stdcall.}](vkGetProc("vkMergePipelineCaches")) + vkGetPipelineCacheData = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetPipelineCacheData")) + vkTrimCommandPool = cast[proc(device: VkDevice, commandPool: VkCommandPool, flags: VkCommandPoolTrimFlags): void {.stdcall.}](vkGetProc("vkTrimCommandPool")) + vkDestroyCommandPool = cast[proc(device: VkDevice, commandPool: VkCommandPool, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyCommandPool")) + vkDestroyDescriptorPool = cast[proc(device: VkDevice, descriptorPool: VkDescriptorPool, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyDescriptorPool")) + vkDestroyQueryPool = cast[proc(device: VkDevice, queryPool: VkQueryPool, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyQueryPool")) + vkDestroySwapchainKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroySwapchainKHR")) + vkFreeMemory = cast[proc(device: VkDevice, memory: VkDeviceMemory, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkFreeMemory")) + vkCreateDescriptorUpdateTemplate = cast[proc(device: VkDevice, pCreateInfo: ptr VkDescriptorUpdateTemplateCreateInfo , pAllocator: ptr VkAllocationCallbacks , pDescriptorUpdateTemplate: ptr VkDescriptorUpdateTemplate ): VkResult {.stdcall.}](vkGetProc("vkCreateDescriptorUpdateTemplate")) + vkDestroyDescriptorUpdateTemplate = cast[proc(device: VkDevice, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyDescriptorUpdateTemplate")) + vkUpdateDescriptorSetWithTemplate = cast[proc(device: VkDevice, descriptorSet: VkDescriptorSet, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, pData: pointer ): void {.stdcall.}](vkGetProc("vkUpdateDescriptorSetWithTemplate")) + vkGetPhysicalDeviceSparseImageFormatProperties = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, `type`: VkImageType, samples: VkSampleCountFlagBits, usage: VkImageUsageFlags, tiling: VkImageTiling, pPropertyCount: ptr uint32 , pProperties: ptr VkSparseImageFormatProperties ): void {.stdcall.}](vkGetProc("vkGetPhysicalDeviceSparseImageFormatProperties")) + vkGetPhysicalDeviceSparseImageFormatProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pFormatInfo: ptr VkPhysicalDeviceSparseImageFormatInfo2 , pPropertyCount: ptr uint32 , pProperties: ptr VkSparseImageFormatProperties2 ): void {.stdcall.}](vkGetProc("vkGetPhysicalDeviceSparseImageFormatProperties2")) + vkGetImageSparseMemoryRequirements = cast[proc(device: VkDevice, image: VkImage, pSparseMemoryRequirementCount: ptr uint32 , pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements ): void {.stdcall.}](vkGetProc("vkGetImageSparseMemoryRequirements")) + vkGetImageSparseMemoryRequirements2 = cast[proc(device: VkDevice, pInfo: ptr VkImageSparseMemoryRequirementsInfo2 , pSparseMemoryRequirementCount: ptr uint32 , pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetImageSparseMemoryRequirements2")) + vkQueueBindSparse = cast[proc(queue: VkQueue, bindInfoCount: uint32, pBindInfo: ptr VkBindSparseInfo , fence: VkFence): VkResult {.stdcall.}](vkGetProc("vkQueueBindSparse")) + vkDestroySemaphoreSciSyncPoolNV = cast[proc(device: VkDevice, semaphorePool: VkSemaphoreSciSyncPoolNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroySemaphoreSciSyncPoolNV")) + # Load VK_KHR_surface proc loadVK_KHR_surface*() = vkDestroySurfaceKHR = cast[proc(instance: VkInstance, surface: VkSurfaceKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroySurfaceKHR")) @@ -10405,7 +17476,7 @@ proc loadVK_KHR_surface*() = # Load VK_KHR_swapchain proc loadVK_KHR_swapchain*() = - vkCreateSwapchainKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchain: ptr VkSwapchainKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateSwapchainKHR")) + vkCreateSwapchainKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkSwapchainCreateInfoKHR , pCreateInfo: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchain: ptr VkSwapchainKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateSwapchainKHR")) vkDestroySwapchainKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroySwapchainKHR")) vkGetSwapchainImagesKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pSwapchainImageCount: ptr uint32 , pSwapchainImages: ptr VkImage ): VkResult {.stdcall.}](vkGetProc("vkGetSwapchainImagesKHR")) vkAcquireNextImageKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, timeout: uint64, semaphore: VkSemaphore, fence: VkFence, pImageIndex: ptr uint32 ): VkResult {.stdcall.}](vkGetProc("vkAcquireNextImageKHR")) @@ -10427,7 +17498,7 @@ proc loadVK_KHR_display*() = # Load VK_KHR_display_swapchain proc loadVK_KHR_display_swapchain*() = - vkCreateSharedSwapchainsKHR = cast[proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchains: ptr VkSwapchainKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateSharedSwapchainsKHR")) + vkCreateSharedSwapchainsKHR = cast[proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR , pCreateInfos: ptr VkSwapchainCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pSwapchains: ptr VkSwapchainKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateSharedSwapchainsKHR")) # Load VK_KHR_xlib_surface proc loadVK_KHR_xlib_surface*() = @@ -10474,6 +17545,25 @@ proc loadVK_EXT_debug_marker*() = vkCmdDebugMarkerEndEXT = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetProc("vkCmdDebugMarkerEndEXT")) vkCmdDebugMarkerInsertEXT = cast[proc(commandBuffer: VkCommandBuffer, pMarkerInfo: ptr VkDebugMarkerMarkerInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdDebugMarkerInsertEXT")) +# Load VK_KHR_video_queue +proc loadVK_KHR_video_queue*() = + vkGetPhysicalDeviceVideoCapabilitiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pVideoProfile: ptr VkVideoProfileInfoKHR , pCapabilities: ptr VkVideoCapabilitiesKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceVideoCapabilitiesKHR")) + vkGetPhysicalDeviceVideoFormatPropertiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pVideoFormatInfo: ptr VkPhysicalDeviceVideoFormatInfoKHR , pVideoFormatPropertyCount: ptr uint32 , pVideoFormatProperties: ptr VkVideoFormatPropertiesKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceVideoFormatPropertiesKHR")) + vkCreateVideoSessionKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkVideoSessionCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pVideoSession: ptr VkVideoSessionKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateVideoSessionKHR")) + vkDestroyVideoSessionKHR = cast[proc(device: VkDevice, videoSession: VkVideoSessionKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyVideoSessionKHR")) + vkGetVideoSessionMemoryRequirementsKHR = cast[proc(device: VkDevice, videoSession: VkVideoSessionKHR, pMemoryRequirementsCount: ptr uint32 , pMemoryRequirements: ptr VkVideoSessionMemoryRequirementsKHR ): VkResult {.stdcall.}](vkGetProc("vkGetVideoSessionMemoryRequirementsKHR")) + vkBindVideoSessionMemoryKHR = cast[proc(device: VkDevice, videoSession: VkVideoSessionKHR, bindSessionMemoryInfoCount: uint32, pBindSessionMemoryInfos: ptr VkBindVideoSessionMemoryInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkBindVideoSessionMemoryKHR")) + vkCreateVideoSessionParametersKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkVideoSessionParametersCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pVideoSessionParameters: ptr VkVideoSessionParametersKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateVideoSessionParametersKHR")) + vkUpdateVideoSessionParametersKHR = cast[proc(device: VkDevice, videoSessionParameters: VkVideoSessionParametersKHR, pUpdateInfo: ptr VkVideoSessionParametersUpdateInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkUpdateVideoSessionParametersKHR")) + vkDestroyVideoSessionParametersKHR = cast[proc(device: VkDevice, videoSessionParameters: VkVideoSessionParametersKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyVideoSessionParametersKHR")) + vkCmdBeginVideoCodingKHR = cast[proc(commandBuffer: VkCommandBuffer, pBeginInfo: ptr VkVideoBeginCodingInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdBeginVideoCodingKHR")) + vkCmdEndVideoCodingKHR = cast[proc(commandBuffer: VkCommandBuffer, pEndCodingInfo: ptr VkVideoEndCodingInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdEndVideoCodingKHR")) + vkCmdControlVideoCodingKHR = cast[proc(commandBuffer: VkCommandBuffer, pCodingControlInfo: ptr VkVideoCodingControlInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdControlVideoCodingKHR")) + +# Load VK_KHR_video_decode_queue +proc loadVK_KHR_video_decode_queue*() = + vkCmdDecodeVideoKHR = cast[proc(commandBuffer: VkCommandBuffer, pDecodeInfo: ptr VkVideoDecodeInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdDecodeVideoKHR")) + # Load VK_EXT_transform_feedback proc loadVK_EXT_transform_feedback*() = vkCmdBindTransformFeedbackBuffersEXT = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize , pSizes: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkCmdBindTransformFeedbackBuffersEXT")) @@ -10483,6 +17573,14 @@ proc loadVK_EXT_transform_feedback*() = vkCmdEndQueryIndexedEXT = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32, index: uint32): void {.stdcall.}](vkGetProc("vkCmdEndQueryIndexedEXT")) vkCmdDrawIndirectByteCountEXT = cast[proc(commandBuffer: VkCommandBuffer, instanceCount: uint32, firstInstance: uint32, counterBuffer: VkBuffer, counterBufferOffset: VkDeviceSize, counterOffset: uint32, vertexStride: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawIndirectByteCountEXT")) +# Load VK_NVX_binary_import +proc loadVK_NVX_binary_import*() = + vkCreateCuModuleNVX = cast[proc(device: VkDevice, pCreateInfo: ptr VkCuModuleCreateInfoNVX , pAllocator: ptr VkAllocationCallbacks , pModule: ptr VkCuModuleNVX ): VkResult {.stdcall.}](vkGetProc("vkCreateCuModuleNVX")) + vkCreateCuFunctionNVX = cast[proc(device: VkDevice, pCreateInfo: ptr VkCuFunctionCreateInfoNVX , pAllocator: ptr VkAllocationCallbacks , pFunction: ptr VkCuFunctionNVX ): VkResult {.stdcall.}](vkGetProc("vkCreateCuFunctionNVX")) + vkDestroyCuModuleNVX = cast[proc(device: VkDevice, module: VkCuModuleNVX, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyCuModuleNVX")) + vkDestroyCuFunctionNVX = cast[proc(device: VkDevice, function: VkCuFunctionNVX, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyCuFunctionNVX")) + vkCmdCuLaunchKernelNVX = cast[proc(commandBuffer: VkCommandBuffer, pLaunchInfo: ptr VkCuLaunchInfoNVX ): void {.stdcall.}](vkGetProc("vkCmdCuLaunchKernelNVX")) + # Load VK_NVX_image_view_handle proc loadVK_NVX_image_view_handle*() = vkGetImageViewHandleNVX = cast[proc(device: VkDevice, pInfo: ptr VkImageViewHandleInfoNVX ): uint32 {.stdcall.}](vkGetProc("vkGetImageViewHandleNVX")) @@ -10582,6 +17680,8 @@ proc loadVK_GOOGLE_display_timing*() = # Load VK_EXT_discard_rectangles proc loadVK_EXT_discard_rectangles*() = vkCmdSetDiscardRectangleEXT = cast[proc(commandBuffer: VkCommandBuffer, firstDiscardRectangle: uint32, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D ): void {.stdcall.}](vkGetProc("vkCmdSetDiscardRectangleEXT")) + vkCmdSetDiscardRectangleEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, discardRectangleEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDiscardRectangleEnableEXT")) + vkCmdSetDiscardRectangleModeEXT = cast[proc(commandBuffer: VkCommandBuffer, discardRectangleMode: VkDiscardRectangleModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetDiscardRectangleModeEXT")) # Load VK_EXT_hdr_metadata proc loadVK_EXT_hdr_metadata*() = @@ -10652,30 +17752,35 @@ proc loadVK_EXT_sample_locations*() = vkCmdSetSampleLocationsEXT = cast[proc(commandBuffer: VkCommandBuffer, pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdSetSampleLocationsEXT")) vkGetPhysicalDeviceMultisamplePropertiesEXT = cast[proc(physicalDevice: VkPhysicalDevice, samples: VkSampleCountFlagBits, pMultisampleProperties: ptr VkMultisamplePropertiesEXT ): void {.stdcall.}](vkGetProc("vkGetPhysicalDeviceMultisamplePropertiesEXT")) -# Load VK_KHR_ray_tracing -proc loadVK_KHR_ray_tracing*() = +# Load VK_KHR_acceleration_structure +proc loadVK_KHR_acceleration_structure*() = vkCreateAccelerationStructureKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pAccelerationStructure: ptr VkAccelerationStructureKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateAccelerationStructureKHR")) vkDestroyAccelerationStructureKHR = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyAccelerationStructureKHR")) - vkGetAccelerationStructureMemoryRequirementsKHR = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoKHR , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetAccelerationStructureMemoryRequirementsKHR")) - vkBindAccelerationStructureMemoryKHR = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkBindAccelerationStructureMemoryKHR")) - vkCmdBuildAccelerationStructureKHR = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructureKHR")) - vkCmdBuildAccelerationStructureIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR , indirectBuffer: VkBuffer, indirectOffset: VkDeviceSize, indirectStride: uint32): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructureIndirectKHR")) - vkBuildAccelerationStructureKHR = cast[proc(device: VkDevice, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkBuildAccelerationStructureKHR")) - vkCopyAccelerationStructureKHR = cast[proc(device: VkDevice, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyAccelerationStructureKHR")) - vkCopyAccelerationStructureToMemoryKHR = cast[proc(device: VkDevice, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyAccelerationStructureToMemoryKHR")) - vkCopyMemoryToAccelerationStructureKHR = cast[proc(device: VkDevice, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyMemoryToAccelerationStructureKHR")) + vkCmdBuildAccelerationStructuresKHR = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructuresKHR")) + vkCmdBuildAccelerationStructuresIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , pIndirectDeviceAddresses: ptr VkDeviceAddress , pIndirectStrides: ptr uint32 , ppMaxPrimitiveCounts: ptr ptr uint32 ): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructuresIndirectKHR")) + vkBuildAccelerationStructuresKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR , ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkBuildAccelerationStructuresKHR")) + vkCopyAccelerationStructureKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyAccelerationStructureKHR")) + vkCopyAccelerationStructureToMemoryKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyAccelerationStructureToMemoryKHR")) + vkCopyMemoryToAccelerationStructureKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkCopyMemoryToAccelerationStructureKHR")) vkWriteAccelerationStructuresPropertiesKHR = cast[proc(device: VkDevice, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR , queryType: VkQueryType, dataSize: uint, pData: pointer , stride: uint): VkResult {.stdcall.}](vkGetProc("vkWriteAccelerationStructuresPropertiesKHR")) vkCmdCopyAccelerationStructureKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdCopyAccelerationStructureKHR")) vkCmdCopyAccelerationStructureToMemoryKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdCopyAccelerationStructureToMemoryKHR")) vkCmdCopyMemoryToAccelerationStructureKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdCopyMemoryToAccelerationStructureKHR")) - vkCmdTraceRaysKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR , pMissShaderBindingTable: ptr VkStridedBufferRegionKHR , pHitShaderBindingTable: ptr VkStridedBufferRegionKHR , pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR , width: uint32, height: uint32, depth: uint32): void {.stdcall.}](vkGetProc("vkCmdTraceRaysKHR")) - vkCreateRayTracingPipelinesKHR = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateRayTracingPipelinesKHR")) - vkGetRayTracingShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetRayTracingShaderGroupHandlesKHR")) vkGetAccelerationStructureDeviceAddressKHR = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureDeviceAddressInfoKHR ): VkDeviceAddress {.stdcall.}](vkGetProc("vkGetAccelerationStructureDeviceAddressKHR")) - vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")) vkCmdWriteAccelerationStructuresPropertiesKHR = cast[proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetProc("vkCmdWriteAccelerationStructuresPropertiesKHR")) - vkCmdTraceRaysIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR , pMissShaderBindingTable: ptr VkStridedBufferRegionKHR , pHitShaderBindingTable: ptr VkStridedBufferRegionKHR , pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR , buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.}](vkGetProc("vkCmdTraceRaysIndirectKHR")) - vkGetDeviceAccelerationStructureCompatibilityKHR = cast[proc(device: VkDevice, version: ptr VkAccelerationStructureVersionKHR ): VkResult {.stdcall.}](vkGetProc("vkGetDeviceAccelerationStructureCompatibilityKHR")) + vkGetDeviceAccelerationStructureCompatibilityKHR = cast[proc(device: VkDevice, pVersionInfo: ptr VkAccelerationStructureVersionInfoKHR , pCompatibility: ptr VkAccelerationStructureCompatibilityKHR ): void {.stdcall.}](vkGetProc("vkGetDeviceAccelerationStructureCompatibilityKHR")) + vkGetAccelerationStructureBuildSizesKHR = cast[proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR , pMaxPrimitiveCounts: ptr uint32 , pSizeInfo: ptr VkAccelerationStructureBuildSizesInfoKHR ): void {.stdcall.}](vkGetProc("vkGetAccelerationStructureBuildSizesKHR")) + +# Load VK_KHR_ray_tracing_pipeline +proc loadVK_KHR_ray_tracing_pipeline*() = + vkCmdTraceRaysKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , width: uint32, height: uint32, depth: uint32): void {.stdcall.}](vkGetProc("vkCmdTraceRaysKHR")) + vkCreateRayTracingPipelinesKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateRayTracingPipelinesKHR")) + vkCreateRayTracingPipelinesKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateRayTracingPipelinesKHR")) + vkGetRayTracingShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetRayTracingShaderGroupHandlesKHR")) + vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")) + vkCmdTraceRaysIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR , indirectDeviceAddress: VkDeviceAddress): void {.stdcall.}](vkGetProc("vkCmdTraceRaysIndirectKHR")) + vkGetRayTracingShaderGroupStackSizeKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, group: uint32, groupShader: VkShaderGroupShaderKHR): VkDeviceSize {.stdcall.}](vkGetProc("vkGetRayTracingShaderGroupStackSizeKHR")) + vkCmdSetRayTracingPipelineStackSizeKHR = cast[proc(commandBuffer: VkCommandBuffer, pipelineStackSize: uint32): void {.stdcall.}](vkGetProc("vkCmdSetRayTracingPipelineStackSizeKHR")) # Load VK_EXT_image_drm_format_modifier proc loadVK_EXT_image_drm_format_modifier*() = @@ -10697,12 +17802,16 @@ proc loadVK_NV_shading_rate_image*() = # Load VK_NV_ray_tracing proc loadVK_NV_ray_tracing*() = vkCreateAccelerationStructureNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pAccelerationStructure: ptr VkAccelerationStructureNV ): VkResult {.stdcall.}](vkGetProc("vkCreateAccelerationStructureNV")) + vkDestroyAccelerationStructureNV = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyAccelerationStructureNV")) vkGetAccelerationStructureMemoryRequirementsNV = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoNV , pMemoryRequirements: ptr VkMemoryRequirements2KHR ): void {.stdcall.}](vkGetProc("vkGetAccelerationStructureMemoryRequirementsNV")) - vkCmdBuildAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV , instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureKHR, src: VkAccelerationStructureKHR, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructureNV")) - vkCmdCopyAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureKHR, src: VkAccelerationStructureKHR, mode: VkCopyAccelerationStructureModeKHR): void {.stdcall.}](vkGetProc("vkCmdCopyAccelerationStructureNV")) + vkBindAccelerationStructureMemoryNV = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoNV ): VkResult {.stdcall.}](vkGetProc("vkBindAccelerationStructureMemoryNV")) + vkCmdBuildAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV , instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.}](vkGetProc("vkCmdBuildAccelerationStructureNV")) + vkCmdCopyAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, mode: VkCopyAccelerationStructureModeKHR): void {.stdcall.}](vkGetProc("vkCmdCopyAccelerationStructureNV")) vkCmdTraceRaysNV = cast[proc(commandBuffer: VkCommandBuffer, raygenShaderBindingTableBuffer: VkBuffer, raygenShaderBindingOffset: VkDeviceSize, missShaderBindingTableBuffer: VkBuffer, missShaderBindingOffset: VkDeviceSize, missShaderBindingStride: VkDeviceSize, hitShaderBindingTableBuffer: VkBuffer, hitShaderBindingOffset: VkDeviceSize, hitShaderBindingStride: VkDeviceSize, callableShaderBindingTableBuffer: VkBuffer, callableShaderBindingOffset: VkDeviceSize, callableShaderBindingStride: VkDeviceSize, width: uint32, height: uint32, depth: uint32): void {.stdcall.}](vkGetProc("vkCmdTraceRaysNV")) vkCreateRayTracingPipelinesNV = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateRayTracingPipelinesNV")) - vkGetAccelerationStructureHandleNV = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetAccelerationStructureHandleNV")) + vkCreateRayTracingPipelinesNV = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pPipelines: ptr VkPipeline ): VkResult {.stdcall.}](vkGetProc("vkCreateRayTracingPipelinesNV")) + vkGetAccelerationStructureHandleNV = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, dataSize: uint, pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetAccelerationStructureHandleNV")) + vkCmdWriteAccelerationStructuresPropertiesNV = cast[proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureNV , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetProc("vkCmdWriteAccelerationStructuresPropertiesNV")) vkCompileDeferredNV = cast[proc(device: VkDevice, pipeline: VkPipeline, shader: uint32): VkResult {.stdcall.}](vkGetProc("vkCompileDeferredNV")) # Load VK_EXT_external_memory_host @@ -10726,6 +17835,7 @@ proc loadVK_NV_mesh_shader*() = # Load VK_NV_scissor_exclusive proc loadVK_NV_scissor_exclusive*() = + vkCmdSetExclusiveScissorEnableNV = cast[proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissorEnables: ptr VkBool32 ): void {.stdcall.}](vkGetProc("vkCmdSetExclusiveScissorEnableNV")) vkCmdSetExclusiveScissorNV = cast[proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D ): void {.stdcall.}](vkGetProc("vkCmdSetExclusiveScissorNV")) # Load VK_NV_device_diagnostic_checkpoints @@ -10757,9 +17867,14 @@ proc loadVK_FUCHSIA_imagepipe_surface*() = proc loadVK_EXT_metal_surface*() = vkCreateMetalSurfaceEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkMetalSurfaceCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateMetalSurfaceEXT")) -# Load VK_EXT_tooling_info -proc loadVK_EXT_tooling_info*() = - vkGetPhysicalDeviceToolPropertiesEXT = cast[proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32 , pToolProperties: ptr VkPhysicalDeviceToolPropertiesEXT ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceToolPropertiesEXT")) +# Load VK_KHR_fragment_shading_rate +proc loadVK_KHR_fragment_shading_rate*() = + vkGetPhysicalDeviceFragmentShadingRatesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pFragmentShadingRateCount: ptr uint32 , pFragmentShadingRates: ptr VkPhysicalDeviceFragmentShadingRateKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceFragmentShadingRatesKHR")) + vkCmdSetFragmentShadingRateKHR = cast[proc(commandBuffer: VkCommandBuffer, pFragmentSize: ptr VkExtent2D , combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}](vkGetProc("vkCmdSetFragmentShadingRateKHR")) + +# Load VK_KHR_present_wait +proc loadVK_KHR_present_wait*() = + vkWaitForPresentKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, presentId: uint64, timeout: uint64): VkResult {.stdcall.}](vkGetProc("vkWaitForPresentKHR")) # Load VK_NV_cooperative_matrix proc loadVK_NV_cooperative_matrix*() = @@ -10785,21 +17900,6 @@ proc loadVK_EXT_headless_surface*() = proc loadVK_EXT_line_rasterization*() = vkCmdSetLineStippleEXT = cast[proc(commandBuffer: VkCommandBuffer, lineStippleFactor: uint32, lineStipplePattern: uint16): void {.stdcall.}](vkGetProc("vkCmdSetLineStippleEXT")) -# Load VK_EXT_extended_dynamic_state -proc loadVK_EXT_extended_dynamic_state*() = - vkCmdSetCullModeEXT = cast[proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.}](vkGetProc("vkCmdSetCullModeEXT")) - vkCmdSetFrontFaceEXT = cast[proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.}](vkGetProc("vkCmdSetFrontFaceEXT")) - vkCmdSetPrimitiveTopologyEXT = cast[proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.}](vkGetProc("vkCmdSetPrimitiveTopologyEXT")) - vkCmdSetViewportWithCountEXT = cast[proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport ): void {.stdcall.}](vkGetProc("vkCmdSetViewportWithCountEXT")) - vkCmdSetScissorWithCountEXT = cast[proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D ): void {.stdcall.}](vkGetProc("vkCmdSetScissorWithCountEXT")) - vkCmdBindVertexBuffers2EXT = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer , pOffsets: ptr VkDeviceSize , pSizes: ptr VkDeviceSize , pStrides: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkCmdBindVertexBuffers2EXT")) - vkCmdSetDepthTestEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthTestEnableEXT")) - vkCmdSetDepthWriteEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthWriteEnableEXT")) - vkCmdSetDepthCompareOpEXT = cast[proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.}](vkGetProc("vkCmdSetDepthCompareOpEXT")) - vkCmdSetDepthBoundsTestEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthBoundsTestEnableEXT")) - vkCmdSetStencilTestEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetStencilTestEnableEXT")) - vkCmdSetStencilOpEXT = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.}](vkGetProc("vkCmdSetStencilOpEXT")) - # Load VK_KHR_deferred_host_operations proc loadVK_KHR_deferred_host_operations*() = vkCreateDeferredOperationKHR = cast[proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks , pDeferredOperation: ptr VkDeferredOperationKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateDeferredOperationKHR")) @@ -10814,6 +17914,15 @@ proc loadVK_KHR_pipeline_executable_properties*() = vkGetPipelineExecutableStatisticsKHR = cast[proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR , pStatisticCount: ptr uint32 , pStatistics: ptr VkPipelineExecutableStatisticKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPipelineExecutableStatisticsKHR")) vkGetPipelineExecutableInternalRepresentationsKHR = cast[proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR , pInternalRepresentationCount: ptr uint32 , pInternalRepresentations: ptr VkPipelineExecutableInternalRepresentationKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPipelineExecutableInternalRepresentationsKHR")) +# Load VK_KHR_map_memory2 +proc loadVK_KHR_map_memory2*() = + vkMapMemory2KHR = cast[proc(device: VkDevice, pMemoryMapInfo: ptr VkMemoryMapInfoKHR , ppData: ptr pointer ): VkResult {.stdcall.}](vkGetProc("vkMapMemory2KHR")) + vkUnmapMemory2KHR = cast[proc(device: VkDevice, pMemoryUnmapInfo: ptr VkMemoryUnmapInfoKHR ): VkResult {.stdcall.}](vkGetProc("vkUnmapMemory2KHR")) + +# Load VK_EXT_swapchain_maintenance1 +proc loadVK_EXT_swapchain_maintenance1*() = + vkReleaseSwapchainImagesEXT = cast[proc(device: VkDevice, pReleaseInfo: ptr VkReleaseSwapchainImagesInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkReleaseSwapchainImagesEXT")) + # Load VK_NV_device_generated_commands proc loadVK_NV_device_generated_commands*() = vkGetGeneratedCommandsMemoryRequirementsNV = cast[proc(device: VkDevice, pInfo: ptr VkGeneratedCommandsMemoryRequirementsInfoNV , pMemoryRequirements: ptr VkMemoryRequirements2 ): void {.stdcall.}](vkGetProc("vkGetGeneratedCommandsMemoryRequirementsNV")) @@ -10823,19 +17932,325 @@ proc loadVK_NV_device_generated_commands*() = vkCreateIndirectCommandsLayoutNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkIndirectCommandsLayoutCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pIndirectCommandsLayout: ptr VkIndirectCommandsLayoutNV ): VkResult {.stdcall.}](vkGetProc("vkCreateIndirectCommandsLayoutNV")) vkDestroyIndirectCommandsLayoutNV = cast[proc(device: VkDevice, indirectCommandsLayout: VkIndirectCommandsLayoutNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyIndirectCommandsLayoutNV")) -# Load VK_EXT_private_data -proc loadVK_EXT_private_data*() = - vkCreatePrivateDataSlotEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pPrivateDataSlot: ptr VkPrivateDataSlotEXT ): VkResult {.stdcall.}](vkGetProc("vkCreatePrivateDataSlotEXT")) - vkDestroyPrivateDataSlotEXT = cast[proc(device: VkDevice, privateDataSlot: VkPrivateDataSlotEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyPrivateDataSlotEXT")) - vkSetPrivateDataEXT = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlotEXT, data: uint64): VkResult {.stdcall.}](vkGetProc("vkSetPrivateDataEXT")) - vkGetPrivateDataEXT = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlotEXT, pData: ptr uint64 ): void {.stdcall.}](vkGetProc("vkGetPrivateDataEXT")) +# Load VK_EXT_depth_bias_control +proc loadVK_EXT_depth_bias_control*() = + vkCmdSetDepthBias2EXT = cast[proc(commandBuffer: VkCommandBuffer, pDepthBiasInfo: ptr VkDepthBiasInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdSetDepthBias2EXT")) + +# Load VK_EXT_acquire_drm_display +proc loadVK_EXT_acquire_drm_display*() = + vkAcquireDrmDisplayEXT = cast[proc(physicalDevice: VkPhysicalDevice, drmFd: int32, display: VkDisplayKHR): VkResult {.stdcall.}](vkGetProc("vkAcquireDrmDisplayEXT")) + vkGetDrmDisplayEXT = cast[proc(physicalDevice: VkPhysicalDevice, drmFd: int32, connectorId: uint32, display: ptr VkDisplayKHR ): VkResult {.stdcall.}](vkGetProc("vkGetDrmDisplayEXT")) + +# Load VK_KHR_video_encode_queue +proc loadVK_KHR_video_encode_queue*() = + vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pQualityLevelInfo: ptr VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR , pQualityLevelProperties: ptr VkVideoEncodeQualityLevelPropertiesKHR ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR")) + vkGetEncodedVideoSessionParametersKHR = cast[proc(device: VkDevice, pVideoSessionParametersInfo: ptr VkVideoEncodeSessionParametersGetInfoKHR , pFeedbackInfo: ptr VkVideoEncodeSessionParametersFeedbackInfoKHR , pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetEncodedVideoSessionParametersKHR")) + vkCmdEncodeVideoKHR = cast[proc(commandBuffer: VkCommandBuffer, pEncodeInfo: ptr VkVideoEncodeInfoKHR ): void {.stdcall.}](vkGetProc("vkCmdEncodeVideoKHR")) + +# Load VK_KHR_object_refresh +proc loadVK_KHR_object_refresh*() = + vkCmdRefreshObjectsKHR = cast[proc(commandBuffer: VkCommandBuffer, pRefreshObjects: ptr VkRefreshObjectListKHR ): void {.stdcall.}](vkGetProc("vkCmdRefreshObjectsKHR")) + vkGetPhysicalDeviceRefreshableObjectTypesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pRefreshableObjectTypeCount: ptr uint32 , pRefreshableObjectTypes: ptr VkObjectType ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceRefreshableObjectTypesKHR")) + +# Load VK_EXT_metal_objects +proc loadVK_EXT_metal_objects*() = + vkExportMetalObjectsEXT = cast[proc(device: VkDevice, pMetalObjectsInfo: ptr VkExportMetalObjectsInfoEXT ): void {.stdcall.}](vkGetProc("vkExportMetalObjectsEXT")) + +# Load VK_KHR_synchronization2 +proc loadVK_KHR_synchronization2*() = + vkCmdWriteBufferMarker2AMD = cast[proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, marker: uint32): void {.stdcall.}](vkGetProc("vkCmdWriteBufferMarker2AMD")) + vkGetQueueCheckpointData2NV = cast[proc(queue: VkQueue, pCheckpointDataCount: ptr uint32 , pCheckpointData: ptr VkCheckpointData2NV ): void {.stdcall.}](vkGetProc("vkGetQueueCheckpointData2NV")) + +# Load VK_EXT_descriptor_buffer +proc loadVK_EXT_descriptor_buffer*() = + vkGetDescriptorSetLayoutSizeEXT = cast[proc(device: VkDevice, layout: VkDescriptorSetLayout, pLayoutSizeInBytes: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkGetDescriptorSetLayoutSizeEXT")) + vkGetDescriptorSetLayoutBindingOffsetEXT = cast[proc(device: VkDevice, layout: VkDescriptorSetLayout, binding: uint32, pOffset: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkGetDescriptorSetLayoutBindingOffsetEXT")) + vkGetDescriptorEXT = cast[proc(device: VkDevice, pDescriptorInfo: ptr VkDescriptorGetInfoEXT , dataSize: uint, pDescriptor: pointer ): void {.stdcall.}](vkGetProc("vkGetDescriptorEXT")) + vkCmdBindDescriptorBuffersEXT = cast[proc(commandBuffer: VkCommandBuffer, bufferCount: uint32, pBindingInfos: ptr VkDescriptorBufferBindingInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdBindDescriptorBuffersEXT")) + vkCmdSetDescriptorBufferOffsetsEXT = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, firstSet: uint32, setCount: uint32, pBufferIndices: ptr uint32 , pOffsets: ptr VkDeviceSize ): void {.stdcall.}](vkGetProc("vkCmdSetDescriptorBufferOffsetsEXT")) + vkCmdBindDescriptorBufferEmbeddedSamplersEXT = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32): void {.stdcall.}](vkGetProc("vkCmdBindDescriptorBufferEmbeddedSamplersEXT")) + vkGetBufferOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkBufferCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetBufferOpaqueCaptureDescriptorDataEXT")) + vkGetImageOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkImageCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetImageOpaqueCaptureDescriptorDataEXT")) + vkGetImageViewOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkImageViewCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetImageViewOpaqueCaptureDescriptorDataEXT")) + vkGetSamplerOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkSamplerCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetSamplerOpaqueCaptureDescriptorDataEXT")) + vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureCaptureDescriptorDataInfoEXT , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")) + +# Load VK_NV_fragment_shading_rate_enums +proc loadVK_NV_fragment_shading_rate_enums*() = + vkCmdSetFragmentShadingRateEnumNV = cast[proc(commandBuffer: VkCommandBuffer, shadingRate: VkFragmentShadingRateNV, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}](vkGetProc("vkCmdSetFragmentShadingRateEnumNV")) + +# Load VK_EXT_mesh_shader +proc loadVK_EXT_mesh_shader*() = + vkCmdDrawMeshTasksEXT = cast[proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawMeshTasksEXT")) + vkCmdDrawMeshTasksIndirectEXT = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawMeshTasksIndirectEXT")) + vkCmdDrawMeshTasksIndirectCountEXT = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawMeshTasksIndirectCountEXT")) + +# Load VK_EXT_image_compression_control +proc loadVK_EXT_image_compression_control*() = + vkGetImageSubresourceLayout2EXT = cast[proc(device: VkDevice, image: VkImage, pSubresource: ptr VkImageSubresource2EXT , pLayout: ptr VkSubresourceLayout2EXT ): void {.stdcall.}](vkGetProc("vkGetImageSubresourceLayout2EXT")) + +# Load VK_EXT_device_fault +proc loadVK_EXT_device_fault*() = + vkGetDeviceFaultInfoEXT = cast[proc(device: VkDevice, pFaultCounts: ptr VkDeviceFaultCountsEXT , pFaultInfo: ptr VkDeviceFaultInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkGetDeviceFaultInfoEXT")) + +# Load VK_NV_acquire_winrt_display +proc loadVK_NV_acquire_winrt_display*() = + vkAcquireWinrtDisplayNV = cast[proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR): VkResult {.stdcall.}](vkGetProc("vkAcquireWinrtDisplayNV")) + vkGetWinrtDisplayNV = cast[proc(physicalDevice: VkPhysicalDevice, deviceRelativeId: uint32, pDisplay: ptr VkDisplayKHR ): VkResult {.stdcall.}](vkGetProc("vkGetWinrtDisplayNV")) # Load VK_EXT_directfb_surface proc loadVK_EXT_directfb_surface*() = vkCreateDirectFBSurfaceEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkDirectFBSurfaceCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateDirectFBSurfaceEXT")) vkGetPhysicalDeviceDirectFBPresentationSupportEXT = cast[proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, dfb: ptr IDirectFB ): VkBool32 {.stdcall.}](vkGetProc("vkGetPhysicalDeviceDirectFBPresentationSupportEXT")) -proc vkInit*(load1_0: bool = true, load1_1: bool = true): bool = +# Load VK_EXT_vertex_input_dynamic_state +proc loadVK_EXT_vertex_input_dynamic_state*() = + vkCmdSetVertexInputEXT = cast[proc(commandBuffer: VkCommandBuffer, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT , vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT ): void {.stdcall.}](vkGetProc("vkCmdSetVertexInputEXT")) + +# Load VK_FUCHSIA_external_memory +proc loadVK_FUCHSIA_external_memory*() = + vkGetMemoryZirconHandleFUCHSIA = cast[proc(device: VkDevice, pGetZirconHandleInfo: ptr VkMemoryGetZirconHandleInfoFUCHSIA , pZirconHandle: ptr zx_handle_t ): VkResult {.stdcall.}](vkGetProc("vkGetMemoryZirconHandleFUCHSIA")) + vkGetMemoryZirconHandlePropertiesFUCHSIA = cast[proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, zirconHandle: zx_handle_t, pMemoryZirconHandleProperties: ptr VkMemoryZirconHandlePropertiesFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkGetMemoryZirconHandlePropertiesFUCHSIA")) + +# Load VK_FUCHSIA_external_semaphore +proc loadVK_FUCHSIA_external_semaphore*() = + vkImportSemaphoreZirconHandleFUCHSIA = cast[proc(device: VkDevice, pImportSemaphoreZirconHandleInfo: ptr VkImportSemaphoreZirconHandleInfoFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkImportSemaphoreZirconHandleFUCHSIA")) + vkGetSemaphoreZirconHandleFUCHSIA = cast[proc(device: VkDevice, pGetZirconHandleInfo: ptr VkSemaphoreGetZirconHandleInfoFUCHSIA , pZirconHandle: ptr zx_handle_t ): VkResult {.stdcall.}](vkGetProc("vkGetSemaphoreZirconHandleFUCHSIA")) + +# Load VK_FUCHSIA_buffer_collection +proc loadVK_FUCHSIA_buffer_collection*() = + vkCreateBufferCollectionFUCHSIA = cast[proc(device: VkDevice, pCreateInfo: ptr VkBufferCollectionCreateInfoFUCHSIA , pAllocator: ptr VkAllocationCallbacks , pCollection: ptr VkBufferCollectionFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkCreateBufferCollectionFUCHSIA")) + vkSetBufferCollectionImageConstraintsFUCHSIA = cast[proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pImageConstraintsInfo: ptr VkImageConstraintsInfoFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkSetBufferCollectionImageConstraintsFUCHSIA")) + vkSetBufferCollectionBufferConstraintsFUCHSIA = cast[proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pBufferConstraintsInfo: ptr VkBufferConstraintsInfoFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkSetBufferCollectionBufferConstraintsFUCHSIA")) + vkDestroyBufferCollectionFUCHSIA = cast[proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyBufferCollectionFUCHSIA")) + vkGetBufferCollectionPropertiesFUCHSIA = cast[proc(device: VkDevice, collection: VkBufferCollectionFUCHSIA, pProperties: ptr VkBufferCollectionPropertiesFUCHSIA ): VkResult {.stdcall.}](vkGetProc("vkGetBufferCollectionPropertiesFUCHSIA")) + +# Load VK_HUAWEI_subpass_shading +proc loadVK_HUAWEI_subpass_shading*() = + vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = cast[proc(device: VkDevice, renderpass: VkRenderPass, pMaxWorkgroupSize: ptr VkExtent2D ): VkResult {.stdcall.}](vkGetProc("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")) + vkCmdSubpassShadingHUAWEI = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetProc("vkCmdSubpassShadingHUAWEI")) + +# Load VK_HUAWEI_invocation_mask +proc loadVK_HUAWEI_invocation_mask*() = + vkCmdBindInvocationMaskHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.}](vkGetProc("vkCmdBindInvocationMaskHUAWEI")) + +# Load VK_NV_external_memory_rdma +proc loadVK_NV_external_memory_rdma*() = + vkGetMemoryRemoteAddressNV = cast[proc(device: VkDevice, pMemoryGetRemoteAddressInfo: ptr VkMemoryGetRemoteAddressInfoNV , pAddress: ptr VkRemoteAddressNV ): VkResult {.stdcall.}](vkGetProc("vkGetMemoryRemoteAddressNV")) + +# Load VK_EXT_pipeline_properties +proc loadVK_EXT_pipeline_properties*() = + vkGetPipelinePropertiesEXT = cast[proc(device: VkDevice, pPipelineInfo: ptr VkPipelineInfoEXT , pPipelineProperties: ptr VkBaseOutStructure ): VkResult {.stdcall.}](vkGetProc("vkGetPipelinePropertiesEXT")) + +# Load VK_NV_external_sci_sync +proc loadVK_NV_external_sci_sync*() = + vkGetFenceSciSyncFenceNV = cast[proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetFenceSciSyncFenceNV")) + vkGetFenceSciSyncObjNV = cast[proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetFenceSciSyncObjNV")) + vkImportFenceSciSyncFenceNV = cast[proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.}](vkGetProc("vkImportFenceSciSyncFenceNV")) + vkImportFenceSciSyncObjNV = cast[proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.}](vkGetProc("vkImportFenceSciSyncObjNV")) + vkGetPhysicalDeviceSciSyncAttributesNV = cast[proc(physicalDevice: VkPhysicalDevice, pSciSyncAttributesInfo: ptr VkSciSyncAttributesInfoNV , pAttributes: NvSciSyncAttrList): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceSciSyncAttributesNV")) + vkGetSemaphoreSciSyncObjNV = cast[proc(device: VkDevice, pGetSciSyncInfo: ptr VkSemaphoreGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetSemaphoreSciSyncObjNV")) + vkImportSemaphoreSciSyncObjNV = cast[proc(device: VkDevice, pImportSemaphoreSciSyncInfo: ptr VkImportSemaphoreSciSyncInfoNV ): VkResult {.stdcall.}](vkGetProc("vkImportSemaphoreSciSyncObjNV")) + +# Load VK_NV_external_memory_sci_buf +proc loadVK_NV_external_memory_sci_buf*() = + vkGetMemorySciBufNV = cast[proc(device: VkDevice, pGetSciBufInfo: ptr VkMemoryGetSciBufInfoNV , pHandle: ptr NvSciBufObj ): VkResult {.stdcall.}](vkGetProc("vkGetMemorySciBufNV")) + vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV = cast[proc(physicalDevice: VkPhysicalDevice, handleType: VkExternalMemoryHandleTypeFlagBits, handle: NvSciBufObj, pMemorySciBufProperties: ptr VkMemorySciBufPropertiesNV ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV")) + vkGetPhysicalDeviceSciBufAttributesNV = cast[proc(physicalDevice: VkPhysicalDevice, pAttributes: NvSciBufAttrList): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceSciBufAttributesNV")) + +# Load VK_EXT_extended_dynamic_state2 +proc loadVK_EXT_extended_dynamic_state2*() = + vkCmdSetPatchControlPointsEXT = cast[proc(commandBuffer: VkCommandBuffer, patchControlPoints: uint32): void {.stdcall.}](vkGetProc("vkCmdSetPatchControlPointsEXT")) + vkCmdSetLogicOpEXT = cast[proc(commandBuffer: VkCommandBuffer, logicOp: VkLogicOp): void {.stdcall.}](vkGetProc("vkCmdSetLogicOpEXT")) + +# Load VK_QNX_screen_surface +proc loadVK_QNX_screen_surface*() = + vkCreateScreenSurfaceQNX = cast[proc(instance: VkInstance, pCreateInfo: ptr VkScreenSurfaceCreateInfoQNX , pAllocator: ptr VkAllocationCallbacks , pSurface: ptr VkSurfaceKHR ): VkResult {.stdcall.}](vkGetProc("vkCreateScreenSurfaceQNX")) + vkGetPhysicalDeviceScreenPresentationSupportQNX = cast[proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, window: ptr _screen_window ): VkBool32 {.stdcall.}](vkGetProc("vkGetPhysicalDeviceScreenPresentationSupportQNX")) + +# Load VK_EXT_color_write_enable +proc loadVK_EXT_color_write_enable*() = + vkCmdSetColorWriteEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, attachmentCount: uint32, pColorWriteEnables: ptr VkBool32 ): void {.stdcall.}](vkGetProc("vkCmdSetColorWriteEnableEXT")) + +# Load VK_KHR_ray_tracing_maintenance1 +proc loadVK_KHR_ray_tracing_maintenance1*() = + vkCmdTraceRaysIndirect2KHR = cast[proc(commandBuffer: VkCommandBuffer, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.}](vkGetProc("vkCmdTraceRaysIndirect2KHR")) + +# Load VK_EXT_multi_draw +proc loadVK_EXT_multi_draw*() = + vkCmdDrawMultiEXT = cast[proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pVertexInfo: ptr VkMultiDrawInfoEXT , instanceCount: uint32, firstInstance: uint32, stride: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawMultiEXT")) + vkCmdDrawMultiIndexedEXT = cast[proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pIndexInfo: ptr VkMultiDrawIndexedInfoEXT , instanceCount: uint32, firstInstance: uint32, stride: uint32, pVertexOffset: ptr int32 ): void {.stdcall.}](vkGetProc("vkCmdDrawMultiIndexedEXT")) + +# Load VK_EXT_opacity_micromap +proc loadVK_EXT_opacity_micromap*() = + vkCreateMicromapEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkMicromapCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pMicromap: ptr VkMicromapEXT ): VkResult {.stdcall.}](vkGetProc("vkCreateMicromapEXT")) + vkDestroyMicromapEXT = cast[proc(device: VkDevice, micromap: VkMicromapEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyMicromapEXT")) + vkCmdBuildMicromapsEXT = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdBuildMicromapsEXT")) + vkBuildMicromapsEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkBuildMicromapsEXT")) + vkCopyMicromapEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkCopyMicromapEXT")) + vkCopyMicromapToMemoryEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapToMemoryInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkCopyMicromapToMemoryEXT")) + vkCopyMemoryToMicromapEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToMicromapInfoEXT ): VkResult {.stdcall.}](vkGetProc("vkCopyMemoryToMicromapEXT")) + vkWriteMicromapsPropertiesEXT = cast[proc(device: VkDevice, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT , queryType: VkQueryType, dataSize: uint, pData: pointer , stride: uint): VkResult {.stdcall.}](vkGetProc("vkWriteMicromapsPropertiesEXT")) + vkCmdCopyMicromapEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdCopyMicromapEXT")) + vkCmdCopyMicromapToMemoryEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapToMemoryInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdCopyMicromapToMemoryEXT")) + vkCmdCopyMemoryToMicromapEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToMicromapInfoEXT ): void {.stdcall.}](vkGetProc("vkCmdCopyMemoryToMicromapEXT")) + vkCmdWriteMicromapsPropertiesEXT = cast[proc(commandBuffer: VkCommandBuffer, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT , queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetProc("vkCmdWriteMicromapsPropertiesEXT")) + vkGetDeviceMicromapCompatibilityEXT = cast[proc(device: VkDevice, pVersionInfo: ptr VkMicromapVersionInfoEXT , pCompatibility: ptr VkAccelerationStructureCompatibilityKHR ): void {.stdcall.}](vkGetProc("vkGetDeviceMicromapCompatibilityEXT")) + vkGetMicromapBuildSizesEXT = cast[proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkMicromapBuildInfoEXT , pSizeInfo: ptr VkMicromapBuildSizesInfoEXT ): void {.stdcall.}](vkGetProc("vkGetMicromapBuildSizesEXT")) + +# Load VK_HUAWEI_cluster_culling_shader +proc loadVK_HUAWEI_cluster_culling_shader*() = + vkCmdDrawClusterHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetProc("vkCmdDrawClusterHUAWEI")) + vkCmdDrawClusterIndirectHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.}](vkGetProc("vkCmdDrawClusterIndirectHUAWEI")) + +# Load VK_EXT_pageable_device_local_memory +proc loadVK_EXT_pageable_device_local_memory*() = + vkSetDeviceMemoryPriorityEXT = cast[proc(device: VkDevice, memory: VkDeviceMemory, priority: float32): void {.stdcall.}](vkGetProc("vkSetDeviceMemoryPriorityEXT")) + +# Load VK_VALVE_descriptor_set_host_mapping +proc loadVK_VALVE_descriptor_set_host_mapping*() = + vkGetDescriptorSetLayoutHostMappingInfoVALVE = cast[proc(device: VkDevice, pBindingReference: ptr VkDescriptorSetBindingReferenceVALVE , pHostMapping: ptr VkDescriptorSetLayoutHostMappingInfoVALVE ): void {.stdcall.}](vkGetProc("vkGetDescriptorSetLayoutHostMappingInfoVALVE")) + vkGetDescriptorSetHostMappingVALVE = cast[proc(device: VkDevice, descriptorSet: VkDescriptorSet, ppData: ptr pointer ): void {.stdcall.}](vkGetProc("vkGetDescriptorSetHostMappingVALVE")) + +# Load VK_NV_copy_memory_indirect +proc loadVK_NV_copy_memory_indirect*() = + vkCmdCopyMemoryIndirectNV = cast[proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32): void {.stdcall.}](vkGetProc("vkCmdCopyMemoryIndirectNV")) + vkCmdCopyMemoryToImageIndirectNV = cast[proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32, dstImage: VkImage, dstImageLayout: VkImageLayout, pImageSubresources: ptr VkImageSubresourceLayers ): void {.stdcall.}](vkGetProc("vkCmdCopyMemoryToImageIndirectNV")) + +# Load VK_NV_memory_decompression +proc loadVK_NV_memory_decompression*() = + vkCmdDecompressMemoryNV = cast[proc(commandBuffer: VkCommandBuffer, decompressRegionCount: uint32, pDecompressMemoryRegions: ptr VkDecompressMemoryRegionNV ): void {.stdcall.}](vkGetProc("vkCmdDecompressMemoryNV")) + vkCmdDecompressMemoryIndirectCountNV = cast[proc(commandBuffer: VkCommandBuffer, indirectCommandsAddress: VkDeviceAddress, indirectCommandsCountAddress: VkDeviceAddress, stride: uint32): void {.stdcall.}](vkGetProc("vkCmdDecompressMemoryIndirectCountNV")) + +# Load VK_EXT_extended_dynamic_state3 +proc loadVK_EXT_extended_dynamic_state3*() = + vkCmdSetTessellationDomainOriginEXT = cast[proc(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin): void {.stdcall.}](vkGetProc("vkCmdSetTessellationDomainOriginEXT")) + vkCmdSetDepthClampEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClampEnableEXT")) + vkCmdSetPolygonModeEXT = cast[proc(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode): void {.stdcall.}](vkGetProc("vkCmdSetPolygonModeEXT")) + vkCmdSetRasterizationSamplesEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.}](vkGetProc("vkCmdSetRasterizationSamplesEXT")) + vkCmdSetSampleMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, samples: VkSampleCountFlagBits, pSampleMask: ptr VkSampleMask ): void {.stdcall.}](vkGetProc("vkCmdSetSampleMaskEXT")) + vkCmdSetAlphaToCoverageEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetAlphaToCoverageEnableEXT")) + vkCmdSetAlphaToOneEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetAlphaToOneEnableEXT")) + vkCmdSetLogicOpEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetLogicOpEnableEXT")) + vkCmdSetColorBlendEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEnables: ptr VkBool32 ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendEnableEXT")) + vkCmdSetColorBlendEquationEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEquations: ptr VkColorBlendEquationEXT ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendEquationEXT")) + vkCmdSetColorWriteMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorWriteMasks: ptr VkColorComponentFlags ): void {.stdcall.}](vkGetProc("vkCmdSetColorWriteMaskEXT")) + vkCmdSetRasterizationStreamEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationStream: uint32): void {.stdcall.}](vkGetProc("vkCmdSetRasterizationStreamEXT")) + vkCmdSetConservativeRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetConservativeRasterizationModeEXT")) + vkCmdSetExtraPrimitiveOverestimationSizeEXT = cast[proc(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: float32): void {.stdcall.}](vkGetProc("vkCmdSetExtraPrimitiveOverestimationSizeEXT")) + vkCmdSetDepthClipEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClipEnableEXT")) + vkCmdSetSampleLocationsEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetSampleLocationsEnableEXT")) + vkCmdSetColorBlendAdvancedEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendAdvancedEXT")) + vkCmdSetProvokingVertexModeEXT = cast[proc(commandBuffer: VkCommandBuffer, provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetProvokingVertexModeEXT")) + vkCmdSetLineRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetLineRasterizationModeEXT")) + vkCmdSetLineStippleEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetLineStippleEnableEXT")) + vkCmdSetDepthClipNegativeOneToOneEXT = cast[proc(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClipNegativeOneToOneEXT")) + vkCmdSetViewportWScalingEnableNV = cast[proc(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetViewportWScalingEnableNV")) + vkCmdSetViewportSwizzleNV = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV ): void {.stdcall.}](vkGetProc("vkCmdSetViewportSwizzleNV")) + vkCmdSetCoverageToColorEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageToColorEnableNV")) + vkCmdSetCoverageToColorLocationNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorLocation: uint32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageToColorLocationNV")) + vkCmdSetCoverageModulationModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationModeNV")) + vkCmdSetCoverageModulationTableEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationTableEnableNV")) + vkCmdSetCoverageModulationTableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32 ): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationTableNV")) + vkCmdSetShadingRateImageEnableNV = cast[proc(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetShadingRateImageEnableNV")) + vkCmdSetRepresentativeFragmentTestEnableNV = cast[proc(commandBuffer: VkCommandBuffer, representativeFragmentTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetRepresentativeFragmentTestEnableNV")) + vkCmdSetCoverageReductionModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.}](vkGetProc("vkCmdSetCoverageReductionModeNV")) + +# Load VK_EXT_shader_module_identifier +proc loadVK_EXT_shader_module_identifier*() = + vkGetShaderModuleIdentifierEXT = cast[proc(device: VkDevice, shaderModule: VkShaderModule, pIdentifier: ptr VkShaderModuleIdentifierEXT ): void {.stdcall.}](vkGetProc("vkGetShaderModuleIdentifierEXT")) + vkGetShaderModuleCreateInfoIdentifierEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo , pIdentifier: ptr VkShaderModuleIdentifierEXT ): void {.stdcall.}](vkGetProc("vkGetShaderModuleCreateInfoIdentifierEXT")) + +# Load VK_NV_optical_flow +proc loadVK_NV_optical_flow*() = + vkGetPhysicalDeviceOpticalFlowImageFormatsNV = cast[proc(physicalDevice: VkPhysicalDevice, pOpticalFlowImageFormatInfo: ptr VkOpticalFlowImageFormatInfoNV , pFormatCount: ptr uint32 , pImageFormatProperties: ptr VkOpticalFlowImageFormatPropertiesNV ): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceOpticalFlowImageFormatsNV")) + vkCreateOpticalFlowSessionNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkOpticalFlowSessionCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pSession: ptr VkOpticalFlowSessionNV ): VkResult {.stdcall.}](vkGetProc("vkCreateOpticalFlowSessionNV")) + vkDestroyOpticalFlowSessionNV = cast[proc(device: VkDevice, session: VkOpticalFlowSessionNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyOpticalFlowSessionNV")) + vkBindOpticalFlowSessionImageNV = cast[proc(device: VkDevice, session: VkOpticalFlowSessionNV, bindingPoint: VkOpticalFlowSessionBindingPointNV, view: VkImageView, layout: VkImageLayout): VkResult {.stdcall.}](vkGetProc("vkBindOpticalFlowSessionImageNV")) + vkCmdOpticalFlowExecuteNV = cast[proc(commandBuffer: VkCommandBuffer, session: VkOpticalFlowSessionNV, pExecuteInfo: ptr VkOpticalFlowExecuteInfoNV ): void {.stdcall.}](vkGetProc("vkCmdOpticalFlowExecuteNV")) + +# Load VK_EXT_shader_object +proc loadVK_EXT_shader_object*() = + vkCreateShadersEXT = cast[proc(device: VkDevice, createInfoCount: uint32, pCreateInfos: ptr VkShaderCreateInfoEXT , pAllocator: ptr VkAllocationCallbacks , pShaders: ptr VkShaderEXT ): VkResult {.stdcall.}](vkGetProc("vkCreateShadersEXT")) + vkDestroyShaderEXT = cast[proc(device: VkDevice, shader: VkShaderEXT, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroyShaderEXT")) + vkGetShaderBinaryDataEXT = cast[proc(device: VkDevice, shader: VkShaderEXT, pDataSize: ptr uint , pData: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetShaderBinaryDataEXT")) + vkCmdBindShadersEXT = cast[proc(commandBuffer: VkCommandBuffer, stageCount: uint32, pStages: ptr VkShaderStageFlagBits , pShaders: ptr VkShaderEXT ): void {.stdcall.}](vkGetProc("vkCmdBindShadersEXT")) + vkCmdSetVertexInputEXT = cast[proc(commandBuffer: VkCommandBuffer, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT , vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT ): void {.stdcall.}](vkGetProc("vkCmdSetVertexInputEXT")) + vkCmdSetPatchControlPointsEXT = cast[proc(commandBuffer: VkCommandBuffer, patchControlPoints: uint32): void {.stdcall.}](vkGetProc("vkCmdSetPatchControlPointsEXT")) + vkCmdSetLogicOpEXT = cast[proc(commandBuffer: VkCommandBuffer, logicOp: VkLogicOp): void {.stdcall.}](vkGetProc("vkCmdSetLogicOpEXT")) + vkCmdSetTessellationDomainOriginEXT = cast[proc(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin): void {.stdcall.}](vkGetProc("vkCmdSetTessellationDomainOriginEXT")) + vkCmdSetDepthClampEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClampEnableEXT")) + vkCmdSetPolygonModeEXT = cast[proc(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode): void {.stdcall.}](vkGetProc("vkCmdSetPolygonModeEXT")) + vkCmdSetRasterizationSamplesEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.}](vkGetProc("vkCmdSetRasterizationSamplesEXT")) + vkCmdSetSampleMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, samples: VkSampleCountFlagBits, pSampleMask: ptr VkSampleMask ): void {.stdcall.}](vkGetProc("vkCmdSetSampleMaskEXT")) + vkCmdSetAlphaToCoverageEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetAlphaToCoverageEnableEXT")) + vkCmdSetAlphaToOneEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetAlphaToOneEnableEXT")) + vkCmdSetLogicOpEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetLogicOpEnableEXT")) + vkCmdSetColorBlendEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEnables: ptr VkBool32 ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendEnableEXT")) + vkCmdSetColorBlendEquationEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEquations: ptr VkColorBlendEquationEXT ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendEquationEXT")) + vkCmdSetColorWriteMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorWriteMasks: ptr VkColorComponentFlags ): void {.stdcall.}](vkGetProc("vkCmdSetColorWriteMaskEXT")) + vkCmdSetRasterizationStreamEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationStream: uint32): void {.stdcall.}](vkGetProc("vkCmdSetRasterizationStreamEXT")) + vkCmdSetConservativeRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetConservativeRasterizationModeEXT")) + vkCmdSetExtraPrimitiveOverestimationSizeEXT = cast[proc(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: float32): void {.stdcall.}](vkGetProc("vkCmdSetExtraPrimitiveOverestimationSizeEXT")) + vkCmdSetDepthClipEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClipEnableEXT")) + vkCmdSetSampleLocationsEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetSampleLocationsEnableEXT")) + vkCmdSetColorBlendAdvancedEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT ): void {.stdcall.}](vkGetProc("vkCmdSetColorBlendAdvancedEXT")) + vkCmdSetProvokingVertexModeEXT = cast[proc(commandBuffer: VkCommandBuffer, provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetProvokingVertexModeEXT")) + vkCmdSetLineRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.}](vkGetProc("vkCmdSetLineRasterizationModeEXT")) + vkCmdSetLineStippleEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetLineStippleEnableEXT")) + vkCmdSetDepthClipNegativeOneToOneEXT = cast[proc(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetDepthClipNegativeOneToOneEXT")) + vkCmdSetViewportWScalingEnableNV = cast[proc(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetViewportWScalingEnableNV")) + vkCmdSetViewportSwizzleNV = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV ): void {.stdcall.}](vkGetProc("vkCmdSetViewportSwizzleNV")) + vkCmdSetCoverageToColorEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageToColorEnableNV")) + vkCmdSetCoverageToColorLocationNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorLocation: uint32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageToColorLocationNV")) + vkCmdSetCoverageModulationModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationModeNV")) + vkCmdSetCoverageModulationTableEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationTableEnableNV")) + vkCmdSetCoverageModulationTableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32 ): void {.stdcall.}](vkGetProc("vkCmdSetCoverageModulationTableNV")) + vkCmdSetShadingRateImageEnableNV = cast[proc(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetShadingRateImageEnableNV")) + vkCmdSetRepresentativeFragmentTestEnableNV = cast[proc(commandBuffer: VkCommandBuffer, representativeFragmentTestEnable: VkBool32): void {.stdcall.}](vkGetProc("vkCmdSetRepresentativeFragmentTestEnableNV")) + vkCmdSetCoverageReductionModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.}](vkGetProc("vkCmdSetCoverageReductionModeNV")) + +# Load VK_QCOM_tile_properties +proc loadVK_QCOM_tile_properties*() = + vkGetFramebufferTilePropertiesQCOM = cast[proc(device: VkDevice, framebuffer: VkFramebuffer, pPropertiesCount: ptr uint32 , pProperties: ptr VkTilePropertiesQCOM ): VkResult {.stdcall.}](vkGetProc("vkGetFramebufferTilePropertiesQCOM")) + vkGetDynamicRenderingTilePropertiesQCOM = cast[proc(device: VkDevice, pRenderingInfo: ptr VkRenderingInfo , pProperties: ptr VkTilePropertiesQCOM ): VkResult {.stdcall.}](vkGetProc("vkGetDynamicRenderingTilePropertiesQCOM")) + +# Load VK_NV_external_sci_sync2 +proc loadVK_NV_external_sci_sync2*() = + vkCreateSemaphoreSciSyncPoolNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkSemaphoreSciSyncPoolCreateInfoNV , pAllocator: ptr VkAllocationCallbacks , pSemaphorePool: ptr VkSemaphoreSciSyncPoolNV ): VkResult {.stdcall.}](vkGetProc("vkCreateSemaphoreSciSyncPoolNV")) + vkDestroySemaphoreSciSyncPoolNV = cast[proc(device: VkDevice, semaphorePool: VkSemaphoreSciSyncPoolNV, pAllocator: ptr VkAllocationCallbacks ): void {.stdcall.}](vkGetProc("vkDestroySemaphoreSciSyncPoolNV")) + vkGetFenceSciSyncFenceNV = cast[proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetFenceSciSyncFenceNV")) + vkGetFenceSciSyncObjNV = cast[proc(device: VkDevice, pGetSciSyncHandleInfo: ptr VkFenceGetSciSyncInfoNV , pHandle: pointer ): VkResult {.stdcall.}](vkGetProc("vkGetFenceSciSyncObjNV")) + vkImportFenceSciSyncFenceNV = cast[proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.}](vkGetProc("vkImportFenceSciSyncFenceNV")) + vkImportFenceSciSyncObjNV = cast[proc(device: VkDevice, pImportFenceSciSyncInfo: ptr VkImportFenceSciSyncInfoNV ): VkResult {.stdcall.}](vkGetProc("vkImportFenceSciSyncObjNV")) + vkGetPhysicalDeviceSciSyncAttributesNV = cast[proc(physicalDevice: VkPhysicalDevice, pSciSyncAttributesInfo: ptr VkSciSyncAttributesInfoNV , pAttributes: NvSciSyncAttrList): VkResult {.stdcall.}](vkGetProc("vkGetPhysicalDeviceSciSyncAttributesNV")) + +# Load VK_EXT_attachment_feedback_loop_dynamic_state +proc loadVK_EXT_attachment_feedback_loop_dynamic_state*() = + vkCmdSetAttachmentFeedbackLoopEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, aspectMask: VkImageAspectFlags): void {.stdcall.}](vkGetProc("vkCmdSetAttachmentFeedbackLoopEnableEXT")) + +# Load VK_QNX_external_memory_screen_buffer +proc loadVK_QNX_external_memory_screen_buffer*() = + vkGetScreenBufferPropertiesQNX = cast[proc(device: VkDevice, buffer: ptr _screen_buffer , pProperties: ptr VkScreenBufferPropertiesQNX ): VkResult {.stdcall.}](vkGetProc("vkGetScreenBufferPropertiesQNX")) + +var + vkCreateInstance*: proc(pCreateInfo: ptr VkInstanceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pInstance: ptr VkInstance ): VkResult {.stdcall.} + vkEnumerateInstanceExtensionProperties*: proc(pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.} + vkEnumerateInstanceLayerProperties*: proc(pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.} + vkEnumerateInstanceVersion*: proc(pApiVersion: ptr uint32 ): VkResult {.stdcall.} + +proc vkPreload*(load1_1: bool = true) = + vkGetInstanceProcAddr = cast[proc(instance: VkInstance, pName: cstring ): PFN_vkVoidFunction {.stdcall.}](symAddr(vkHandleDLL, "vkGetInstanceProcAddr")) + + vkCreateInstance = cast[proc(pCreateInfo: ptr VkInstanceCreateInfo , pAllocator: ptr VkAllocationCallbacks , pInstance: ptr VkInstance ): VkResult {.stdcall.}](vkGetProc("vkCreateInstance")) + vkEnumerateInstanceExtensionProperties = cast[proc(pLayerName: cstring , pPropertyCount: ptr uint32 , pProperties: ptr VkExtensionProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceExtensionProperties")) + vkEnumerateInstanceLayerProperties = cast[proc(pPropertyCount: ptr uint32 , pProperties: ptr VkLayerProperties ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceLayerProperties")) + + if load1_1: + vkEnumerateInstanceVersion = cast[proc(pApiVersion: ptr uint32 ): VkResult {.stdcall.}](vkGetProc("vkEnumerateInstanceVersion")) + +proc vkInit*(instance: VkInstance, load1_0: bool = true, load1_1: bool = true): bool = + currInst = cast[pointer](instance) if load1_0: vkLoad1_0() when not defined(macosx): diff --git a/tools/generator.nim b/tools/generator.nim index bd33003..c7ea19e 100644 --- a/tools/generator.nim +++ b/tools/generator.nim @@ -90,6 +90,9 @@ proc genTypes(node: XmlNode, output: var string) = output.add("const vkApiVersion1_1* = vkMakeVersion(1, 1, 0)\n") elif name == "VK_API_VERSION_1_2": output.add("const vkApiVersion1_2* = vkMakeVersion(1, 2, 0)\n") + elif name == "VK_API_VERSION_1_3": + output.add("const vkApiVersion1_3* = vkMakeVersion(1, 3, 0)\n") + else: echo "category:define not found {name}".fmt continue @@ -177,7 +180,7 @@ proc genTypes(node: XmlNode, output: var string) = elif name == "PFN_vkDebugReportCallbackEXT": output.add(" PFN_vkDebugReportCallbackEXT* = proc(flags: VkDebugReportFlagsEXT; objectType: VkDebugReportObjectTypeEXT; cbObject: uint64; location: csize; messageCode: int32; pLayerPrefix: cstring; pMessage: cstring; pUserData: pointer): VkBool32 {.cdecl.}\n") elif name == "PFN_vkDebugUtilsMessengerCallbackEXT": - output.add(" PFN_vkDebugUtilsMessengerCallbackEXT* = proc(messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT, messageTypes: VkDebugUtilsMessageTypeFlagsEXT, pCallbackData: VkDebugUtilsMessengerCallbackDataEXT, userData: pointer): VkBool32 {.cdecl.}\n"): + output.add(" PFN_vkDebugUtilsMessengerCallbackEXT* = proc(messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT, messageTypes: VkDebugUtilsMessageTypeFlagsEXT, pCallbackData: VkDebugUtilsMessengerCallbackDataEXT, userData: pointer): VkBool32 {.cdecl.}\n") else: echo "category:funcpointer not found {name}".fmt continue @@ -476,7 +479,7 @@ proc genConstructors(node: XmlNode, output: var string) = proc main() = if not os.fileExists("vk.xml"): let client = newHttpClient() - let glUrl = "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/xml/vk.xml" + let glUrl = "https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/vk.xml" client.downloadFile(glUrl, "vk.xml") var output = srcHeader & "\n" From c33671fe3472e15c79b9568337a192f5989a1fe3 Mon Sep 17 00:00:00 2001 From: Mr-L-oof Date: Fri, 16 Jun 2023 15:42:45 -0400 Subject: [PATCH 2/2] update version to 1.3 --- vulkan.nimble | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vulkan.nimble b/vulkan.nimble index aa5b648..7f639c9 100644 --- a/vulkan.nimble +++ b/vulkan.nimble @@ -1,6 +1,6 @@ # Package -version = "1.2.1" +version = "1.3" author = "Leonardo Mariscal" description = "Vulkan bindings for Nim" license = "MIT"