| // Copyright (c) 2015 The Khronos Group Inc. |
| // |
| // Permission is hereby granted, free of charge, to any person obtaining a |
| // copy of this software and/or associated documentation files (the |
| // "Materials"), to deal in the Materials without restriction, including |
| // without limitation the rights to use, copy, modify, merge, publish, |
| // distribute, sublicense, and/or sell copies of the Materials, and to |
| // permit persons to whom the Materials are furnished to do so, subject to |
| // the following conditions: |
| // |
| // The above copyright notice and this permission notice shall be included |
| // in all copies or substantial portions of the Materials. |
| // |
| // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
| // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
| // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
| // MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. |
| |
| import platform "platform.api" |
| |
| /////////////// |
| // Constants // |
| /////////////// |
| |
| // API version (major.minor.patch) |
| define VERSION_MAJOR 1 |
| define VERSION_MINOR 0 |
| define VERSION_PATCH 54 |
| |
| // API limits |
| define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256 |
| define VK_UUID_SIZE 16 |
| define VK_MAX_EXTENSION_NAME_SIZE 256 |
| define VK_MAX_DESCRIPTION_SIZE 256 |
| define VK_MAX_MEMORY_TYPES 32 |
| define VK_MAX_MEMORY_HEAPS 16 /// The maximum number of unique memory heaps, each of which supporting 1 or more memory types. |
| define VK_MAX_DEVICE_GROUP_SIZE_KHX 32 |
| //@extension("VK_KHR_external_memory_capabilities") |
| define VK_LUID_SIZE_KHR 8 |
| //@extension("VK_KHR_external_memory") |
| define VK_QUEUE_FAMILY_EXTERNAL_KHR -2 |
| |
| // API keywords |
| define VK_TRUE 1 |
| define VK_FALSE 0 |
| |
| // API keyword, but needs special handling by some templates |
| define NULL_HANDLE 0 |
| |
| // 1 |
| @extension("VK_KHR_surface") define VK_KHR_SURFACE_SPEC_VERSION 25 |
| @extension("VK_KHR_surface") define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" |
| |
| // 2 |
| @extension("VK_KHR_swapchain") define VK_KHR_SWAPCHAIN_SPEC_VERSION 68 |
| @extension("VK_KHR_swapchain") define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" |
| |
| // 3 |
| @extension("VK_KHR_display") define VK_KHR_DISPLAY_SPEC_VERSION 21 |
| @extension("VK_KHR_display") define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" |
| |
| // 4 |
| @extension("VK_KHR_display_swapchain") define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9 |
| @extension("VK_KHR_display_swapchain") define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" |
| |
| // 5 |
| @extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 |
| @extension("VK_KHR_xlib_surface") define VK_KHR_XLIB_SURFACE_NAME "VK_KHR_xlib_surface" |
| |
| // 6 |
| @extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 |
| @extension("VK_KHR_xcb_surface") define VK_KHR_XCB_SURFACE_NAME "VK_KHR_xcb_surface" |
| |
| // 7 |
| @extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6 |
| @extension("VK_KHR_wayland_surface") define VK_KHR_WAYLAND_SURFACE_NAME "VK_KHR_wayland_surface" |
| |
| // 8 |
| @extension("VK_KHR_mir_surface") define VK_KHR_MIR_SURFACE_SPEC_VERSION 4 |
| @extension("VK_KHR_mir_surface") define VK_KHR_MIR_SURFACE_NAME "VK_KHR_mir_surface" |
| |
| // 9 |
| @extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 |
| @extension("VK_KHR_android_surface") define VK_KHR_ANDROID_SURFACE_NAME "VK_KHR_android_surface" |
| |
| // 10 |
| @extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 |
| @extension("VK_KHR_win32_surface") define VK_KHR_WIN32_SURFACE_NAME "VK_KHR_win32_surface" |
| |
| // 11 |
| @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 7 |
| @extension("VK_ANDROID_native_buffer") define VK_ANDROID_NATIVE_BUFFER_NAME "VK_ANDROID_native_buffer" |
| |
| // 12 |
| @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_SPEC_VERSION 8 |
| @extension("VK_EXT_debug_report") define VK_EXT_DEBUG_REPORT_NAME "VK_EXT_debug_report" |
| |
| // 13 |
| @extension("VK_NV_glsl_shader") define VK_NV_GLSL_SHADER_SPEC_VERSION 1 |
| @extension("VK_NV_glsl_shader") define VK_NV_GLSL_SHADER_NAME "VK_NV_glsl_shader" |
| |
| // 15 |
| @extension("VK_KHR_sampler_mirror_clamp_to_edge") define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1 |
| @extension("VK_KHR_sampler_mirror_clamp_to_edge") define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_NAME "VK_KHR_sampler_mirror_clamp_to_edge" |
| |
| // 16 |
| @extension("VK_IMG_filter_cubic") define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 |
| @extension("VK_IMG_filter_cubic") define VK_IMG_FILTER_CUBIC_NAME "VK_IMG_filter_cubic" |
| |
| // 19 |
| @extension("VK_AMD_rasterization_order") define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 |
| @extension("VK_AMD_rasterization_order") define VK_AMD_RASTERIZATION_ORDER_NAME "VK_AMD_rasterization_order" |
| |
| // 21 |
| @extension("VK_AMD_shader_trinary_minmax") define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 |
| @extension("VK_AMD_shader_trinary_minmax") define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" |
| |
| // 22 |
| @extension("VK_AMD_shader_explicit_vertex_parameter") define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 |
| @extension("VK_AMD_shader_explicit_vertex_parameter") define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" |
| |
| // 23 |
| @extension("VK_EXT_debug_marker") define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 |
| @extension("VK_EXT_debug_marker") define VK_EXT_DEBUG_MARKER_NAME "VK_EXT_debug_marker" |
| |
| // 26 |
| @extension("VK_AMD_gcn_shader") define VK_AMD_GCN_SHADER_SPEC_VERSION 1 |
| @extension("VK_AMD_gcn_shader") define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" |
| |
| // 27 |
| @extension("VK_NV_dedicated_allocation") define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 |
| @extension("VK_NV_dedicated_allocation") define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" |
| |
| // 28 |
| @extension("VK_IMG_format_pvrtc") define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 |
| @extension("VK_IMG_format_pvrtc") define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" |
| |
| // 34 |
| @extension("VK_AMD_draw_indirect_count") define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 |
| @extension("VK_AMD_draw_indirect_count") define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" |
| |
| // 36 |
| @extension("VK_AMD_negative_viewport_height") define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 |
| @extension("VK_AMD_negative_viewport_height") define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" |
| |
| // 37 |
| @extension("VK_AMD_gpu_shader_half_float") define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1 |
| @extension("VK_AMD_gpu_shader_half_float") define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" |
| |
| // 38 |
| @extension("VK_AMD_shader_ballot") define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 |
| @extension("VK_AMD_shader_ballot") define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" |
| |
| // 42 |
| @extension("VK_AMD_texture_gather_bias_lod") define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 |
| @extension("VK_AMD_texture_gather_bias_lod") define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" |
| |
| // 54 |
| @extension("VK_KHX_multiview") define VK_KHX_MULTIVIEW_SPEC_VERSION 1 |
| @extension("VK_KHX_multiview") define VK_KHX_MULTIVIEW_EXTENSION_NAME "VK_KHX_multiview" |
| |
| // 56 |
| @extension("VK_NV_external_memory_capabilities") define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 |
| @extension("VK_NV_external_memory_capabilities") define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" |
| |
| // 57 |
| @extension("VK_NV_external_memory") define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 |
| @extension("VK_NV_external_memory") define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" |
| |
| // 58 |
| @extension("VK_NV_external_memory_win32") define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
| @extension("VK_NV_external_memory_win32") define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" |
| |
| // 59 |
| @extension("VK_NV_win32_keyed_mutex") define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
| @extension("VK_NV_win32_keyed_mutex") define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" |
| |
| // 60 |
| @extension("VK_KHR_get_physical_device_properties2") define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1 |
| @extension("VK_KHR_get_physical_device_properties2") define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" |
| |
| // 61 |
| @extension("VK_KHX_device_group") define VK_KHX_DEVICE_GROUP_SPEC_VERSION 1 |
| @extension("VK_KHX_device_group") define VK_KHX_DEVICE_GROUP_EXTENSION_NAME "VK_KHX_device_group" |
| |
| // 62 |
| @extension("VK_EXT_validation_flags") define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1 |
| @extension("VK_EXT_validation_flags") define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" |
| |
| // 63 |
| @extension("VK_NN_vi_surface") define VK_NN_VI_SURFACE_SPEC_VERSION 1 |
| @extension("VK_NN_vi_surface") define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface" |
| |
| // 64 |
| @extension("VK_KHR_shader_draw_parameters") define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 |
| @extension("VK_KHR_shader_draw_parameters") define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" |
| |
| // 65 |
| @extension("VK_EXT_shader_subgroup_ballot") define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 |
| @extension("VK_EXT_shader_subgroup_ballot") define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" |
| |
| // 66 |
| @extension("VK_EXT_shader_subgroup_vote") define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 |
| @extension("VK_EXT_shader_subgroup_vote") define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" |
| |
| // 70 |
| @extension("VK_KHR_maintenance1") define VK_KHR_MAINTENANCE1_SPEC_VERSION 1 |
| @extension("VK_KHR_maintenance1") define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" |
| |
| // 71 |
| @extension("VK_KHX_device_group_creation") define VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION 1 |
| @extension("VK_KHX_device_group_creation") define VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHX_device_group_creation" |
| |
| // 72 |
| @extension("VK_KHR_external_memory_capabilities") define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 |
| @extension("VK_KHR_external_memory_capabilities") define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" |
| |
| // 73 |
| @extension("VK_KHR_external_memory") define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 |
| @extension("VK_KHR_external_memory") define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" |
| |
| // 74 |
| @extension("VK_KHR_external_memory_win32") define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
| @extension("VK_KHR_external_memory_win32") define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32" |
| |
| // 75 |
| @extension("VK_KHR_external_memory_fd") define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 |
| @extension("VK_KHR_external_memory_fd") define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" |
| |
| // 76 |
| @extension("VK_KHR_win32_keyed_mutex") define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
| @extension("VK_KHR_win32_keyed_mutex") define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex" |
| |
| // 77 |
| @extension("VK_KHR_external_semaphore_capabilities") define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 |
| @extension("VK_KHR_external_semaphore_capabilities") define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" |
| |
| // 78 |
| @extension("VK_KHR_external_semaphore") define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 |
| @extension("VK_KHR_external_semaphore") define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" |
| |
| // 79 |
| @extension("VK_KHR_external_semaphore_win32") define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 |
| @extension("VK_KHR_external_semaphore_win32") define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32" |
| |
| // 80 |
| @extension("VK_KHR_external_semaphore_fd") define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 |
| @extension("VK_KHR_external_semaphore_fd") define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" |
| |
| // 81 |
| @extension("VK_KHR_push_descriptor") define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 1 |
| @extension("VK_KHR_push_descriptor") define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" |
| |
| // 84 |
| @extension("VK_KHR_16bit_storage") define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 |
| @extension("VK_KHR_16bit_storage") define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" |
| |
| // 85 |
| @extension("VK_KHR_incremental_present") define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1 |
| @extension("VK_KHR_incremental_present") define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" |
| |
| // 86 |
| @extension("VK_KHR_descriptor_update_template") define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 |
| @extension("VK_KHR_descriptor_update_template") define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" |
| |
| // 87 |
| @extension("VK_NVX_device_generated_commands") define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 |
| @extension("VK_NVX_device_generated_commands") define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands" |
| |
| // 88 |
| @extension("VK_NV_clip_space_w_scaling") define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 |
| @extension("VK_NV_clip_space_w_scaling") define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" |
| |
| // 89 |
| @extension("VK_EXT_direct_mode_display") define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 |
| @extension("VK_EXT_direct_mode_display") define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" |
| |
| // 90 |
| @extension("VK_EXT_acquire_xlib_display") define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1 |
| @extension("VK_EXT_acquire_xlib_display") define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display" |
| |
| // 91 |
| @extension("VK_EXT_display_surface_counter") define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 |
| @extension("VK_EXT_display_surface_counter") define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" |
| |
| // 92 |
| @extension("VK_EXT_display_control") define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 |
| @extension("VK_EXT_display_control") define VK_EXT_DISPLAY_CONTROL_COUNTER_EXTENSION_NAME "VK_EXT_display_control" |
| |
| // 93 |
| @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 |
| @extension("VK_GOOGLE_display_timing") define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" |
| |
| // 95 |
| @extension("VK_NV_sample_mask_override_coverage") define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 |
| @extension("VK_NV_sample_mask_override_coverage") define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" |
| |
| // 96 |
| @extension("VK_NV_geometry_shader_passthrough") define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 |
| @extension("VK_NV_geometry_shader_passthrough") define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" |
| |
| // 97 |
| @extension("VK_NV_viewport_array2") define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1 |
| @extension("VK_NV_viewport_array2") define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2" |
| |
| // 98 |
| @extension("VK_NVX_multiview_per_view_attributes") define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 |
| @extension("VK_NVX_multiview_per_view_attributes") define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" |
| |
| // 99 |
| @extension("VK_NV_viewport_swizzle") define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 |
| @extension("VK_NV_viewport_swizzle") define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" |
| |
| // 100 |
| @extension("VK_EXT_discard_rectangles") define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 |
| @extension("VK_EXT_discard_rectangles") define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" |
| |
| // 105 |
| @extension("VK_EXT_swapchain_colorspace") define VK_EXT_SWAPCHAIN_COLORSPACE_SPEC_VERSION 2 |
| @extension("VK_EXT_swapchain_colorspace") define VK_EXT_SWAPCHAIN_COLORSPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" |
| |
| // 106 |
| @extension("VK_EXT_hdr_metadata") define VK_EXT_HDR_METADATA_SPEC_VERSION 1 |
| @extension("VK_EXT_hdr_metadata") define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" |
| |
| // 112 |
| @extension("VK_KHR_shared_presentable_image") define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 |
| @extension("VK_KHR_shared_presentable_image") define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" |
| |
| // 113 |
| @extension("VK_KHR_external_fence_capabilities") define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 |
| @extension("VK_KHR_external_fence_capabilities") define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" |
| |
| // 114 |
| @extension("VK_KHR_external_fence") define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 |
| @extension("VK_KHR_external_fence") define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" |
| |
| // 115 |
| @extension("VK_KHR_external_fence_win32") define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 |
| @extension("VK_KHR_external_fence_win32") define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32" |
| |
| // 116 |
| @extension("VK_KHR_external_fence_fd") define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 |
| @extension("VK_KHR_external_fence_fd") define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" |
| |
| // 120 |
| @extension("VK_KHR_get_surface_capabilities2") define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 |
| @extension("VK_KHR_get_surface_capabilities2") define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" |
| |
| // 121 |
| @extension("VK_KHR_variable_pointers") define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 |
| @extension("VK_KHR_variable_pointers") define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" |
| |
| // 123 |
| @extension("VK_MVK_ios_surface") define VK_MVK_IOS_SURFACE_SPEC_VERSION 1 |
| @extension("VK_MVK_ios_surface") define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface" |
| |
| // 124 |
| @extension("VK_MVK_macos_surface") define VK_MVK_MACOS_SURFACE_SPEC_VERSION 1 |
| @extension("VK_MVK_macos_surface") define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface" |
| |
| // 128 |
| @extension("VK_KHR_dedicated_allocation") define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 1 |
| @extension("VK_KHR_dedicated_allocation") define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" |
| |
| // 131 |
| @extension("VK_EXT_sampler_filter_minmax") define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1 |
| @extension("VK_EXT_sampler_filter_minmax") define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" |
| |
| // 132 |
| @extension("VK_KHR_storage_buffer_storage_class") define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 |
| @extension("VK_KHR_storage_buffer_storage_class") define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" |
| |
| // 133 |
| @extension("VK_AMD_gpu_shader_int16") define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1 |
| @extension("VK_AMD_gpu_shader_int16") define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" |
| |
| // 147 |
| @extension("VK_KHR_get_memory_requirements2") define VK_KHR_GET_MEMORY_REQUIREMENTS2_SPEC_VERSION 1 |
| @extension("VK_KHR_get_memory_requirements2") define VK_KHR_GET_MEMORY_REQUIREMENTS2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" |
| |
| // 149 |
| @extension("VK_EXT_blend_operation_advanced") define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 |
| @extension("VK_EXT_blend_operation_advanced") define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" |
| |
| // 150 |
| @extension("VK_NV_fragment_coverage_to_color") define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 |
| @extension("VK_NV_fragment_coverage_to_color") define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" |
| |
| // 153 |
| @extension("VK_NV_framebuffer_mixed_samples") define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 |
| @extension("VK_NV_framebuffer_mixed_samples") define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" |
| |
| // 154 |
| @extension("VK_NV_fill_rectangle") define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 |
| @extension("VK_NV_fill_rectangle") define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" |
| |
| ///////////// |
| // Types // |
| ///////////// |
| |
| type u32 VkBool32 |
| type u32 VkFlags |
| type u64 VkDeviceSize |
| type u32 VkSampleMask |
| |
| /// Dispatchable handle types. |
| @dispatchHandle type u64 VkInstance |
| @dispatchHandle type u64 VkPhysicalDevice |
| @dispatchHandle type u64 VkDevice |
| @dispatchHandle type u64 VkQueue |
| @dispatchHandle type u64 VkCommandBuffer |
| |
| /// Non dispatchable handle types. |
| @nonDispatchHandle type u64 VkDeviceMemory |
| @nonDispatchHandle type u64 VkCommandPool |
| @nonDispatchHandle type u64 VkBuffer |
| @nonDispatchHandle type u64 VkBufferView |
| @nonDispatchHandle type u64 VkImage |
| @nonDispatchHandle type u64 VkImageView |
| @nonDispatchHandle type u64 VkShaderModule |
| @nonDispatchHandle type u64 VkPipeline |
| @nonDispatchHandle type u64 VkPipelineLayout |
| @nonDispatchHandle type u64 VkSampler |
| @nonDispatchHandle type u64 VkDescriptorSet |
| @nonDispatchHandle type u64 VkDescriptorSetLayout |
| @nonDispatchHandle type u64 VkDescriptorPool |
| @nonDispatchHandle type u64 VkFence |
| @nonDispatchHandle type u64 VkSemaphore |
| @nonDispatchHandle type u64 VkEvent |
| @nonDispatchHandle type u64 VkQueryPool |
| @nonDispatchHandle type u64 VkFramebuffer |
| @nonDispatchHandle type u64 VkRenderPass |
| @nonDispatchHandle type u64 VkPipelineCache |
| |
| // 1 |
| @extension("VK_KHR_surface") @nonDispatchHandle type u64 VkSurfaceKHR |
| |
| // 2 |
| @extension("VK_KHR_swapchain") @nonDispatchHandle type u64 VkSwapchainKHR |
| |
| // 3 |
| @extension("VK_KHR_display") @nonDispatchHandle type u64 VkDisplayKHR |
| @extension("VK_KHR_display") @nonDispatchHandle type u64 VkDisplayModeKHR |
| |
| // 12 |
| @extension("VK_EXT_debug_report") @nonDispatchHandle type u64 VkDebugReportCallbackEXT |
| |
| // 86 |
| @extension("VK_KHR_descriptor_update_template") @nonDispatchHandle type u64 VkDescriptorUpdateTemplateKHR |
| |
| // 87 |
| @extension("VK_NVX_device_generated_commands") @nonDispatchHandle type u64 VkObjectTableNVX |
| @extension("VK_NVX_device_generated_commands") @nonDispatchHandle type u64 VkIndirectCommandsLayoutNVX |
| |
| |
| ///////////// |
| // Enums // |
| ///////////// |
| |
| enum VkImageLayout { |
| VK_IMAGE_LAYOUT_UNDEFINED = 0x00000000, /// Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation) |
| VK_IMAGE_LAYOUT_GENERAL = 0x00000001, /// General layout when image can be used for any kind of access |
| VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 0x00000002, /// Optimal layout when image is only used for color attachment read/write |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 0x00000003, /// Optimal layout when image is only used for depth/stencil attachment read/write |
| VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 0x00000004, /// Optimal layout when image is used for read only depth/stencil attachment and shader access |
| VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 0x00000005, /// Optimal layout when image is used for read only shader access |
| VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 0x00000006, /// Optimal layout when image is used only as source of transfer operations |
| VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 0x00000007, /// Optimal layout when image is used only as destination of transfer operations |
| VK_IMAGE_LAYOUT_PREINITIALIZED = 0x00000008, /// Initial layout used when the data is populated by the CPU |
| |
| //@extension("VK_KHR_swapchain") // 2 |
| VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, |
| |
| //@extension("VK_KHR_shared_presentable_image") // 112 |
| VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, |
| } |
| |
| enum VkAttachmentLoadOp { |
| VK_ATTACHMENT_LOAD_OP_LOAD = 0x00000000, |
| VK_ATTACHMENT_LOAD_OP_CLEAR = 0x00000001, |
| VK_ATTACHMENT_LOAD_OP_DONT_CARE = 0x00000002, |
| } |
| |
| enum VkAttachmentStoreOp { |
| VK_ATTACHMENT_STORE_OP_STORE = 0x00000000, |
| VK_ATTACHMENT_STORE_OP_DONT_CARE = 0x00000001, |
| } |
| |
| enum VkImageType { |
| VK_IMAGE_TYPE_1D = 0x00000000, |
| VK_IMAGE_TYPE_2D = 0x00000001, |
| VK_IMAGE_TYPE_3D = 0x00000002, |
| } |
| |
| enum VkImageTiling { |
| VK_IMAGE_TILING_OPTIMAL = 0x00000000, |
| VK_IMAGE_TILING_LINEAR = 0x00000001, |
| } |
| |
| enum VkImageViewType { |
| VK_IMAGE_VIEW_TYPE_1D = 0x00000000, |
| VK_IMAGE_VIEW_TYPE_2D = 0x00000001, |
| VK_IMAGE_VIEW_TYPE_3D = 0x00000002, |
| VK_IMAGE_VIEW_TYPE_CUBE = 0x00000003, |
| VK_IMAGE_VIEW_TYPE_1D_ARRAY = 0x00000004, |
| VK_IMAGE_VIEW_TYPE_2D_ARRAY = 0x00000005, |
| VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 0x00000006, |
| } |
| |
| enum VkCommandBufferLevel { |
| VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0x00000000, |
| VK_COMMAND_BUFFER_LEVEL_SECONDARY = 0x00000001, |
| } |
| |
| enum VkComponentSwizzle { |
| VK_COMPONENT_SWIZZLE_IDENTITY = 0x00000000, |
| VK_COMPONENT_SWIZZLE_ZERO = 0x00000001, |
| VK_COMPONENT_SWIZZLE_ONE = 0x00000002, |
| VK_COMPONENT_SWIZZLE_R = 0x00000003, |
| VK_COMPONENT_SWIZZLE_G = 0x00000004, |
| VK_COMPONENT_SWIZZLE_B = 0x00000005, |
| VK_COMPONENT_SWIZZLE_A = 0x00000006, |
| } |
| |
| enum VkDescriptorType { |
| VK_DESCRIPTOR_TYPE_SAMPLER = 0x00000000, |
| VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 0x00000001, |
| VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 0x00000002, |
| VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 0x00000003, |
| VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 0x00000004, |
| VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 0x00000005, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 0x00000006, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 0x00000007, |
| VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 0x00000008, |
| VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 0x00000009, |
| VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 0x0000000a, |
| } |
| |
| enum VkQueryType { |
| VK_QUERY_TYPE_OCCLUSION = 0x00000000, |
| VK_QUERY_TYPE_PIPELINE_STATISTICS = 0x00000001, /// Optional |
| VK_QUERY_TYPE_TIMESTAMP = 0x00000002, |
| } |
| |
| enum VkBorderColor { |
| VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0x00000000, |
| VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 0x00000001, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 0x00000002, |
| VK_BORDER_COLOR_INT_OPAQUE_BLACK = 0x00000003, |
| VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 0x00000004, |
| VK_BORDER_COLOR_INT_OPAQUE_WHITE = 0x00000005, |
| } |
| |
| enum VkPipelineBindPoint { |
| VK_PIPELINE_BIND_POINT_GRAPHICS = 0x00000000, |
| VK_PIPELINE_BIND_POINT_COMPUTE = 0x00000001, |
| } |
| |
| enum VkPrimitiveTopology { |
| VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0x00000000, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 0x00000001, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 0x00000002, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 0x00000003, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 0x00000004, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 0x00000005, |
| VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 0x00000006, |
| VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 0x00000007, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 0x00000008, |
| VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 0x00000009, |
| VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 0x0000000a, |
| } |
| |
| enum VkSharingMode { |
| VK_SHARING_MODE_EXCLUSIVE = 0x00000000, |
| VK_SHARING_MODE_CONCURRENT = 0x00000001, |
| } |
| |
| enum VkIndexType { |
| VK_INDEX_TYPE_UINT16 = 0x00000000, |
| VK_INDEX_TYPE_UINT32 = 0x00000001, |
| } |
| |
| enum VkFilter { |
| VK_FILTER_NEAREST = 0x00000000, |
| VK_FILTER_LINEAR = 0x00000001, |
| |
| //@extension("VK_IMG_filter_cubic") // 16 |
| VK_FILTER_CUBIC_IMG = 1000015000, |
| } |
| |
| enum VkSamplerMipmapMode { |
| VK_SAMPLER_MIPMAP_MODE_NEAREST = 0x00000001, /// Choose nearest mip level |
| VK_SAMPLER_MIPMAP_MODE_LINEAR = 0x00000002, /// Linear filter between mip levels |
| } |
| |
| enum VkSamplerAddressMode { |
| VK_SAMPLER_ADDRESS_MODE_REPEAT = 0x00000000, |
| VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 0x00000001, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 0x00000002, |
| VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 0x00000003, |
| VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 0x00000004, |
| } |
| |
| enum VkCompareOp { |
| VK_COMPARE_OP_NEVER = 0x00000000, |
| VK_COMPARE_OP_LESS = 0x00000001, |
| VK_COMPARE_OP_EQUAL = 0x00000002, |
| VK_COMPARE_OP_LESS_OR_EQUAL = 0x00000003, |
| VK_COMPARE_OP_GREATER = 0x00000004, |
| VK_COMPARE_OP_NOT_EQUAL = 0x00000005, |
| VK_COMPARE_OP_GREATER_OR_EQUAL = 0x00000006, |
| VK_COMPARE_OP_ALWAYS = 0x00000007, |
| } |
| |
| enum VkPolygonMode { |
| VK_POLYGON_MODE_FILL = 0x00000000, |
| VK_POLYGON_MODE_LINE = 0x00000001, |
| VK_POLYGON_MODE_POINT = 0x00000002, |
| |
| //@extension("VK_NV_fill_rectangle") // 154 |
| VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, |
| } |
| |
| enum VkFrontFace { |
| VK_FRONT_FACE_COUNTER_CLOCKWISE = 0x00000000, |
| VK_FRONT_FACE_CLOCKWISE = 0x00000001, |
| } |
| |
| enum VkBlendFactor { |
| VK_BLEND_FACTOR_ZERO = 0x00000000, |
| VK_BLEND_FACTOR_ONE = 0x00000001, |
| VK_BLEND_FACTOR_SRC_COLOR = 0x00000002, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 0x00000003, |
| VK_BLEND_FACTOR_DST_COLOR = 0x00000004, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 0x00000005, |
| VK_BLEND_FACTOR_SRC_ALPHA = 0x00000006, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 0x00000007, |
| VK_BLEND_FACTOR_DST_ALPHA = 0x00000008, |
| VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 0x00000009, |
| VK_BLEND_FACTOR_CONSTANT_COLOR = 0x0000000a, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 0x0000000b, |
| VK_BLEND_FACTOR_CONSTANT_ALPHA = 0x0000000c, |
| VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 0x0000000d, |
| VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 0x0000000e, |
| VK_BLEND_FACTOR_SRC1_COLOR = 0x0000000f, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 0x00000010, |
| VK_BLEND_FACTOR_SRC1_ALPHA = 0x00000011, |
| VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 0x00000012, |
| } |
| |
| enum VkBlendOp { |
| VK_BLEND_OP_ADD = 0x00000000, |
| VK_BLEND_OP_SUBTRACT = 0x00000001, |
| VK_BLEND_OP_REVERSE_SUBTRACT = 0x00000002, |
| VK_BLEND_OP_MIN = 0x00000003, |
| VK_BLEND_OP_MAX = 0x00000004, |
| |
| //@extension("VK_EXT_blend_operation_advanced") // 149 |
| VK_BLEND_OP_ZERO_EXT = 1000148000, |
| VK_BLEND_OP_SRC_EXT = 1000148001, |
| VK_BLEND_OP_DST_EXT = 1000148002, |
| VK_BLEND_OP_SRC_OVER_EXT = 1000148003, |
| VK_BLEND_OP_DST_OVER_EXT = 1000148004, |
| VK_BLEND_OP_SRC_IN_EXT = 1000148005, |
| VK_BLEND_OP_DST_IN_EXT = 1000148006, |
| VK_BLEND_OP_SRC_OUT_EXT = 1000148007, |
| VK_BLEND_OP_DST_OUT_EXT = 1000148008, |
| VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, |
| VK_BLEND_OP_DST_ATOP_EXT = 1000148010, |
| VK_BLEND_OP_XOR_EXT = 1000148011, |
| VK_BLEND_OP_MULTIPLY_EXT = 1000148012, |
| VK_BLEND_OP_SCREEN_EXT = 1000148013, |
| VK_BLEND_OP_OVERLAY_EXT = 1000148014, |
| VK_BLEND_OP_DARKEN_EXT = 1000148015, |
| VK_BLEND_OP_LIGHTEN_EXT = 1000148016, |
| VK_BLEND_OP_COLORDODGE_EXT = 1000148017, |
| VK_BLEND_OP_COLORBURN_EXT = 1000148018, |
| VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, |
| VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, |
| VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, |
| VK_BLEND_OP_EXCLUSION_EXT = 1000148022, |
| VK_BLEND_OP_INVERT_EXT = 1000148023, |
| VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, |
| VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, |
| VK_BLEND_OP_LINEARBURN_EXT = 1000148026, |
| VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, |
| VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, |
| VK_BLEND_OP_PINLIGHT_EXT = 1000148029, |
| VK_BLEND_OP_HARDMIX_EXT = 1000148030, |
| VK_BLEND_OP_HSL_HUE_EXT = 1000148031, |
| VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, |
| VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, |
| VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, |
| VK_BLEND_OP_PLUS_EXT = 1000148035, |
| VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, |
| VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, |
| VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, |
| VK_BLEND_OP_MINUS_EXT = 1000148039, |
| VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, |
| VK_BLEND_OP_CONTRAST_EXT = 1000148041, |
| VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, |
| VK_BLEND_OP_RED_EXT = 1000148043, |
| VK_BLEND_OP_GREEN_EXT = 1000148044, |
| VK_BLEND_OP_BLUE_EXT = 1000148045, |
| } |
| |
| enum VkStencilOp { |
| VK_STENCIL_OP_KEEP = 0x00000000, |
| VK_STENCIL_OP_ZERO = 0x00000001, |
| VK_STENCIL_OP_REPLACE = 0x00000002, |
| VK_STENCIL_OP_INCREMENT_AND_CLAMP = 0x00000003, |
| VK_STENCIL_OP_DECREMENT_AND_CLAMP = 0x00000004, |
| VK_STENCIL_OP_INVERT = 0x00000005, |
| VK_STENCIL_OP_INCREMENT_AND_WRAP = 0x00000006, |
| VK_STENCIL_OP_DECREMENT_AND_WRAP = 0x00000007, |
| } |
| |
| enum VkLogicOp { |
| VK_LOGIC_OP_CLEAR = 0x00000000, |
| VK_LOGIC_OP_AND = 0x00000001, |
| VK_LOGIC_OP_AND_REVERSE = 0x00000002, |
| VK_LOGIC_OP_COPY = 0x00000003, |
| VK_LOGIC_OP_AND_INVERTED = 0x00000004, |
| VK_LOGIC_OP_NO_OP = 0x00000005, |
| VK_LOGIC_OP_XOR = 0x00000006, |
| VK_LOGIC_OP_OR = 0x00000007, |
| VK_LOGIC_OP_NOR = 0x00000008, |
| VK_LOGIC_OP_EQUIVALENT = 0x00000009, |
| VK_LOGIC_OP_INVERT = 0x0000000a, |
| VK_LOGIC_OP_OR_REVERSE = 0x0000000b, |
| VK_LOGIC_OP_COPY_INVERTED = 0x0000000c, |
| VK_LOGIC_OP_OR_INVERTED = 0x0000000d, |
| VK_LOGIC_OP_NAND = 0x0000000e, |
| VK_LOGIC_OP_SET = 0x0000000f, |
| } |
| |
| enum VkSystemAllocationScope { |
| VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0x00000000, |
| VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 0x00000001, |
| VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 0x00000002, |
| VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 0x00000003, |
| VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 0x00000004, |
| } |
| |
| enum VkInternalAllocationType { |
| VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0x00000000, |
| } |
| |
| enum VkPhysicalDeviceType { |
| VK_PHYSICAL_DEVICE_TYPE_OTHER = 0x00000000, |
| VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 0x00000001, |
| VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 0x00000002, |
| VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 0x00000003, |
| VK_PHYSICAL_DEVICE_TYPE_CPU = 0x00000004, |
| } |
| |
| enum VkVertexInputRate { |
| VK_VERTEX_INPUT_RATE_VERTEX = 0x00000000, |
| VK_VERTEX_INPUT_RATE_INSTANCE = 0x00000001, |
| } |
| |
| /// Vulkan format definitions |
| enum VkFormat { |
| VK_FORMAT_UNDEFINED = 0, |
| VK_FORMAT_R4G4_UNORM_PACK8 = 1, |
| VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, |
| VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, |
| VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, |
| VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, |
| VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, |
| VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, |
| VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, |
| VK_FORMAT_R8_UNORM = 9, |
| VK_FORMAT_R8_SNORM = 10, |
| VK_FORMAT_R8_USCALED = 11, |
| VK_FORMAT_R8_SSCALED = 12, |
| VK_FORMAT_R8_UINT = 13, |
| VK_FORMAT_R8_SINT = 14, |
| VK_FORMAT_R8_SRGB = 15, |
| VK_FORMAT_R8G8_UNORM = 16, |
| VK_FORMAT_R8G8_SNORM = 17, |
| VK_FORMAT_R8G8_USCALED = 18, |
| VK_FORMAT_R8G8_SSCALED = 19, |
| VK_FORMAT_R8G8_UINT = 20, |
| VK_FORMAT_R8G8_SINT = 21, |
| VK_FORMAT_R8G8_SRGB = 22, |
| VK_FORMAT_R8G8B8_UNORM = 23, |
| VK_FORMAT_R8G8B8_SNORM = 24, |
| VK_FORMAT_R8G8B8_USCALED = 25, |
| VK_FORMAT_R8G8B8_SSCALED = 26, |
| VK_FORMAT_R8G8B8_UINT = 27, |
| VK_FORMAT_R8G8B8_SINT = 28, |
| VK_FORMAT_R8G8B8_SRGB = 29, |
| VK_FORMAT_B8G8R8_UNORM = 30, |
| VK_FORMAT_B8G8R8_SNORM = 31, |
| VK_FORMAT_B8G8R8_USCALED = 32, |
| VK_FORMAT_B8G8R8_SSCALED = 33, |
| VK_FORMAT_B8G8R8_UINT = 34, |
| VK_FORMAT_B8G8R8_SINT = 35, |
| VK_FORMAT_B8G8R8_SRGB = 36, |
| VK_FORMAT_R8G8B8A8_UNORM = 37, |
| VK_FORMAT_R8G8B8A8_SNORM = 38, |
| VK_FORMAT_R8G8B8A8_USCALED = 39, |
| VK_FORMAT_R8G8B8A8_SSCALED = 40, |
| VK_FORMAT_R8G8B8A8_UINT = 41, |
| VK_FORMAT_R8G8B8A8_SINT = 42, |
| VK_FORMAT_R8G8B8A8_SRGB = 43, |
| VK_FORMAT_B8G8R8A8_UNORM = 44, |
| VK_FORMAT_B8G8R8A8_SNORM = 45, |
| VK_FORMAT_B8G8R8A8_USCALED = 46, |
| VK_FORMAT_B8G8R8A8_SSCALED = 47, |
| VK_FORMAT_B8G8R8A8_UINT = 48, |
| VK_FORMAT_B8G8R8A8_SINT = 49, |
| VK_FORMAT_B8G8R8A8_SRGB = 50, |
| VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, |
| VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, |
| VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, |
| VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, |
| VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, |
| VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, |
| VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, |
| VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, |
| VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, |
| VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, |
| VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, |
| VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, |
| VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, |
| VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, |
| VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, |
| VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, |
| VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, |
| VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, |
| VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, |
| VK_FORMAT_R16_UNORM = 70, |
| VK_FORMAT_R16_SNORM = 71, |
| VK_FORMAT_R16_USCALED = 72, |
| VK_FORMAT_R16_SSCALED = 73, |
| VK_FORMAT_R16_UINT = 74, |
| VK_FORMAT_R16_SINT = 75, |
| VK_FORMAT_R16_SFLOAT = 76, |
| VK_FORMAT_R16G16_UNORM = 77, |
| VK_FORMAT_R16G16_SNORM = 78, |
| VK_FORMAT_R16G16_USCALED = 79, |
| VK_FORMAT_R16G16_SSCALED = 80, |
| VK_FORMAT_R16G16_UINT = 81, |
| VK_FORMAT_R16G16_SINT = 82, |
| VK_FORMAT_R16G16_SFLOAT = 83, |
| VK_FORMAT_R16G16B16_UNORM = 84, |
| VK_FORMAT_R16G16B16_SNORM = 85, |
| VK_FORMAT_R16G16B16_USCALED = 86, |
| VK_FORMAT_R16G16B16_SSCALED = 87, |
| VK_FORMAT_R16G16B16_UINT = 88, |
| VK_FORMAT_R16G16B16_SINT = 89, |
| VK_FORMAT_R16G16B16_SFLOAT = 90, |
| VK_FORMAT_R16G16B16A16_UNORM = 91, |
| VK_FORMAT_R16G16B16A16_SNORM = 92, |
| VK_FORMAT_R16G16B16A16_USCALED = 93, |
| VK_FORMAT_R16G16B16A16_SSCALED = 94, |
| VK_FORMAT_R16G16B16A16_UINT = 95, |
| VK_FORMAT_R16G16B16A16_SINT = 96, |
| VK_FORMAT_R16G16B16A16_SFLOAT = 97, |
| VK_FORMAT_R32_UINT = 98, |
| VK_FORMAT_R32_SINT = 99, |
| VK_FORMAT_R32_SFLOAT = 100, |
| VK_FORMAT_R32G32_UINT = 101, |
| VK_FORMAT_R32G32_SINT = 102, |
| VK_FORMAT_R32G32_SFLOAT = 103, |
| VK_FORMAT_R32G32B32_UINT = 104, |
| VK_FORMAT_R32G32B32_SINT = 105, |
| VK_FORMAT_R32G32B32_SFLOAT = 106, |
| VK_FORMAT_R32G32B32A32_UINT = 107, |
| VK_FORMAT_R32G32B32A32_SINT = 108, |
| VK_FORMAT_R32G32B32A32_SFLOAT = 109, |
| VK_FORMAT_R64_UINT = 110, |
| VK_FORMAT_R64_SINT = 111, |
| VK_FORMAT_R64_SFLOAT = 112, |
| VK_FORMAT_R64G64_UINT = 113, |
| VK_FORMAT_R64G64_SINT = 114, |
| VK_FORMAT_R64G64_SFLOAT = 115, |
| VK_FORMAT_R64G64B64_UINT = 116, |
| VK_FORMAT_R64G64B64_SINT = 117, |
| VK_FORMAT_R64G64B64_SFLOAT = 118, |
| VK_FORMAT_R64G64B64A64_UINT = 119, |
| VK_FORMAT_R64G64B64A64_SINT = 120, |
| VK_FORMAT_R64G64B64A64_SFLOAT = 121, |
| VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, |
| VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, |
| VK_FORMAT_D16_UNORM = 124, |
| VK_FORMAT_X8_D24_UNORM_PACK32 = 125, |
| VK_FORMAT_D32_SFLOAT = 126, |
| VK_FORMAT_S8_UINT = 127, |
| VK_FORMAT_D16_UNORM_S8_UINT = 128, |
| VK_FORMAT_D24_UNORM_S8_UINT = 129, |
| VK_FORMAT_D32_SFLOAT_S8_UINT = 130, |
| VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, |
| VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, |
| VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, |
| VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, |
| VK_FORMAT_BC2_UNORM_BLOCK = 135, |
| VK_FORMAT_BC2_SRGB_BLOCK = 136, |
| VK_FORMAT_BC3_UNORM_BLOCK = 137, |
| VK_FORMAT_BC3_SRGB_BLOCK = 138, |
| VK_FORMAT_BC4_UNORM_BLOCK = 139, |
| VK_FORMAT_BC4_SNORM_BLOCK = 140, |
| VK_FORMAT_BC5_UNORM_BLOCK = 141, |
| VK_FORMAT_BC5_SNORM_BLOCK = 142, |
| VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, |
| VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, |
| VK_FORMAT_BC7_UNORM_BLOCK = 145, |
| VK_FORMAT_BC7_SRGB_BLOCK = 146, |
| VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, |
| VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, |
| VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, |
| VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, |
| VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, |
| VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, |
| VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, |
| VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, |
| VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, |
| VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, |
| VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, |
| VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, |
| VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, |
| VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, |
| VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, |
| VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, |
| VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, |
| VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, |
| VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, |
| VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, |
| VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, |
| VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, |
| VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, |
| VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, |
| VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, |
| VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, |
| VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, |
| VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, |
| VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, |
| VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, |
| VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, |
| VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, |
| VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, |
| VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, |
| VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, |
| VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, |
| VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, |
| VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, |
| |
| //@extension("VK_IMG_format_pvrtc") // 28 |
| VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, |
| VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, |
| VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, |
| VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, |
| VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, |
| VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, |
| VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, |
| VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, |
| } |
| |
| /// Structure type enumerant |
| enum VkStructureType { |
| VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, |
| VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, |
| VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, |
| VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, |
| VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, |
| VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, |
| VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, |
| VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, |
| VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, |
| VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, |
| VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, |
| VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, |
| VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, |
| VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, |
| VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, |
| VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, |
| VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, |
| VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, |
| VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, |
| VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, |
| VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, |
| VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, |
| VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, |
| VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, |
| VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, |
| VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, |
| VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, |
| VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, |
| VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, |
| VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, |
| VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, |
| VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, |
| VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, |
| VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, |
| VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, |
| VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, |
| VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, |
| VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, |
| VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, |
| VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, |
| |
| //@extension("VK_KHR_swapchain") // 2 |
| VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, |
| VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, |
| |
| //@extension("VK_KHR_display") // 3 |
| VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, |
| VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, |
| |
| //@extension("VK_KHR_display_swapchain") // 4 |
| VK_STRUCTURE_TYPE_DISPLAY_DISPLAY_PRESENT_INFO_KHR = 1000003000, |
| |
| //@extension("VK_KHR_xlib_surface") // 5 |
| VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, |
| |
| //@extension("VK_KHR_xcb_surface") // 6 |
| VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, |
| |
| //@extension("VK_KHR_wayland_surface") // 7 |
| VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, |
| |
| //@extension("VK_KHR_mir_surface") // 8 |
| VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000, |
| |
| //@extension("VK_KHR_android_surface") // 9 |
| VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, |
| |
| //@extension("VK_KHR_win32_surface") // 10 |
| VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, |
| |
| //@extension("VK_ANDROID_native_buffer") // 11 |
| VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000, |
| VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID = 1000010001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID = 1000010002, |
| |
| //@extension("VK_EXT_debug_report") // 12 |
| VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, |
| |
| //@extension("VK_AMD_rasterization_order") // 19 |
| VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, |
| |
| //@extension("VK_EXT_debug_marker") // 23 |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, |
| VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, |
| |
| //@extension("VK_NV_dedicated_allocation") // 27 |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, |
| VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, |
| |
| //@extension("VK_AMD_texture_gather_bias_lod") // 42 |
| VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, |
| |
| //@extension("VK_KHX_multiview") // 54 |
| VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX = 1000053000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX = 1000053001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX = 1000053002, |
| |
| //@extension("VK_NV_external_memory") // 57 |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, |
| |
| //@extension("VK_NV_external_memory_win32") // 58 |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, |
| |
| //@extension("VK_NV_win32_keyed_mutex") // 59 |
| VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, |
| |
| //@extension("VK_KHR_get_physical_device_properties2") // 60 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001, |
| VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002, |
| VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004, |
| VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006, |
| VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008, |
| |
| //@extension("VK_KHX_device_group") // 61 |
| VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX = 1000060000, |
| VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHX = 1000060001, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX = 1000060002, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX = 1000060003, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX = 1000060004, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX = 1000060005, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX = 1000060006, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX = 1000060007, |
| VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX = 1000060008, |
| VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX = 1000060009, |
| VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX = 1000060010, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX = 1000060011, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX = 1000060012, |
| |
| //@extension("VK_EXT_validation_flags") // 62 |
| VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, |
| |
| //@extension("VK_NN_vi_surface") // 63 |
| VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, |
| |
| //@extension("VK_KHX_device_group_creation") // 71 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = 1000070000, |
| VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = 1000070001, |
| |
| //@extension("VK_KHR_external_memory_capabilities") // 72 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000, |
| VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = 1000071001, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = 1000071002, |
| VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = 1000071003, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = 1000071004, |
| |
| //@extension("VK_KHR_external_memory") // 73 |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = 1000072000, |
| VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = 1000072001, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = 1000072002, |
| |
| //@extension("VK_KHR_external_memory_win32") // 74 |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, |
| VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, |
| VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, |
| |
| //@extension("VK_KHR_external_memory_fd") // 75 |
| VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, |
| VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, |
| |
| //@extension("VK_KHR_win32_keyed_mutex") // 76 |
| VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, |
| |
| //@extension("VK_KHR_external_semaphore_capabilities") // 77 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = 1000076000, |
| VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = 1000076001, |
| |
| //@extension("VK_KHR_external_semaphore") // 78 |
| VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = 1000077000, |
| |
| //@extension("VK_KHR_external_semaphore_win32") // 79 |
| VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, |
| VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, |
| VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, |
| |
| //@extension("VK_KHR_external_semaphore_fd") // 80 |
| VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, |
| VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, |
| |
| //@extension("VK_KHR_push_descriptor") // 81 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, |
| |
| //@extension("VK_KHR_16bit_storage") // 84 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = 1000083000, |
| |
| //@extension("VK_KHR_incremental_present") // 85 |
| VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, |
| |
| //@extension("VK_KHR_descriptor_update_template") // 86 |
| VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000, |
| |
| //@extension("VK_NVX_device_generated_commands") // 87 |
| VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000, |
| VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001, |
| VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002, |
| VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003, |
| VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004, |
| VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005, |
| |
| //@extension("VK_NV_clip_space_w_scaling") // 88 |
| VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, |
| |
| //@extension("VK_EXT_display_surface_counter") // 91 |
| VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = 1000090000, |
| |
| //@extension("VK_EXT_display_control") // 92 |
| VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, |
| VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, |
| VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, |
| VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, |
| |
| //@extension("VK_GOOGLE_display_timing") // 93 |
| VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, |
| |
| //@extension("VK_NVX_multiview_per_view_attributes") // 98 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, |
| |
| //@extension("VK_NV_viewport_swizzle") // 99 |
| VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, |
| |
| //@extension("VK_EXT_discard_rectangles") // 100 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, |
| VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, |
| |
| //@extension("VK_EXT_hdr_metadata") // 106 |
| VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, |
| |
| //@extension("VK_KHR_shared_presentable_image") // 112 |
| VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, |
| |
| //@extension("VK_KHR_external_fence_capabilities") // 113 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = 1000112000, |
| VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = 1000112001, |
| |
| //@extension("VK_KHR_external_fence") // 114 |
| VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = 1000113000, |
| |
| //@extension("VK_KHR_external_fence_win32") // 115 |
| VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, |
| VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, |
| VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, |
| |
| //@extension("VK_KHR_external_fence_fd") // 117 |
| VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, |
| VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, |
| |
| //@extension("VK_KHR_get_surface_capabilities2") // 120 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, |
| VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, |
| VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, |
| |
| //@extension("VK_KHR_variable_pointers") // 121 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = 1000120000, |
| |
| //@extension("VK_MVK_ios_surface") // 123 |
| VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, |
| |
| //@extension("VK_MVK_macos_surface") // 124 |
| VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, |
| |
| //@extension("VK_KHR_dedicated_allocation") // 128 |
| VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = 1000127000, |
| VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001, |
| |
| //@extension("VK_EXT_sampler_filter_minmax") // 131 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000, |
| VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001, |
| |
| //@extension("VK_KHR_get_memory_requirements2") // 147 |
| VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000, |
| VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001, |
| VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002, |
| VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = 1000146003, |
| VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = 1000146004, |
| |
| //@extension("VK_EXT_blend_operation_advanced") // 149 |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, |
| VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, |
| |
| //@extension("VK_NV_fragment_coverage_to_color") // 150 |
| VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, |
| |
| //@structure("VK_NV_framebuffer_mixed_samples") // 153 |
| VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, |
| } |
| |
| enum VkSubpassContents { |
| VK_SUBPASS_CONTENTS_INLINE = 0x00000000, |
| VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 0x00000001, |
| } |
| |
| enum VkPipelineCacheHeaderVersion { |
| VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, |
| } |
| |
| @lastUnused(-11) |
| /// Error and return codes |
| enum VkResult { |
| // Return codes for successful operation execution (positive values) |
| VK_SUCCESS = 0, |
| VK_NOT_READY = 1, |
| VK_TIMEOUT = 2, |
| VK_EVENT_SET = 3, |
| VK_EVENT_RESET = 4, |
| VK_INCOMPLETE = 5, |
| |
| //@extension("VK_KHR_swapchain") // 2 |
| VK_SUBOPTIMAL_KHR = 1000001003, |
| |
| // Error codes (negative values) |
| VK_ERROR_OUT_OF_HOST_MEMORY = 0xFFFFFFFF, // -1 |
| VK_ERROR_OUT_OF_DEVICE_MEMORY = 0xFFFFFFFE, // -2 |
| VK_ERROR_INITIALIZATION_FAILED = 0xFFFFFFFD, // -3 |
| VK_ERROR_DEVICE_LOST = 0xFFFFFFFC, // -4 |
| VK_ERROR_MEMORY_MAP_FAILED = 0xFFFFFFFB, // -5 |
| VK_ERROR_LAYER_NOT_PRESENT = 0xFFFFFFFA, // -6 |
| VK_ERROR_EXTENSION_NOT_PRESENT = 0xFFFFFFF9, // -7 |
| VK_ERROR_FEATURE_NOT_PRESENT = 0xFFFFFFF8, // -8 |
| VK_ERROR_INCOMPATIBLE_DRIVER = 0xFFFFFFF7, // -9 |
| VK_ERROR_TOO_MANY_OBJECTS = 0xFFFFFFF6, // -10 |
| VK_ERROR_FORMAT_NOT_SUPPORTED = 0xFFFFFFF5, // -11 |
| VK_ERROR_FRAGMENTED_POOL = 0xFFFFFFF4, // -12 |
| |
| //@extension("VK_KHR_surface") // 1 |
| VK_ERROR_SURFACE_LOST_KHR = 0xC4653600, // -1000000000 |
| VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = 0xC46535FF, // -1000000001 |
| |
| //@extension("VK_KHR_swapchain") // 2 |
| VK_ERROR_OUT_OF_DATE_KHR = 0xC4653214, // -1000001004 |
| |
| //@extension("VK_KHR_display_swapchain") // 4 |
| VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = 0xC4652A47, // -1000003001 |
| |
| //@extension("VK_EXT_debug_report") // 12 |
| VK_ERROR_VALIDATION_FAILED_EXT = 0xC4650B07, // -1000011001 |
| |
| //@extension("VK_NV_glsl_shader") // 13 |
| VK_ERROR_INVALID_SHADER_NV = 0xC4650720, // -1000012000 |
| |
| //@extension("VK_KHR_maintenance1") // 70 |
| VK_ERROR_OUT_OF_POOL_MEMORY_KHR = 0xC4642878, // -1000069000 |
| |
| //@extension("VK_KHR_external_memory") // 73 |
| VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = 0xC4641CBD, // -1000072003 |
| } |
| |
| enum VkDynamicState { |
| VK_DYNAMIC_STATE_VIEWPORT = 0x00000000, |
| VK_DYNAMIC_STATE_SCISSOR = 0x00000001, |
| VK_DYNAMIC_STATE_LINE_WIDTH = 0x00000002, |
| VK_DYNAMIC_STATE_DEPTH_BIAS = 0x00000003, |
| VK_DYNAMIC_STATE_BLEND_CONSTANTS = 0x00000004, |
| VK_DYNAMIC_STATE_DEPTH_BOUNDS = 0x00000005, |
| VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 0x00000006, |
| VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 0x00000007, |
| VK_DYNAMIC_STATE_STENCIL_REFERENCE = 0x00000008, |
| |
| //@extension("VK_NV_clip_space_w_scaling") // 88 |
| VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, |
| |
| //@extension("VK_EXT_discard_rectangles") // 100 |
| VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, |
| } |
| |
| enum VkObjectType { |
| VK_OBJECT_TYPE_UNKNOWN = 0, |
| VK_OBJECT_TYPE_INSTANCE = 1, |
| VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, |
| VK_OBJECT_TYPE_DEVICE = 3, |
| VK_OBJECT_TYPE_QUEUE = 4, |
| VK_OBJECT_TYPE_SEMAPHORE = 5, |
| VK_OBJECT_TYPE_COMMAND_BUFFER = 6, |
| VK_OBJECT_TYPE_FENCE = 7, |
| VK_OBJECT_TYPE_DEVICE_MEMORY = 8, |
| VK_OBJECT_TYPE_BUFFER = 9, |
| VK_OBJECT_TYPE_IMAGE = 10, |
| VK_OBJECT_TYPE_EVENT = 11, |
| VK_OBJECT_TYPE_QUERY_POOL = 12, |
| VK_OBJECT_TYPE_BUFFER_VIEW = 13, |
| VK_OBJECT_TYPE_IMAGE_VIEW = 14, |
| VK_OBJECT_TYPE_SHADER_MODULE = 15, |
| VK_OBJECT_TYPE_PIPELINE_CACHE = 16, |
| VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, |
| VK_OBJECT_TYPE_RENDER_PASS = 18, |
| VK_OBJECT_TYPE_PIPELINE = 19, |
| VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, |
| VK_OBJECT_TYPE_SAMPLER = 21, |
| VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, |
| VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, |
| VK_OBJECT_TYPE_FRAMEBUFFER = 24, |
| VK_OBJECT_TYPE_COMMAND_POOL = 25, |
| |
| //@extension("VK_KHR_surface") // 1 |
| VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, |
| |
| //@extension("VK_KHR_swapchain") // 2 |
| VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, |
| |
| //@extension("VK_KHR_display") // 3 |
| VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, |
| VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, |
| |
| //@extension("VK_KHR_debug_report") // 12 |
| VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, |
| |
| //@extension("VK_KHR_descriptor_update_template") // 86 |
| VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = 1000085000, |
| |
| //@extension("VK_NVX_device_generated_commands") // 87 |
| VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000, |
| VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001, |
| } |
| |
| @extension("VK_KHR_surface") // 1 |
| enum VkPresentModeKHR { |
| VK_PRESENT_MODE_IMMEDIATE_KHR = 0x00000000, |
| VK_PRESENT_MODE_MAILBOX_KHR = 0x00000001, |
| VK_PRESENT_MODE_FIFO_KHR = 0x00000002, |
| VK_PRESENT_MODE_FIFO_RELAXED_KHR = 0x00000003, |
| |
| //@extension("VK_KHR_shared_presentable_image") // 112 |
| VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, |
| VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, |
| } |
| |
| @extension("VK_KHR_surface") // 1 |
| enum VkColorSpaceKHR { |
| VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0x00000000, |
| |
| //@extension("VK_EXT_swapchain_colorspace") // 105 |
| VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, |
| VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, |
| VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003, |
| VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, |
| VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, |
| VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, |
| VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, |
| VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, |
| VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, |
| VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, |
| VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, |
| VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, |
| VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, |
| VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, |
| } |
| |
| @extension("VK_EXT_debug_report") // 12 |
| enum VkDebugReportObjectTypeEXT { |
| 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, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, |
| VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, |
| VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, |
| VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, |
| VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, |
| VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, |
| VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, |
| VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, |
| VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, |
| VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, |
| VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, |
| VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, |
| VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, |
| VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, |
| VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, |
| VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 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_OBJECT_TABLE_NVX_EXT = 31, |
| VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32, |
| |
| //extension("VK_KHR_descriptor_update_template") // 86 |
| VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000, |
| } |
| |
| @extension("VK_AMD_rasterization_order") // 19 |
| enum VkRasterizationOrderAMD { |
| VK_RASTERIZATION_ORDER_STRICT_AMD = 0, |
| VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, |
| } |
| |
| @extension("VK_EXT_validation_flags") // 62 |
| enum VkValidationCheckEXT { |
| VK_VALIDATION_CHECK_ALL_EXT = 0, |
| VK_VALIDATION_CHECK_SHADERS_EXT = 1, |
| } |
| |
| @extension("VK_KHR_descriptor_update_template") // 86 |
| enum VkDescriptorUpdateTemplateTypeKHR { |
| VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0, |
| VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, |
| } |
| |
| @extension("VK_NVX_device_generated_commands") // 87 |
| enum VkIndirectCommandsTokenTypeNVX { |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6, |
| VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7, |
| } |
| |
| @extension("VK_NVX_device_generated_commands") // 87 |
| enum VkObjectEntryTypeNVX { |
| VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0, |
| VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1, |
| VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2, |
| VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3, |
| VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4, |
| } |
| |
| @extension("VK_EXT_display_control") // 92 |
| enum VkDisplayPowerStateEXT { |
| VK_DISPLAY_POWER_STATE_OFF_EXT = 0, |
| VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, |
| VK_DISPLAY_POWER_STATE_ON_EXT = 2, |
| } |
| |
| @extension("VK_EXT_display_control") // 92 |
| enum VkDeviceEventTypeEXT { |
| VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, |
| } |
| |
| @extension("VK_EXT_display_control") // 92 |
| enum VkDisplayEventTypeEXT { |
| VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, |
| } |
| |
| @extension("VK_NV_viewport_swizzle") // 99 |
| enum VkViewportCoordinateSwizzleNV { |
| VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, |
| VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, |
| } |
| |
| @extension("VK_EXT_discard_rectangles") // 100 |
| enum VkDiscardRectangleModeEXT { |
| VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, |
| VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, |
| } |
| |
| @extension("VK_EXT_sampler_filter_minmax") // 131 |
| enum VkSamplerReductionModeEXT { |
| VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0, |
| VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1, |
| VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2, |
| } |
| |
| @extension("VK_EXT_blend_operation_advanced") // 149 |
| enum VkBlendOverlapEXT { |
| VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, |
| VK_BLEND_OVERLAP_DISJOINT_EXT = 1, |
| VK_BLEND_OVERLAP_CONJOINT_EXT = 2, |
| } |
| |
| @extension("VK_NV_framebuffer_mixed_samples") // 153 |
| enum VkCoverageModulationModeNV { |
| 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, |
| } |
| |
| ///////////////// |
| // Bitfields // |
| ///////////////// |
| |
| /// Queue capabilities |
| type VkFlags VkQueueFlags |
| bitfield VkQueueFlagBits { |
| VK_QUEUE_GRAPHICS_BIT = 0x00000001, /// Queue supports graphics operations |
| VK_QUEUE_COMPUTE_BIT = 0x00000002, /// Queue supports compute operations |
| VK_QUEUE_TRANSFER_BIT = 0x00000004, /// Queue supports transfer operations |
| VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, /// Queue supports sparse resource memory management operations |
| } |
| |
| /// Memory properties passed into vkAllocMemory(). |
| type VkFlags VkMemoryPropertyFlags |
| bitfield VkMemoryPropertyFlagBits { |
| VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, |
| VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, |
| VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, |
| VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, |
| VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, |
| } |
| |
| /// Memory heap flags |
| type VkFlags VkMemoryHeapFlags |
| bitfield VkMemoryHeapFlagBits { |
| VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, |
| |
| //@extension("VK_KHX_device_group_creation") // 71 |
| VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = 0x00000002, |
| } |
| |
| /// Access flags |
| type VkFlags VkAccessFlags |
| bitfield VkAccessFlagBits { |
| VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, |
| VK_ACCESS_INDEX_READ_BIT = 0x00000002, |
| VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, |
| VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, |
| VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, |
| VK_ACCESS_SHADER_READ_BIT = 0x00000020, |
| VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, |
| VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, |
| VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, |
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, |
| VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, |
| VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, |
| VK_ACCESS_HOST_READ_BIT = 0x00002000, |
| VK_ACCESS_HOST_WRITE_BIT = 0x00004000, |
| VK_ACCESS_MEMORY_READ_BIT = 0x00008000, |
| VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, |
| |
| //@extension("VK_NVX_device_generated_commands") // 87 |
| VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000, |
| VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000, |
| |
| //@extension("VK_EXT_blend_operation_advanced") // 149 |
| VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, |
| } |
| |
| /// Buffer usage flags |
| type VkFlags VkBufferUsageFlags |
| bitfield VkBufferUsageFlagBits { |
| VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, /// Can be used as a source of transfer operations |
| VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, /// Can be used as a destination of transfer operations |
| VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, /// Can be used as TBO |
| VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, /// Can be used as IBO |
| VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, /// Can be used as UBO |
| VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, /// Can be used as SSBO |
| VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, /// Can be used as source of fixed function index fetch (index buffer) |
| VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, /// Can be used as source of fixed function vertex fetch (VBO) |
| VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, /// Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer) |
| } |
| |
| /// Buffer creation flags |
| type VkFlags VkBufferCreateFlags |
| bitfield VkBufferCreateFlagBits { |
| VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, /// Buffer should support sparse backing |
| VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, /// Buffer should support sparse backing with partial residency |
| VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, /// Buffer should support constent data access to physical memory blocks mapped into multiple locations of sparse buffers |
| } |
| |
| /// Shader stage flags |
| type VkFlags VkShaderStageFlags |
| bitfield VkShaderStageFlagBits { |
| VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, |
| VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, |
| VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, |
| VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, |
| VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, |
| VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, |
| VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, |
| |
| VK_SHADER_STAGE_ALL = 0x7FFFFFFF, |
| } |
| |
| /// Descriptor pool create flags |
| type VkFlags VkDescriptorPoolCreateFlags |
| bitfield VkDescriptorPoolCreateFlagBits { |
| VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, |
| } |
| |
| /// Descriptor pool reset flags |
| type VkFlags VkDescriptorPoolResetFlags |
| //bitfield VkDescriptorPoolResetFlagBits { |
| //} |
| |
| /// Image usage flags |
| type VkFlags VkImageUsageFlags |
| bitfield VkImageUsageFlagBits { |
| VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, /// Can be used as a source of transfer operations |
| VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, /// Can be used as a destination of transfer operations |
| VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, /// Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) |
| VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, /// Can be used as storage image (STORAGE_IMAGE descriptor type) |
| VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, /// Can be used as framebuffer color attachment |
| VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, /// Can be used as framebuffer depth/stencil attachment |
| VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, /// Image data not needed outside of rendering |
| VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, /// Can be used as framebuffer input attachment |
| } |
| |
| /// Image creation flags |
| type VkFlags VkImageCreateFlags |
| bitfield VkImageCreateFlagBits { |
| VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, /// Image should support sparse backing |
| VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, /// Image should support sparse backing with partial residency |
| VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, /// Image should support constent data access to physical memory blocks mapped into multiple locations of sparse images |
| VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, /// Allows image views to have different format than the base image |
| VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, /// Allows creating image views with cube type from the created image |
| |
| //@extension("VK_KHR_maintenance1") // 70 |
| VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020, |
| |
| //@extension("VK_KHX_device_group") // 61 |
| VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = 0x00000040, |
| } |
| |
| /// Image view creation flags |
| type VkFlags VkImageViewCreateFlags |
| //bitfield VkImageViewCreateFlagBits { |
| //} |
| |
| /// Pipeline creation flags |
| type VkFlags VkPipelineCreateFlags |
| bitfield VkPipelineCreateFlagBits { |
| VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, |
| VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, |
| VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, |
| |
| //@extension("VK_KHX_device_group") // 61 |
| VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = 0x00000008, |
| VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = 0x00000010, |
| } |
| |
| /// Color component flags |
| type VkFlags VkColorComponentFlags |
| bitfield VkColorComponentFlagBits { |
| VK_COLOR_COMPONENT_R_BIT = 0x00000001, |
| VK_COLOR_COMPONENT_G_BIT = 0x00000002, |
| VK_COLOR_COMPONENT_B_BIT = 0x00000004, |
| VK_COLOR_COMPONENT_A_BIT = 0x00000008, |
| } |
| |
| /// Fence creation flags |
| type VkFlags VkFenceCreateFlags |
| bitfield VkFenceCreateFlagBits { |
| VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, |
| } |
| |
| /// Semaphore creation flags |
| type VkFlags VkSemaphoreCreateFlags |
| //bitfield VkSemaphoreCreateFlagBits { |
| //} |
| |
| /// Format capability flags |
| type VkFlags VkFormatFeatureFlags |
| bitfield VkFormatFeatureFlagBits { |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, /// Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types) |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, /// Format can be used for storage images (STORAGE_IMAGE descriptor type) |
| VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, /// Format supports atomic operations in case it's used for storage images |
| VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, /// Format can be used for uniform texel buffers (TBOs) |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, /// Format can be used for storage texel buffers (IBOs) |
| VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, /// Format supports atomic operations in case it's used for storage texel buffers |
| VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, /// Format can be used for vertex buffers (VBOs) |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, /// Format can be used for color attachment images |
| VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, /// Format supports blending in case it's used for color attachment images |
| VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, /// Format can be used for depth/stencil attachment images |
| VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, /// Format can be used as the source image of blits with vkCommandBlitImage |
| VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, /// Format can be used as the destination image of blits with vkCommandBlitImage |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, |
| |
| //@extension("VK_IMG_filter_cubic") // 16 |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, |
| |
| //@extension("VK_KHR_maintenance1") // 70 |
| VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000, |
| VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000, |
| |
| //@extension("VK_EXT_sampler_filter_minmax") // 131 |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000, |
| } |
| |
| /// Query control flags |
| type VkFlags VkQueryControlFlags |
| bitfield VkQueryControlFlagBits { |
| VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, |
| } |
| |
| /// Query result flags |
| type VkFlags VkQueryResultFlags |
| bitfield VkQueryResultFlagBits { |
| VK_QUERY_RESULT_64_BIT = 0x00000001, /// Results of the queries are written to the destination buffer as 64-bit values |
| VK_QUERY_RESULT_WAIT_BIT = 0x00000002, /// Results of the queries are waited on before proceeding with the result copy |
| VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, /// Besides the results of the query, the availability of the results is also written |
| VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, /// Copy the partial results of the query even if the final results aren't available |
| } |
| |
| /// Shader module creation flags |
| type VkFlags VkShaderModuleCreateFlags |
| //bitfield VkShaderModuleCreateFlagBits { |
| //} |
| |
| /// Event creation flags |
| type VkFlags VkEventCreateFlags |
| //bitfield VkEventCreateFlagBits { |
| //} |
| |
| /// Command buffer usage flags |
| type VkFlags VkCommandBufferUsageFlags |
| bitfield VkCommandBufferUsageFlagBits { |
| VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, |
| VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, |
| VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, |
| } |
| |
| /// Pipeline statistics flags |
| type VkFlags VkQueryPipelineStatisticFlags |
| bitfield VkQueryPipelineStatisticFlagBits { |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, /// Optional |
| VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, /// Optional |
| } |
| |
| /// Memory mapping flags |
| type VkFlags VkMemoryMapFlags |
| //bitfield VkMemoryMapFlagBits { |
| //} |
| |
| /// Bitfield of image aspects |
| type VkFlags VkImageAspectFlags |
| bitfield VkImageAspectFlagBits { |
| VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, |
| VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, |
| VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, |
| VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, |
| } |
| |
| /// Sparse memory bind flags |
| type VkFlags VkSparseMemoryBindFlags |
| bitfield VkSparseMemoryBindFlagBits { |
| VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, |
| } |
| |
| /// Sparse image memory requirements flags |
| type VkFlags VkSparseImageFormatFlags |
| bitfield VkSparseImageFormatFlagBits { |
| VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, /// Image uses a single miptail region for all array slices |
| VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, /// Image requires mip levels to be an exact multiple of the sparse iamge block size for non-mip-tail levels. |
| VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, /// Image uses a non-standard sparse block size |
| } |
| |
| /// Pipeline stages |
| type VkFlags VkPipelineStageFlags |
| bitfield VkPipelineStageFlagBits { |
| VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, /// Before subsequent commands are processed |
| VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, /// Draw/DispatchIndirect command fetch |
| VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, /// Vertex/index fetch |
| VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, /// Vertex shading |
| VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, /// Tessellation control shading |
| VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, /// Tessellation evaluation shading |
| VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, /// Geometry shading |
| VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, /// Fragment shading |
| VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, /// Early fragment (depth/stencil) tests |
| VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, /// Late fragment (depth/stencil) tests |
| VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, /// Color attachment writes |
| VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, /// Compute shading |
| VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, /// Transfer/copy operations |
| VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, |
| VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, /// Indicates host (CPU) is a source/sink of the dependency |
| |
| VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, /// All stages of the graphics pipeline |
| VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, /// All graphics, compute, copy, and transition commands |
| |
| //@extension("VK_NVX_device_generated_commands") // 87 |
| VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000, |
| } |
| |
| /// Render pass attachment description flags |
| type VkFlags VkAttachmentDescriptionFlags |
| bitfield VkAttachmentDescriptionFlagBits { |
| VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, /// The attachment may alias physical memory of another attachment in the same renderpass |
| } |
| |
| /// Subpass description flags |
| type VkFlags VkSubpassDescriptionFlags |
| bitfield VkSubpassDescriptionFlagBits { |
| //@extension("VK_NVX_multiview_per_view_attributes") // 98 |
| VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, |
| VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, |
| } |
| |
| /// Command pool creation flags |
| type VkFlags VkCommandPoolCreateFlags |
| bitfield VkCommandPoolCreateFlagBits { |
| VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, /// Command buffers have a short lifetime |
| VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, /// Command buffers may release their memory individually |
| } |
| |
| /// Command pool reset flags |
| type VkFlags VkCommandPoolResetFlags |
| bitfield VkCommandPoolResetFlagBits { |
| VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, /// Release resources owned by the pool |
| } |
| |
| type VkFlags VkCommandBufferResetFlags |
| bitfield VkCommandBufferResetFlagBits { |
| VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, /// Release resources owned by the buffer |
| } |
| |
| type VkFlags VkSampleCountFlags |
| bitfield VkSampleCountFlagBits { |
| VK_SAMPLE_COUNT_1_BIT = 0x00000001, |
| VK_SAMPLE_COUNT_2_BIT = 0x00000002, |
| VK_SAMPLE_COUNT_4_BIT = 0x00000004, |
| VK_SAMPLE_COUNT_8_BIT = 0x00000008, |
| VK_SAMPLE_COUNT_16_BIT = 0x00000010, |
| VK_SAMPLE_COUNT_32_BIT = 0x00000020, |
| VK_SAMPLE_COUNT_64_BIT = 0x00000040, |
| } |
| |
| type VkFlags VkStencilFaceFlags |
| bitfield VkStencilFaceFlagBits { |
| VK_STENCIL_FACE_FRONT_BIT = 0x00000001, /// Front face |
| VK_STENCIL_FACE_BACK_BIT = 0x00000002, /// Back face |
| VK_STENCIL_FRONT_AND_BACK = 0x00000003, |
| } |
| |
| /// Instance creation flags |
| type VkFlags VkInstanceCreateFlags |
| //bitfield VkInstanceCreateFlagBits { |
| //} |
| |
| /// Device creation flags |
| type VkFlags VkDeviceCreateFlags |
| //bitfield VkDeviceCreateFlagBits { |
| //} |
| |
| /// Device queue creation flags |
| type VkFlags VkDeviceQueueCreateFlags |
| //bitfield VkDeviceQueueCreateFlagBits { |
| //} |
| |
| /// Query pool creation flags |
| type VkFlags VkQueryPoolCreateFlags |
| //bitfield VkQueryPoolCreateFlagBits { |
| //} |
| |
| /// Buffer view creation flags |
| type VkFlags VkBufferViewCreateFlags |
| //bitfield VkBufferViewCreateFlagBits { |
| //} |
| |
| /// Pipeline cache creation flags |
| type VkFlags VkPipelineCacheCreateFlags |
| //bitfield VkPipelineCacheCreateFlagBits { |
| //} |
| |
| /// Pipeline shader stage creation flags |
| type VkFlags VkPipelineShaderStageCreateFlags |
| //bitfield VkPipelineShaderStageCreateFlagBits { |
| //} |
| |
| /// Descriptor set layout creation flags |
| type VkFlags VkDescriptorSetLayoutCreateFlags |
| bitfield VkDescriptorSetLayoutCreateFlagBits { |
| //@extension("VK_KHR_push_descriptor") // 81 |
| VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, |
| } |
| |
| /// Pipeline vertex input state creation flags |
| type VkFlags VkPipelineVertexInputStateCreateFlags |
| //bitfield VkPipelineVertexInputStateCreateFlagBits { |
| //} |
| |
| /// Pipeline input assembly state creation flags |
| type VkFlags VkPipelineInputAssemblyStateCreateFlags |
| //bitfield VkPipelineInputAssemblyStateCreateFlagBits { |
| //} |
| |
| /// Tessellation state creation flags |
| type VkFlags VkPipelineTessellationStateCreateFlags |
| //bitfield VkPipelineTessellationStateCreateFlagBits { |
| //} |
| |
| /// Viewport state creation flags |
| type VkFlags VkPipelineViewportStateCreateFlags |
| //bitfield VkPipelineViewportStateCreateFlagBits { |
| //} |
| |
| /// Rasterization state creation flags |
| type VkFlags VkPipelineRasterizationStateCreateFlags |
| //bitfield VkPipelineRasterizationStateCreateFlagBits { |
| //} |
| |
| /// Multisample state creation flags |
| type VkFlags VkPipelineMultisampleStateCreateFlags |
| //bitfield VkPipelineMultisampleStateCreateFlagBits { |
| //} |
| |
| /// Color blend state creation flags |
| type VkFlags VkPipelineColorBlendStateCreateFlags |
| //bitfield VkPipelineColorBlendStateCreateFlagBits { |
| //} |
| |
| /// Depth/stencil state creation flags |
| type VkFlags VkPipelineDepthStencilStateCreateFlags |
| //bitfield VkPipelineDepthStencilStateCreateFlagBits { |
| //} |
| |
| /// Dynamic state creation flags |
| type VkFlags VkPipelineDynamicStateCreateFlags |
| //bitfield VkPipelineDynamicStateCreateFlagBits { |
| //} |
| |
| /// Pipeline layout creation flags |
| type VkFlags VkPipelineLayoutCreateFlags |
| //bitfield VkPipelineLayoutCreateFlagBits { |
| //} |
| |
| /// Sampler creation flags |
| type VkFlags VkSamplerCreateFlags |
| //bitfield VkSamplerCreateFlagBits { |
| //} |
| |
| /// Render pass creation flags |
| type VkFlags VkRenderPassCreateFlags |
| //bitfield VkRenderPassCreateFlagBits { |
| //} |
| |
| /// Framebuffer creation flags |
| type VkFlags VkFramebufferCreateFlags |
| //bitfield VkFramebufferCreateFlagBits { |
| //} |
| |
| /// Dependency flags |
| type VkFlags VkDependencyFlags |
| bitfield VkDependencyFlagBits { |
| VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, |
| |
| //@extension("VK_KHX_multiview") // 54 |
| VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = 0x00000002, |
| |
| //@extension("VK_KHX_device_group") // 61 |
| VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = 0x00000004, |
| } |
| |
| /// Cull mode flags |
| type VkFlags VkCullModeFlags |
| bitfield VkCullModeFlagBits { |
| VK_CULL_MODE_NONE = 0x00000000, |
| VK_CULL_MODE_FRONT_BIT = 0x00000001, |
| VK_CULL_MODE_BACK_BIT = 0x00000002, |
| VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, |
| } |
| |
| @extension("VK_KHR_surface") // 1 |
| type VkFlags VkSurfaceTransformFlagsKHR |
| @extension("VK_KHR_surface") // 1 |
| bitfield VkSurfaceTransformFlagBitsKHR { |
| VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, |
| VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, |
| VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, |
| VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, |
| VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, |
| VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, |
| } |
| |
| @extension("VK_KHR_surface") // 1 |
| type VkFlags VkCompositeAlphaFlagsKHR |
| @extension("VK_KHR_surface") // 1 |
| bitfield VkCompositeAlphaFlagBitsKHR { |
| VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, |
| VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, |
| VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, |
| } |
| |
| @extension("VK_KHR_swapchain") // 2 |
| type VkFlags VkSwapchainCreateFlagsKHR |
| @extension("VK_KHR_swapchain") // 2 |
| bitfield VkSwapchainCreateFlagBitsKHR { |
| //@extension("VK_KHX_device_group") // 61 |
| VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = 0x00000001, |
| } |
| |
| @extension("VK_KHR_display") // 3 |
| type VkFlags VkDisplayPlaneAlphaFlagsKHR |
| @extension("VK_KHR_display") // 3 |
| bitfield VkDisplayPlaneAlphaFlagBitsKHR { |
| VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, |
| VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, |
| VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, |
| } |
| |
| @extension("VK_KHR_display") // 3 |
| type VkFlags VkDisplaySurfaceCreateFlagsKHR |
| //@extension("VK_KHR_display") // 3 |
| //bitfield VkDisplaySurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_display") // 3 |
| type VkFlags VkDisplayModeCreateFlagsKHR |
| //@extension("VK_KHR_display") // 3 |
| //bitfield VkDisplayModeCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_xlib_surface") // 5 |
| type VkFlags VkXlibSurfaceCreateFlagsKHR |
| //@extension("VK_KHR_xlib_surface") // 5 |
| //bitfield VkXlibSurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_xcb_surface") // 6 |
| type VkFlags VkXcbSurfaceCreateFlagsKHR |
| //@extension("VK_KHR_xcb_surface") // 6 |
| //bitfield VkXcbSurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_wayland_surface") // 7 |
| type VkFlags VkWaylandSurfaceCreateFlagsKHR |
| //@extension("VK_KHR_wayland_surface") // 7 |
| //bitfield VkWaylandSurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_mir_surface") // 8 |
| type VkFlags VkMirSurfaceCreateFlagsKHR |
| //@extension("VK_KHR_mir_surface") // 8 |
| //bitfield VkMirSurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_android_surface") // 9 |
| type VkFlags VkAndroidSurfaceCreateFlagsKHR |
| //@extension("VK_KHR_android_surface") // 9 |
| //bitfield VkAndroidSurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_win32_surface") // 10 |
| type VkFlags VkWin32SurfaceCreateFlagsKHR |
| //@extension("VK_KHR_win32_surface") // 10 |
| //bitfield VkWin32SurfaceCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_ANDROID_native_buffer") // 11 |
| type VkFlags VkSwapchainImageUsageFlagsANDROID |
| @extension("VK_ANDROID_native_buffer") // 11 |
| bitfield VkSwapchainImageUsageFlagBitsANDROID { |
| VK_SWAPCHAIN_IMAGE_USAGE_FLAGS_SHARED_BIT_ANDROID = 0x00000001, |
| } |
| |
| @extension("VK_EXT_debug_report") // 12 |
| type VkFlags VkDebugReportFlagsEXT |
| @extension("VK_EXT_debug_report") // 12 |
| bitfield VkDebugReportFlagBitsEXT { |
| VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, |
| VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, |
| VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, |
| VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, |
| VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, |
| } |
| |
| @extension("VK_NV_external_memory_capabilities") // 56 |
| type VkFlags VkExternalMemoryHandleTypeFlagsNV |
| @extension("VK_NV_external_memory_capabilities") // 56 |
| bitfield VkExternalMemoryHandleTypeFlagBitsNV { |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, |
| } |
| |
| @extension("VK_NV_external_memory_capabilities") // 56 |
| type VkFlags VkExternalMemoryFeatureFlagsNV |
| @extension("VK_NV_external_memory_capabilities") // 56 |
| bitfield VkExternalMemoryFeatureFlagBitsNV { |
| VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, |
| VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, |
| VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, |
| } |
| |
| @extension("VK_KHX_device_group") // 61 |
| type VkFlags VkPeerMemoryFeatureFlagsKHX |
| @extension("VK_KHX_device_group") // 61 |
| bitfield VkPeerMemoryFeatureFlagBitsKHX { |
| VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = 0x00000001, |
| VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = 0x00000002, |
| VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = 0x00000004, |
| VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = 0x00000008, |
| } |
| |
| @extension("VK_KHX_device_group") // 61 |
| type VkFlags VkMemoryAllocateFlagsKHX |
| @extension("VK_KHX_device_group") // 61 |
| bitfield VkMemoryAllocateFlagBitsKHX { |
| VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = 0x00000001, |
| } |
| |
| @extension("VK_KHX_device_group") // 61 |
| type VkFlags VkDeviceGroupPresentModeFlagsKHX |
| @extension("VK_KHX_device_group") // 61 |
| bitfield VkDeviceGroupPresentModeFlagBitsKHX { |
| VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = 0x00000001, |
| VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = 0x00000002, |
| VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = 0x00000004, |
| VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = 0x00000008, |
| } |
| |
| @extension("VK_NN_vi_surface") // 63 |
| type VkFlags VkViSurfaceCreateFlagsNN |
| //@extension("VK_NN_vi_surface") // 63 |
| //bitfield VkViSurfaceCreateFlagBitsNN { |
| //} |
| |
| @extension("VK_KHR_maintenance1") // 70 |
| type VkFlags VkCommandPoolTrimFlagsKHR |
| //@extension("VK_KHR_maintenance1") // 70 |
| //bitfield VkCommandPoolTrimFlagBitsKHR { |
| //} |
| |
| @extension("VK_KHR_external_memory_capabilities") // 72 |
| type VkFlags VkExternalMemoryHandleTypeFlagsKHR |
| @extension("VK_KHR_external_memory_capabilities") // 72 |
| bitfield VkExternalMemoryHandleTypeFlagBitsKHR { |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = 0x00000008, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = 0x00000010, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = 0x00000020, |
| VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = 0x00000040, |
| } |
| |
| @extension("VK_KHR_external_memory_capabilities") // 72 |
| type VkFlags VkExternalMemoryFeatureFlagsKHR |
| @extension("VK_KHR_external_memory_capabilities") // 72 |
| bitfield VkExternalMemoryFeatureFlagBitsKHR { |
| VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = 0x00000001, |
| VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = 0x00000002, |
| VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = 0x00000004, |
| } |
| |
| @extension("VK_KHR_external_semaphore_capabilities") // 77 |
| type VkFlags VkExternalSemaphoreHandleTypeFlagsKHR |
| @extension("VK_KHR_external_semaphore_capabilities") // 77 |
| bitfield VkExternalSemaphoreHandleTypeFlagBitsKHR { |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001 |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002 |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004 |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = 0x00000008 |
| VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHR = 0x00000010 |
| } |
| |
| @extension("VK_KHR_external_semaphore_capabilities") // 77 |
| type VkFlags VkExternalSemaphoreFeatureFlagsKHR |
| @extension("VK_KHR_external_semaphore_capabilities") // 77 |
| bitfield VkExternalSemaphoreFeatureFlagBitsKHR { |
| VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001, |
| VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002, |
| } |
| |
| @extension("VK_KHR_external_semaphore") // 78 |
| type VkFlags VkSemaphoreImportFlagsKHR |
| @extension("VK_KHR_external_semaphore") // 78 |
| bitfield VkSemaphoreImportFlagBitsKHR { |
| VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001, |
| } |
| |
| @extension("VK_KHR_descriptor_update_template") // 86 |
| type VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR |
| //@extension("VK_KHR_descriptor_update_template") // 86 |
| //bitfield VkDescriptorUpdateTemplateCreateFlagBitsKHR { |
| //} |
| |
| @extension("VK_NVX_device_generated_commands") // 87 |
| type VkFlags VkIndirectCommandsLayoutUsageFlagsNVX |
| @extension("VK_NVX_device_generated_commands") // 87 |
| bitfield VkIndirectCommandsLayoutUsageFlagBitsNVX { |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004, |
| VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008, |
| } |
| |
| @extension("VK_NVX_device_generated_commands") // 87 |
| type VkFlags VkObjectEntryUsageFlagsNVX |
| @extension("VK_NVX_device_generated_commands") // 87 |
| bitfield VkObjectEntryUsageFlagBitsNVX { |
| VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001, |
| VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002, |
| } |
| |
| @extension("VK_EXT_display_surface_counter") // 91 |
| type VkFlags VkSurfaceCounterFlagsEXT |
| @extension("VK_EXT_display_surface_counter") // 91 |
| bitfield VkSurfaceCounterFlagBitsEXT { |
| VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001, |
| } |
| |
| @extension("VK_NV_viewport_swizzle") // 99 |
| type VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV |
| //@extension("VK_NV_viewport_swizzle") // 99 |
| //bitfield VkPipelineViewportSwizzleStateCreateFlagBitsNV { |
| //} |
| |
| @extension("VK_EXT_discard_rectangles") // 100 |
| type VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT |
| //@extension("VK_EXT_discard_rectangles") // 100 |
| //bitfield VkPipelineDiscardRectangleStateCreateFlagBitsEXT { |
| //} |
| |
| @extension("VK_KHR_external_fence_capabilities") // 113 |
| type VkFlags VkExternalFenceHandleTypeFlagsKHR |
| @extension("VK_KHR_external_fence_capabilities") // 113 |
| bitfield VkExternalFenceHandleTypeFlagBitsKHR { |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004, |
| VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = 0x00000008, |
| } |
| |
| @extension("VK_KHR_external_fence_capabilities") // 113 |
| type VkFlags VkExternalFenceFeatureFlagsKHR |
| @extension("VK_KHR_external_fence_capabilities") // 113 |
| bitfield VkExternalFenceFeatureFlagBitsKHR { |
| VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001, |
| VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002, |
| } |
| |
| @extension("VK_KHR_external_fence") // 114 |
| type VkFlags VkFenceImportFlagsKHR |
| @extension("VK_KHR_external_fence") // 114 |
| bitfield VkFenceImportFlagBitsKHR { |
| VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001, |
| } |
| |
| @extension("VK_MVK_ios_surface") // 123 |
| type VkFlags VkIOSSurfaceCreateFlagsMVK |
| //@extension("VK_MVK_ios_surface") // 123 |
| //bitfield VkIOSSurfaceCreateFlagBitsMVK { |
| //} |
| |
| @extension("VK_MVK_macos_surface") // 124 |
| type VkFlags VkMacOSSurfaceCreateFlagsMVK |
| //@extension("VK_MVK_macos_surface") // 124 |
| //bitfield VkMacOSSurfaceCreateFlagBitsMVK { |
| //} |
| |
| @extension("VK_NV_fragment_coverage_to_color") // 150 |
| type VkFlags VkPipelineCoverageToColorStateCreateFlagsNV |
| @extension("VK_NV_fragment_coverage_to_color") // 150 |
| //bitfield VkPipelineCoverageToColorStateCreateFlagBitsNV { |
| //} |
| |
| @extension("VK_NV_framebuffer_mixed_samples") // 153 |
| type VkFlags VkPipelineCoverageModulationStateCreateFlagsNV |
| @extension("VK_NV_framebuffer_mixed_samples") // 153 |
| //bitfield VkPipelineCoverageModulationStateCreateFlagBitsNV { |
| //} |
| |
| ////////////////// |
| // Structures // |
| ////////////////// |
| |
| class VkOffset2D { |
| s32 x |
| s32 y |
| } |
| |
| class VkOffset3D { |
| s32 x |
| s32 y |
| s32 z |
| } |
| |
| class VkExtent2D { |
| u32 width |
| u32 height |
| } |
| |
| class VkExtent3D { |
| u32 width |
| u32 height |
| u32 depth |
| } |
| |
| class VkViewport { |
| f32 x |
| f32 y |
| f32 width |
| f32 height |
| f32 minDepth |
| f32 maxDepth |
| } |
| |
| class VkRect2D { |
| VkOffset2D offset |
| VkExtent2D extent |
| } |
| |
| class VkClearRect { |
| VkRect2D rect |
| u32 baseArrayLayer |
| u32 layerCount |
| } |
| |
| class VkComponentMapping { |
| VkComponentSwizzle r |
| VkComponentSwizzle g |
| VkComponentSwizzle b |
| VkComponentSwizzle a |
| } |
| |
| class VkPhysicalDeviceProperties { |
| u32 apiVersion |
| u32 driverVersion |
| u32 vendorID |
| u32 deviceID |
| VkPhysicalDeviceType deviceType |
| char[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] deviceName |
| u8[VK_UUID_SIZE] pipelineCacheUUID |
| VkPhysicalDeviceLimits limits |
| VkPhysicalDeviceSparseProperties sparseProperties |
| } |
| |
| class VkExtensionProperties { |
| char[VK_MAX_EXTENSION_NAME_SIZE] extensionName /// extension name |
| u32 specVersion /// version of the extension specification implemented |
| } |
| |
| class VkLayerProperties { |
| char[VK_MAX_EXTENSION_NAME_SIZE] layerName /// layer name |
| u32 specVersion /// version of the layer specification implemented |
| u32 implementationVersion /// build or release version of the layer's library |
| char[VK_MAX_DESCRIPTION_SIZE] description /// Free-form description of the layer |
| } |
| |
| class VkSubmitInfo { |
| VkStructureType sType /// Type of structure. Should be VK_STRUCTURE_TYPE_SUBMIT_INFO |
| const void* pNext /// Next structure in chain |
| u32 waitSemaphoreCount |
| const VkSemaphore* pWaitSemaphores |
| const VkPipelineStageFlags* pWaitDstStageMask |
| u32 commandBufferCount |
| const VkCommandBuffer* pCommandBuffers |
| u32 signalSemaphoreCount |
| const VkSemaphore* pSignalSemaphores |
| } |
| |
| class VkApplicationInfo { |
| VkStructureType sType /// Type of structure. Should be VK_STRUCTURE_TYPE_APPLICATION_INFO |
| const void* pNext /// Next structure in chain |
| const char* pApplicationName |
| u32 applicationVersion |
| const char* pEngineName |
| u32 engineVersion |
| u32 apiVersion |
| } |
| |
| class VkAllocationCallbacks { |
| void* pUserData |
| PFN_vkAllocationFunction pfnAllocation |
| PFN_vkReallocationFunction pfnReallocation |
| PFN_vkFreeFunction pfnFree |
| PFN_vkInternalAllocationNotification pfnInternalAllocation |
| PFN_vkInternalFreeNotification pfnInternalFree |
| } |
| |
| class VkDeviceQueueCreateInfo { |
| VkStructureType sStype /// Should be VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDeviceQueueCreateFlags flags |
| u32 queueFamilyIndex |
| u32 queueCount |
| const f32* pQueuePriorities |
| } |
| |
| class VkDeviceCreateInfo { |
| VkStructureType sType /// Should be VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDeviceCreateFlags flags |
| u32 queueCreateInfoCount |
| const VkDeviceQueueCreateInfo* pQueueCreateInfos |
| u32 enabledLayerCount |
| const char* const* ppEnabledLayerNames /// Ordered list of layer names to be enabled |
| u32 enabledExtensionCount |
| const char* const* ppEnabledExtensionNames |
| const VkPhysicalDeviceFeatures* pEnabledFeatures |
| } |
| |
| class VkInstanceCreateInfo { |
| VkStructureType sType /// Should be VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkInstanceCreateFlags flags |
| const VkApplicationInfo* pApplicationInfo |
| u32 enabledLayerCount |
| const char* const* ppEnabledLayerNames /// Ordered list of layer names to be enabled |
| u32 enabledExtensionCount |
| const char* const* ppEnabledExtensionNames /// Extension names to be enabled |
| } |
| |
| class VkQueueFamilyProperties { |
| VkQueueFlags queueFlags /// Queue flags |
| u32 queueCount |
| u32 timestampValidBits |
| VkExtent3D minImageTransferGranularity |
| } |
| |
| class VkPhysicalDeviceMemoryProperties { |
| u32 memoryTypeCount |
| VkMemoryType[VK_MAX_MEMORY_TYPES] memoryTypes |
| u32 memoryHeapCount |
| VkMemoryHeap[VK_MAX_MEMORY_HEAPS] memoryHeaps |
| } |
| |
| class VkMemoryAllocateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDeviceSize allocationSize /// Size of memory allocation |
| u32 memoryTypeIndex /// Index of the of the memory type to allocate from |
| } |
| |
| class VkMemoryRequirements { |
| VkDeviceSize size /// Specified in bytes |
| VkDeviceSize alignment /// Specified in bytes |
| u32 memoryTypeBits /// Bitfield of the allowed memory type indices into memoryTypes[] for this object |
| } |
| |
| class VkSparseImageFormatProperties { |
| VkImageAspectFlagBits aspectMask |
| VkExtent3D imageGranularity |
| VkSparseImageFormatFlags flags |
| } |
| |
| class VkSparseImageMemoryRequirements { |
| VkSparseImageFormatProperties formatProperties |
| u32 imageMipTailFirstLod |
| VkDeviceSize imageMipTailSize /// Specified in bytes, must be a multiple of image block size / alignment |
| VkDeviceSize imageMipTailOffset /// Specified in bytes, must be a multiple of image block size / alignment |
| VkDeviceSize imageMipTailStride /// Specified in bytes, must be a multiple of image block size / alignment |
| } |
| |
| class VkMemoryType { |
| VkMemoryPropertyFlags propertyFlags /// Memory properties of this memory type |
| u32 heapIndex /// Index of the memory heap allocations of this memory type are taken from |
| } |
| |
| class VkMemoryHeap { |
| VkDeviceSize size /// Available memory in the heap |
| VkMemoryHeapFlags flags /// Flags for the heap |
| } |
| |
| class VkMappedMemoryRange { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE |
| const void* pNext /// Pointer to next structure |
| VkDeviceMemory memory /// Mapped memory object |
| VkDeviceSize offset /// Offset within the mapped memory the range starts from |
| VkDeviceSize size /// Size of the range within the mapped memory |
| } |
| |
| class VkFormatProperties { |
| VkFormatFeatureFlags linearTilingFeatures /// Format features in case of linear tiling |
| VkFormatFeatureFlags optimalTilingFeatures /// Format features in case of optimal tiling |
| VkFormatFeatureFlags bufferFeatures /// Format features supported by buffers |
| } |
| |
| class VkImageFormatProperties { |
| VkExtent3D maxExtent /// max image dimensions for this resource type |
| u32 maxMipLevels /// max number of mipmap levels for this resource type |
| u32 maxArrayLayers /// max array layers for this resource type |
| VkSampleCountFlags sampleCounts /// supported sample counts for this resource type |
| VkDeviceSize maxResourceSize /// max size (in bytes) of this resource type |
| } |
| |
| class VkDescriptorImageInfo { |
| VkSampler sampler |
| VkImageView imageView |
| VkImageLayout imageLayout |
| } |
| |
| class VkDescriptorBufferInfo { |
| VkBuffer buffer /// Buffer used for this descriptor when the descriptor is UNIFORM_BUFFER[_DYNAMIC] |
| VkDeviceSize offset /// Base offset from buffer start in bytes to update in the descriptor set. |
| VkDeviceSize range /// Size in bytes of the buffer resource for this descriptor update. |
| } |
| |
| class VkWriteDescriptorSet { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET |
| const void* pNext /// Pointer to next structure |
| VkDescriptorSet dstSet /// Destination descriptor set |
| u32 dstBinding /// Binding within the destination descriptor set to write |
| u32 dstArrayElement /// Array element within the destination binding to write |
| u32 descriptorCount /// Number of descriptors to write (determines the size of the array pointed by <pDescriptors>) |
| VkDescriptorType descriptorType /// Descriptor type to write (determines which fields of the array pointed by <pDescriptors> are going to be used) |
| const VkDescriptorImageInfo* pImageInfo |
| const VkDescriptorBufferInfo* pBufferInfo |
| const VkBufferView* pTexelBufferView |
| } |
| |
| class VkCopyDescriptorSet { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET |
| const void* pNext /// Pointer to next structure |
| VkDescriptorSet srcSet /// Source descriptor set |
| u32 srcBinding /// Binding within the source descriptor set to copy from |
| u32 srcArrayElement /// Array element within the source binding to copy from |
| VkDescriptorSet dstSet /// Destination descriptor set |
| u32 dstBinding /// Binding within the destination descriptor set to copy to |
| u32 dstArrayElement /// Array element within the destination binding to copy to |
| u32 descriptorCount /// Number of descriptors to copy |
| } |
| |
| class VkBufferCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO |
| const void* pNext /// Pointer to next structure. |
| VkBufferCreateFlags flags /// Buffer creation flags |
| VkDeviceSize size /// Specified in bytes |
| VkBufferUsageFlags usage /// Buffer usage flags |
| VkSharingMode sharingMode |
| u32 queueFamilyIndexCount |
| const u32* pQueueFamilyIndices |
| } |
| |
| class VkBufferViewCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO |
| const void* pNext /// Pointer to next structure. |
| VkBufferViewCreateFlags flags |
| VkBuffer buffer |
| VkFormat format /// Optionally specifies format of elements |
| VkDeviceSize offset /// Specified in bytes |
| VkDeviceSize range /// View size specified in bytes |
| } |
| |
| class VkImageSubresource { |
| VkImageAspectFlagBits aspectMask |
| u32 mipLevel |
| u32 arrayLayer |
| } |
| |
| class VkImageSubresourceRange { |
| VkImageAspectFlags aspectMask |
| u32 baseMipLevel |
| u32 levelCount |
| u32 baseArrayLayer |
| u32 layerCount |
| } |
| |
| class VkMemoryBarrier { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_MEMORY_BARRIER |
| const void* pNext /// Pointer to next structure. |
| VkAccessFlags srcAccessMask |
| VkAccessFlags dstAccessMask |
| } |
| |
| class VkBufferMemoryBarrier { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER |
| const void* pNext /// Pointer to next structure. |
| VkAccessFlags srcAccessMask |
| VkAccessFlags dstAccessMask |
| u32 srcQueueFamilyIndex /// Queue family to transition ownership from |
| u32 dstQueueFamilyIndex /// Queue family to transition ownership to |
| VkBuffer buffer /// Buffer to sync |
| VkDeviceSize offset /// Offset within the buffer to sync |
| VkDeviceSize size /// Amount of bytes to sync |
| } |
| |
| class VkImageMemoryBarrier { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER |
| const void* pNext /// Pointer to next structure. |
| VkAccessFlags srcAccessMask |
| VkAccessFlags dstAccessMask |
| VkImageLayout oldLayout /// Current layout of the image |
| VkImageLayout newLayout /// New layout to transition the image to |
| u32 srcQueueFamilyIndex /// Queue family to transition ownership from |
| u32 dstQueueFamilyIndex /// Queue family to transition ownership to |
| VkImage image /// Image to sync |
| VkImageSubresourceRange subresourceRange /// Subresource range to sync |
| } |
| |
| class VkImageCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO |
| const void* pNext /// Pointer to next structure. |
| VkImageCreateFlags flags /// Image creation flags |
| VkImageType imageType |
| VkFormat format |
| VkExtent3D extent |
| u32 mipLevels |
| u32 arrayLayers |
| VkSampleCountFlagBits samples |
| VkImageTiling tiling |
| VkImageUsageFlags usage /// Image usage flags |
| VkSharingMode sharingMode /// Cross-queue-family sharing mode |
| u32 queueFamilyIndexCount /// Number of queue families to share across |
| const u32* pQueueFamilyIndices /// Array of queue family indices to share across |
| VkImageLayout initialLayout /// Initial image layout for all subresources |
| } |
| |
| class VkSubresourceLayout { |
| VkDeviceSize offset /// Specified in bytes |
| VkDeviceSize size /// Specified in bytes |
| VkDeviceSize rowPitch /// Specified in bytes |
| VkDeviceSize arrayPitch /// Specified in bytes |
| VkDeviceSize depthPitch /// Specified in bytes |
| } |
| |
| class VkImageViewCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkImageViewCreateFlags flags |
| VkImage image |
| VkImageViewType viewType |
| VkFormat format |
| VkComponentMapping components |
| VkImageSubresourceRange subresourceRange |
| } |
| |
| class VkBufferCopy { |
| VkDeviceSize srcOffset /// Specified in bytes |
| VkDeviceSize dstOffset /// Specified in bytes |
| VkDeviceSize size /// Specified in bytes |
| } |
| |
| class VkSparseMemoryBind { |
| VkDeviceSize resourceOffset /// Specified in bytes |
| VkDeviceSize size /// Specified in bytes |
| VkDeviceMemory memory |
| VkDeviceSize memoryOffset /// Specified in bytes |
| VkSparseMemoryBindFlags flags |
| } |
| |
| class VkSparseImageMemoryBind { |
| VkImageSubresource subresource |
| VkOffset3D offset |
| VkExtent3D extent |
| VkDeviceMemory memory |
| VkDeviceSize memoryOffset /// Specified in bytes |
| VkSparseMemoryBindFlags flags |
| } |
| |
| class VkSparseBufferMemoryBindInfo { |
| VkBuffer buffer |
| u32 bindCount |
| const VkSparseMemoryBind* pBinds |
| } |
| |
| class VkSparseImageOpaqueMemoryBindInfo { |
| VkImage image |
| u32 bindCount |
| const VkSparseMemoryBind* pBinds |
| } |
| |
| class VkSparseImageMemoryBindInfo { |
| VkImage image |
| u32 bindCount |
| const VkSparseMemoryBind* pBinds |
| } |
| |
| class VkBindSparseInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_BIND_SPARSE_INFO |
| const void* pNext |
| u32 waitSemaphoreCount |
| const VkSemaphore* pWaitSemaphores |
| u32 numBufferBinds |
| const VkSparseBufferMemoryBindInfo* pBufferBinds |
| u32 numImageOpaqueBinds |
| const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds |
| u32 numImageBinds |
| const VkSparseImageMemoryBindInfo* pImageBinds |
| u32 signalSemaphoreCount |
| const VkSemaphore* pSignalSemaphores |
| } |
| |
| class VkImageSubresourceLayers { |
| VkImageAspectFlags aspectMask |
| u32 mipLevel |
| u32 baseArrayLayer |
| u32 layerCount |
| } |
| |
| class VkImageCopy { |
| VkImageSubresourceLayers srcSubresource |
| VkOffset3D srcOffset /// Specified in pixels for both compressed and uncompressed images |
| VkImageSubresourceLayers dstSubresource |
| VkOffset3D dstOffset /// Specified in pixels for both compressed and uncompressed images |
| VkExtent3D extent /// Specified in pixels for both compressed and uncompressed images |
| } |
| |
| class VkImageBlit { |
| VkImageSubresourceLayers srcSubresource |
| VkOffset3D[2] srcOffsets |
| VkImageSubresourceLayers dstSubresource |
| VkOffset3D[2] dstOffsets |
| } |
| |
| class VkBufferImageCopy { |
| VkDeviceSize bufferOffset /// Specified in bytes |
| u32 bufferRowLength /// Specified in texels |
| u32 bufferImageHeight |
| VkImageSubresourceLayers imageSubresource |
| VkOffset3D imageOffset /// Specified in pixels for both compressed and uncompressed images |
| VkExtent3D imageExtent /// Specified in pixels for both compressed and uncompressed images |
| } |
| |
| class VkImageResolve { |
| VkImageSubresourceLayers srcSubresource |
| VkOffset3D srcOffset |
| VkImageSubresourceLayers dstSubresource |
| VkOffset3D dstOffset |
| VkExtent3D extent |
| } |
| |
| class VkShaderModuleCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkShaderModuleCreateFlags flags /// Reserved |
| platform.size_t codeSize /// Specified in bytes |
| const u32* pCode /// Binary code of size codeSize |
| } |
| |
| class VkDescriptorSetLayoutBinding { |
| u32 binding |
| VkDescriptorType descriptorType /// Type of the descriptors in this binding |
| u32 descriptorCount /// Number of descriptors in this binding |
| VkShaderStageFlags stageFlags /// Shader stages this binding is visible to |
| const VkSampler* pImmutableSamplers /// Immutable samplers (used if descriptor type is SAMPLER or COMBINED_IMAGE_SAMPLER, is either NULL or contains <count> number of elements) |
| } |
| |
| class VkDescriptorSetLayoutCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDescriptorSetLayoutCreateFlags flags |
| u32 bindingCount /// Number of bindings in the descriptor set layout |
| const VkDescriptorSetLayoutBinding* pBindings /// Array of descriptor set layout bindings |
| } |
| |
| class VkDescriptorPoolSize { |
| VkDescriptorType type |
| u32 descriptorCount |
| } |
| |
| class VkDescriptorPoolCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDescriptorPoolCreateFlags flags |
| u32 maxSets |
| u32 poolSizeCount |
| const VkDescriptorPoolSize* pPoolSizes |
| } |
| |
| class VkDescriptorSetAllocateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkDescriptorPool descriptorPool |
| u32 setCount |
| const VkDescriptorSetLayout* pSetLayouts |
| } |
| |
| class VkSpecializationMapEntry { |
| u32 constantID /// The SpecConstant ID specified in the BIL |
| u32 offset /// Offset of the value in the data block |
| platform.size_t size /// Size in bytes of the SpecConstant |
| } |
| |
| class VkSpecializationInfo { |
| u32 mapEntryCount /// Number of entries in the map |
| const VkSpecializationMapEntry* pMapEntries /// Array of map entries |
| platform.size_t dataSize /// Size in bytes of pData |
| const void* pData /// Pointer to SpecConstant data |
| } |
| |
| class VkPipelineShaderStageCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineShaderStageCreateFlags flags |
| VkShaderStageFlagBits stage |
| VkShaderModule module |
| const char* pName |
| const VkSpecializationInfo* pSpecializationInfo |
| } |
| |
| class VkComputePipelineCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineCreateFlags flags /// Pipeline creation flags |
| VkPipelineShaderStageCreateInfo stage |
| VkPipelineLayout layout /// Interface layout of the pipeline |
| VkPipeline basePipelineHandle /// If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of |
| s32 basePipelineIndex /// If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of |
| } |
| |
| class VkVertexInputBindingDescription { |
| u32 binding /// Vertex buffer binding id |
| u32 stride /// Distance between vertices in bytes (0 = no advancement) |
| VkVertexInputRate inputRate /// Rate at which binding is incremented |
| } |
| |
| class VkVertexInputAttributeDescription { |
| u32 location /// location of the shader vertex attrib |
| u32 binding /// Vertex buffer binding id |
| VkFormat format /// format of source data |
| u32 offset /// Offset of first element in bytes from base of vertex |
| } |
| |
| class VkPipelineVertexInputStateCreateInfo { |
| VkStructureType sType /// Should be VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineVertexInputStateCreateFlags flags |
| u32 vertexBindingDescriptionCount /// number of bindings |
| const VkVertexInputBindingDescription* pVertexBindingDescriptions |
| u32 vertexAttributeDescriptionCount /// number of attributes |
| const VkVertexInputAttributeDescription* pVertexAttributeDescriptions |
| } |
| |
| class VkPipelineInputAssemblyStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineInputAssemblyStateCreateFlags flags |
| VkPrimitiveTopology topology |
| VkBool32 primitiveRestartEnable |
| } |
| |
| class VkPipelineTessellationStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineTessellationStateCreateFlags flags |
| u32 patchControlPoints |
| } |
| |
| class VkPipelineViewportStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineViewportStateCreateFlags flags |
| u32 viewportCount |
| const VkViewport* pViewports |
| u32 scissorCount |
| const VkRect2D* pScissors |
| } |
| |
| class VkPipelineRasterizationStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineRasterizationStateCreateFlags flags |
| VkBool32 depthClampEnable |
| VkBool32 rasterizerDiscardEnable |
| VkPolygonMode polygonMode /// optional (GL45) |
| VkCullModeFlags cullMode |
| VkFrontFace frontFace |
| VkBool32 depthBiasEnable |
| f32 depthBiasConstantFactor |
| f32 depthBiasClamp |
| f32 depthBiasSlopeFactor |
| f32 lineWidth |
| } |
| |
| class VkPipelineMultisampleStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineMultisampleStateCreateFlags flags |
| VkSampleCountFlagBits rasterizationSamples /// Number of samples used for rasterization |
| VkBool32 sampleShadingEnable /// optional (GL45) |
| f32 minSampleShading /// optional (GL45) |
| const VkSampleMask* pSampleMask |
| VkBool32 alphaToCoverageEnable |
| VkBool32 alphaToOneEnable |
| } |
| |
| class VkPipelineColorBlendAttachmentState { |
| VkBool32 blendEnable |
| VkBlendFactor srcColorBlendFactor |
| VkBlendFactor dstColorBlendFactor |
| VkBlendOp colorBlendOp |
| VkBlendFactor srcAlphaBlendFactor |
| VkBlendFactor dstAlphaBlendFactor |
| VkBlendOp alphaBlendOp |
| VkColorComponentFlags colorWriteMask |
| } |
| |
| class VkPipelineColorBlendStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineColorBlendStateCreateFlags flags |
| VkBool32 logicOpEnable |
| VkLogicOp logicOp |
| u32 attachmentCount /// # of pAttachments |
| const VkPipelineColorBlendAttachmentState* pAttachments |
| f32[4] blendConstants |
| } |
| |
| class VkStencilOpState { |
| VkStencilOp failOp |
| VkStencilOp passOp |
| VkStencilOp depthFailOp |
| VkCompareOp compareOp |
| u32 compareMask |
| u32 writeMask |
| u32 reference |
| } |
| |
| class VkPipelineDepthStencilStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineDepthStencilStateCreateFlags flags |
| VkBool32 depthTestEnable |
| VkBool32 depthWriteEnable |
| VkCompareOp depthCompareOp |
| VkBool32 depthBoundsTestEnable /// optional (depth_bounds_test) |
| VkBool32 stencilTestEnable |
| VkStencilOpState front |
| VkStencilOpState back |
| f32 minDepthBounds |
| f32 maxDepthBounds |
| } |
| |
| class VkPipelineDynamicStateCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineDynamicStateCreateFlags flags |
| u32 dynamicStateCount |
| const VkDynamicState* pDynamicStates |
| } |
| |
| class VkGraphicsPipelineCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineCreateFlags flags /// Pipeline creation flags |
| u32 stageCount |
| const VkPipelineShaderStageCreateInfo* pStages /// One entry for each active shader stage |
| const VkPipelineVertexInputStateCreateInfo* pVertexInputState |
| const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState |
| const VkPipelineTessellationStateCreateInfo* pTessellationState |
| const VkPipelineViewportStateCreateInfo* pViewportState |
| const VkPipelineRasterizationStateCreateInfo* pRasterizationState |
| const VkPipelineMultisampleStateCreateInfo* pMultisampleState |
| const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState |
| const VkPipelineColorBlendStateCreateInfo* pColorBlendState |
| const VkPipelineDynamicStateCreateInfo* pDynamicState |
| VkPipelineLayout layout /// Interface layout of the pipeline |
| VkRenderPass renderPass |
| u32 subpass |
| VkPipeline basePipelineHandle /// If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of |
| s32 basePipelineIndex /// If VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of |
| } |
| |
| class VkPipelineCacheCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineCacheCreateFlags flags |
| platform.size_t initialDataSize /// Size of initial data to populate cache, in bytes |
| const void* pInitialData /// Initial data to populate cache |
| } |
| |
| class VkPushConstantRange { |
| VkShaderStageFlags stageFlags /// Which stages use the range |
| u32 offset /// Start of the range, in bytes |
| u32 size /// Length of the range, in bytes |
| } |
| |
| class VkPipelineLayoutCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkPipelineLayoutCreateFlags flags |
| u32 descriptorSetCount /// Number of descriptor sets interfaced by the pipeline |
| const VkDescriptorSetLayout* pSetLayouts /// Array of <setCount> number of descriptor set layout objects defining the layout of the |
| u32 pushConstantRangeCount /// Number of push-constant ranges used by the pipeline |
| const VkPushConstantRange* pPushConstantRanges /// Array of pushConstantRangeCount number of ranges used by various shader stages |
| } |
| |
| class VkSamplerCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkSamplerCreateFlags flags |
| VkFilter magFilter /// Filter mode for magnification |
| VkFilter minFilter /// Filter mode for minifiation |
| VkSamplerMipmapMode mipmapMode /// Mipmap selection mode |
| VkSamplerAddressMode addressModeU |
| VkSamplerAddressMode addressModeV |
| VkSamplerAddressMode addressModeW |
| f32 mipLodBias |
| VkBool32 anisotropyEnable |
| f32 maxAnisotropy |
| VkBool32 compareEnable |
| VkCompareOp compareOp |
| f32 minLod |
| f32 maxLod |
| VkBorderColor borderColor |
| VkBool32 unnormalizedCoordinates |
| } |
| |
| class VkCommandPoolCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkCommandPoolCreateFlags flags /// Command pool creation flags |
| u32 queueFamilyIndex |
| } |
| |
| class VkCommandBufferAllocateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkCommandPool commandPool |
| VkCommandBufferLevel level |
| u32 commandBufferCount |
| } |
| |
| class VkCommandBufferInheritanceInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO |
| const void* pNext /// Pointer to next structure |
| VkRenderPass renderPass /// Render pass for secondary command buffers |
| u32 subpass |
| VkFramebuffer framebuffer /// Framebuffer for secondary command buffers |
| VkBool32 occlusionQueryEnable |
| VkQueryControlFlags queryFlags |
| VkQueryPipelineStatisticFlags pipelineStatistics |
| } |
| |
| class VkCommandBufferBeginInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO |
| const void* pNext /// Pointer to next structure |
| VkCommandBufferUsageFlags flags /// Command buffer usage flags |
| const VkCommandBufferInheritanceInfo* pInheritanceInfo |
| } |
| |
| class VkRenderPassBeginInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO |
| const void* pNext /// Pointer to next structure |
| VkRenderPass renderPass |
| VkFramebuffer framebuffer |
| VkRect2D renderArea |
| u32 clearValueCount |
| const VkClearValue* pClearValues |
| } |
| |
| @union |
| /// Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared. |
| class VkClearColorValue { |
| f32[4] float32 |
| s32[4] int32 |
| u32[4] uint32 |
| } |
| |
| class VkClearDepthStencilValue { |
| f32 depth |
| u32 stencil |
| } |
| |
| @union |
| /// Union allowing specification of color, depth, and stencil color values. Actual value selected is based on attachment being cleared. |
| class VkClearValue { |
| VkClearColorValue color |
| VkClearDepthStencilValue depthStencil |
| } |
| |
| class VkClearAttachment { |
| VkImageAspectFlags aspectMask |
| u32 colorAttachment |
| VkClearValue clearValue |
| } |
| |
| class VkAttachmentDescription { |
| VkAttachmentDescriptionFlags flags |
| VkFormat format |
| VkSampleCountFlagBits samples |
| VkAttachmentLoadOp loadOp /// Load op for color or depth data |
| VkAttachmentStoreOp storeOp /// Store op for color or depth data |
| VkAttachmentLoadOp stencilLoadOp /// Load op for stencil data |
| VkAttachmentStoreOp stencilStoreOp /// Store op for stencil data |
| VkImageLayout initialLayout |
| VkImageLayout finalLayout |
| } |
| |
| class VkAttachmentReference { |
| u32 attachment |
| VkImageLayout layout |
| } |
| |
| class VkSubpassDescription { |
| VkSubpassDescriptionFlags flags |
| VkPipelineBindPoint pipelineBindPoint /// Must be VK_PIPELINE_BIND_POINT_GRAPHICS for now |
| u32 inputAttachmentCount |
| const VkAttachmentReference* pInputAttachments |
| u32 colorAttachmentCount |
| const VkAttachmentReference* pColorAttachments |
| const VkAttachmentReference* pResolveAttachments |
| const VkAttachmentReference* pDepthStencilAttachment |
| u32 preserveAttachmentCount |
| const u32* pPreserveAttachments |
| } |
| |
| class VkSubpassDependency { |
| u32 srcSubpass |
| u32 dstSubpass |
| VkPipelineStageFlags srcStageMask |
| VkPipelineStageFlags dstStageMask |
| VkAccessFlags srcAccessMask |
| VkAccessFlags dstAccessMask |
| VkDependencyFlags dependencyFlags |
| } |
| |
| class VkRenderPassCreateInfo { |
| VkStructureType sType /// Must be VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO |
| const void* pNext /// Pointer to next structure |
| VkRenderPassCreateFlags flags |
| u32 attachmentCount |
| const VkAttachmentDescription* pAttachments |
| u32 subpassCount |
| const VkSubpassDescription*
|