diff src/vulkan.nim @ 18:90e117952f74

add: basic vertex buffer functionality
author Sam <sam@basx.dev>
date Thu, 05 Jan 2023 01:16:48 +0700
parents 0660ba9d1930
children
line wrap: on
line diff
--- a/src/vulkan.nim	Sun Jan 01 01:00:50 2023 +0700
+++ b/src/vulkan.nim	Thu Jan 05 01:16:48 2023 +0700
@@ -17,7 +17,6 @@
 
 when defined(windows):
   {. emit: """#define VK_USE_PLATFORM_WIN32_KHR""" .}
-  # {.passl: gorge("pkg-config --libs vulkan").}
   const vkDLL = "vulkan-1.dll"
 elif defined(linux):
   {.passl: gorge("pkg-config --libs vulkan").}
@@ -78,7 +77,7 @@
   VK_SHADER_UNUSED_NV* = VK_SHADER_UNUSED_KHR
 
 type
-  VkImageLayout* {.size: int32.sizeof.} = enum
+  VkImageLayout* {.size: sizeof(cint).} = enum
     VK_IMAGE_LAYOUT_UNDEFINED = 0
     VK_IMAGE_LAYOUT_GENERAL = 1
     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2
@@ -89,21 +88,21 @@
     VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7
     VK_IMAGE_LAYOUT_PREINITIALIZED = 8
     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
-  VkAttachmentLoadOp* {.size: int32.sizeof.} = enum
+  VkAttachmentLoadOp* {.size: sizeof(cint).} = enum
     VK_ATTACHMENT_LOAD_OP_LOAD = 0
     VK_ATTACHMENT_LOAD_OP_CLEAR = 1
     VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2
-  VkAttachmentStoreOp* {.size: int32.sizeof.} = enum
+  VkAttachmentStoreOp* {.size: sizeof(cint).} = enum
     VK_ATTACHMENT_STORE_OP_STORE = 0
     VK_ATTACHMENT_STORE_OP_DONT_CARE = 1
-  VkImageType* {.size: int32.sizeof.} = enum
+  VkImageType* {.size: sizeof(cint).} = enum
     VK_IMAGE_TYPE_1D = 0
     VK_IMAGE_TYPE_2D = 1
     VK_IMAGE_TYPE_3D = 2
-  VkImageTiling* {.size: int32.sizeof.} = enum
+  VkImageTiling* {.size: sizeof(cint).} = enum
     VK_IMAGE_TILING_OPTIMAL = 0
     VK_IMAGE_TILING_LINEAR = 1
-  VkImageViewType* {.size: int32.sizeof.} = enum
+  VkImageViewType* {.size: sizeof(cint).} = enum
     VK_IMAGE_VIEW_TYPE_1D = 0
     VK_IMAGE_VIEW_TYPE_2D = 1
     VK_IMAGE_VIEW_TYPE_3D = 2
@@ -111,10 +110,10 @@
     VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4
     VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5
     VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6
-  VkCommandBufferLevel* {.size: int32.sizeof.} = enum
+  VkCommandBufferLevel* {.size: sizeof(cint).} = enum
     VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0
     VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1
-  VkComponentSwizzle* {.size: int32.sizeof.} = enum
+  VkComponentSwizzle* {.size: sizeof(cint).} = enum
     VK_COMPONENT_SWIZZLE_IDENTITY = 0
     VK_COMPONENT_SWIZZLE_ZERO = 1
     VK_COMPONENT_SWIZZLE_ONE = 2
@@ -122,7 +121,7 @@
     VK_COMPONENT_SWIZZLE_G = 4
     VK_COMPONENT_SWIZZLE_B = 5
     VK_COMPONENT_SWIZZLE_A = 6
-  VkDescriptorType* {.size: int32.sizeof.} = enum
+  VkDescriptorType* {.size: sizeof(cint).} = enum
     VK_DESCRIPTOR_TYPE_SAMPLER = 0
     VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1
     VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2
@@ -134,23 +133,23 @@
     VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8
     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9
     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10
-  VkQueryType* {.size: int32.sizeof.} = enum
+  VkQueryType* {.size: sizeof(cint).} = enum
     VK_QUERY_TYPE_OCCLUSION = 0
     VK_QUERY_TYPE_PIPELINE_STATISTICS = 1
     VK_QUERY_TYPE_TIMESTAMP = 2
-  VkBorderColor* {.size: int32.sizeof.} = enum
+  VkBorderColor* {.size: sizeof(cint).} = enum
     VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0
     VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1
     VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2
     VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3
     VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4
     VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5
-  VkPipelineBindPoint* {.size: int32.sizeof.} = enum
+  VkPipelineBindPoint* {.size: sizeof(cint).} = enum
     VK_PIPELINE_BIND_POINT_GRAPHICS = 0
     VK_PIPELINE_BIND_POINT_COMPUTE = 1
-  VkPipelineCacheHeaderVersion* {.size: int32.sizeof.} = enum
+  VkPipelineCacheHeaderVersion* {.size: sizeof(cint).} = enum
     VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1
-  VkPrimitiveTopology* {.size: int32.sizeof.} = enum
+  VkPrimitiveTopology* {.size: sizeof(cint).} = enum
     VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0
     VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1
     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2
@@ -162,24 +161,24 @@
     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8
     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9
     VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10
-  VkSharingMode* {.size: int32.sizeof.} = enum
+  VkSharingMode* {.size: sizeof(cint).} = enum
     VK_SHARING_MODE_EXCLUSIVE = 0
     VK_SHARING_MODE_CONCURRENT = 1
-  VkIndexType* {.size: int32.sizeof.} = enum
+  VkIndexType* {.size: sizeof(cint).} = enum
     VK_INDEX_TYPE_UINT16 = 0
     VK_INDEX_TYPE_UINT32 = 1
-  VkFilter* {.size: int32.sizeof.} = enum
+  VkFilter* {.size: sizeof(cint).} = enum
     VK_FILTER_NEAREST = 0
     VK_FILTER_LINEAR = 1
-  VkSamplerMipmapMode* {.size: int32.sizeof.} = enum
+  VkSamplerMipmapMode* {.size: sizeof(cint).} = enum
     VK_SAMPLER_MIPMAP_MODE_NEAREST = 0
     VK_SAMPLER_MIPMAP_MODE_LINEAR = 1
-  VkSamplerAddressMode* {.size: int32.sizeof.} = enum
+  VkSamplerAddressMode* {.size: sizeof(cint).} = enum
     VK_SAMPLER_ADDRESS_MODE_REPEAT = 0
     VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1
     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2
     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3
-  VkCompareOp* {.size: int32.sizeof.} = enum
+  VkCompareOp* {.size: sizeof(cint).} = enum
     VK_COMPARE_OP_NEVER = 0
     VK_COMPARE_OP_LESS = 1
     VK_COMPARE_OP_EQUAL = 2
@@ -188,19 +187,19 @@
     VK_COMPARE_OP_NOT_EQUAL = 5
     VK_COMPARE_OP_GREATER_OR_EQUAL = 6
     VK_COMPARE_OP_ALWAYS = 7
-  VkPolygonMode* {.size: int32.sizeof.} = enum
+  VkPolygonMode* {.size: sizeof(cint).} = enum
     VK_POLYGON_MODE_FILL = 0
     VK_POLYGON_MODE_LINE = 1
     VK_POLYGON_MODE_POINT = 2
-  VkCullModeFlagBits* {.size: int32.sizeof.} = enum
+  VkCullModeFlagBits* {.size: sizeof(cint).} = 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
+  VkFrontFace* {.size: sizeof(cint).} = enum
     VK_FRONT_FACE_COUNTER_CLOCKWISE = 0
     VK_FRONT_FACE_CLOCKWISE = 1
-  VkBlendFactor* {.size: int32.sizeof.} = enum
+  VkBlendFactor* {.size: sizeof(cint).} = enum
     VK_BLEND_FACTOR_ZERO = 0
     VK_BLEND_FACTOR_ONE = 1
     VK_BLEND_FACTOR_SRC_COLOR = 2
@@ -220,13 +219,13 @@
     VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16
     VK_BLEND_FACTOR_SRC1_ALPHA = 17
     VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
-  VkBlendOp* {.size: int32.sizeof.} = enum
+  VkBlendOp* {.size: sizeof(cint).} = enum
     VK_BLEND_OP_ADD = 0
     VK_BLEND_OP_SUBTRACT = 1
     VK_BLEND_OP_REVERSE_SUBTRACT = 2
     VK_BLEND_OP_MIN = 3
     VK_BLEND_OP_MAX = 4
-  VkStencilOp* {.size: int32.sizeof.} = enum
+  VkStencilOp* {.size: sizeof(cint).} = enum
     VK_STENCIL_OP_KEEP = 0
     VK_STENCIL_OP_ZERO = 1
     VK_STENCIL_OP_REPLACE = 2
@@ -235,7 +234,7 @@
     VK_STENCIL_OP_INVERT = 5
     VK_STENCIL_OP_INCREMENT_AND_WRAP = 6
     VK_STENCIL_OP_DECREMENT_AND_WRAP = 7
-  VkLogicOp* {.size: int32.sizeof.} = enum
+  VkLogicOp* {.size: sizeof(cint).} = enum
     VK_LOGIC_OP_CLEAR = 0
     VK_LOGIC_OP_AND = 1
     VK_LOGIC_OP_AND_REVERSE = 2
@@ -252,24 +251,24 @@
     VK_LOGIC_OP_OR_INVERTED = 13
     VK_LOGIC_OP_NAND = 14
     VK_LOGIC_OP_SET = 15
-  VkInternalAllocationType* {.size: int32.sizeof.} = enum
+  VkInternalAllocationType* {.size: sizeof(cint).} = enum
     VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0
-  VkSystemAllocationScope* {.size: int32.sizeof.} = enum
+  VkSystemAllocationScope* {.size: sizeof(cint).} = enum
     VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0
     VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1
     VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2
     VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3
     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4
-  VkPhysicalDeviceType* {.size: int32.sizeof.} = enum
+  VkPhysicalDeviceType* {.size: sizeof(cint).} = enum
     VK_PHYSICAL_DEVICE_TYPE_OTHER = 0
     VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1
     VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2
     VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3
     VK_PHYSICAL_DEVICE_TYPE_CPU = 4
-  VkVertexInputRate* {.size: int32.sizeof.} = enum
+  VkVertexInputRate* {.size: sizeof(cint).} = enum
     VK_VERTEX_INPUT_RATE_VERTEX = 0
     VK_VERTEX_INPUT_RATE_INSTANCE = 1
-  VkFormat* {.size: int32.sizeof.} = enum
+  VkFormat* {.size: sizeof(cint).} = enum
     VK_FORMAT_UNDEFINED = 0
     VK_FORMAT_R4G4_UNORM_PACK8 = 1
     VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2
@@ -455,7 +454,7 @@
     VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182
     VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183
     VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184
-  VkStructureType* {.size: int32.sizeof.} = enum
+  VkStructureType* {.size: sizeof(cint).} = enum
     VK_STRUCTURE_TYPE_APPLICATION_INFO = 0
     VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1
     VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2
@@ -510,10 +509,10 @@
     VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000 # added by sam
     VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000 # added by sam
     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004 # added by sam
-  VkSubpassContents* {.size: int32.sizeof.} = enum
+  VkSubpassContents* {.size: sizeof(cint).} = enum
     VK_SUBPASS_CONTENTS_INLINE = 0
     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
-  VkResult* {.size: int32.sizeof.} = enum
+  VkResult* {.size: sizeof(cint).} = enum
     VK_ERROR_OUT_OF_DATE_KHR = -1000001004 # added by sam
     VK_ERROR_UNKNOWN = -13
     VK_ERROR_FRAGMENTED_POOL = -12
@@ -535,7 +534,7 @@
     VK_EVENT_RESET = 4
     VK_INCOMPLETE = 5
     VK_SUBOPTIMAL_KHR = 1000001003, # added by sam
-  VkDynamicState* {.size: int32.sizeof.} = enum
+  VkDynamicState* {.size: sizeof(cint).} = enum
     VK_DYNAMIC_STATE_VIEWPORT = 0
     VK_DYNAMIC_STATE_SCISSOR = 1
     VK_DYNAMIC_STATE_LINE_WIDTH = 2
@@ -545,9 +544,9 @@
     VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6
     VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7
     VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8
-  VkDescriptorUpdateTemplateType* {.size: int32.sizeof.} = enum
+  VkDescriptorUpdateTemplateType* {.size: sizeof(cint).} = enum
     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0
-  VkObjectType* {.size: int32.sizeof.} = enum
+  VkObjectType* {.size: sizeof(cint).} = enum
     VK_OBJECT_TYPE_UNKNOWN = 0
     VK_OBJECT_TYPE_INSTANCE = 1
     VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2
@@ -574,20 +573,20 @@
     VK_OBJECT_TYPE_DESCRIPTOR_SET = 23
     VK_OBJECT_TYPE_FRAMEBUFFER = 24
     VK_OBJECT_TYPE_COMMAND_POOL = 25
-  VkQueueFlagBits* {.size: int32.sizeof.} = enum
+  VkQueueFlagBits* {.size: sizeof(cint).} = enum
     VK_QUEUE_GRAPHICS_BIT = 1
     VK_QUEUE_COMPUTE_BIT = 2
     VK_QUEUE_TRANSFER_BIT = 4
     VK_QUEUE_SPARSE_BINDING_BIT = 8
-  VkMemoryPropertyFlagBits* {.size: int32.sizeof.} = enum
+  VkMemoryPropertyFlagBits* {.size: sizeof(cint).} = enum
     VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1
     VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2
     VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4
     VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8
     VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16
-  VkMemoryHeapFlagBits* {.size: int32.sizeof.} = enum
+  VkMemoryHeapFlagBits* {.size: sizeof(cint).} = enum
     VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1
-  VkAccessFlagBits* {.size: int32.sizeof.} = enum
+  VkAccessFlagBits* {.size: sizeof(cint).} = enum
     VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1
     VK_ACCESS_INDEX_READ_BIT = 2
     VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4
@@ -605,7 +604,7 @@
     VK_ACCESS_HOST_WRITE_BIT = 16384
     VK_ACCESS_MEMORY_READ_BIT = 32768
     VK_ACCESS_MEMORY_WRITE_BIT = 65536
-  VkBufferUsageFlagBits* {.size: int32.sizeof.} = enum
+  VkBufferUsageFlagBits* {.size: sizeof(cint).} = enum
     VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1
     VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2
     VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4
@@ -615,11 +614,11 @@
     VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64
     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128
     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256
-  VkBufferCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkBufferCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1
     VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2
     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4
-  VkShaderStageFlagBits* {.size: int32.sizeof.} = enum
+  VkShaderStageFlagBits* {.size: sizeof(cint).} = enum
     VK_SHADER_STAGE_VERTEX_BIT = 1
     VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2
     VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4
@@ -628,7 +627,7 @@
     VK_SHADER_STAGE_ALL_GRAPHICS = 31
     VK_SHADER_STAGE_COMPUTE_BIT = 32
     VK_SHADER_STAGE_ALL = 2147483647
-  VkImageUsageFlagBits* {.size: int32.sizeof.} = enum
+  VkImageUsageFlagBits* {.size: sizeof(cint).} = enum
     VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1
     VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2
     VK_IMAGE_USAGE_SAMPLED_BIT = 4
@@ -637,24 +636,24 @@
     VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32
     VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64
     VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128
-  VkImageCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkImageCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1
     VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2
     VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4
     VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8
     VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16
-  VkPipelineCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkPipelineCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1
     VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2
     VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4
-  VkColorComponentFlagBits* {.size: int32.sizeof.} = enum
+  VkColorComponentFlagBits* {.size: sizeof(cint).} = enum
     VK_COLOR_COMPONENT_R_BIT = 1
     VK_COLOR_COMPONENT_G_BIT = 2
     VK_COLOR_COMPONENT_B_BIT = 4
     VK_COLOR_COMPONENT_A_BIT = 8
-  VkFenceCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkFenceCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_FENCE_CREATE_SIGNALED_BIT = 1
-  VkFormatFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkFormatFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1
     VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2
     VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4
@@ -668,18 +667,18 @@
     VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024
     VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096
-  VkQueryControlFlagBits* {.size: int32.sizeof.} = enum
+  VkQueryControlFlagBits* {.size: sizeof(cint).} = enum
     VK_QUERY_CONTROL_PRECISE_BIT = 1
-  VkQueryResultFlagBits* {.size: int32.sizeof.} = enum
+  VkQueryResultFlagBits* {.size: sizeof(cint).} = enum
     VK_QUERY_RESULT_64_BIT = 1
     VK_QUERY_RESULT_WAIT_BIT = 2
     VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4
     VK_QUERY_RESULT_PARTIAL_BIT = 8
-  VkCommandBufferUsageFlagBits* {.size: int32.sizeof.} = enum
+  VkCommandBufferUsageFlagBits* {.size: sizeof(cint).} = enum
     VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1
     VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2
     VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4
-  VkQueryPipelineStatisticFlagBits* {.size: int32.sizeof.} = enum
+  VkQueryPipelineStatisticFlagBits* {.size: sizeof(cint).} = enum
     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1
     VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2
     VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4
@@ -691,18 +690,18 @@
     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256
     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512
     VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024
-  VkImageAspectFlagBits* {.size: int32.sizeof.} = enum
+  VkImageAspectFlagBits* {.size: sizeof(cint).} = enum
     VK_IMAGE_ASPECT_COLOR_BIT = 1
     VK_IMAGE_ASPECT_DEPTH_BIT = 2
     VK_IMAGE_ASPECT_STENCIL_BIT = 4
     VK_IMAGE_ASPECT_METADATA_BIT = 8
-  VkSparseImageFormatFlagBits* {.size: int32.sizeof.} = enum
+  VkSparseImageFormatFlagBits* {.size: sizeof(cint).} = enum
     VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1
     VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2
     VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4
-  VkSparseMemoryBindFlagBits* {.size: int32.sizeof.} = enum
+  VkSparseMemoryBindFlagBits* {.size: sizeof(cint).} = enum
     VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1
-  VkPipelineStageFlagBits* {.size: int32.sizeof.} = enum
+  VkPipelineStageFlagBits* {.size: sizeof(cint).} = enum
     VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1
     VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2
     VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4
@@ -720,14 +719,14 @@
     VK_PIPELINE_STAGE_HOST_BIT = 16384
     VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768
     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536
-  VkCommandPoolCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkCommandPoolCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1
     VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2
-  VkCommandPoolResetFlagBits* {.size: int32.sizeof.} = enum
+  VkCommandPoolResetFlagBits* {.size: sizeof(cint).} = enum
     VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1
-  VkCommandBufferResetFlagBits* {.size: int32.sizeof.} = enum
+  VkCommandBufferResetFlagBits* {.size: sizeof(cint).} = enum
     VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1
-  VkSampleCountFlagBits* {.size: int32.sizeof.} = enum
+  VkSampleCountFlagBits* {.size: sizeof(cint).} = enum
     VK_SAMPLE_COUNT_1_BIT = 1
     VK_SAMPLE_COUNT_2_BIT = 2
     VK_SAMPLE_COUNT_4_BIT = 4
@@ -735,39 +734,39 @@
     VK_SAMPLE_COUNT_16_BIT = 16
     VK_SAMPLE_COUNT_32_BIT = 32
     VK_SAMPLE_COUNT_64_BIT = 64
-  VkAttachmentDescriptionFlagBits* {.size: int32.sizeof.} = enum
+  VkAttachmentDescriptionFlagBits* {.size: sizeof(cint).} = enum
     VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1
-  VkStencilFaceFlagBits* {.size: int32.sizeof.} = enum
+  VkStencilFaceFlagBits* {.size: sizeof(cint).} = enum
     VK_STENCIL_FACE_FRONT_BIT = 1
     VK_STENCIL_FACE_BACK_BIT = 2
     VK_STENCIL_FACE_FRONT_AND_BACK = 3
-  VkDescriptorPoolCreateFlagBits* {.size: int32.sizeof.} = enum
+  VkDescriptorPoolCreateFlagBits* {.size: sizeof(cint).} = enum
     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1
-  VkDependencyFlagBits* {.size: int32.sizeof.} = enum
+  VkDependencyFlagBits* {.size: sizeof(cint).} = enum
     VK_DEPENDENCY_BY_REGION_BIT = 1
-  VkSemaphoreType* {.size: int32.sizeof.} = enum
+  VkSemaphoreType* {.size: sizeof(cint).} = enum
     VK_SEMAPHORE_TYPE_BINARY = 0
     VK_SEMAPHORE_TYPE_TIMELINE = 1
-  VkSemaphoreWaitFlagBits* {.size: int32.sizeof.} = enum
+  VkSemaphoreWaitFlagBits* {.size: sizeof(cint).} = enum
     VK_SEMAPHORE_WAIT_ANY_BIT = 1
-  VkPresentModeKHR* {.size: int32.sizeof.} = enum
+  VkPresentModeKHR* {.size: sizeof(cint).} = enum
     VK_PRESENT_MODE_IMMEDIATE_KHR = 0
     VK_PRESENT_MODE_MAILBOX_KHR = 1
     VK_PRESENT_MODE_FIFO_KHR = 2
     VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3
-  VkColorSpaceKHR* {.size: int32.sizeof.} = enum
+  VkColorSpaceKHR* {.size: sizeof(cint).} = enum
     VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0
-  VkDisplayPlaneAlphaFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkDisplayPlaneAlphaFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 1
     VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 2
     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 4
     VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 8
-  VkCompositeAlphaFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkCompositeAlphaFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1
     VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2
     VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4
     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8
-  VkSurfaceTransformFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkSurfaceTransformFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1
     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2
     VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4
@@ -777,20 +776,20 @@
     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64
     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128
     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256
-  VkSwapchainImageUsageFlagBitsANDROID* {.size: int32.sizeof.} = enum
+  VkSwapchainImageUsageFlagBitsANDROID* {.size: sizeof(cint).} = enum
     VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID = 1
-  VkTimeDomainEXT* {.size: int32.sizeof.} = enum
+  VkTimeDomainEXT* {.size: sizeof(cint).} = enum
     VK_TIME_DOMAIN_DEVICE_EXT = 0
     VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1
     VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2
     VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3
-  VkDebugReportFlagBitsEXT* {.size: int32.sizeof.} = enum
+  VkDebugReportFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1
     VK_DEBUG_REPORT_WARNING_BIT_EXT = 2
     VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4
     VK_DEBUG_REPORT_ERROR_BIT_EXT = 8
     VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16
-  VkDebugReportObjectTypeEXT* {.size: int32.sizeof.} = enum
+  VkDebugReportObjectTypeEXT* {.size: sizeof(cint).} = enum
     VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0
     VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1
     VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2
@@ -823,28 +822,28 @@
     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
-  VkRasterizationOrderAMD* {.size: int32.sizeof.} = enum
+  VkRasterizationOrderAMD* {.size: sizeof(cint).} = enum
     VK_RASTERIZATION_ORDER_STRICT_AMD = 0
     VK_RASTERIZATION_ORDER_RELAXED_AMD = 1
-  VkExternalMemoryHandleTypeFlagBitsNV* {.size: int32.sizeof.} = enum
+  VkExternalMemoryHandleTypeFlagBitsNV* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 1
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 2
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 4
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 8
-  VkExternalMemoryFeatureFlagBitsNV* {.size: int32.sizeof.} = enum
+  VkExternalMemoryFeatureFlagBitsNV* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 1
     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 2
     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 4
-  VkValidationCheckEXT* {.size: int32.sizeof.} = enum
+  VkValidationCheckEXT* {.size: sizeof(cint).} = enum
     VK_VALIDATION_CHECK_ALL_EXT = 0
     VK_VALIDATION_CHECK_SHADERS_EXT = 1
-  VkValidationFeatureEnableEXT* {.size: int32.sizeof.} = enum
+  VkValidationFeatureEnableEXT* {.size: sizeof(cint).} = enum
     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0
     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1
     VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2
     VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3
     VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4
-  VkValidationFeatureDisableEXT* {.size: int32.sizeof.} = enum
+  VkValidationFeatureDisableEXT* {.size: sizeof(cint).} = enum
     VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0
     VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1
     VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2
@@ -852,7 +851,7 @@
     VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4
     VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5
     VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6
-  VkSubgroupFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkSubgroupFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_SUBGROUP_FEATURE_BASIC_BIT = 1
     VK_SUBGROUP_FEATURE_VOTE_BIT = 2
     VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4
@@ -861,13 +860,13 @@
     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32
     VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64
     VK_SUBGROUP_FEATURE_QUAD_BIT = 128
-  VkIndirectCommandsLayoutUsageFlagBitsNV* {.size: int32.sizeof.} = enum
+  VkIndirectCommandsLayoutUsageFlagBitsNV* {.size: sizeof(cint).} = enum
     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 1
     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 2
     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 4
-  VkIndirectStateFlagBitsNV* {.size: int32.sizeof.} = enum
+  VkIndirectStateFlagBitsNV* {.size: sizeof(cint).} = enum
     VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 1
-  VkIndirectCommandsTokenTypeNV* {.size: int32.sizeof.} = enum
+  VkIndirectCommandsTokenTypeNV* {.size: sizeof(cint).} = enum
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2
@@ -876,7 +875,7 @@
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6
     VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7
-  VkExternalMemoryHandleTypeFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalMemoryHandleTypeFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4
@@ -884,54 +883,54 @@
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64
-  VkExternalMemoryFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalMemoryFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1
     VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2
     VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4
-  VkExternalSemaphoreHandleTypeFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalSemaphoreHandleTypeFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8
     VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16
-  VkExternalSemaphoreFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalSemaphoreFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1
     VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2
-  VkSemaphoreImportFlagBits* {.size: int32.sizeof.} = enum
+  VkSemaphoreImportFlagBits* {.size: sizeof(cint).} = enum
     VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1
-  VkExternalFenceHandleTypeFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalFenceHandleTypeFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1
     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2
     VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4
     VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8
-  VkExternalFenceFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkExternalFenceFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1
     VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2
-  VkFenceImportFlagBits* {.size: int32.sizeof.} = enum
+  VkFenceImportFlagBits* {.size: sizeof(cint).} = enum
     VK_FENCE_IMPORT_TEMPORARY_BIT = 1
-  VkSurfaceCounterFlagBitsEXT* {.size: int32.sizeof.} = enum
+  VkSurfaceCounterFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_SURFACE_COUNTER_VBLANK_EXT = 1
-  VkDisplayPowerStateEXT* {.size: int32.sizeof.} = enum
+  VkDisplayPowerStateEXT* {.size: sizeof(cint).} = enum
     VK_DISPLAY_POWER_STATE_OFF_EXT = 0
     VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1
     VK_DISPLAY_POWER_STATE_ON_EXT = 2
-  VkDeviceEventTypeEXT* {.size: int32.sizeof.} = enum
+  VkDeviceEventTypeEXT* {.size: sizeof(cint).} = enum
     VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0
-  VkDisplayEventTypeEXT* {.size: int32.sizeof.} = enum
+  VkDisplayEventTypeEXT* {.size: sizeof(cint).} = enum
     VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0
-  VkPeerMemoryFeatureFlagBits* {.size: int32.sizeof.} = enum
+  VkPeerMemoryFeatureFlagBits* {.size: sizeof(cint).} = enum
     VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1
     VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2
     VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4
     VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8
-  VkMemoryAllocateFlagBits* {.size: int32.sizeof.} = enum
+  VkMemoryAllocateFlagBits* {.size: sizeof(cint).} = enum
     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1
-  VkDeviceGroupPresentModeFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkDeviceGroupPresentModeFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1
     VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2
     VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4
     VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8
-  VkViewportCoordinateSwizzleNV* {.size: int32.sizeof.} = enum
+  VkViewportCoordinateSwizzleNV* {.size: sizeof(cint).} = enum
     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0
     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1
     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2
@@ -940,79 +939,79 @@
     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5
     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6
     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7
-  VkDiscardRectangleModeEXT* {.size: int32.sizeof.} = enum
+  VkDiscardRectangleModeEXT* {.size: sizeof(cint).} = enum
     VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0
     VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1
-  VkPointClippingBehavior* {.size: int32.sizeof.} = enum
+  VkPointClippingBehavior* {.size: sizeof(cint).} = enum
     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0
     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1
-  VkSamplerReductionMode* {.size: int32.sizeof.} = enum
+  VkSamplerReductionMode* {.size: sizeof(cint).} = enum
     VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0
     VK_SAMPLER_REDUCTION_MODE_MIN = 1
     VK_SAMPLER_REDUCTION_MODE_MAX = 2
-  VkTessellationDomainOrigin* {.size: int32.sizeof.} = enum
+  VkTessellationDomainOrigin* {.size: sizeof(cint).} = enum
     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0
     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1
-  VkSamplerYcbcrModelConversion* {.size: int32.sizeof.} = enum
+  VkSamplerYcbcrModelConversion* {.size: sizeof(cint).} = enum
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4
-  VkSamplerYcbcrRange* {.size: int32.sizeof.} = enum
+  VkSamplerYcbcrRange* {.size: sizeof(cint).} = enum
     VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0
     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1
-  VkChromaLocation* {.size: int32.sizeof.} = enum
+  VkChromaLocation* {.size: sizeof(cint).} = enum
     VK_CHROMA_LOCATION_COSITED_EVEN = 0
     VK_CHROMA_LOCATION_MIDPOINT = 1
-  VkBlendOverlapEXT* {.size: int32.sizeof.} = enum
+  VkBlendOverlapEXT* {.size: sizeof(cint).} = enum
     VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0
     VK_BLEND_OVERLAP_DISJOINT_EXT = 1
     VK_BLEND_OVERLAP_CONJOINT_EXT = 2
-  VkCoverageModulationModeNV* {.size: int32.sizeof.} = enum
+  VkCoverageModulationModeNV* {.size: sizeof(cint).} = enum
     VK_COVERAGE_MODULATION_MODE_NONE_NV = 0
     VK_COVERAGE_MODULATION_MODE_RGB_NV = 1
     VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2
     VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3
-  VkCoverageReductionModeNV* {.size: int32.sizeof.} = enum
+  VkCoverageReductionModeNV* {.size: sizeof(cint).} = enum
     VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0
     VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1
-  VkValidationCacheHeaderVersionEXT* {.size: int32.sizeof.} = enum
+  VkValidationCacheHeaderVersionEXT* {.size: sizeof(cint).} = enum
     VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1
-  VkShaderInfoTypeAMD* {.size: int32.sizeof.} = enum
+  VkShaderInfoTypeAMD* {.size: sizeof(cint).} = enum
     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
+  VkQueueGlobalPriorityEXT* {.size: sizeof(cint).} = 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
-  VkDebugUtilsMessageSeverityFlagBitsEXT* {.size: int32.sizeof.} = enum
+  VkDebugUtilsMessageSeverityFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 1
     VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 16
     VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 256
     VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 4096
-  VkDebugUtilsMessageTypeFlagBitsEXT* {.size: int32.sizeof.} = enum
+  VkDebugUtilsMessageTypeFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 1
     VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 2
     VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 4
-  VkConservativeRasterizationModeEXT* {.size: int32.sizeof.} = enum
+  VkConservativeRasterizationModeEXT* {.size: sizeof(cint).} = enum
     VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0
     VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1
     VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2
-  VkDescriptorBindingFlagBits* {.size: int32.sizeof.} = enum
+  VkDescriptorBindingFlagBits* {.size: sizeof(cint).} = enum
     VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 1
     VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 2
     VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 4
     VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 8
-  VkVendorId* {.size: int32.sizeof.} = enum
+  VkVendorId* {.size: sizeof(cint).} = enum
     VK_VENDOR_ID_VIV = 65537
     VK_VENDOR_ID_VSI = 65538
     VK_VENDOR_ID_KAZAN = 65539
     VK_VENDOR_ID_CODEPLAY = 65540
     VK_VENDOR_ID_MESA = 65541
-  VkDriverId* {.size: int32.sizeof.} = enum
+  VkDriverId* {.size: sizeof(cint).} = enum
     VK_DRIVER_ID_AMD_PROPRIETARY = 1
     VK_DRIVER_ID_AMD_OPEN_SOURCE = 2
     VK_DRIVER_ID_MESA_RADV = 3
@@ -1027,15 +1026,15 @@
     VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12
     VK_DRIVER_ID_MESA_LLVMPIPE = 13
     VK_DRIVER_ID_MOLTENVK = 14
-  VkConditionalRenderingFlagBitsEXT* {.size: int32.sizeof.} = enum
+  VkConditionalRenderingFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 1
-  VkResolveModeFlagBits* {.size: int32.sizeof.} = enum
+  VkResolveModeFlagBits* {.size: sizeof(cint).} = enum
     VK_RESOLVE_MODE_NONE = 0
     VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 1
     VK_RESOLVE_MODE_AVERAGE_BIT = 2
     VK_RESOLVE_MODE_MIN_BIT = 4
     VK_RESOLVE_MODE_MAX_BIT = 8
-  VkShadingRatePaletteEntryNV* {.size: int32.sizeof.} = enum
+  VkShadingRatePaletteEntryNV* {.size: sizeof(cint).} = enum
     VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0
     VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1
     VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2
@@ -1048,58 +1047,58 @@
     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9
     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10
     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11
-  VkCoarseSampleOrderTypeNV* {.size: int32.sizeof.} = enum
+  VkCoarseSampleOrderTypeNV* {.size: sizeof(cint).} = enum
     VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0
     VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1
     VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2
     VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3
-  VkGeometryInstanceFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkGeometryInstanceFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1
     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_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
+  VkGeometryFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_GEOMETRY_OPAQUE_BIT_KHR = 1
     VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 2
-  VkBuildAccelerationStructureFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkBuildAccelerationStructureFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 1
     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 2
     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
-  VkCopyAccelerationStructureModeKHR* {.size: int32.sizeof.} = enum
+  VkCopyAccelerationStructureModeKHR* {.size: sizeof(cint).} = 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
-  VkAccelerationStructureTypeKHR* {.size: int32.sizeof.} = enum
+  VkAccelerationStructureTypeKHR* {.size: sizeof(cint).} = enum
     VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0
     VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1
-  VkGeometryTypeKHR* {.size: int32.sizeof.} = enum
+  VkGeometryTypeKHR* {.size: sizeof(cint).} = enum
     VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0
     VK_GEOMETRY_TYPE_AABBS_KHR = 1
-  VkAccelerationStructureMemoryRequirementsTypeKHR* {.size: int32.sizeof.} = enum
+  VkAccelerationStructureMemoryRequirementsTypeKHR* {.size: sizeof(cint).} = 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
-  VkAccelerationStructureBuildTypeKHR* {.size: int32.sizeof.} = enum
+  VkAccelerationStructureBuildTypeKHR* {.size: sizeof(cint).} = enum
     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0
     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1
     VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2
-  VkRayTracingShaderGroupTypeKHR* {.size: int32.sizeof.} = enum
+  VkRayTracingShaderGroupTypeKHR* {.size: sizeof(cint).} = enum
     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
-  VkMemoryOverallocationBehaviorAMD* {.size: int32.sizeof.} = enum
+  VkMemoryOverallocationBehaviorAMD* {.size: sizeof(cint).} = enum
     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0
     VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1
     VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2
-  VkScopeNV* {.size: int32.sizeof.} = enum
+  VkScopeNV* {.size: sizeof(cint).} = enum
     VK_SCOPE_DEVICE_NV = 1
     VK_SCOPE_WORKGROUP_NV = 2
     VK_SCOPE_SUBGROUP_NV = 3
     VK_SCOPE_QUEUE_FAMILY_NV = 5
-  VkComponentTypeNV* {.size: int32.sizeof.} = enum
+  VkComponentTypeNV* {.size: sizeof(cint).} = enum
     VK_COMPONENT_TYPE_FLOAT16_NV = 0
     VK_COMPONENT_TYPE_FLOAT32_NV = 1
     VK_COMPONENT_TYPE_FLOAT64_NV = 2
@@ -1111,24 +1110,24 @@
     VK_COMPONENT_TYPE_UINT16_NV = 8
     VK_COMPONENT_TYPE_UINT32_NV = 9
     VK_COMPONENT_TYPE_UINT64_NV = 10
-  VkDeviceDiagnosticsConfigFlagBitsNV* {.size: int32.sizeof.} = enum
+  VkDeviceDiagnosticsConfigFlagBitsNV* {.size: sizeof(cint).} = enum
     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
+  VkPipelineCreationFeedbackFlagBitsEXT* {.size: sizeof(cint).} = 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
-  VkFullScreenExclusiveEXT* {.size: int32.sizeof.} = enum
+  VkFullScreenExclusiveEXT* {.size: sizeof(cint).} = enum
     VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0
     VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1
     VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2
     VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3
-  VkPerformanceCounterScopeKHR* {.size: int32.sizeof.} = enum
+  VkPerformanceCounterScopeKHR* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0
     VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1
     VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2
-  VkPerformanceCounterUnitKHR* {.size: int32.sizeof.} = enum
+  VkPerformanceCounterUnitKHR* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0
     VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1
     VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2
@@ -1140,47 +1139,47 @@
     VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8
     VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9
     VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10
-  VkPerformanceCounterStorageKHR* {.size: int32.sizeof.} = enum
+  VkPerformanceCounterStorageKHR* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0
     VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1
     VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2
     VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3
     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4
     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5
-  VkPerformanceCounterDescriptionFlagBitsKHR* {.size: int32.sizeof.} = enum
+  VkPerformanceCounterDescriptionFlagBitsKHR* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 1
     VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 2
-  VkPerformanceConfigurationTypeINTEL* {.size: int32.sizeof.} = enum
+  VkPerformanceConfigurationTypeINTEL* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0
-  VkQueryPoolSamplingModeINTEL* {.size: int32.sizeof.} = enum
+  VkQueryPoolSamplingModeINTEL* {.size: sizeof(cint).} = enum
     VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0
-  VkPerformanceOverrideTypeINTEL* {.size: int32.sizeof.} = enum
+  VkPerformanceOverrideTypeINTEL* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0
     VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1
-  VkPerformanceParameterTypeINTEL* {.size: int32.sizeof.} = enum
+  VkPerformanceParameterTypeINTEL* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0
     VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1
-  VkPerformanceValueTypeINTEL* {.size: int32.sizeof.} = enum
+  VkPerformanceValueTypeINTEL* {.size: sizeof(cint).} = enum
     VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0
     VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1
     VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2
     VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3
     VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4
-  VkShaderFloatControlsIndependence* {.size: int32.sizeof.} = enum
+  VkShaderFloatControlsIndependence* {.size: sizeof(cint).} = enum
     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0
     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1
     VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2
-  VkPipelineExecutableStatisticFormatKHR* {.size: int32.sizeof.} = enum
+  VkPipelineExecutableStatisticFormatKHR* {.size: sizeof(cint).} = enum
     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0
     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1
     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2
     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3
-  VkLineRasterizationModeEXT* {.size: int32.sizeof.} = enum
+  VkLineRasterizationModeEXT* {.size: sizeof(cint).} = enum
     VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0
     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
+  VkToolPurposeFlagBitsEXT* {.size: sizeof(cint).} = enum
     VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1
     VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2
     VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4