2017-09-07 07:10:25 +10:00
|
|
|
#![allow(non_snake_case)]
|
|
|
|
#![allow(non_camel_case_types)]
|
|
|
|
#![allow(non_upper_case_globals)]
|
|
|
|
|
2017-11-07 13:57:32 +11:00
|
|
|
extern crate gfx_hal as hal;
|
2017-09-07 07:10:25 +10:00
|
|
|
extern crate gfx_backend_vulkan as back;
|
|
|
|
|
2017-09-07 11:34:41 +10:00
|
|
|
mod handle;
|
|
|
|
|
|
|
|
use std::{cmp, slice};
|
2017-11-07 14:33:36 +11:00
|
|
|
use hal::{Device, Instance, PhysicalDevice, QueueFamily}; // traits only
|
2017-09-07 11:34:41 +10:00
|
|
|
use back::Backend as B;
|
|
|
|
use handle::Handle;
|
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
/* automatically generated by rust-bindgen */
|
|
|
|
|
|
|
|
pub const VULKAN_H_: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_VERSION_1_0: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _STDINT_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _FEATURES_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _DEFAULT_SOURCE: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_ISOC11: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_ISOC99: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_ISOC95: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_POSIX_IMPLICITLY: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _POSIX_SOURCE: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _POSIX_C_SOURCE: ::std::os::raw::c_uint = 200809;
|
|
|
|
pub const __USE_POSIX: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_POSIX2: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_POSIX199309: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_POSIX199506: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_XOPEN2K: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_XOPEN2K8: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _ATFILE_SOURCE: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_MISC: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_ATFILE: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __USE_FORTIFY_LEVEL: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const _STDC_PREDEF_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __STDC_IEC_559__: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __STDC_IEC_559_COMPLEX__: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __STDC_ISO_10646__: ::std::os::raw::c_uint = 201605;
|
|
|
|
pub const __STDC_NO_THREADS__: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __GNU_LIBRARY__: ::std::os::raw::c_uint = 6;
|
|
|
|
pub const __GLIBC__: ::std::os::raw::c_uint = 2;
|
|
|
|
pub const __GLIBC_MINOR__: ::std::os::raw::c_uint = 25;
|
|
|
|
pub const _SYS_CDEFS_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __glibc_c99_flexarr_available: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __WORDSIZE: ::std::os::raw::c_uint = 64;
|
|
|
|
pub const __WORDSIZE_TIME64_COMPAT32: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __SYSCALL_WORDSIZE: ::std::os::raw::c_uint = 64;
|
|
|
|
pub const __GLIBC_USE_LIB_EXT2: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const __GLIBC_USE_IEC_60559_BFP_EXT: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const _BITS_TYPES_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const _BITS_TYPESIZES_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __OFF_T_MATCHES_OFF64_T: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __INO_T_MATCHES_INO64_T: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __RLIM_T_MATCHES_RLIM64_T: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024;
|
|
|
|
pub const _BITS_WCHAR_H: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const INT8_MIN: ::std::os::raw::c_int = -128;
|
|
|
|
pub const INT16_MIN: ::std::os::raw::c_int = -32768;
|
|
|
|
pub const INT32_MIN: ::std::os::raw::c_int = -2147483648;
|
|
|
|
pub const INT8_MAX: ::std::os::raw::c_uint = 127;
|
|
|
|
pub const INT16_MAX: ::std::os::raw::c_uint = 32767;
|
|
|
|
pub const INT32_MAX: ::std::os::raw::c_uint = 2147483647;
|
|
|
|
pub const UINT8_MAX: ::std::os::raw::c_uint = 255;
|
|
|
|
pub const UINT16_MAX: ::std::os::raw::c_uint = 65535;
|
|
|
|
pub const UINT32_MAX: ::std::os::raw::c_uint = 4294967295;
|
|
|
|
pub const INT_LEAST8_MIN: ::std::os::raw::c_int = -128;
|
|
|
|
pub const INT_LEAST16_MIN: ::std::os::raw::c_int = -32768;
|
|
|
|
pub const INT_LEAST32_MIN: ::std::os::raw::c_int = -2147483648;
|
|
|
|
pub const INT_LEAST8_MAX: ::std::os::raw::c_uint = 127;
|
|
|
|
pub const INT_LEAST16_MAX: ::std::os::raw::c_uint = 32767;
|
|
|
|
pub const INT_LEAST32_MAX: ::std::os::raw::c_uint = 2147483647;
|
|
|
|
pub const UINT_LEAST8_MAX: ::std::os::raw::c_uint = 255;
|
|
|
|
pub const UINT_LEAST16_MAX: ::std::os::raw::c_uint = 65535;
|
|
|
|
pub const UINT_LEAST32_MAX: ::std::os::raw::c_uint = 4294967295;
|
|
|
|
pub const INT_FAST8_MIN: ::std::os::raw::c_int = -128;
|
|
|
|
pub const INT_FAST16_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
|
|
|
|
pub const INT_FAST32_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
|
|
|
|
pub const INT_FAST8_MAX: ::std::os::raw::c_uint = 127;
|
|
|
|
pub const INT_FAST16_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
|
|
|
|
pub const INT_FAST32_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
|
|
|
|
pub const UINT_FAST8_MAX: ::std::os::raw::c_uint = 255;
|
|
|
|
pub const UINT_FAST16_MAX: ::std::os::raw::c_int = -1;
|
|
|
|
pub const UINT_FAST32_MAX: ::std::os::raw::c_int = -1;
|
|
|
|
pub const INTPTR_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
|
|
|
|
pub const INTPTR_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
|
|
|
|
pub const UINTPTR_MAX: ::std::os::raw::c_int = -1;
|
|
|
|
pub const PTRDIFF_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
|
|
|
|
pub const PTRDIFF_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
|
|
|
|
pub const SIG_ATOMIC_MIN: ::std::os::raw::c_int = -2147483648;
|
|
|
|
pub const SIG_ATOMIC_MAX: ::std::os::raw::c_uint = 2147483647;
|
|
|
|
pub const SIZE_MAX: ::std::os::raw::c_int = -1;
|
|
|
|
pub const WINT_MIN: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const WINT_MAX: ::std::os::raw::c_uint = 4294967295;
|
|
|
|
pub const VK_HEADER_VERSION: ::std::os::raw::c_uint = 42;
|
|
|
|
pub const VK_NULL_HANDLE: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const VK_LOD_CLAMP_NONE: f64 = 1000.;
|
|
|
|
pub const VK_REMAINING_MIP_LEVELS: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_REMAINING_ARRAY_LAYERS: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_WHOLE_SIZE: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_ATTACHMENT_UNUSED: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_TRUE: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_FALSE: ::std::os::raw::c_uint = 0;
|
|
|
|
pub const VK_QUEUE_FAMILY_IGNORED: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_SUBPASS_EXTERNAL: ::std::os::raw::c_int = -1;
|
|
|
|
pub const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE: ::std::os::raw::c_uint = 256;
|
|
|
|
pub const VK_UUID_SIZE: ::std::os::raw::c_uint = 16;
|
|
|
|
pub const VK_MAX_MEMORY_TYPES: ::std::os::raw::c_uint = 32;
|
|
|
|
pub const VK_MAX_MEMORY_HEAPS: ::std::os::raw::c_uint = 16;
|
|
|
|
pub const VK_MAX_EXTENSION_NAME_SIZE: ::std::os::raw::c_uint = 256;
|
|
|
|
pub const VK_MAX_DESCRIPTION_SIZE: ::std::os::raw::c_uint = 256;
|
|
|
|
pub const VK_KHR_surface: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_SURFACE_SPEC_VERSION: ::std::os::raw::c_uint = 25;
|
|
|
|
pub const VK_KHR_SURFACE_EXTENSION_NAME: &'static [u8; 15usize] =
|
|
|
|
b"VK_KHR_surface\x00";
|
|
|
|
pub const VK_KHR_swapchain: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_SWAPCHAIN_SPEC_VERSION: ::std::os::raw::c_uint = 68;
|
|
|
|
pub const VK_KHR_SWAPCHAIN_EXTENSION_NAME: &'static [u8; 17usize] =
|
|
|
|
b"VK_KHR_swapchain\x00";
|
|
|
|
pub const VK_KHR_display: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_DISPLAY_SPEC_VERSION: ::std::os::raw::c_uint = 21;
|
|
|
|
pub const VK_KHR_DISPLAY_EXTENSION_NAME: &'static [u8; 15usize] =
|
|
|
|
b"VK_KHR_display\x00";
|
|
|
|
pub const VK_KHR_display_swapchain: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION: ::std::os::raw::c_uint = 9;
|
|
|
|
pub const VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME: &'static [u8; 25usize] =
|
|
|
|
b"VK_KHR_display_swapchain\x00";
|
|
|
|
pub const VK_KHR_sampler_mirror_clamp_to_edge: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME:
|
|
|
|
&'static [u8; 36usize] =
|
|
|
|
b"VK_KHR_sampler_mirror_clamp_to_edge\x00";
|
|
|
|
pub const VK_KHR_get_physical_device_properties2: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME:
|
|
|
|
&'static [u8; 39usize] =
|
|
|
|
b"VK_KHR_get_physical_device_properties2\x00";
|
|
|
|
pub const VK_KHR_shader_draw_parameters: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME: &'static [u8; 30usize]
|
|
|
|
=
|
|
|
|
b"VK_KHR_shader_draw_parameters\x00";
|
|
|
|
pub const VK_KHR_maintenance1: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_MAINTENANCE1_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_MAINTENANCE1_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_KHR_maintenance1\x00";
|
|
|
|
pub const VK_KHR_push_descriptor: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME: &'static [u8; 23usize] =
|
|
|
|
b"VK_KHR_push_descriptor\x00";
|
|
|
|
pub const VK_KHR_descriptor_update_template: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME:
|
|
|
|
&'static [u8; 34usize] =
|
|
|
|
b"VK_KHR_descriptor_update_template\x00";
|
|
|
|
pub const VK_EXT_debug_report: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DEBUG_REPORT_SPEC_VERSION: ::std::os::raw::c_uint = 5;
|
|
|
|
pub const VK_EXT_DEBUG_REPORT_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_EXT_debug_report\x00";
|
|
|
|
pub const VK_NV_glsl_shader: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_GLSL_SHADER_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_GLSL_SHADER_EXTENSION_NAME: &'static [u8; 18usize] =
|
|
|
|
b"VK_NV_glsl_shader\x00";
|
|
|
|
pub const VK_IMG_filter_cubic: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_IMG_FILTER_CUBIC_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_IMG_FILTER_CUBIC_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_IMG_filter_cubic\x00";
|
|
|
|
pub const VK_AMD_rasterization_order: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME: &'static [u8; 27usize] =
|
|
|
|
b"VK_AMD_rasterization_order\x00";
|
|
|
|
pub const VK_AMD_shader_trinary_minmax: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME: &'static [u8; 29usize]
|
|
|
|
=
|
|
|
|
b"VK_AMD_shader_trinary_minmax\x00";
|
|
|
|
pub const VK_AMD_shader_explicit_vertex_parameter: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME:
|
|
|
|
&'static [u8; 40usize] =
|
|
|
|
b"VK_AMD_shader_explicit_vertex_parameter\x00";
|
|
|
|
pub const VK_EXT_debug_marker: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DEBUG_MARKER_SPEC_VERSION: ::std::os::raw::c_uint = 4;
|
|
|
|
pub const VK_EXT_DEBUG_MARKER_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_EXT_debug_marker\x00";
|
|
|
|
pub const VK_AMD_gcn_shader: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_GCN_SHADER_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_GCN_SHADER_EXTENSION_NAME: &'static [u8; 18usize] =
|
|
|
|
b"VK_AMD_gcn_shader\x00";
|
|
|
|
pub const VK_NV_dedicated_allocation: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME: &'static [u8; 27usize] =
|
|
|
|
b"VK_NV_dedicated_allocation\x00";
|
|
|
|
pub const VK_AMD_draw_indirect_count: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME: &'static [u8; 27usize] =
|
|
|
|
b"VK_AMD_draw_indirect_count\x00";
|
|
|
|
pub const VK_AMD_negative_viewport_height: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION: ::std::os::raw::c_uint
|
|
|
|
=
|
|
|
|
1;
|
|
|
|
pub const VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME:
|
|
|
|
&'static [u8; 32usize] =
|
|
|
|
b"VK_AMD_negative_viewport_height\x00";
|
|
|
|
pub const VK_AMD_gpu_shader_half_float: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME: &'static [u8; 29usize]
|
|
|
|
=
|
|
|
|
b"VK_AMD_gpu_shader_half_float\x00";
|
|
|
|
pub const VK_AMD_shader_ballot: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_SHADER_BALLOT_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_AMD_SHADER_BALLOT_EXTENSION_NAME: &'static [u8; 21usize] =
|
|
|
|
b"VK_AMD_shader_ballot\x00";
|
|
|
|
pub const VK_KHX_multiview: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_MULTIVIEW_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_MULTIVIEW_EXTENSION_NAME: &'static [u8; 17usize] =
|
|
|
|
b"VK_KHX_multiview\x00";
|
|
|
|
pub const VK_IMG_format_pvrtc: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_IMG_FORMAT_PVRTC_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_IMG_FORMAT_PVRTC_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_IMG_format_pvrtc\x00";
|
|
|
|
pub const VK_NV_external_memory_capabilities: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME:
|
|
|
|
&'static [u8; 35usize] =
|
|
|
|
b"VK_NV_external_memory_capabilities\x00";
|
|
|
|
pub const VK_NV_external_memory: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_EXTERNAL_MEMORY_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME: &'static [u8; 22usize] =
|
|
|
|
b"VK_NV_external_memory\x00";
|
|
|
|
pub const VK_KHX_device_group: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_MAX_DEVICE_GROUP_SIZE_KHX: ::std::os::raw::c_uint = 32;
|
|
|
|
pub const VK_KHX_DEVICE_GROUP_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_DEVICE_GROUP_EXTENSION_NAME: &'static [u8; 20usize] =
|
|
|
|
b"VK_KHX_device_group\x00";
|
|
|
|
pub const VK_EXT_validation_flags: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_VALIDATION_FLAGS_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME: &'static [u8; 24usize] =
|
|
|
|
b"VK_EXT_validation_flags\x00";
|
|
|
|
pub const VK_EXT_shader_subgroup_ballot: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME: &'static [u8; 30usize]
|
|
|
|
=
|
|
|
|
b"VK_EXT_shader_subgroup_ballot\x00";
|
|
|
|
pub const VK_EXT_shader_subgroup_vote: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME: &'static [u8; 28usize] =
|
|
|
|
b"VK_EXT_shader_subgroup_vote\x00";
|
|
|
|
pub const VK_KHX_device_group_creation: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME: &'static [u8; 29usize]
|
|
|
|
=
|
|
|
|
b"VK_KHX_device_group_creation\x00";
|
|
|
|
pub const VK_KHX_external_memory_capabilities: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_LUID_SIZE_KHX: ::std::os::raw::c_uint = 8;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME:
|
|
|
|
&'static [u8; 36usize] =
|
|
|
|
b"VK_KHX_external_memory_capabilities\x00";
|
|
|
|
pub const VK_KHX_external_memory: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_EXTENSION_NAME: &'static [u8; 23usize] =
|
|
|
|
b"VK_KHX_external_memory\x00";
|
|
|
|
pub const VK_QUEUE_FAMILY_EXTERNAL_KHX: ::std::os::raw::c_int = -2;
|
|
|
|
pub const VK_KHX_external_memory_fd: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_FD_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_MEMORY_FD_EXTENSION_NAME: &'static [u8; 26usize] =
|
|
|
|
b"VK_KHX_external_memory_fd\x00";
|
|
|
|
pub const VK_KHX_external_semaphore_capabilities: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME:
|
|
|
|
&'static [u8; 39usize] =
|
|
|
|
b"VK_KHX_external_semaphore_capabilities\x00";
|
|
|
|
pub const VK_KHX_external_semaphore: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_EXTENSION_NAME: &'static [u8; 26usize] =
|
|
|
|
b"VK_KHX_external_semaphore\x00";
|
|
|
|
pub const VK_KHX_external_semaphore_fd: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION: ::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_KHX_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME: &'static [u8; 29usize]
|
|
|
|
=
|
|
|
|
b"VK_KHX_external_semaphore_fd\x00";
|
|
|
|
pub const VK_NVX_device_generated_commands: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME:
|
|
|
|
&'static [u8; 33usize] =
|
|
|
|
b"VK_NVX_device_generated_commands\x00";
|
|
|
|
pub const VK_NV_clip_space_w_scaling: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME: &'static [u8; 27usize] =
|
|
|
|
b"VK_NV_clip_space_w_scaling\x00";
|
|
|
|
pub const VK_EXT_direct_mode_display: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME: &'static [u8; 27usize] =
|
|
|
|
b"VK_EXT_direct_mode_display\x00";
|
|
|
|
pub const VK_EXT_display_surface_counter: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION: ::std::os::raw::c_uint
|
|
|
|
=
|
|
|
|
1;
|
|
|
|
pub const VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME:
|
|
|
|
&'static [u8; 31usize] =
|
|
|
|
b"VK_EXT_display_surface_counter\x00";
|
|
|
|
pub const VK_EXT_display_control: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DISPLAY_CONTROL_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME: &'static [u8; 23usize] =
|
|
|
|
b"VK_EXT_display_control\x00";
|
|
|
|
pub const VK_NV_sample_mask_override_coverage: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME:
|
|
|
|
&'static [u8; 36usize] =
|
|
|
|
b"VK_NV_sample_mask_override_coverage\x00";
|
|
|
|
pub const VK_NV_geometry_shader_passthrough: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME:
|
|
|
|
&'static [u8; 34usize] =
|
|
|
|
b"VK_NV_geometry_shader_passthrough\x00";
|
|
|
|
pub const VK_NV_viewport_array2: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME: &'static [u8; 22usize] =
|
|
|
|
b"VK_NV_viewport_array2\x00";
|
|
|
|
pub const VK_NVX_multiview_per_view_attributes: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION:
|
|
|
|
::std::os::raw::c_uint =
|
|
|
|
1;
|
|
|
|
pub const VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME:
|
|
|
|
&'static [u8; 37usize] =
|
|
|
|
b"VK_NVX_multiview_per_view_attributes\x00";
|
|
|
|
pub const VK_NV_viewport_swizzle: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME: &'static [u8; 23usize] =
|
|
|
|
b"VK_NV_viewport_swizzle\x00";
|
|
|
|
pub const VK_EXT_discard_rectangles: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION: ::std::os::raw::c_uint = 1;
|
|
|
|
pub const VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME: &'static [u8; 26usize] =
|
|
|
|
b"VK_EXT_discard_rectangles\x00";
|
|
|
|
pub type wchar_t = ::std::os::raw::c_int;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct max_align_t {
|
|
|
|
pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
|
|
|
|
pub __bindgen_padding_0: u64,
|
|
|
|
pub __clang_max_align_nonce2: f64,
|
|
|
|
}
|
|
|
|
impl Clone for max_align_t {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type __u_char = ::std::os::raw::c_uchar;
|
|
|
|
pub type __u_short = ::std::os::raw::c_ushort;
|
|
|
|
pub type __u_int = ::std::os::raw::c_uint;
|
|
|
|
pub type __u_long = ::std::os::raw::c_ulong;
|
|
|
|
pub type __int8_t = ::std::os::raw::c_schar;
|
|
|
|
pub type __uint8_t = ::std::os::raw::c_uchar;
|
|
|
|
pub type __int16_t = ::std::os::raw::c_short;
|
|
|
|
pub type __uint16_t = ::std::os::raw::c_ushort;
|
|
|
|
pub type __int32_t = ::std::os::raw::c_int;
|
|
|
|
pub type __uint32_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __int64_t = ::std::os::raw::c_long;
|
|
|
|
pub type __uint64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __quad_t = ::std::os::raw::c_long;
|
|
|
|
pub type __u_quad_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __intmax_t = ::std::os::raw::c_long;
|
|
|
|
pub type __uintmax_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __dev_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __uid_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __gid_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __ino_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __ino64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __mode_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __nlink_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __off_t = ::std::os::raw::c_long;
|
|
|
|
pub type __off64_t = ::std::os::raw::c_long;
|
|
|
|
pub type __pid_t = ::std::os::raw::c_int;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct __fsid_t {
|
|
|
|
pub __val: [::std::os::raw::c_int; 2usize],
|
|
|
|
}
|
|
|
|
impl Clone for __fsid_t {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type __clock_t = ::std::os::raw::c_long;
|
|
|
|
pub type __rlim_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __rlim64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __id_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __time_t = ::std::os::raw::c_long;
|
|
|
|
pub type __useconds_t = ::std::os::raw::c_uint;
|
|
|
|
pub type __suseconds_t = ::std::os::raw::c_long;
|
|
|
|
pub type __daddr_t = ::std::os::raw::c_int;
|
|
|
|
pub type __key_t = ::std::os::raw::c_int;
|
|
|
|
pub type __clockid_t = ::std::os::raw::c_int;
|
|
|
|
pub type __timer_t = *mut ::std::os::raw::c_void;
|
|
|
|
pub type __blksize_t = ::std::os::raw::c_long;
|
|
|
|
pub type __blkcnt_t = ::std::os::raw::c_long;
|
|
|
|
pub type __blkcnt64_t = ::std::os::raw::c_long;
|
|
|
|
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __fsword_t = ::std::os::raw::c_long;
|
|
|
|
pub type __ssize_t = ::std::os::raw::c_long;
|
|
|
|
pub type __syscall_slong_t = ::std::os::raw::c_long;
|
|
|
|
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type __loff_t = __off64_t;
|
|
|
|
pub type __qaddr_t = *mut __quad_t;
|
|
|
|
pub type __caddr_t = *mut ::std::os::raw::c_char;
|
|
|
|
pub type __intptr_t = ::std::os::raw::c_long;
|
|
|
|
pub type __socklen_t = ::std::os::raw::c_uint;
|
|
|
|
pub type int_least8_t = ::std::os::raw::c_schar;
|
|
|
|
pub type int_least16_t = ::std::os::raw::c_short;
|
|
|
|
pub type int_least32_t = ::std::os::raw::c_int;
|
|
|
|
pub type int_least64_t = ::std::os::raw::c_long;
|
|
|
|
pub type uint_least8_t = ::std::os::raw::c_uchar;
|
|
|
|
pub type uint_least16_t = ::std::os::raw::c_ushort;
|
|
|
|
pub type uint_least32_t = ::std::os::raw::c_uint;
|
|
|
|
pub type uint_least64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type int_fast8_t = ::std::os::raw::c_schar;
|
|
|
|
pub type int_fast16_t = ::std::os::raw::c_long;
|
|
|
|
pub type int_fast32_t = ::std::os::raw::c_long;
|
|
|
|
pub type int_fast64_t = ::std::os::raw::c_long;
|
|
|
|
pub type uint_fast8_t = ::std::os::raw::c_uchar;
|
|
|
|
pub type uint_fast16_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type uint_fast32_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type uint_fast64_t = ::std::os::raw::c_ulong;
|
|
|
|
pub type intmax_t = __intmax_t;
|
|
|
|
pub type uintmax_t = __uintmax_t;
|
|
|
|
pub type VkFlags = u32;
|
|
|
|
pub type VkBool32 = u32;
|
|
|
|
pub type VkDeviceSize = u64;
|
|
|
|
pub type VkSampleMask = u32;
|
|
|
|
|
2017-09-07 11:34:41 +10:00
|
|
|
pub type VkInstance = Handle<back::Instance>;
|
2017-11-07 13:57:32 +11:00
|
|
|
pub type VkPhysicalDevice = Handle<hal::Adapter<B>>;
|
|
|
|
pub type VkDevice = Handle<hal::Gpu<B>>;
|
2017-11-07 14:33:36 +11:00
|
|
|
pub type VkCommandPool = Handle<<B as hal::Backend>::CommandPool>;
|
2017-09-07 07:10:25 +10:00
|
|
|
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkQueue_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkQueue = *mut VkQueue_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkSemaphore_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkSemaphore = *mut VkSemaphore_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkCommandBuffer_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkCommandBuffer = *mut VkCommandBuffer_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkFence_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkFence = *mut VkFence_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDeviceMemory_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDeviceMemory = *mut VkDeviceMemory_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkBuffer_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkBuffer = *mut VkBuffer_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkImage_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkImage = *mut VkImage_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkEvent_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkEvent = *mut VkEvent_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkQueryPool_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkQueryPool = *mut VkQueryPool_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkBufferView_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkBufferView = *mut VkBufferView_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkImageView_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkImageView = *mut VkImageView_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkShaderModule_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkShaderModule = *mut VkShaderModule_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkPipelineCache_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkPipelineCache = *mut VkPipelineCache_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkPipelineLayout_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkPipelineLayout = *mut VkPipelineLayout_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkRenderPass_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkRenderPass = *mut VkRenderPass_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkPipeline_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkPipeline = *mut VkPipeline_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDescriptorSetLayout_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDescriptorSetLayout = *mut VkDescriptorSetLayout_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkSampler_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkSampler = *mut VkSampler_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDescriptorPool_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDescriptorPool = *mut VkDescriptorPool_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDescriptorSet_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDescriptorSet = *mut VkDescriptorSet_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkFramebuffer_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkFramebuffer = *mut VkFramebuffer_T;
|
2017-11-07 14:33:36 +11:00
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
pub const VkPipelineCacheHeaderVersion_VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE:
|
|
|
|
VkPipelineCacheHeaderVersion =
|
|
|
|
VkPipelineCacheHeaderVersion::VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
|
|
|
|
pub const VkPipelineCacheHeaderVersion_VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE:
|
|
|
|
VkPipelineCacheHeaderVersion =
|
|
|
|
VkPipelineCacheHeaderVersion::VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
|
|
|
|
pub const VkPipelineCacheHeaderVersion_VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE:
|
|
|
|
VkPipelineCacheHeaderVersion =
|
|
|
|
VkPipelineCacheHeaderVersion::VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPipelineCacheHeaderVersion {
|
|
|
|
VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
|
|
|
|
VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkResult_VK_RESULT_BEGIN_RANGE: VkResult =
|
|
|
|
VkResult::VK_ERROR_FRAGMENTED_POOL;
|
|
|
|
pub const VkResult_VK_RESULT_END_RANGE: VkResult = VkResult::VK_INCOMPLETE;
|
|
|
|
#[repr(i32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkResult {
|
|
|
|
VK_SUCCESS = 0,
|
|
|
|
VK_NOT_READY = 1,
|
|
|
|
VK_TIMEOUT = 2,
|
|
|
|
VK_EVENT_SET = 3,
|
|
|
|
VK_EVENT_RESET = 4,
|
|
|
|
VK_INCOMPLETE = 5,
|
|
|
|
VK_ERROR_OUT_OF_HOST_MEMORY = -1,
|
|
|
|
VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
|
|
|
|
VK_ERROR_INITIALIZATION_FAILED = -3,
|
|
|
|
VK_ERROR_DEVICE_LOST = -4,
|
|
|
|
VK_ERROR_MEMORY_MAP_FAILED = -5,
|
|
|
|
VK_ERROR_LAYER_NOT_PRESENT = -6,
|
|
|
|
VK_ERROR_EXTENSION_NOT_PRESENT = -7,
|
|
|
|
VK_ERROR_FEATURE_NOT_PRESENT = -8,
|
|
|
|
VK_ERROR_INCOMPATIBLE_DRIVER = -9,
|
|
|
|
VK_ERROR_TOO_MANY_OBJECTS = -10,
|
|
|
|
VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
|
|
|
|
VK_ERROR_FRAGMENTED_POOL = -12,
|
|
|
|
VK_ERROR_SURFACE_LOST_KHR = -1000000000,
|
|
|
|
VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
|
|
|
|
VK_SUBOPTIMAL_KHR = 1000001003,
|
|
|
|
VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
|
|
|
|
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
|
|
|
|
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
|
|
|
|
VK_ERROR_INVALID_SHADER_NV = -1000012000,
|
|
|
|
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000,
|
|
|
|
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHX = -1000072003,
|
|
|
|
VK_RESULT_RANGE_SIZE = 18,
|
|
|
|
VK_RESULT_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkStructureType_VK_STRUCTURE_TYPE_BEGIN_RANGE: VkStructureType =
|
|
|
|
VkStructureType::VK_STRUCTURE_TYPE_APPLICATION_INFO;
|
|
|
|
pub const VkStructureType_VK_STRUCTURE_TYPE_END_RANGE: VkStructureType =
|
|
|
|
VkStructureType::VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub 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,
|
|
|
|
VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
|
|
|
|
VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
|
|
|
|
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
|
|
|
|
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
|
|
|
|
VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
|
|
|
|
VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
|
|
|
|
VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
|
|
|
|
VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
|
|
|
|
VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,
|
|
|
|
VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
|
|
|
|
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
|
|
|
|
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
|
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD =
|
|
|
|
1000018000,
|
|
|
|
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,
|
|
|
|
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,
|
|
|
|
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,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
|
|
|
|
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
|
|
|
|
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,
|
|
|
|
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,
|
|
|
|
VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
|
|
|
|
VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = 1000070000,
|
|
|
|
VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = 1000070001,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHX =
|
|
|
|
1000071000,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHX = 1000071001,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHX = 1000071002,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHX = 1000071003,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHX = 1000071004,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHX = 1000071005,
|
|
|
|
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHX = 1000071006,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHX = 1000071007,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHX = 1000072000,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHX = 1000072001,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHX = 1000072002,
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHX = 1000073000,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHX = 1000073001,
|
|
|
|
VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHX = 1000073002,
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHX = 1000074000,
|
|
|
|
VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHX = 1000074001,
|
|
|
|
VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHX = 1000075000,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHX =
|
|
|
|
1000076000,
|
|
|
|
VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHX = 1000076001,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHX = 1000077000,
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHX = 1000078000,
|
|
|
|
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHX = 1000078001,
|
|
|
|
VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHX = 1000078002,
|
|
|
|
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHX = 1000079000,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR =
|
|
|
|
1000080000,
|
|
|
|
VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,
|
|
|
|
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,
|
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV =
|
|
|
|
1000087000,
|
|
|
|
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = 1000090000,
|
|
|
|
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,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX
|
|
|
|
= 1000097000,
|
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV =
|
|
|
|
1000098000,
|
|
|
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT =
|
|
|
|
1000099000,
|
|
|
|
VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT =
|
|
|
|
1000099001,
|
|
|
|
VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
|
|
|
|
VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
|
|
|
|
VK_STRUCTURE_TYPE_RANGE_SIZE = 49,
|
|
|
|
VK_STRUCTURE_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkSystemAllocationScope_VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE:
|
|
|
|
VkSystemAllocationScope =
|
|
|
|
VkSystemAllocationScope::VK_SYSTEM_ALLOCATION_SCOPE_COMMAND;
|
|
|
|
pub const VkSystemAllocationScope_VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE:
|
|
|
|
VkSystemAllocationScope =
|
|
|
|
VkSystemAllocationScope::VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSystemAllocationScope {
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = 5,
|
|
|
|
VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkInternalAllocationType_VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE:
|
|
|
|
VkInternalAllocationType =
|
|
|
|
VkInternalAllocationType::VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
|
|
|
|
pub const VkInternalAllocationType_VK_INTERNAL_ALLOCATION_TYPE_END_RANGE:
|
|
|
|
VkInternalAllocationType =
|
|
|
|
VkInternalAllocationType::VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkInternalAllocationType {
|
|
|
|
VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
|
|
|
|
VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = 1,
|
|
|
|
VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkFormat_VK_FORMAT_BEGIN_RANGE: VkFormat =
|
|
|
|
VkFormat::VK_FORMAT_UNDEFINED;
|
|
|
|
pub const VkFormat_VK_FORMAT_END_RANGE: VkFormat =
|
|
|
|
VkFormat::VK_FORMAT_ASTC_12x12_SRGB_BLOCK;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub 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,
|
|
|
|
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,
|
|
|
|
VK_FORMAT_RANGE_SIZE = 185,
|
|
|
|
VK_FORMAT_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkImageType_VK_IMAGE_TYPE_BEGIN_RANGE: VkImageType =
|
|
|
|
VkImageType::VK_IMAGE_TYPE_1D;
|
|
|
|
pub const VkImageType_VK_IMAGE_TYPE_END_RANGE: VkImageType =
|
|
|
|
VkImageType::VK_IMAGE_TYPE_3D;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageType {
|
|
|
|
VK_IMAGE_TYPE_1D = 0,
|
|
|
|
VK_IMAGE_TYPE_2D = 1,
|
|
|
|
VK_IMAGE_TYPE_3D = 2,
|
|
|
|
VK_IMAGE_TYPE_RANGE_SIZE = 3,
|
|
|
|
VK_IMAGE_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkImageTiling_VK_IMAGE_TILING_BEGIN_RANGE: VkImageTiling =
|
|
|
|
VkImageTiling::VK_IMAGE_TILING_OPTIMAL;
|
|
|
|
pub const VkImageTiling_VK_IMAGE_TILING_END_RANGE: VkImageTiling =
|
|
|
|
VkImageTiling::VK_IMAGE_TILING_LINEAR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageTiling {
|
|
|
|
VK_IMAGE_TILING_OPTIMAL = 0,
|
|
|
|
VK_IMAGE_TILING_LINEAR = 1,
|
|
|
|
VK_IMAGE_TILING_RANGE_SIZE = 2,
|
|
|
|
VK_IMAGE_TILING_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkPhysicalDeviceType_VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE:
|
|
|
|
VkPhysicalDeviceType =
|
|
|
|
VkPhysicalDeviceType::VK_PHYSICAL_DEVICE_TYPE_OTHER;
|
|
|
|
pub const VkPhysicalDeviceType_VK_PHYSICAL_DEVICE_TYPE_END_RANGE:
|
|
|
|
VkPhysicalDeviceType =
|
|
|
|
VkPhysicalDeviceType::VK_PHYSICAL_DEVICE_TYPE_CPU;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPhysicalDeviceType {
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = 5,
|
|
|
|
VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkQueryType_VK_QUERY_TYPE_BEGIN_RANGE: VkQueryType =
|
|
|
|
VkQueryType::VK_QUERY_TYPE_OCCLUSION;
|
|
|
|
pub const VkQueryType_VK_QUERY_TYPE_END_RANGE: VkQueryType =
|
|
|
|
VkQueryType::VK_QUERY_TYPE_TIMESTAMP;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkQueryType {
|
|
|
|
VK_QUERY_TYPE_OCCLUSION = 0,
|
|
|
|
VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
|
|
|
|
VK_QUERY_TYPE_TIMESTAMP = 2,
|
|
|
|
VK_QUERY_TYPE_RANGE_SIZE = 3,
|
|
|
|
VK_QUERY_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkSharingMode_VK_SHARING_MODE_BEGIN_RANGE: VkSharingMode =
|
|
|
|
VkSharingMode::VK_SHARING_MODE_EXCLUSIVE;
|
|
|
|
pub const VkSharingMode_VK_SHARING_MODE_END_RANGE: VkSharingMode =
|
|
|
|
VkSharingMode::VK_SHARING_MODE_CONCURRENT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSharingMode {
|
|
|
|
VK_SHARING_MODE_EXCLUSIVE = 0,
|
|
|
|
VK_SHARING_MODE_CONCURRENT = 1,
|
|
|
|
VK_SHARING_MODE_RANGE_SIZE = 2,
|
|
|
|
VK_SHARING_MODE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkImageLayout_VK_IMAGE_LAYOUT_BEGIN_RANGE: VkImageLayout =
|
|
|
|
VkImageLayout::VK_IMAGE_LAYOUT_UNDEFINED;
|
|
|
|
pub const VkImageLayout_VK_IMAGE_LAYOUT_END_RANGE: VkImageLayout =
|
|
|
|
VkImageLayout::VK_IMAGE_LAYOUT_PREINITIALIZED;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageLayout {
|
|
|
|
VK_IMAGE_LAYOUT_UNDEFINED = 0,
|
|
|
|
VK_IMAGE_LAYOUT_GENERAL = 1,
|
|
|
|
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
|
|
|
|
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
|
|
|
|
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
|
|
|
|
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
|
|
|
|
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
|
|
|
|
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
|
|
|
|
VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
|
|
|
|
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
|
|
|
|
VK_IMAGE_LAYOUT_RANGE_SIZE = 9,
|
|
|
|
VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkImageViewType_VK_IMAGE_VIEW_TYPE_BEGIN_RANGE: VkImageViewType =
|
|
|
|
VkImageViewType::VK_IMAGE_VIEW_TYPE_1D;
|
|
|
|
pub const VkImageViewType_VK_IMAGE_VIEW_TYPE_END_RANGE: VkImageViewType =
|
|
|
|
VkImageViewType::VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageViewType {
|
|
|
|
VK_IMAGE_VIEW_TYPE_1D = 0,
|
|
|
|
VK_IMAGE_VIEW_TYPE_2D = 1,
|
|
|
|
VK_IMAGE_VIEW_TYPE_3D = 2,
|
|
|
|
VK_IMAGE_VIEW_TYPE_CUBE = 3,
|
|
|
|
VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
|
|
|
|
VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
|
|
|
|
VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
|
|
|
|
VK_IMAGE_VIEW_TYPE_RANGE_SIZE = 7,
|
|
|
|
VK_IMAGE_VIEW_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkComponentSwizzle_VK_COMPONENT_SWIZZLE_BEGIN_RANGE:
|
|
|
|
VkComponentSwizzle =
|
|
|
|
VkComponentSwizzle::VK_COMPONENT_SWIZZLE_IDENTITY;
|
|
|
|
pub const VkComponentSwizzle_VK_COMPONENT_SWIZZLE_END_RANGE:
|
|
|
|
VkComponentSwizzle =
|
|
|
|
VkComponentSwizzle::VK_COMPONENT_SWIZZLE_A;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkComponentSwizzle {
|
|
|
|
VK_COMPONENT_SWIZZLE_IDENTITY = 0,
|
|
|
|
VK_COMPONENT_SWIZZLE_ZERO = 1,
|
|
|
|
VK_COMPONENT_SWIZZLE_ONE = 2,
|
|
|
|
VK_COMPONENT_SWIZZLE_R = 3,
|
|
|
|
VK_COMPONENT_SWIZZLE_G = 4,
|
|
|
|
VK_COMPONENT_SWIZZLE_B = 5,
|
|
|
|
VK_COMPONENT_SWIZZLE_A = 6,
|
|
|
|
VK_COMPONENT_SWIZZLE_RANGE_SIZE = 7,
|
|
|
|
VK_COMPONENT_SWIZZLE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkVertexInputRate_VK_VERTEX_INPUT_RATE_BEGIN_RANGE:
|
|
|
|
VkVertexInputRate =
|
|
|
|
VkVertexInputRate::VK_VERTEX_INPUT_RATE_VERTEX;
|
|
|
|
pub const VkVertexInputRate_VK_VERTEX_INPUT_RATE_END_RANGE: VkVertexInputRate
|
|
|
|
=
|
|
|
|
VkVertexInputRate::VK_VERTEX_INPUT_RATE_INSTANCE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkVertexInputRate {
|
|
|
|
VK_VERTEX_INPUT_RATE_VERTEX = 0,
|
|
|
|
VK_VERTEX_INPUT_RATE_INSTANCE = 1,
|
|
|
|
VK_VERTEX_INPUT_RATE_RANGE_SIZE = 2,
|
|
|
|
VK_VERTEX_INPUT_RATE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkPrimitiveTopology_VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE:
|
|
|
|
VkPrimitiveTopology =
|
|
|
|
VkPrimitiveTopology::VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
|
|
|
|
pub const VkPrimitiveTopology_VK_PRIMITIVE_TOPOLOGY_END_RANGE:
|
|
|
|
VkPrimitiveTopology =
|
|
|
|
VkPrimitiveTopology::VK_PRIMITIVE_TOPOLOGY_PATCH_LIST;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPrimitiveTopology {
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = 11,
|
|
|
|
VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkPolygonMode_VK_POLYGON_MODE_BEGIN_RANGE: VkPolygonMode =
|
|
|
|
VkPolygonMode::VK_POLYGON_MODE_FILL;
|
|
|
|
pub const VkPolygonMode_VK_POLYGON_MODE_END_RANGE: VkPolygonMode =
|
|
|
|
VkPolygonMode::VK_POLYGON_MODE_POINT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPolygonMode {
|
|
|
|
VK_POLYGON_MODE_FILL = 0,
|
|
|
|
VK_POLYGON_MODE_LINE = 1,
|
|
|
|
VK_POLYGON_MODE_POINT = 2,
|
|
|
|
VK_POLYGON_MODE_RANGE_SIZE = 3,
|
|
|
|
VK_POLYGON_MODE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkFrontFace_VK_FRONT_FACE_BEGIN_RANGE: VkFrontFace =
|
|
|
|
VkFrontFace::VK_FRONT_FACE_COUNTER_CLOCKWISE;
|
|
|
|
pub const VkFrontFace_VK_FRONT_FACE_END_RANGE: VkFrontFace =
|
|
|
|
VkFrontFace::VK_FRONT_FACE_CLOCKWISE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkFrontFace {
|
|
|
|
VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
|
|
|
|
VK_FRONT_FACE_CLOCKWISE = 1,
|
|
|
|
VK_FRONT_FACE_RANGE_SIZE = 2,
|
|
|
|
VK_FRONT_FACE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkCompareOp_VK_COMPARE_OP_BEGIN_RANGE: VkCompareOp =
|
|
|
|
VkCompareOp::VK_COMPARE_OP_NEVER;
|
|
|
|
pub const VkCompareOp_VK_COMPARE_OP_END_RANGE: VkCompareOp =
|
|
|
|
VkCompareOp::VK_COMPARE_OP_ALWAYS;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCompareOp {
|
|
|
|
VK_COMPARE_OP_NEVER = 0,
|
|
|
|
VK_COMPARE_OP_LESS = 1,
|
|
|
|
VK_COMPARE_OP_EQUAL = 2,
|
|
|
|
VK_COMPARE_OP_LESS_OR_EQUAL = 3,
|
|
|
|
VK_COMPARE_OP_GREATER = 4,
|
|
|
|
VK_COMPARE_OP_NOT_EQUAL = 5,
|
|
|
|
VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
|
|
|
|
VK_COMPARE_OP_ALWAYS = 7,
|
|
|
|
VK_COMPARE_OP_RANGE_SIZE = 8,
|
|
|
|
VK_COMPARE_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkStencilOp_VK_STENCIL_OP_BEGIN_RANGE: VkStencilOp =
|
|
|
|
VkStencilOp::VK_STENCIL_OP_KEEP;
|
|
|
|
pub const VkStencilOp_VK_STENCIL_OP_END_RANGE: VkStencilOp =
|
|
|
|
VkStencilOp::VK_STENCIL_OP_DECREMENT_AND_WRAP;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkStencilOp {
|
|
|
|
VK_STENCIL_OP_KEEP = 0,
|
|
|
|
VK_STENCIL_OP_ZERO = 1,
|
|
|
|
VK_STENCIL_OP_REPLACE = 2,
|
|
|
|
VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
|
|
|
|
VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
|
|
|
|
VK_STENCIL_OP_INVERT = 5,
|
|
|
|
VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
|
|
|
|
VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
|
|
|
|
VK_STENCIL_OP_RANGE_SIZE = 8,
|
|
|
|
VK_STENCIL_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkLogicOp_VK_LOGIC_OP_BEGIN_RANGE: VkLogicOp =
|
|
|
|
VkLogicOp::VK_LOGIC_OP_CLEAR;
|
|
|
|
pub const VkLogicOp_VK_LOGIC_OP_END_RANGE: VkLogicOp =
|
|
|
|
VkLogicOp::VK_LOGIC_OP_SET;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkLogicOp {
|
|
|
|
VK_LOGIC_OP_CLEAR = 0,
|
|
|
|
VK_LOGIC_OP_AND = 1,
|
|
|
|
VK_LOGIC_OP_AND_REVERSE = 2,
|
|
|
|
VK_LOGIC_OP_COPY = 3,
|
|
|
|
VK_LOGIC_OP_AND_INVERTED = 4,
|
|
|
|
VK_LOGIC_OP_NO_OP = 5,
|
|
|
|
VK_LOGIC_OP_XOR = 6,
|
|
|
|
VK_LOGIC_OP_OR = 7,
|
|
|
|
VK_LOGIC_OP_NOR = 8,
|
|
|
|
VK_LOGIC_OP_EQUIVALENT = 9,
|
|
|
|
VK_LOGIC_OP_INVERT = 10,
|
|
|
|
VK_LOGIC_OP_OR_REVERSE = 11,
|
|
|
|
VK_LOGIC_OP_COPY_INVERTED = 12,
|
|
|
|
VK_LOGIC_OP_OR_INVERTED = 13,
|
|
|
|
VK_LOGIC_OP_NAND = 14,
|
|
|
|
VK_LOGIC_OP_SET = 15,
|
|
|
|
VK_LOGIC_OP_RANGE_SIZE = 16,
|
|
|
|
VK_LOGIC_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkBlendFactor_VK_BLEND_FACTOR_BEGIN_RANGE: VkBlendFactor =
|
|
|
|
VkBlendFactor::VK_BLEND_FACTOR_ZERO;
|
|
|
|
pub const VkBlendFactor_VK_BLEND_FACTOR_END_RANGE: VkBlendFactor =
|
|
|
|
VkBlendFactor::VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkBlendFactor {
|
|
|
|
VK_BLEND_FACTOR_ZERO = 0,
|
|
|
|
VK_BLEND_FACTOR_ONE = 1,
|
|
|
|
VK_BLEND_FACTOR_SRC_COLOR = 2,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
|
|
|
|
VK_BLEND_FACTOR_DST_COLOR = 4,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
|
|
|
|
VK_BLEND_FACTOR_SRC_ALPHA = 6,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
|
|
|
|
VK_BLEND_FACTOR_DST_ALPHA = 8,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
|
|
|
|
VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
|
|
|
|
VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
|
|
|
|
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
|
|
|
|
VK_BLEND_FACTOR_SRC1_COLOR = 15,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
|
|
|
|
VK_BLEND_FACTOR_SRC1_ALPHA = 17,
|
|
|
|
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
|
|
|
|
VK_BLEND_FACTOR_RANGE_SIZE = 19,
|
|
|
|
VK_BLEND_FACTOR_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkBlendOp_VK_BLEND_OP_BEGIN_RANGE: VkBlendOp =
|
|
|
|
VkBlendOp::VK_BLEND_OP_ADD;
|
|
|
|
pub const VkBlendOp_VK_BLEND_OP_END_RANGE: VkBlendOp =
|
|
|
|
VkBlendOp::VK_BLEND_OP_MAX;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkBlendOp {
|
|
|
|
VK_BLEND_OP_ADD = 0,
|
|
|
|
VK_BLEND_OP_SUBTRACT = 1,
|
|
|
|
VK_BLEND_OP_REVERSE_SUBTRACT = 2,
|
|
|
|
VK_BLEND_OP_MIN = 3,
|
|
|
|
VK_BLEND_OP_MAX = 4,
|
|
|
|
VK_BLEND_OP_RANGE_SIZE = 5,
|
|
|
|
VK_BLEND_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkDynamicState_VK_DYNAMIC_STATE_BEGIN_RANGE: VkDynamicState =
|
|
|
|
VkDynamicState::VK_DYNAMIC_STATE_VIEWPORT;
|
|
|
|
pub const VkDynamicState_VK_DYNAMIC_STATE_END_RANGE: VkDynamicState =
|
|
|
|
VkDynamicState::VK_DYNAMIC_STATE_STENCIL_REFERENCE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDynamicState {
|
|
|
|
VK_DYNAMIC_STATE_VIEWPORT = 0,
|
|
|
|
VK_DYNAMIC_STATE_SCISSOR = 1,
|
|
|
|
VK_DYNAMIC_STATE_LINE_WIDTH = 2,
|
|
|
|
VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
|
|
|
|
VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
|
|
|
|
VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
|
|
|
|
VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
|
|
|
|
VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
|
|
|
|
VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
|
|
|
|
VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
|
|
|
|
VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
|
|
|
|
VK_DYNAMIC_STATE_RANGE_SIZE = 9,
|
|
|
|
VK_DYNAMIC_STATE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkFilter_VK_FILTER_BEGIN_RANGE: VkFilter =
|
|
|
|
VkFilter::VK_FILTER_NEAREST;
|
|
|
|
pub const VkFilter_VK_FILTER_END_RANGE: VkFilter = VkFilter::VK_FILTER_LINEAR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkFilter {
|
|
|
|
VK_FILTER_NEAREST = 0,
|
|
|
|
VK_FILTER_LINEAR = 1,
|
|
|
|
VK_FILTER_CUBIC_IMG = 1000015000,
|
|
|
|
VK_FILTER_RANGE_SIZE = 2,
|
|
|
|
VK_FILTER_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkSamplerMipmapMode_VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE:
|
|
|
|
VkSamplerMipmapMode =
|
|
|
|
VkSamplerMipmapMode::VK_SAMPLER_MIPMAP_MODE_NEAREST;
|
|
|
|
pub const VkSamplerMipmapMode_VK_SAMPLER_MIPMAP_MODE_END_RANGE:
|
|
|
|
VkSamplerMipmapMode =
|
|
|
|
VkSamplerMipmapMode::VK_SAMPLER_MIPMAP_MODE_LINEAR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSamplerMipmapMode {
|
|
|
|
VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
|
|
|
|
VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
|
|
|
|
VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = 2,
|
|
|
|
VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkSamplerAddressMode_VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE:
|
|
|
|
VkSamplerAddressMode =
|
|
|
|
VkSamplerAddressMode::VK_SAMPLER_ADDRESS_MODE_REPEAT;
|
|
|
|
pub const VkSamplerAddressMode_VK_SAMPLER_ADDRESS_MODE_END_RANGE:
|
|
|
|
VkSamplerAddressMode =
|
|
|
|
VkSamplerAddressMode::VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
|
|
|
|
pub const VkSamplerAddressMode_VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE:
|
|
|
|
VkSamplerAddressMode =
|
|
|
|
VkSamplerAddressMode::VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSamplerAddressMode {
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
|
|
|
|
VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkBorderColor_VK_BORDER_COLOR_BEGIN_RANGE: VkBorderColor =
|
|
|
|
VkBorderColor::VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK;
|
|
|
|
pub const VkBorderColor_VK_BORDER_COLOR_END_RANGE: VkBorderColor =
|
|
|
|
VkBorderColor::VK_BORDER_COLOR_INT_OPAQUE_WHITE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkBorderColor {
|
|
|
|
VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
|
|
|
|
VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
|
|
|
|
VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
|
|
|
|
VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
|
|
|
|
VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
|
|
|
|
VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
|
|
|
|
VK_BORDER_COLOR_RANGE_SIZE = 6,
|
|
|
|
VK_BORDER_COLOR_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkDescriptorType_VK_DESCRIPTOR_TYPE_BEGIN_RANGE: VkDescriptorType =
|
|
|
|
VkDescriptorType::VK_DESCRIPTOR_TYPE_SAMPLER;
|
|
|
|
pub const VkDescriptorType_VK_DESCRIPTOR_TYPE_END_RANGE: VkDescriptorType =
|
|
|
|
VkDescriptorType::VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDescriptorType {
|
|
|
|
VK_DESCRIPTOR_TYPE_SAMPLER = 0,
|
|
|
|
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
|
|
|
|
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
|
|
|
|
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
|
|
|
|
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
|
|
|
|
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
|
|
|
|
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
|
|
|
|
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
|
|
|
|
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
|
|
|
|
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
|
|
|
|
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
|
|
|
|
VK_DESCRIPTOR_TYPE_RANGE_SIZE = 11,
|
|
|
|
VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkAttachmentLoadOp_VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE:
|
|
|
|
VkAttachmentLoadOp =
|
|
|
|
VkAttachmentLoadOp::VK_ATTACHMENT_LOAD_OP_LOAD;
|
|
|
|
pub const VkAttachmentLoadOp_VK_ATTACHMENT_LOAD_OP_END_RANGE:
|
|
|
|
VkAttachmentLoadOp =
|
|
|
|
VkAttachmentLoadOp::VK_ATTACHMENT_LOAD_OP_DONT_CARE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkAttachmentLoadOp {
|
|
|
|
VK_ATTACHMENT_LOAD_OP_LOAD = 0,
|
|
|
|
VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
|
|
|
|
VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
|
|
|
|
VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = 3,
|
|
|
|
VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkAttachmentStoreOp_VK_ATTACHMENT_STORE_OP_BEGIN_RANGE:
|
|
|
|
VkAttachmentStoreOp =
|
|
|
|
VkAttachmentStoreOp::VK_ATTACHMENT_STORE_OP_STORE;
|
|
|
|
pub const VkAttachmentStoreOp_VK_ATTACHMENT_STORE_OP_END_RANGE:
|
|
|
|
VkAttachmentStoreOp =
|
|
|
|
VkAttachmentStoreOp::VK_ATTACHMENT_STORE_OP_DONT_CARE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkAttachmentStoreOp {
|
|
|
|
VK_ATTACHMENT_STORE_OP_STORE = 0,
|
|
|
|
VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
|
|
|
|
VK_ATTACHMENT_STORE_OP_RANGE_SIZE = 2,
|
|
|
|
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkPipelineBindPoint_VK_PIPELINE_BIND_POINT_BEGIN_RANGE:
|
|
|
|
VkPipelineBindPoint =
|
|
|
|
VkPipelineBindPoint::VK_PIPELINE_BIND_POINT_GRAPHICS;
|
|
|
|
pub const VkPipelineBindPoint_VK_PIPELINE_BIND_POINT_END_RANGE:
|
|
|
|
VkPipelineBindPoint =
|
|
|
|
VkPipelineBindPoint::VK_PIPELINE_BIND_POINT_COMPUTE;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPipelineBindPoint {
|
|
|
|
VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
|
|
|
|
VK_PIPELINE_BIND_POINT_COMPUTE = 1,
|
|
|
|
VK_PIPELINE_BIND_POINT_RANGE_SIZE = 2,
|
|
|
|
VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkCommandBufferLevel_VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE:
|
|
|
|
VkCommandBufferLevel =
|
|
|
|
VkCommandBufferLevel::VK_COMMAND_BUFFER_LEVEL_PRIMARY;
|
|
|
|
pub const VkCommandBufferLevel_VK_COMMAND_BUFFER_LEVEL_END_RANGE:
|
|
|
|
VkCommandBufferLevel =
|
|
|
|
VkCommandBufferLevel::VK_COMMAND_BUFFER_LEVEL_SECONDARY;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCommandBufferLevel {
|
|
|
|
VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
|
|
|
|
VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
|
|
|
|
VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = 2,
|
|
|
|
VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkIndexType_VK_INDEX_TYPE_BEGIN_RANGE: VkIndexType =
|
|
|
|
VkIndexType::VK_INDEX_TYPE_UINT16;
|
|
|
|
pub const VkIndexType_VK_INDEX_TYPE_END_RANGE: VkIndexType =
|
|
|
|
VkIndexType::VK_INDEX_TYPE_UINT32;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkIndexType {
|
|
|
|
VK_INDEX_TYPE_UINT16 = 0,
|
|
|
|
VK_INDEX_TYPE_UINT32 = 1,
|
|
|
|
VK_INDEX_TYPE_RANGE_SIZE = 2,
|
|
|
|
VK_INDEX_TYPE_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkSubpassContents_VK_SUBPASS_CONTENTS_BEGIN_RANGE: VkSubpassContents
|
|
|
|
=
|
|
|
|
VkSubpassContents::VK_SUBPASS_CONTENTS_INLINE;
|
|
|
|
pub const VkSubpassContents_VK_SUBPASS_CONTENTS_END_RANGE: VkSubpassContents =
|
|
|
|
VkSubpassContents::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSubpassContents {
|
|
|
|
VK_SUBPASS_CONTENTS_INLINE = 0,
|
|
|
|
VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
|
|
|
|
VK_SUBPASS_CONTENTS_RANGE_SIZE = 2,
|
|
|
|
VK_SUBPASS_CONTENTS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkInstanceCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkFormatFeatureFlagBits {
|
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
|
|
|
|
VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
|
|
|
|
VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
|
|
|
|
VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
|
|
|
|
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
|
|
|
|
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
|
|
|
|
VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
|
|
|
|
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
|
|
|
|
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
|
|
|
|
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
|
|
|
|
VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024,
|
|
|
|
VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
|
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
|
|
|
|
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 8192,
|
|
|
|
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 16384,
|
|
|
|
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 32768,
|
|
|
|
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkFormatFeatureFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageUsageFlagBits {
|
|
|
|
VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1,
|
|
|
|
VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
|
|
|
|
VK_IMAGE_USAGE_SAMPLED_BIT = 4,
|
|
|
|
VK_IMAGE_USAGE_STORAGE_BIT = 8,
|
|
|
|
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
|
|
|
|
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
|
|
|
|
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
|
|
|
|
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128,
|
|
|
|
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkImageUsageFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageCreateFlagBits {
|
|
|
|
VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
|
|
|
|
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
|
|
|
|
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
|
|
|
|
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
|
|
|
|
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
|
|
|
|
VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = 64,
|
|
|
|
VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32,
|
|
|
|
VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkImageCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSampleCountFlagBits {
|
|
|
|
VK_SAMPLE_COUNT_1_BIT = 1,
|
|
|
|
VK_SAMPLE_COUNT_2_BIT = 2,
|
|
|
|
VK_SAMPLE_COUNT_4_BIT = 4,
|
|
|
|
VK_SAMPLE_COUNT_8_BIT = 8,
|
|
|
|
VK_SAMPLE_COUNT_16_BIT = 16,
|
|
|
|
VK_SAMPLE_COUNT_32_BIT = 32,
|
|
|
|
VK_SAMPLE_COUNT_64_BIT = 64,
|
|
|
|
VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSampleCountFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkQueueFlagBits {
|
|
|
|
VK_QUEUE_GRAPHICS_BIT = 1,
|
|
|
|
VK_QUEUE_COMPUTE_BIT = 2,
|
|
|
|
VK_QUEUE_TRANSFER_BIT = 4,
|
|
|
|
VK_QUEUE_SPARSE_BINDING_BIT = 8,
|
|
|
|
VK_QUEUE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkQueueFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkMemoryPropertyFlagBits {
|
|
|
|
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
|
|
|
|
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
|
|
|
|
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
|
|
|
|
VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
|
|
|
|
VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
|
|
|
|
VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkMemoryPropertyFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkMemoryHeapFlagBits {
|
|
|
|
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1,
|
|
|
|
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = 2,
|
|
|
|
VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkMemoryHeapFlags = VkFlags;
|
|
|
|
pub type VkDeviceCreateFlags = VkFlags;
|
|
|
|
pub type VkDeviceQueueCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPipelineStageFlagBits {
|
|
|
|
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
|
|
|
|
VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
|
|
|
|
VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
|
|
|
|
VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
|
|
|
|
VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
|
|
|
|
VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
|
|
|
|
VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
|
|
|
|
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
|
|
|
|
VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
|
|
|
|
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
|
|
|
|
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
|
|
|
|
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
|
|
|
|
VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
|
|
|
|
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
|
|
|
|
VK_PIPELINE_STAGE_HOST_BIT = 16384,
|
|
|
|
VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
|
|
|
|
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536,
|
|
|
|
VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 131072,
|
|
|
|
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPipelineStageFlags = VkFlags;
|
|
|
|
pub type VkMemoryMapFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkImageAspectFlagBits {
|
|
|
|
VK_IMAGE_ASPECT_COLOR_BIT = 1,
|
|
|
|
VK_IMAGE_ASPECT_DEPTH_BIT = 2,
|
|
|
|
VK_IMAGE_ASPECT_STENCIL_BIT = 4,
|
|
|
|
VK_IMAGE_ASPECT_METADATA_BIT = 8,
|
|
|
|
VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkImageAspectFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSparseImageFormatFlagBits {
|
|
|
|
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
|
|
|
|
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
|
|
|
|
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4,
|
|
|
|
VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSparseImageFormatFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSparseMemoryBindFlagBits {
|
|
|
|
VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1,
|
|
|
|
VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSparseMemoryBindFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkFenceCreateFlagBits {
|
|
|
|
VK_FENCE_CREATE_SIGNALED_BIT = 1,
|
|
|
|
VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkFenceCreateFlags = VkFlags;
|
|
|
|
pub type VkSemaphoreCreateFlags = VkFlags;
|
|
|
|
pub type VkEventCreateFlags = VkFlags;
|
|
|
|
pub type VkQueryPoolCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkQueryPipelineStatisticFlagBits {
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
|
|
|
|
= 512,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024,
|
|
|
|
VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkQueryPipelineStatisticFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkQueryResultFlagBits {
|
|
|
|
VK_QUERY_RESULT_64_BIT = 1,
|
|
|
|
VK_QUERY_RESULT_WAIT_BIT = 2,
|
|
|
|
VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4,
|
|
|
|
VK_QUERY_RESULT_PARTIAL_BIT = 8,
|
|
|
|
VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkQueryResultFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkBufferCreateFlagBits {
|
|
|
|
VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
|
|
|
|
VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
|
|
|
|
VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4,
|
|
|
|
VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkBufferCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkBufferUsageFlagBits {
|
|
|
|
VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1,
|
|
|
|
VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
|
|
|
|
VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
|
|
|
|
VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
|
|
|
|
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
|
|
|
|
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
|
|
|
|
VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
|
|
|
|
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
|
|
|
|
VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256,
|
|
|
|
VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkBufferUsageFlags = VkFlags;
|
|
|
|
pub type VkBufferViewCreateFlags = VkFlags;
|
|
|
|
pub type VkImageViewCreateFlags = VkFlags;
|
|
|
|
pub type VkShaderModuleCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineCacheCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPipelineCreateFlagBits {
|
|
|
|
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
|
|
|
|
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
|
|
|
|
VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
|
|
|
|
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = 8,
|
|
|
|
VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = 16,
|
|
|
|
VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPipelineCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineShaderStageCreateFlags = VkFlags;
|
|
|
|
pub const VkShaderStageFlagBits_VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM:
|
|
|
|
VkShaderStageFlagBits =
|
|
|
|
VkShaderStageFlagBits::VK_SHADER_STAGE_ALL;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkShaderStageFlagBits {
|
|
|
|
VK_SHADER_STAGE_VERTEX_BIT = 1,
|
|
|
|
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
|
|
|
|
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
|
|
|
|
VK_SHADER_STAGE_GEOMETRY_BIT = 8,
|
|
|
|
VK_SHADER_STAGE_FRAGMENT_BIT = 16,
|
|
|
|
VK_SHADER_STAGE_COMPUTE_BIT = 32,
|
|
|
|
VK_SHADER_STAGE_ALL_GRAPHICS = 31,
|
|
|
|
VK_SHADER_STAGE_ALL = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPipelineVertexInputStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineInputAssemblyStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineTessellationStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineViewportStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineRasterizationStateCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCullModeFlagBits {
|
|
|
|
VK_CULL_MODE_NONE = 0,
|
|
|
|
VK_CULL_MODE_FRONT_BIT = 1,
|
|
|
|
VK_CULL_MODE_BACK_BIT = 2,
|
|
|
|
VK_CULL_MODE_FRONT_AND_BACK = 3,
|
|
|
|
VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCullModeFlags = VkFlags;
|
|
|
|
pub type VkPipelineMultisampleStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineDepthStencilStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineColorBlendStateCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkColorComponentFlagBits {
|
|
|
|
VK_COLOR_COMPONENT_R_BIT = 1,
|
|
|
|
VK_COLOR_COMPONENT_G_BIT = 2,
|
|
|
|
VK_COLOR_COMPONENT_B_BIT = 4,
|
|
|
|
VK_COLOR_COMPONENT_A_BIT = 8,
|
|
|
|
VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkColorComponentFlags = VkFlags;
|
|
|
|
pub type VkPipelineDynamicStateCreateFlags = VkFlags;
|
|
|
|
pub type VkPipelineLayoutCreateFlags = VkFlags;
|
|
|
|
pub type VkShaderStageFlags = VkFlags;
|
|
|
|
pub type VkSamplerCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDescriptorSetLayoutCreateFlagBits {
|
|
|
|
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 1,
|
|
|
|
VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDescriptorSetLayoutCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDescriptorPoolCreateFlagBits {
|
|
|
|
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1,
|
|
|
|
VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDescriptorPoolCreateFlags = VkFlags;
|
|
|
|
pub type VkDescriptorPoolResetFlags = VkFlags;
|
|
|
|
pub type VkFramebufferCreateFlags = VkFlags;
|
|
|
|
pub type VkRenderPassCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkAttachmentDescriptionFlagBits {
|
|
|
|
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1,
|
|
|
|
VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkAttachmentDescriptionFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSubpassDescriptionFlagBits {
|
|
|
|
VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 1,
|
|
|
|
VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2,
|
|
|
|
VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSubpassDescriptionFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkAccessFlagBits {
|
|
|
|
VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1,
|
|
|
|
VK_ACCESS_INDEX_READ_BIT = 2,
|
|
|
|
VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4,
|
|
|
|
VK_ACCESS_UNIFORM_READ_BIT = 8,
|
|
|
|
VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16,
|
|
|
|
VK_ACCESS_SHADER_READ_BIT = 32,
|
|
|
|
VK_ACCESS_SHADER_WRITE_BIT = 64,
|
|
|
|
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
|
|
|
|
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
|
|
|
|
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
|
|
|
|
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
|
|
|
|
VK_ACCESS_TRANSFER_READ_BIT = 2048,
|
|
|
|
VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
|
|
|
|
VK_ACCESS_HOST_READ_BIT = 8192,
|
|
|
|
VK_ACCESS_HOST_WRITE_BIT = 16384,
|
|
|
|
VK_ACCESS_MEMORY_READ_BIT = 32768,
|
|
|
|
VK_ACCESS_MEMORY_WRITE_BIT = 65536,
|
|
|
|
VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 131072,
|
|
|
|
VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 262144,
|
|
|
|
VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkAccessFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDependencyFlagBits {
|
|
|
|
VK_DEPENDENCY_BY_REGION_BIT = 1,
|
|
|
|
VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = 2,
|
|
|
|
VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = 4,
|
|
|
|
VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDependencyFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCommandPoolCreateFlagBits {
|
|
|
|
VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
|
|
|
|
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
|
|
|
|
VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCommandPoolCreateFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCommandPoolResetFlagBits {
|
|
|
|
VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1,
|
|
|
|
VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCommandPoolResetFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCommandBufferUsageFlagBits {
|
|
|
|
VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
|
|
|
|
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
|
|
|
|
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4,
|
|
|
|
VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCommandBufferUsageFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkQueryControlFlagBits {
|
|
|
|
VK_QUERY_CONTROL_PRECISE_BIT = 1,
|
|
|
|
VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkQueryControlFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCommandBufferResetFlagBits {
|
|
|
|
VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1,
|
|
|
|
VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCommandBufferResetFlags = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkStencilFaceFlagBits {
|
|
|
|
VK_STENCIL_FACE_FRONT_BIT = 1,
|
|
|
|
VK_STENCIL_FACE_BACK_BIT = 2,
|
|
|
|
VK_STENCIL_FRONT_AND_BACK = 3,
|
|
|
|
VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkStencilFaceFlags = VkFlags;
|
|
|
|
pub type PFN_vkAllocationFunction =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pUserData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
size: usize, alignment: usize,
|
|
|
|
allocationScope:
|
|
|
|
VkSystemAllocationScope)
|
|
|
|
-> *mut ::std::os::raw::c_void>;
|
|
|
|
pub type PFN_vkReallocationFunction =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pUserData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
pOriginal:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
size: usize, alignment: usize,
|
|
|
|
allocationScope:
|
|
|
|
VkSystemAllocationScope)
|
|
|
|
-> *mut ::std::os::raw::c_void>;
|
|
|
|
pub type PFN_vkFreeFunction =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pUserData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
pMemory:
|
|
|
|
*mut ::std::os::raw::c_void)>;
|
|
|
|
pub type PFN_vkInternalAllocationNotification =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pUserData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
size: usize,
|
|
|
|
allocationType:
|
|
|
|
VkInternalAllocationType,
|
|
|
|
allocationScope:
|
|
|
|
VkSystemAllocationScope)>;
|
|
|
|
pub type PFN_vkInternalFreeNotification =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pUserData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
size: usize,
|
|
|
|
allocationType:
|
|
|
|
VkInternalAllocationType,
|
|
|
|
allocationScope:
|
|
|
|
VkSystemAllocationScope)>;
|
|
|
|
pub type PFN_vkVoidFunction = ::std::option::Option<unsafe extern "C" fn()>;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkApplicationInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub pApplicationName: *const ::std::os::raw::c_char,
|
|
|
|
pub applicationVersion: u32,
|
|
|
|
pub pEngineName: *const ::std::os::raw::c_char,
|
|
|
|
pub engineVersion: u32,
|
|
|
|
pub apiVersion: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkApplicationInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkInstanceCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkInstanceCreateFlags,
|
|
|
|
pub pApplicationInfo: *const VkApplicationInfo,
|
|
|
|
pub enabledLayerCount: u32,
|
|
|
|
pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
|
|
|
|
pub enabledExtensionCount: u32,
|
|
|
|
pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
|
|
|
|
}
|
|
|
|
impl Clone for VkInstanceCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkAllocationCallbacks {
|
|
|
|
pub pUserData: *mut ::std::os::raw::c_void,
|
|
|
|
pub pfnAllocation: PFN_vkAllocationFunction,
|
|
|
|
pub pfnReallocation: PFN_vkReallocationFunction,
|
|
|
|
pub pfnFree: PFN_vkFreeFunction,
|
|
|
|
pub pfnInternalAllocation: PFN_vkInternalAllocationNotification,
|
|
|
|
pub pfnInternalFree: PFN_vkInternalFreeNotification,
|
|
|
|
}
|
|
|
|
impl Clone for VkAllocationCallbacks {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceFeatures {
|
|
|
|
pub robustBufferAccess: VkBool32,
|
|
|
|
pub fullDrawIndexUint32: VkBool32,
|
|
|
|
pub imageCubeArray: VkBool32,
|
|
|
|
pub independentBlend: VkBool32,
|
|
|
|
pub geometryShader: VkBool32,
|
|
|
|
pub tessellationShader: VkBool32,
|
|
|
|
pub sampleRateShading: VkBool32,
|
|
|
|
pub dualSrcBlend: VkBool32,
|
|
|
|
pub logicOp: VkBool32,
|
|
|
|
pub multiDrawIndirect: VkBool32,
|
|
|
|
pub drawIndirectFirstInstance: VkBool32,
|
|
|
|
pub depthClamp: VkBool32,
|
|
|
|
pub depthBiasClamp: VkBool32,
|
|
|
|
pub fillModeNonSolid: VkBool32,
|
|
|
|
pub depthBounds: VkBool32,
|
|
|
|
pub wideLines: VkBool32,
|
|
|
|
pub largePoints: VkBool32,
|
|
|
|
pub alphaToOne: VkBool32,
|
|
|
|
pub multiViewport: VkBool32,
|
|
|
|
pub samplerAnisotropy: VkBool32,
|
|
|
|
pub textureCompressionETC2: VkBool32,
|
|
|
|
pub textureCompressionASTC_LDR: VkBool32,
|
|
|
|
pub textureCompressionBC: VkBool32,
|
|
|
|
pub occlusionQueryPrecise: VkBool32,
|
|
|
|
pub pipelineStatisticsQuery: VkBool32,
|
|
|
|
pub vertexPipelineStoresAndAtomics: VkBool32,
|
|
|
|
pub fragmentStoresAndAtomics: VkBool32,
|
|
|
|
pub shaderTessellationAndGeometryPointSize: VkBool32,
|
|
|
|
pub shaderImageGatherExtended: VkBool32,
|
|
|
|
pub shaderStorageImageExtendedFormats: VkBool32,
|
|
|
|
pub shaderStorageImageMultisample: VkBool32,
|
|
|
|
pub shaderStorageImageReadWithoutFormat: VkBool32,
|
|
|
|
pub shaderStorageImageWriteWithoutFormat: VkBool32,
|
|
|
|
pub shaderUniformBufferArrayDynamicIndexing: VkBool32,
|
|
|
|
pub shaderSampledImageArrayDynamicIndexing: VkBool32,
|
|
|
|
pub shaderStorageBufferArrayDynamicIndexing: VkBool32,
|
|
|
|
pub shaderStorageImageArrayDynamicIndexing: VkBool32,
|
|
|
|
pub shaderClipDistance: VkBool32,
|
|
|
|
pub shaderCullDistance: VkBool32,
|
|
|
|
pub shaderFloat64: VkBool32,
|
|
|
|
pub shaderInt64: VkBool32,
|
|
|
|
pub shaderInt16: VkBool32,
|
|
|
|
pub shaderResourceResidency: VkBool32,
|
|
|
|
pub shaderResourceMinLod: VkBool32,
|
|
|
|
pub sparseBinding: VkBool32,
|
|
|
|
pub sparseResidencyBuffer: VkBool32,
|
|
|
|
pub sparseResidencyImage2D: VkBool32,
|
|
|
|
pub sparseResidencyImage3D: VkBool32,
|
|
|
|
pub sparseResidency2Samples: VkBool32,
|
|
|
|
pub sparseResidency4Samples: VkBool32,
|
|
|
|
pub sparseResidency8Samples: VkBool32,
|
|
|
|
pub sparseResidency16Samples: VkBool32,
|
|
|
|
pub sparseResidencyAliased: VkBool32,
|
|
|
|
pub variableMultisampleRate: VkBool32,
|
|
|
|
pub inheritedQueries: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceFeatures {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkFormatProperties {
|
|
|
|
pub linearTilingFeatures: VkFormatFeatureFlags,
|
|
|
|
pub optimalTilingFeatures: VkFormatFeatureFlags,
|
|
|
|
pub bufferFeatures: VkFormatFeatureFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkFormatProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExtent3D {
|
|
|
|
pub width: u32,
|
|
|
|
pub height: u32,
|
|
|
|
pub depth: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkExtent3D {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageFormatProperties {
|
|
|
|
pub maxExtent: VkExtent3D,
|
|
|
|
pub maxMipLevels: u32,
|
|
|
|
pub maxArrayLayers: u32,
|
|
|
|
pub sampleCounts: VkSampleCountFlags,
|
|
|
|
pub maxResourceSize: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageFormatProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceLimits {
|
|
|
|
pub maxImageDimension1D: u32,
|
|
|
|
pub maxImageDimension2D: u32,
|
|
|
|
pub maxImageDimension3D: u32,
|
|
|
|
pub maxImageDimensionCube: u32,
|
|
|
|
pub maxImageArrayLayers: u32,
|
|
|
|
pub maxTexelBufferElements: u32,
|
|
|
|
pub maxUniformBufferRange: u32,
|
|
|
|
pub maxStorageBufferRange: u32,
|
|
|
|
pub maxPushConstantsSize: u32,
|
|
|
|
pub maxMemoryAllocationCount: u32,
|
|
|
|
pub maxSamplerAllocationCount: u32,
|
|
|
|
pub bufferImageGranularity: VkDeviceSize,
|
|
|
|
pub sparseAddressSpaceSize: VkDeviceSize,
|
|
|
|
pub maxBoundDescriptorSets: u32,
|
|
|
|
pub maxPerStageDescriptorSamplers: u32,
|
|
|
|
pub maxPerStageDescriptorUniformBuffers: u32,
|
|
|
|
pub maxPerStageDescriptorStorageBuffers: u32,
|
|
|
|
pub maxPerStageDescriptorSampledImages: u32,
|
|
|
|
pub maxPerStageDescriptorStorageImages: u32,
|
|
|
|
pub maxPerStageDescriptorInputAttachments: u32,
|
|
|
|
pub maxPerStageResources: u32,
|
|
|
|
pub maxDescriptorSetSamplers: u32,
|
|
|
|
pub maxDescriptorSetUniformBuffers: u32,
|
|
|
|
pub maxDescriptorSetUniformBuffersDynamic: u32,
|
|
|
|
pub maxDescriptorSetStorageBuffers: u32,
|
|
|
|
pub maxDescriptorSetStorageBuffersDynamic: u32,
|
|
|
|
pub maxDescriptorSetSampledImages: u32,
|
|
|
|
pub maxDescriptorSetStorageImages: u32,
|
|
|
|
pub maxDescriptorSetInputAttachments: u32,
|
|
|
|
pub maxVertexInputAttributes: u32,
|
|
|
|
pub maxVertexInputBindings: u32,
|
|
|
|
pub maxVertexInputAttributeOffset: u32,
|
|
|
|
pub maxVertexInputBindingStride: u32,
|
|
|
|
pub maxVertexOutputComponents: u32,
|
|
|
|
pub maxTessellationGenerationLevel: u32,
|
|
|
|
pub maxTessellationPatchSize: u32,
|
|
|
|
pub maxTessellationControlPerVertexInputComponents: u32,
|
|
|
|
pub maxTessellationControlPerVertexOutputComponents: u32,
|
|
|
|
pub maxTessellationControlPerPatchOutputComponents: u32,
|
|
|
|
pub maxTessellationControlTotalOutputComponents: u32,
|
|
|
|
pub maxTessellationEvaluationInputComponents: u32,
|
|
|
|
pub maxTessellationEvaluationOutputComponents: u32,
|
|
|
|
pub maxGeometryShaderInvocations: u32,
|
|
|
|
pub maxGeometryInputComponents: u32,
|
|
|
|
pub maxGeometryOutputComponents: u32,
|
|
|
|
pub maxGeometryOutputVertices: u32,
|
|
|
|
pub maxGeometryTotalOutputComponents: u32,
|
|
|
|
pub maxFragmentInputComponents: u32,
|
|
|
|
pub maxFragmentOutputAttachments: u32,
|
|
|
|
pub maxFragmentDualSrcAttachments: u32,
|
|
|
|
pub maxFragmentCombinedOutputResources: u32,
|
|
|
|
pub maxComputeSharedMemorySize: u32,
|
|
|
|
pub maxComputeWorkGroupCount: [u32; 3usize],
|
|
|
|
pub maxComputeWorkGroupInvocations: u32,
|
|
|
|
pub maxComputeWorkGroupSize: [u32; 3usize],
|
|
|
|
pub subPixelPrecisionBits: u32,
|
|
|
|
pub subTexelPrecisionBits: u32,
|
|
|
|
pub mipmapPrecisionBits: u32,
|
|
|
|
pub maxDrawIndexedIndexValue: u32,
|
|
|
|
pub maxDrawIndirectCount: u32,
|
|
|
|
pub maxSamplerLodBias: f32,
|
|
|
|
pub maxSamplerAnisotropy: f32,
|
|
|
|
pub maxViewports: u32,
|
|
|
|
pub maxViewportDimensions: [u32; 2usize],
|
|
|
|
pub viewportBoundsRange: [f32; 2usize],
|
|
|
|
pub viewportSubPixelBits: u32,
|
|
|
|
pub minMemoryMapAlignment: usize,
|
|
|
|
pub minTexelBufferOffsetAlignment: VkDeviceSize,
|
|
|
|
pub minUniformBufferOffsetAlignment: VkDeviceSize,
|
|
|
|
pub minStorageBufferOffsetAlignment: VkDeviceSize,
|
|
|
|
pub minTexelOffset: i32,
|
|
|
|
pub maxTexelOffset: u32,
|
|
|
|
pub minTexelGatherOffset: i32,
|
|
|
|
pub maxTexelGatherOffset: u32,
|
|
|
|
pub minInterpolationOffset: f32,
|
|
|
|
pub maxInterpolationOffset: f32,
|
|
|
|
pub subPixelInterpolationOffsetBits: u32,
|
|
|
|
pub maxFramebufferWidth: u32,
|
|
|
|
pub maxFramebufferHeight: u32,
|
|
|
|
pub maxFramebufferLayers: u32,
|
|
|
|
pub framebufferColorSampleCounts: VkSampleCountFlags,
|
|
|
|
pub framebufferDepthSampleCounts: VkSampleCountFlags,
|
|
|
|
pub framebufferStencilSampleCounts: VkSampleCountFlags,
|
|
|
|
pub framebufferNoAttachmentsSampleCounts: VkSampleCountFlags,
|
|
|
|
pub maxColorAttachments: u32,
|
|
|
|
pub sampledImageColorSampleCounts: VkSampleCountFlags,
|
|
|
|
pub sampledImageIntegerSampleCounts: VkSampleCountFlags,
|
|
|
|
pub sampledImageDepthSampleCounts: VkSampleCountFlags,
|
|
|
|
pub sampledImageStencilSampleCounts: VkSampleCountFlags,
|
|
|
|
pub storageImageSampleCounts: VkSampleCountFlags,
|
|
|
|
pub maxSampleMaskWords: u32,
|
|
|
|
pub timestampComputeAndGraphics: VkBool32,
|
|
|
|
pub timestampPeriod: f32,
|
|
|
|
pub maxClipDistances: u32,
|
|
|
|
pub maxCullDistances: u32,
|
|
|
|
pub maxCombinedClipAndCullDistances: u32,
|
|
|
|
pub discreteQueuePriorities: u32,
|
|
|
|
pub pointSizeRange: [f32; 2usize],
|
|
|
|
pub lineWidthRange: [f32; 2usize],
|
|
|
|
pub pointSizeGranularity: f32,
|
|
|
|
pub lineWidthGranularity: f32,
|
|
|
|
pub strictLines: VkBool32,
|
|
|
|
pub standardSampleLocations: VkBool32,
|
|
|
|
pub optimalBufferCopyOffsetAlignment: VkDeviceSize,
|
|
|
|
pub optimalBufferCopyRowPitchAlignment: VkDeviceSize,
|
|
|
|
pub nonCoherentAtomSize: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceLimits {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceSparseProperties {
|
|
|
|
pub residencyStandard2DBlockShape: VkBool32,
|
|
|
|
pub residencyStandard2DMultisampleBlockShape: VkBool32,
|
|
|
|
pub residencyStandard3DBlockShape: VkBool32,
|
|
|
|
pub residencyAlignedMipSize: VkBool32,
|
|
|
|
pub residencyNonResidentStrict: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceSparseProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkPhysicalDeviceProperties {
|
|
|
|
pub apiVersion: u32,
|
|
|
|
pub driverVersion: u32,
|
|
|
|
pub vendorID: u32,
|
|
|
|
pub deviceID: u32,
|
|
|
|
pub deviceType: VkPhysicalDeviceType,
|
|
|
|
pub deviceName: [::std::os::raw::c_char; 256usize],
|
|
|
|
pub pipelineCacheUUID: [u8; 16usize],
|
|
|
|
pub limits: VkPhysicalDeviceLimits,
|
|
|
|
pub sparseProperties: VkPhysicalDeviceSparseProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkQueueFamilyProperties {
|
|
|
|
pub queueFlags: VkQueueFlags,
|
|
|
|
pub queueCount: u32,
|
|
|
|
pub timestampValidBits: u32,
|
|
|
|
pub minImageTransferGranularity: VkExtent3D,
|
|
|
|
}
|
|
|
|
impl Clone for VkQueueFamilyProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryType {
|
|
|
|
pub propertyFlags: VkMemoryPropertyFlags,
|
|
|
|
pub heapIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryType {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryHeap {
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
pub flags: VkMemoryHeapFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryHeap {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceMemoryProperties {
|
|
|
|
pub memoryTypeCount: u32,
|
|
|
|
pub memoryTypes: [VkMemoryType; 32usize],
|
|
|
|
pub memoryHeapCount: u32,
|
|
|
|
pub memoryHeaps: [VkMemoryHeap; 16usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceMemoryProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceQueueCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDeviceQueueCreateFlags,
|
|
|
|
pub queueFamilyIndex: u32,
|
|
|
|
pub queueCount: u32,
|
|
|
|
pub pQueuePriorities: *const f32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceQueueCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDeviceCreateFlags,
|
|
|
|
pub queueCreateInfoCount: u32,
|
|
|
|
pub pQueueCreateInfos: *const VkDeviceQueueCreateInfo,
|
|
|
|
pub enabledLayerCount: u32,
|
|
|
|
pub ppEnabledLayerNames: *const *const ::std::os::raw::c_char,
|
|
|
|
pub enabledExtensionCount: u32,
|
|
|
|
pub ppEnabledExtensionNames: *const *const ::std::os::raw::c_char,
|
|
|
|
pub pEnabledFeatures: *const VkPhysicalDeviceFeatures,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkExtensionProperties {
|
|
|
|
pub extensionName: [::std::os::raw::c_char; 256usize],
|
|
|
|
pub specVersion: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkExtensionProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkLayerProperties {
|
|
|
|
pub layerName: [::std::os::raw::c_char; 256usize],
|
|
|
|
pub specVersion: u32,
|
|
|
|
pub implementationVersion: u32,
|
|
|
|
pub description: [::std::os::raw::c_char; 256usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkLayerProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSubmitInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub waitSemaphoreCount: u32,
|
|
|
|
pub pWaitSemaphores: *const VkSemaphore,
|
|
|
|
pub pWaitDstStageMask: *const VkPipelineStageFlags,
|
|
|
|
pub commandBufferCount: u32,
|
|
|
|
pub pCommandBuffers: *const VkCommandBuffer,
|
|
|
|
pub signalSemaphoreCount: u32,
|
|
|
|
pub pSignalSemaphores: *const VkSemaphore,
|
|
|
|
}
|
|
|
|
impl Clone for VkSubmitInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryAllocateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub allocationSize: VkDeviceSize,
|
|
|
|
pub memoryTypeIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryAllocateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMappedMemoryRange {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub memory: VkDeviceMemory,
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkMappedMemoryRange {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryRequirements {
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
pub alignment: VkDeviceSize,
|
|
|
|
pub memoryTypeBits: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryRequirements {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageFormatProperties {
|
|
|
|
pub aspectMask: VkImageAspectFlags,
|
|
|
|
pub imageGranularity: VkExtent3D,
|
|
|
|
pub flags: VkSparseImageFormatFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageFormatProperties {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageMemoryRequirements {
|
|
|
|
pub formatProperties: VkSparseImageFormatProperties,
|
|
|
|
pub imageMipTailFirstLod: u32,
|
|
|
|
pub imageMipTailSize: VkDeviceSize,
|
|
|
|
pub imageMipTailOffset: VkDeviceSize,
|
|
|
|
pub imageMipTailStride: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageMemoryRequirements {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseMemoryBind {
|
|
|
|
pub resourceOffset: VkDeviceSize,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
pub memory: VkDeviceMemory,
|
|
|
|
pub memoryOffset: VkDeviceSize,
|
|
|
|
pub flags: VkSparseMemoryBindFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseMemoryBind {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseBufferMemoryBindInfo {
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub bindCount: u32,
|
|
|
|
pub pBinds: *const VkSparseMemoryBind,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseBufferMemoryBindInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageOpaqueMemoryBindInfo {
|
|
|
|
pub image: VkImage,
|
|
|
|
pub bindCount: u32,
|
|
|
|
pub pBinds: *const VkSparseMemoryBind,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageOpaqueMemoryBindInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageSubresource {
|
|
|
|
pub aspectMask: VkImageAspectFlags,
|
|
|
|
pub mipLevel: u32,
|
|
|
|
pub arrayLayer: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageSubresource {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkOffset3D {
|
|
|
|
pub x: i32,
|
|
|
|
pub y: i32,
|
|
|
|
pub z: i32,
|
|
|
|
}
|
|
|
|
impl Clone for VkOffset3D {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageMemoryBind {
|
|
|
|
pub subresource: VkImageSubresource,
|
|
|
|
pub offset: VkOffset3D,
|
|
|
|
pub extent: VkExtent3D,
|
|
|
|
pub memory: VkDeviceMemory,
|
|
|
|
pub memoryOffset: VkDeviceSize,
|
|
|
|
pub flags: VkSparseMemoryBindFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageMemoryBind {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageMemoryBindInfo {
|
|
|
|
pub image: VkImage,
|
|
|
|
pub bindCount: u32,
|
|
|
|
pub pBinds: *const VkSparseImageMemoryBind,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageMemoryBindInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBindSparseInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub waitSemaphoreCount: u32,
|
|
|
|
pub pWaitSemaphores: *const VkSemaphore,
|
|
|
|
pub bufferBindCount: u32,
|
|
|
|
pub pBufferBinds: *const VkSparseBufferMemoryBindInfo,
|
|
|
|
pub imageOpaqueBindCount: u32,
|
|
|
|
pub pImageOpaqueBinds: *const VkSparseImageOpaqueMemoryBindInfo,
|
|
|
|
pub imageBindCount: u32,
|
|
|
|
pub pImageBinds: *const VkSparseImageMemoryBindInfo,
|
|
|
|
pub signalSemaphoreCount: u32,
|
|
|
|
pub pSignalSemaphores: *const VkSemaphore,
|
|
|
|
}
|
|
|
|
impl Clone for VkBindSparseInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkFenceCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkFenceCreateFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkFenceCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSemaphoreCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkSemaphoreCreateFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSemaphoreCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkEventCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkEventCreateFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkEventCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkQueryPoolCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkQueryPoolCreateFlags,
|
|
|
|
pub queryType: VkQueryType,
|
|
|
|
pub queryCount: u32,
|
|
|
|
pub pipelineStatistics: VkQueryPipelineStatisticFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkQueryPoolCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBufferCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkBufferCreateFlags,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
pub usage: VkBufferUsageFlags,
|
|
|
|
pub sharingMode: VkSharingMode,
|
|
|
|
pub queueFamilyIndexCount: u32,
|
|
|
|
pub pQueueFamilyIndices: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkBufferCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBufferViewCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkBufferViewCreateFlags,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
pub range: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkBufferViewCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkImageCreateFlags,
|
|
|
|
pub imageType: VkImageType,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub extent: VkExtent3D,
|
|
|
|
pub mipLevels: u32,
|
|
|
|
pub arrayLayers: u32,
|
|
|
|
pub samples: VkSampleCountFlagBits,
|
|
|
|
pub tiling: VkImageTiling,
|
|
|
|
pub usage: VkImageUsageFlags,
|
|
|
|
pub sharingMode: VkSharingMode,
|
|
|
|
pub queueFamilyIndexCount: u32,
|
|
|
|
pub pQueueFamilyIndices: *const u32,
|
|
|
|
pub initialLayout: VkImageLayout,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSubresourceLayout {
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
pub rowPitch: VkDeviceSize,
|
|
|
|
pub arrayPitch: VkDeviceSize,
|
|
|
|
pub depthPitch: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkSubresourceLayout {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkComponentMapping {
|
|
|
|
pub r: VkComponentSwizzle,
|
|
|
|
pub g: VkComponentSwizzle,
|
|
|
|
pub b: VkComponentSwizzle,
|
|
|
|
pub a: VkComponentSwizzle,
|
|
|
|
}
|
|
|
|
impl Clone for VkComponentMapping {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageSubresourceRange {
|
|
|
|
pub aspectMask: VkImageAspectFlags,
|
|
|
|
pub baseMipLevel: u32,
|
|
|
|
pub levelCount: u32,
|
|
|
|
pub baseArrayLayer: u32,
|
|
|
|
pub layerCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageSubresourceRange {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageViewCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkImageViewCreateFlags,
|
|
|
|
pub image: VkImage,
|
|
|
|
pub viewType: VkImageViewType,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub components: VkComponentMapping,
|
|
|
|
pub subresourceRange: VkImageSubresourceRange,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageViewCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkShaderModuleCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkShaderModuleCreateFlags,
|
|
|
|
pub codeSize: usize,
|
|
|
|
pub pCode: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkShaderModuleCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineCacheCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineCacheCreateFlags,
|
|
|
|
pub initialDataSize: usize,
|
|
|
|
pub pInitialData: *const ::std::os::raw::c_void,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineCacheCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSpecializationMapEntry {
|
|
|
|
pub constantID: u32,
|
|
|
|
pub offset: u32,
|
|
|
|
pub size: usize,
|
|
|
|
}
|
|
|
|
impl Clone for VkSpecializationMapEntry {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSpecializationInfo {
|
|
|
|
pub mapEntryCount: u32,
|
|
|
|
pub pMapEntries: *const VkSpecializationMapEntry,
|
|
|
|
pub dataSize: usize,
|
|
|
|
pub pData: *const ::std::os::raw::c_void,
|
|
|
|
}
|
|
|
|
impl Clone for VkSpecializationInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineShaderStageCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineShaderStageCreateFlags,
|
|
|
|
pub stage: VkShaderStageFlagBits,
|
|
|
|
pub module: VkShaderModule,
|
|
|
|
pub pName: *const ::std::os::raw::c_char,
|
|
|
|
pub pSpecializationInfo: *const VkSpecializationInfo,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineShaderStageCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkVertexInputBindingDescription {
|
|
|
|
pub binding: u32,
|
|
|
|
pub stride: u32,
|
|
|
|
pub inputRate: VkVertexInputRate,
|
|
|
|
}
|
|
|
|
impl Clone for VkVertexInputBindingDescription {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkVertexInputAttributeDescription {
|
|
|
|
pub location: u32,
|
|
|
|
pub binding: u32,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub offset: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkVertexInputAttributeDescription {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineVertexInputStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineVertexInputStateCreateFlags,
|
|
|
|
pub vertexBindingDescriptionCount: u32,
|
|
|
|
pub pVertexBindingDescriptions: *const VkVertexInputBindingDescription,
|
|
|
|
pub vertexAttributeDescriptionCount: u32,
|
|
|
|
pub pVertexAttributeDescriptions: *const VkVertexInputAttributeDescription,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineVertexInputStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineInputAssemblyStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineInputAssemblyStateCreateFlags,
|
|
|
|
pub topology: VkPrimitiveTopology,
|
|
|
|
pub primitiveRestartEnable: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineInputAssemblyStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineTessellationStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineTessellationStateCreateFlags,
|
|
|
|
pub patchControlPoints: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineTessellationStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkViewport {
|
|
|
|
pub x: f32,
|
|
|
|
pub y: f32,
|
|
|
|
pub width: f32,
|
|
|
|
pub height: f32,
|
|
|
|
pub minDepth: f32,
|
|
|
|
pub maxDepth: f32,
|
|
|
|
}
|
|
|
|
impl Clone for VkViewport {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkOffset2D {
|
|
|
|
pub x: i32,
|
|
|
|
pub y: i32,
|
|
|
|
}
|
|
|
|
impl Clone for VkOffset2D {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExtent2D {
|
|
|
|
pub width: u32,
|
|
|
|
pub height: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkExtent2D {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkRect2D {
|
|
|
|
pub offset: VkOffset2D,
|
|
|
|
pub extent: VkExtent2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkRect2D {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineViewportStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineViewportStateCreateFlags,
|
|
|
|
pub viewportCount: u32,
|
|
|
|
pub pViewports: *const VkViewport,
|
|
|
|
pub scissorCount: u32,
|
|
|
|
pub pScissors: *const VkRect2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineViewportStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineRasterizationStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineRasterizationStateCreateFlags,
|
|
|
|
pub depthClampEnable: VkBool32,
|
|
|
|
pub rasterizerDiscardEnable: VkBool32,
|
|
|
|
pub polygonMode: VkPolygonMode,
|
|
|
|
pub cullMode: VkCullModeFlags,
|
|
|
|
pub frontFace: VkFrontFace,
|
|
|
|
pub depthBiasEnable: VkBool32,
|
|
|
|
pub depthBiasConstantFactor: f32,
|
|
|
|
pub depthBiasClamp: f32,
|
|
|
|
pub depthBiasSlopeFactor: f32,
|
|
|
|
pub lineWidth: f32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineRasterizationStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineMultisampleStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineMultisampleStateCreateFlags,
|
|
|
|
pub rasterizationSamples: VkSampleCountFlagBits,
|
|
|
|
pub sampleShadingEnable: VkBool32,
|
|
|
|
pub minSampleShading: f32,
|
|
|
|
pub pSampleMask: *const VkSampleMask,
|
|
|
|
pub alphaToCoverageEnable: VkBool32,
|
|
|
|
pub alphaToOneEnable: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineMultisampleStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkStencilOpState {
|
|
|
|
pub failOp: VkStencilOp,
|
|
|
|
pub passOp: VkStencilOp,
|
|
|
|
pub depthFailOp: VkStencilOp,
|
|
|
|
pub compareOp: VkCompareOp,
|
|
|
|
pub compareMask: u32,
|
|
|
|
pub writeMask: u32,
|
|
|
|
pub reference: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkStencilOpState {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineDepthStencilStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineDepthStencilStateCreateFlags,
|
|
|
|
pub depthTestEnable: VkBool32,
|
|
|
|
pub depthWriteEnable: VkBool32,
|
|
|
|
pub depthCompareOp: VkCompareOp,
|
|
|
|
pub depthBoundsTestEnable: VkBool32,
|
|
|
|
pub stencilTestEnable: VkBool32,
|
|
|
|
pub front: VkStencilOpState,
|
|
|
|
pub back: VkStencilOpState,
|
|
|
|
pub minDepthBounds: f32,
|
|
|
|
pub maxDepthBounds: f32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineDepthStencilStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineColorBlendAttachmentState {
|
|
|
|
pub blendEnable: VkBool32,
|
|
|
|
pub srcColorBlendFactor: VkBlendFactor,
|
|
|
|
pub dstColorBlendFactor: VkBlendFactor,
|
|
|
|
pub colorBlendOp: VkBlendOp,
|
|
|
|
pub srcAlphaBlendFactor: VkBlendFactor,
|
|
|
|
pub dstAlphaBlendFactor: VkBlendFactor,
|
|
|
|
pub alphaBlendOp: VkBlendOp,
|
|
|
|
pub colorWriteMask: VkColorComponentFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineColorBlendAttachmentState {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineColorBlendStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineColorBlendStateCreateFlags,
|
|
|
|
pub logicOpEnable: VkBool32,
|
|
|
|
pub logicOp: VkLogicOp,
|
|
|
|
pub attachmentCount: u32,
|
|
|
|
pub pAttachments: *const VkPipelineColorBlendAttachmentState,
|
|
|
|
pub blendConstants: [f32; 4usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineColorBlendStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineDynamicStateCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineDynamicStateCreateFlags,
|
|
|
|
pub dynamicStateCount: u32,
|
|
|
|
pub pDynamicStates: *const VkDynamicState,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineDynamicStateCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkGraphicsPipelineCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineCreateFlags,
|
|
|
|
pub stageCount: u32,
|
|
|
|
pub pStages: *const VkPipelineShaderStageCreateInfo,
|
|
|
|
pub pVertexInputState: *const VkPipelineVertexInputStateCreateInfo,
|
|
|
|
pub pInputAssemblyState: *const VkPipelineInputAssemblyStateCreateInfo,
|
|
|
|
pub pTessellationState: *const VkPipelineTessellationStateCreateInfo,
|
|
|
|
pub pViewportState: *const VkPipelineViewportStateCreateInfo,
|
|
|
|
pub pRasterizationState: *const VkPipelineRasterizationStateCreateInfo,
|
|
|
|
pub pMultisampleState: *const VkPipelineMultisampleStateCreateInfo,
|
|
|
|
pub pDepthStencilState: *const VkPipelineDepthStencilStateCreateInfo,
|
|
|
|
pub pColorBlendState: *const VkPipelineColorBlendStateCreateInfo,
|
|
|
|
pub pDynamicState: *const VkPipelineDynamicStateCreateInfo,
|
|
|
|
pub layout: VkPipelineLayout,
|
|
|
|
pub renderPass: VkRenderPass,
|
|
|
|
pub subpass: u32,
|
|
|
|
pub basePipelineHandle: VkPipeline,
|
|
|
|
pub basePipelineIndex: i32,
|
|
|
|
}
|
|
|
|
impl Clone for VkGraphicsPipelineCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkComputePipelineCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineCreateFlags,
|
|
|
|
pub stage: VkPipelineShaderStageCreateInfo,
|
|
|
|
pub layout: VkPipelineLayout,
|
|
|
|
pub basePipelineHandle: VkPipeline,
|
|
|
|
pub basePipelineIndex: i32,
|
|
|
|
}
|
|
|
|
impl Clone for VkComputePipelineCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPushConstantRange {
|
|
|
|
pub stageFlags: VkShaderStageFlags,
|
|
|
|
pub offset: u32,
|
|
|
|
pub size: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPushConstantRange {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineLayoutCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineLayoutCreateFlags,
|
|
|
|
pub setLayoutCount: u32,
|
|
|
|
pub pSetLayouts: *const VkDescriptorSetLayout,
|
|
|
|
pub pushConstantRangeCount: u32,
|
|
|
|
pub pPushConstantRanges: *const VkPushConstantRange,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineLayoutCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSamplerCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkSamplerCreateFlags,
|
|
|
|
pub magFilter: VkFilter,
|
|
|
|
pub minFilter: VkFilter,
|
|
|
|
pub mipmapMode: VkSamplerMipmapMode,
|
|
|
|
pub addressModeU: VkSamplerAddressMode,
|
|
|
|
pub addressModeV: VkSamplerAddressMode,
|
|
|
|
pub addressModeW: VkSamplerAddressMode,
|
|
|
|
pub mipLodBias: f32,
|
|
|
|
pub anisotropyEnable: VkBool32,
|
|
|
|
pub maxAnisotropy: f32,
|
|
|
|
pub compareEnable: VkBool32,
|
|
|
|
pub compareOp: VkCompareOp,
|
|
|
|
pub minLod: f32,
|
|
|
|
pub maxLod: f32,
|
|
|
|
pub borderColor: VkBorderColor,
|
|
|
|
pub unnormalizedCoordinates: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkSamplerCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorSetLayoutBinding {
|
|
|
|
pub binding: u32,
|
|
|
|
pub descriptorType: VkDescriptorType,
|
|
|
|
pub descriptorCount: u32,
|
|
|
|
pub stageFlags: VkShaderStageFlags,
|
|
|
|
pub pImmutableSamplers: *const VkSampler,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorSetLayoutBinding {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorSetLayoutCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDescriptorSetLayoutCreateFlags,
|
|
|
|
pub bindingCount: u32,
|
|
|
|
pub pBindings: *const VkDescriptorSetLayoutBinding,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorSetLayoutCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorPoolSize {
|
|
|
|
pub type_: VkDescriptorType,
|
|
|
|
pub descriptorCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorPoolSize {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorPoolCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDescriptorPoolCreateFlags,
|
|
|
|
pub maxSets: u32,
|
|
|
|
pub poolSizeCount: u32,
|
|
|
|
pub pPoolSizes: *const VkDescriptorPoolSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorPoolCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorSetAllocateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub descriptorPool: VkDescriptorPool,
|
|
|
|
pub descriptorSetCount: u32,
|
|
|
|
pub pSetLayouts: *const VkDescriptorSetLayout,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorSetAllocateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorImageInfo {
|
|
|
|
pub sampler: VkSampler,
|
|
|
|
pub imageView: VkImageView,
|
|
|
|
pub imageLayout: VkImageLayout,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorImageInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorBufferInfo {
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
pub range: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorBufferInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkWriteDescriptorSet {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub dstSet: VkDescriptorSet,
|
|
|
|
pub dstBinding: u32,
|
|
|
|
pub dstArrayElement: u32,
|
|
|
|
pub descriptorCount: u32,
|
|
|
|
pub descriptorType: VkDescriptorType,
|
|
|
|
pub pImageInfo: *const VkDescriptorImageInfo,
|
|
|
|
pub pBufferInfo: *const VkDescriptorBufferInfo,
|
|
|
|
pub pTexelBufferView: *const VkBufferView,
|
|
|
|
}
|
|
|
|
impl Clone for VkWriteDescriptorSet {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCopyDescriptorSet {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub srcSet: VkDescriptorSet,
|
|
|
|
pub srcBinding: u32,
|
|
|
|
pub srcArrayElement: u32,
|
|
|
|
pub dstSet: VkDescriptorSet,
|
|
|
|
pub dstBinding: u32,
|
|
|
|
pub dstArrayElement: u32,
|
|
|
|
pub descriptorCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkCopyDescriptorSet {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkFramebufferCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkFramebufferCreateFlags,
|
|
|
|
pub renderPass: VkRenderPass,
|
|
|
|
pub attachmentCount: u32,
|
|
|
|
pub pAttachments: *const VkImageView,
|
|
|
|
pub width: u32,
|
|
|
|
pub height: u32,
|
|
|
|
pub layers: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkFramebufferCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkAttachmentDescription {
|
|
|
|
pub flags: VkAttachmentDescriptionFlags,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub samples: VkSampleCountFlagBits,
|
|
|
|
pub loadOp: VkAttachmentLoadOp,
|
|
|
|
pub storeOp: VkAttachmentStoreOp,
|
|
|
|
pub stencilLoadOp: VkAttachmentLoadOp,
|
|
|
|
pub stencilStoreOp: VkAttachmentStoreOp,
|
|
|
|
pub initialLayout: VkImageLayout,
|
|
|
|
pub finalLayout: VkImageLayout,
|
|
|
|
}
|
|
|
|
impl Clone for VkAttachmentDescription {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkAttachmentReference {
|
|
|
|
pub attachment: u32,
|
|
|
|
pub layout: VkImageLayout,
|
|
|
|
}
|
|
|
|
impl Clone for VkAttachmentReference {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSubpassDescription {
|
|
|
|
pub flags: VkSubpassDescriptionFlags,
|
|
|
|
pub pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
pub inputAttachmentCount: u32,
|
|
|
|
pub pInputAttachments: *const VkAttachmentReference,
|
|
|
|
pub colorAttachmentCount: u32,
|
|
|
|
pub pColorAttachments: *const VkAttachmentReference,
|
|
|
|
pub pResolveAttachments: *const VkAttachmentReference,
|
|
|
|
pub pDepthStencilAttachment: *const VkAttachmentReference,
|
|
|
|
pub preserveAttachmentCount: u32,
|
|
|
|
pub pPreserveAttachments: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkSubpassDescription {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSubpassDependency {
|
|
|
|
pub srcSubpass: u32,
|
|
|
|
pub dstSubpass: u32,
|
|
|
|
pub srcStageMask: VkPipelineStageFlags,
|
|
|
|
pub dstStageMask: VkPipelineStageFlags,
|
|
|
|
pub srcAccessMask: VkAccessFlags,
|
|
|
|
pub dstAccessMask: VkAccessFlags,
|
|
|
|
pub dependencyFlags: VkDependencyFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSubpassDependency {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkRenderPassCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkRenderPassCreateFlags,
|
|
|
|
pub attachmentCount: u32,
|
|
|
|
pub pAttachments: *const VkAttachmentDescription,
|
|
|
|
pub subpassCount: u32,
|
|
|
|
pub pSubpasses: *const VkSubpassDescription,
|
|
|
|
pub dependencyCount: u32,
|
|
|
|
pub pDependencies: *const VkSubpassDependency,
|
|
|
|
}
|
|
|
|
impl Clone for VkRenderPassCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCommandPoolCreateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkCommandPoolCreateFlags,
|
|
|
|
pub queueFamilyIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkCommandPoolCreateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCommandBufferAllocateInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub commandPool: VkCommandPool,
|
|
|
|
pub level: VkCommandBufferLevel,
|
|
|
|
pub commandBufferCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkCommandBufferAllocateInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCommandBufferInheritanceInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub renderPass: VkRenderPass,
|
|
|
|
pub subpass: u32,
|
|
|
|
pub framebuffer: VkFramebuffer,
|
|
|
|
pub occlusionQueryEnable: VkBool32,
|
|
|
|
pub queryFlags: VkQueryControlFlags,
|
|
|
|
pub pipelineStatistics: VkQueryPipelineStatisticFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkCommandBufferInheritanceInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCommandBufferBeginInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkCommandBufferUsageFlags,
|
|
|
|
pub pInheritanceInfo: *const VkCommandBufferInheritanceInfo,
|
|
|
|
}
|
|
|
|
impl Clone for VkCommandBufferBeginInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBufferCopy {
|
|
|
|
pub srcOffset: VkDeviceSize,
|
|
|
|
pub dstOffset: VkDeviceSize,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkBufferCopy {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageSubresourceLayers {
|
|
|
|
pub aspectMask: VkImageAspectFlags,
|
|
|
|
pub mipLevel: u32,
|
|
|
|
pub baseArrayLayer: u32,
|
|
|
|
pub layerCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageSubresourceLayers {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageCopy {
|
|
|
|
pub srcSubresource: VkImageSubresourceLayers,
|
|
|
|
pub srcOffset: VkOffset3D,
|
|
|
|
pub dstSubresource: VkImageSubresourceLayers,
|
|
|
|
pub dstOffset: VkOffset3D,
|
|
|
|
pub extent: VkExtent3D,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageCopy {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageBlit {
|
|
|
|
pub srcSubresource: VkImageSubresourceLayers,
|
|
|
|
pub srcOffsets: [VkOffset3D; 2usize],
|
|
|
|
pub dstSubresource: VkImageSubresourceLayers,
|
|
|
|
pub dstOffsets: [VkOffset3D; 2usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkImageBlit {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBufferImageCopy {
|
|
|
|
pub bufferOffset: VkDeviceSize,
|
|
|
|
pub bufferRowLength: u32,
|
|
|
|
pub bufferImageHeight: u32,
|
|
|
|
pub imageSubresource: VkImageSubresourceLayers,
|
|
|
|
pub imageOffset: VkOffset3D,
|
|
|
|
pub imageExtent: VkExtent3D,
|
|
|
|
}
|
|
|
|
impl Clone for VkBufferImageCopy {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub union VkClearColorValue {
|
|
|
|
pub float32: [f32; 4usize],
|
|
|
|
pub int32: [i32; 4usize],
|
|
|
|
pub uint32: [u32; 4usize],
|
|
|
|
_bindgen_union_align: [u32; 4usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkClearColorValue {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkClearDepthStencilValue {
|
|
|
|
pub depth: f32,
|
|
|
|
pub stencil: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkClearDepthStencilValue {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub union VkClearValue {
|
|
|
|
pub color: VkClearColorValue,
|
|
|
|
pub depthStencil: VkClearDepthStencilValue,
|
|
|
|
_bindgen_union_align: [u32; 4usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkClearValue {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkClearAttachment {
|
|
|
|
pub aspectMask: VkImageAspectFlags,
|
|
|
|
pub colorAttachment: u32,
|
|
|
|
pub clearValue: VkClearValue,
|
|
|
|
}
|
|
|
|
impl Clone for VkClearAttachment {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkClearRect {
|
|
|
|
pub rect: VkRect2D,
|
|
|
|
pub baseArrayLayer: u32,
|
|
|
|
pub layerCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkClearRect {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageResolve {
|
|
|
|
pub srcSubresource: VkImageSubresourceLayers,
|
|
|
|
pub srcOffset: VkOffset3D,
|
|
|
|
pub dstSubresource: VkImageSubresourceLayers,
|
|
|
|
pub dstOffset: VkOffset3D,
|
|
|
|
pub extent: VkExtent3D,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageResolve {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryBarrier {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub srcAccessMask: VkAccessFlags,
|
|
|
|
pub dstAccessMask: VkAccessFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryBarrier {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBufferMemoryBarrier {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub srcAccessMask: VkAccessFlags,
|
|
|
|
pub dstAccessMask: VkAccessFlags,
|
|
|
|
pub srcQueueFamilyIndex: u32,
|
|
|
|
pub dstQueueFamilyIndex: u32,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
pub size: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkBufferMemoryBarrier {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageMemoryBarrier {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub srcAccessMask: VkAccessFlags,
|
|
|
|
pub dstAccessMask: VkAccessFlags,
|
|
|
|
pub oldLayout: VkImageLayout,
|
|
|
|
pub newLayout: VkImageLayout,
|
|
|
|
pub srcQueueFamilyIndex: u32,
|
|
|
|
pub dstQueueFamilyIndex: u32,
|
|
|
|
pub image: VkImage,
|
|
|
|
pub subresourceRange: VkImageSubresourceRange,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageMemoryBarrier {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkRenderPassBeginInfo {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub renderPass: VkRenderPass,
|
|
|
|
pub framebuffer: VkFramebuffer,
|
|
|
|
pub renderArea: VkRect2D,
|
|
|
|
pub clearValueCount: u32,
|
|
|
|
pub pClearValues: *const VkClearValue,
|
|
|
|
}
|
|
|
|
impl Clone for VkRenderPassBeginInfo {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDispatchIndirectCommand {
|
|
|
|
pub x: u32,
|
|
|
|
pub y: u32,
|
|
|
|
pub z: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDispatchIndirectCommand {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDrawIndexedIndirectCommand {
|
|
|
|
pub indexCount: u32,
|
|
|
|
pub instanceCount: u32,
|
|
|
|
pub firstIndex: u32,
|
|
|
|
pub vertexOffset: i32,
|
|
|
|
pub firstInstance: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDrawIndexedIndirectCommand {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDrawIndirectCommand {
|
|
|
|
pub vertexCount: u32,
|
|
|
|
pub instanceCount: u32,
|
|
|
|
pub firstVertex: u32,
|
|
|
|
pub firstInstance: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDrawIndirectCommand {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
2017-09-07 11:34:41 +10:00
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
pub type PFN_vkGetPhysicalDeviceFeatures =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkPhysicalDeviceFeatures)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceFormatProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
pFormatProperties:
|
|
|
|
*mut VkFormatProperties)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceImageFormatProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
type_: VkImageType,
|
|
|
|
tiling: VkImageTiling,
|
|
|
|
usage: VkImageUsageFlags,
|
|
|
|
flags: VkImageCreateFlags,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pQueueFamilyPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pQueueFamilyProperties:
|
|
|
|
*mut VkQueueFamilyProperties)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceMemoryProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pMemoryProperties:
|
|
|
|
*mut VkPhysicalDeviceMemoryProperties)>;
|
|
|
|
pub type PFN_vkGetInstanceProcAddr =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
pName:
|
|
|
|
*const ::std::os::raw::c_char)
|
|
|
|
-> PFN_vkVoidFunction>;
|
|
|
|
pub type PFN_vkGetDeviceProcAddr =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pName:
|
|
|
|
*const ::std::os::raw::c_char)
|
|
|
|
-> PFN_vkVoidFunction>;
|
|
|
|
pub type PFN_vkCreateDevice =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDeviceCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pDevice: *mut VkDevice)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyDevice =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkEnumerateInstanceExtensionProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pLayerName:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkExtensionProperties)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkEnumerateDeviceExtensionProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pLayerName:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkExtensionProperties)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkEnumerateInstanceLayerProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkLayerProperties)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkEnumerateDeviceLayerProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkLayerProperties)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDeviceQueue =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
queueFamilyIndex: u32,
|
|
|
|
queueIndex: u32,
|
|
|
|
pQueue: *mut VkQueue)>;
|
|
|
|
pub type PFN_vkQueueSubmit =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(queue: VkQueue,
|
|
|
|
submitCount: u32,
|
|
|
|
pSubmits: *const VkSubmitInfo,
|
|
|
|
fence: VkFence) -> VkResult>;
|
|
|
|
pub type PFN_vkQueueWaitIdle =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(queue: VkQueue) -> VkResult>;
|
|
|
|
pub type PFN_vkDeviceWaitIdle =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice) -> VkResult>;
|
|
|
|
pub type PFN_vkAllocateMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pAllocateInfo:
|
|
|
|
*const VkMemoryAllocateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pMemory: *mut VkDeviceMemory)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkFreeMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkMapMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
size: VkDeviceSize,
|
|
|
|
flags: VkMemoryMapFlags,
|
|
|
|
ppData:
|
|
|
|
*mut *mut ::std::os::raw::c_void)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkUnmapMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory)>;
|
|
|
|
pub type PFN_vkFlushMappedMemoryRanges =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memoryRangeCount: u32,
|
|
|
|
pMemoryRanges:
|
|
|
|
*const VkMappedMemoryRange)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkInvalidateMappedMemoryRanges =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memoryRangeCount: u32,
|
|
|
|
pMemoryRanges:
|
|
|
|
*const VkMappedMemoryRange)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDeviceMemoryCommitment =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
pCommittedMemoryInBytes:
|
|
|
|
*mut VkDeviceSize)>;
|
|
|
|
pub type PFN_vkBindBufferMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
memoryOffset: VkDeviceSize)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkBindImageMemory =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
memoryOffset: VkDeviceSize)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetBufferMemoryRequirements =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
pMemoryRequirements:
|
|
|
|
*mut VkMemoryRequirements)>;
|
|
|
|
pub type PFN_vkGetImageMemoryRequirements =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
pMemoryRequirements:
|
|
|
|
*mut VkMemoryRequirements)>;
|
|
|
|
pub type PFN_vkGetImageSparseMemoryRequirements =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
pSparseMemoryRequirementCount:
|
|
|
|
*mut u32,
|
|
|
|
pSparseMemoryRequirements:
|
|
|
|
*mut VkSparseImageMemoryRequirements)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
type_: VkImageType,
|
|
|
|
samples: VkSampleCountFlagBits,
|
|
|
|
usage: VkImageUsageFlags,
|
|
|
|
tiling: VkImageTiling,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkSparseImageFormatProperties)>;
|
|
|
|
pub type PFN_vkQueueBindSparse =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(queue: VkQueue,
|
|
|
|
bindInfoCount: u32,
|
|
|
|
pBindInfo:
|
|
|
|
*const VkBindSparseInfo,
|
|
|
|
fence: VkFence) -> VkResult>;
|
|
|
|
pub type PFN_vkCreateFence =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkFenceCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyFence =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
fence: VkFence,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkResetFences =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
fenceCount: u32,
|
|
|
|
pFences: *const VkFence)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetFenceStatus =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
fence: VkFence) -> VkResult>;
|
|
|
|
pub type PFN_vkWaitForFences =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
fenceCount: u32,
|
|
|
|
pFences: *const VkFence,
|
|
|
|
waitAll: VkBool32,
|
|
|
|
timeout: u64) -> VkResult>;
|
|
|
|
pub type PFN_vkCreateSemaphore =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkSemaphoreCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSemaphore: *mut VkSemaphore)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroySemaphore =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
semaphore: VkSemaphore,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkEventCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pEvent: *mut VkEvent)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
event: VkEvent,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetEventStatus =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
event: VkEvent) -> VkResult>;
|
|
|
|
pub type PFN_vkSetEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
event: VkEvent) -> VkResult>;
|
|
|
|
pub type PFN_vkResetEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
event: VkEvent) -> VkResult>;
|
|
|
|
pub type PFN_vkCreateQueryPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkQueryPoolCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pQueryPool: *mut VkQueryPool)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyQueryPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetQueryPoolResults =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
firstQuery: u32,
|
|
|
|
queryCount: u32,
|
|
|
|
dataSize: usize,
|
|
|
|
pData:
|
|
|
|
*mut ::std::os::raw::c_void,
|
|
|
|
stride: VkDeviceSize,
|
|
|
|
flags: VkQueryResultFlags)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCreateBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkBufferCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pBuffer: *mut VkBuffer)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateBufferView =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkBufferViewCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pView: *mut VkBufferView)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyBufferView =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
bufferView: VkBufferView,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkImageCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pImage: *mut VkImage)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetImageSubresourceLayout =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
pSubresource:
|
|
|
|
*const VkImageSubresource,
|
|
|
|
pLayout:
|
|
|
|
*mut VkSubresourceLayout)>;
|
|
|
|
pub type PFN_vkCreateImageView =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkImageViewCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pView: *mut VkImageView)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyImageView =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
imageView: VkImageView,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateShaderModule =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkShaderModuleCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pShaderModule:
|
|
|
|
*mut VkShaderModule)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyShaderModule =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
shaderModule: VkShaderModule,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreatePipelineCache =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkPipelineCacheCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pPipelineCache:
|
|
|
|
*mut VkPipelineCache)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyPipelineCache =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetPipelineCacheData =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
pDataSize: *mut usize,
|
|
|
|
pData:
|
|
|
|
*mut ::std::os::raw::c_void)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkMergePipelineCaches =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
dstCache: VkPipelineCache,
|
|
|
|
srcCacheCount: u32,
|
|
|
|
pSrcCaches:
|
|
|
|
*const VkPipelineCache)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCreateGraphicsPipelines =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
createInfoCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkGraphicsPipelineCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pPipelines: *mut VkPipeline)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCreateComputePipelines =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
createInfoCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkComputePipelineCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pPipelines: *mut VkPipeline)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyPipeline =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipeline: VkPipeline,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreatePipelineLayout =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkPipelineLayoutCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pPipelineLayout:
|
|
|
|
*mut VkPipelineLayout)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyPipelineLayout =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pipelineLayout:
|
|
|
|
VkPipelineLayout,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateSampler =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkSamplerCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSampler: *mut VkSampler)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroySampler =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
sampler: VkSampler,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateDescriptorSetLayout =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorSetLayoutCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSetLayout:
|
|
|
|
*mut VkDescriptorSetLayout)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyDescriptorSetLayout =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorSetLayout:
|
|
|
|
VkDescriptorSetLayout,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateDescriptorPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorPoolCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pDescriptorPool:
|
|
|
|
*mut VkDescriptorPool)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyDescriptorPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorPool:
|
|
|
|
VkDescriptorPool,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkResetDescriptorPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorPool:
|
|
|
|
VkDescriptorPool,
|
|
|
|
flags:
|
|
|
|
VkDescriptorPoolResetFlags)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkAllocateDescriptorSets =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pAllocateInfo:
|
|
|
|
*const VkDescriptorSetAllocateInfo,
|
|
|
|
pDescriptorSets:
|
|
|
|
*mut VkDescriptorSet)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkFreeDescriptorSets =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorPool:
|
|
|
|
VkDescriptorPool,
|
|
|
|
descriptorSetCount: u32,
|
|
|
|
pDescriptorSets:
|
|
|
|
*const VkDescriptorSet)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkUpdateDescriptorSets =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorWriteCount: u32,
|
|
|
|
pDescriptorWrites:
|
|
|
|
*const VkWriteDescriptorSet,
|
|
|
|
descriptorCopyCount: u32,
|
|
|
|
pDescriptorCopies:
|
|
|
|
*const VkCopyDescriptorSet)>;
|
|
|
|
pub type PFN_vkCreateFramebuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkFramebufferCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pFramebuffer:
|
|
|
|
*mut VkFramebuffer)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyFramebuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
framebuffer: VkFramebuffer,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateRenderPass =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkRenderPassCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pRenderPass: *mut VkRenderPass)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyRenderPass =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
renderPass: VkRenderPass,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetRenderAreaGranularity =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
renderPass: VkRenderPass,
|
|
|
|
pGranularity:
|
|
|
|
*mut VkExtent2D)>;
|
|
|
|
pub type PFN_vkCreateCommandPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkCommandPoolCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pCommandPool:
|
|
|
|
*mut VkCommandPool)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyCommandPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
commandPool: VkCommandPool,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkResetCommandPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
commandPool: VkCommandPool,
|
|
|
|
flags: VkCommandPoolResetFlags)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkAllocateCommandBuffers =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pAllocateInfo:
|
|
|
|
*const VkCommandBufferAllocateInfo,
|
|
|
|
pCommandBuffers:
|
|
|
|
*mut VkCommandBuffer)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkFreeCommandBuffers =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
commandPool: VkCommandPool,
|
|
|
|
commandBufferCount: u32,
|
|
|
|
pCommandBuffers:
|
|
|
|
*const VkCommandBuffer)>;
|
|
|
|
pub type PFN_vkBeginCommandBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pBeginInfo:
|
|
|
|
*const VkCommandBufferBeginInfo)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkEndCommandBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkResetCommandBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
flags:
|
|
|
|
VkCommandBufferResetFlags)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCmdBindPipeline =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint:
|
|
|
|
VkPipelineBindPoint,
|
|
|
|
pipeline: VkPipeline)>;
|
|
|
|
pub type PFN_vkCmdSetViewport =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
firstViewport: u32,
|
|
|
|
viewportCount: u32,
|
|
|
|
pViewports:
|
|
|
|
*const VkViewport)>;
|
|
|
|
pub type PFN_vkCmdSetScissor =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
firstScissor: u32,
|
|
|
|
scissorCount: u32,
|
|
|
|
pScissors: *const VkRect2D)>;
|
|
|
|
pub type PFN_vkCmdSetLineWidth =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
lineWidth: f32)>;
|
|
|
|
pub type PFN_vkCmdSetDepthBias =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
depthBiasConstantFactor: f32,
|
|
|
|
depthBiasClamp: f32,
|
|
|
|
depthBiasSlopeFactor: f32)>;
|
|
|
|
pub type PFN_vkCmdSetBlendConstants =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
blendConstants: *const f32)>;
|
|
|
|
pub type PFN_vkCmdSetDepthBounds =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
minDepthBounds: f32,
|
|
|
|
maxDepthBounds: f32)>;
|
|
|
|
pub type PFN_vkCmdSetStencilCompareMask =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
compareMask: u32)>;
|
|
|
|
pub type PFN_vkCmdSetStencilWriteMask =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
writeMask: u32)>;
|
|
|
|
pub type PFN_vkCmdSetStencilReference =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
reference: u32)>;
|
|
|
|
pub type PFN_vkCmdBindDescriptorSets =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint:
|
|
|
|
VkPipelineBindPoint,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
firstSet: u32,
|
|
|
|
descriptorSetCount: u32,
|
|
|
|
pDescriptorSets:
|
|
|
|
*const VkDescriptorSet,
|
|
|
|
dynamicOffsetCount: u32,
|
|
|
|
pDynamicOffsets: *const u32)>;
|
|
|
|
pub type PFN_vkCmdBindIndexBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
indexType: VkIndexType)>;
|
|
|
|
pub type PFN_vkCmdBindVertexBuffers =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
firstBinding: u32,
|
|
|
|
bindingCount: u32,
|
|
|
|
pBuffers: *const VkBuffer,
|
|
|
|
pOffsets:
|
|
|
|
*const VkDeviceSize)>;
|
|
|
|
pub type PFN_vkCmdDraw =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
vertexCount: u32,
|
|
|
|
instanceCount: u32,
|
|
|
|
firstVertex: u32,
|
|
|
|
firstInstance: u32)>;
|
|
|
|
pub type PFN_vkCmdDrawIndexed =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
indexCount: u32,
|
|
|
|
instanceCount: u32,
|
|
|
|
firstIndex: u32,
|
|
|
|
vertexOffset: i32,
|
|
|
|
firstInstance: u32)>;
|
|
|
|
pub type PFN_vkCmdDrawIndirect =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
drawCount: u32, stride: u32)>;
|
|
|
|
pub type PFN_vkCmdDrawIndexedIndirect =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
drawCount: u32, stride: u32)>;
|
|
|
|
pub type PFN_vkCmdDispatch =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
groupCountX: u32,
|
|
|
|
groupCountY: u32,
|
|
|
|
groupCountZ: u32)>;
|
|
|
|
pub type PFN_vkCmdDispatchIndirect =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize)>;
|
|
|
|
pub type PFN_vkCmdCopyBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcBuffer: VkBuffer,
|
|
|
|
dstBuffer: VkBuffer,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions:
|
|
|
|
*const VkBufferCopy)>;
|
|
|
|
pub type PFN_vkCmdCopyImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout,
|
|
|
|
dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions: *const VkImageCopy)>;
|
|
|
|
pub type PFN_vkCmdBlitImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout,
|
|
|
|
dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions: *const VkImageBlit,
|
|
|
|
filter: VkFilter)>;
|
|
|
|
pub type PFN_vkCmdCopyBufferToImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcBuffer: VkBuffer,
|
|
|
|
dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions:
|
|
|
|
*const VkBufferImageCopy)>;
|
|
|
|
pub type PFN_vkCmdCopyImageToBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout,
|
|
|
|
dstBuffer: VkBuffer,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions:
|
|
|
|
*const VkBufferImageCopy)>;
|
|
|
|
pub type PFN_vkCmdUpdateBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
dstBuffer: VkBuffer,
|
|
|
|
dstOffset: VkDeviceSize,
|
|
|
|
dataSize: VkDeviceSize,
|
|
|
|
pData:
|
|
|
|
*const ::std::os::raw::c_void)>;
|
|
|
|
pub type PFN_vkCmdFillBuffer =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
dstBuffer: VkBuffer,
|
|
|
|
dstOffset: VkDeviceSize,
|
|
|
|
size: VkDeviceSize,
|
|
|
|
data: u32)>;
|
|
|
|
pub type PFN_vkCmdClearColorImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
image: VkImage,
|
|
|
|
imageLayout: VkImageLayout,
|
|
|
|
pColor:
|
|
|
|
*const VkClearColorValue,
|
|
|
|
rangeCount: u32,
|
|
|
|
pRanges:
|
|
|
|
*const VkImageSubresourceRange)>;
|
|
|
|
pub type PFN_vkCmdClearDepthStencilImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
image: VkImage,
|
|
|
|
imageLayout: VkImageLayout,
|
|
|
|
pDepthStencil:
|
|
|
|
*const VkClearDepthStencilValue,
|
|
|
|
rangeCount: u32,
|
|
|
|
pRanges:
|
|
|
|
*const VkImageSubresourceRange)>;
|
|
|
|
pub type PFN_vkCmdClearAttachments =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
attachmentCount: u32,
|
|
|
|
pAttachments:
|
|
|
|
*const VkClearAttachment,
|
|
|
|
rectCount: u32,
|
|
|
|
pRects: *const VkClearRect)>;
|
|
|
|
pub type PFN_vkCmdResolveImage =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout,
|
|
|
|
dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions:
|
|
|
|
*const VkImageResolve)>;
|
|
|
|
pub type PFN_vkCmdSetEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
event: VkEvent,
|
|
|
|
stageMask:
|
|
|
|
VkPipelineStageFlags)>;
|
|
|
|
pub type PFN_vkCmdResetEvent =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
event: VkEvent,
|
|
|
|
stageMask:
|
|
|
|
VkPipelineStageFlags)>;
|
|
|
|
pub type PFN_vkCmdWaitEvents =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
eventCount: u32,
|
|
|
|
pEvents: *const VkEvent,
|
|
|
|
srcStageMask:
|
|
|
|
VkPipelineStageFlags,
|
|
|
|
dstStageMask:
|
|
|
|
VkPipelineStageFlags,
|
|
|
|
memoryBarrierCount: u32,
|
|
|
|
pMemoryBarriers:
|
|
|
|
*const VkMemoryBarrier,
|
|
|
|
bufferMemoryBarrierCount: u32,
|
|
|
|
pBufferMemoryBarriers:
|
|
|
|
*const VkBufferMemoryBarrier,
|
|
|
|
imageMemoryBarrierCount: u32,
|
|
|
|
pImageMemoryBarriers:
|
|
|
|
*const VkImageMemoryBarrier)>;
|
|
|
|
pub type PFN_vkCmdPipelineBarrier =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
srcStageMask:
|
|
|
|
VkPipelineStageFlags,
|
|
|
|
dstStageMask:
|
|
|
|
VkPipelineStageFlags,
|
|
|
|
dependencyFlags:
|
|
|
|
VkDependencyFlags,
|
|
|
|
memoryBarrierCount: u32,
|
|
|
|
pMemoryBarriers:
|
|
|
|
*const VkMemoryBarrier,
|
|
|
|
bufferMemoryBarrierCount: u32,
|
|
|
|
pBufferMemoryBarriers:
|
|
|
|
*const VkBufferMemoryBarrier,
|
|
|
|
imageMemoryBarrierCount: u32,
|
|
|
|
pImageMemoryBarriers:
|
|
|
|
*const VkImageMemoryBarrier)>;
|
|
|
|
pub type PFN_vkCmdBeginQuery =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
query: u32,
|
|
|
|
flags: VkQueryControlFlags)>;
|
|
|
|
pub type PFN_vkCmdEndQuery =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
query: u32)>;
|
|
|
|
pub type PFN_vkCmdResetQueryPool =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
firstQuery: u32,
|
|
|
|
queryCount: u32)>;
|
|
|
|
pub type PFN_vkCmdWriteTimestamp =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineStage:
|
|
|
|
VkPipelineStageFlagBits,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
query: u32)>;
|
|
|
|
pub type PFN_vkCmdCopyQueryPoolResults =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool,
|
|
|
|
firstQuery: u32,
|
|
|
|
queryCount: u32,
|
|
|
|
dstBuffer: VkBuffer,
|
|
|
|
dstOffset: VkDeviceSize,
|
|
|
|
stride: VkDeviceSize,
|
|
|
|
flags: VkQueryResultFlags)>;
|
|
|
|
pub type PFN_vkCmdPushConstants =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
stageFlags: VkShaderStageFlags,
|
|
|
|
offset: u32, size: u32,
|
|
|
|
pValues:
|
|
|
|
*const ::std::os::raw::c_void)>;
|
|
|
|
pub type PFN_vkCmdBeginRenderPass =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pRenderPassBegin:
|
|
|
|
*const VkRenderPassBeginInfo,
|
|
|
|
contents: VkSubpassContents)>;
|
|
|
|
pub type PFN_vkCmdNextSubpass =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
contents: VkSubpassContents)>;
|
|
|
|
pub type PFN_vkCmdEndRenderPass =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer:
|
|
|
|
VkCommandBuffer)>;
|
|
|
|
pub type PFN_vkCmdExecuteCommands =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
commandBufferCount: u32,
|
|
|
|
pCommandBuffers:
|
|
|
|
*const VkCommandBuffer)>;
|
|
|
|
|
2017-09-07 11:34:41 +10:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkCreateInstance(
|
|
|
|
_pCreateInfo: *const VkInstanceCreateInfo,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pInstance: *mut VkInstance,
|
|
|
|
) -> VkResult {
|
|
|
|
let instance = back::Instance::create("portability", 1);
|
|
|
|
unsafe { *pInstance = Handle::new(instance) };
|
|
|
|
VkResult::VK_SUCCESS
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-09-07 11:34:41 +10:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkDestroyInstance(
|
|
|
|
instance: VkInstance,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
) {
|
|
|
|
instance.unwrap();
|
|
|
|
//let it drop
|
|
|
|
}
|
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkEnumeratePhysicalDevices(
|
|
|
|
instance: VkInstance,
|
|
|
|
pPhysicalDeviceCount: *mut u32,
|
|
|
|
pPhysicalDevices: *mut VkPhysicalDevice,
|
|
|
|
) -> VkResult {
|
|
|
|
let adapters = instance.enumerate_adapters();
|
|
|
|
let output = unsafe { slice::from_raw_parts_mut(pPhysicalDevices, *pPhysicalDeviceCount as _) };
|
|
|
|
let count = cmp::min(adapters.len(), output.len());
|
|
|
|
|
|
|
|
for (out, adapter) in output.iter_mut().zip(adapters.into_iter()) {
|
|
|
|
*out = Handle::new(adapter);
|
|
|
|
}
|
|
|
|
|
|
|
|
unsafe { *pPhysicalDeviceCount = count as _ };
|
|
|
|
VkResult::VK_SUCCESS
|
|
|
|
}
|
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceFeatures(physicalDevice: VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkPhysicalDeviceFeatures);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceFormatProperties(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
pFormatProperties:
|
|
|
|
*mut VkFormatProperties);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceImageFormatProperties(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
type_: VkImageType,
|
|
|
|
tiling: VkImageTiling,
|
|
|
|
usage: VkImageUsageFlags,
|
|
|
|
flags: VkImageCreateFlags,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceProperties(physicalDevice: VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties);
|
|
|
|
}
|
2017-09-13 02:27:01 +10:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkGetPhysicalDeviceQueueFamilyProperties(
|
2017-11-07 14:33:36 +11:00
|
|
|
adapter: VkPhysicalDevice,
|
2017-09-13 02:27:01 +10:00
|
|
|
pQueueFamilyPropertyCount: *mut u32,
|
|
|
|
pQueueFamilyProperties: *mut VkQueueFamilyProperties,
|
|
|
|
) {
|
|
|
|
let output = unsafe {
|
|
|
|
slice::from_raw_parts_mut(pQueueFamilyProperties, *pQueueFamilyPropertyCount as _)
|
|
|
|
};
|
2017-11-07 14:33:36 +11:00
|
|
|
let families = &adapter.queue_families;
|
2017-09-13 02:27:01 +10:00
|
|
|
if output.len() > families.len() {
|
|
|
|
unsafe { *pQueueFamilyPropertyCount = families.len() as _ };
|
|
|
|
}
|
2017-11-07 13:57:32 +11:00
|
|
|
for (ref mut out, ref family) in output.iter_mut().zip(families.iter()) {
|
2017-09-13 02:27:01 +10:00
|
|
|
**out = VkQueueFamilyProperties {
|
2017-11-07 13:57:32 +11:00
|
|
|
queueFlags: match family.queue_type() {
|
|
|
|
hal::QueueType::General => VkQueueFlagBits::VK_QUEUE_GRAPHICS_BIT as u32 | VkQueueFlagBits::VK_QUEUE_COMPUTE_BIT as u32,
|
|
|
|
hal::QueueType::Graphics => VkQueueFlagBits::VK_QUEUE_GRAPHICS_BIT as u32,
|
|
|
|
hal::QueueType::Compute => VkQueueFlagBits::VK_QUEUE_COMPUTE_BIT as u32,
|
|
|
|
hal::QueueType::Transfer => VkQueueFlagBits::VK_QUEUE_TRANSFER_BIT as u32,
|
2017-09-13 02:27:01 +10:00
|
|
|
},
|
2017-11-07 13:57:32 +11:00
|
|
|
queueCount: family.max_queues() as _,
|
2017-09-13 02:27:01 +10:00
|
|
|
timestampValidBits: 0, //TODO
|
|
|
|
minImageTransferGranularity: VkExtent3D { width: 0, height: 0, depth: 0 }, //TODO
|
|
|
|
}
|
|
|
|
}
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-09-13 02:27:01 +10:00
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceMemoryProperties(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pMemoryProperties:
|
|
|
|
*mut VkPhysicalDeviceMemoryProperties);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetInstanceProcAddr(instance: VkInstance,
|
|
|
|
pName: *const ::std::os::raw::c_char)
|
|
|
|
-> PFN_vkVoidFunction;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceProcAddr(device: VkDevice,
|
|
|
|
pName: *const ::std::os::raw::c_char)
|
|
|
|
-> PFN_vkVoidFunction;
|
|
|
|
}
|
2017-09-13 02:27:01 +10:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkCreateDevice(
|
2017-11-07 14:33:36 +11:00
|
|
|
adapter: VkPhysicalDevice,
|
2017-09-13 02:27:01 +10:00
|
|
|
pCreateInfo: *const VkDeviceCreateInfo,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pDevice: *mut VkDevice,
|
|
|
|
) -> VkResult {
|
|
|
|
let dev_info = unsafe { &*pCreateInfo };
|
|
|
|
let queue_infos = unsafe {
|
|
|
|
slice::from_raw_parts(dev_info.pQueueCreateInfos, dev_info.queueCreateInfoCount as _)
|
|
|
|
};
|
|
|
|
let request_infos = queue_infos.iter().map(|info| {
|
2017-11-07 14:33:36 +11:00
|
|
|
let family = adapter
|
|
|
|
.queue_families[info.queueFamilyIndex as usize]
|
|
|
|
.clone();
|
2017-11-07 13:57:32 +11:00
|
|
|
(family, vec![1.0; info.queueCount as usize])
|
2017-09-13 02:27:01 +10:00
|
|
|
}).collect::<Vec<_>>();
|
|
|
|
|
2017-11-07 14:33:36 +11:00
|
|
|
let gpu = adapter.physical_device.clone().open(request_infos);
|
2017-09-13 02:27:01 +10:00
|
|
|
unsafe { *pDevice = Handle::new(gpu) };
|
|
|
|
|
|
|
|
VkResult::VK_SUCCESS
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-09-13 02:27:01 +10:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkDestroyDevice(
|
|
|
|
device: VkDevice,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
) {
|
|
|
|
let _ = device.unwrap(); //TODO?
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-09-13 02:27:01 +10:00
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
extern "C" {
|
|
|
|
pub fn vkEnumerateInstanceExtensionProperties(pLayerName:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkExtensionProperties)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkEnumerateDeviceExtensionProperties(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pLayerName:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkExtensionProperties)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkEnumerateInstanceLayerProperties(pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkLayerProperties)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkEnumerateDeviceLayerProperties(physicalDevice: VkPhysicalDevice,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkLayerProperties)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceQueue(device: VkDevice, queueFamilyIndex: u32,
|
|
|
|
queueIndex: u32, pQueue: *mut VkQueue);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkQueueSubmit(queue: VkQueue, submitCount: u32,
|
|
|
|
pSubmits: *const VkSubmitInfo, fence: VkFence)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkQueueWaitIdle(queue: VkQueue) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDeviceWaitIdle(device: VkDevice) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkAllocateMemory(device: VkDevice,
|
|
|
|
pAllocateInfo: *const VkMemoryAllocateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pMemory: *mut VkDeviceMemory) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkFreeMemory(device: VkDevice, memory: VkDeviceMemory,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkMapMemory(device: VkDevice, memory: VkDeviceMemory,
|
|
|
|
offset: VkDeviceSize, size: VkDeviceSize,
|
|
|
|
flags: VkMemoryMapFlags,
|
|
|
|
ppData: *mut *mut ::std::os::raw::c_void) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkUnmapMemory(device: VkDevice, memory: VkDeviceMemory);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkFlushMappedMemoryRanges(device: VkDevice, memoryRangeCount: u32,
|
|
|
|
pMemoryRanges:
|
|
|
|
*const VkMappedMemoryRange)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkInvalidateMappedMemoryRanges(device: VkDevice,
|
|
|
|
memoryRangeCount: u32,
|
|
|
|
pMemoryRanges:
|
|
|
|
*const VkMappedMemoryRange)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceMemoryCommitment(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
pCommittedMemoryInBytes:
|
|
|
|
*mut VkDeviceSize);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkBindBufferMemory(device: VkDevice, buffer: VkBuffer,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
memoryOffset: VkDeviceSize) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkBindImageMemory(device: VkDevice, image: VkImage,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
memoryOffset: VkDeviceSize) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetBufferMemoryRequirements(device: VkDevice, buffer: VkBuffer,
|
|
|
|
pMemoryRequirements:
|
|
|
|
*mut VkMemoryRequirements);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetImageMemoryRequirements(device: VkDevice, image: VkImage,
|
|
|
|
pMemoryRequirements:
|
|
|
|
*mut VkMemoryRequirements);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetImageSparseMemoryRequirements(device: VkDevice,
|
|
|
|
image: VkImage,
|
|
|
|
pSparseMemoryRequirementCount:
|
|
|
|
*mut u32,
|
|
|
|
pSparseMemoryRequirements:
|
|
|
|
*mut VkSparseImageMemoryRequirements);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
type_: VkImageType,
|
|
|
|
samples:
|
|
|
|
VkSampleCountFlagBits,
|
|
|
|
usage:
|
|
|
|
VkImageUsageFlags,
|
|
|
|
tiling:
|
|
|
|
VkImageTiling,
|
|
|
|
pPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkSparseImageFormatProperties);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkQueueBindSparse(queue: VkQueue, bindInfoCount: u32,
|
|
|
|
pBindInfo: *const VkBindSparseInfo,
|
|
|
|
fence: VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateFence(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkFenceCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyFence(device: VkDevice, fence: VkFence,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkResetFences(device: VkDevice, fenceCount: u32,
|
|
|
|
pFences: *const VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetFenceStatus(device: VkDevice, fence: VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkWaitForFences(device: VkDevice, fenceCount: u32,
|
|
|
|
pFences: *const VkFence, waitAll: VkBool32,
|
|
|
|
timeout: u64) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateSemaphore(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkSemaphoreCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pSemaphore: *mut VkSemaphore) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroySemaphore(device: VkDevice, semaphore: VkSemaphore,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateEvent(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkEventCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pEvent: *mut VkEvent) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyEvent(device: VkDevice, event: VkEvent,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetEventStatus(device: VkDevice, event: VkEvent) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkSetEvent(device: VkDevice, event: VkEvent) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkResetEvent(device: VkDevice, event: VkEvent) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateQueryPool(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkQueryPoolCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pQueryPool: *mut VkQueryPool) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyQueryPool(device: VkDevice, queryPool: VkQueryPool,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetQueryPoolResults(device: VkDevice, queryPool: VkQueryPool,
|
|
|
|
firstQuery: u32, queryCount: u32,
|
|
|
|
dataSize: usize,
|
|
|
|
pData: *mut ::std::os::raw::c_void,
|
|
|
|
stride: VkDeviceSize,
|
|
|
|
flags: VkQueryResultFlags) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateBuffer(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkBufferCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pBuffer: *mut VkBuffer) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyBuffer(device: VkDevice, buffer: VkBuffer,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateBufferView(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkBufferViewCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pView: *mut VkBufferView) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyBufferView(device: VkDevice, bufferView: VkBufferView,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateImage(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkImageCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pImage: *mut VkImage) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyImage(device: VkDevice, image: VkImage,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetImageSubresourceLayout(device: VkDevice, image: VkImage,
|
|
|
|
pSubresource:
|
|
|
|
*const VkImageSubresource,
|
|
|
|
pLayout: *mut VkSubresourceLayout);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateImageView(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkImageViewCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pView: *mut VkImageView) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyImageView(device: VkDevice, imageView: VkImageView,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateShaderModule(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkShaderModuleCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pShaderModule: *mut VkShaderModule)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyShaderModule(device: VkDevice,
|
|
|
|
shaderModule: VkShaderModule,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreatePipelineCache(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkPipelineCacheCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pPipelineCache: *mut VkPipelineCache)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyPipelineCache(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPipelineCacheData(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
pDataSize: *mut usize,
|
|
|
|
pData: *mut ::std::os::raw::c_void)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkMergePipelineCaches(device: VkDevice, dstCache: VkPipelineCache,
|
|
|
|
srcCacheCount: u32,
|
|
|
|
pSrcCaches: *const VkPipelineCache)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateGraphicsPipelines(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
createInfoCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkGraphicsPipelineCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pPipelines: *mut VkPipeline) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateComputePipelines(device: VkDevice,
|
|
|
|
pipelineCache: VkPipelineCache,
|
|
|
|
createInfoCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkComputePipelineCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pPipelines: *mut VkPipeline) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyPipeline(device: VkDevice, pipeline: VkPipeline,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreatePipelineLayout(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkPipelineLayoutCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pPipelineLayout: *mut VkPipelineLayout)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyPipelineLayout(device: VkDevice,
|
|
|
|
pipelineLayout: VkPipelineLayout,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateSampler(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkSamplerCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pSampler: *mut VkSampler) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroySampler(device: VkDevice, sampler: VkSampler,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDescriptorSetLayout(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorSetLayoutCreateInfo,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSetLayout: *mut VkDescriptorSetLayout)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyDescriptorSetLayout(device: VkDevice,
|
|
|
|
descriptorSetLayout:
|
|
|
|
VkDescriptorSetLayout,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDescriptorPool(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorPoolCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pDescriptorPool: *mut VkDescriptorPool)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyDescriptorPool(device: VkDevice,
|
|
|
|
descriptorPool: VkDescriptorPool,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkResetDescriptorPool(device: VkDevice,
|
|
|
|
descriptorPool: VkDescriptorPool,
|
|
|
|
flags: VkDescriptorPoolResetFlags)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkAllocateDescriptorSets(device: VkDevice,
|
|
|
|
pAllocateInfo:
|
|
|
|
*const VkDescriptorSetAllocateInfo,
|
|
|
|
pDescriptorSets: *mut VkDescriptorSet)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkFreeDescriptorSets(device: VkDevice,
|
|
|
|
descriptorPool: VkDescriptorPool,
|
|
|
|
descriptorSetCount: u32,
|
|
|
|
pDescriptorSets: *const VkDescriptorSet)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkUpdateDescriptorSets(device: VkDevice, descriptorWriteCount: u32,
|
|
|
|
pDescriptorWrites:
|
|
|
|
*const VkWriteDescriptorSet,
|
|
|
|
descriptorCopyCount: u32,
|
|
|
|
pDescriptorCopies:
|
|
|
|
*const VkCopyDescriptorSet);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateFramebuffer(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkFramebufferCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pFramebuffer: *mut VkFramebuffer) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyFramebuffer(device: VkDevice, framebuffer: VkFramebuffer,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateRenderPass(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkRenderPassCreateInfo,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pRenderPass: *mut VkRenderPass) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyRenderPass(device: VkDevice, renderPass: VkRenderPass,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetRenderAreaGranularity(device: VkDevice,
|
|
|
|
renderPass: VkRenderPass,
|
|
|
|
pGranularity: *mut VkExtent2D);
|
|
|
|
}
|
2017-11-07 14:33:36 +11:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkCreateCommandPool(
|
|
|
|
gpu: VkDevice,
|
|
|
|
pCreateInfo: *const VkCommandPoolCreateInfo,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pCommandPool: *mut VkCommandPool,
|
|
|
|
) -> VkResult {
|
|
|
|
use hal::pool::CommandPoolCreateFlags;
|
|
|
|
|
|
|
|
let info = unsafe { &*pCreateInfo };
|
|
|
|
assert_eq!(info.queueFamilyIndex, 0); //TODO
|
|
|
|
let family = gpu.queue_groups[0].family();
|
|
|
|
|
|
|
|
let mut flags = CommandPoolCreateFlags::empty();
|
|
|
|
if info.flags & VkCommandPoolCreateFlagBits::VK_COMMAND_POOL_CREATE_TRANSIENT_BIT as u32 != 0 {
|
|
|
|
flags |= CommandPoolCreateFlags::TRANSIENT;
|
|
|
|
}
|
|
|
|
if info.flags & VkCommandPoolCreateFlagBits::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as u32 != 0 {
|
|
|
|
flags |= CommandPoolCreateFlags::RESET_INDIVIDUAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
let pool = gpu.device.create_command_pool(family, flags);
|
|
|
|
unsafe { *pCommandPool = Handle::new(pool) };
|
|
|
|
VkResult::VK_SUCCESS
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-11-07 14:33:36 +11:00
|
|
|
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern fn vkDestroyCommandPool(
|
|
|
|
gpu: VkDevice,
|
|
|
|
commandPool: VkCommandPool,
|
|
|
|
_pAllocator: *const VkAllocationCallbacks,
|
|
|
|
) {
|
|
|
|
gpu.device.destroy_command_pool(*commandPool.unwrap());
|
2017-09-07 07:10:25 +10:00
|
|
|
}
|
2017-11-07 14:33:36 +11:00
|
|
|
|
2017-09-07 07:10:25 +10:00
|
|
|
extern "C" {
|
|
|
|
pub fn vkResetCommandPool(device: VkDevice, commandPool: VkCommandPool,
|
|
|
|
flags: VkCommandPoolResetFlags) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkAllocateCommandBuffers(device: VkDevice,
|
|
|
|
pAllocateInfo:
|
|
|
|
*const VkCommandBufferAllocateInfo,
|
|
|
|
pCommandBuffers: *mut VkCommandBuffer)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkFreeCommandBuffers(device: VkDevice, commandPool: VkCommandPool,
|
|
|
|
commandBufferCount: u32,
|
|
|
|
pCommandBuffers: *const VkCommandBuffer);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkBeginCommandBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
pBeginInfo: *const VkCommandBufferBeginInfo)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkEndCommandBuffer(commandBuffer: VkCommandBuffer) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkResetCommandBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
flags: VkCommandBufferResetFlags) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBindPipeline(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
pipeline: VkPipeline);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetViewport(commandBuffer: VkCommandBuffer,
|
|
|
|
firstViewport: u32, viewportCount: u32,
|
|
|
|
pViewports: *const VkViewport);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetScissor(commandBuffer: VkCommandBuffer, firstScissor: u32,
|
|
|
|
scissorCount: u32, pScissors: *const VkRect2D);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetLineWidth(commandBuffer: VkCommandBuffer, lineWidth: f32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetDepthBias(commandBuffer: VkCommandBuffer,
|
|
|
|
depthBiasConstantFactor: f32,
|
|
|
|
depthBiasClamp: f32, depthBiasSlopeFactor: f32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetBlendConstants(commandBuffer: VkCommandBuffer,
|
|
|
|
blendConstants: *const f32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetDepthBounds(commandBuffer: VkCommandBuffer,
|
|
|
|
minDepthBounds: f32, maxDepthBounds: f32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetStencilCompareMask(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
compareMask: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetStencilWriteMask(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
writeMask: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetStencilReference(commandBuffer: VkCommandBuffer,
|
|
|
|
faceMask: VkStencilFaceFlags,
|
|
|
|
reference: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBindDescriptorSets(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
layout: VkPipelineLayout, firstSet: u32,
|
|
|
|
descriptorSetCount: u32,
|
|
|
|
pDescriptorSets: *const VkDescriptorSet,
|
|
|
|
dynamicOffsetCount: u32,
|
|
|
|
pDynamicOffsets: *const u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBindIndexBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer, offset: VkDeviceSize,
|
|
|
|
indexType: VkIndexType);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBindVertexBuffers(commandBuffer: VkCommandBuffer,
|
|
|
|
firstBinding: u32, bindingCount: u32,
|
|
|
|
pBuffers: *const VkBuffer,
|
|
|
|
pOffsets: *const VkDeviceSize);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDraw(commandBuffer: VkCommandBuffer, vertexCount: u32,
|
|
|
|
instanceCount: u32, firstVertex: u32,
|
|
|
|
firstInstance: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDrawIndexed(commandBuffer: VkCommandBuffer, indexCount: u32,
|
|
|
|
instanceCount: u32, firstIndex: u32,
|
|
|
|
vertexOffset: i32, firstInstance: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDrawIndirect(commandBuffer: VkCommandBuffer, buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize, drawCount: u32,
|
|
|
|
stride: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDrawIndexedIndirect(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer, offset: VkDeviceSize,
|
|
|
|
drawCount: u32, stride: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDispatch(commandBuffer: VkCommandBuffer, groupCountX: u32,
|
|
|
|
groupCountY: u32, groupCountZ: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDispatchIndirect(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer, offset: VkDeviceSize);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdCopyBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
srcBuffer: VkBuffer, dstBuffer: VkBuffer,
|
|
|
|
regionCount: u32, pRegions: *const VkBufferCopy);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdCopyImage(commandBuffer: VkCommandBuffer, srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout, dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout, regionCount: u32,
|
|
|
|
pRegions: *const VkImageCopy);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBlitImage(commandBuffer: VkCommandBuffer, srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout, dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout, regionCount: u32,
|
|
|
|
pRegions: *const VkImageBlit, filter: VkFilter);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdCopyBufferToImage(commandBuffer: VkCommandBuffer,
|
|
|
|
srcBuffer: VkBuffer, dstImage: VkImage,
|
|
|
|
dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions: *const VkBufferImageCopy);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdCopyImageToBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage,
|
|
|
|
srcImageLayout: VkImageLayout,
|
|
|
|
dstBuffer: VkBuffer, regionCount: u32,
|
|
|
|
pRegions: *const VkBufferImageCopy);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdUpdateBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
dstBuffer: VkBuffer, dstOffset: VkDeviceSize,
|
|
|
|
dataSize: VkDeviceSize,
|
|
|
|
pData: *const ::std::os::raw::c_void);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdFillBuffer(commandBuffer: VkCommandBuffer,
|
|
|
|
dstBuffer: VkBuffer, dstOffset: VkDeviceSize,
|
|
|
|
size: VkDeviceSize, data: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdClearColorImage(commandBuffer: VkCommandBuffer,
|
|
|
|
image: VkImage, imageLayout: VkImageLayout,
|
|
|
|
pColor: *const VkClearColorValue,
|
|
|
|
rangeCount: u32,
|
|
|
|
pRanges: *const VkImageSubresourceRange);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdClearDepthStencilImage(commandBuffer: VkCommandBuffer,
|
|
|
|
image: VkImage,
|
|
|
|
imageLayout: VkImageLayout,
|
|
|
|
pDepthStencil:
|
|
|
|
*const VkClearDepthStencilValue,
|
|
|
|
rangeCount: u32,
|
|
|
|
pRanges:
|
|
|
|
*const VkImageSubresourceRange);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdClearAttachments(commandBuffer: VkCommandBuffer,
|
|
|
|
attachmentCount: u32,
|
|
|
|
pAttachments: *const VkClearAttachment,
|
|
|
|
rectCount: u32, pRects: *const VkClearRect);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdResolveImage(commandBuffer: VkCommandBuffer,
|
|
|
|
srcImage: VkImage, srcImageLayout: VkImageLayout,
|
|
|
|
dstImage: VkImage, dstImageLayout: VkImageLayout,
|
|
|
|
regionCount: u32,
|
|
|
|
pRegions: *const VkImageResolve);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetEvent(commandBuffer: VkCommandBuffer, event: VkEvent,
|
|
|
|
stageMask: VkPipelineStageFlags);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdResetEvent(commandBuffer: VkCommandBuffer, event: VkEvent,
|
|
|
|
stageMask: VkPipelineStageFlags);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdWaitEvents(commandBuffer: VkCommandBuffer, eventCount: u32,
|
|
|
|
pEvents: *const VkEvent,
|
|
|
|
srcStageMask: VkPipelineStageFlags,
|
|
|
|
dstStageMask: VkPipelineStageFlags,
|
|
|
|
memoryBarrierCount: u32,
|
|
|
|
pMemoryBarriers: *const VkMemoryBarrier,
|
|
|
|
bufferMemoryBarrierCount: u32,
|
|
|
|
pBufferMemoryBarriers:
|
|
|
|
*const VkBufferMemoryBarrier,
|
|
|
|
imageMemoryBarrierCount: u32,
|
|
|
|
pImageMemoryBarriers: *const VkImageMemoryBarrier);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdPipelineBarrier(commandBuffer: VkCommandBuffer,
|
|
|
|
srcStageMask: VkPipelineStageFlags,
|
|
|
|
dstStageMask: VkPipelineStageFlags,
|
|
|
|
dependencyFlags: VkDependencyFlags,
|
|
|
|
memoryBarrierCount: u32,
|
|
|
|
pMemoryBarriers: *const VkMemoryBarrier,
|
|
|
|
bufferMemoryBarrierCount: u32,
|
|
|
|
pBufferMemoryBarriers:
|
|
|
|
*const VkBufferMemoryBarrier,
|
|
|
|
imageMemoryBarrierCount: u32,
|
|
|
|
pImageMemoryBarriers:
|
|
|
|
*const VkImageMemoryBarrier);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBeginQuery(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool, query: u32,
|
|
|
|
flags: VkQueryControlFlags);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdEndQuery(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool, query: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdResetQueryPool(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool, firstQuery: u32,
|
|
|
|
queryCount: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdWriteTimestamp(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineStage: VkPipelineStageFlagBits,
|
|
|
|
queryPool: VkQueryPool, query: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdCopyQueryPoolResults(commandBuffer: VkCommandBuffer,
|
|
|
|
queryPool: VkQueryPool, firstQuery: u32,
|
|
|
|
queryCount: u32, dstBuffer: VkBuffer,
|
|
|
|
dstOffset: VkDeviceSize,
|
|
|
|
stride: VkDeviceSize,
|
|
|
|
flags: VkQueryResultFlags);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdPushConstants(commandBuffer: VkCommandBuffer,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
stageFlags: VkShaderStageFlags, offset: u32,
|
|
|
|
size: u32,
|
|
|
|
pValues: *const ::std::os::raw::c_void);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdBeginRenderPass(commandBuffer: VkCommandBuffer,
|
|
|
|
pRenderPassBegin:
|
|
|
|
*const VkRenderPassBeginInfo,
|
|
|
|
contents: VkSubpassContents);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdNextSubpass(commandBuffer: VkCommandBuffer,
|
|
|
|
contents: VkSubpassContents);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdEndRenderPass(commandBuffer: VkCommandBuffer);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdExecuteCommands(commandBuffer: VkCommandBuffer,
|
|
|
|
commandBufferCount: u32,
|
|
|
|
pCommandBuffers: *const VkCommandBuffer);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkSurfaceKHR_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkSurfaceKHR = *mut VkSurfaceKHR_T;
|
|
|
|
pub const VkColorSpaceKHR_VK_COLOR_SPACE_BEGIN_RANGE_KHR: VkColorSpaceKHR =
|
|
|
|
VkColorSpaceKHR::VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
|
|
|
|
pub const VkColorSpaceKHR_VK_COLOR_SPACE_END_RANGE_KHR: VkColorSpaceKHR =
|
|
|
|
VkColorSpaceKHR::VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkColorSpaceKHR {
|
|
|
|
VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
|
|
|
|
VK_COLOR_SPACE_RANGE_SIZE_KHR = 1,
|
|
|
|
VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkPresentModeKHR_VK_PRESENT_MODE_BEGIN_RANGE_KHR: VkPresentModeKHR =
|
|
|
|
VkPresentModeKHR::VK_PRESENT_MODE_IMMEDIATE_KHR;
|
|
|
|
pub const VkPresentModeKHR_VK_PRESENT_MODE_END_RANGE_KHR: VkPresentModeKHR =
|
|
|
|
VkPresentModeKHR::VK_PRESENT_MODE_FIFO_RELAXED_KHR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPresentModeKHR {
|
|
|
|
VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
|
|
|
|
VK_PRESENT_MODE_MAILBOX_KHR = 1,
|
|
|
|
VK_PRESENT_MODE_FIFO_KHR = 2,
|
|
|
|
VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
|
|
|
|
VK_PRESENT_MODE_RANGE_SIZE_KHR = 4,
|
|
|
|
VK_PRESENT_MODE_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSurfaceTransformFlagBitsKHR {
|
|
|
|
VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
|
|
|
|
VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
|
|
|
|
VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
|
|
|
|
VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
|
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
|
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
|
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
|
|
|
|
VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
|
|
|
|
VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256,
|
|
|
|
VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSurfaceTransformFlagsKHR = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkCompositeAlphaFlagBitsKHR {
|
|
|
|
VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
|
|
|
|
VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
|
|
|
|
VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
|
|
|
|
VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8,
|
|
|
|
VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkCompositeAlphaFlagsKHR = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSurfaceCapabilitiesKHR {
|
|
|
|
pub minImageCount: u32,
|
|
|
|
pub maxImageCount: u32,
|
|
|
|
pub currentExtent: VkExtent2D,
|
|
|
|
pub minImageExtent: VkExtent2D,
|
|
|
|
pub maxImageExtent: VkExtent2D,
|
|
|
|
pub maxImageArrayLayers: u32,
|
|
|
|
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
|
|
|
|
pub currentTransform: VkSurfaceTransformFlagBitsKHR,
|
|
|
|
pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
|
|
|
|
pub supportedUsageFlags: VkImageUsageFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkSurfaceCapabilitiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSurfaceFormatKHR {
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub colorSpace: VkColorSpaceKHR,
|
|
|
|
}
|
|
|
|
impl Clone for VkSurfaceFormatKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkDestroySurfaceKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSurfaceSupportKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
queueFamilyIndex: u32,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSupported: *mut VkBool32)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceCapabilities:
|
|
|
|
*mut VkSurfaceCapabilitiesKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceFormatCount: *mut u32,
|
|
|
|
pSurfaceFormats:
|
|
|
|
*mut VkSurfaceFormatKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pPresentModeCount: *mut u32,
|
|
|
|
pPresentModes:
|
|
|
|
*mut VkPresentModeKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroySurfaceKHR(instance: VkInstance, surface: VkSurfaceKHR,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
queueFamilyIndex: u32,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSupported: *mut VkBool32)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceCapabilities:
|
|
|
|
*mut VkSurfaceCapabilitiesKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceFormatCount: *mut u32,
|
|
|
|
pSurfaceFormats:
|
|
|
|
*mut VkSurfaceFormatKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pPresentModeCount:
|
|
|
|
*mut u32,
|
|
|
|
pPresentModes:
|
|
|
|
*mut VkPresentModeKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkSwapchainKHR_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkSwapchainKHR = *mut VkSwapchainKHR_T;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSwapchainCreateFlagBitsKHR {
|
|
|
|
VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = 1,
|
|
|
|
VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSwapchainCreateFlagsKHR = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSwapchainCreateInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkSwapchainCreateFlagsKHR,
|
|
|
|
pub surface: VkSurfaceKHR,
|
|
|
|
pub minImageCount: u32,
|
|
|
|
pub imageFormat: VkFormat,
|
|
|
|
pub imageColorSpace: VkColorSpaceKHR,
|
|
|
|
pub imageExtent: VkExtent2D,
|
|
|
|
pub imageArrayLayers: u32,
|
|
|
|
pub imageUsage: VkImageUsageFlags,
|
|
|
|
pub imageSharingMode: VkSharingMode,
|
|
|
|
pub queueFamilyIndexCount: u32,
|
|
|
|
pub pQueueFamilyIndices: *const u32,
|
|
|
|
pub preTransform: VkSurfaceTransformFlagBitsKHR,
|
|
|
|
pub compositeAlpha: VkCompositeAlphaFlagBitsKHR,
|
|
|
|
pub presentMode: VkPresentModeKHR,
|
|
|
|
pub clipped: VkBool32,
|
|
|
|
pub oldSwapchain: VkSwapchainKHR,
|
|
|
|
}
|
|
|
|
impl Clone for VkSwapchainCreateInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPresentInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub waitSemaphoreCount: u32,
|
|
|
|
pub pWaitSemaphores: *const VkSemaphore,
|
|
|
|
pub swapchainCount: u32,
|
|
|
|
pub pSwapchains: *const VkSwapchainKHR,
|
|
|
|
pub pImageIndices: *const u32,
|
|
|
|
pub pResults: *mut VkResult,
|
|
|
|
}
|
|
|
|
impl Clone for VkPresentInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCreateSwapchainKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkSwapchainCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSwapchain:
|
|
|
|
*mut VkSwapchainKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroySwapchainKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkGetSwapchainImagesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
pSwapchainImageCount: *mut u32,
|
|
|
|
pSwapchainImages: *mut VkImage)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkAcquireNextImageKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
timeout: u64,
|
|
|
|
semaphore: VkSemaphore,
|
|
|
|
fence: VkFence,
|
|
|
|
pImageIndex: *mut u32)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkQueuePresentKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(queue: VkQueue,
|
|
|
|
pPresentInfo:
|
|
|
|
*const VkPresentInfoKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateSwapchainKHR(device: VkDevice,
|
|
|
|
pCreateInfo: *const VkSwapchainCreateInfoKHR,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pSwapchain: *mut VkSwapchainKHR) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroySwapchainKHR(device: VkDevice, swapchain: VkSwapchainKHR,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetSwapchainImagesKHR(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
pSwapchainImageCount: *mut u32,
|
|
|
|
pSwapchainImages: *mut VkImage)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkAcquireNextImageKHR(device: VkDevice, swapchain: VkSwapchainKHR,
|
|
|
|
timeout: u64, semaphore: VkSemaphore,
|
|
|
|
fence: VkFence, pImageIndex: *mut u32)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkQueuePresentKHR(queue: VkQueue,
|
|
|
|
pPresentInfo: *const VkPresentInfoKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDisplayKHR_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDisplayKHR = *mut VkDisplayKHR_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDisplayModeKHR_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDisplayModeKHR = *mut VkDisplayModeKHR_T;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDisplayPlaneAlphaFlagBitsKHR {
|
|
|
|
VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 1,
|
|
|
|
VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 2,
|
|
|
|
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 4,
|
|
|
|
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 8,
|
|
|
|
VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDisplayPlaneAlphaFlagsKHR = VkFlags;
|
|
|
|
pub type VkDisplayModeCreateFlagsKHR = VkFlags;
|
|
|
|
pub type VkDisplaySurfaceCreateFlagsKHR = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayPropertiesKHR {
|
|
|
|
pub display: VkDisplayKHR,
|
|
|
|
pub displayName: *const ::std::os::raw::c_char,
|
|
|
|
pub physicalDimensions: VkExtent2D,
|
|
|
|
pub physicalResolution: VkExtent2D,
|
|
|
|
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
|
|
|
|
pub planeReorderPossible: VkBool32,
|
|
|
|
pub persistentContent: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayPropertiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayModeParametersKHR {
|
|
|
|
pub visibleRegion: VkExtent2D,
|
|
|
|
pub refreshRate: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayModeParametersKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayModePropertiesKHR {
|
|
|
|
pub displayMode: VkDisplayModeKHR,
|
|
|
|
pub parameters: VkDisplayModeParametersKHR,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayModePropertiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayModeCreateInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDisplayModeCreateFlagsKHR,
|
|
|
|
pub parameters: VkDisplayModeParametersKHR,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayModeCreateInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayPlaneCapabilitiesKHR {
|
|
|
|
pub supportedAlpha: VkDisplayPlaneAlphaFlagsKHR,
|
|
|
|
pub minSrcPosition: VkOffset2D,
|
|
|
|
pub maxSrcPosition: VkOffset2D,
|
|
|
|
pub minSrcExtent: VkExtent2D,
|
|
|
|
pub maxSrcExtent: VkExtent2D,
|
|
|
|
pub minDstPosition: VkOffset2D,
|
|
|
|
pub maxDstPosition: VkOffset2D,
|
|
|
|
pub minDstExtent: VkExtent2D,
|
|
|
|
pub maxDstExtent: VkExtent2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayPlaneCapabilitiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayPlanePropertiesKHR {
|
|
|
|
pub currentDisplay: VkDisplayKHR,
|
|
|
|
pub currentStackIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayPlanePropertiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplaySurfaceCreateInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDisplaySurfaceCreateFlagsKHR,
|
|
|
|
pub displayMode: VkDisplayModeKHR,
|
|
|
|
pub planeIndex: u32,
|
|
|
|
pub planeStackIndex: u32,
|
|
|
|
pub transform: VkSurfaceTransformFlagBitsKHR,
|
|
|
|
pub globalAlpha: f32,
|
|
|
|
pub alphaMode: VkDisplayPlaneAlphaFlagBitsKHR,
|
|
|
|
pub imageExtent: VkExtent2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplaySurfaceCreateInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayPropertiesKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayPlanePropertiesKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDisplayPlaneSupportedDisplaysKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
planeIndex: u32,
|
|
|
|
pDisplayCount: *mut u32,
|
|
|
|
pDisplays: *mut VkDisplayKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDisplayModePropertiesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayModePropertiesKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCreateDisplayModeKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDisplayModeCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pMode: *mut VkDisplayModeKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDisplayPlaneCapabilitiesKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
mode: VkDisplayModeKHR,
|
|
|
|
planeIndex: u32,
|
|
|
|
pCapabilities:
|
|
|
|
*mut VkDisplayPlaneCapabilitiesKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCreateDisplayPlaneSurfaceKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDisplaySurfaceCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSurface: *mut VkSurfaceKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayPropertiesKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayPlanePropertiesKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
planeIndex: u32,
|
|
|
|
pDisplayCount: *mut u32,
|
|
|
|
pDisplays: *mut VkDisplayKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDisplayModePropertiesKHR(physicalDevice: VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkDisplayModePropertiesKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDisplayModeKHR(physicalDevice: VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDisplayModeCreateInfoKHR,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pMode: *mut VkDisplayModeKHR) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDisplayPlaneCapabilitiesKHR(physicalDevice: VkPhysicalDevice,
|
|
|
|
mode: VkDisplayModeKHR,
|
|
|
|
planeIndex: u32,
|
|
|
|
pCapabilities:
|
|
|
|
*mut VkDisplayPlaneCapabilitiesKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDisplayPlaneSurfaceKHR(instance: VkInstance,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDisplaySurfaceCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSurface: *mut VkSurfaceKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayPresentInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub srcRect: VkRect2D,
|
|
|
|
pub dstRect: VkRect2D,
|
|
|
|
pub persistent: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayPresentInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCreateSharedSwapchainsKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
swapchainCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkSwapchainCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSwapchains:
|
|
|
|
*mut VkSwapchainKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateSharedSwapchainsKHR(device: VkDevice, swapchainCount: u32,
|
|
|
|
pCreateInfos:
|
|
|
|
*const VkSwapchainCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pSwapchains: *mut VkSwapchainKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceFeatures2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub features: VkPhysicalDeviceFeatures,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceFeatures2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkPhysicalDeviceProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub properties: VkPhysicalDeviceProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkFormatProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub formatProperties: VkFormatProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkFormatProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageFormatProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub imageFormatProperties: VkImageFormatProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageFormatProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceImageFormatInfo2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub type_: VkImageType,
|
|
|
|
pub tiling: VkImageTiling,
|
|
|
|
pub usage: VkImageUsageFlags,
|
|
|
|
pub flags: VkImageCreateFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceImageFormatInfo2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkQueueFamilyProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub queueFamilyProperties: VkQueueFamilyProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkQueueFamilyProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceMemoryProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub memoryProperties: VkPhysicalDeviceMemoryProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceMemoryProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSparseImageFormatProperties2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub properties: VkSparseImageFormatProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkSparseImageFormatProperties2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceSparseImageFormatInfo2KHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub type_: VkImageType,
|
|
|
|
pub samples: VkSampleCountFlagBits,
|
|
|
|
pub usage: VkImageUsageFlags,
|
|
|
|
pub tiling: VkImageTiling,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceSparseImageFormatInfo2KHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceFeatures2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkPhysicalDeviceFeatures2KHR)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties2KHR)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
pFormatProperties:
|
|
|
|
*mut VkFormatProperties2KHR)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pImageFormatInfo:
|
|
|
|
*const VkPhysicalDeviceImageFormatInfo2KHR,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties2KHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pQueueFamilyPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pQueueFamilyProperties:
|
|
|
|
*mut VkQueueFamilyProperties2KHR)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pMemoryProperties:
|
|
|
|
*mut VkPhysicalDeviceMemoryProperties2KHR)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFormatInfo:
|
|
|
|
*const VkPhysicalDeviceSparseImageFormatInfo2KHR,
|
|
|
|
pPropertyCount: *mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkSparseImageFormatProperties2KHR)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceFeatures2KHR(physicalDevice: VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkPhysicalDeviceFeatures2KHR);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceProperties2KHR(physicalDevice: VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties2KHR);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
pFormatProperties:
|
|
|
|
*mut VkFormatProperties2KHR);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pImageFormatInfo:
|
|
|
|
*const VkPhysicalDeviceImageFormatInfo2KHR,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties2KHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pQueueFamilyPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pQueueFamilyProperties:
|
|
|
|
*mut VkQueueFamilyProperties2KHR);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pMemoryProperties:
|
|
|
|
*mut VkPhysicalDeviceMemoryProperties2KHR);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFormatInfo:
|
|
|
|
*const VkPhysicalDeviceSparseImageFormatInfo2KHR,
|
|
|
|
pPropertyCount:
|
|
|
|
*mut u32,
|
|
|
|
pProperties:
|
|
|
|
*mut VkSparseImageFormatProperties2KHR);
|
|
|
|
}
|
|
|
|
pub type VkCommandPoolTrimFlagsKHR = VkFlags;
|
|
|
|
pub type PFN_vkTrimCommandPoolKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
commandPool: VkCommandPool,
|
|
|
|
flags:
|
|
|
|
VkCommandPoolTrimFlagsKHR)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkTrimCommandPoolKHR(device: VkDevice, commandPool: VkCommandPool,
|
|
|
|
flags: VkCommandPoolTrimFlagsKHR);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDevicePushDescriptorPropertiesKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub maxPushDescriptors: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDevicePushDescriptorPropertiesKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCmdPushDescriptorSetKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint:
|
|
|
|
VkPipelineBindPoint,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
set: u32,
|
|
|
|
descriptorWriteCount: u32,
|
|
|
|
pDescriptorWrites:
|
|
|
|
*const VkWriteDescriptorSet)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdPushDescriptorSetKHR(commandBuffer: VkCommandBuffer,
|
|
|
|
pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
layout: VkPipelineLayout, set: u32,
|
|
|
|
descriptorWriteCount: u32,
|
|
|
|
pDescriptorWrites:
|
|
|
|
*const VkWriteDescriptorSet);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDescriptorUpdateTemplateKHR_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDescriptorUpdateTemplateKHR = *mut VkDescriptorUpdateTemplateKHR_T;
|
|
|
|
pub const VkDescriptorUpdateTemplateTypeKHR_VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR:
|
|
|
|
VkDescriptorUpdateTemplateTypeKHR =
|
|
|
|
VkDescriptorUpdateTemplateTypeKHR::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR;
|
|
|
|
pub const VkDescriptorUpdateTemplateTypeKHR_VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR:
|
|
|
|
VkDescriptorUpdateTemplateTypeKHR =
|
|
|
|
VkDescriptorUpdateTemplateTypeKHR::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDescriptorUpdateTemplateTypeKHR {
|
|
|
|
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0,
|
|
|
|
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
|
|
|
|
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR = 2,
|
|
|
|
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDescriptorUpdateTemplateCreateFlagsKHR = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorUpdateTemplateEntryKHR {
|
|
|
|
pub dstBinding: u32,
|
|
|
|
pub dstArrayElement: u32,
|
|
|
|
pub descriptorCount: u32,
|
|
|
|
pub descriptorType: VkDescriptorType,
|
|
|
|
pub offset: usize,
|
|
|
|
pub stride: usize,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorUpdateTemplateEntryKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDescriptorUpdateTemplateCreateInfoKHR {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDescriptorUpdateTemplateCreateFlagsKHR,
|
|
|
|
pub descriptorUpdateEntryCount: u32,
|
|
|
|
pub pDescriptorUpdateEntries: *const VkDescriptorUpdateTemplateEntryKHR,
|
|
|
|
pub templateType: VkDescriptorUpdateTemplateTypeKHR,
|
|
|
|
pub descriptorSetLayout: VkDescriptorSetLayout,
|
|
|
|
pub pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
pub pipelineLayout: VkPipelineLayout,
|
|
|
|
pub set: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDescriptorUpdateTemplateCreateInfoKHR {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCreateDescriptorUpdateTemplateKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorUpdateTemplateCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pDescriptorUpdateTemplate:
|
|
|
|
*mut VkDescriptorUpdateTemplateKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyDescriptorUpdateTemplateKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkUpdateDescriptorSetWithTemplateKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
descriptorSet: VkDescriptorSet,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
pData:
|
|
|
|
*const ::std::os::raw::c_void)>;
|
|
|
|
pub type PFN_vkCmdPushDescriptorSetWithTemplateKHR =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
set: u32,
|
|
|
|
pData:
|
|
|
|
*const ::std::os::raw::c_void)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDescriptorUpdateTemplateKHR(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDescriptorUpdateTemplateCreateInfoKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pDescriptorUpdateTemplate:
|
|
|
|
*mut VkDescriptorUpdateTemplateKHR)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyDescriptorUpdateTemplateKHR(device: VkDevice,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkUpdateDescriptorSetWithTemplateKHR(device: VkDevice,
|
|
|
|
descriptorSet:
|
|
|
|
VkDescriptorSet,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
pData:
|
|
|
|
*const ::std::os::raw::c_void);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer:
|
|
|
|
VkCommandBuffer,
|
|
|
|
descriptorUpdateTemplate:
|
|
|
|
VkDescriptorUpdateTemplateKHR,
|
|
|
|
layout: VkPipelineLayout,
|
|
|
|
set: u32,
|
|
|
|
pData:
|
|
|
|
*const ::std::os::raw::c_void);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkDebugReportCallbackEXT_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkDebugReportCallbackEXT = *mut VkDebugReportCallbackEXT_T;
|
|
|
|
pub const VkDebugReportObjectTypeEXT_VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT:
|
|
|
|
VkDebugReportObjectTypeEXT =
|
|
|
|
VkDebugReportObjectTypeEXT::VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;
|
|
|
|
pub const VkDebugReportObjectTypeEXT_VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT:
|
|
|
|
VkDebugReportObjectTypeEXT =
|
|
|
|
VkDebugReportObjectTypeEXT::VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub 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_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,
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = 33,
|
|
|
|
VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkDebugReportErrorEXT_VK_DEBUG_REPORT_ERROR_BEGIN_RANGE_EXT:
|
|
|
|
VkDebugReportErrorEXT =
|
|
|
|
VkDebugReportErrorEXT::VK_DEBUG_REPORT_ERROR_NONE_EXT;
|
|
|
|
pub const VkDebugReportErrorEXT_VK_DEBUG_REPORT_ERROR_END_RANGE_EXT:
|
|
|
|
VkDebugReportErrorEXT =
|
|
|
|
VkDebugReportErrorEXT::VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDebugReportErrorEXT {
|
|
|
|
VK_DEBUG_REPORT_ERROR_NONE_EXT = 0,
|
|
|
|
VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT = 1,
|
|
|
|
VK_DEBUG_REPORT_ERROR_RANGE_SIZE_EXT = 2,
|
|
|
|
VK_DEBUG_REPORT_ERROR_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDebugReportFlagBitsEXT {
|
|
|
|
VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1,
|
|
|
|
VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
|
|
|
|
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
|
|
|
|
VK_DEBUG_REPORT_ERROR_BIT_EXT = 8,
|
|
|
|
VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16,
|
|
|
|
VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDebugReportFlagsEXT = VkFlags;
|
|
|
|
pub type PFN_vkDebugReportCallbackEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(flags: VkDebugReportFlagsEXT,
|
|
|
|
objectType:
|
|
|
|
VkDebugReportObjectTypeEXT,
|
|
|
|
object: u64, location: usize,
|
|
|
|
messageCode: i32,
|
|
|
|
pLayerPrefix:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pMessage:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pUserData:
|
|
|
|
*mut ::std::os::raw::c_void)
|
|
|
|
-> VkBool32>;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDebugReportCallbackCreateInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkDebugReportFlagsEXT,
|
|
|
|
pub pfnCallback: PFN_vkDebugReportCallbackEXT,
|
|
|
|
pub pUserData: *mut ::std::os::raw::c_void,
|
|
|
|
}
|
|
|
|
impl Clone for VkDebugReportCallbackCreateInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCreateDebugReportCallbackEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDebugReportCallbackCreateInfoEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pCallback:
|
|
|
|
*mut VkDebugReportCallbackEXT)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyDebugReportCallbackEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
callback:
|
|
|
|
VkDebugReportCallbackEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkDebugReportMessageEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
flags: VkDebugReportFlagsEXT,
|
|
|
|
objectType:
|
|
|
|
VkDebugReportObjectTypeEXT,
|
|
|
|
object: u64, location: usize,
|
|
|
|
messageCode: i32,
|
|
|
|
pLayerPrefix:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pMessage:
|
|
|
|
*const ::std::os::raw::c_char)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateDebugReportCallbackEXT(instance: VkInstance,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkDebugReportCallbackCreateInfoEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pCallback:
|
|
|
|
*mut VkDebugReportCallbackEXT)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyDebugReportCallbackEXT(instance: VkInstance,
|
|
|
|
callback: VkDebugReportCallbackEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDebugReportMessageEXT(instance: VkInstance,
|
|
|
|
flags: VkDebugReportFlagsEXT,
|
|
|
|
objectType: VkDebugReportObjectTypeEXT,
|
|
|
|
object: u64, location: usize,
|
|
|
|
messageCode: i32,
|
|
|
|
pLayerPrefix:
|
|
|
|
*const ::std::os::raw::c_char,
|
|
|
|
pMessage: *const ::std::os::raw::c_char);
|
|
|
|
}
|
|
|
|
pub const VkRasterizationOrderAMD_VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD:
|
|
|
|
VkRasterizationOrderAMD =
|
|
|
|
VkRasterizationOrderAMD::VK_RASTERIZATION_ORDER_STRICT_AMD;
|
|
|
|
pub const VkRasterizationOrderAMD_VK_RASTERIZATION_ORDER_END_RANGE_AMD:
|
|
|
|
VkRasterizationOrderAMD =
|
|
|
|
VkRasterizationOrderAMD::VK_RASTERIZATION_ORDER_RELAXED_AMD;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkRasterizationOrderAMD {
|
|
|
|
VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
|
|
|
|
VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
|
|
|
|
VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = 2,
|
|
|
|
VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineRasterizationStateRasterizationOrderAMD {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub rasterizationOrder: VkRasterizationOrderAMD,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineRasterizationStateRasterizationOrderAMD {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDebugMarkerObjectNameInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub objectType: VkDebugReportObjectTypeEXT,
|
|
|
|
pub object: u64,
|
|
|
|
pub pObjectName: *const ::std::os::raw::c_char,
|
|
|
|
}
|
|
|
|
impl Clone for VkDebugMarkerObjectNameInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDebugMarkerObjectTagInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub objectType: VkDebugReportObjectTypeEXT,
|
|
|
|
pub object: u64,
|
|
|
|
pub tagName: u64,
|
|
|
|
pub tagSize: usize,
|
|
|
|
pub pTag: *const ::std::os::raw::c_void,
|
|
|
|
}
|
|
|
|
impl Clone for VkDebugMarkerObjectTagInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDebugMarkerMarkerInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub pMarkerName: *const ::std::os::raw::c_char,
|
|
|
|
pub color: [f32; 4usize],
|
|
|
|
}
|
|
|
|
impl Clone for VkDebugMarkerMarkerInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkDebugMarkerSetObjectTagEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pTagInfo:
|
|
|
|
*mut VkDebugMarkerObjectTagInfoEXT)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDebugMarkerSetObjectNameEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pNameInfo:
|
|
|
|
*mut VkDebugMarkerObjectNameInfoEXT)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCmdDebugMarkerBeginEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pMarkerInfo:
|
|
|
|
*mut VkDebugMarkerMarkerInfoEXT)>;
|
|
|
|
pub type PFN_vkCmdDebugMarkerEndEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer:
|
|
|
|
VkCommandBuffer)>;
|
|
|
|
pub type PFN_vkCmdDebugMarkerInsertEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pMarkerInfo:
|
|
|
|
*mut VkDebugMarkerMarkerInfoEXT)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDebugMarkerSetObjectTagEXT(device: VkDevice,
|
|
|
|
pTagInfo:
|
|
|
|
*mut VkDebugMarkerObjectTagInfoEXT)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDebugMarkerSetObjectNameEXT(device: VkDevice,
|
|
|
|
pNameInfo:
|
|
|
|
*mut VkDebugMarkerObjectNameInfoEXT)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDebugMarkerBeginEXT(commandBuffer: VkCommandBuffer,
|
|
|
|
pMarkerInfo:
|
|
|
|
*mut VkDebugMarkerMarkerInfoEXT);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDebugMarkerEndEXT(commandBuffer: VkCommandBuffer);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDebugMarkerInsertEXT(commandBuffer: VkCommandBuffer,
|
|
|
|
pMarkerInfo:
|
|
|
|
*mut VkDebugMarkerMarkerInfoEXT);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDedicatedAllocationImageCreateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub dedicatedAllocation: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDedicatedAllocationImageCreateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDedicatedAllocationBufferCreateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub dedicatedAllocation: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDedicatedAllocationBufferCreateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDedicatedAllocationMemoryAllocateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub image: VkImage,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
}
|
|
|
|
impl Clone for VkDedicatedAllocationMemoryAllocateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCmdDrawIndirectCountAMD =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
countBuffer: VkBuffer,
|
|
|
|
countBufferOffset:
|
|
|
|
VkDeviceSize,
|
|
|
|
maxDrawCount: u32,
|
|
|
|
stride: u32)>;
|
|
|
|
pub type PFN_vkCmdDrawIndexedIndirectCountAMD =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
countBuffer: VkBuffer,
|
|
|
|
countBufferOffset:
|
|
|
|
VkDeviceSize,
|
|
|
|
maxDrawCount: u32,
|
|
|
|
stride: u32)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDrawIndirectCountAMD(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer, offset: VkDeviceSize,
|
|
|
|
countBuffer: VkBuffer,
|
|
|
|
countBufferOffset: VkDeviceSize,
|
|
|
|
maxDrawCount: u32, stride: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDrawIndexedIndirectCountAMD(commandBuffer: VkCommandBuffer,
|
|
|
|
buffer: VkBuffer,
|
|
|
|
offset: VkDeviceSize,
|
|
|
|
countBuffer: VkBuffer,
|
|
|
|
countBufferOffset: VkDeviceSize,
|
|
|
|
maxDrawCount: u32, stride: u32);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkRenderPassMultiviewCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub subpassCount: u32,
|
|
|
|
pub pViewMasks: *const u32,
|
|
|
|
pub dependencyCount: u32,
|
|
|
|
pub pViewOffsets: *const i32,
|
|
|
|
pub correlationMaskCount: u32,
|
|
|
|
pub pCorrelationMasks: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkRenderPassMultiviewCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceMultiviewFeaturesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub multiview: VkBool32,
|
|
|
|
pub multiviewGeometryShader: VkBool32,
|
|
|
|
pub multiviewTessellationShader: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceMultiviewFeaturesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceMultiviewPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub maxMultiviewViewCount: u32,
|
|
|
|
pub maxMultiviewInstanceIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceMultiviewPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalMemoryHandleTypeFlagBitsNV {
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 1,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 2,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 4,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 8,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalMemoryHandleTypeFlagsNV = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalMemoryFeatureFlagBitsNV {
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 1,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 2,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 4,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalMemoryFeatureFlagsNV = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalImageFormatPropertiesNV {
|
|
|
|
pub imageFormatProperties: VkImageFormatProperties,
|
|
|
|
pub externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV,
|
|
|
|
pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalImageFormatPropertiesNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format: VkFormat,
|
|
|
|
type_: VkImageType,
|
|
|
|
tiling: VkImageTiling,
|
|
|
|
usage: VkImageUsageFlags,
|
|
|
|
flags: VkImageCreateFlags,
|
|
|
|
externalHandleType:
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
pExternalImageFormatProperties:
|
|
|
|
*mut VkExternalImageFormatPropertiesNV)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
format:
|
|
|
|
VkFormat,
|
|
|
|
type_:
|
|
|
|
VkImageType,
|
|
|
|
tiling:
|
|
|
|
VkImageTiling,
|
|
|
|
usage:
|
|
|
|
VkImageUsageFlags,
|
|
|
|
flags:
|
|
|
|
VkImageCreateFlags,
|
|
|
|
externalHandleType:
|
|
|
|
VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
pExternalImageFormatProperties:
|
|
|
|
*mut VkExternalImageFormatPropertiesNV)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalMemoryImageCreateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalMemoryImageCreateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExportMemoryAllocateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalMemoryHandleTypeFlagsNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkExportMemoryAllocateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkPeerMemoryFeatureFlagBitsKHX {
|
|
|
|
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = 1,
|
|
|
|
VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = 2,
|
|
|
|
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = 4,
|
|
|
|
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = 8,
|
|
|
|
VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPeerMemoryFeatureFlagsKHX = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkMemoryAllocateFlagBitsKHX {
|
|
|
|
VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = 1,
|
|
|
|
VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkMemoryAllocateFlagsKHX = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDeviceGroupPresentModeFlagBitsKHX {
|
|
|
|
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = 1,
|
|
|
|
VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = 2,
|
|
|
|
VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = 4,
|
|
|
|
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = 8,
|
|
|
|
VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkDeviceGroupPresentModeFlagsKHX = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryAllocateFlagsInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkMemoryAllocateFlagsKHX,
|
|
|
|
pub deviceMask: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryAllocateFlagsInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBindBufferMemoryInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub memory: VkDeviceMemory,
|
|
|
|
pub memoryOffset: VkDeviceSize,
|
|
|
|
pub deviceIndexCount: u32,
|
|
|
|
pub pDeviceIndices: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkBindBufferMemoryInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBindImageMemoryInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub image: VkImage,
|
|
|
|
pub memory: VkDeviceMemory,
|
|
|
|
pub memoryOffset: VkDeviceSize,
|
|
|
|
pub deviceIndexCount: u32,
|
|
|
|
pub pDeviceIndices: *const u32,
|
|
|
|
pub SFRRectCount: u32,
|
|
|
|
pub pSFRRects: *const VkRect2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkBindImageMemoryInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupRenderPassBeginInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub deviceMask: u32,
|
|
|
|
pub deviceRenderAreaCount: u32,
|
|
|
|
pub pDeviceRenderAreas: *const VkRect2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupRenderPassBeginInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupCommandBufferBeginInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub deviceMask: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupCommandBufferBeginInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupSubmitInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub waitSemaphoreCount: u32,
|
|
|
|
pub pWaitSemaphoreDeviceIndices: *const u32,
|
|
|
|
pub commandBufferCount: u32,
|
|
|
|
pub pCommandBufferDeviceMasks: *const u32,
|
|
|
|
pub signalSemaphoreCount: u32,
|
|
|
|
pub pSignalSemaphoreDeviceIndices: *const u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupSubmitInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupBindSparseInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub resourceDeviceIndex: u32,
|
|
|
|
pub memoryDeviceIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupBindSparseInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupPresentCapabilitiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub presentMask: [u32; 32usize],
|
|
|
|
pub modes: VkDeviceGroupPresentModeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupPresentCapabilitiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageSwapchainCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub swapchain: VkSwapchainKHR,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageSwapchainCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkBindImageMemorySwapchainInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub swapchain: VkSwapchainKHR,
|
|
|
|
pub imageIndex: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkBindImageMemorySwapchainInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkAcquireNextImageInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub swapchain: VkSwapchainKHR,
|
|
|
|
pub timeout: u64,
|
|
|
|
pub semaphore: VkSemaphore,
|
|
|
|
pub fence: VkFence,
|
|
|
|
pub deviceMask: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkAcquireNextImageInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupPresentInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub swapchainCount: u32,
|
|
|
|
pub pDeviceMasks: *const u32,
|
|
|
|
pub mode: VkDeviceGroupPresentModeFlagBitsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupPresentInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupSwapchainCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub modes: VkDeviceGroupPresentModeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupSwapchainCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
heapIndex: u32,
|
|
|
|
localDeviceIndex: u32,
|
|
|
|
remoteDeviceIndex: u32,
|
|
|
|
pPeerMemoryFeatures:
|
|
|
|
*mut VkPeerMemoryFeatureFlagsKHX)>;
|
|
|
|
pub type PFN_vkBindBufferMemory2KHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
bindInfoCount: u32,
|
|
|
|
pBindInfos:
|
|
|
|
*const VkBindBufferMemoryInfoKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkBindImageMemory2KHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
bindInfoCount: u32,
|
|
|
|
pBindInfos:
|
|
|
|
*const VkBindImageMemoryInfoKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCmdSetDeviceMaskKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
deviceMask: u32)>;
|
|
|
|
pub type PFN_vkGetDeviceGroupPresentCapabilitiesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pDeviceGroupPresentCapabilities:
|
|
|
|
*mut VkDeviceGroupPresentCapabilitiesKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetDeviceGroupSurfacePresentModesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pModes:
|
|
|
|
*mut VkDeviceGroupPresentModeFlagsKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkAcquireNextImage2KHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pAcquireInfo:
|
|
|
|
*const VkAcquireNextImageInfoKHX,
|
|
|
|
pImageIndex: *mut u32)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkCmdDispatchBaseKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
baseGroupX: u32,
|
|
|
|
baseGroupY: u32,
|
|
|
|
baseGroupZ: u32,
|
|
|
|
groupCountX: u32,
|
|
|
|
groupCountY: u32,
|
|
|
|
groupCountZ: u32)>;
|
|
|
|
pub type PFN_vkGetPhysicalDevicePresentRectanglesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pRectCount: *mut u32,
|
|
|
|
pRects: *mut VkRect2D)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceGroupPeerMemoryFeaturesKHX(device: VkDevice,
|
|
|
|
heapIndex: u32,
|
|
|
|
localDeviceIndex: u32,
|
|
|
|
remoteDeviceIndex: u32,
|
|
|
|
pPeerMemoryFeatures:
|
|
|
|
*mut VkPeerMemoryFeatureFlagsKHX);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkBindBufferMemory2KHX(device: VkDevice, bindInfoCount: u32,
|
|
|
|
pBindInfos:
|
|
|
|
*const VkBindBufferMemoryInfoKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkBindImageMemory2KHX(device: VkDevice, bindInfoCount: u32,
|
|
|
|
pBindInfos: *const VkBindImageMemoryInfoKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetDeviceMaskKHX(commandBuffer: VkCommandBuffer,
|
|
|
|
deviceMask: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceGroupPresentCapabilitiesKHX(device: VkDevice,
|
|
|
|
pDeviceGroupPresentCapabilities:
|
|
|
|
*mut VkDeviceGroupPresentCapabilitiesKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetDeviceGroupSurfacePresentModesKHX(device: VkDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pModes:
|
|
|
|
*mut VkDeviceGroupPresentModeFlagsKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkAcquireNextImage2KHX(device: VkDevice,
|
|
|
|
pAcquireInfo:
|
|
|
|
*const VkAcquireNextImageInfoKHX,
|
|
|
|
pImageIndex: *mut u32) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdDispatchBaseKHX(commandBuffer: VkCommandBuffer,
|
|
|
|
baseGroupX: u32, baseGroupY: u32,
|
|
|
|
baseGroupZ: u32, groupCountX: u32,
|
|
|
|
groupCountY: u32, groupCountZ: u32);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDevicePresentRectanglesKHX(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pRectCount: *mut u32,
|
|
|
|
pRects: *mut VkRect2D)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
pub const VkValidationCheckEXT_VK_VALIDATION_CHECK_BEGIN_RANGE_EXT:
|
|
|
|
VkValidationCheckEXT =
|
|
|
|
VkValidationCheckEXT::VK_VALIDATION_CHECK_ALL_EXT;
|
|
|
|
pub const VkValidationCheckEXT_VK_VALIDATION_CHECK_END_RANGE_EXT:
|
|
|
|
VkValidationCheckEXT =
|
|
|
|
VkValidationCheckEXT::VK_VALIDATION_CHECK_ALL_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkValidationCheckEXT {
|
|
|
|
VK_VALIDATION_CHECK_ALL_EXT = 0,
|
|
|
|
VK_VALIDATION_CHECK_RANGE_SIZE_EXT = 1,
|
|
|
|
VK_VALIDATION_CHECK_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkValidationFlagsEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub disabledValidationCheckCount: u32,
|
|
|
|
pub pDisabledValidationChecks: *mut VkValidationCheckEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkValidationFlagsEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceGroupPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub physicalDeviceCount: u32,
|
|
|
|
pub physicalDevices: [VkPhysicalDevice; 32usize],
|
|
|
|
pub subsetAllocation: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceGroupPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGroupDeviceCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub physicalDeviceCount: u32,
|
|
|
|
pub pPhysicalDevices: *const VkPhysicalDevice,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGroupDeviceCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkEnumeratePhysicalDeviceGroupsKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(instance: VkInstance,
|
|
|
|
pPhysicalDeviceGroupCount:
|
|
|
|
*mut u32,
|
|
|
|
pPhysicalDeviceGroupProperties:
|
|
|
|
*mut VkPhysicalDeviceGroupPropertiesKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkEnumeratePhysicalDeviceGroupsKHX(instance: VkInstance,
|
|
|
|
pPhysicalDeviceGroupCount:
|
|
|
|
*mut u32,
|
|
|
|
pPhysicalDeviceGroupProperties:
|
|
|
|
*mut VkPhysicalDeviceGroupPropertiesKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalMemoryHandleTypeFlagBitsKHX {
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHX = 1,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHX = 2,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHX = 4,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHX = 8,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHX = 16,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHX = 32,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHX = 64,
|
|
|
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalMemoryHandleTypeFlagsKHX = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalMemoryFeatureFlagBitsKHX {
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHX = 1,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHX = 2,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHX = 4,
|
|
|
|
VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalMemoryFeatureFlagsKHX = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalMemoryPropertiesKHX {
|
|
|
|
pub externalMemoryFeatures: VkExternalMemoryFeatureFlagsKHX,
|
|
|
|
pub exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsKHX,
|
|
|
|
pub compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalMemoryPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceExternalImageFormatInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleType: VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceExternalImageFormatInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalImageFormatPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub externalMemoryProperties: VkExternalMemoryPropertiesKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalImageFormatPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceExternalBufferInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkBufferCreateFlags,
|
|
|
|
pub usage: VkBufferUsageFlags,
|
|
|
|
pub handleType: VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceExternalBufferInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalBufferPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub externalMemoryProperties: VkExternalMemoryPropertiesKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalBufferPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceIDPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub deviceUUID: [u8; 16usize],
|
|
|
|
pub driverUUID: [u8; 16usize],
|
|
|
|
pub deviceLUID: [u8; 8usize],
|
|
|
|
pub deviceLUIDValid: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceIDPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Copy)]
|
|
|
|
pub struct VkPhysicalDeviceProperties2KHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub properties: VkPhysicalDeviceProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceProperties2KHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImageFormatProperties2KHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub imageFormatProperties: VkImageFormatProperties,
|
|
|
|
}
|
|
|
|
impl Clone for VkImageFormatProperties2KHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceImageFormatInfo2KHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub format: VkFormat,
|
|
|
|
pub type_: VkImageType,
|
|
|
|
pub tiling: VkImageTiling,
|
|
|
|
pub usage: VkImageUsageFlags,
|
|
|
|
pub flags: VkImageCreateFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceImageFormatInfo2KHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pExternalBufferInfo:
|
|
|
|
*const VkPhysicalDeviceExternalBufferInfoKHX,
|
|
|
|
pExternalBufferProperties:
|
|
|
|
*mut VkExternalBufferPropertiesKHX)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceProperties2KHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties2KHX)>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pImageFormatInfo:
|
|
|
|
*const VkPhysicalDeviceImageFormatInfo2KHX,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties2KHX)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceExternalBufferPropertiesKHX(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pExternalBufferInfo:
|
|
|
|
*const VkPhysicalDeviceExternalBufferInfoKHX,
|
|
|
|
pExternalBufferProperties:
|
|
|
|
*mut VkExternalBufferPropertiesKHX);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceProperties2KHX(physicalDevice: VkPhysicalDevice,
|
|
|
|
pProperties:
|
|
|
|
*mut VkPhysicalDeviceProperties2KHX);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceImageFormatProperties2KHX(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pImageFormatInfo:
|
|
|
|
*const VkPhysicalDeviceImageFormatInfo2KHX,
|
|
|
|
pImageFormatProperties:
|
|
|
|
*mut VkImageFormatProperties2KHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalMemoryImageCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalMemoryHandleTypeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalMemoryImageCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalMemoryBufferCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalMemoryHandleTypeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalMemoryBufferCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExportMemoryAllocateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalMemoryHandleTypeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExportMemoryAllocateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImportMemoryFdInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleType: VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
pub fd: ::std::os::raw::c_int,
|
|
|
|
}
|
|
|
|
impl Clone for VkImportMemoryFdInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkMemoryFdPropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub memoryTypeBits: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkMemoryFdPropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetMemoryFdKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
memory: VkDeviceMemory,
|
|
|
|
handleType:
|
|
|
|
VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
pFd:
|
|
|
|
*mut ::std::os::raw::c_int)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetMemoryFdPropertiesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
handleType:
|
|
|
|
VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
fd: ::std::os::raw::c_int,
|
|
|
|
pMemoryFdProperties:
|
|
|
|
*mut VkMemoryFdPropertiesKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetMemoryFdKHX(device: VkDevice, memory: VkDeviceMemory,
|
|
|
|
handleType: VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
pFd: *mut ::std::os::raw::c_int) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetMemoryFdPropertiesKHX(device: VkDevice,
|
|
|
|
handleType:
|
|
|
|
VkExternalMemoryHandleTypeFlagBitsKHX,
|
|
|
|
fd: ::std::os::raw::c_int,
|
|
|
|
pMemoryFdProperties:
|
|
|
|
*mut VkMemoryFdPropertiesKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalSemaphoreHandleTypeFlagBitsKHX {
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX = 1,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHX = 2,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHX = 4,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHX = 8,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHX = 16,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalSemaphoreHandleTypeFlagsKHX = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkExternalSemaphoreFeatureFlagBitsKHX {
|
|
|
|
VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHX = 1,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHX = 2,
|
|
|
|
VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkExternalSemaphoreFeatureFlagsKHX = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceExternalSemaphoreInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleType: VkExternalSemaphoreHandleTypeFlagBitsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceExternalSemaphoreInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExternalSemaphorePropertiesKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlagsKHX,
|
|
|
|
pub compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlagsKHX,
|
|
|
|
pub externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExternalSemaphorePropertiesKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pExternalSemaphoreInfo:
|
|
|
|
*const VkPhysicalDeviceExternalSemaphoreInfoKHX,
|
|
|
|
pExternalSemaphoreProperties:
|
|
|
|
*mut VkExternalSemaphorePropertiesKHX)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceExternalSemaphorePropertiesKHX(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pExternalSemaphoreInfo:
|
|
|
|
*const VkPhysicalDeviceExternalSemaphoreInfoKHX,
|
|
|
|
pExternalSemaphoreProperties:
|
|
|
|
*mut VkExternalSemaphorePropertiesKHX);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkExportSemaphoreCreateInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub handleTypes: VkExternalSemaphoreHandleTypeFlagsKHX,
|
|
|
|
}
|
|
|
|
impl Clone for VkExportSemaphoreCreateInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkImportSemaphoreFdInfoKHX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub semaphore: VkSemaphore,
|
|
|
|
pub handleType: VkExternalSemaphoreHandleTypeFlagBitsKHX,
|
|
|
|
pub fd: ::std::os::raw::c_int,
|
|
|
|
}
|
|
|
|
impl Clone for VkImportSemaphoreFdInfoKHX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkImportSemaphoreFdKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pImportSemaphoreFdInfo:
|
|
|
|
*const VkImportSemaphoreFdInfoKHX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetSemaphoreFdKHX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
semaphore: VkSemaphore,
|
|
|
|
handleType:
|
|
|
|
VkExternalSemaphoreHandleTypeFlagBitsKHX,
|
|
|
|
pFd:
|
|
|
|
*mut ::std::os::raw::c_int)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkImportSemaphoreFdKHX(device: VkDevice,
|
|
|
|
pImportSemaphoreFdInfo:
|
|
|
|
*const VkImportSemaphoreFdInfoKHX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetSemaphoreFdKHX(device: VkDevice, semaphore: VkSemaphore,
|
|
|
|
handleType:
|
|
|
|
VkExternalSemaphoreHandleTypeFlagBitsKHX,
|
|
|
|
pFd: *mut ::std::os::raw::c_int) -> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkObjectTableNVX_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkObjectTableNVX = *mut VkObjectTableNVX_T;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy, Clone)]
|
|
|
|
pub struct VkIndirectCommandsLayoutNVX_T {
|
|
|
|
_unused: [u8; 0],
|
|
|
|
}
|
|
|
|
pub type VkIndirectCommandsLayoutNVX = *mut VkIndirectCommandsLayoutNVX_T;
|
|
|
|
pub const VkIndirectCommandsTokenTypeNVX_VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX:
|
|
|
|
VkIndirectCommandsTokenTypeNVX =
|
|
|
|
VkIndirectCommandsTokenTypeNVX::VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX;
|
|
|
|
pub const VkIndirectCommandsTokenTypeNVX_VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX:
|
|
|
|
VkIndirectCommandsTokenTypeNVX =
|
|
|
|
VkIndirectCommandsTokenTypeNVX::VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkIndirectCommandsTokenTypeNVX {
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX = 0,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX = 1,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX = 2,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX = 3,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX = 4,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX = 5,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX = 6,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX = 7,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = 8,
|
|
|
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkObjectEntryTypeNVX_VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX:
|
|
|
|
VkObjectEntryTypeNVX =
|
|
|
|
VkObjectEntryTypeNVX::VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX;
|
|
|
|
pub const VkObjectEntryTypeNVX_VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX:
|
|
|
|
VkObjectEntryTypeNVX =
|
|
|
|
VkObjectEntryTypeNVX::VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkObjectEntryTypeNVX {
|
|
|
|
VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX = 0,
|
|
|
|
VK_OBJECT_ENTRY_PIPELINE_NVX = 1,
|
|
|
|
VK_OBJECT_ENTRY_INDEX_BUFFER_NVX = 2,
|
|
|
|
VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX = 3,
|
|
|
|
VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX = 4,
|
|
|
|
VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = 5,
|
|
|
|
VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkIndirectCommandsLayoutUsageFlagBitsNVX {
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 1,
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 2,
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 4,
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 8,
|
|
|
|
VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkIndirectCommandsLayoutUsageFlagsNVX = VkFlags;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkObjectEntryUsageFlagBitsNVX {
|
|
|
|
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 1,
|
|
|
|
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 2,
|
|
|
|
VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkObjectEntryUsageFlagsNVX = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGeneratedCommandsFeaturesNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub computeBindingPointSupport: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGeneratedCommandsFeaturesNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceGeneratedCommandsLimitsNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub maxIndirectCommandsLayoutTokenCount: u32,
|
|
|
|
pub maxObjectEntryCounts: u32,
|
|
|
|
pub minSequenceCountBufferOffsetAlignment: u32,
|
|
|
|
pub minSequenceIndexBufferOffsetAlignment: u32,
|
|
|
|
pub minCommandsTokenBufferOffsetAlignment: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceGeneratedCommandsLimitsNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkIndirectCommandsTokenNVX {
|
|
|
|
pub tokenType: VkIndirectCommandsTokenTypeNVX,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub offset: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkIndirectCommandsTokenNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkIndirectCommandsLayoutTokenNVX {
|
|
|
|
pub tokenType: VkIndirectCommandsTokenTypeNVX,
|
|
|
|
pub bindingUnit: u32,
|
|
|
|
pub dynamicCount: u32,
|
|
|
|
pub divisor: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkIndirectCommandsLayoutTokenNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkIndirectCommandsLayoutCreateInfoNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub pipelineBindPoint: VkPipelineBindPoint,
|
|
|
|
pub flags: VkIndirectCommandsLayoutUsageFlagsNVX,
|
|
|
|
pub tokenCount: u32,
|
|
|
|
pub pTokens: *const VkIndirectCommandsLayoutTokenNVX,
|
|
|
|
}
|
|
|
|
impl Clone for VkIndirectCommandsLayoutCreateInfoNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCmdProcessCommandsInfoNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub objectTable: VkObjectTableNVX,
|
|
|
|
pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
|
|
|
|
pub indirectCommandsTokenCount: u32,
|
|
|
|
pub pIndirectCommandsTokens: *const VkIndirectCommandsTokenNVX,
|
|
|
|
pub maxSequencesCount: u32,
|
|
|
|
pub targetCommandBuffer: VkCommandBuffer,
|
|
|
|
pub sequencesCountBuffer: VkBuffer,
|
|
|
|
pub sequencesCountOffset: VkDeviceSize,
|
|
|
|
pub sequencesIndexBuffer: VkBuffer,
|
|
|
|
pub sequencesIndexOffset: VkDeviceSize,
|
|
|
|
}
|
|
|
|
impl Clone for VkCmdProcessCommandsInfoNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkCmdReserveSpaceForCommandsInfoNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub objectTable: VkObjectTableNVX,
|
|
|
|
pub indirectCommandsLayout: VkIndirectCommandsLayoutNVX,
|
|
|
|
pub maxSequencesCount: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkCmdReserveSpaceForCommandsInfoNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTableCreateInfoNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub objectCount: u32,
|
|
|
|
pub pObjectEntryTypes: *const VkObjectEntryTypeNVX,
|
|
|
|
pub pObjectEntryCounts: *const u32,
|
|
|
|
pub pObjectEntryUsageFlags: *const VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub maxUniformBuffersPerDescriptor: u32,
|
|
|
|
pub maxStorageBuffersPerDescriptor: u32,
|
|
|
|
pub maxStorageImagesPerDescriptor: u32,
|
|
|
|
pub maxSampledImagesPerDescriptor: u32,
|
|
|
|
pub maxPipelineLayouts: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTableCreateInfoNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTableEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTableEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTablePipelineEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub pipeline: VkPipeline,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTablePipelineEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTableDescriptorSetEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub pipelineLayout: VkPipelineLayout,
|
|
|
|
pub descriptorSet: VkDescriptorSet,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTableDescriptorSetEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTableVertexBufferEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTableVertexBufferEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTableIndexBufferEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub buffer: VkBuffer,
|
|
|
|
pub indexType: VkIndexType,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTableIndexBufferEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkObjectTablePushConstantEntryNVX {
|
|
|
|
pub type_: VkObjectEntryTypeNVX,
|
|
|
|
pub flags: VkObjectEntryUsageFlagsNVX,
|
|
|
|
pub pipelineLayout: VkPipelineLayout,
|
|
|
|
pub stageFlags: VkShaderStageFlags,
|
|
|
|
}
|
|
|
|
impl Clone for VkObjectTablePushConstantEntryNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCmdProcessCommandsNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pProcessCommandsInfo:
|
|
|
|
*const VkCmdProcessCommandsInfoNVX)>;
|
|
|
|
pub type PFN_vkCmdReserveSpaceForCommandsNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
pReserveSpaceInfo:
|
|
|
|
*const VkCmdReserveSpaceForCommandsInfoNVX)>;
|
|
|
|
pub type PFN_vkCreateIndirectCommandsLayoutNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkIndirectCommandsLayoutCreateInfoNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pIndirectCommandsLayout:
|
|
|
|
*mut VkIndirectCommandsLayoutNVX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyIndirectCommandsLayoutNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
indirectCommandsLayout:
|
|
|
|
VkIndirectCommandsLayoutNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkCreateObjectTableNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkObjectTableCreateInfoNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pObjectTable:
|
|
|
|
*mut VkObjectTableNVX)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkDestroyObjectTableNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks)>;
|
|
|
|
pub type PFN_vkRegisterObjectsNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
objectCount: u32,
|
|
|
|
ppObjectTableEntries:
|
|
|
|
*const *const VkObjectTableEntryNVX,
|
|
|
|
pObjectIndices: *const u32)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkUnregisterObjectsNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
objectCount: u32,
|
|
|
|
pObjectEntryTypes:
|
|
|
|
*const VkObjectEntryTypeNVX,
|
|
|
|
pObjectIndices: *const u32)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkDeviceGeneratedCommandsFeaturesNVX,
|
|
|
|
pLimits:
|
|
|
|
*mut VkDeviceGeneratedCommandsLimitsNVX)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdProcessCommandsNVX(commandBuffer: VkCommandBuffer,
|
|
|
|
pProcessCommandsInfo:
|
|
|
|
*const VkCmdProcessCommandsInfoNVX);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdReserveSpaceForCommandsNVX(commandBuffer: VkCommandBuffer,
|
|
|
|
pReserveSpaceInfo:
|
|
|
|
*const VkCmdReserveSpaceForCommandsInfoNVX);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateIndirectCommandsLayoutNVX(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkIndirectCommandsLayoutCreateInfoNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pIndirectCommandsLayout:
|
|
|
|
*mut VkIndirectCommandsLayoutNVX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyIndirectCommandsLayoutNVX(device: VkDevice,
|
|
|
|
indirectCommandsLayout:
|
|
|
|
VkIndirectCommandsLayoutNVX,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCreateObjectTableNVX(device: VkDevice,
|
|
|
|
pCreateInfo:
|
|
|
|
*const VkObjectTableCreateInfoNVX,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pObjectTable: *mut VkObjectTableNVX)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDestroyObjectTableNVX(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
pAllocator: *const VkAllocationCallbacks);
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkRegisterObjectsNVX(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
objectCount: u32,
|
|
|
|
ppObjectTableEntries:
|
|
|
|
*const *const VkObjectTableEntryNVX,
|
|
|
|
pObjectIndices: *const u32) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkUnregisterObjectsNVX(device: VkDevice,
|
|
|
|
objectTable: VkObjectTableNVX,
|
|
|
|
objectCount: u32,
|
|
|
|
pObjectEntryTypes:
|
|
|
|
*const VkObjectEntryTypeNVX,
|
|
|
|
pObjectIndices: *const u32) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
pFeatures:
|
|
|
|
*mut VkDeviceGeneratedCommandsFeaturesNVX,
|
|
|
|
pLimits:
|
|
|
|
*mut VkDeviceGeneratedCommandsLimitsNVX);
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkViewportWScalingNV {
|
|
|
|
pub xcoeff: f32,
|
|
|
|
pub ycoeff: f32,
|
|
|
|
}
|
|
|
|
impl Clone for VkViewportWScalingNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineViewportWScalingStateCreateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub viewportWScalingEnable: VkBool32,
|
|
|
|
pub viewportCount: u32,
|
|
|
|
pub pViewportWScalings: *const VkViewportWScalingNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineViewportWScalingStateCreateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCmdSetViewportWScalingNV =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
firstViewport: u32,
|
|
|
|
viewportCount: u32,
|
|
|
|
pViewportWScalings:
|
|
|
|
*const VkViewportWScalingNV)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetViewportWScalingNV(commandBuffer: VkCommandBuffer,
|
|
|
|
firstViewport: u32, viewportCount: u32,
|
|
|
|
pViewportWScalings:
|
|
|
|
*const VkViewportWScalingNV);
|
|
|
|
}
|
|
|
|
pub type PFN_vkReleaseDisplayEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkReleaseDisplayEXT(physicalDevice: VkPhysicalDevice,
|
|
|
|
display: VkDisplayKHR) -> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkSurfaceCounterFlagBitsEXT {
|
|
|
|
VK_SURFACE_COUNTER_VBLANK_EXT = 1,
|
|
|
|
VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkSurfaceCounterFlagsEXT = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSurfaceCapabilities2EXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub minImageCount: u32,
|
|
|
|
pub maxImageCount: u32,
|
|
|
|
pub currentExtent: VkExtent2D,
|
|
|
|
pub minImageExtent: VkExtent2D,
|
|
|
|
pub maxImageExtent: VkExtent2D,
|
|
|
|
pub maxImageArrayLayers: u32,
|
|
|
|
pub supportedTransforms: VkSurfaceTransformFlagsKHR,
|
|
|
|
pub currentTransform: VkSurfaceTransformFlagBitsKHR,
|
|
|
|
pub supportedCompositeAlpha: VkCompositeAlphaFlagsKHR,
|
|
|
|
pub supportedUsageFlags: VkImageUsageFlags,
|
|
|
|
pub supportedSurfaceCounters: VkSurfaceCounterFlagsEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkSurfaceCapabilities2EXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceCapabilities:
|
|
|
|
*mut VkSurfaceCapabilities2EXT)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice:
|
|
|
|
VkPhysicalDevice,
|
|
|
|
surface: VkSurfaceKHR,
|
|
|
|
pSurfaceCapabilities:
|
|
|
|
*mut VkSurfaceCapabilities2EXT)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
pub const VkDisplayPowerStateEXT_VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT:
|
|
|
|
VkDisplayPowerStateEXT =
|
|
|
|
VkDisplayPowerStateEXT::VK_DISPLAY_POWER_STATE_OFF_EXT;
|
|
|
|
pub const VkDisplayPowerStateEXT_VK_DISPLAY_POWER_STATE_END_RANGE_EXT:
|
|
|
|
VkDisplayPowerStateEXT =
|
|
|
|
VkDisplayPowerStateEXT::VK_DISPLAY_POWER_STATE_ON_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDisplayPowerStateEXT {
|
|
|
|
VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
|
|
|
|
VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
|
|
|
|
VK_DISPLAY_POWER_STATE_ON_EXT = 2,
|
|
|
|
VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = 3,
|
|
|
|
VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkDeviceEventTypeEXT_VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT:
|
|
|
|
VkDeviceEventTypeEXT =
|
|
|
|
VkDeviceEventTypeEXT::VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT;
|
|
|
|
pub const VkDeviceEventTypeEXT_VK_DEVICE_EVENT_TYPE_END_RANGE_EXT:
|
|
|
|
VkDeviceEventTypeEXT =
|
|
|
|
VkDeviceEventTypeEXT::VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDeviceEventTypeEXT {
|
|
|
|
VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
|
|
|
|
VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = 1,
|
|
|
|
VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub const VkDisplayEventTypeEXT_VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT:
|
|
|
|
VkDisplayEventTypeEXT =
|
|
|
|
VkDisplayEventTypeEXT::VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT;
|
|
|
|
pub const VkDisplayEventTypeEXT_VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT:
|
|
|
|
VkDisplayEventTypeEXT =
|
|
|
|
VkDisplayEventTypeEXT::VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDisplayEventTypeEXT {
|
|
|
|
VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
|
|
|
|
VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = 1,
|
|
|
|
VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayPowerInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub powerState: VkDisplayPowerStateEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayPowerInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDeviceEventInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub deviceEvent: VkDeviceEventTypeEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkDeviceEventInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkDisplayEventInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub displayEvent: VkDisplayEventTypeEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkDisplayEventInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkSwapchainCounterCreateInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub surfaceCounters: VkSurfaceCounterFlagsEXT,
|
|
|
|
}
|
|
|
|
impl Clone for VkSwapchainCounterCreateInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkDisplayPowerControlEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pDisplayPowerInfo:
|
|
|
|
*const VkDisplayPowerInfoEXT)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkRegisterDeviceEventEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
pDeviceEventInfo:
|
|
|
|
*const VkDeviceEventInfoEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkRegisterDisplayEventEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
display: VkDisplayKHR,
|
|
|
|
pDisplayEventInfo:
|
|
|
|
*const VkDisplayEventInfoEXT,
|
|
|
|
pAllocator:
|
|
|
|
*const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence)
|
|
|
|
-> VkResult>;
|
|
|
|
pub type PFN_vkGetSwapchainCounterEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
counter:
|
|
|
|
VkSurfaceCounterFlagBitsEXT,
|
|
|
|
pCounterValue: *mut u64)
|
|
|
|
-> VkResult>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkDisplayPowerControlEXT(device: VkDevice, display: VkDisplayKHR,
|
|
|
|
pDisplayPowerInfo:
|
|
|
|
*const VkDisplayPowerInfoEXT)
|
|
|
|
-> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkRegisterDeviceEventEXT(device: VkDevice,
|
|
|
|
pDeviceEventInfo:
|
|
|
|
*const VkDeviceEventInfoEXT,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkRegisterDisplayEventEXT(device: VkDevice, display: VkDisplayKHR,
|
|
|
|
pDisplayEventInfo:
|
|
|
|
*const VkDisplayEventInfoEXT,
|
|
|
|
pAllocator: *const VkAllocationCallbacks,
|
|
|
|
pFence: *mut VkFence) -> VkResult;
|
|
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkGetSwapchainCounterEXT(device: VkDevice,
|
|
|
|
swapchain: VkSwapchainKHR,
|
|
|
|
counter: VkSurfaceCounterFlagBitsEXT,
|
|
|
|
pCounterValue: *mut u64) -> VkResult;
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *mut ::std::os::raw::c_void,
|
|
|
|
pub perViewPositionAllComponents: VkBool32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub const VkViewportCoordinateSwizzleNV_VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV:
|
|
|
|
VkViewportCoordinateSwizzleNV =
|
|
|
|
VkViewportCoordinateSwizzleNV::VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV;
|
|
|
|
pub const VkViewportCoordinateSwizzleNV_VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV:
|
|
|
|
VkViewportCoordinateSwizzleNV =
|
|
|
|
VkViewportCoordinateSwizzleNV::VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub 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,
|
|
|
|
VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = 8,
|
|
|
|
VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPipelineViewportSwizzleStateCreateFlagsNV = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkViewportSwizzleNV {
|
|
|
|
pub x: VkViewportCoordinateSwizzleNV,
|
|
|
|
pub y: VkViewportCoordinateSwizzleNV,
|
|
|
|
pub z: VkViewportCoordinateSwizzleNV,
|
|
|
|
pub w: VkViewportCoordinateSwizzleNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkViewportSwizzleNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineViewportSwizzleStateCreateInfoNV {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineViewportSwizzleStateCreateFlagsNV,
|
|
|
|
pub viewportCount: u32,
|
|
|
|
pub pViewportSwizzles: *const VkViewportSwizzleNV,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineViewportSwizzleStateCreateInfoNV {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub const VkDiscardRectangleModeEXT_VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT:
|
|
|
|
VkDiscardRectangleModeEXT =
|
|
|
|
VkDiscardRectangleModeEXT::VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT;
|
|
|
|
pub const VkDiscardRectangleModeEXT_VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT:
|
|
|
|
VkDiscardRectangleModeEXT =
|
|
|
|
VkDiscardRectangleModeEXT::VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT;
|
|
|
|
#[repr(u32)]
|
|
|
|
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
|
|
|
pub enum VkDiscardRectangleModeEXT {
|
|
|
|
VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
|
|
|
|
VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
|
|
|
|
VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = 2,
|
|
|
|
VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 2147483647,
|
|
|
|
}
|
|
|
|
pub type VkPipelineDiscardRectangleStateCreateFlagsEXT = VkFlags;
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub maxDiscardRectangles: u32,
|
|
|
|
}
|
|
|
|
impl Clone for VkPhysicalDeviceDiscardRectanglePropertiesEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
#[repr(C)]
|
|
|
|
#[derive(Debug, Copy)]
|
|
|
|
pub struct VkPipelineDiscardRectangleStateCreateInfoEXT {
|
|
|
|
pub sType: VkStructureType,
|
|
|
|
pub pNext: *const ::std::os::raw::c_void,
|
|
|
|
pub flags: VkPipelineDiscardRectangleStateCreateFlagsEXT,
|
|
|
|
pub discardRectangleMode: VkDiscardRectangleModeEXT,
|
|
|
|
pub discardRectangleCount: u32,
|
|
|
|
pub pDiscardRectangles: *const VkRect2D,
|
|
|
|
}
|
|
|
|
impl Clone for VkPipelineDiscardRectangleStateCreateInfoEXT {
|
|
|
|
fn clone(&self) -> Self { *self }
|
|
|
|
}
|
|
|
|
pub type PFN_vkCmdSetDiscardRectangleEXT =
|
|
|
|
::std::option::Option<unsafe extern "C" fn(commandBuffer: VkCommandBuffer,
|
|
|
|
firstDiscardRectangle: u32,
|
|
|
|
discardRectangleCount: u32,
|
|
|
|
pDiscardRectangles:
|
|
|
|
*const VkRect2D)>;
|
|
|
|
extern "C" {
|
|
|
|
pub fn vkCmdSetDiscardRectangleEXT(commandBuffer: VkCommandBuffer,
|
|
|
|
firstDiscardRectangle: u32,
|
|
|
|
discardRectangleCount: u32,
|
|
|
|
pDiscardRectangles: *const VkRect2D);
|
|
|
|
}
|