Created
June 1, 2017 10:35
-
-
Save Octachron/e09758d0e25a2c1696355d1d2990391c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Ctypes | |
let libvulkan = Dl.dlopen ~filename:"libvulkan.so" ~flags:Dl.[RTLD_NOW] | |
let foreign name = Foreign.foreign ~from:libvulkan name | |
module Printer = Format | |
open Vk__const | |
include Builtin_types | |
module System_allocation_scope = struct | |
type t = | Command | |
| Object | |
| Cache | |
| Device | |
| Instance | |
let to_int = function | |
| Command -> 0 | |
| Object -> 1 | |
| Cache -> 2 | |
| Device -> 3 | |
| Instance -> 4 | |
let of_int = function | |
| 0 -> Command | |
| 1 -> Object | |
| 2 -> Cache | |
| 3 -> Device | |
| 4 -> Instance | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Command -> "Command" | |
| Object -> "Object" | |
| Cache -> "Cache" | |
| Device -> "Device" | |
| Instance -> "Instance") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let system_allocation_scope, system_allocation_scope_opt = System_allocation_scope.(view,view_opt) | |
type system_allocation_scope = System_allocation_scope.t | |
let allocation_function, allocation_function_opt = let ty = (ptr void) | |
@->size_t @->size_t @->system_allocation_scope @-> returning (ptr void) in | |
(Foreign.funptr ty, Foreign.funptr_opt ty) | |
module Debug_report_flags_ext = struct | |
include Bitset.Make() | |
let debug = make_index 4 | |
let error = make_index 3 | |
let performance_warning = make_index 2 | |
let warning = make_index 1 | |
let information = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem debug set then | |
Printer.fprintf ppf "debug;@ " | |
else (); | |
if mem error set then | |
Printer.fprintf ppf "error;@ " | |
else (); | |
if mem performance_warning set then | |
Printer.fprintf ppf "performance_warning;@ " | |
else (); | |
if mem warning set then | |
Printer.fprintf ppf "warning;@ " | |
else (); | |
if mem information set then | |
Printer.fprintf ppf "information;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type debug_report_flags_ext = Debug_report_flags_ext.t | |
let debug_report_flags_ext, debug_report_flags_ext_opt = Debug_report_flags_ext.(view, view_opt) | |
let debug_report_flag_bits_ext = Debug_report_flags_ext.index_view | |
let debug_report_flag_bits_ext_opt = Debug_report_flags_ext.index_view_opt | |
module Debug_report_object_type_ext = struct | |
type t = | Unknown | |
| Instance | |
| Physical_device | |
| Device | |
| Queue | |
| Semaphore | |
| Command_buffer | |
| Fence | |
| Device_memory | |
| Buffer | |
| Image | |
| Event | |
| Query_pool | |
| Buffer_view | |
| Image_view | |
| Shader_module | |
| Pipeline_cache | |
| Pipeline_layout | |
| Render_pass | |
| Pipeline | |
| Descriptor_set_layout | |
| Sampler | |
| Descriptor_pool | |
| Descriptor_set | |
| Framebuffer | |
| Command_pool | |
| Surface_khr | |
| Swapchain_khr | |
| Debug_report_callback_ext | |
| Display_khr | |
| Display_mode_khr | |
| Object_table_nvx | |
| Indirect_commands_layout_nvx | |
| Descriptor_update_template_khr | |
let to_int = function | |
| Unknown -> 0 | |
| Instance -> 1 | |
| Physical_device -> 2 | |
| Device -> 3 | |
| Queue -> 4 | |
| Semaphore -> 5 | |
| Command_buffer -> 6 | |
| Fence -> 7 | |
| Device_memory -> 8 | |
| Buffer -> 9 | |
| Image -> 10 | |
| Event -> 11 | |
| Query_pool -> 12 | |
| Buffer_view -> 13 | |
| Image_view -> 14 | |
| Shader_module -> 15 | |
| Pipeline_cache -> 16 | |
| Pipeline_layout -> 17 | |
| Render_pass -> 18 | |
| Pipeline -> 19 | |
| Descriptor_set_layout -> 20 | |
| Sampler -> 21 | |
| Descriptor_pool -> 22 | |
| Descriptor_set -> 23 | |
| Framebuffer -> 24 | |
| Command_pool -> 25 | |
| Surface_khr -> 26 | |
| Swapchain_khr -> 27 | |
| Debug_report_callback_ext -> 28 | |
| Display_khr -> 29 | |
| Display_mode_khr -> 30 | |
| Object_table_nvx -> 31 | |
| Indirect_commands_layout_nvx -> 32 | |
| Descriptor_update_template_khr -> 1000085000 | |
let of_int = function | |
| 0 -> Unknown | |
| 1 -> Instance | |
| 2 -> Physical_device | |
| 3 -> Device | |
| 4 -> Queue | |
| 5 -> Semaphore | |
| 6 -> Command_buffer | |
| 7 -> Fence | |
| 8 -> Device_memory | |
| 9 -> Buffer | |
| 10 -> Image | |
| 11 -> Event | |
| 12 -> Query_pool | |
| 13 -> Buffer_view | |
| 14 -> Image_view | |
| 15 -> Shader_module | |
| 16 -> Pipeline_cache | |
| 17 -> Pipeline_layout | |
| 18 -> Render_pass | |
| 19 -> Pipeline | |
| 20 -> Descriptor_set_layout | |
| 21 -> Sampler | |
| 22 -> Descriptor_pool | |
| 23 -> Descriptor_set | |
| 24 -> Framebuffer | |
| 25 -> Command_pool | |
| 26 -> Surface_khr | |
| 27 -> Swapchain_khr | |
| 28 -> Debug_report_callback_ext | |
| 29 -> Display_khr | |
| 30 -> Display_mode_khr | |
| 31 -> Object_table_nvx | |
| 32 -> Indirect_commands_layout_nvx | |
| 1000085000 -> Descriptor_update_template_khr | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Unknown -> "Unknown" | |
| Instance -> "Instance" | |
| Physical_device -> "Physical_device" | |
| Device -> "Device" | |
| Queue -> "Queue" | |
| Semaphore -> "Semaphore" | |
| Command_buffer -> "Command_buffer" | |
| Fence -> "Fence" | |
| Device_memory -> "Device_memory" | |
| Buffer -> "Buffer" | |
| Image -> "Image" | |
| Event -> "Event" | |
| Query_pool -> "Query_pool" | |
| Buffer_view -> "Buffer_view" | |
| Image_view -> "Image_view" | |
| Shader_module -> "Shader_module" | |
| Pipeline_cache -> "Pipeline_cache" | |
| Pipeline_layout -> "Pipeline_layout" | |
| Render_pass -> "Render_pass" | |
| Pipeline -> "Pipeline" | |
| Descriptor_set_layout -> "Descriptor_set_layout" | |
| Sampler -> "Sampler" | |
| Descriptor_pool -> "Descriptor_pool" | |
| Descriptor_set -> "Descriptor_set" | |
| Framebuffer -> "Framebuffer" | |
| Command_pool -> "Command_pool" | |
| Surface_khr -> "Surface_khr" | |
| Swapchain_khr -> "Swapchain_khr" | |
| Debug_report_callback_ext -> "Debug_report_callback_ext" | |
| Display_khr -> "Display_khr" | |
| Display_mode_khr -> "Display_mode_khr" | |
| Object_table_nvx -> "Object_table_nvx" | |
| Indirect_commands_layout_nvx -> "Indirect_commands_layout_nvx" | |
| Descriptor_update_template_khr -> "Descriptor_update_template_khr") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let debug_report_object_type_ext, debug_report_object_type_ext_opt = Debug_report_object_type_ext.(view,view_opt) | |
type debug_report_object_type_ext = Debug_report_object_type_ext.t | |
let debug_report_callback_ext, debug_report_callback_ext_opt = | |
let ty = debug_report_flags_ext @->debug_report_object_type_ext | |
@->uint_64_t @->size_t @->int_32_t @->(ptr char) @->(ptr char) | |
@->(ptr void) @-> returning bool_32 in (Foreign.funptr ty, | |
Foreign.funptr_opt ty) | |
let free_function, free_function_opt = let ty = (ptr void) @->(ptr void) @-> | |
returning void in (Foreign.funptr ty, Foreign.funptr_opt ty) | |
module Internal_allocation_type = struct | |
type t = | Executable | |
let to_int = function | |
| Executable -> 0 | |
let of_int = function | |
| 0 -> Executable | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Executable -> "Executable") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let internal_allocation_type, internal_allocation_type_opt = Internal_allocation_type.(view,view_opt) | |
type internal_allocation_type = Internal_allocation_type.t | |
let internal_allocation_notification, internal_allocation_notification_opt = | |
let ty = (ptr void) @->size_t @->internal_allocation_type | |
@->system_allocation_scope @-> returning void in (Foreign.funptr ty, | |
Foreign.funptr_opt ty) | |
let internal_free_notification, internal_free_notification_opt = | |
let ty = (ptr void) @->size_t @->internal_allocation_type | |
@->system_allocation_scope @-> returning void in (Foreign.funptr ty, | |
Foreign.funptr_opt ty) | |
let reallocation_function, reallocation_function_opt = let ty = (ptr void) | |
@->(ptr void) @->size_t @->size_t @->system_allocation_scope @-> | |
returning (ptr void) in (Foreign.funptr ty, Foreign.funptr_opt ty) | |
let void_function = ptr void | |
module Access_flags = struct | |
include Bitset.Make() | |
let command_process_write_bit_nvx = make_index 18 | |
let command_process_read_bit_nvx = make_index 17 | |
let memory_write = make_index 16 | |
let memory_read = make_index 15 | |
let host_write = make_index 14 | |
let host_read = make_index 13 | |
let transfer_write = make_index 12 | |
let transfer_read = make_index 11 | |
let depth_stencil_attachment_write = make_index 10 | |
let depth_stencil_attachment_read = make_index 9 | |
let color_attachment_write = make_index 8 | |
let color_attachment_read = make_index 7 | |
let shader_write = make_index 6 | |
let shader_read = make_index 5 | |
let input_attachment_read = make_index 4 | |
let uniform_read = make_index 3 | |
let vertex_attribute_read = make_index 2 | |
let index_read = make_index 1 | |
let indirect_command_read = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem command_process_write_bit_nvx set then | |
Printer.fprintf ppf "command_process_write_bit_nvx;@ " | |
else (); | |
if mem command_process_read_bit_nvx set then | |
Printer.fprintf ppf "command_process_read_bit_nvx;@ " | |
else (); | |
if mem memory_write set then | |
Printer.fprintf ppf "memory_write;@ " | |
else (); | |
if mem memory_read set then | |
Printer.fprintf ppf "memory_read;@ " | |
else (); | |
if mem host_write set then | |
Printer.fprintf ppf "host_write;@ " | |
else (); | |
if mem host_read set then | |
Printer.fprintf ppf "host_read;@ " | |
else (); | |
if mem transfer_write set then | |
Printer.fprintf ppf "transfer_write;@ " | |
else (); | |
if mem transfer_read set then | |
Printer.fprintf ppf "transfer_read;@ " | |
else (); | |
if mem depth_stencil_attachment_write set then | |
Printer.fprintf ppf "depth_stencil_attachment_write;@ " | |
else (); | |
if mem depth_stencil_attachment_read set then | |
Printer.fprintf ppf "depth_stencil_attachment_read;@ " | |
else (); | |
if mem color_attachment_write set then | |
Printer.fprintf ppf "color_attachment_write;@ " | |
else (); | |
if mem color_attachment_read set then | |
Printer.fprintf ppf "color_attachment_read;@ " | |
else (); | |
if mem shader_write set then | |
Printer.fprintf ppf "shader_write;@ " | |
else (); | |
if mem shader_read set then | |
Printer.fprintf ppf "shader_read;@ " | |
else (); | |
if mem input_attachment_read set then | |
Printer.fprintf ppf "input_attachment_read;@ " | |
else (); | |
if mem uniform_read set then | |
Printer.fprintf ppf "uniform_read;@ " | |
else (); | |
if mem vertex_attribute_read set then | |
Printer.fprintf ppf "vertex_attribute_read;@ " | |
else (); | |
if mem index_read set then | |
Printer.fprintf ppf "index_read;@ " | |
else (); | |
if mem indirect_command_read set then | |
Printer.fprintf ppf "indirect_command_read;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type access_flags = Access_flags.t | |
let access_flags, access_flags_opt = Access_flags.(view, view_opt) | |
let access_flag_bits = Access_flags.index_view | |
let access_flag_bits_opt = Access_flags.index_view_opt | |
module Structure_type = struct | |
type t = | Application_info | |
| Instance_create_info | |
| Device_queue_create_info | |
| Device_create_info | |
| Submit_info | |
| Memory_allocate_info | |
| Mapped_memory_range | |
| Bind_sparse_info | |
| Fence_create_info | |
| Semaphore_create_info | |
| Event_create_info | |
| Query_pool_create_info | |
| Buffer_create_info | |
| Buffer_view_create_info | |
| Image_create_info | |
| Image_view_create_info | |
| Shader_module_create_info | |
| Pipeline_cache_create_info | |
| Pipeline_shader_stage_create_info | |
| Pipeline_vertex_input_state_create_info | |
| Pipeline_input_assembly_state_create_info | |
| Pipeline_tessellation_state_create_info | |
| Pipeline_viewport_state_create_info | |
| Pipeline_rasterization_state_create_info | |
| Pipeline_multisample_state_create_info | |
| Pipeline_depth_stencil_state_create_info | |
| Pipeline_color_blend_state_create_info | |
| Pipeline_dynamic_state_create_info | |
| Graphics_pipeline_create_info | |
| Compute_pipeline_create_info | |
| Pipeline_layout_create_info | |
| Sampler_create_info | |
| Descriptor_set_layout_create_info | |
| Descriptor_pool_create_info | |
| Descriptor_set_allocate_info | |
| Write_descriptor_set | |
| Copy_descriptor_set | |
| Framebuffer_create_info | |
| Render_pass_create_info | |
| Command_pool_create_info | |
| Command_buffer_allocate_info | |
| Command_buffer_inheritance_info | |
| Command_buffer_begin_info | |
| Render_pass_begin_info | |
| Buffer_memory_barrier | |
| Image_memory_barrier | |
| Memory_barrier | |
| Loader_instance_create_info | |
| Loader_device_create_info | |
| Swapchain_create_info_khr | |
| Present_info_khr | |
| Display_mode_create_info_khr | |
| Display_surface_create_info_khr | |
| Display_present_info_khr | |
| Xlib_surface_create_info_khr | |
| Xcb_surface_create_info_khr | |
| Wayland_surface_create_info_khr | |
| Mir_surface_create_info_khr | |
| Android_surface_create_info_khr | |
| Win_32_surface_create_info_khr | |
| Debug_report_callback_create_info_ext | |
| Pipeline_rasterization_state_rasterization_order_amd | |
| Debug_marker_object_name_info_ext | |
| Debug_marker_object_tag_info_ext | |
| Debug_marker_marker_info_ext | |
| Dedicated_allocation_image_create_info_nv | |
| Dedicated_allocation_buffer_create_info_nv | |
| Dedicated_allocation_memory_allocate_info_nv | |
| Texture_lod_gather_format_properties_amd | |
| Render_pass_multiview_create_info_khx | |
| Physical_device_multiview_features_khx | |
| Physical_device_multiview_properties_khx | |
| External_memory_image_create_info_nv | |
| Export_memory_allocate_info_nv | |
| Import_memory_win_32_handle_info_nv | |
| Export_memory_win_32_handle_info_nv | |
| Win_32_keyed_mutex_acquire_release_info_nv | |
| Physical_device_features_2_khr | |
| Physical_device_properties_2_khr | |
| Format_properties_2_khr | |
| Image_format_properties_2_khr | |
| Physical_device_image_format_info_2_khr | |
| Queue_family_properties_2_khr | |
| Physical_device_memory_properties_2_khr | |
| Sparse_image_format_properties_2_khr | |
| Physical_device_sparse_image_format_info_2_khr | |
| Memory_allocate_flags_info_khx | |
| Bind_buffer_memory_info_khx | |
| Bind_image_memory_info_khx | |
| Device_group_render_pass_begin_info_khx | |
| Device_group_command_buffer_begin_info_khx | |
| Device_group_submit_info_khx | |
| Device_group_bind_sparse_info_khx | |
| Device_group_present_capabilities_khx | |
| Image_swapchain_create_info_khx | |
| Bind_image_memory_swapchain_info_khx | |
| Acquire_next_image_info_khx | |
| Device_group_present_info_khx | |
| Device_group_swapchain_create_info_khx | |
| Validation_flags_ext | |
| Vi_surface_create_info_nn | |
| Physical_device_group_properties_khx | |
| Device_group_device_create_info_khx | |
| Physical_device_external_image_format_info_khx | |
| External_image_format_properties_khx | |
| Physical_device_external_buffer_info_khx | |
| External_buffer_properties_khx | |
| Physical_device_id_properties_khx | |
| External_memory_buffer_create_info_khx | |
| External_memory_image_create_info_khx | |
| Export_memory_allocate_info_khx | |
| Import_memory_win_32_handle_info_khx | |
| Export_memory_win_32_handle_info_khx | |
| Memory_win_32_handle_properties_khx | |
| Import_memory_fd_info_khx | |
| Memory_fd_properties_khx | |
| Win_32_keyed_mutex_acquire_release_info_khx | |
| Physical_device_external_semaphore_info_khx | |
| External_semaphore_properties_khx | |
| Export_semaphore_create_info_khx | |
| Import_semaphore_win_32_handle_info_khx | |
| Export_semaphore_win_32_handle_info_khx | |
| D3d_12_fence_submit_info_khx | |
| Import_semaphore_fd_info_khx | |
| Physical_device_push_descriptor_properties_khr | |
| Present_regions_khr | |
| Descriptor_update_template_create_info_khr | |
| Object_table_create_info_nvx | |
| Indirect_commands_layout_create_info_nvx | |
| Cmd_process_commands_info_nvx | |
| Cmd_reserve_space_for_commands_info_nvx | |
| Device_generated_commands_limits_nvx | |
| Device_generated_commands_features_nvx | |
| Pipeline_viewport_w_scaling_state_create_info_nv | |
| Surface_capabilities_2_ext | |
| Display_power_info_ext | |
| Device_event_info_ext | |
| Display_event_info_ext | |
| Swapchain_counter_create_info_ext | |
| Present_times_info_google | |
| Physical_device_multiview_per_view_attributes_properties_nvx | |
| Pipeline_viewport_swizzle_state_create_info_nv | |
| Physical_device_discard_rectangle_properties_ext | |
| Pipeline_discard_rectangle_state_create_info_ext | |
| Hdr_metadata_ext | |
| Shared_present_surface_capabilities_khr | |
| Physical_device_surface_info_2_khr | |
| Surface_capabilities_2_khr | |
| Surface_format_2_khr | |
| Ios_surface_create_info_mvk | |
| Macos_surface_create_info_mvk | |
let to_int = function | |
| Application_info -> 0 | |
| Instance_create_info -> 1 | |
| Device_queue_create_info -> 2 | |
| Device_create_info -> 3 | |
| Submit_info -> 4 | |
| Memory_allocate_info -> 5 | |
| Mapped_memory_range -> 6 | |
| Bind_sparse_info -> 7 | |
| Fence_create_info -> 8 | |
| Semaphore_create_info -> 9 | |
| Event_create_info -> 10 | |
| Query_pool_create_info -> 11 | |
| Buffer_create_info -> 12 | |
| Buffer_view_create_info -> 13 | |
| Image_create_info -> 14 | |
| Image_view_create_info -> 15 | |
| Shader_module_create_info -> 16 | |
| Pipeline_cache_create_info -> 17 | |
| Pipeline_shader_stage_create_info -> 18 | |
| Pipeline_vertex_input_state_create_info -> 19 | |
| Pipeline_input_assembly_state_create_info -> 20 | |
| Pipeline_tessellation_state_create_info -> 21 | |
| Pipeline_viewport_state_create_info -> 22 | |
| Pipeline_rasterization_state_create_info -> 23 | |
| Pipeline_multisample_state_create_info -> 24 | |
| Pipeline_depth_stencil_state_create_info -> 25 | |
| Pipeline_color_blend_state_create_info -> 26 | |
| Pipeline_dynamic_state_create_info -> 27 | |
| Graphics_pipeline_create_info -> 28 | |
| Compute_pipeline_create_info -> 29 | |
| Pipeline_layout_create_info -> 30 | |
| Sampler_create_info -> 31 | |
| Descriptor_set_layout_create_info -> 32 | |
| Descriptor_pool_create_info -> 33 | |
| Descriptor_set_allocate_info -> 34 | |
| Write_descriptor_set -> 35 | |
| Copy_descriptor_set -> 36 | |
| Framebuffer_create_info -> 37 | |
| Render_pass_create_info -> 38 | |
| Command_pool_create_info -> 39 | |
| Command_buffer_allocate_info -> 40 | |
| Command_buffer_inheritance_info -> 41 | |
| Command_buffer_begin_info -> 42 | |
| Render_pass_begin_info -> 43 | |
| Buffer_memory_barrier -> 44 | |
| Image_memory_barrier -> 45 | |
| Memory_barrier -> 46 | |
| Loader_instance_create_info -> 47 | |
| Loader_device_create_info -> 48 | |
| Swapchain_create_info_khr -> 1000001000 | |
| Present_info_khr -> 1000001001 | |
| Display_mode_create_info_khr -> 1000002000 | |
| Display_surface_create_info_khr -> 1000002001 | |
| Display_present_info_khr -> 1000003000 | |
| Xlib_surface_create_info_khr -> 1000004000 | |
| Xcb_surface_create_info_khr -> 1000005000 | |
| Wayland_surface_create_info_khr -> 1000006000 | |
| Mir_surface_create_info_khr -> 1000007000 | |
| Android_surface_create_info_khr -> 1000008000 | |
| Win_32_surface_create_info_khr -> 1000009000 | |
| Debug_report_callback_create_info_ext -> 1000011000 | |
| Pipeline_rasterization_state_rasterization_order_amd -> 1000018000 | |
| Debug_marker_object_name_info_ext -> 1000022000 | |
| Debug_marker_object_tag_info_ext -> 1000022001 | |
| Debug_marker_marker_info_ext -> 1000022002 | |
| Dedicated_allocation_image_create_info_nv -> 1000026000 | |
| Dedicated_allocation_buffer_create_info_nv -> 1000026001 | |
| Dedicated_allocation_memory_allocate_info_nv -> 1000026002 | |
| Texture_lod_gather_format_properties_amd -> 1000041000 | |
| Render_pass_multiview_create_info_khx -> 1000053000 | |
| Physical_device_multiview_features_khx -> 1000053001 | |
| Physical_device_multiview_properties_khx -> 1000053002 | |
| External_memory_image_create_info_nv -> 1000056000 | |
| Export_memory_allocate_info_nv -> 1000056001 | |
| Import_memory_win_32_handle_info_nv -> 1000057000 | |
| Export_memory_win_32_handle_info_nv -> 1000057001 | |
| Win_32_keyed_mutex_acquire_release_info_nv -> 1000058000 | |
| Physical_device_features_2_khr -> 1000059000 | |
| Physical_device_properties_2_khr -> 1000059001 | |
| Format_properties_2_khr -> 1000059002 | |
| Image_format_properties_2_khr -> 1000059003 | |
| Physical_device_image_format_info_2_khr -> 1000059004 | |
| Queue_family_properties_2_khr -> 1000059005 | |
| Physical_device_memory_properties_2_khr -> 1000059006 | |
| Sparse_image_format_properties_2_khr -> 1000059007 | |
| Physical_device_sparse_image_format_info_2_khr -> 1000059008 | |
| Memory_allocate_flags_info_khx -> 1000060000 | |
| Bind_buffer_memory_info_khx -> 1000060001 | |
| Bind_image_memory_info_khx -> 1000060002 | |
| Device_group_render_pass_begin_info_khx -> 1000060003 | |
| Device_group_command_buffer_begin_info_khx -> 1000060004 | |
| Device_group_submit_info_khx -> 1000060005 | |
| Device_group_bind_sparse_info_khx -> 1000060006 | |
| Device_group_present_capabilities_khx -> 1000060007 | |
| Image_swapchain_create_info_khx -> 1000060008 | |
| Bind_image_memory_swapchain_info_khx -> 1000060009 | |
| Acquire_next_image_info_khx -> 1000060010 | |
| Device_group_present_info_khx -> 1000060011 | |
| Device_group_swapchain_create_info_khx -> 1000060012 | |
| Validation_flags_ext -> 1000061000 | |
| Vi_surface_create_info_nn -> 1000062000 | |
| Physical_device_group_properties_khx -> 1000070000 | |
| Device_group_device_create_info_khx -> 1000070001 | |
| Physical_device_external_image_format_info_khx -> 1000071000 | |
| External_image_format_properties_khx -> 1000071001 | |
| Physical_device_external_buffer_info_khx -> 1000071002 | |
| External_buffer_properties_khx -> 1000071003 | |
| Physical_device_id_properties_khx -> 1000071004 | |
| External_memory_buffer_create_info_khx -> 1000072000 | |
| External_memory_image_create_info_khx -> 1000072001 | |
| Export_memory_allocate_info_khx -> 1000072002 | |
| Import_memory_win_32_handle_info_khx -> 1000073000 | |
| Export_memory_win_32_handle_info_khx -> 1000073001 | |
| Memory_win_32_handle_properties_khx -> 1000073002 | |
| Import_memory_fd_info_khx -> 1000074000 | |
| Memory_fd_properties_khx -> 1000074001 | |
| Win_32_keyed_mutex_acquire_release_info_khx -> 1000075000 | |
| Physical_device_external_semaphore_info_khx -> 1000076000 | |
| External_semaphore_properties_khx -> 1000076001 | |
| Export_semaphore_create_info_khx -> 1000077000 | |
| Import_semaphore_win_32_handle_info_khx -> 1000078000 | |
| Export_semaphore_win_32_handle_info_khx -> 1000078001 | |
| D3d_12_fence_submit_info_khx -> 1000078002 | |
| Import_semaphore_fd_info_khx -> 1000079000 | |
| Physical_device_push_descriptor_properties_khr -> 1000080000 | |
| Present_regions_khr -> 1000084000 | |
| Descriptor_update_template_create_info_khr -> 1000085000 | |
| Object_table_create_info_nvx -> 1000086000 | |
| Indirect_commands_layout_create_info_nvx -> 1000086001 | |
| Cmd_process_commands_info_nvx -> 1000086002 | |
| Cmd_reserve_space_for_commands_info_nvx -> 1000086003 | |
| Device_generated_commands_limits_nvx -> 1000086004 | |
| Device_generated_commands_features_nvx -> 1000086005 | |
| Pipeline_viewport_w_scaling_state_create_info_nv -> 1000087000 | |
| Surface_capabilities_2_ext -> 1000090000 | |
| Display_power_info_ext -> 1000091000 | |
| Device_event_info_ext -> 1000091001 | |
| Display_event_info_ext -> 1000091002 | |
| Swapchain_counter_create_info_ext -> 1000091003 | |
| Present_times_info_google -> 1000092000 | |
| Physical_device_multiview_per_view_attributes_properties_nvx -> 1000097000 | |
| Pipeline_viewport_swizzle_state_create_info_nv -> 1000098000 | |
| Physical_device_discard_rectangle_properties_ext -> 1000099000 | |
| Pipeline_discard_rectangle_state_create_info_ext -> 1000099001 | |
| Hdr_metadata_ext -> 1000105000 | |
| Shared_present_surface_capabilities_khr -> 1000111000 | |
| Physical_device_surface_info_2_khr -> 1000119000 | |
| Surface_capabilities_2_khr -> 1000119001 | |
| Surface_format_2_khr -> 1000119002 | |
| Ios_surface_create_info_mvk -> 1000122000 | |
| Macos_surface_create_info_mvk -> 1000123000 | |
let of_int = function | |
| 0 -> Application_info | |
| 1 -> Instance_create_info | |
| 2 -> Device_queue_create_info | |
| 3 -> Device_create_info | |
| 4 -> Submit_info | |
| 5 -> Memory_allocate_info | |
| 6 -> Mapped_memory_range | |
| 7 -> Bind_sparse_info | |
| 8 -> Fence_create_info | |
| 9 -> Semaphore_create_info | |
| 10 -> Event_create_info | |
| 11 -> Query_pool_create_info | |
| 12 -> Buffer_create_info | |
| 13 -> Buffer_view_create_info | |
| 14 -> Image_create_info | |
| 15 -> Image_view_create_info | |
| 16 -> Shader_module_create_info | |
| 17 -> Pipeline_cache_create_info | |
| 18 -> Pipeline_shader_stage_create_info | |
| 19 -> Pipeline_vertex_input_state_create_info | |
| 20 -> Pipeline_input_assembly_state_create_info | |
| 21 -> Pipeline_tessellation_state_create_info | |
| 22 -> Pipeline_viewport_state_create_info | |
| 23 -> Pipeline_rasterization_state_create_info | |
| 24 -> Pipeline_multisample_state_create_info | |
| 25 -> Pipeline_depth_stencil_state_create_info | |
| 26 -> Pipeline_color_blend_state_create_info | |
| 27 -> Pipeline_dynamic_state_create_info | |
| 28 -> Graphics_pipeline_create_info | |
| 29 -> Compute_pipeline_create_info | |
| 30 -> Pipeline_layout_create_info | |
| 31 -> Sampler_create_info | |
| 32 -> Descriptor_set_layout_create_info | |
| 33 -> Descriptor_pool_create_info | |
| 34 -> Descriptor_set_allocate_info | |
| 35 -> Write_descriptor_set | |
| 36 -> Copy_descriptor_set | |
| 37 -> Framebuffer_create_info | |
| 38 -> Render_pass_create_info | |
| 39 -> Command_pool_create_info | |
| 40 -> Command_buffer_allocate_info | |
| 41 -> Command_buffer_inheritance_info | |
| 42 -> Command_buffer_begin_info | |
| 43 -> Render_pass_begin_info | |
| 44 -> Buffer_memory_barrier | |
| 45 -> Image_memory_barrier | |
| 46 -> Memory_barrier | |
| 47 -> Loader_instance_create_info | |
| 48 -> Loader_device_create_info | |
| 1000001000 -> Swapchain_create_info_khr | |
| 1000001001 -> Present_info_khr | |
| 1000002000 -> Display_mode_create_info_khr | |
| 1000002001 -> Display_surface_create_info_khr | |
| 1000003000 -> Display_present_info_khr | |
| 1000004000 -> Xlib_surface_create_info_khr | |
| 1000005000 -> Xcb_surface_create_info_khr | |
| 1000006000 -> Wayland_surface_create_info_khr | |
| 1000007000 -> Mir_surface_create_info_khr | |
| 1000008000 -> Android_surface_create_info_khr | |
| 1000009000 -> Win_32_surface_create_info_khr | |
| 1000011000 -> Debug_report_callback_create_info_ext | |
| 1000018000 -> Pipeline_rasterization_state_rasterization_order_amd | |
| 1000022000 -> Debug_marker_object_name_info_ext | |
| 1000022001 -> Debug_marker_object_tag_info_ext | |
| 1000022002 -> Debug_marker_marker_info_ext | |
| 1000026000 -> Dedicated_allocation_image_create_info_nv | |
| 1000026001 -> Dedicated_allocation_buffer_create_info_nv | |
| 1000026002 -> Dedicated_allocation_memory_allocate_info_nv | |
| 1000041000 -> Texture_lod_gather_format_properties_amd | |
| 1000053000 -> Render_pass_multiview_create_info_khx | |
| 1000053001 -> Physical_device_multiview_features_khx | |
| 1000053002 -> Physical_device_multiview_properties_khx | |
| 1000056000 -> External_memory_image_create_info_nv | |
| 1000056001 -> Export_memory_allocate_info_nv | |
| 1000057000 -> Import_memory_win_32_handle_info_nv | |
| 1000057001 -> Export_memory_win_32_handle_info_nv | |
| 1000058000 -> Win_32_keyed_mutex_acquire_release_info_nv | |
| 1000059000 -> Physical_device_features_2_khr | |
| 1000059001 -> Physical_device_properties_2_khr | |
| 1000059002 -> Format_properties_2_khr | |
| 1000059003 -> Image_format_properties_2_khr | |
| 1000059004 -> Physical_device_image_format_info_2_khr | |
| 1000059005 -> Queue_family_properties_2_khr | |
| 1000059006 -> Physical_device_memory_properties_2_khr | |
| 1000059007 -> Sparse_image_format_properties_2_khr | |
| 1000059008 -> Physical_device_sparse_image_format_info_2_khr | |
| 1000060000 -> Memory_allocate_flags_info_khx | |
| 1000060001 -> Bind_buffer_memory_info_khx | |
| 1000060002 -> Bind_image_memory_info_khx | |
| 1000060003 -> Device_group_render_pass_begin_info_khx | |
| 1000060004 -> Device_group_command_buffer_begin_info_khx | |
| 1000060005 -> Device_group_submit_info_khx | |
| 1000060006 -> Device_group_bind_sparse_info_khx | |
| 1000060007 -> Device_group_present_capabilities_khx | |
| 1000060008 -> Image_swapchain_create_info_khx | |
| 1000060009 -> Bind_image_memory_swapchain_info_khx | |
| 1000060010 -> Acquire_next_image_info_khx | |
| 1000060011 -> Device_group_present_info_khx | |
| 1000060012 -> Device_group_swapchain_create_info_khx | |
| 1000061000 -> Validation_flags_ext | |
| 1000062000 -> Vi_surface_create_info_nn | |
| 1000070000 -> Physical_device_group_properties_khx | |
| 1000070001 -> Device_group_device_create_info_khx | |
| 1000071000 -> Physical_device_external_image_format_info_khx | |
| 1000071001 -> External_image_format_properties_khx | |
| 1000071002 -> Physical_device_external_buffer_info_khx | |
| 1000071003 -> External_buffer_properties_khx | |
| 1000071004 -> Physical_device_id_properties_khx | |
| 1000072000 -> External_memory_buffer_create_info_khx | |
| 1000072001 -> External_memory_image_create_info_khx | |
| 1000072002 -> Export_memory_allocate_info_khx | |
| 1000073000 -> Import_memory_win_32_handle_info_khx | |
| 1000073001 -> Export_memory_win_32_handle_info_khx | |
| 1000073002 -> Memory_win_32_handle_properties_khx | |
| 1000074000 -> Import_memory_fd_info_khx | |
| 1000074001 -> Memory_fd_properties_khx | |
| 1000075000 -> Win_32_keyed_mutex_acquire_release_info_khx | |
| 1000076000 -> Physical_device_external_semaphore_info_khx | |
| 1000076001 -> External_semaphore_properties_khx | |
| 1000077000 -> Export_semaphore_create_info_khx | |
| 1000078000 -> Import_semaphore_win_32_handle_info_khx | |
| 1000078001 -> Export_semaphore_win_32_handle_info_khx | |
| 1000078002 -> D3d_12_fence_submit_info_khx | |
| 1000079000 -> Import_semaphore_fd_info_khx | |
| 1000080000 -> Physical_device_push_descriptor_properties_khr | |
| 1000084000 -> Present_regions_khr | |
| 1000085000 -> Descriptor_update_template_create_info_khr | |
| 1000086000 -> Object_table_create_info_nvx | |
| 1000086001 -> Indirect_commands_layout_create_info_nvx | |
| 1000086002 -> Cmd_process_commands_info_nvx | |
| 1000086003 -> Cmd_reserve_space_for_commands_info_nvx | |
| 1000086004 -> Device_generated_commands_limits_nvx | |
| 1000086005 -> Device_generated_commands_features_nvx | |
| 1000087000 -> Pipeline_viewport_w_scaling_state_create_info_nv | |
| 1000090000 -> Surface_capabilities_2_ext | |
| 1000091000 -> Display_power_info_ext | |
| 1000091001 -> Device_event_info_ext | |
| 1000091002 -> Display_event_info_ext | |
| 1000091003 -> Swapchain_counter_create_info_ext | |
| 1000092000 -> Present_times_info_google | |
| 1000097000 -> Physical_device_multiview_per_view_attributes_properties_nvx | |
| 1000098000 -> Pipeline_viewport_swizzle_state_create_info_nv | |
| 1000099000 -> Physical_device_discard_rectangle_properties_ext | |
| 1000099001 -> Pipeline_discard_rectangle_state_create_info_ext | |
| 1000105000 -> Hdr_metadata_ext | |
| 1000111000 -> Shared_present_surface_capabilities_khr | |
| 1000119000 -> Physical_device_surface_info_2_khr | |
| 1000119001 -> Surface_capabilities_2_khr | |
| 1000119002 -> Surface_format_2_khr | |
| 1000122000 -> Ios_surface_create_info_mvk | |
| 1000123000 -> Macos_surface_create_info_mvk | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Application_info -> "Application_info" | |
| Instance_create_info -> "Instance_create_info" | |
| Device_queue_create_info -> "Device_queue_create_info" | |
| Device_create_info -> "Device_create_info" | |
| Submit_info -> "Submit_info" | |
| Memory_allocate_info -> "Memory_allocate_info" | |
| Mapped_memory_range -> "Mapped_memory_range" | |
| Bind_sparse_info -> "Bind_sparse_info" | |
| Fence_create_info -> "Fence_create_info" | |
| Semaphore_create_info -> "Semaphore_create_info" | |
| Event_create_info -> "Event_create_info" | |
| Query_pool_create_info -> "Query_pool_create_info" | |
| Buffer_create_info -> "Buffer_create_info" | |
| Buffer_view_create_info -> "Buffer_view_create_info" | |
| Image_create_info -> "Image_create_info" | |
| Image_view_create_info -> "Image_view_create_info" | |
| Shader_module_create_info -> "Shader_module_create_info" | |
| Pipeline_cache_create_info -> "Pipeline_cache_create_info" | |
| Pipeline_shader_stage_create_info -> "Pipeline_shader_stage_create_info" | |
| Pipeline_vertex_input_state_create_info -> "Pipeline_vertex_input_state_create_info" | |
| Pipeline_input_assembly_state_create_info -> "Pipeline_input_assembly_state_create_info" | |
| Pipeline_tessellation_state_create_info -> "Pipeline_tessellation_state_create_info" | |
| Pipeline_viewport_state_create_info -> "Pipeline_viewport_state_create_info" | |
| Pipeline_rasterization_state_create_info -> "Pipeline_rasterization_state_create_info" | |
| Pipeline_multisample_state_create_info -> "Pipeline_multisample_state_create_info" | |
| Pipeline_depth_stencil_state_create_info -> "Pipeline_depth_stencil_state_create_info" | |
| Pipeline_color_blend_state_create_info -> "Pipeline_color_blend_state_create_info" | |
| Pipeline_dynamic_state_create_info -> "Pipeline_dynamic_state_create_info" | |
| Graphics_pipeline_create_info -> "Graphics_pipeline_create_info" | |
| Compute_pipeline_create_info -> "Compute_pipeline_create_info" | |
| Pipeline_layout_create_info -> "Pipeline_layout_create_info" | |
| Sampler_create_info -> "Sampler_create_info" | |
| Descriptor_set_layout_create_info -> "Descriptor_set_layout_create_info" | |
| Descriptor_pool_create_info -> "Descriptor_pool_create_info" | |
| Descriptor_set_allocate_info -> "Descriptor_set_allocate_info" | |
| Write_descriptor_set -> "Write_descriptor_set" | |
| Copy_descriptor_set -> "Copy_descriptor_set" | |
| Framebuffer_create_info -> "Framebuffer_create_info" | |
| Render_pass_create_info -> "Render_pass_create_info" | |
| Command_pool_create_info -> "Command_pool_create_info" | |
| Command_buffer_allocate_info -> "Command_buffer_allocate_info" | |
| Command_buffer_inheritance_info -> "Command_buffer_inheritance_info" | |
| Command_buffer_begin_info -> "Command_buffer_begin_info" | |
| Render_pass_begin_info -> "Render_pass_begin_info" | |
| Buffer_memory_barrier -> "Buffer_memory_barrier" | |
| Image_memory_barrier -> "Image_memory_barrier" | |
| Memory_barrier -> "Memory_barrier" | |
| Loader_instance_create_info -> "Loader_instance_create_info" | |
| Loader_device_create_info -> "Loader_device_create_info" | |
| Swapchain_create_info_khr -> "Swapchain_create_info_khr" | |
| Present_info_khr -> "Present_info_khr" | |
| Display_mode_create_info_khr -> "Display_mode_create_info_khr" | |
| Display_surface_create_info_khr -> "Display_surface_create_info_khr" | |
| Display_present_info_khr -> "Display_present_info_khr" | |
| Xlib_surface_create_info_khr -> "Xlib_surface_create_info_khr" | |
| Xcb_surface_create_info_khr -> "Xcb_surface_create_info_khr" | |
| Wayland_surface_create_info_khr -> "Wayland_surface_create_info_khr" | |
| Mir_surface_create_info_khr -> "Mir_surface_create_info_khr" | |
| Android_surface_create_info_khr -> "Android_surface_create_info_khr" | |
| Win_32_surface_create_info_khr -> "Win_32_surface_create_info_khr" | |
| Debug_report_callback_create_info_ext -> "Debug_report_callback_create_info_ext" | |
| Pipeline_rasterization_state_rasterization_order_amd -> "Pipeline_rasterization_state_rasterization_order_amd" | |
| Debug_marker_object_name_info_ext -> "Debug_marker_object_name_info_ext" | |
| Debug_marker_object_tag_info_ext -> "Debug_marker_object_tag_info_ext" | |
| Debug_marker_marker_info_ext -> "Debug_marker_marker_info_ext" | |
| Dedicated_allocation_image_create_info_nv -> "Dedicated_allocation_image_create_info_nv" | |
| Dedicated_allocation_buffer_create_info_nv -> "Dedicated_allocation_buffer_create_info_nv" | |
| Dedicated_allocation_memory_allocate_info_nv -> "Dedicated_allocation_memory_allocate_info_nv" | |
| Texture_lod_gather_format_properties_amd -> "Texture_lod_gather_format_properties_amd" | |
| Render_pass_multiview_create_info_khx -> "Render_pass_multiview_create_info_khx" | |
| Physical_device_multiview_features_khx -> "Physical_device_multiview_features_khx" | |
| Physical_device_multiview_properties_khx -> "Physical_device_multiview_properties_khx" | |
| External_memory_image_create_info_nv -> "External_memory_image_create_info_nv" | |
| Export_memory_allocate_info_nv -> "Export_memory_allocate_info_nv" | |
| Import_memory_win_32_handle_info_nv -> "Import_memory_win_32_handle_info_nv" | |
| Export_memory_win_32_handle_info_nv -> "Export_memory_win_32_handle_info_nv" | |
| Win_32_keyed_mutex_acquire_release_info_nv -> "Win_32_keyed_mutex_acquire_release_info_nv" | |
| Physical_device_features_2_khr -> "Physical_device_features_2_khr" | |
| Physical_device_properties_2_khr -> "Physical_device_properties_2_khr" | |
| Format_properties_2_khr -> "Format_properties_2_khr" | |
| Image_format_properties_2_khr -> "Image_format_properties_2_khr" | |
| Physical_device_image_format_info_2_khr -> "Physical_device_image_format_info_2_khr" | |
| Queue_family_properties_2_khr -> "Queue_family_properties_2_khr" | |
| Physical_device_memory_properties_2_khr -> "Physical_device_memory_properties_2_khr" | |
| Sparse_image_format_properties_2_khr -> "Sparse_image_format_properties_2_khr" | |
| Physical_device_sparse_image_format_info_2_khr -> "Physical_device_sparse_image_format_info_2_khr" | |
| Memory_allocate_flags_info_khx -> "Memory_allocate_flags_info_khx" | |
| Bind_buffer_memory_info_khx -> "Bind_buffer_memory_info_khx" | |
| Bind_image_memory_info_khx -> "Bind_image_memory_info_khx" | |
| Device_group_render_pass_begin_info_khx -> "Device_group_render_pass_begin_info_khx" | |
| Device_group_command_buffer_begin_info_khx -> "Device_group_command_buffer_begin_info_khx" | |
| Device_group_submit_info_khx -> "Device_group_submit_info_khx" | |
| Device_group_bind_sparse_info_khx -> "Device_group_bind_sparse_info_khx" | |
| Device_group_present_capabilities_khx -> "Device_group_present_capabilities_khx" | |
| Image_swapchain_create_info_khx -> "Image_swapchain_create_info_khx" | |
| Bind_image_memory_swapchain_info_khx -> "Bind_image_memory_swapchain_info_khx" | |
| Acquire_next_image_info_khx -> "Acquire_next_image_info_khx" | |
| Device_group_present_info_khx -> "Device_group_present_info_khx" | |
| Device_group_swapchain_create_info_khx -> "Device_group_swapchain_create_info_khx" | |
| Validation_flags_ext -> "Validation_flags_ext" | |
| Vi_surface_create_info_nn -> "Vi_surface_create_info_nn" | |
| Physical_device_group_properties_khx -> "Physical_device_group_properties_khx" | |
| Device_group_device_create_info_khx -> "Device_group_device_create_info_khx" | |
| Physical_device_external_image_format_info_khx -> "Physical_device_external_image_format_info_khx" | |
| External_image_format_properties_khx -> "External_image_format_properties_khx" | |
| Physical_device_external_buffer_info_khx -> "Physical_device_external_buffer_info_khx" | |
| External_buffer_properties_khx -> "External_buffer_properties_khx" | |
| Physical_device_id_properties_khx -> "Physical_device_id_properties_khx" | |
| External_memory_buffer_create_info_khx -> "External_memory_buffer_create_info_khx" | |
| External_memory_image_create_info_khx -> "External_memory_image_create_info_khx" | |
| Export_memory_allocate_info_khx -> "Export_memory_allocate_info_khx" | |
| Import_memory_win_32_handle_info_khx -> "Import_memory_win_32_handle_info_khx" | |
| Export_memory_win_32_handle_info_khx -> "Export_memory_win_32_handle_info_khx" | |
| Memory_win_32_handle_properties_khx -> "Memory_win_32_handle_properties_khx" | |
| Import_memory_fd_info_khx -> "Import_memory_fd_info_khx" | |
| Memory_fd_properties_khx -> "Memory_fd_properties_khx" | |
| Win_32_keyed_mutex_acquire_release_info_khx -> "Win_32_keyed_mutex_acquire_release_info_khx" | |
| Physical_device_external_semaphore_info_khx -> "Physical_device_external_semaphore_info_khx" | |
| External_semaphore_properties_khx -> "External_semaphore_properties_khx" | |
| Export_semaphore_create_info_khx -> "Export_semaphore_create_info_khx" | |
| Import_semaphore_win_32_handle_info_khx -> "Import_semaphore_win_32_handle_info_khx" | |
| Export_semaphore_win_32_handle_info_khx -> "Export_semaphore_win_32_handle_info_khx" | |
| D3d_12_fence_submit_info_khx -> "D3d_12_fence_submit_info_khx" | |
| Import_semaphore_fd_info_khx -> "Import_semaphore_fd_info_khx" | |
| Physical_device_push_descriptor_properties_khr -> "Physical_device_push_descriptor_properties_khr" | |
| Present_regions_khr -> "Present_regions_khr" | |
| Descriptor_update_template_create_info_khr -> "Descriptor_update_template_create_info_khr" | |
| Object_table_create_info_nvx -> "Object_table_create_info_nvx" | |
| Indirect_commands_layout_create_info_nvx -> "Indirect_commands_layout_create_info_nvx" | |
| Cmd_process_commands_info_nvx -> "Cmd_process_commands_info_nvx" | |
| Cmd_reserve_space_for_commands_info_nvx -> "Cmd_reserve_space_for_commands_info_nvx" | |
| Device_generated_commands_limits_nvx -> "Device_generated_commands_limits_nvx" | |
| Device_generated_commands_features_nvx -> "Device_generated_commands_features_nvx" | |
| Pipeline_viewport_w_scaling_state_create_info_nv -> "Pipeline_viewport_w_scaling_state_create_info_nv" | |
| Surface_capabilities_2_ext -> "Surface_capabilities_2_ext" | |
| Display_power_info_ext -> "Display_power_info_ext" | |
| Device_event_info_ext -> "Device_event_info_ext" | |
| Display_event_info_ext -> "Display_event_info_ext" | |
| Swapchain_counter_create_info_ext -> "Swapchain_counter_create_info_ext" | |
| Present_times_info_google -> "Present_times_info_google" | |
| Physical_device_multiview_per_view_attributes_properties_nvx -> "Physical_device_multiview_per_view_attributes_properties_nvx" | |
| Pipeline_viewport_swizzle_state_create_info_nv -> "Pipeline_viewport_swizzle_state_create_info_nv" | |
| Physical_device_discard_rectangle_properties_ext -> "Physical_device_discard_rectangle_properties_ext" | |
| Pipeline_discard_rectangle_state_create_info_ext -> "Pipeline_discard_rectangle_state_create_info_ext" | |
| Hdr_metadata_ext -> "Hdr_metadata_ext" | |
| Shared_present_surface_capabilities_khr -> "Shared_present_surface_capabilities_khr" | |
| Physical_device_surface_info_2_khr -> "Physical_device_surface_info_2_khr" | |
| Surface_capabilities_2_khr -> "Surface_capabilities_2_khr" | |
| Surface_format_2_khr -> "Surface_format_2_khr" | |
| Ios_surface_create_info_mvk -> "Ios_surface_create_info_mvk" | |
| Macos_surface_create_info_mvk -> "Macos_surface_create_info_mvk") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let structure_type, structure_type_opt = Structure_type.(view,view_opt) | |
type structure_type = Structure_type.t | |
module Swapchain_khr = Handle.Make() | |
type swapchain_khr = Swapchain_khr.t | |
let swapchain_khr, swapchain_khr_opt = Swapchain_khr.(view,view_opt) | |
module Semaphore = Handle.Make() | |
type semaphore = Semaphore.t | |
let semaphore, semaphore_opt = Semaphore.(view,view_opt) | |
module Fence = Handle.Make() | |
type fence = Fence.t | |
let fence, fence_opt = Fence.(view,view_opt) | |
module Acquire_next_image_info_khx = struct type t | |
type acquire_next_image_info_khx = t | |
let t: t structure typ = structure "acquire_next_image_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain = field t "swapchain" swapchain_khr | |
let timeout = field t "timeout" uint_64_t | |
let semaphore = field t "semaphore" semaphore_opt | |
let fence = field t "fence" fence_opt | |
let device_mask = field t "device_mask" uint_32_t | |
end | |
let swapchain record = Ctypes.getf record Fields.swapchain | |
let timeout record = Ctypes.getf record Fields.timeout | |
let semaphore record = Ctypes.getf record Fields.semaphore | |
let fence record = Ctypes.getf record Fields.fence | |
let device_mask record = Ctypes.getf record Fields.device_mask | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type acquire_next_image_info_khx_extension = .. | |
type acquire_next_image_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~swapchain:arg__swapchain | |
~timeout:arg__timeout?semaphore:arg__semaphore?fence:arg__fence | |
~device_mask:arg__device_mask ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Acquire_next_image_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.swapchain arg__swapchain; | |
Ctypes.setf generated__x__ Fields.timeout arg__timeout; | |
Ctypes.setf generated__x__ Fields.semaphore arg__semaphore; | |
Ctypes.setf generated__x__ Fields.fence arg__fence; | |
Ctypes.setf generated__x__ Fields.device_mask arg__device_mask; | |
Ctypes.addr generated__x__ | |
end | |
let acquire_next_image_info_khx = Acquire_next_image_info_khx.t | |
type acquire_next_image_info_khx = Acquire_next_image_info_khx.t | |
module Allocation_callbacks = struct type t type allocation_callbacks = t | |
let t: t structure typ = structure "allocation_callbacks" | |
module Fields=struct | |
let user_data = field t "user_data" (ptr_opt (void)) | |
let pfn_allocation = field t "pfn_allocation" allocation_function | |
let pfn_reallocation = field t "pfn_reallocation" reallocation_function | |
let pfn_free = field t "pfn_free" free_function | |
let pfn_internal_allocation = field t "pfn_internal_allocation" internal_allocation_notification_opt | |
let pfn_internal_free = field t "pfn_internal_free" internal_free_notification_opt | |
end | |
let user_data record = Ctypes.getf record Fields.user_data | |
let pfn_allocation record = Ctypes.getf record Fields.pfn_allocation | |
let pfn_reallocation record = Ctypes.getf record Fields.pfn_reallocation | |
let pfn_free record = Ctypes.getf record Fields.pfn_free | |
let pfn_internal_allocation record = Ctypes.getf record Fields.pfn_internal_allocation | |
let pfn_internal_free record = Ctypes.getf record Fields.pfn_internal_free | |
let () = Ctypes.seal t | |
let make ?user_data:arg__user_data~pfn_allocation:arg__pfn_allocation | |
~pfn_reallocation:arg__pfn_reallocation~pfn_free:arg__pfn_free | |
?pfn_internal_allocation:arg__pfn_internal_allocation | |
?pfn_internal_free:arg__pfn_internal_free ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.user_data arg__user_data; | |
Ctypes.setf generated__x__ Fields.pfn_allocation arg__pfn_allocation; | |
Ctypes.setf generated__x__ Fields.pfn_reallocation arg__pfn_reallocation; | |
Ctypes.setf generated__x__ Fields.pfn_free arg__pfn_free; | |
Ctypes.setf generated__x__ Fields.pfn_internal_allocation arg__pfn_internal_allocation; | |
Ctypes.setf generated__x__ Fields.pfn_internal_free arg__pfn_internal_free; | |
Ctypes.addr generated__x__ end | |
let allocation_callbacks = Allocation_callbacks.t | |
type allocation_callbacks = Allocation_callbacks.t | |
module Application_info = struct type t type application_info = t | |
let t: t structure typ = structure "application_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let application_name = field t "application_name" string_opt | |
let application_version = field t "application_version" uint_32_t | |
let engine_name = field t "engine_name" string_opt | |
let engine_version = field t "engine_version" uint_32_t | |
let api_version = field t "api_version" uint_32_t | |
end | |
let application_name record = Ctypes.getf record Fields.application_name | |
let application_version record = Ctypes.getf record Fields.application_version | |
let engine_name record = Ctypes.getf record Fields.engine_name | |
let engine_version record = Ctypes.getf record Fields.engine_version | |
let api_version record = Ctypes.getf record Fields.api_version | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type application_info_extension = .. | |
type application_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?application_name:arg__application_name | |
~application_version:arg__application_version?engine_name:arg__engine_name | |
~engine_version:arg__engine_version~api_version:arg__api_version ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Application_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.application_name arg__application_name; | |
Ctypes.setf generated__x__ Fields.application_version arg__application_version; | |
Ctypes.setf generated__x__ Fields.engine_name arg__engine_name; | |
Ctypes.setf generated__x__ Fields.engine_version arg__engine_version; | |
Ctypes.setf generated__x__ Fields.api_version arg__api_version; | |
Ctypes.addr generated__x__ | |
end | |
let application_info = Application_info.t | |
type application_info = Application_info.t | |
module Attachment_description_flags = struct | |
include Bitset.Make() | |
let may_alias = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem may_alias set then | |
Printer.fprintf ppf "may_alias;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type attachment_description_flags = Attachment_description_flags.t | |
let attachment_description_flags, attachment_description_flags_opt = Attachment_description_flags.(view, view_opt) | |
let attachment_description_flag_bits = Attachment_description_flags.index_view | |
let attachment_description_flag_bits_opt = Attachment_description_flags.index_view_opt | |
module Format = struct | |
type t = | Undefined | |
| R4g_4_unorm_pack_8 | |
| R4g4b4a_4_unorm_pack_16 | |
| B4g4r4a_4_unorm_pack_16 | |
| R5g6b_5_unorm_pack_16 | |
| B5g6r_5_unorm_pack_16 | |
| R5g5b5a_1_unorm_pack_16 | |
| B5g5r5a_1_unorm_pack_16 | |
| A1r5g5b_5_unorm_pack_16 | |
| R_8_unorm | |
| R_8_snorm | |
| R_8_uscaled | |
| R_8_sscaled | |
| R_8_uint | |
| R_8_sint | |
| R_8_srgb | |
| R8g_8_unorm | |
| R8g_8_snorm | |
| R8g_8_uscaled | |
| R8g_8_sscaled | |
| R8g_8_uint | |
| R8g_8_sint | |
| R8g_8_srgb | |
| R8g8b_8_unorm | |
| R8g8b_8_snorm | |
| R8g8b_8_uscaled | |
| R8g8b_8_sscaled | |
| R8g8b_8_uint | |
| R8g8b_8_sint | |
| R8g8b_8_srgb | |
| B8g8r_8_unorm | |
| B8g8r_8_snorm | |
| B8g8r_8_uscaled | |
| B8g8r_8_sscaled | |
| B8g8r_8_uint | |
| B8g8r_8_sint | |
| B8g8r_8_srgb | |
| R8g8b8a_8_unorm | |
| R8g8b8a_8_snorm | |
| R8g8b8a_8_uscaled | |
| R8g8b8a_8_sscaled | |
| R8g8b8a_8_uint | |
| R8g8b8a_8_sint | |
| R8g8b8a_8_srgb | |
| B8g8r8a_8_unorm | |
| B8g8r8a_8_snorm | |
| B8g8r8a_8_uscaled | |
| B8g8r8a_8_sscaled | |
| B8g8r8a_8_uint | |
| B8g8r8a_8_sint | |
| B8g8r8a_8_srgb | |
| A8b8g8r_8_unorm_pack_32 | |
| A8b8g8r_8_snorm_pack_32 | |
| A8b8g8r_8_uscaled_pack_32 | |
| A8b8g8r_8_sscaled_pack_32 | |
| A8b8g8r_8_uint_pack_32 | |
| A8b8g8r_8_sint_pack_32 | |
| A8b8g8r_8_srgb_pack_32 | |
| A2r10g10b_10_unorm_pack_32 | |
| A2r10g10b_10_snorm_pack_32 | |
| A2r10g10b_10_uscaled_pack_32 | |
| A2r10g10b_10_sscaled_pack_32 | |
| A2r10g10b_10_uint_pack_32 | |
| A2r10g10b_10_sint_pack_32 | |
| A2b10g10r_10_unorm_pack_32 | |
| A2b10g10r_10_snorm_pack_32 | |
| A2b10g10r_10_uscaled_pack_32 | |
| A2b10g10r_10_sscaled_pack_32 | |
| A2b10g10r_10_uint_pack_32 | |
| A2b10g10r_10_sint_pack_32 | |
| R_16_unorm | |
| R_16_snorm | |
| R_16_uscaled | |
| R_16_sscaled | |
| R_16_uint | |
| R_16_sint | |
| R_16_sfloat | |
| R16g_16_unorm | |
| R16g_16_snorm | |
| R16g_16_uscaled | |
| R16g_16_sscaled | |
| R16g_16_uint | |
| R16g_16_sint | |
| R16g_16_sfloat | |
| R16g16b_16_unorm | |
| R16g16b_16_snorm | |
| R16g16b_16_uscaled | |
| R16g16b_16_sscaled | |
| R16g16b_16_uint | |
| R16g16b_16_sint | |
| R16g16b_16_sfloat | |
| R16g16b16a_16_unorm | |
| R16g16b16a_16_snorm | |
| R16g16b16a_16_uscaled | |
| R16g16b16a_16_sscaled | |
| R16g16b16a_16_uint | |
| R16g16b16a_16_sint | |
| R16g16b16a_16_sfloat | |
| R_32_uint | |
| R_32_sint | |
| R_32_sfloat | |
| R32g_32_uint | |
| R32g_32_sint | |
| R32g_32_sfloat | |
| R32g32b_32_uint | |
| R32g32b_32_sint | |
| R32g32b_32_sfloat | |
| R32g32b32a_32_uint | |
| R32g32b32a_32_sint | |
| R32g32b32a_32_sfloat | |
| R_64_uint | |
| R_64_sint | |
| R_64_sfloat | |
| R64g_64_uint | |
| R64g_64_sint | |
| R64g_64_sfloat | |
| R64g64b_64_uint | |
| R64g64b_64_sint | |
| R64g64b_64_sfloat | |
| R64g64b64a_64_uint | |
| R64g64b64a_64_sint | |
| R64g64b64a_64_sfloat | |
| B10g11r_11_ufloat_pack_32 | |
| E5b9g9r_9_ufloat_pack_32 | |
| D_16_unorm | |
| X_8_d_24_unorm_pack_32 | |
| D_32_sfloat | |
| S_8_uint | |
| D_16_unorm_s_8_uint | |
| D_24_unorm_s_8_uint | |
| D_32_sfloat_s_8_uint | |
| Bc_1_rgb_unorm_block | |
| Bc_1_rgb_srgb_block | |
| Bc_1_rgba_unorm_block | |
| Bc_1_rgba_srgb_block | |
| Bc_2_unorm_block | |
| Bc_2_srgb_block | |
| Bc_3_unorm_block | |
| Bc_3_srgb_block | |
| Bc_4_unorm_block | |
| Bc_4_snorm_block | |
| Bc_5_unorm_block | |
| Bc_5_snorm_block | |
| Bc6h_ufloat_block | |
| Bc6h_sfloat_block | |
| Bc_7_unorm_block | |
| Bc_7_srgb_block | |
| Etc_2_r8g8b_8_unorm_block | |
| Etc_2_r8g8b_8_srgb_block | |
| Etc_2_r8g8b8a_1_unorm_block | |
| Etc_2_r8g8b8a_1_srgb_block | |
| Etc_2_r8g8b8a_8_unorm_block | |
| Etc_2_r8g8b8a_8_srgb_block | |
| Eac_r_11_unorm_block | |
| Eac_r_11_snorm_block | |
| Eac_r11g_11_unorm_block | |
| Eac_r11g_11_snorm_block | |
| Astc_4x4_unorm_block | |
| Astc_4x4_srgb_block | |
| Astc_5x4_unorm_block | |
| Astc_5x4_srgb_block | |
| Astc_5x5_unorm_block | |
| Astc_5x5_srgb_block | |
| Astc_6x5_unorm_block | |
| Astc_6x5_srgb_block | |
| Astc_6x6_unorm_block | |
| Astc_6x6_srgb_block | |
| Astc_8x5_unorm_block | |
| Astc_8x5_srgb_block | |
| Astc_8x6_unorm_block | |
| Astc_8x6_srgb_block | |
| Astc_8x8_unorm_block | |
| Astc_8x8_srgb_block | |
| Astc_10x5_unorm_block | |
| Astc_10x5_srgb_block | |
| Astc_10x6_unorm_block | |
| Astc_10x6_srgb_block | |
| Astc_10x8_unorm_block | |
| Astc_10x8_srgb_block | |
| Astc_10x10_unorm_block | |
| Astc_10x10_srgb_block | |
| Astc_12x10_unorm_block | |
| Astc_12x10_srgb_block | |
| Astc_12x12_unorm_block | |
| Astc_12x12_srgb_block | |
| Pvrtc_1_2bpp_unorm_block_img | |
| Pvrtc_1_4bpp_unorm_block_img | |
| Pvrtc_2_2bpp_unorm_block_img | |
| Pvrtc_2_4bpp_unorm_block_img | |
| Pvrtc_1_2bpp_srgb_block_img | |
| Pvrtc_1_4bpp_srgb_block_img | |
| Pvrtc_2_2bpp_srgb_block_img | |
| Pvrtc_2_4bpp_srgb_block_img | |
let to_int = function | |
| Undefined -> 0 | |
| R4g_4_unorm_pack_8 -> 1 | |
| R4g4b4a_4_unorm_pack_16 -> 2 | |
| B4g4r4a_4_unorm_pack_16 -> 3 | |
| R5g6b_5_unorm_pack_16 -> 4 | |
| B5g6r_5_unorm_pack_16 -> 5 | |
| R5g5b5a_1_unorm_pack_16 -> 6 | |
| B5g5r5a_1_unorm_pack_16 -> 7 | |
| A1r5g5b_5_unorm_pack_16 -> 8 | |
| R_8_unorm -> 9 | |
| R_8_snorm -> 10 | |
| R_8_uscaled -> 11 | |
| R_8_sscaled -> 12 | |
| R_8_uint -> 13 | |
| R_8_sint -> 14 | |
| R_8_srgb -> 15 | |
| R8g_8_unorm -> 16 | |
| R8g_8_snorm -> 17 | |
| R8g_8_uscaled -> 18 | |
| R8g_8_sscaled -> 19 | |
| R8g_8_uint -> 20 | |
| R8g_8_sint -> 21 | |
| R8g_8_srgb -> 22 | |
| R8g8b_8_unorm -> 23 | |
| R8g8b_8_snorm -> 24 | |
| R8g8b_8_uscaled -> 25 | |
| R8g8b_8_sscaled -> 26 | |
| R8g8b_8_uint -> 27 | |
| R8g8b_8_sint -> 28 | |
| R8g8b_8_srgb -> 29 | |
| B8g8r_8_unorm -> 30 | |
| B8g8r_8_snorm -> 31 | |
| B8g8r_8_uscaled -> 32 | |
| B8g8r_8_sscaled -> 33 | |
| B8g8r_8_uint -> 34 | |
| B8g8r_8_sint -> 35 | |
| B8g8r_8_srgb -> 36 | |
| R8g8b8a_8_unorm -> 37 | |
| R8g8b8a_8_snorm -> 38 | |
| R8g8b8a_8_uscaled -> 39 | |
| R8g8b8a_8_sscaled -> 40 | |
| R8g8b8a_8_uint -> 41 | |
| R8g8b8a_8_sint -> 42 | |
| R8g8b8a_8_srgb -> 43 | |
| B8g8r8a_8_unorm -> 44 | |
| B8g8r8a_8_snorm -> 45 | |
| B8g8r8a_8_uscaled -> 46 | |
| B8g8r8a_8_sscaled -> 47 | |
| B8g8r8a_8_uint -> 48 | |
| B8g8r8a_8_sint -> 49 | |
| B8g8r8a_8_srgb -> 50 | |
| A8b8g8r_8_unorm_pack_32 -> 51 | |
| A8b8g8r_8_snorm_pack_32 -> 52 | |
| A8b8g8r_8_uscaled_pack_32 -> 53 | |
| A8b8g8r_8_sscaled_pack_32 -> 54 | |
| A8b8g8r_8_uint_pack_32 -> 55 | |
| A8b8g8r_8_sint_pack_32 -> 56 | |
| A8b8g8r_8_srgb_pack_32 -> 57 | |
| A2r10g10b_10_unorm_pack_32 -> 58 | |
| A2r10g10b_10_snorm_pack_32 -> 59 | |
| A2r10g10b_10_uscaled_pack_32 -> 60 | |
| A2r10g10b_10_sscaled_pack_32 -> 61 | |
| A2r10g10b_10_uint_pack_32 -> 62 | |
| A2r10g10b_10_sint_pack_32 -> 63 | |
| A2b10g10r_10_unorm_pack_32 -> 64 | |
| A2b10g10r_10_snorm_pack_32 -> 65 | |
| A2b10g10r_10_uscaled_pack_32 -> 66 | |
| A2b10g10r_10_sscaled_pack_32 -> 67 | |
| A2b10g10r_10_uint_pack_32 -> 68 | |
| A2b10g10r_10_sint_pack_32 -> 69 | |
| R_16_unorm -> 70 | |
| R_16_snorm -> 71 | |
| R_16_uscaled -> 72 | |
| R_16_sscaled -> 73 | |
| R_16_uint -> 74 | |
| R_16_sint -> 75 | |
| R_16_sfloat -> 76 | |
| R16g_16_unorm -> 77 | |
| R16g_16_snorm -> 78 | |
| R16g_16_uscaled -> 79 | |
| R16g_16_sscaled -> 80 | |
| R16g_16_uint -> 81 | |
| R16g_16_sint -> 82 | |
| R16g_16_sfloat -> 83 | |
| R16g16b_16_unorm -> 84 | |
| R16g16b_16_snorm -> 85 | |
| R16g16b_16_uscaled -> 86 | |
| R16g16b_16_sscaled -> 87 | |
| R16g16b_16_uint -> 88 | |
| R16g16b_16_sint -> 89 | |
| R16g16b_16_sfloat -> 90 | |
| R16g16b16a_16_unorm -> 91 | |
| R16g16b16a_16_snorm -> 92 | |
| R16g16b16a_16_uscaled -> 93 | |
| R16g16b16a_16_sscaled -> 94 | |
| R16g16b16a_16_uint -> 95 | |
| R16g16b16a_16_sint -> 96 | |
| R16g16b16a_16_sfloat -> 97 | |
| R_32_uint -> 98 | |
| R_32_sint -> 99 | |
| R_32_sfloat -> 100 | |
| R32g_32_uint -> 101 | |
| R32g_32_sint -> 102 | |
| R32g_32_sfloat -> 103 | |
| R32g32b_32_uint -> 104 | |
| R32g32b_32_sint -> 105 | |
| R32g32b_32_sfloat -> 106 | |
| R32g32b32a_32_uint -> 107 | |
| R32g32b32a_32_sint -> 108 | |
| R32g32b32a_32_sfloat -> 109 | |
| R_64_uint -> 110 | |
| R_64_sint -> 111 | |
| R_64_sfloat -> 112 | |
| R64g_64_uint -> 113 | |
| R64g_64_sint -> 114 | |
| R64g_64_sfloat -> 115 | |
| R64g64b_64_uint -> 116 | |
| R64g64b_64_sint -> 117 | |
| R64g64b_64_sfloat -> 118 | |
| R64g64b64a_64_uint -> 119 | |
| R64g64b64a_64_sint -> 120 | |
| R64g64b64a_64_sfloat -> 121 | |
| B10g11r_11_ufloat_pack_32 -> 122 | |
| E5b9g9r_9_ufloat_pack_32 -> 123 | |
| D_16_unorm -> 124 | |
| X_8_d_24_unorm_pack_32 -> 125 | |
| D_32_sfloat -> 126 | |
| S_8_uint -> 127 | |
| D_16_unorm_s_8_uint -> 128 | |
| D_24_unorm_s_8_uint -> 129 | |
| D_32_sfloat_s_8_uint -> 130 | |
| Bc_1_rgb_unorm_block -> 131 | |
| Bc_1_rgb_srgb_block -> 132 | |
| Bc_1_rgba_unorm_block -> 133 | |
| Bc_1_rgba_srgb_block -> 134 | |
| Bc_2_unorm_block -> 135 | |
| Bc_2_srgb_block -> 136 | |
| Bc_3_unorm_block -> 137 | |
| Bc_3_srgb_block -> 138 | |
| Bc_4_unorm_block -> 139 | |
| Bc_4_snorm_block -> 140 | |
| Bc_5_unorm_block -> 141 | |
| Bc_5_snorm_block -> 142 | |
| Bc6h_ufloat_block -> 143 | |
| Bc6h_sfloat_block -> 144 | |
| Bc_7_unorm_block -> 145 | |
| Bc_7_srgb_block -> 146 | |
| Etc_2_r8g8b_8_unorm_block -> 147 | |
| Etc_2_r8g8b_8_srgb_block -> 148 | |
| Etc_2_r8g8b8a_1_unorm_block -> 149 | |
| Etc_2_r8g8b8a_1_srgb_block -> 150 | |
| Etc_2_r8g8b8a_8_unorm_block -> 151 | |
| Etc_2_r8g8b8a_8_srgb_block -> 152 | |
| Eac_r_11_unorm_block -> 153 | |
| Eac_r_11_snorm_block -> 154 | |
| Eac_r11g_11_unorm_block -> 155 | |
| Eac_r11g_11_snorm_block -> 156 | |
| Astc_4x4_unorm_block -> 157 | |
| Astc_4x4_srgb_block -> 158 | |
| Astc_5x4_unorm_block -> 159 | |
| Astc_5x4_srgb_block -> 160 | |
| Astc_5x5_unorm_block -> 161 | |
| Astc_5x5_srgb_block -> 162 | |
| Astc_6x5_unorm_block -> 163 | |
| Astc_6x5_srgb_block -> 164 | |
| Astc_6x6_unorm_block -> 165 | |
| Astc_6x6_srgb_block -> 166 | |
| Astc_8x5_unorm_block -> 167 | |
| Astc_8x5_srgb_block -> 168 | |
| Astc_8x6_unorm_block -> 169 | |
| Astc_8x6_srgb_block -> 170 | |
| Astc_8x8_unorm_block -> 171 | |
| Astc_8x8_srgb_block -> 172 | |
| Astc_10x5_unorm_block -> 173 | |
| Astc_10x5_srgb_block -> 174 | |
| Astc_10x6_unorm_block -> 175 | |
| Astc_10x6_srgb_block -> 176 | |
| Astc_10x8_unorm_block -> 177 | |
| Astc_10x8_srgb_block -> 178 | |
| Astc_10x10_unorm_block -> 179 | |
| Astc_10x10_srgb_block -> 180 | |
| Astc_12x10_unorm_block -> 181 | |
| Astc_12x10_srgb_block -> 182 | |
| Astc_12x12_unorm_block -> 183 | |
| Astc_12x12_srgb_block -> 184 | |
| Pvrtc_1_2bpp_unorm_block_img -> 1000054000 | |
| Pvrtc_1_4bpp_unorm_block_img -> 1000054001 | |
| Pvrtc_2_2bpp_unorm_block_img -> 1000054002 | |
| Pvrtc_2_4bpp_unorm_block_img -> 1000054003 | |
| Pvrtc_1_2bpp_srgb_block_img -> 1000054004 | |
| Pvrtc_1_4bpp_srgb_block_img -> 1000054005 | |
| Pvrtc_2_2bpp_srgb_block_img -> 1000054006 | |
| Pvrtc_2_4bpp_srgb_block_img -> 1000054007 | |
let of_int = function | |
| 0 -> Undefined | |
| 1 -> R4g_4_unorm_pack_8 | |
| 2 -> R4g4b4a_4_unorm_pack_16 | |
| 3 -> B4g4r4a_4_unorm_pack_16 | |
| 4 -> R5g6b_5_unorm_pack_16 | |
| 5 -> B5g6r_5_unorm_pack_16 | |
| 6 -> R5g5b5a_1_unorm_pack_16 | |
| 7 -> B5g5r5a_1_unorm_pack_16 | |
| 8 -> A1r5g5b_5_unorm_pack_16 | |
| 9 -> R_8_unorm | |
| 10 -> R_8_snorm | |
| 11 -> R_8_uscaled | |
| 12 -> R_8_sscaled | |
| 13 -> R_8_uint | |
| 14 -> R_8_sint | |
| 15 -> R_8_srgb | |
| 16 -> R8g_8_unorm | |
| 17 -> R8g_8_snorm | |
| 18 -> R8g_8_uscaled | |
| 19 -> R8g_8_sscaled | |
| 20 -> R8g_8_uint | |
| 21 -> R8g_8_sint | |
| 22 -> R8g_8_srgb | |
| 23 -> R8g8b_8_unorm | |
| 24 -> R8g8b_8_snorm | |
| 25 -> R8g8b_8_uscaled | |
| 26 -> R8g8b_8_sscaled | |
| 27 -> R8g8b_8_uint | |
| 28 -> R8g8b_8_sint | |
| 29 -> R8g8b_8_srgb | |
| 30 -> B8g8r_8_unorm | |
| 31 -> B8g8r_8_snorm | |
| 32 -> B8g8r_8_uscaled | |
| 33 -> B8g8r_8_sscaled | |
| 34 -> B8g8r_8_uint | |
| 35 -> B8g8r_8_sint | |
| 36 -> B8g8r_8_srgb | |
| 37 -> R8g8b8a_8_unorm | |
| 38 -> R8g8b8a_8_snorm | |
| 39 -> R8g8b8a_8_uscaled | |
| 40 -> R8g8b8a_8_sscaled | |
| 41 -> R8g8b8a_8_uint | |
| 42 -> R8g8b8a_8_sint | |
| 43 -> R8g8b8a_8_srgb | |
| 44 -> B8g8r8a_8_unorm | |
| 45 -> B8g8r8a_8_snorm | |
| 46 -> B8g8r8a_8_uscaled | |
| 47 -> B8g8r8a_8_sscaled | |
| 48 -> B8g8r8a_8_uint | |
| 49 -> B8g8r8a_8_sint | |
| 50 -> B8g8r8a_8_srgb | |
| 51 -> A8b8g8r_8_unorm_pack_32 | |
| 52 -> A8b8g8r_8_snorm_pack_32 | |
| 53 -> A8b8g8r_8_uscaled_pack_32 | |
| 54 -> A8b8g8r_8_sscaled_pack_32 | |
| 55 -> A8b8g8r_8_uint_pack_32 | |
| 56 -> A8b8g8r_8_sint_pack_32 | |
| 57 -> A8b8g8r_8_srgb_pack_32 | |
| 58 -> A2r10g10b_10_unorm_pack_32 | |
| 59 -> A2r10g10b_10_snorm_pack_32 | |
| 60 -> A2r10g10b_10_uscaled_pack_32 | |
| 61 -> A2r10g10b_10_sscaled_pack_32 | |
| 62 -> A2r10g10b_10_uint_pack_32 | |
| 63 -> A2r10g10b_10_sint_pack_32 | |
| 64 -> A2b10g10r_10_unorm_pack_32 | |
| 65 -> A2b10g10r_10_snorm_pack_32 | |
| 66 -> A2b10g10r_10_uscaled_pack_32 | |
| 67 -> A2b10g10r_10_sscaled_pack_32 | |
| 68 -> A2b10g10r_10_uint_pack_32 | |
| 69 -> A2b10g10r_10_sint_pack_32 | |
| 70 -> R_16_unorm | |
| 71 -> R_16_snorm | |
| 72 -> R_16_uscaled | |
| 73 -> R_16_sscaled | |
| 74 -> R_16_uint | |
| 75 -> R_16_sint | |
| 76 -> R_16_sfloat | |
| 77 -> R16g_16_unorm | |
| 78 -> R16g_16_snorm | |
| 79 -> R16g_16_uscaled | |
| 80 -> R16g_16_sscaled | |
| 81 -> R16g_16_uint | |
| 82 -> R16g_16_sint | |
| 83 -> R16g_16_sfloat | |
| 84 -> R16g16b_16_unorm | |
| 85 -> R16g16b_16_snorm | |
| 86 -> R16g16b_16_uscaled | |
| 87 -> R16g16b_16_sscaled | |
| 88 -> R16g16b_16_uint | |
| 89 -> R16g16b_16_sint | |
| 90 -> R16g16b_16_sfloat | |
| 91 -> R16g16b16a_16_unorm | |
| 92 -> R16g16b16a_16_snorm | |
| 93 -> R16g16b16a_16_uscaled | |
| 94 -> R16g16b16a_16_sscaled | |
| 95 -> R16g16b16a_16_uint | |
| 96 -> R16g16b16a_16_sint | |
| 97 -> R16g16b16a_16_sfloat | |
| 98 -> R_32_uint | |
| 99 -> R_32_sint | |
| 100 -> R_32_sfloat | |
| 101 -> R32g_32_uint | |
| 102 -> R32g_32_sint | |
| 103 -> R32g_32_sfloat | |
| 104 -> R32g32b_32_uint | |
| 105 -> R32g32b_32_sint | |
| 106 -> R32g32b_32_sfloat | |
| 107 -> R32g32b32a_32_uint | |
| 108 -> R32g32b32a_32_sint | |
| 109 -> R32g32b32a_32_sfloat | |
| 110 -> R_64_uint | |
| 111 -> R_64_sint | |
| 112 -> R_64_sfloat | |
| 113 -> R64g_64_uint | |
| 114 -> R64g_64_sint | |
| 115 -> R64g_64_sfloat | |
| 116 -> R64g64b_64_uint | |
| 117 -> R64g64b_64_sint | |
| 118 -> R64g64b_64_sfloat | |
| 119 -> R64g64b64a_64_uint | |
| 120 -> R64g64b64a_64_sint | |
| 121 -> R64g64b64a_64_sfloat | |
| 122 -> B10g11r_11_ufloat_pack_32 | |
| 123 -> E5b9g9r_9_ufloat_pack_32 | |
| 124 -> D_16_unorm | |
| 125 -> X_8_d_24_unorm_pack_32 | |
| 126 -> D_32_sfloat | |
| 127 -> S_8_uint | |
| 128 -> D_16_unorm_s_8_uint | |
| 129 -> D_24_unorm_s_8_uint | |
| 130 -> D_32_sfloat_s_8_uint | |
| 131 -> Bc_1_rgb_unorm_block | |
| 132 -> Bc_1_rgb_srgb_block | |
| 133 -> Bc_1_rgba_unorm_block | |
| 134 -> Bc_1_rgba_srgb_block | |
| 135 -> Bc_2_unorm_block | |
| 136 -> Bc_2_srgb_block | |
| 137 -> Bc_3_unorm_block | |
| 138 -> Bc_3_srgb_block | |
| 139 -> Bc_4_unorm_block | |
| 140 -> Bc_4_snorm_block | |
| 141 -> Bc_5_unorm_block | |
| 142 -> Bc_5_snorm_block | |
| 143 -> Bc6h_ufloat_block | |
| 144 -> Bc6h_sfloat_block | |
| 145 -> Bc_7_unorm_block | |
| 146 -> Bc_7_srgb_block | |
| 147 -> Etc_2_r8g8b_8_unorm_block | |
| 148 -> Etc_2_r8g8b_8_srgb_block | |
| 149 -> Etc_2_r8g8b8a_1_unorm_block | |
| 150 -> Etc_2_r8g8b8a_1_srgb_block | |
| 151 -> Etc_2_r8g8b8a_8_unorm_block | |
| 152 -> Etc_2_r8g8b8a_8_srgb_block | |
| 153 -> Eac_r_11_unorm_block | |
| 154 -> Eac_r_11_snorm_block | |
| 155 -> Eac_r11g_11_unorm_block | |
| 156 -> Eac_r11g_11_snorm_block | |
| 157 -> Astc_4x4_unorm_block | |
| 158 -> Astc_4x4_srgb_block | |
| 159 -> Astc_5x4_unorm_block | |
| 160 -> Astc_5x4_srgb_block | |
| 161 -> Astc_5x5_unorm_block | |
| 162 -> Astc_5x5_srgb_block | |
| 163 -> Astc_6x5_unorm_block | |
| 164 -> Astc_6x5_srgb_block | |
| 165 -> Astc_6x6_unorm_block | |
| 166 -> Astc_6x6_srgb_block | |
| 167 -> Astc_8x5_unorm_block | |
| 168 -> Astc_8x5_srgb_block | |
| 169 -> Astc_8x6_unorm_block | |
| 170 -> Astc_8x6_srgb_block | |
| 171 -> Astc_8x8_unorm_block | |
| 172 -> Astc_8x8_srgb_block | |
| 173 -> Astc_10x5_unorm_block | |
| 174 -> Astc_10x5_srgb_block | |
| 175 -> Astc_10x6_unorm_block | |
| 176 -> Astc_10x6_srgb_block | |
| 177 -> Astc_10x8_unorm_block | |
| 178 -> Astc_10x8_srgb_block | |
| 179 -> Astc_10x10_unorm_block | |
| 180 -> Astc_10x10_srgb_block | |
| 181 -> Astc_12x10_unorm_block | |
| 182 -> Astc_12x10_srgb_block | |
| 183 -> Astc_12x12_unorm_block | |
| 184 -> Astc_12x12_srgb_block | |
| 1000054000 -> Pvrtc_1_2bpp_unorm_block_img | |
| 1000054001 -> Pvrtc_1_4bpp_unorm_block_img | |
| 1000054002 -> Pvrtc_2_2bpp_unorm_block_img | |
| 1000054003 -> Pvrtc_2_4bpp_unorm_block_img | |
| 1000054004 -> Pvrtc_1_2bpp_srgb_block_img | |
| 1000054005 -> Pvrtc_1_4bpp_srgb_block_img | |
| 1000054006 -> Pvrtc_2_2bpp_srgb_block_img | |
| 1000054007 -> Pvrtc_2_4bpp_srgb_block_img | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Undefined -> "Undefined" | |
| R4g_4_unorm_pack_8 -> "R4g_4_unorm_pack_8" | |
| R4g4b4a_4_unorm_pack_16 -> "R4g4b4a_4_unorm_pack_16" | |
| B4g4r4a_4_unorm_pack_16 -> "B4g4r4a_4_unorm_pack_16" | |
| R5g6b_5_unorm_pack_16 -> "R5g6b_5_unorm_pack_16" | |
| B5g6r_5_unorm_pack_16 -> "B5g6r_5_unorm_pack_16" | |
| R5g5b5a_1_unorm_pack_16 -> "R5g5b5a_1_unorm_pack_16" | |
| B5g5r5a_1_unorm_pack_16 -> "B5g5r5a_1_unorm_pack_16" | |
| A1r5g5b_5_unorm_pack_16 -> "A1r5g5b_5_unorm_pack_16" | |
| R_8_unorm -> "R_8_unorm" | |
| R_8_snorm -> "R_8_snorm" | |
| R_8_uscaled -> "R_8_uscaled" | |
| R_8_sscaled -> "R_8_sscaled" | |
| R_8_uint -> "R_8_uint" | |
| R_8_sint -> "R_8_sint" | |
| R_8_srgb -> "R_8_srgb" | |
| R8g_8_unorm -> "R8g_8_unorm" | |
| R8g_8_snorm -> "R8g_8_snorm" | |
| R8g_8_uscaled -> "R8g_8_uscaled" | |
| R8g_8_sscaled -> "R8g_8_sscaled" | |
| R8g_8_uint -> "R8g_8_uint" | |
| R8g_8_sint -> "R8g_8_sint" | |
| R8g_8_srgb -> "R8g_8_srgb" | |
| R8g8b_8_unorm -> "R8g8b_8_unorm" | |
| R8g8b_8_snorm -> "R8g8b_8_snorm" | |
| R8g8b_8_uscaled -> "R8g8b_8_uscaled" | |
| R8g8b_8_sscaled -> "R8g8b_8_sscaled" | |
| R8g8b_8_uint -> "R8g8b_8_uint" | |
| R8g8b_8_sint -> "R8g8b_8_sint" | |
| R8g8b_8_srgb -> "R8g8b_8_srgb" | |
| B8g8r_8_unorm -> "B8g8r_8_unorm" | |
| B8g8r_8_snorm -> "B8g8r_8_snorm" | |
| B8g8r_8_uscaled -> "B8g8r_8_uscaled" | |
| B8g8r_8_sscaled -> "B8g8r_8_sscaled" | |
| B8g8r_8_uint -> "B8g8r_8_uint" | |
| B8g8r_8_sint -> "B8g8r_8_sint" | |
| B8g8r_8_srgb -> "B8g8r_8_srgb" | |
| R8g8b8a_8_unorm -> "R8g8b8a_8_unorm" | |
| R8g8b8a_8_snorm -> "R8g8b8a_8_snorm" | |
| R8g8b8a_8_uscaled -> "R8g8b8a_8_uscaled" | |
| R8g8b8a_8_sscaled -> "R8g8b8a_8_sscaled" | |
| R8g8b8a_8_uint -> "R8g8b8a_8_uint" | |
| R8g8b8a_8_sint -> "R8g8b8a_8_sint" | |
| R8g8b8a_8_srgb -> "R8g8b8a_8_srgb" | |
| B8g8r8a_8_unorm -> "B8g8r8a_8_unorm" | |
| B8g8r8a_8_snorm -> "B8g8r8a_8_snorm" | |
| B8g8r8a_8_uscaled -> "B8g8r8a_8_uscaled" | |
| B8g8r8a_8_sscaled -> "B8g8r8a_8_sscaled" | |
| B8g8r8a_8_uint -> "B8g8r8a_8_uint" | |
| B8g8r8a_8_sint -> "B8g8r8a_8_sint" | |
| B8g8r8a_8_srgb -> "B8g8r8a_8_srgb" | |
| A8b8g8r_8_unorm_pack_32 -> "A8b8g8r_8_unorm_pack_32" | |
| A8b8g8r_8_snorm_pack_32 -> "A8b8g8r_8_snorm_pack_32" | |
| A8b8g8r_8_uscaled_pack_32 -> "A8b8g8r_8_uscaled_pack_32" | |
| A8b8g8r_8_sscaled_pack_32 -> "A8b8g8r_8_sscaled_pack_32" | |
| A8b8g8r_8_uint_pack_32 -> "A8b8g8r_8_uint_pack_32" | |
| A8b8g8r_8_sint_pack_32 -> "A8b8g8r_8_sint_pack_32" | |
| A8b8g8r_8_srgb_pack_32 -> "A8b8g8r_8_srgb_pack_32" | |
| A2r10g10b_10_unorm_pack_32 -> "A2r10g10b_10_unorm_pack_32" | |
| A2r10g10b_10_snorm_pack_32 -> "A2r10g10b_10_snorm_pack_32" | |
| A2r10g10b_10_uscaled_pack_32 -> "A2r10g10b_10_uscaled_pack_32" | |
| A2r10g10b_10_sscaled_pack_32 -> "A2r10g10b_10_sscaled_pack_32" | |
| A2r10g10b_10_uint_pack_32 -> "A2r10g10b_10_uint_pack_32" | |
| A2r10g10b_10_sint_pack_32 -> "A2r10g10b_10_sint_pack_32" | |
| A2b10g10r_10_unorm_pack_32 -> "A2b10g10r_10_unorm_pack_32" | |
| A2b10g10r_10_snorm_pack_32 -> "A2b10g10r_10_snorm_pack_32" | |
| A2b10g10r_10_uscaled_pack_32 -> "A2b10g10r_10_uscaled_pack_32" | |
| A2b10g10r_10_sscaled_pack_32 -> "A2b10g10r_10_sscaled_pack_32" | |
| A2b10g10r_10_uint_pack_32 -> "A2b10g10r_10_uint_pack_32" | |
| A2b10g10r_10_sint_pack_32 -> "A2b10g10r_10_sint_pack_32" | |
| R_16_unorm -> "R_16_unorm" | |
| R_16_snorm -> "R_16_snorm" | |
| R_16_uscaled -> "R_16_uscaled" | |
| R_16_sscaled -> "R_16_sscaled" | |
| R_16_uint -> "R_16_uint" | |
| R_16_sint -> "R_16_sint" | |
| R_16_sfloat -> "R_16_sfloat" | |
| R16g_16_unorm -> "R16g_16_unorm" | |
| R16g_16_snorm -> "R16g_16_snorm" | |
| R16g_16_uscaled -> "R16g_16_uscaled" | |
| R16g_16_sscaled -> "R16g_16_sscaled" | |
| R16g_16_uint -> "R16g_16_uint" | |
| R16g_16_sint -> "R16g_16_sint" | |
| R16g_16_sfloat -> "R16g_16_sfloat" | |
| R16g16b_16_unorm -> "R16g16b_16_unorm" | |
| R16g16b_16_snorm -> "R16g16b_16_snorm" | |
| R16g16b_16_uscaled -> "R16g16b_16_uscaled" | |
| R16g16b_16_sscaled -> "R16g16b_16_sscaled" | |
| R16g16b_16_uint -> "R16g16b_16_uint" | |
| R16g16b_16_sint -> "R16g16b_16_sint" | |
| R16g16b_16_sfloat -> "R16g16b_16_sfloat" | |
| R16g16b16a_16_unorm -> "R16g16b16a_16_unorm" | |
| R16g16b16a_16_snorm -> "R16g16b16a_16_snorm" | |
| R16g16b16a_16_uscaled -> "R16g16b16a_16_uscaled" | |
| R16g16b16a_16_sscaled -> "R16g16b16a_16_sscaled" | |
| R16g16b16a_16_uint -> "R16g16b16a_16_uint" | |
| R16g16b16a_16_sint -> "R16g16b16a_16_sint" | |
| R16g16b16a_16_sfloat -> "R16g16b16a_16_sfloat" | |
| R_32_uint -> "R_32_uint" | |
| R_32_sint -> "R_32_sint" | |
| R_32_sfloat -> "R_32_sfloat" | |
| R32g_32_uint -> "R32g_32_uint" | |
| R32g_32_sint -> "R32g_32_sint" | |
| R32g_32_sfloat -> "R32g_32_sfloat" | |
| R32g32b_32_uint -> "R32g32b_32_uint" | |
| R32g32b_32_sint -> "R32g32b_32_sint" | |
| R32g32b_32_sfloat -> "R32g32b_32_sfloat" | |
| R32g32b32a_32_uint -> "R32g32b32a_32_uint" | |
| R32g32b32a_32_sint -> "R32g32b32a_32_sint" | |
| R32g32b32a_32_sfloat -> "R32g32b32a_32_sfloat" | |
| R_64_uint -> "R_64_uint" | |
| R_64_sint -> "R_64_sint" | |
| R_64_sfloat -> "R_64_sfloat" | |
| R64g_64_uint -> "R64g_64_uint" | |
| R64g_64_sint -> "R64g_64_sint" | |
| R64g_64_sfloat -> "R64g_64_sfloat" | |
| R64g64b_64_uint -> "R64g64b_64_uint" | |
| R64g64b_64_sint -> "R64g64b_64_sint" | |
| R64g64b_64_sfloat -> "R64g64b_64_sfloat" | |
| R64g64b64a_64_uint -> "R64g64b64a_64_uint" | |
| R64g64b64a_64_sint -> "R64g64b64a_64_sint" | |
| R64g64b64a_64_sfloat -> "R64g64b64a_64_sfloat" | |
| B10g11r_11_ufloat_pack_32 -> "B10g11r_11_ufloat_pack_32" | |
| E5b9g9r_9_ufloat_pack_32 -> "E5b9g9r_9_ufloat_pack_32" | |
| D_16_unorm -> "D_16_unorm" | |
| X_8_d_24_unorm_pack_32 -> "X_8_d_24_unorm_pack_32" | |
| D_32_sfloat -> "D_32_sfloat" | |
| S_8_uint -> "S_8_uint" | |
| D_16_unorm_s_8_uint -> "D_16_unorm_s_8_uint" | |
| D_24_unorm_s_8_uint -> "D_24_unorm_s_8_uint" | |
| D_32_sfloat_s_8_uint -> "D_32_sfloat_s_8_uint" | |
| Bc_1_rgb_unorm_block -> "Bc_1_rgb_unorm_block" | |
| Bc_1_rgb_srgb_block -> "Bc_1_rgb_srgb_block" | |
| Bc_1_rgba_unorm_block -> "Bc_1_rgba_unorm_block" | |
| Bc_1_rgba_srgb_block -> "Bc_1_rgba_srgb_block" | |
| Bc_2_unorm_block -> "Bc_2_unorm_block" | |
| Bc_2_srgb_block -> "Bc_2_srgb_block" | |
| Bc_3_unorm_block -> "Bc_3_unorm_block" | |
| Bc_3_srgb_block -> "Bc_3_srgb_block" | |
| Bc_4_unorm_block -> "Bc_4_unorm_block" | |
| Bc_4_snorm_block -> "Bc_4_snorm_block" | |
| Bc_5_unorm_block -> "Bc_5_unorm_block" | |
| Bc_5_snorm_block -> "Bc_5_snorm_block" | |
| Bc6h_ufloat_block -> "Bc6h_ufloat_block" | |
| Bc6h_sfloat_block -> "Bc6h_sfloat_block" | |
| Bc_7_unorm_block -> "Bc_7_unorm_block" | |
| Bc_7_srgb_block -> "Bc_7_srgb_block" | |
| Etc_2_r8g8b_8_unorm_block -> "Etc_2_r8g8b_8_unorm_block" | |
| Etc_2_r8g8b_8_srgb_block -> "Etc_2_r8g8b_8_srgb_block" | |
| Etc_2_r8g8b8a_1_unorm_block -> "Etc_2_r8g8b8a_1_unorm_block" | |
| Etc_2_r8g8b8a_1_srgb_block -> "Etc_2_r8g8b8a_1_srgb_block" | |
| Etc_2_r8g8b8a_8_unorm_block -> "Etc_2_r8g8b8a_8_unorm_block" | |
| Etc_2_r8g8b8a_8_srgb_block -> "Etc_2_r8g8b8a_8_srgb_block" | |
| Eac_r_11_unorm_block -> "Eac_r_11_unorm_block" | |
| Eac_r_11_snorm_block -> "Eac_r_11_snorm_block" | |
| Eac_r11g_11_unorm_block -> "Eac_r11g_11_unorm_block" | |
| Eac_r11g_11_snorm_block -> "Eac_r11g_11_snorm_block" | |
| Astc_4x4_unorm_block -> "Astc_4x4_unorm_block" | |
| Astc_4x4_srgb_block -> "Astc_4x4_srgb_block" | |
| Astc_5x4_unorm_block -> "Astc_5x4_unorm_block" | |
| Astc_5x4_srgb_block -> "Astc_5x4_srgb_block" | |
| Astc_5x5_unorm_block -> "Astc_5x5_unorm_block" | |
| Astc_5x5_srgb_block -> "Astc_5x5_srgb_block" | |
| Astc_6x5_unorm_block -> "Astc_6x5_unorm_block" | |
| Astc_6x5_srgb_block -> "Astc_6x5_srgb_block" | |
| Astc_6x6_unorm_block -> "Astc_6x6_unorm_block" | |
| Astc_6x6_srgb_block -> "Astc_6x6_srgb_block" | |
| Astc_8x5_unorm_block -> "Astc_8x5_unorm_block" | |
| Astc_8x5_srgb_block -> "Astc_8x5_srgb_block" | |
| Astc_8x6_unorm_block -> "Astc_8x6_unorm_block" | |
| Astc_8x6_srgb_block -> "Astc_8x6_srgb_block" | |
| Astc_8x8_unorm_block -> "Astc_8x8_unorm_block" | |
| Astc_8x8_srgb_block -> "Astc_8x8_srgb_block" | |
| Astc_10x5_unorm_block -> "Astc_10x5_unorm_block" | |
| Astc_10x5_srgb_block -> "Astc_10x5_srgb_block" | |
| Astc_10x6_unorm_block -> "Astc_10x6_unorm_block" | |
| Astc_10x6_srgb_block -> "Astc_10x6_srgb_block" | |
| Astc_10x8_unorm_block -> "Astc_10x8_unorm_block" | |
| Astc_10x8_srgb_block -> "Astc_10x8_srgb_block" | |
| Astc_10x10_unorm_block -> "Astc_10x10_unorm_block" | |
| Astc_10x10_srgb_block -> "Astc_10x10_srgb_block" | |
| Astc_12x10_unorm_block -> "Astc_12x10_unorm_block" | |
| Astc_12x10_srgb_block -> "Astc_12x10_srgb_block" | |
| Astc_12x12_unorm_block -> "Astc_12x12_unorm_block" | |
| Astc_12x12_srgb_block -> "Astc_12x12_srgb_block" | |
| Pvrtc_1_2bpp_unorm_block_img -> "Pvrtc_1_2bpp_unorm_block_img" | |
| Pvrtc_1_4bpp_unorm_block_img -> "Pvrtc_1_4bpp_unorm_block_img" | |
| Pvrtc_2_2bpp_unorm_block_img -> "Pvrtc_2_2bpp_unorm_block_img" | |
| Pvrtc_2_4bpp_unorm_block_img -> "Pvrtc_2_4bpp_unorm_block_img" | |
| Pvrtc_1_2bpp_srgb_block_img -> "Pvrtc_1_2bpp_srgb_block_img" | |
| Pvrtc_1_4bpp_srgb_block_img -> "Pvrtc_1_4bpp_srgb_block_img" | |
| Pvrtc_2_2bpp_srgb_block_img -> "Pvrtc_2_2bpp_srgb_block_img" | |
| Pvrtc_2_4bpp_srgb_block_img -> "Pvrtc_2_4bpp_srgb_block_img") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let format, format_opt = Format.(view,view_opt) | |
type format = Format.t | |
module Sample_count_flags = struct | |
include Bitset.Make() | |
let n64 = make_index 6 | |
let n32 = make_index 5 | |
let n16 = make_index 4 | |
let n8 = make_index 3 | |
let n4 = make_index 2 | |
let n2 = make_index 1 | |
let n1 = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem n64 set then | |
Printer.fprintf ppf "n64;@ " | |
else (); | |
if mem n32 set then | |
Printer.fprintf ppf "n32;@ " | |
else (); | |
if mem n16 set then | |
Printer.fprintf ppf "n16;@ " | |
else (); | |
if mem n8 set then | |
Printer.fprintf ppf "n8;@ " | |
else (); | |
if mem n4 set then | |
Printer.fprintf ppf "n4;@ " | |
else (); | |
if mem n2 set then | |
Printer.fprintf ppf "n2;@ " | |
else (); | |
if mem n1 set then | |
Printer.fprintf ppf "n1;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type sample_count_flags = Sample_count_flags.t | |
let sample_count_flags, sample_count_flags_opt = Sample_count_flags.(view, view_opt) | |
let sample_count_flag_bits = Sample_count_flags.index_view | |
let sample_count_flag_bits_opt = Sample_count_flags.index_view_opt | |
module Attachment_load_op = struct | |
type t = | Load | |
| Clear | |
| Dont_care | |
let to_int = function | |
| Load -> 0 | |
| Clear -> 1 | |
| Dont_care -> 2 | |
let of_int = function | |
| 0 -> Load | |
| 1 -> Clear | |
| 2 -> Dont_care | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Load -> "Load" | |
| Clear -> "Clear" | |
| Dont_care -> "Dont_care") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let attachment_load_op, attachment_load_op_opt = Attachment_load_op.(view,view_opt) | |
type attachment_load_op = Attachment_load_op.t | |
module Attachment_store_op = struct | |
type t = | Store | |
| Dont_care | |
let to_int = function | |
| Store -> 0 | |
| Dont_care -> 1 | |
let of_int = function | |
| 0 -> Store | |
| 1 -> Dont_care | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Store -> "Store" | |
| Dont_care -> "Dont_care") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let attachment_store_op, attachment_store_op_opt = Attachment_store_op.(view,view_opt) | |
type attachment_store_op = Attachment_store_op.t | |
module Image_layout = struct | |
type t = | Undefined | |
| General | |
| Color_attachment_optimal | |
| Depth_stencil_attachment_optimal | |
| Depth_stencil_read_only_optimal | |
| Shader_read_only_optimal | |
| Transfer_src_optimal | |
| Transfer_dst_optimal | |
| Preinitialized | |
| Present_src_khr | |
| Shared_present_khr | |
let to_int = function | |
| Undefined -> 0 | |
| General -> 1 | |
| Color_attachment_optimal -> 2 | |
| Depth_stencil_attachment_optimal -> 3 | |
| Depth_stencil_read_only_optimal -> 4 | |
| Shader_read_only_optimal -> 5 | |
| Transfer_src_optimal -> 6 | |
| Transfer_dst_optimal -> 7 | |
| Preinitialized -> 8 | |
| Present_src_khr -> 1000001002 | |
| Shared_present_khr -> 1000111000 | |
let of_int = function | |
| 0 -> Undefined | |
| 1 -> General | |
| 2 -> Color_attachment_optimal | |
| 3 -> Depth_stencil_attachment_optimal | |
| 4 -> Depth_stencil_read_only_optimal | |
| 5 -> Shader_read_only_optimal | |
| 6 -> Transfer_src_optimal | |
| 7 -> Transfer_dst_optimal | |
| 8 -> Preinitialized | |
| 1000001002 -> Present_src_khr | |
| 1000111000 -> Shared_present_khr | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Undefined -> "Undefined" | |
| General -> "General" | |
| Color_attachment_optimal -> "Color_attachment_optimal" | |
| Depth_stencil_attachment_optimal -> "Depth_stencil_attachment_optimal" | |
| Depth_stencil_read_only_optimal -> "Depth_stencil_read_only_optimal" | |
| Shader_read_only_optimal -> "Shader_read_only_optimal" | |
| Transfer_src_optimal -> "Transfer_src_optimal" | |
| Transfer_dst_optimal -> "Transfer_dst_optimal" | |
| Preinitialized -> "Preinitialized" | |
| Present_src_khr -> "Present_src_khr" | |
| Shared_present_khr -> "Shared_present_khr") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let image_layout, image_layout_opt = Image_layout.(view,view_opt) | |
type image_layout = Image_layout.t | |
module Attachment_description = struct type t | |
type attachment_description = t | |
let t: t structure typ = structure "attachment_description" | |
module Fields=struct | |
let flags = field t "flags" attachment_description_flags_opt | |
let format = field t "format" format | |
let samples = field t "samples" sample_count_flag_bits | |
let load_op = field t "load_op" attachment_load_op | |
let store_op = field t "store_op" attachment_store_op | |
let stencil_load_op = field t "stencil_load_op" attachment_load_op | |
let stencil_store_op = field t "stencil_store_op" attachment_store_op | |
let initial_layout = field t "initial_layout" image_layout | |
let final_layout = field t "final_layout" image_layout | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let format record = Ctypes.getf record Fields.format | |
let samples record = Ctypes.getf record Fields.samples | |
let load_op record = Ctypes.getf record Fields.load_op | |
let store_op record = Ctypes.getf record Fields.store_op | |
let stencil_load_op record = Ctypes.getf record Fields.stencil_load_op | |
let stencil_store_op record = Ctypes.getf record Fields.stencil_store_op | |
let initial_layout record = Ctypes.getf record Fields.initial_layout | |
let final_layout record = Ctypes.getf record Fields.final_layout | |
let () = Ctypes.seal t | |
let make ?flags:arg__flags~format:arg__format~samples:arg__samples | |
~load_op:arg__load_op~store_op:arg__store_op | |
~stencil_load_op:arg__stencil_load_op | |
~stencil_store_op:arg__stencil_store_op | |
~initial_layout:arg__initial_layout~final_layout:arg__final_layout ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.samples arg__samples; | |
Ctypes.setf generated__x__ Fields.load_op arg__load_op; | |
Ctypes.setf generated__x__ Fields.store_op arg__store_op; | |
Ctypes.setf generated__x__ Fields.stencil_load_op arg__stencil_load_op; | |
Ctypes.setf generated__x__ Fields.stencil_store_op arg__stencil_store_op; | |
Ctypes.setf generated__x__ Fields.initial_layout arg__initial_layout; | |
Ctypes.setf generated__x__ Fields.final_layout arg__final_layout; | |
Ctypes.addr generated__x__ end | |
let attachment_description = Attachment_description.t | |
type attachment_description = Attachment_description.t | |
module Attachment_reference = struct type t type attachment_reference = t | |
let t: t structure typ = structure "attachment_reference" | |
module Fields=struct | |
let attachment = field t "attachment" uint_32_t | |
let layout = field t "layout" image_layout | |
end | |
let attachment record = Ctypes.getf record Fields.attachment | |
let layout record = Ctypes.getf record Fields.layout | |
let () = Ctypes.seal t | |
let make ~attachment:arg__attachment~layout:arg__layout = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.attachment arg__attachment; | |
Ctypes.setf generated__x__ Fields.layout arg__layout; | |
Ctypes.addr generated__x__ end | |
let attachment_reference = Attachment_reference.t | |
type attachment_reference = Attachment_reference.t | |
module Buffer = Handle.Make() | |
type buffer = Buffer.t | |
let buffer, buffer_opt = Buffer.(view,view_opt) | |
module Device_memory = Handle.Make() | |
type device_memory = Device_memory.t | |
let device_memory, device_memory_opt = Device_memory.(view,view_opt) | |
module Device_size = Alias(struct type t = uint_64_t let ctype = uint_64_t | |
let of_int = Uint_64_t.of_int let to_int = Uint_64_t.to_int end) | |
let device_size = Device_size.ctype | |
module Bind_buffer_memory_info_khx = struct type t | |
type bind_buffer_memory_info_khx = t | |
let t: t structure typ = structure "bind_buffer_memory_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let buffer = field t "buffer" buffer | |
let memory = field t "memory" device_memory | |
let memory_offset = field t "memory_offset" device_size | |
let device_index_count = field t "device_index_count" uint_32_t_opt | |
let device_indices = field t "device_indices" (ptr uint_32_t) | |
end | |
let buffer record = Ctypes.getf record Fields.buffer | |
let memory record = Ctypes.getf record Fields.memory | |
let memory_offset record = Ctypes.getf record Fields.memory_offset | |
let device_indices record = match Ctypes.getf record Fields.device_index_count, Ctypes.getf record Fields.device_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type bind_buffer_memory_info_khx_extension = .. | |
type bind_buffer_memory_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~buffer:arg__buffer | |
~memory:arg__memory~memory_offset:arg__memory_offset | |
?device_indices:arg__device_indices ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Bind_buffer_memory_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.memory arg__memory; | |
Ctypes.setf generated__x__ Fields.memory_offset arg__memory_offset; | |
begin match arg__device_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.device_index_count None; | |
Ctypes.setf generated__x__ Fields.device_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__device_indices ->(Ctypes.setf generated__x__ Fields.device_index_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__device_indices))); | |
Ctypes.setf generated__x__ Fields.device_indices (Ctypes.CArray.start arg__device_indices)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let bind_buffer_memory_info_khx = Bind_buffer_memory_info_khx.t | |
type bind_buffer_memory_info_khx = Bind_buffer_memory_info_khx.t | |
module Image = Handle.Make() | |
type image = Image.t | |
let image, image_opt = Image.(view,view_opt) | |
module Offset_2d = struct type t type offset_2d = t | |
let t: t structure typ = structure "offset_2d" | |
module Fields=struct | |
let x = field t "x" int_32_t | |
let y = field t "y" int_32_t | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; Ctypes.addr generated__x__ end | |
let offset_2d = Offset_2d.t | |
type offset_2d = Offset_2d.t | |
module Extent_2d = struct type t type extent_2d = t | |
let t: t structure typ = structure "extent_2d" | |
module Fields=struct | |
let width = field t "width" uint_32_t | |
let height = field t "height" uint_32_t | |
end | |
let width record = Ctypes.getf record Fields.width | |
let height record = Ctypes.getf record Fields.height | |
let () = Ctypes.seal t | |
let make ~width:arg__width~height:arg__height = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.width arg__width; | |
Ctypes.setf generated__x__ Fields.height arg__height; | |
Ctypes.addr generated__x__ end | |
let extent_2d = Extent_2d.t | |
type extent_2d = Extent_2d.t | |
module Rect_2d = struct type t type rect_2d = t | |
let t: t structure typ = structure "rect_2d" | |
module Fields=struct | |
let offset = field t "offset" offset_2d | |
let extent = field t "extent" extent_2d | |
end | |
let offset record = Ctypes.getf record Fields.offset | |
let extent record = Ctypes.getf record Fields.extent | |
let () = Ctypes.seal t | |
let make ~offset:arg__offset~extent:arg__extent = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.addr generated__x__ end | |
let rect_2d = Rect_2d.t | |
type rect_2d = Rect_2d.t | |
module Bind_image_memory_info_khx = struct type t | |
type bind_image_memory_info_khx = t | |
let t: t structure typ = structure "bind_image_memory_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let image = field t "image" image | |
let memory = field t "memory" device_memory | |
let memory_offset = field t "memory_offset" device_size | |
let device_index_count = field t "device_index_count" uint_32_t_opt | |
let device_indices = field t "device_indices" (ptr uint_32_t) | |
let s_f_rr_ect_count = field t "s_f_rr_ect_count" uint_32_t_opt | |
let s_f_rr_ects = field t "s_f_rr_ects" (ptr rect_2d) | |
end | |
let image record = Ctypes.getf record Fields.image | |
let memory record = Ctypes.getf record Fields.memory | |
let memory_offset record = Ctypes.getf record Fields.memory_offset | |
let device_indices record = match Ctypes.getf record Fields.device_index_count, Ctypes.getf record Fields.device_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let s_f_rr_ects record = match Ctypes.getf record Fields.s_f_rr_ect_count, Ctypes.getf record Fields.s_f_rr_ects with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type bind_image_memory_info_khx_extension = .. | |
type bind_image_memory_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~image:arg__image | |
~memory:arg__memory~memory_offset:arg__memory_offset | |
?device_indices:arg__device_indices?s_f_rr_ects:arg__s_f_rr_ects ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Bind_image_memory_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.memory arg__memory; | |
Ctypes.setf generated__x__ Fields.memory_offset arg__memory_offset; | |
begin match arg__device_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.device_index_count None; | |
Ctypes.setf generated__x__ Fields.device_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__device_indices ->(Ctypes.setf generated__x__ Fields.device_index_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__device_indices))); | |
Ctypes.setf generated__x__ Fields.device_indices (Ctypes.CArray.start arg__device_indices)) | |
end; | |
begin match arg__s_f_rr_ects with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.s_f_rr_ect_count None; | |
Ctypes.setf generated__x__ Fields.s_f_rr_ects (Obj.magic @@ Ctypes.null)) | |
|Some arg__s_f_rr_ects ->(Ctypes.setf generated__x__ Fields.s_f_rr_ect_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__s_f_rr_ects))); | |
Ctypes.setf generated__x__ Fields.s_f_rr_ects (Ctypes.CArray.start arg__s_f_rr_ects)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let bind_image_memory_info_khx = Bind_image_memory_info_khx.t | |
type bind_image_memory_info_khx = Bind_image_memory_info_khx.t | |
module Bind_image_memory_swapchain_info_khx = struct type t | |
type bind_image_memory_swapchain_info_khx = t | |
let t: t structure typ = structure "bind_image_memory_swapchain_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain = field t "swapchain" swapchain_khr | |
let image_index = field t "image_index" uint_32_t | |
end | |
let swapchain record = Ctypes.getf record Fields.swapchain | |
let image_index record = Ctypes.getf record Fields.image_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type bind_image_memory_swapchain_info_khx_extension = .. | |
type bind_image_memory_swapchain_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~swapchain:arg__swapchain | |
~image_index:arg__image_index ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Bind_image_memory_swapchain_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.swapchain arg__swapchain; | |
Ctypes.setf generated__x__ Fields.image_index arg__image_index; | |
Ctypes.addr generated__x__ | |
end | |
let bind_image_memory_swapchain_info_khx = Bind_image_memory_swapchain_info_khx.t | |
type bind_image_memory_swapchain_info_khx = Bind_image_memory_swapchain_info_khx.t | |
module Sparse_memory_bind_flags = struct | |
include Bitset.Make() | |
let metadata = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem metadata set then | |
Printer.fprintf ppf "metadata;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type sparse_memory_bind_flags = Sparse_memory_bind_flags.t | |
let sparse_memory_bind_flags, sparse_memory_bind_flags_opt = Sparse_memory_bind_flags.(view, view_opt) | |
let sparse_memory_bind_flag_bits = Sparse_memory_bind_flags.index_view | |
let sparse_memory_bind_flag_bits_opt = Sparse_memory_bind_flags.index_view_opt | |
module Sparse_memory_bind = struct type t type sparse_memory_bind = t | |
let t: t structure typ = structure "sparse_memory_bind" | |
module Fields=struct | |
let resource_offset = field t "resource_offset" device_size | |
let size = field t "size" device_size | |
let memory = field t "memory" device_memory_opt | |
let memory_offset = field t "memory_offset" device_size | |
let flags = field t "flags" sparse_memory_bind_flags_opt | |
end | |
let resource_offset record = Ctypes.getf record Fields.resource_offset | |
let size record = Ctypes.getf record Fields.size | |
let memory record = Ctypes.getf record Fields.memory | |
let memory_offset record = Ctypes.getf record Fields.memory_offset | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
let make ~resource_offset:arg__resource_offset~size:arg__size | |
?memory:arg__memory~memory_offset:arg__memory_offset?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.resource_offset arg__resource_offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.setf generated__x__ Fields.memory arg__memory; | |
Ctypes.setf generated__x__ Fields.memory_offset arg__memory_offset; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ end | |
let sparse_memory_bind = Sparse_memory_bind.t | |
type sparse_memory_bind = Sparse_memory_bind.t | |
module Sparse_buffer_memory_bind_info = struct type t | |
type sparse_buffer_memory_bind_info = t | |
let t: t structure typ = structure "sparse_buffer_memory_bind_info" | |
module Fields=struct | |
let buffer = field t "buffer" buffer | |
let bind_count = field t "bind_count" uint_32_t | |
let binds = field t "binds" (ptr sparse_memory_bind) | |
end | |
let buffer record = Ctypes.getf record Fields.buffer | |
let binds record = let bind_count = Ctypes.getf record Fields.bind_count and binds = Ctypes.getf record Fields.binds in | |
Ctypes.CArray.from_ptr (binds) (Uint_32_t.to_int (bind_count)) | |
let () = Ctypes.seal t | |
let make ~buffer:arg__buffer~binds:arg__binds = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.bind_count (Uint_32_t.of_int(Ctypes.CArray.length arg__binds)); | |
Ctypes.setf generated__x__ Fields.binds (Ctypes.CArray.start arg__binds); | |
Ctypes.addr generated__x__ end | |
let sparse_buffer_memory_bind_info = Sparse_buffer_memory_bind_info.t | |
type sparse_buffer_memory_bind_info = Sparse_buffer_memory_bind_info.t | |
module Sparse_image_opaque_memory_bind_info = struct type t | |
type sparse_image_opaque_memory_bind_info = t | |
let t: t structure typ = structure "sparse_image_opaque_memory_bind_info" | |
module Fields=struct | |
let image = field t "image" image | |
let bind_count = field t "bind_count" uint_32_t | |
let binds = field t "binds" (ptr sparse_memory_bind) | |
end | |
let image record = Ctypes.getf record Fields.image | |
let binds record = let bind_count = Ctypes.getf record Fields.bind_count and binds = Ctypes.getf record Fields.binds in | |
Ctypes.CArray.from_ptr (binds) (Uint_32_t.to_int (bind_count)) | |
let () = Ctypes.seal t | |
let make ~image:arg__image~binds:arg__binds = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.bind_count (Uint_32_t.of_int(Ctypes.CArray.length arg__binds)); | |
Ctypes.setf generated__x__ Fields.binds (Ctypes.CArray.start arg__binds); | |
Ctypes.addr generated__x__ end | |
let sparse_image_opaque_memory_bind_info = Sparse_image_opaque_memory_bind_info.t | |
type sparse_image_opaque_memory_bind_info = Sparse_image_opaque_memory_bind_info.t | |
module Image_aspect_flags = struct | |
include Bitset.Make() | |
let metadata = make_index 3 | |
let stencil = make_index 2 | |
let depth = make_index 1 | |
let color = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem metadata set then | |
Printer.fprintf ppf "metadata;@ " | |
else (); | |
if mem stencil set then | |
Printer.fprintf ppf "stencil;@ " | |
else (); | |
if mem depth set then | |
Printer.fprintf ppf "depth;@ " | |
else (); | |
if mem color set then | |
Printer.fprintf ppf "color;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type image_aspect_flags = Image_aspect_flags.t | |
let image_aspect_flags, image_aspect_flags_opt = Image_aspect_flags.(view, view_opt) | |
let image_aspect_flag_bits = Image_aspect_flags.index_view | |
let image_aspect_flag_bits_opt = Image_aspect_flags.index_view_opt | |
module Image_subresource = struct type t type image_subresource = t | |
let t: t structure typ = structure "image_subresource" | |
module Fields=struct | |
let aspect_mask = field t "aspect_mask" image_aspect_flags | |
let mip_level = field t "mip_level" uint_32_t | |
let array_layer = field t "array_layer" uint_32_t | |
end | |
let aspect_mask record = Ctypes.getf record Fields.aspect_mask | |
let mip_level record = Ctypes.getf record Fields.mip_level | |
let array_layer record = Ctypes.getf record Fields.array_layer | |
let () = Ctypes.seal t | |
let make ~aspect_mask:arg__aspect_mask~mip_level:arg__mip_level | |
~array_layer:arg__array_layer = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.aspect_mask arg__aspect_mask; | |
Ctypes.setf generated__x__ Fields.mip_level arg__mip_level; | |
Ctypes.setf generated__x__ Fields.array_layer arg__array_layer; | |
Ctypes.addr generated__x__ end | |
let image_subresource = Image_subresource.t | |
type image_subresource = Image_subresource.t | |
module Offset_3d = struct type t type offset_3d = t | |
let t: t structure typ = structure "offset_3d" | |
module Fields=struct | |
let x = field t "x" int_32_t | |
let y = field t "y" int_32_t | |
let z = field t "z" int_32_t | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y | |
let z record = Ctypes.getf record Fields.z let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y~z:arg__z = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; | |
Ctypes.setf generated__x__ Fields.z arg__z; Ctypes.addr generated__x__ end | |
let offset_3d = Offset_3d.t | |
type offset_3d = Offset_3d.t | |
module Extent_3d = struct type t type extent_3d = t | |
let t: t structure typ = structure "extent_3d" | |
module Fields=struct | |
let width = field t "width" uint_32_t | |
let height = field t "height" uint_32_t | |
let depth = field t "depth" uint_32_t | |
end | |
let width record = Ctypes.getf record Fields.width | |
let height record = Ctypes.getf record Fields.height | |
let depth record = Ctypes.getf record Fields.depth let () = Ctypes.seal t | |
let make ~width:arg__width~height:arg__height~depth:arg__depth = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.width arg__width; | |
Ctypes.setf generated__x__ Fields.height arg__height; | |
Ctypes.setf generated__x__ Fields.depth arg__depth; | |
Ctypes.addr generated__x__ end | |
let extent_3d = Extent_3d.t | |
type extent_3d = Extent_3d.t | |
module Sparse_image_memory_bind = struct type t | |
type sparse_image_memory_bind = t | |
let t: t structure typ = structure "sparse_image_memory_bind" | |
module Fields=struct | |
let subresource = field t "subresource" image_subresource | |
let offset = field t "offset" offset_3d | |
let extent = field t "extent" extent_3d | |
let memory = field t "memory" device_memory_opt | |
let memory_offset = field t "memory_offset" device_size | |
let flags = field t "flags" sparse_memory_bind_flags_opt | |
end | |
let subresource record = Ctypes.getf record Fields.subresource | |
let offset record = Ctypes.getf record Fields.offset | |
let extent record = Ctypes.getf record Fields.extent | |
let memory record = Ctypes.getf record Fields.memory | |
let memory_offset record = Ctypes.getf record Fields.memory_offset | |
let flags record = Ctypes.getf record Fields.flags let () = Ctypes.seal t | |
let make ~subresource:arg__subresource~offset:arg__offset | |
~extent:arg__extent?memory:arg__memory~memory_offset:arg__memory_offset | |
?flags:arg__flags ()= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.subresource arg__subresource; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.setf generated__x__ Fields.memory arg__memory; | |
Ctypes.setf generated__x__ Fields.memory_offset arg__memory_offset; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ end | |
let sparse_image_memory_bind = Sparse_image_memory_bind.t | |
type sparse_image_memory_bind = Sparse_image_memory_bind.t | |
module Sparse_image_memory_bind_info = struct type t | |
type sparse_image_memory_bind_info = t | |
let t: t structure typ = structure "sparse_image_memory_bind_info" | |
module Fields=struct | |
let image = field t "image" image | |
let bind_count = field t "bind_count" uint_32_t | |
let binds = field t "binds" (ptr sparse_image_memory_bind) | |
end | |
let image record = Ctypes.getf record Fields.image | |
let binds record = let bind_count = Ctypes.getf record Fields.bind_count and binds = Ctypes.getf record Fields.binds in | |
Ctypes.CArray.from_ptr (binds) (Uint_32_t.to_int (bind_count)) | |
let () = Ctypes.seal t | |
let make ~image:arg__image~binds:arg__binds = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.bind_count (Uint_32_t.of_int(Ctypes.CArray.length arg__binds)); | |
Ctypes.setf generated__x__ Fields.binds (Ctypes.CArray.start arg__binds); | |
Ctypes.addr generated__x__ end | |
let sparse_image_memory_bind_info = Sparse_image_memory_bind_info.t | |
type sparse_image_memory_bind_info = Sparse_image_memory_bind_info.t | |
module Bind_sparse_info = struct type t type bind_sparse_info = t | |
let t: t structure typ = structure "bind_sparse_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let wait_semaphore_count = field t "wait_semaphore_count" uint_32_t_opt | |
let wait_semaphores = field t "wait_semaphores" (ptr semaphore) | |
let buffer_bind_count = field t "buffer_bind_count" uint_32_t_opt | |
let buffer_binds = field t "buffer_binds" (ptr sparse_buffer_memory_bind_info) | |
let image_opaque_bind_count = field t "image_opaque_bind_count" uint_32_t_opt | |
let image_opaque_binds = field t "image_opaque_binds" (ptr sparse_image_opaque_memory_bind_info) | |
let image_bind_count = field t "image_bind_count" uint_32_t_opt | |
let image_binds = field t "image_binds" (ptr sparse_image_memory_bind_info) | |
let signal_semaphore_count = field t "signal_semaphore_count" uint_32_t_opt | |
let signal_semaphores = field t "signal_semaphores" (ptr semaphore) | |
end | |
let wait_semaphores record = match Ctypes.getf record Fields.wait_semaphore_count, Ctypes.getf record Fields.wait_semaphores with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let buffer_binds record = match Ctypes.getf record Fields.buffer_bind_count, Ctypes.getf record Fields.buffer_binds with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let image_opaque_binds record = match Ctypes.getf record Fields.image_opaque_bind_count, Ctypes.getf record Fields.image_opaque_binds with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let image_binds record = match Ctypes.getf record Fields.image_bind_count, Ctypes.getf record Fields.image_binds with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let signal_semaphores record = match Ctypes.getf record Fields.signal_semaphore_count, Ctypes.getf record Fields.signal_semaphores with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type bind_sparse_info_extension = .. | |
type bind_sparse_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?wait_semaphores:arg__wait_semaphores?buffer_binds:arg__buffer_binds | |
?image_opaque_binds:arg__image_opaque_binds?image_binds:arg__image_binds | |
?signal_semaphores:arg__signal_semaphores ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Bind_sparse_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__wait_semaphores with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.wait_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Obj.magic @@ Ctypes.null)) | |
|Some arg__wait_semaphores ->(Ctypes.setf generated__x__ Fields.wait_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__wait_semaphores))); | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Ctypes.CArray.start arg__wait_semaphores)) | |
end; | |
begin match arg__buffer_binds with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.buffer_bind_count None; | |
Ctypes.setf generated__x__ Fields.buffer_binds (Obj.magic @@ Ctypes.null)) | |
|Some arg__buffer_binds ->(Ctypes.setf generated__x__ Fields.buffer_bind_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__buffer_binds))); | |
Ctypes.setf generated__x__ Fields.buffer_binds (Ctypes.CArray.start arg__buffer_binds)) | |
end; | |
begin match arg__image_opaque_binds with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.image_opaque_bind_count None; | |
Ctypes.setf generated__x__ Fields.image_opaque_binds (Obj.magic @@ Ctypes.null)) | |
|Some arg__image_opaque_binds ->(Ctypes.setf generated__x__ Fields.image_opaque_bind_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__image_opaque_binds))); | |
Ctypes.setf generated__x__ Fields.image_opaque_binds (Ctypes.CArray.start arg__image_opaque_binds)) | |
end; | |
begin match arg__image_binds with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.image_bind_count None; | |
Ctypes.setf generated__x__ Fields.image_binds (Obj.magic @@ Ctypes.null)) | |
|Some arg__image_binds ->(Ctypes.setf generated__x__ Fields.image_bind_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__image_binds))); | |
Ctypes.setf generated__x__ Fields.image_binds (Ctypes.CArray.start arg__image_binds)) | |
end; | |
begin match arg__signal_semaphores with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.signal_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.signal_semaphores (Obj.magic @@ Ctypes.null)) | |
|Some arg__signal_semaphores ->(Ctypes.setf generated__x__ Fields.signal_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__signal_semaphores))); | |
Ctypes.setf generated__x__ Fields.signal_semaphores (Ctypes.CArray.start arg__signal_semaphores)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let bind_sparse_info = Bind_sparse_info.t | |
type bind_sparse_info = Bind_sparse_info.t | |
module Blend_factor = struct | |
type t = | Zero | |
| One | |
| Src_color | |
| One_minus_src_color | |
| Dst_color | |
| One_minus_dst_color | |
| Src_alpha | |
| One_minus_src_alpha | |
| Dst_alpha | |
| One_minus_dst_alpha | |
| Constant_color | |
| One_minus_constant_color | |
| Constant_alpha | |
| One_minus_constant_alpha | |
| Src_alpha_saturate | |
| Src_1_color | |
| One_minus_src_1_color | |
| Src_1_alpha | |
| One_minus_src_1_alpha | |
let to_int = function | |
| Zero -> 0 | |
| One -> 1 | |
| Src_color -> 2 | |
| One_minus_src_color -> 3 | |
| Dst_color -> 4 | |
| One_minus_dst_color -> 5 | |
| Src_alpha -> 6 | |
| One_minus_src_alpha -> 7 | |
| Dst_alpha -> 8 | |
| One_minus_dst_alpha -> 9 | |
| Constant_color -> 10 | |
| One_minus_constant_color -> 11 | |
| Constant_alpha -> 12 | |
| One_minus_constant_alpha -> 13 | |
| Src_alpha_saturate -> 14 | |
| Src_1_color -> 15 | |
| One_minus_src_1_color -> 16 | |
| Src_1_alpha -> 17 | |
| One_minus_src_1_alpha -> 18 | |
let of_int = function | |
| 0 -> Zero | |
| 1 -> One | |
| 2 -> Src_color | |
| 3 -> One_minus_src_color | |
| 4 -> Dst_color | |
| 5 -> One_minus_dst_color | |
| 6 -> Src_alpha | |
| 7 -> One_minus_src_alpha | |
| 8 -> Dst_alpha | |
| 9 -> One_minus_dst_alpha | |
| 10 -> Constant_color | |
| 11 -> One_minus_constant_color | |
| 12 -> Constant_alpha | |
| 13 -> One_minus_constant_alpha | |
| 14 -> Src_alpha_saturate | |
| 15 -> Src_1_color | |
| 16 -> One_minus_src_1_color | |
| 17 -> Src_1_alpha | |
| 18 -> One_minus_src_1_alpha | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Zero -> "Zero" | |
| One -> "One" | |
| Src_color -> "Src_color" | |
| One_minus_src_color -> "One_minus_src_color" | |
| Dst_color -> "Dst_color" | |
| One_minus_dst_color -> "One_minus_dst_color" | |
| Src_alpha -> "Src_alpha" | |
| One_minus_src_alpha -> "One_minus_src_alpha" | |
| Dst_alpha -> "Dst_alpha" | |
| One_minus_dst_alpha -> "One_minus_dst_alpha" | |
| Constant_color -> "Constant_color" | |
| One_minus_constant_color -> "One_minus_constant_color" | |
| Constant_alpha -> "Constant_alpha" | |
| One_minus_constant_alpha -> "One_minus_constant_alpha" | |
| Src_alpha_saturate -> "Src_alpha_saturate" | |
| Src_1_color -> "Src_1_color" | |
| One_minus_src_1_color -> "One_minus_src_1_color" | |
| Src_1_alpha -> "Src_1_alpha" | |
| One_minus_src_1_alpha -> "One_minus_src_1_alpha") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let blend_factor, blend_factor_opt = Blend_factor.(view,view_opt) | |
type blend_factor = Blend_factor.t | |
module Blend_op = struct | |
type t = | Add | |
| Subtract | |
| Reverse_subtract | |
| Min | |
| Max | |
let to_int = function | |
| Add -> 0 | |
| Subtract -> 1 | |
| Reverse_subtract -> 2 | |
| Min -> 3 | |
| Max -> 4 | |
let of_int = function | |
| 0 -> Add | |
| 1 -> Subtract | |
| 2 -> Reverse_subtract | |
| 3 -> Min | |
| 4 -> Max | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Add -> "Add" | |
| Subtract -> "Subtract" | |
| Reverse_subtract -> "Reverse_subtract" | |
| Min -> "Min" | |
| Max -> "Max") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let blend_op, blend_op_opt = Blend_op.(view,view_opt) | |
type blend_op = Blend_op.t | |
module Border_color = struct | |
type t = | Float_transparent_black | |
| Int_transparent_black | |
| Float_opaque_black | |
| Int_opaque_black | |
| Float_opaque_white | |
| Int_opaque_white | |
let to_int = function | |
| Float_transparent_black -> 0 | |
| Int_transparent_black -> 1 | |
| Float_opaque_black -> 2 | |
| Int_opaque_black -> 3 | |
| Float_opaque_white -> 4 | |
| Int_opaque_white -> 5 | |
let of_int = function | |
| 0 -> Float_transparent_black | |
| 1 -> Int_transparent_black | |
| 2 -> Float_opaque_black | |
| 3 -> Int_opaque_black | |
| 4 -> Float_opaque_white | |
| 5 -> Int_opaque_white | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Float_transparent_black -> "Float_transparent_black" | |
| Int_transparent_black -> "Int_transparent_black" | |
| Float_opaque_black -> "Float_opaque_black" | |
| Int_opaque_black -> "Int_opaque_black" | |
| Float_opaque_white -> "Float_opaque_white" | |
| Int_opaque_white -> "Int_opaque_white") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let border_color, border_color_opt = Border_color.(view,view_opt) | |
type border_color = Border_color.t | |
module Buffer_copy = struct type t type buffer_copy = t | |
let t: t structure typ = structure "buffer_copy" | |
module Fields=struct | |
let src_offset = field t "src_offset" device_size | |
let dst_offset = field t "dst_offset" device_size | |
let size = field t "size" device_size | |
end | |
let src_offset record = Ctypes.getf record Fields.src_offset | |
let dst_offset record = Ctypes.getf record Fields.dst_offset | |
let size record = Ctypes.getf record Fields.size let () = Ctypes.seal t | |
let make ~src_offset:arg__src_offset~dst_offset:arg__dst_offset | |
~size:arg__size = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.src_offset arg__src_offset; | |
Ctypes.setf generated__x__ Fields.dst_offset arg__dst_offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.addr generated__x__ end | |
let buffer_copy = Buffer_copy.t | |
type buffer_copy = Buffer_copy.t | |
module Buffer_create_flags = struct | |
include Bitset.Make() | |
let sparse_aliased = make_index 2 | |
let sparse_residency = make_index 1 | |
let sparse_binding = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem sparse_aliased set then | |
Printer.fprintf ppf "sparse_aliased;@ " | |
else (); | |
if mem sparse_residency set then | |
Printer.fprintf ppf "sparse_residency;@ " | |
else (); | |
if mem sparse_binding set then | |
Printer.fprintf ppf "sparse_binding;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type buffer_create_flags = Buffer_create_flags.t | |
let buffer_create_flags, buffer_create_flags_opt = Buffer_create_flags.(view, view_opt) | |
let buffer_create_flag_bits = Buffer_create_flags.index_view | |
let buffer_create_flag_bits_opt = Buffer_create_flags.index_view_opt | |
module Buffer_usage_flags = struct | |
include Bitset.Make() | |
let indirect_buffer = make_index 8 | |
let vertex_buffer = make_index 7 | |
let index_buffer = make_index 6 | |
let storage_buffer = make_index 5 | |
let uniform_buffer = make_index 4 | |
let storage_texel_buffer = make_index 3 | |
let uniform_texel_buffer = make_index 2 | |
let transfer_dst = make_index 1 | |
let transfer_src = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem indirect_buffer set then | |
Printer.fprintf ppf "indirect_buffer;@ " | |
else (); | |
if mem vertex_buffer set then | |
Printer.fprintf ppf "vertex_buffer;@ " | |
else (); | |
if mem index_buffer set then | |
Printer.fprintf ppf "index_buffer;@ " | |
else (); | |
if mem storage_buffer set then | |
Printer.fprintf ppf "storage_buffer;@ " | |
else (); | |
if mem uniform_buffer set then | |
Printer.fprintf ppf "uniform_buffer;@ " | |
else (); | |
if mem storage_texel_buffer set then | |
Printer.fprintf ppf "storage_texel_buffer;@ " | |
else (); | |
if mem uniform_texel_buffer set then | |
Printer.fprintf ppf "uniform_texel_buffer;@ " | |
else (); | |
if mem transfer_dst set then | |
Printer.fprintf ppf "transfer_dst;@ " | |
else (); | |
if mem transfer_src set then | |
Printer.fprintf ppf "transfer_src;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type buffer_usage_flags = Buffer_usage_flags.t | |
let buffer_usage_flags, buffer_usage_flags_opt = Buffer_usage_flags.(view, view_opt) | |
let buffer_usage_flag_bits = Buffer_usage_flags.index_view | |
let buffer_usage_flag_bits_opt = Buffer_usage_flags.index_view_opt | |
module Sharing_mode = struct | |
type t = | Exclusive | |
| Concurrent | |
let to_int = function | |
| Exclusive -> 0 | |
| Concurrent -> 1 | |
let of_int = function | |
| 0 -> Exclusive | |
| 1 -> Concurrent | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Exclusive -> "Exclusive" | |
| Concurrent -> "Concurrent") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let sharing_mode, sharing_mode_opt = Sharing_mode.(view,view_opt) | |
type sharing_mode = Sharing_mode.t | |
module Buffer_create_info = struct type t type buffer_create_info = t | |
let t: t structure typ = structure "buffer_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" buffer_create_flags_opt | |
let size = field t "size" device_size | |
let usage = field t "usage" buffer_usage_flags | |
let sharing_mode = field t "sharing_mode" sharing_mode | |
let queue_family_index_count = field t "queue_family_index_count" uint_32_t_opt | |
let queue_family_indices = field t "queue_family_indices" (ptr uint_32_t) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let size record = Ctypes.getf record Fields.size | |
let usage record = Ctypes.getf record Fields.usage | |
let sharing_mode record = Ctypes.getf record Fields.sharing_mode | |
let queue_family_indices record = match Ctypes.getf record Fields.queue_family_index_count, Ctypes.getf record Fields.queue_family_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type buffer_create_info_extension = .. | |
type buffer_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~size:arg__size~usage:arg__usage~sharing_mode:arg__sharing_mode | |
?queue_family_indices:arg__queue_family_indices ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Buffer_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.setf generated__x__ Fields.usage arg__usage; | |
Ctypes.setf generated__x__ Fields.sharing_mode arg__sharing_mode; | |
begin match arg__queue_family_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.queue_family_index_count None; | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__queue_family_indices ->(Ctypes.setf generated__x__ Fields.queue_family_index_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__queue_family_indices))); | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Ctypes.CArray.start arg__queue_family_indices)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let buffer_create_info = Buffer_create_info.t | |
type buffer_create_info = Buffer_create_info.t | |
module Image_subresource_layers = struct type t | |
type image_subresource_layers = t | |
let t: t structure typ = structure "image_subresource_layers" | |
module Fields=struct | |
let aspect_mask = field t "aspect_mask" image_aspect_flags | |
let mip_level = field t "mip_level" uint_32_t | |
let base_array_layer = field t "base_array_layer" uint_32_t | |
let layer_count = field t "layer_count" uint_32_t | |
end | |
let aspect_mask record = Ctypes.getf record Fields.aspect_mask | |
let mip_level record = Ctypes.getf record Fields.mip_level | |
let base_array_layer record = Ctypes.getf record Fields.base_array_layer | |
let layer_count record = Ctypes.getf record Fields.layer_count | |
let () = Ctypes.seal t | |
let make ~aspect_mask:arg__aspect_mask~mip_level:arg__mip_level | |
~base_array_layer:arg__base_array_layer~layer_count:arg__layer_count = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.aspect_mask arg__aspect_mask; | |
Ctypes.setf generated__x__ Fields.mip_level arg__mip_level; | |
Ctypes.setf generated__x__ Fields.base_array_layer arg__base_array_layer; | |
Ctypes.setf generated__x__ Fields.layer_count arg__layer_count; | |
Ctypes.addr generated__x__ end | |
let image_subresource_layers = Image_subresource_layers.t | |
type image_subresource_layers = Image_subresource_layers.t | |
module Buffer_image_copy = struct type t type buffer_image_copy = t | |
let t: t structure typ = structure "buffer_image_copy" | |
module Fields=struct | |
let buffer_offset = field t "buffer_offset" device_size | |
let buffer_row_length = field t "buffer_row_length" uint_32_t | |
let buffer_image_height = field t "buffer_image_height" uint_32_t | |
let image_subresource = field t "image_subresource" image_subresource_layers | |
let image_offset = field t "image_offset" offset_3d | |
let image_extent = field t "image_extent" extent_3d | |
end | |
let buffer_offset record = Ctypes.getf record Fields.buffer_offset | |
let buffer_row_length record = Ctypes.getf record Fields.buffer_row_length | |
let buffer_image_height record = Ctypes.getf record Fields.buffer_image_height | |
let image_subresource record = Ctypes.getf record Fields.image_subresource | |
let image_offset record = Ctypes.getf record Fields.image_offset | |
let image_extent record = Ctypes.getf record Fields.image_extent | |
let () = Ctypes.seal t | |
let make ~buffer_offset:arg__buffer_offset | |
~buffer_row_length:arg__buffer_row_length | |
~buffer_image_height:arg__buffer_image_height | |
~image_subresource:arg__image_subresource~image_offset:arg__image_offset | |
~image_extent:arg__image_extent = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.buffer_offset arg__buffer_offset; | |
Ctypes.setf generated__x__ Fields.buffer_row_length arg__buffer_row_length; | |
Ctypes.setf generated__x__ Fields.buffer_image_height arg__buffer_image_height; | |
Ctypes.setf generated__x__ Fields.image_subresource arg__image_subresource; | |
Ctypes.setf generated__x__ Fields.image_offset arg__image_offset; | |
Ctypes.setf generated__x__ Fields.image_extent arg__image_extent; | |
Ctypes.addr generated__x__ end | |
let buffer_image_copy = Buffer_image_copy.t | |
type buffer_image_copy = Buffer_image_copy.t | |
module Buffer_memory_barrier = struct type t type buffer_memory_barrier = t | |
let t: t structure typ = structure "buffer_memory_barrier" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let src_access_mask = field t "src_access_mask" access_flags_opt | |
let dst_access_mask = field t "dst_access_mask" access_flags_opt | |
let src_queue_family_index = field t "src_queue_family_index" uint_32_t | |
let dst_queue_family_index = field t "dst_queue_family_index" uint_32_t | |
let buffer = field t "buffer" buffer | |
let offset = field t "offset" device_size | |
let size = field t "size" device_size | |
end | |
let src_access_mask record = Ctypes.getf record Fields.src_access_mask | |
let dst_access_mask record = Ctypes.getf record Fields.dst_access_mask | |
let src_queue_family_index record = Ctypes.getf record Fields.src_queue_family_index | |
let dst_queue_family_index record = Ctypes.getf record Fields.dst_queue_family_index | |
let buffer record = Ctypes.getf record Fields.buffer | |
let offset record = Ctypes.getf record Fields.offset | |
let size record = Ctypes.getf record Fields.size let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type buffer_memory_barrier_extension = .. | |
type buffer_memory_barrier_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?src_access_mask:arg__src_access_mask?dst_access_mask:arg__dst_access_mask | |
~src_queue_family_index:arg__src_queue_family_index | |
~dst_queue_family_index:arg__dst_queue_family_index~buffer:arg__buffer | |
~offset:arg__offset~size:arg__size ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Buffer_memory_barrier, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.src_access_mask arg__src_access_mask; | |
Ctypes.setf generated__x__ Fields.dst_access_mask arg__dst_access_mask; | |
Ctypes.setf generated__x__ Fields.src_queue_family_index arg__src_queue_family_index; | |
Ctypes.setf generated__x__ Fields.dst_queue_family_index arg__dst_queue_family_index; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; Ctypes.addr generated__x__ | |
end | |
let buffer_memory_barrier = Buffer_memory_barrier.t | |
type buffer_memory_barrier = Buffer_memory_barrier.t | |
module Buffer_view = Handle.Make() | |
type buffer_view = Buffer_view.t | |
let buffer_view, buffer_view_opt = Buffer_view.(view,view_opt) | |
module Buffer_view_create_flags = Bitset.Make() | |
type buffer_view_create_flags = Buffer_view_create_flags.t | |
let buffer_view_create_flags, buffer_view_create_flags_opt = Buffer_view_create_flags.(view, view_opt) | |
let buffer_view_create_flag_bits = Buffer_view_create_flags.index_view | |
let buffer_view_create_flag_bits_opt = Buffer_view_create_flags.index_view_opt | |
module Buffer_view_create_info = struct type t | |
type buffer_view_create_info = t | |
let t: t structure typ = structure "buffer_view_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" buffer_view_create_flags_opt | |
let buffer = field t "buffer" buffer | |
let format = field t "format" format | |
let offset = field t "offset" device_size | |
let range = field t "range" device_size | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let buffer record = Ctypes.getf record Fields.buffer | |
let format record = Ctypes.getf record Fields.format | |
let offset record = Ctypes.getf record Fields.offset | |
let range record = Ctypes.getf record Fields.range let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type buffer_view_create_info_extension = .. | |
type buffer_view_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~buffer:arg__buffer~format:arg__format~offset:arg__offset~range:arg__range | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Buffer_view_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.range arg__range; | |
Ctypes.addr generated__x__ | |
end | |
let buffer_view_create_info = Buffer_view_create_info.t | |
type buffer_view_create_info = Buffer_view_create_info.t | |
module Clear_color_value = struct type t type clear_color_value = t | |
let t: t union typ = union "clear_color_value" | |
let float_32 = field t "float_32" (array 4 @@ float) | |
let int_32 = field t "int_32" (array 4 @@ int_32_t) | |
let uint_32 = field t "uint_32" (array 4 @@ uint_32_t) | |
let () = Ctypes.seal t end | |
let clear_color_value = Clear_color_value.t | |
type clear_color_value = Clear_color_value.t | |
module Clear_depth_stencil_value = struct type t | |
type clear_depth_stencil_value = t | |
let t: t structure typ = structure "clear_depth_stencil_value" | |
module Fields=struct | |
let depth = field t "depth" float | |
let stencil = field t "stencil" uint_32_t | |
end | |
let depth record = Ctypes.getf record Fields.depth | |
let stencil record = Ctypes.getf record Fields.stencil | |
let () = Ctypes.seal t | |
let make ~depth:arg__depth~stencil:arg__stencil = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.depth arg__depth; | |
Ctypes.setf generated__x__ Fields.stencil arg__stencil; | |
Ctypes.addr generated__x__ end | |
let clear_depth_stencil_value = Clear_depth_stencil_value.t | |
type clear_depth_stencil_value = Clear_depth_stencil_value.t | |
module Clear_value = struct type t type clear_value = t | |
let t: t union typ = union "clear_value" | |
let color = field t "color" clear_color_value | |
let depth_stencil = field t "depth_stencil" clear_depth_stencil_value | |
let () = Ctypes.seal t end | |
let clear_value = Clear_value.t | |
type clear_value = Clear_value.t | |
module Clear_attachment = struct type t type clear_attachment = t | |
let t: t structure typ = structure "clear_attachment" | |
module Fields=struct | |
let aspect_mask = field t "aspect_mask" image_aspect_flags | |
let color_attachment = field t "color_attachment" uint_32_t | |
let clear_value = field t "clear_value" clear_value | |
end | |
let aspect_mask record = Ctypes.getf record Fields.aspect_mask | |
let color_attachment record = Ctypes.getf record Fields.color_attachment | |
let clear_value record = Ctypes.getf record Fields.clear_value | |
let () = Ctypes.seal t | |
let make ~aspect_mask:arg__aspect_mask | |
~color_attachment:arg__color_attachment~clear_value:arg__clear_value = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.aspect_mask arg__aspect_mask; | |
Ctypes.setf generated__x__ Fields.color_attachment arg__color_attachment; | |
Ctypes.setf generated__x__ Fields.clear_value arg__clear_value; | |
Ctypes.addr generated__x__ end | |
let clear_attachment = Clear_attachment.t | |
type clear_attachment = Clear_attachment.t | |
module Clear_rect = struct type t type clear_rect = t | |
let t: t structure typ = structure "clear_rect" | |
module Fields=struct | |
let rect = field t "rect" rect_2d | |
let base_array_layer = field t "base_array_layer" uint_32_t | |
let layer_count = field t "layer_count" uint_32_t | |
end | |
let rect record = Ctypes.getf record Fields.rect | |
let base_array_layer record = Ctypes.getf record Fields.base_array_layer | |
let layer_count record = Ctypes.getf record Fields.layer_count | |
let () = Ctypes.seal t | |
let make ~rect:arg__rect~base_array_layer:arg__base_array_layer | |
~layer_count:arg__layer_count = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.rect arg__rect; | |
Ctypes.setf generated__x__ Fields.base_array_layer arg__base_array_layer; | |
Ctypes.setf generated__x__ Fields.layer_count arg__layer_count; | |
Ctypes.addr generated__x__ end | |
let clear_rect = Clear_rect.t | |
type clear_rect = Clear_rect.t | |
module Object_table_nvx = Handle.Make() | |
type object_table_nvx = Object_table_nvx.t | |
let object_table_nvx, object_table_nvx_opt = Object_table_nvx.(view,view_opt) | |
module Indirect_commands_layout_nvx = Handle.Make() | |
type indirect_commands_layout_nvx = Indirect_commands_layout_nvx.t | |
let indirect_commands_layout_nvx, indirect_commands_layout_nvx_opt = Indirect_commands_layout_nvx.(view,view_opt) | |
module Indirect_commands_token_type_nvx = struct | |
type t = | Indirect_commands_token_pipeline | |
| Indirect_commands_token_descriptor_set | |
| Indirect_commands_token_index_buffer | |
| Indirect_commands_token_vertex_buffer | |
| Indirect_commands_token_push_constant | |
| Indirect_commands_token_draw_indexed | |
| Indirect_commands_token_draw | |
| Indirect_commands_token_dispatch | |
let to_int = function | |
| Indirect_commands_token_pipeline -> 0 | |
| Indirect_commands_token_descriptor_set -> 1 | |
| Indirect_commands_token_index_buffer -> 2 | |
| Indirect_commands_token_vertex_buffer -> 3 | |
| Indirect_commands_token_push_constant -> 4 | |
| Indirect_commands_token_draw_indexed -> 5 | |
| Indirect_commands_token_draw -> 6 | |
| Indirect_commands_token_dispatch -> 7 | |
let of_int = function | |
| 0 -> Indirect_commands_token_pipeline | |
| 1 -> Indirect_commands_token_descriptor_set | |
| 2 -> Indirect_commands_token_index_buffer | |
| 3 -> Indirect_commands_token_vertex_buffer | |
| 4 -> Indirect_commands_token_push_constant | |
| 5 -> Indirect_commands_token_draw_indexed | |
| 6 -> Indirect_commands_token_draw | |
| 7 -> Indirect_commands_token_dispatch | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Indirect_commands_token_pipeline -> "Indirect_commands_token_pipeline" | |
| Indirect_commands_token_descriptor_set -> "Indirect_commands_token_descriptor_set" | |
| Indirect_commands_token_index_buffer -> "Indirect_commands_token_index_buffer" | |
| Indirect_commands_token_vertex_buffer -> "Indirect_commands_token_vertex_buffer" | |
| Indirect_commands_token_push_constant -> "Indirect_commands_token_push_constant" | |
| Indirect_commands_token_draw_indexed -> "Indirect_commands_token_draw_indexed" | |
| Indirect_commands_token_draw -> "Indirect_commands_token_draw" | |
| Indirect_commands_token_dispatch -> "Indirect_commands_token_dispatch") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let indirect_commands_token_type_nvx, indirect_commands_token_type_nvx_opt = Indirect_commands_token_type_nvx.(view,view_opt) | |
type indirect_commands_token_type_nvx = Indirect_commands_token_type_nvx.t | |
module Indirect_commands_token_nvx = struct type t | |
type indirect_commands_token_nvx = t | |
let t: t structure typ = structure "indirect_commands_token_nvx" | |
module Fields=struct | |
let token_type = field t "token_type" indirect_commands_token_type_nvx | |
let buffer = field t "buffer" buffer | |
let offset = field t "offset" device_size | |
end | |
let token_type record = Ctypes.getf record Fields.token_type | |
let buffer record = Ctypes.getf record Fields.buffer | |
let offset record = Ctypes.getf record Fields.offset | |
let () = Ctypes.seal t | |
let make ~token_type:arg__token_type~buffer:arg__buffer~offset:arg__offset | |
= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.token_type arg__token_type; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.addr generated__x__ end | |
let indirect_commands_token_nvx = Indirect_commands_token_nvx.t | |
type indirect_commands_token_nvx = Indirect_commands_token_nvx.t | |
module Command_buffer = Handle.Make() | |
type command_buffer = Command_buffer.t | |
let command_buffer, command_buffer_opt = Command_buffer.(view,view_opt) | |
module Cmd_process_commands_info_nvx = struct type t | |
type cmd_process_commands_info_nvx = t | |
let t: t structure typ = structure "cmd_process_commands_info_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let object_table = field t "object_table" object_table_nvx | |
let indirect_commands_layout = field t "indirect_commands_layout" indirect_commands_layout_nvx | |
let indirect_commands_token_count = field t "indirect_commands_token_count" uint_32_t | |
let indirect_commands_tokens = field t "indirect_commands_tokens" (ptr indirect_commands_token_nvx) | |
let max_sequences_count = field t "max_sequences_count" uint_32_t | |
let target_command_buffer = field t "target_command_buffer" command_buffer_opt | |
let sequences_count_buffer = field t "sequences_count_buffer" buffer_opt | |
let sequences_count_offset = field t "sequences_count_offset" device_size_opt | |
let sequences_index_buffer = field t "sequences_index_buffer" buffer_opt | |
let sequences_index_offset = field t "sequences_index_offset" device_size_opt | |
end | |
let object_table record = Ctypes.getf record Fields.object_table | |
let indirect_commands_layout record = Ctypes.getf record Fields.indirect_commands_layout | |
let indirect_commands_tokens record = let indirect_commands_token_count = Ctypes.getf record Fields.indirect_commands_token_count and indirect_commands_tokens = Ctypes.getf record Fields.indirect_commands_tokens in | |
Ctypes.CArray.from_ptr (indirect_commands_tokens) (Uint_32_t.to_int (indirect_commands_token_count)) | |
let max_sequences_count record = Ctypes.getf record Fields.max_sequences_count | |
let target_command_buffer record = Ctypes.getf record Fields.target_command_buffer | |
let sequences_count_buffer record = Ctypes.getf record Fields.sequences_count_buffer | |
let sequences_count_offset record = Ctypes.getf record Fields.sequences_count_offset | |
let sequences_index_buffer record = Ctypes.getf record Fields.sequences_index_buffer | |
let sequences_index_offset record = Ctypes.getf record Fields.sequences_index_offset | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type cmd_process_commands_info_nvx_extension = .. | |
type cmd_process_commands_info_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~object_table:arg__object_table | |
~indirect_commands_layout:arg__indirect_commands_layout | |
~indirect_commands_tokens:arg__indirect_commands_tokens | |
~max_sequences_count:arg__max_sequences_count | |
?target_command_buffer:arg__target_command_buffer | |
?sequences_count_buffer:arg__sequences_count_buffer | |
?sequences_count_offset:arg__sequences_count_offset | |
?sequences_index_buffer:arg__sequences_index_buffer | |
?sequences_index_offset:arg__sequences_index_offset ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Cmd_process_commands_info_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.object_table arg__object_table; | |
Ctypes.setf generated__x__ Fields.indirect_commands_layout arg__indirect_commands_layout; | |
Ctypes.setf generated__x__ Fields.indirect_commands_token_count (Uint_32_t.of_int(Ctypes.CArray.length arg__indirect_commands_tokens)); | |
Ctypes.setf generated__x__ Fields.indirect_commands_tokens (Ctypes.CArray.start arg__indirect_commands_tokens); | |
Ctypes.setf generated__x__ Fields.max_sequences_count arg__max_sequences_count; | |
Ctypes.setf generated__x__ Fields.target_command_buffer arg__target_command_buffer; | |
Ctypes.setf generated__x__ Fields.sequences_count_buffer arg__sequences_count_buffer; | |
Ctypes.setf generated__x__ Fields.sequences_count_offset arg__sequences_count_offset; | |
Ctypes.setf generated__x__ Fields.sequences_index_buffer arg__sequences_index_buffer; | |
Ctypes.setf generated__x__ Fields.sequences_index_offset arg__sequences_index_offset; | |
Ctypes.addr generated__x__ | |
end | |
let cmd_process_commands_info_nvx = Cmd_process_commands_info_nvx.t | |
type cmd_process_commands_info_nvx = Cmd_process_commands_info_nvx.t | |
module Cmd_reserve_space_for_commands_info_nvx = struct type t | |
type cmd_reserve_space_for_commands_info_nvx = t | |
let t: t structure typ = structure "cmd_reserve_space_for_commands_info_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let object_table = field t "object_table" object_table_nvx | |
let indirect_commands_layout = field t "indirect_commands_layout" indirect_commands_layout_nvx | |
let max_sequences_count = field t "max_sequences_count" uint_32_t | |
end | |
let object_table record = Ctypes.getf record Fields.object_table | |
let indirect_commands_layout record = Ctypes.getf record Fields.indirect_commands_layout | |
let max_sequences_count record = Ctypes.getf record Fields.max_sequences_count | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type cmd_reserve_space_for_commands_info_nvx_extension = .. | |
type cmd_reserve_space_for_commands_info_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~object_table:arg__object_table | |
~indirect_commands_layout:arg__indirect_commands_layout | |
~max_sequences_count:arg__max_sequences_count ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Cmd_reserve_space_for_commands_info_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.object_table arg__object_table; | |
Ctypes.setf generated__x__ Fields.indirect_commands_layout arg__indirect_commands_layout; | |
Ctypes.setf generated__x__ Fields.max_sequences_count arg__max_sequences_count; | |
Ctypes.addr generated__x__ | |
end | |
let cmd_reserve_space_for_commands_info_nvx = Cmd_reserve_space_for_commands_info_nvx.t | |
type cmd_reserve_space_for_commands_info_nvx = Cmd_reserve_space_for_commands_info_nvx.t | |
module Color_component_flags = struct | |
include Bitset.Make() | |
let a = make_index 3 | |
let b = make_index 2 | |
let g = make_index 1 | |
let r = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem a set then | |
Printer.fprintf ppf "a;@ " | |
else (); | |
if mem b set then | |
Printer.fprintf ppf "b;@ " | |
else (); | |
if mem g set then | |
Printer.fprintf ppf "g;@ " | |
else (); | |
if mem r set then | |
Printer.fprintf ppf "r;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type color_component_flags = Color_component_flags.t | |
let color_component_flags, color_component_flags_opt = Color_component_flags.(view, view_opt) | |
let color_component_flag_bits = Color_component_flags.index_view | |
let color_component_flag_bits_opt = Color_component_flags.index_view_opt | |
module Color_space_khr = struct | |
type t = | Srgb_nonlinear | |
| Display_p_3_nonlinear_ext | |
| Extended_srgb_linear_ext | |
| Dci_p_3_linear_ext | |
| Dci_p_3_nonlinear_ext | |
| Bt_709_linear_ext | |
| Bt_709_nonlinear_ext | |
| Bt_2020_linear_ext | |
| Hdr_10_st_2084_ext | |
| Dolbyvision_ext | |
| Hdr_10_hlg_ext | |
| Adobergb_linear_ext | |
| Adobergb_nonlinear_ext | |
| Pass_through_ext | |
let to_int = function | |
| Srgb_nonlinear -> 0 | |
| Display_p_3_nonlinear_ext -> 1000104001 | |
| Extended_srgb_linear_ext -> 1000104002 | |
| Dci_p_3_linear_ext -> 1000104003 | |
| Dci_p_3_nonlinear_ext -> 1000104004 | |
| Bt_709_linear_ext -> 1000104005 | |
| Bt_709_nonlinear_ext -> 1000104006 | |
| Bt_2020_linear_ext -> 1000104007 | |
| Hdr_10_st_2084_ext -> 1000104008 | |
| Dolbyvision_ext -> 1000104009 | |
| Hdr_10_hlg_ext -> 1000104010 | |
| Adobergb_linear_ext -> 1000104011 | |
| Adobergb_nonlinear_ext -> 1000104012 | |
| Pass_through_ext -> 1000104013 | |
let of_int = function | |
| 0 -> Srgb_nonlinear | |
| 1000104001 -> Display_p_3_nonlinear_ext | |
| 1000104002 -> Extended_srgb_linear_ext | |
| 1000104003 -> Dci_p_3_linear_ext | |
| 1000104004 -> Dci_p_3_nonlinear_ext | |
| 1000104005 -> Bt_709_linear_ext | |
| 1000104006 -> Bt_709_nonlinear_ext | |
| 1000104007 -> Bt_2020_linear_ext | |
| 1000104008 -> Hdr_10_st_2084_ext | |
| 1000104009 -> Dolbyvision_ext | |
| 1000104010 -> Hdr_10_hlg_ext | |
| 1000104011 -> Adobergb_linear_ext | |
| 1000104012 -> Adobergb_nonlinear_ext | |
| 1000104013 -> Pass_through_ext | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Srgb_nonlinear -> "Srgb_nonlinear" | |
| Display_p_3_nonlinear_ext -> "Display_p_3_nonlinear_ext" | |
| Extended_srgb_linear_ext -> "Extended_srgb_linear_ext" | |
| Dci_p_3_linear_ext -> "Dci_p_3_linear_ext" | |
| Dci_p_3_nonlinear_ext -> "Dci_p_3_nonlinear_ext" | |
| Bt_709_linear_ext -> "Bt_709_linear_ext" | |
| Bt_709_nonlinear_ext -> "Bt_709_nonlinear_ext" | |
| Bt_2020_linear_ext -> "Bt_2020_linear_ext" | |
| Hdr_10_st_2084_ext -> "Hdr_10_st_2084_ext" | |
| Dolbyvision_ext -> "Dolbyvision_ext" | |
| Hdr_10_hlg_ext -> "Hdr_10_hlg_ext" | |
| Adobergb_linear_ext -> "Adobergb_linear_ext" | |
| Adobergb_nonlinear_ext -> "Adobergb_nonlinear_ext" | |
| Pass_through_ext -> "Pass_through_ext") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let color_space_khr, color_space_khr_opt = Color_space_khr.(view,view_opt) | |
type color_space_khr = Color_space_khr.t | |
module Command_pool = Handle.Make() | |
type command_pool = Command_pool.t | |
let command_pool, command_pool_opt = Command_pool.(view,view_opt) | |
module Command_buffer_level = struct | |
type t = | Primary | |
| Secondary | |
let to_int = function | |
| Primary -> 0 | |
| Secondary -> 1 | |
let of_int = function | |
| 0 -> Primary | |
| 1 -> Secondary | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Primary -> "Primary" | |
| Secondary -> "Secondary") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let command_buffer_level, command_buffer_level_opt = Command_buffer_level.(view,view_opt) | |
type command_buffer_level = Command_buffer_level.t | |
module Command_buffer_allocate_info = struct type t | |
type command_buffer_allocate_info = t | |
let t: t structure typ = structure "command_buffer_allocate_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let command_pool = field t "command_pool" command_pool | |
let level = field t "level" command_buffer_level | |
let command_buffer_count = field t "command_buffer_count" uint_32_t | |
end | |
let command_pool record = Ctypes.getf record Fields.command_pool | |
let level record = Ctypes.getf record Fields.level | |
let command_buffer_count record = Ctypes.getf record Fields.command_buffer_count | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type command_buffer_allocate_info_extension = .. | |
type command_buffer_allocate_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~command_pool:arg__command_pool | |
~level:arg__level~command_buffer_count:arg__command_buffer_count ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Command_buffer_allocate_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.command_pool arg__command_pool; | |
Ctypes.setf generated__x__ Fields.level arg__level; | |
Ctypes.setf generated__x__ Fields.command_buffer_count arg__command_buffer_count; | |
Ctypes.addr generated__x__ | |
end | |
let command_buffer_allocate_info = Command_buffer_allocate_info.t | |
type command_buffer_allocate_info = Command_buffer_allocate_info.t | |
module Command_buffer_usage_flags = struct | |
include Bitset.Make() | |
let simultaneous_use = make_index 2 | |
let render_pass_continue = make_index 1 | |
let one_time_submit = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem simultaneous_use set then | |
Printer.fprintf ppf "simultaneous_use;@ " | |
else (); | |
if mem render_pass_continue set then | |
Printer.fprintf ppf "render_pass_continue;@ " | |
else (); | |
if mem one_time_submit set then | |
Printer.fprintf ppf "one_time_submit;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type command_buffer_usage_flags = Command_buffer_usage_flags.t | |
let command_buffer_usage_flags, command_buffer_usage_flags_opt = Command_buffer_usage_flags.(view, view_opt) | |
let command_buffer_usage_flag_bits = Command_buffer_usage_flags.index_view | |
let command_buffer_usage_flag_bits_opt = Command_buffer_usage_flags.index_view_opt | |
module Render_pass = Handle.Make() | |
type render_pass = Render_pass.t | |
let render_pass, render_pass_opt = Render_pass.(view,view_opt) | |
module Framebuffer = Handle.Make() | |
type framebuffer = Framebuffer.t | |
let framebuffer, framebuffer_opt = Framebuffer.(view,view_opt) | |
module Query_control_flags = struct | |
include Bitset.Make() | |
let precise = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem precise set then | |
Printer.fprintf ppf "precise;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type query_control_flags = Query_control_flags.t | |
let query_control_flags, query_control_flags_opt = Query_control_flags.(view, view_opt) | |
let query_control_flag_bits = Query_control_flags.index_view | |
let query_control_flag_bits_opt = Query_control_flags.index_view_opt | |
module Query_pipeline_statistic_flags = struct | |
include Bitset.Make() | |
let compute_shader_invocations = make_index 10 | |
let tessellation_evaluation_shader_invocations = make_index 9 | |
let tessellation_control_shader_patches = make_index 8 | |
let fragment_shader_invocations = make_index 7 | |
let clipping_primitives = make_index 6 | |
let clipping_invocations = make_index 5 | |
let geometry_shader_primitives = make_index 4 | |
let geometry_shader_invocations = make_index 3 | |
let vertex_shader_invocations = make_index 2 | |
let input_assembly_primitives = make_index 1 | |
let input_assembly_vertices = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem compute_shader_invocations set then | |
Printer.fprintf ppf "compute_shader_invocations;@ " | |
else (); | |
if mem tessellation_evaluation_shader_invocations set then | |
Printer.fprintf ppf "tessellation_evaluation_shader_invocations;@ " | |
else (); | |
if mem tessellation_control_shader_patches set then | |
Printer.fprintf ppf "tessellation_control_shader_patches;@ " | |
else (); | |
if mem fragment_shader_invocations set then | |
Printer.fprintf ppf "fragment_shader_invocations;@ " | |
else (); | |
if mem clipping_primitives set then | |
Printer.fprintf ppf "clipping_primitives;@ " | |
else (); | |
if mem clipping_invocations set then | |
Printer.fprintf ppf "clipping_invocations;@ " | |
else (); | |
if mem geometry_shader_primitives set then | |
Printer.fprintf ppf "geometry_shader_primitives;@ " | |
else (); | |
if mem geometry_shader_invocations set then | |
Printer.fprintf ppf "geometry_shader_invocations;@ " | |
else (); | |
if mem vertex_shader_invocations set then | |
Printer.fprintf ppf "vertex_shader_invocations;@ " | |
else (); | |
if mem input_assembly_primitives set then | |
Printer.fprintf ppf "input_assembly_primitives;@ " | |
else (); | |
if mem input_assembly_vertices set then | |
Printer.fprintf ppf "input_assembly_vertices;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type query_pipeline_statistic_flags = Query_pipeline_statistic_flags.t | |
let query_pipeline_statistic_flags, query_pipeline_statistic_flags_opt = Query_pipeline_statistic_flags.(view, view_opt) | |
let query_pipeline_statistic_flag_bits = Query_pipeline_statistic_flags.index_view | |
let query_pipeline_statistic_flag_bits_opt = Query_pipeline_statistic_flags.index_view_opt | |
module Command_buffer_inheritance_info = struct type t | |
type command_buffer_inheritance_info = t | |
let t: t structure typ = structure "command_buffer_inheritance_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let render_pass = field t "render_pass" render_pass_opt | |
let subpass = field t "subpass" uint_32_t | |
let framebuffer = field t "framebuffer" framebuffer_opt | |
let occlusion_query_enable = field t "occlusion_query_enable" bool_32 | |
let query_flags = field t "query_flags" query_control_flags_opt | |
let pipeline_statistics = field t "pipeline_statistics" query_pipeline_statistic_flags_opt | |
end | |
let render_pass record = Ctypes.getf record Fields.render_pass | |
let subpass record = Ctypes.getf record Fields.subpass | |
let framebuffer record = Ctypes.getf record Fields.framebuffer | |
let occlusion_query_enable record = Ctypes.getf record Fields.occlusion_query_enable | |
let query_flags record = Ctypes.getf record Fields.query_flags | |
let pipeline_statistics record = Ctypes.getf record Fields.pipeline_statistics | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type command_buffer_inheritance_info_extension = .. | |
type command_buffer_inheritance_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?render_pass:arg__render_pass~subpass:arg__subpass | |
?framebuffer:arg__framebuffer | |
~occlusion_query_enable:arg__occlusion_query_enable | |
?query_flags:arg__query_flags | |
?pipeline_statistics:arg__pipeline_statistics ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Command_buffer_inheritance_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.render_pass arg__render_pass; | |
Ctypes.setf generated__x__ Fields.subpass arg__subpass; | |
Ctypes.setf generated__x__ Fields.framebuffer arg__framebuffer; | |
Ctypes.setf generated__x__ Fields.occlusion_query_enable arg__occlusion_query_enable; | |
Ctypes.setf generated__x__ Fields.query_flags arg__query_flags; | |
Ctypes.setf generated__x__ Fields.pipeline_statistics arg__pipeline_statistics; | |
Ctypes.addr generated__x__ | |
end | |
let command_buffer_inheritance_info = Command_buffer_inheritance_info.t | |
type command_buffer_inheritance_info = Command_buffer_inheritance_info.t | |
module Command_buffer_begin_info = struct type t | |
type command_buffer_begin_info = t | |
let t: t structure typ = structure "command_buffer_begin_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" command_buffer_usage_flags_opt | |
let inheritance_info = field t "inheritance_info" (ptr_opt (command_buffer_inheritance_info)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let inheritance_info record = Ctypes.getf record Fields.inheritance_info | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type command_buffer_begin_info_extension = .. | |
type command_buffer_begin_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?inheritance_info:arg__inheritance_info ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Command_buffer_begin_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.inheritance_info arg__inheritance_info; | |
Ctypes.addr generated__x__ | |
end | |
let command_buffer_begin_info = Command_buffer_begin_info.t | |
type command_buffer_begin_info = Command_buffer_begin_info.t | |
module Command_buffer_reset_flags = struct | |
include Bitset.Make() | |
let release_resources = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem release_resources set then | |
Printer.fprintf ppf "release_resources;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type command_buffer_reset_flags = Command_buffer_reset_flags.t | |
let command_buffer_reset_flags, command_buffer_reset_flags_opt = Command_buffer_reset_flags.(view, view_opt) | |
let command_buffer_reset_flag_bits = Command_buffer_reset_flags.index_view | |
let command_buffer_reset_flag_bits_opt = Command_buffer_reset_flags.index_view_opt | |
module Command_pool_create_flags = struct | |
include Bitset.Make() | |
let reset_command_buffer = make_index 1 | |
let transient = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem reset_command_buffer set then | |
Printer.fprintf ppf "reset_command_buffer;@ " | |
else (); | |
if mem transient set then | |
Printer.fprintf ppf "transient;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type command_pool_create_flags = Command_pool_create_flags.t | |
let command_pool_create_flags, command_pool_create_flags_opt = Command_pool_create_flags.(view, view_opt) | |
let command_pool_create_flag_bits = Command_pool_create_flags.index_view | |
let command_pool_create_flag_bits_opt = Command_pool_create_flags.index_view_opt | |
module Command_pool_create_info = struct type t | |
type command_pool_create_info = t | |
let t: t structure typ = structure "command_pool_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" command_pool_create_flags_opt | |
let queue_family_index = field t "queue_family_index" uint_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let queue_family_index record = Ctypes.getf record Fields.queue_family_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type command_pool_create_info_extension = .. | |
type command_pool_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~queue_family_index:arg__queue_family_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Command_pool_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.queue_family_index arg__queue_family_index; | |
Ctypes.addr generated__x__ | |
end | |
let command_pool_create_info = Command_pool_create_info.t | |
type command_pool_create_info = Command_pool_create_info.t | |
module Command_pool_reset_flags = struct | |
include Bitset.Make() | |
let release_resources = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem release_resources set then | |
Printer.fprintf ppf "release_resources;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type command_pool_reset_flags = Command_pool_reset_flags.t | |
let command_pool_reset_flags, command_pool_reset_flags_opt = Command_pool_reset_flags.(view, view_opt) | |
let command_pool_reset_flag_bits = Command_pool_reset_flags.index_view | |
let command_pool_reset_flag_bits_opt = Command_pool_reset_flags.index_view_opt | |
module Command_pool_trim_flags_khr = Bitset.Make() | |
type command_pool_trim_flags_khr = Command_pool_trim_flags_khr.t | |
let command_pool_trim_flags_khr, command_pool_trim_flags_khr_opt = Command_pool_trim_flags_khr.(view, view_opt) | |
let command_pool_trim_flag_bits_khr = Command_pool_trim_flags_khr.index_view | |
let command_pool_trim_flag_bits_khr_opt = Command_pool_trim_flags_khr.index_view_opt | |
module Compare_op = struct | |
type t = | Never | |
| Less | |
| Equal | |
| Less_or_equal | |
| Greater | |
| Not_equal | |
| Greater_or_equal | |
| Always | |
let to_int = function | |
| Never -> 0 | |
| Less -> 1 | |
| Equal -> 2 | |
| Less_or_equal -> 3 | |
| Greater -> 4 | |
| Not_equal -> 5 | |
| Greater_or_equal -> 6 | |
| Always -> 7 | |
let of_int = function | |
| 0 -> Never | |
| 1 -> Less | |
| 2 -> Equal | |
| 3 -> Less_or_equal | |
| 4 -> Greater | |
| 5 -> Not_equal | |
| 6 -> Greater_or_equal | |
| 7 -> Always | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Never -> "Never" | |
| Less -> "Less" | |
| Equal -> "Equal" | |
| Less_or_equal -> "Less_or_equal" | |
| Greater -> "Greater" | |
| Not_equal -> "Not_equal" | |
| Greater_or_equal -> "Greater_or_equal" | |
| Always -> "Always") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let compare_op, compare_op_opt = Compare_op.(view,view_opt) | |
type compare_op = Compare_op.t | |
module Component_swizzle = struct | |
type t = | Identity | |
| Zero | |
| One | |
| R | |
| G | |
| B | |
| A | |
let to_int = function | |
| Identity -> 0 | |
| Zero -> 1 | |
| One -> 2 | |
| R -> 3 | |
| G -> 4 | |
| B -> 5 | |
| A -> 6 | |
let of_int = function | |
| 0 -> Identity | |
| 1 -> Zero | |
| 2 -> One | |
| 3 -> R | |
| 4 -> G | |
| 5 -> B | |
| 6 -> A | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Identity -> "Identity" | |
| Zero -> "Zero" | |
| One -> "One" | |
| R -> "R" | |
| G -> "G" | |
| B -> "B" | |
| A -> "A") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let component_swizzle, component_swizzle_opt = Component_swizzle.(view,view_opt) | |
type component_swizzle = Component_swizzle.t | |
module Component_mapping = struct type t type component_mapping = t | |
let t: t structure typ = structure "component_mapping" | |
module Fields=struct | |
let r = field t "r" component_swizzle | |
let g = field t "g" component_swizzle | |
let b = field t "b" component_swizzle | |
let a = field t "a" component_swizzle | |
end | |
let r record = Ctypes.getf record Fields.r | |
let g record = Ctypes.getf record Fields.g | |
let b record = Ctypes.getf record Fields.b | |
let a record = Ctypes.getf record Fields.a let () = Ctypes.seal t | |
let make ~r:arg__r~g:arg__g~b:arg__b~a:arg__a = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.r arg__r; | |
Ctypes.setf generated__x__ Fields.g arg__g; | |
Ctypes.setf generated__x__ Fields.b arg__b; | |
Ctypes.setf generated__x__ Fields.a arg__a; Ctypes.addr generated__x__ end | |
let component_mapping = Component_mapping.t | |
type component_mapping = Component_mapping.t | |
module Composite_alpha_flags_khr = struct | |
include Bitset.Make() | |
let inherit' = make_index 3 | |
let post_multiplied = make_index 2 | |
let pre_multiplied = make_index 1 | |
let opaque = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem inherit' set then | |
Printer.fprintf ppf "inherit';@ " | |
else (); | |
if mem post_multiplied set then | |
Printer.fprintf ppf "post_multiplied;@ " | |
else (); | |
if mem pre_multiplied set then | |
Printer.fprintf ppf "pre_multiplied;@ " | |
else (); | |
if mem opaque set then | |
Printer.fprintf ppf "opaque;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type composite_alpha_flags_khr = Composite_alpha_flags_khr.t | |
let composite_alpha_flags_khr, composite_alpha_flags_khr_opt = Composite_alpha_flags_khr.(view, view_opt) | |
let composite_alpha_flag_bits_khr = Composite_alpha_flags_khr.index_view | |
let composite_alpha_flag_bits_khr_opt = Composite_alpha_flags_khr.index_view_opt | |
module Pipeline_create_flags = struct | |
include Bitset.Make() | |
let dispatch_base_khx = make_index 4 | |
let view_index_from_device_index_bit_khx = make_index 3 | |
let derivative = make_index 2 | |
let allow_derivatives = make_index 1 | |
let disable_optimization = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem dispatch_base_khx set then | |
Printer.fprintf ppf "dispatch_base_khx;@ " | |
else (); | |
if mem view_index_from_device_index_bit_khx set then | |
Printer.fprintf ppf "view_index_from_device_index_bit_khx;@ " | |
else (); | |
if mem derivative set then | |
Printer.fprintf ppf "derivative;@ " | |
else (); | |
if mem allow_derivatives set then | |
Printer.fprintf ppf "allow_derivatives;@ " | |
else (); | |
if mem disable_optimization set then | |
Printer.fprintf ppf "disable_optimization;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type pipeline_create_flags = Pipeline_create_flags.t | |
let pipeline_create_flags, pipeline_create_flags_opt = Pipeline_create_flags.(view, view_opt) | |
let pipeline_create_flag_bits = Pipeline_create_flags.index_view | |
let pipeline_create_flag_bits_opt = Pipeline_create_flags.index_view_opt | |
module Pipeline_shader_stage_create_flags = Bitset.Make() | |
type pipeline_shader_stage_create_flags = Pipeline_shader_stage_create_flags.t | |
let pipeline_shader_stage_create_flags, pipeline_shader_stage_create_flags_opt = Pipeline_shader_stage_create_flags.(view, view_opt) | |
let pipeline_shader_stage_create_flag_bits = Pipeline_shader_stage_create_flags.index_view | |
let pipeline_shader_stage_create_flag_bits_opt = Pipeline_shader_stage_create_flags.index_view_opt | |
module Shader_stage_flags = struct | |
include Bitset.Make() | |
let compute = make_index 5 | |
let fragment = make_index 4 | |
let geometry = make_index 3 | |
let tessellation_evaluation = make_index 2 | |
let tessellation_control = make_index 1 | |
let vertex = make_index 0 | |
let all = of_int 2147483647 | |
let all_graphics = of_int 31 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem compute set then | |
Printer.fprintf ppf "compute;@ " | |
else (); | |
if mem fragment set then | |
Printer.fprintf ppf "fragment;@ " | |
else (); | |
if mem geometry set then | |
Printer.fprintf ppf "geometry;@ " | |
else (); | |
if mem tessellation_evaluation set then | |
Printer.fprintf ppf "tessellation_evaluation;@ " | |
else (); | |
if mem tessellation_control set then | |
Printer.fprintf ppf "tessellation_control;@ " | |
else (); | |
if mem vertex set then | |
Printer.fprintf ppf "vertex;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type shader_stage_flags = Shader_stage_flags.t | |
let shader_stage_flags, shader_stage_flags_opt = Shader_stage_flags.(view, view_opt) | |
let shader_stage_flag_bits = Shader_stage_flags.index_view | |
let shader_stage_flag_bits_opt = Shader_stage_flags.index_view_opt | |
module Shader_module = Handle.Make() | |
type shader_module = Shader_module.t | |
let shader_module, shader_module_opt = Shader_module.(view,view_opt) | |
module Specialization_map_entry = struct type t | |
type specialization_map_entry = t | |
let t: t structure typ = structure "specialization_map_entry" | |
module Fields=struct | |
let constant_id = field t "constant_id" uint_32_t | |
let offset = field t "offset" uint_32_t | |
let size = field t "size" size_t | |
end | |
let constant_id record = Ctypes.getf record Fields.constant_id | |
let offset record = Ctypes.getf record Fields.offset | |
let size record = Ctypes.getf record Fields.size let () = Ctypes.seal t | |
let make ~constant_id:arg__constant_id~offset:arg__offset~size:arg__size | |
= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.constant_id arg__constant_id; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.addr generated__x__ end | |
let specialization_map_entry = Specialization_map_entry.t | |
type specialization_map_entry = Specialization_map_entry.t | |
module Specialization_info = struct type t type specialization_info = t | |
let t: t structure typ = structure "specialization_info" | |
module Fields=struct | |
let map_entry_count = field t "map_entry_count" uint_32_t_opt | |
let map_entries = field t "map_entries" (ptr specialization_map_entry) | |
let data_size = field t "data_size" size_t_opt | |
let data = field t "data" (ptr void) | |
end | |
let map_entries record = match Ctypes.getf record Fields.map_entry_count, Ctypes.getf record Fields.map_entries with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let data record = match Ctypes.getf record Fields.data_size, Ctypes.getf record Fields.data with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Size_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
let make ?map_entries:arg__map_entries?data:arg__data ()= | |
let generated__x__ = Ctypes.make t in | |
begin match arg__map_entries with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.map_entry_count None; | |
Ctypes.setf generated__x__ Fields.map_entries (Obj.magic @@ Ctypes.null)) | |
|Some arg__map_entries ->(Ctypes.setf generated__x__ Fields.map_entry_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__map_entries))); | |
Ctypes.setf generated__x__ Fields.map_entries (Ctypes.CArray.start arg__map_entries)) | |
end; | |
begin match arg__data with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.data_size None; | |
Ctypes.setf generated__x__ Fields.data (Obj.magic @@ Ctypes.null)) | |
|Some arg__data ->(Ctypes.setf generated__x__ Fields.data_size (Some(Size_t.of_int(Ctypes.CArray.length arg__data))); | |
Ctypes.setf generated__x__ Fields.data (Ctypes.CArray.start arg__data)) | |
end; | |
Ctypes.addr generated__x__ end | |
let specialization_info = Specialization_info.t | |
type specialization_info = Specialization_info.t | |
module Pipeline_shader_stage_create_info = struct type t | |
type pipeline_shader_stage_create_info = t | |
let t: t structure typ = structure "pipeline_shader_stage_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_shader_stage_create_flags_opt | |
let stage = field t "stage" shader_stage_flag_bits | |
let module' = field t "module'" shader_module | |
let name = field t "name" string | |
let specialization_info = field t "specialization_info" (ptr_opt (specialization_info)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let stage record = Ctypes.getf record Fields.stage | |
let module' record = Ctypes.getf record Fields.module' | |
let name record = Ctypes.getf record Fields.name | |
let specialization_info record = Ctypes.getf record Fields.specialization_info | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_shader_stage_create_info_extension = .. | |
type pipeline_shader_stage_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~stage:arg__stage | |
~module':arg__module'~name:arg__name | |
?specialization_info:arg__specialization_info ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_shader_stage_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.stage arg__stage; | |
Ctypes.setf generated__x__ Fields.module' arg__module'; | |
Ctypes.setf generated__x__ Fields.name arg__name; | |
Ctypes.setf generated__x__ Fields.specialization_info arg__specialization_info; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_shader_stage_create_info = Pipeline_shader_stage_create_info.t | |
type pipeline_shader_stage_create_info = Pipeline_shader_stage_create_info.t | |
module Pipeline_layout = Handle.Make() | |
type pipeline_layout = Pipeline_layout.t | |
let pipeline_layout, pipeline_layout_opt = Pipeline_layout.(view,view_opt) | |
module Pipeline = Handle.Make() | |
type pipeline = Pipeline.t | |
let pipeline, pipeline_opt = Pipeline.(view,view_opt) | |
module Compute_pipeline_create_info = struct type t | |
type compute_pipeline_create_info = t | |
let t: t structure typ = structure "compute_pipeline_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_create_flags_opt | |
let stage = field t "stage" pipeline_shader_stage_create_info | |
let layout = field t "layout" pipeline_layout | |
let base_pipeline_handle = field t "base_pipeline_handle" pipeline_opt | |
let base_pipeline_index = field t "base_pipeline_index" int_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let stage record = Ctypes.getf record Fields.stage | |
let layout record = Ctypes.getf record Fields.layout | |
let base_pipeline_handle record = Ctypes.getf record Fields.base_pipeline_handle | |
let base_pipeline_index record = Ctypes.getf record Fields.base_pipeline_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type compute_pipeline_create_info_extension = .. | |
type compute_pipeline_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~stage:arg__stage | |
~layout:arg__layout?base_pipeline_handle:arg__base_pipeline_handle | |
~base_pipeline_index:arg__base_pipeline_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Compute_pipeline_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.stage arg__stage; | |
Ctypes.setf generated__x__ Fields.layout arg__layout; | |
Ctypes.setf generated__x__ Fields.base_pipeline_handle arg__base_pipeline_handle; | |
Ctypes.setf generated__x__ Fields.base_pipeline_index arg__base_pipeline_index; | |
Ctypes.addr generated__x__ | |
end | |
let compute_pipeline_create_info = Compute_pipeline_create_info.t | |
type compute_pipeline_create_info = Compute_pipeline_create_info.t | |
module Descriptor_set = Handle.Make() | |
type descriptor_set = Descriptor_set.t | |
let descriptor_set, descriptor_set_opt = Descriptor_set.(view,view_opt) | |
module Copy_descriptor_set = struct type t type copy_descriptor_set = t | |
let t: t structure typ = structure "copy_descriptor_set" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let src_set = field t "src_set" descriptor_set | |
let src_binding = field t "src_binding" uint_32_t | |
let src_array_element = field t "src_array_element" uint_32_t | |
let dst_set = field t "dst_set" descriptor_set | |
let dst_binding = field t "dst_binding" uint_32_t | |
let dst_array_element = field t "dst_array_element" uint_32_t | |
let descriptor_count = field t "descriptor_count" uint_32_t | |
end | |
let src_set record = Ctypes.getf record Fields.src_set | |
let src_binding record = Ctypes.getf record Fields.src_binding | |
let src_array_element record = Ctypes.getf record Fields.src_array_element | |
let dst_set record = Ctypes.getf record Fields.dst_set | |
let dst_binding record = Ctypes.getf record Fields.dst_binding | |
let dst_array_element record = Ctypes.getf record Fields.dst_array_element | |
let descriptor_count record = Ctypes.getf record Fields.descriptor_count | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type copy_descriptor_set_extension = .. | |
type copy_descriptor_set_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~src_set:arg__src_set | |
~src_binding:arg__src_binding~src_array_element:arg__src_array_element | |
~dst_set:arg__dst_set~dst_binding:arg__dst_binding | |
~dst_array_element:arg__dst_array_element | |
~descriptor_count:arg__descriptor_count ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Copy_descriptor_set, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.src_set arg__src_set; | |
Ctypes.setf generated__x__ Fields.src_binding arg__src_binding; | |
Ctypes.setf generated__x__ Fields.src_array_element arg__src_array_element; | |
Ctypes.setf generated__x__ Fields.dst_set arg__dst_set; | |
Ctypes.setf generated__x__ Fields.dst_binding arg__dst_binding; | |
Ctypes.setf generated__x__ Fields.dst_array_element arg__dst_array_element; | |
Ctypes.setf generated__x__ Fields.descriptor_count arg__descriptor_count; | |
Ctypes.addr generated__x__ | |
end | |
let copy_descriptor_set = Copy_descriptor_set.t | |
type copy_descriptor_set = Copy_descriptor_set.t | |
module Cull_mode_flags = struct | |
include Bitset.Make() | |
let back = make_index 1 | |
let front = make_index 0 | |
let front_and_back = of_int 3 | |
let none = of_int 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem back set then | |
Printer.fprintf ppf "back;@ " | |
else (); | |
if mem front set then | |
Printer.fprintf ppf "front;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type cull_mode_flags = Cull_mode_flags.t | |
let cull_mode_flags, cull_mode_flags_opt = Cull_mode_flags.(view, view_opt) | |
let cull_mode_flag_bits = Cull_mode_flags.index_view | |
let cull_mode_flag_bits_opt = Cull_mode_flags.index_view_opt | |
module D3d_12_fence_submit_info_khx = struct type t | |
type d3d_12_fence_submit_info_khx = t | |
let t: t structure typ = structure "d3d_12_fence_submit_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let wait_semaphore_values_count = field t "wait_semaphore_values_count" uint_32_t_opt | |
let wait_semaphore_values = field t "wait_semaphore_values" (ptr_opt (uint_64_t)) | |
let signal_semaphore_values_count = field t "signal_semaphore_values_count" uint_32_t_opt | |
let signal_semaphore_values = field t "signal_semaphore_values" (ptr_opt (uint_64_t)) | |
end | |
let wait_semaphore_values record = match Ctypes.getf record Fields.wait_semaphore_values_count, Ctypes.getf record Fields.wait_semaphore_values with | |
| Some n, Some(a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let signal_semaphore_values record = match Ctypes.getf record Fields.signal_semaphore_values_count, Ctypes.getf record Fields.signal_semaphore_values with | |
| Some n, Some(a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type d3d_12_fence_submit_info_khx_extension = .. | |
type d3d_12_fence_submit_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?wait_semaphore_values:arg__wait_semaphore_values | |
?signal_semaphore_values:arg__signal_semaphore_values ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.D3d_12_fence_submit_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__wait_semaphore_values with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.wait_semaphore_values_count None; | |
Ctypes.setf generated__x__ Fields.wait_semaphore_values (Obj.magic @@ Ctypes.null)) | |
|Some arg__wait_semaphore_values ->(Ctypes.setf generated__x__ Fields.wait_semaphore_values_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__wait_semaphore_values))); | |
Ctypes.setf generated__x__ Fields.wait_semaphore_values (Some(Ctypes.CArray.start arg__wait_semaphore_values))) | |
end; | |
begin match arg__signal_semaphore_values with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.signal_semaphore_values_count None; | |
Ctypes.setf generated__x__ Fields.signal_semaphore_values (Obj.magic @@ Ctypes.null)) | |
|Some arg__signal_semaphore_values ->(Ctypes.setf generated__x__ Fields.signal_semaphore_values_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__signal_semaphore_values))); | |
Ctypes.setf generated__x__ Fields.signal_semaphore_values (Some(Ctypes.CArray.start arg__signal_semaphore_values))) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let d3d_12_fence_submit_info_khx = D3d_12_fence_submit_info_khx.t | |
type d3d_12_fence_submit_info_khx = D3d_12_fence_submit_info_khx.t | |
module Debug_marker_marker_info_ext = struct type t | |
type debug_marker_marker_info_ext = t | |
let t: t structure typ = structure "debug_marker_marker_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let marker_name = field t "marker_name" string | |
let color = field t "color" (ptr_opt (float)) | |
end | |
let marker_name record = Ctypes.getf record Fields.marker_name | |
let color record = Ctypes.getf record Fields.color let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type debug_marker_marker_info_ext_extension = .. | |
type debug_marker_marker_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~marker_name:arg__marker_name | |
?color:arg__color ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Debug_marker_marker_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.marker_name arg__marker_name; | |
Ctypes.setf generated__x__ Fields.color arg__color; | |
Ctypes.addr generated__x__ | |
end | |
let debug_marker_marker_info_ext = Debug_marker_marker_info_ext.t | |
type debug_marker_marker_info_ext = Debug_marker_marker_info_ext.t | |
module Debug_marker_object_name_info_ext = struct type t | |
type debug_marker_object_name_info_ext = t | |
let t: t structure typ = structure "debug_marker_object_name_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let object_type = field t "object_type" debug_report_object_type_ext | |
let object' = field t "object'" uint_64_t | |
let object_name = field t "object_name" string | |
end | |
let object_type record = Ctypes.getf record Fields.object_type | |
let object' record = Ctypes.getf record Fields.object' | |
let object_name record = Ctypes.getf record Fields.object_name | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type debug_marker_object_name_info_ext_extension = .. | |
type debug_marker_object_name_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~object_type:arg__object_type | |
~object':arg__object'~object_name:arg__object_name ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Debug_marker_object_name_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.object_type arg__object_type; | |
Ctypes.setf generated__x__ Fields.object' arg__object'; | |
Ctypes.setf generated__x__ Fields.object_name arg__object_name; | |
Ctypes.addr generated__x__ | |
end | |
let debug_marker_object_name_info_ext = Debug_marker_object_name_info_ext.t | |
type debug_marker_object_name_info_ext = Debug_marker_object_name_info_ext.t | |
module Debug_marker_object_tag_info_ext = struct type t | |
type debug_marker_object_tag_info_ext = t | |
let t: t structure typ = structure "debug_marker_object_tag_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let object_type = field t "object_type" debug_report_object_type_ext | |
let object' = field t "object'" uint_64_t | |
let tag_name = field t "tag_name" uint_64_t | |
let tag_size = field t "tag_size" size_t | |
let tag = field t "tag" (ptr void) | |
end | |
let object_type record = Ctypes.getf record Fields.object_type | |
let object' record = Ctypes.getf record Fields.object' | |
let tag_name record = Ctypes.getf record Fields.tag_name | |
let tag record = let tag_size = Ctypes.getf record Fields.tag_size and tag = Ctypes.getf record Fields.tag in | |
Ctypes.CArray.from_ptr (tag) (Size_t.to_int (tag_size)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type debug_marker_object_tag_info_ext_extension = .. | |
type debug_marker_object_tag_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~object_type:arg__object_type | |
~object':arg__object'~tag_name:arg__tag_name~tag:arg__tag ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Debug_marker_object_tag_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.object_type arg__object_type; | |
Ctypes.setf generated__x__ Fields.object' arg__object'; | |
Ctypes.setf generated__x__ Fields.tag_name arg__tag_name; | |
Ctypes.setf generated__x__ Fields.tag_size (Size_t.of_int(Ctypes.CArray.length arg__tag)); | |
Ctypes.setf generated__x__ Fields.tag (Ctypes.CArray.start arg__tag); | |
Ctypes.addr generated__x__ | |
end | |
let debug_marker_object_tag_info_ext = Debug_marker_object_tag_info_ext.t | |
type debug_marker_object_tag_info_ext = Debug_marker_object_tag_info_ext.t | |
module Debug_report_callback_create_info_ext = struct type t | |
type debug_report_callback_create_info_ext = t | |
let t: t structure typ = structure "debug_report_callback_create_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" debug_report_flags_ext_opt | |
let pfn_callback = field t "pfn_callback" debug_report_callback_ext | |
let user_data = field t "user_data" (ptr_opt (void)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let pfn_callback record = Ctypes.getf record Fields.pfn_callback | |
let user_data record = Ctypes.getf record Fields.user_data | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type debug_report_callback_create_info_ext_extension = .. | |
type debug_report_callback_create_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~pfn_callback:arg__pfn_callback?user_data:arg__user_data ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Debug_report_callback_create_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.pfn_callback arg__pfn_callback; | |
Ctypes.setf generated__x__ Fields.user_data arg__user_data; | |
Ctypes.addr generated__x__ | |
end | |
let debug_report_callback_create_info_ext = Debug_report_callback_create_info_ext.t | |
type debug_report_callback_create_info_ext = Debug_report_callback_create_info_ext.t | |
module Dedicated_allocation_buffer_create_info_nv = struct type t | |
type dedicated_allocation_buffer_create_info_nv = t | |
let t: t structure typ = structure "dedicated_allocation_buffer_create_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let dedicated_allocation = field t "dedicated_allocation" bool_32 | |
end | |
let dedicated_allocation record = Ctypes.getf record Fields.dedicated_allocation | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type dedicated_allocation_buffer_create_info_nv_extension = .. | |
type dedicated_allocation_buffer_create_info_nv_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~dedicated_allocation:arg__dedicated_allocation ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Dedicated_allocation_buffer_create_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.dedicated_allocation arg__dedicated_allocation; | |
Ctypes.addr generated__x__ | |
end | |
let dedicated_allocation_buffer_create_info_nv = Dedicated_allocation_buffer_create_info_nv.t | |
type dedicated_allocation_buffer_create_info_nv = Dedicated_allocation_buffer_create_info_nv.t | |
module Dedicated_allocation_image_create_info_nv = struct type t | |
type dedicated_allocation_image_create_info_nv = t | |
let t: t structure typ = structure "dedicated_allocation_image_create_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let dedicated_allocation = field t "dedicated_allocation" bool_32 | |
end | |
let dedicated_allocation record = Ctypes.getf record Fields.dedicated_allocation | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type dedicated_allocation_image_create_info_nv_extension = .. | |
type dedicated_allocation_image_create_info_nv_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~dedicated_allocation:arg__dedicated_allocation ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Dedicated_allocation_image_create_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.dedicated_allocation arg__dedicated_allocation; | |
Ctypes.addr generated__x__ | |
end | |
let dedicated_allocation_image_create_info_nv = Dedicated_allocation_image_create_info_nv.t | |
type dedicated_allocation_image_create_info_nv = Dedicated_allocation_image_create_info_nv.t | |
module Dedicated_allocation_memory_allocate_info_nv = struct type t | |
type dedicated_allocation_memory_allocate_info_nv = t | |
let t: t structure typ = structure "dedicated_allocation_memory_allocate_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let image = field t "image" image_opt | |
let buffer = field t "buffer" buffer_opt | |
end | |
let image record = Ctypes.getf record Fields.image | |
let buffer record = Ctypes.getf record Fields.buffer | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type dedicated_allocation_memory_allocate_info_nv_extension = .. | |
type dedicated_allocation_memory_allocate_info_nv_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)?image:arg__image | |
?buffer:arg__buffer ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Dedicated_allocation_memory_allocate_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.addr generated__x__ | |
end | |
let dedicated_allocation_memory_allocate_info_nv = Dedicated_allocation_memory_allocate_info_nv.t | |
type dedicated_allocation_memory_allocate_info_nv = Dedicated_allocation_memory_allocate_info_nv.t | |
module Dependency_flags = struct | |
include Bitset.Make() | |
let device_group_bit_khx = make_index 2 | |
let view_local_bit_khx = make_index 1 | |
let by_region = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem device_group_bit_khx set then | |
Printer.fprintf ppf "device_group_bit_khx;@ " | |
else (); | |
if mem view_local_bit_khx set then | |
Printer.fprintf ppf "view_local_bit_khx;@ " | |
else (); | |
if mem by_region set then | |
Printer.fprintf ppf "by_region;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type dependency_flags = Dependency_flags.t | |
let dependency_flags, dependency_flags_opt = Dependency_flags.(view, view_opt) | |
let dependency_flag_bits = Dependency_flags.index_view | |
let dependency_flag_bits_opt = Dependency_flags.index_view_opt | |
module Descriptor_buffer_info = struct type t | |
type descriptor_buffer_info = t | |
let t: t structure typ = structure "descriptor_buffer_info" | |
module Fields=struct | |
let buffer = field t "buffer" buffer | |
let offset = field t "offset" device_size | |
let range = field t "range" device_size | |
end | |
let buffer record = Ctypes.getf record Fields.buffer | |
let offset record = Ctypes.getf record Fields.offset | |
let range record = Ctypes.getf record Fields.range | |
let () = Ctypes.seal t | |
let make ~buffer:arg__buffer~offset:arg__offset~range:arg__range = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.range arg__range; | |
Ctypes.addr generated__x__ end | |
let descriptor_buffer_info = Descriptor_buffer_info.t | |
type descriptor_buffer_info = Descriptor_buffer_info.t | |
module Sampler = Handle.Make() | |
type sampler = Sampler.t | |
let sampler, sampler_opt = Sampler.(view,view_opt) | |
module Image_view = Handle.Make() | |
type image_view = Image_view.t | |
let image_view, image_view_opt = Image_view.(view,view_opt) | |
module Descriptor_image_info = struct type t type descriptor_image_info = t | |
let t: t structure typ = structure "descriptor_image_info" | |
module Fields=struct | |
let sampler = field t "sampler" sampler | |
let image_view = field t "image_view" image_view | |
let image_layout = field t "image_layout" image_layout | |
end | |
let sampler record = Ctypes.getf record Fields.sampler | |
let image_view record = Ctypes.getf record Fields.image_view | |
let image_layout record = Ctypes.getf record Fields.image_layout | |
let () = Ctypes.seal t | |
let make ~sampler:arg__sampler~image_view:arg__image_view | |
~image_layout:arg__image_layout = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.sampler arg__sampler; | |
Ctypes.setf generated__x__ Fields.image_view arg__image_view; | |
Ctypes.setf generated__x__ Fields.image_layout arg__image_layout; | |
Ctypes.addr generated__x__ end | |
let descriptor_image_info = Descriptor_image_info.t | |
type descriptor_image_info = Descriptor_image_info.t | |
module Descriptor_pool = Handle.Make() | |
type descriptor_pool = Descriptor_pool.t | |
let descriptor_pool, descriptor_pool_opt = Descriptor_pool.(view,view_opt) | |
module Descriptor_pool_create_flags = struct | |
include Bitset.Make() | |
let free_descriptor_set = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem free_descriptor_set set then | |
Printer.fprintf ppf "free_descriptor_set;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type descriptor_pool_create_flags = Descriptor_pool_create_flags.t | |
let descriptor_pool_create_flags, descriptor_pool_create_flags_opt = Descriptor_pool_create_flags.(view, view_opt) | |
let descriptor_pool_create_flag_bits = Descriptor_pool_create_flags.index_view | |
let descriptor_pool_create_flag_bits_opt = Descriptor_pool_create_flags.index_view_opt | |
module Descriptor_type = struct | |
type t = | Sampler | |
| Combined_image_sampler | |
| Sampled_image | |
| Storage_image | |
| Uniform_texel_buffer | |
| Storage_texel_buffer | |
| Uniform_buffer | |
| Storage_buffer | |
| Uniform_buffer_dynamic | |
| Storage_buffer_dynamic | |
| Input_attachment | |
let to_int = function | |
| Sampler -> 0 | |
| Combined_image_sampler -> 1 | |
| Sampled_image -> 2 | |
| Storage_image -> 3 | |
| Uniform_texel_buffer -> 4 | |
| Storage_texel_buffer -> 5 | |
| Uniform_buffer -> 6 | |
| Storage_buffer -> 7 | |
| Uniform_buffer_dynamic -> 8 | |
| Storage_buffer_dynamic -> 9 | |
| Input_attachment -> 10 | |
let of_int = function | |
| 0 -> Sampler | |
| 1 -> Combined_image_sampler | |
| 2 -> Sampled_image | |
| 3 -> Storage_image | |
| 4 -> Uniform_texel_buffer | |
| 5 -> Storage_texel_buffer | |
| 6 -> Uniform_buffer | |
| 7 -> Storage_buffer | |
| 8 -> Uniform_buffer_dynamic | |
| 9 -> Storage_buffer_dynamic | |
| 10 -> Input_attachment | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Sampler -> "Sampler" | |
| Combined_image_sampler -> "Combined_image_sampler" | |
| Sampled_image -> "Sampled_image" | |
| Storage_image -> "Storage_image" | |
| Uniform_texel_buffer -> "Uniform_texel_buffer" | |
| Storage_texel_buffer -> "Storage_texel_buffer" | |
| Uniform_buffer -> "Uniform_buffer" | |
| Storage_buffer -> "Storage_buffer" | |
| Uniform_buffer_dynamic -> "Uniform_buffer_dynamic" | |
| Storage_buffer_dynamic -> "Storage_buffer_dynamic" | |
| Input_attachment -> "Input_attachment") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let descriptor_type, descriptor_type_opt = Descriptor_type.(view,view_opt) | |
type descriptor_type = Descriptor_type.t | |
module Descriptor_pool_size = struct type t type descriptor_pool_size = t | |
let t: t structure typ = structure "descriptor_pool_size" | |
module Fields=struct | |
let typ = field t "typ" descriptor_type | |
let descriptor_count = field t "descriptor_count" uint_32_t | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let descriptor_count record = Ctypes.getf record Fields.descriptor_count | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~descriptor_count:arg__descriptor_count = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.descriptor_count arg__descriptor_count; | |
Ctypes.addr generated__x__ end | |
let descriptor_pool_size = Descriptor_pool_size.t | |
type descriptor_pool_size = Descriptor_pool_size.t | |
module Descriptor_pool_create_info = struct type t | |
type descriptor_pool_create_info = t | |
let t: t structure typ = structure "descriptor_pool_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" descriptor_pool_create_flags_opt | |
let max_sets = field t "max_sets" uint_32_t | |
let pool_size_count = field t "pool_size_count" uint_32_t | |
let pool_sizes = field t "pool_sizes" (ptr descriptor_pool_size) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let max_sets record = Ctypes.getf record Fields.max_sets | |
let pool_sizes record = let pool_size_count = Ctypes.getf record Fields.pool_size_count and pool_sizes = Ctypes.getf record Fields.pool_sizes in | |
Ctypes.CArray.from_ptr (pool_sizes) (Uint_32_t.to_int (pool_size_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type descriptor_pool_create_info_extension = .. | |
type descriptor_pool_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~max_sets:arg__max_sets~pool_sizes:arg__pool_sizes ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Descriptor_pool_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.max_sets arg__max_sets; | |
Ctypes.setf generated__x__ Fields.pool_size_count (Uint_32_t.of_int(Ctypes.CArray.length arg__pool_sizes)); | |
Ctypes.setf generated__x__ Fields.pool_sizes (Ctypes.CArray.start arg__pool_sizes); | |
Ctypes.addr generated__x__ | |
end | |
let descriptor_pool_create_info = Descriptor_pool_create_info.t | |
type descriptor_pool_create_info = Descriptor_pool_create_info.t | |
module Descriptor_pool_reset_flags = Bitset.Make() | |
type descriptor_pool_reset_flags = Descriptor_pool_reset_flags.t | |
let descriptor_pool_reset_flags, descriptor_pool_reset_flags_opt = Descriptor_pool_reset_flags.(view, view_opt) | |
let descriptor_pool_reset_flag_bits = Descriptor_pool_reset_flags.index_view | |
let descriptor_pool_reset_flag_bits_opt = Descriptor_pool_reset_flags.index_view_opt | |
module Descriptor_set_layout = Handle.Make() | |
type descriptor_set_layout = Descriptor_set_layout.t | |
let descriptor_set_layout, descriptor_set_layout_opt = Descriptor_set_layout.(view,view_opt) | |
module Descriptor_set_allocate_info = struct type t | |
type descriptor_set_allocate_info = t | |
let t: t structure typ = structure "descriptor_set_allocate_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let descriptor_pool = field t "descriptor_pool" descriptor_pool | |
let descriptor_set_count = field t "descriptor_set_count" uint_32_t | |
let set_layouts = field t "set_layouts" (ptr descriptor_set_layout) | |
end | |
let descriptor_pool record = Ctypes.getf record Fields.descriptor_pool | |
let set_layouts record = let descriptor_set_count = Ctypes.getf record Fields.descriptor_set_count and set_layouts = Ctypes.getf record Fields.set_layouts in | |
Ctypes.CArray.from_ptr (set_layouts) (Uint_32_t.to_int (descriptor_set_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type descriptor_set_allocate_info_extension = .. | |
type descriptor_set_allocate_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~descriptor_pool:arg__descriptor_pool~set_layouts:arg__set_layouts ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Descriptor_set_allocate_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.descriptor_pool arg__descriptor_pool; | |
Ctypes.setf generated__x__ Fields.descriptor_set_count (Uint_32_t.of_int(Ctypes.CArray.length arg__set_layouts)); | |
Ctypes.setf generated__x__ Fields.set_layouts (Ctypes.CArray.start arg__set_layouts); | |
Ctypes.addr generated__x__ | |
end | |
let descriptor_set_allocate_info = Descriptor_set_allocate_info.t | |
type descriptor_set_allocate_info = Descriptor_set_allocate_info.t | |
module Descriptor_set_layout_binding = struct type t | |
type descriptor_set_layout_binding = t | |
let t: t structure typ = structure "descriptor_set_layout_binding" | |
module Fields=struct | |
let binding = field t "binding" uint_32_t | |
let descriptor_type = field t "descriptor_type" descriptor_type | |
let descriptor_count = field t "descriptor_count" uint_32_t_opt | |
let stage_flags = field t "stage_flags" shader_stage_flags | |
let immutable_samplers = field t "immutable_samplers" (ptr_opt (sampler)) | |
end | |
let binding record = Ctypes.getf record Fields.binding | |
let descriptor_type record = Ctypes.getf record Fields.descriptor_type | |
let descriptor_count record = Ctypes.getf record Fields.descriptor_count | |
let stage_flags record = Ctypes.getf record Fields.stage_flags | |
let immutable_samplers record = Ctypes.getf record Fields.immutable_samplers | |
let () = Ctypes.seal t | |
let make ~binding:arg__binding~descriptor_type:arg__descriptor_type | |
?descriptor_count:arg__descriptor_count~stage_flags:arg__stage_flags | |
?immutable_samplers:arg__immutable_samplers ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.binding arg__binding; | |
Ctypes.setf generated__x__ Fields.descriptor_type arg__descriptor_type; | |
Ctypes.setf generated__x__ Fields.descriptor_count arg__descriptor_count; | |
Ctypes.setf generated__x__ Fields.stage_flags arg__stage_flags; | |
Ctypes.setf generated__x__ Fields.immutable_samplers arg__immutable_samplers; | |
Ctypes.addr generated__x__ end | |
let descriptor_set_layout_binding = Descriptor_set_layout_binding.t | |
type descriptor_set_layout_binding = Descriptor_set_layout_binding.t | |
module Descriptor_set_layout_create_flags = struct | |
include Bitset.Make() | |
let push_descriptor_bit_khr = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem push_descriptor_bit_khr set then | |
Printer.fprintf ppf "push_descriptor_bit_khr;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type descriptor_set_layout_create_flags = Descriptor_set_layout_create_flags.t | |
let descriptor_set_layout_create_flags, descriptor_set_layout_create_flags_opt = Descriptor_set_layout_create_flags.(view, view_opt) | |
let descriptor_set_layout_create_flag_bits = Descriptor_set_layout_create_flags.index_view | |
let descriptor_set_layout_create_flag_bits_opt = Descriptor_set_layout_create_flags.index_view_opt | |
module Descriptor_set_layout_create_info = struct type t | |
type descriptor_set_layout_create_info = t | |
let t: t structure typ = structure "descriptor_set_layout_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" descriptor_set_layout_create_flags_opt | |
let binding_count = field t "binding_count" uint_32_t_opt | |
let bindings = field t "bindings" (ptr descriptor_set_layout_binding) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let bindings record = match Ctypes.getf record Fields.binding_count, Ctypes.getf record Fields.bindings with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type descriptor_set_layout_create_info_extension = .. | |
type descriptor_set_layout_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?bindings:arg__bindings ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Descriptor_set_layout_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
begin match arg__bindings with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.binding_count None; | |
Ctypes.setf generated__x__ Fields.bindings (Obj.magic @@ Ctypes.null)) | |
|Some arg__bindings ->(Ctypes.setf generated__x__ Fields.binding_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__bindings))); | |
Ctypes.setf generated__x__ Fields.bindings (Ctypes.CArray.start arg__bindings)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let descriptor_set_layout_create_info = Descriptor_set_layout_create_info.t | |
type descriptor_set_layout_create_info = Descriptor_set_layout_create_info.t | |
module Descriptor_update_template_create_flags_khr = Bitset.Make() | |
type descriptor_update_template_create_flags_khr = Descriptor_update_template_create_flags_khr.t | |
let descriptor_update_template_create_flags_khr, descriptor_update_template_create_flags_khr_opt = Descriptor_update_template_create_flags_khr.(view, view_opt) | |
let descriptor_update_template_create_flag_bits_khr = Descriptor_update_template_create_flags_khr.index_view | |
let descriptor_update_template_create_flag_bits_khr_opt = Descriptor_update_template_create_flags_khr.index_view_opt | |
module Descriptor_update_template_entry_khr = struct type t | |
type descriptor_update_template_entry_khr = t | |
let t: t structure typ = structure "descriptor_update_template_entry_khr" | |
module Fields=struct | |
let dst_binding = field t "dst_binding" uint_32_t | |
let dst_array_element = field t "dst_array_element" uint_32_t | |
let descriptor_count = field t "descriptor_count" uint_32_t | |
let descriptor_type = field t "descriptor_type" descriptor_type | |
let offset = field t "offset" size_t | |
let stride = field t "stride" size_t | |
end | |
let dst_binding record = Ctypes.getf record Fields.dst_binding | |
let dst_array_element record = Ctypes.getf record Fields.dst_array_element | |
let descriptor_count record = Ctypes.getf record Fields.descriptor_count | |
let descriptor_type record = Ctypes.getf record Fields.descriptor_type | |
let offset record = Ctypes.getf record Fields.offset | |
let stride record = Ctypes.getf record Fields.stride | |
let () = Ctypes.seal t | |
let make ~dst_binding:arg__dst_binding | |
~dst_array_element:arg__dst_array_element | |
~descriptor_count:arg__descriptor_count | |
~descriptor_type:arg__descriptor_type~offset:arg__offset~stride:arg__stride | |
= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.dst_binding arg__dst_binding; | |
Ctypes.setf generated__x__ Fields.dst_array_element arg__dst_array_element; | |
Ctypes.setf generated__x__ Fields.descriptor_count arg__descriptor_count; | |
Ctypes.setf generated__x__ Fields.descriptor_type arg__descriptor_type; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.stride arg__stride; | |
Ctypes.addr generated__x__ end | |
let descriptor_update_template_entry_khr = Descriptor_update_template_entry_khr.t | |
type descriptor_update_template_entry_khr = Descriptor_update_template_entry_khr.t | |
module Descriptor_update_template_type_khr = struct | |
type t = | Descriptor_set | |
| Push_descriptors | |
let to_int = function | |
| Descriptor_set -> 0 | |
| Push_descriptors -> 1 | |
let of_int = function | |
| 0 -> Descriptor_set | |
| 1 -> Push_descriptors | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Descriptor_set -> "Descriptor_set" | |
| Push_descriptors -> "Push_descriptors") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let descriptor_update_template_type_khr, descriptor_update_template_type_khr_opt = Descriptor_update_template_type_khr.(view,view_opt) | |
type descriptor_update_template_type_khr = Descriptor_update_template_type_khr.t | |
module Pipeline_bind_point = struct | |
type t = | Graphics | |
| Compute | |
let to_int = function | |
| Graphics -> 0 | |
| Compute -> 1 | |
let of_int = function | |
| 0 -> Graphics | |
| 1 -> Compute | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Graphics -> "Graphics" | |
| Compute -> "Compute") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let pipeline_bind_point, pipeline_bind_point_opt = Pipeline_bind_point.(view,view_opt) | |
type pipeline_bind_point = Pipeline_bind_point.t | |
module Descriptor_update_template_create_info_khr = struct type t | |
type descriptor_update_template_create_info_khr = t | |
let t: t structure typ = structure "descriptor_update_template_create_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" descriptor_update_template_create_flags_khr_opt | |
let descriptor_update_entry_count = field t "descriptor_update_entry_count" uint_32_t | |
let descriptor_update_entries = field t "descriptor_update_entries" (ptr descriptor_update_template_entry_khr) | |
let template_type = field t "template_type" descriptor_update_template_type_khr | |
let descriptor_set_layout = field t "descriptor_set_layout" descriptor_set_layout_opt | |
let pipeline_bind_point = field t "pipeline_bind_point" pipeline_bind_point_opt | |
let pipeline_layout = field t "pipeline_layout" pipeline_layout_opt | |
let set = field t "set" uint_32_t_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let descriptor_update_entries record = let descriptor_update_entry_count = Ctypes.getf record Fields.descriptor_update_entry_count and descriptor_update_entries = Ctypes.getf record Fields.descriptor_update_entries in | |
Ctypes.CArray.from_ptr (descriptor_update_entries) (Uint_32_t.to_int (descriptor_update_entry_count)) | |
let template_type record = Ctypes.getf record Fields.template_type | |
let descriptor_set_layout record = Ctypes.getf record Fields.descriptor_set_layout | |
let pipeline_bind_point record = Ctypes.getf record Fields.pipeline_bind_point | |
let pipeline_layout record = Ctypes.getf record Fields.pipeline_layout | |
let set record = Ctypes.getf record Fields.set let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type descriptor_update_template_create_info_khr_extension = .. | |
type descriptor_update_template_create_info_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~descriptor_update_entries:arg__descriptor_update_entries | |
~template_type:arg__template_type | |
?descriptor_set_layout:arg__descriptor_set_layout | |
?pipeline_bind_point:arg__pipeline_bind_point | |
?pipeline_layout:arg__pipeline_layout?set:arg__set ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Descriptor_update_template_create_info_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.descriptor_update_entry_count (Uint_32_t.of_int(Ctypes.CArray.length arg__descriptor_update_entries)); | |
Ctypes.setf generated__x__ Fields.descriptor_update_entries (Ctypes.CArray.start arg__descriptor_update_entries); | |
Ctypes.setf generated__x__ Fields.template_type arg__template_type; | |
Ctypes.setf generated__x__ Fields.descriptor_set_layout arg__descriptor_set_layout; | |
Ctypes.setf generated__x__ Fields.pipeline_bind_point arg__pipeline_bind_point; | |
Ctypes.setf generated__x__ Fields.pipeline_layout arg__pipeline_layout; | |
Ctypes.setf generated__x__ Fields.set arg__set; Ctypes.addr generated__x__ | |
end | |
let descriptor_update_template_create_info_khr = Descriptor_update_template_create_info_khr.t | |
type descriptor_update_template_create_info_khr = Descriptor_update_template_create_info_khr.t | |
module Descriptor_update_template_khr = Handle.Make() | |
type descriptor_update_template_khr = Descriptor_update_template_khr.t | |
let descriptor_update_template_khr, descriptor_update_template_khr_opt = Descriptor_update_template_khr.(view,view_opt) | |
module Device = Handle.Make() | |
type device = Device.t | |
let device, device_opt = Device.(view,view_opt) | |
module Device_create_flags = Bitset.Make() | |
type device_create_flags = Device_create_flags.t | |
let device_create_flags, device_create_flags_opt = Device_create_flags.(view, view_opt) | |
let device_create_flag_bits = Device_create_flags.index_view | |
let device_create_flag_bits_opt = Device_create_flags.index_view_opt | |
module Physical_device_multiview_features_khx = struct type t | |
type physical_device_multiview_features_khx = t | |
let t: t structure typ = structure "physical_device_multiview_features_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let multiview = field t "multiview" bool_32 | |
let multiview_geometry_shader = field t "multiview_geometry_shader" bool_32 | |
let multiview_tessellation_shader = field t "multiview_tessellation_shader" bool_32 | |
end | |
let multiview record = Ctypes.getf record Fields.multiview | |
let multiview_geometry_shader record = Ctypes.getf record Fields.multiview_geometry_shader | |
let multiview_tessellation_shader record = Ctypes.getf record Fields.multiview_tessellation_shader | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_multiview_features_khx_extension = .. | |
type physical_device_multiview_features_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~multiview:arg__multiview | |
~multiview_geometry_shader:arg__multiview_geometry_shader | |
~multiview_tessellation_shader:arg__multiview_tessellation_shader ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_multiview_features_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.multiview arg__multiview; | |
Ctypes.setf generated__x__ Fields.multiview_geometry_shader arg__multiview_geometry_shader; | |
Ctypes.setf generated__x__ Fields.multiview_tessellation_shader arg__multiview_tessellation_shader; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_multiview_features_khx = Physical_device_multiview_features_khx.t | |
type physical_device_multiview_features_khx = Physical_device_multiview_features_khx.t | |
module Physical_device = Handle.Make() | |
type physical_device = Physical_device.t | |
let physical_device, physical_device_opt = Physical_device.(view,view_opt) | |
module Device_group_device_create_info_khx = struct type t | |
type device_group_device_create_info_khx = t | |
let t: t structure typ = structure "device_group_device_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let physical_device_count = field t "physical_device_count" uint_32_t_opt | |
let physical_devices = field t "physical_devices" (ptr physical_device) | |
end | |
let physical_devices record = match Ctypes.getf record Fields.physical_device_count, Ctypes.getf record Fields.physical_devices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_device_create_info_khx_extension = .. | |
type device_group_device_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?physical_devices:arg__physical_devices ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_device_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__physical_devices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.physical_device_count None; | |
Ctypes.setf generated__x__ Fields.physical_devices (Obj.magic @@ Ctypes.null)) | |
|Some arg__physical_devices ->(Ctypes.setf generated__x__ Fields.physical_device_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__physical_devices))); | |
Ctypes.setf generated__x__ Fields.physical_devices (Ctypes.CArray.start arg__physical_devices)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_device_create_info_khx = Device_group_device_create_info_khx.t | |
type device_group_device_create_info_khx = Device_group_device_create_info_khx.t | |
module Device_queue_create_flags = Bitset.Make() | |
type device_queue_create_flags = Device_queue_create_flags.t | |
let device_queue_create_flags, device_queue_create_flags_opt = Device_queue_create_flags.(view, view_opt) | |
let device_queue_create_flag_bits = Device_queue_create_flags.index_view | |
let device_queue_create_flag_bits_opt = Device_queue_create_flags.index_view_opt | |
module Device_queue_create_info = struct type t | |
type device_queue_create_info = t | |
let t: t structure typ = structure "device_queue_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" device_queue_create_flags_opt | |
let queue_family_index = field t "queue_family_index" uint_32_t | |
let queue_count = field t "queue_count" uint_32_t | |
let queue_priorities = field t "queue_priorities" (ptr float) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let queue_family_index record = Ctypes.getf record Fields.queue_family_index | |
let queue_priorities record = let queue_count = Ctypes.getf record Fields.queue_count and queue_priorities = Ctypes.getf record Fields.queue_priorities in | |
Ctypes.CArray.from_ptr (queue_priorities) (Uint_32_t.to_int (queue_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_queue_create_info_extension = .. | |
type device_queue_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~queue_family_index:arg__queue_family_index | |
~queue_priorities:arg__queue_priorities ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_queue_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.queue_family_index arg__queue_family_index; | |
Ctypes.setf generated__x__ Fields.queue_count (Uint_32_t.of_int(Ctypes.CArray.length arg__queue_priorities)); | |
Ctypes.setf generated__x__ Fields.queue_priorities (Ctypes.CArray.start arg__queue_priorities); | |
Ctypes.addr generated__x__ | |
end | |
let device_queue_create_info = Device_queue_create_info.t | |
type device_queue_create_info = Device_queue_create_info.t | |
module Physical_device_features = struct type t | |
type physical_device_features = t | |
let t: t structure typ = structure "physical_device_features" | |
module Fields=struct | |
let robust_buffer_access = field t "robust_buffer_access" bool_32 | |
let full_draw_index_uint_32 = field t "full_draw_index_uint_32" bool_32 | |
let image_cube_array = field t "image_cube_array" bool_32 | |
let independent_blend = field t "independent_blend" bool_32 | |
let geometry_shader = field t "geometry_shader" bool_32 | |
let tessellation_shader = field t "tessellation_shader" bool_32 | |
let sample_rate_shading = field t "sample_rate_shading" bool_32 | |
let dual_src_blend = field t "dual_src_blend" bool_32 | |
let logic_op = field t "logic_op" bool_32 | |
let multi_draw_indirect = field t "multi_draw_indirect" bool_32 | |
let draw_indirect_first_instance = field t "draw_indirect_first_instance" bool_32 | |
let depth_clamp = field t "depth_clamp" bool_32 | |
let depth_bias_clamp = field t "depth_bias_clamp" bool_32 | |
let fill_mode_non_solid = field t "fill_mode_non_solid" bool_32 | |
let depth_bounds = field t "depth_bounds" bool_32 | |
let wide_lines = field t "wide_lines" bool_32 | |
let large_points = field t "large_points" bool_32 | |
let alpha_to_one = field t "alpha_to_one" bool_32 | |
let multi_viewport = field t "multi_viewport" bool_32 | |
let sampler_anisotropy = field t "sampler_anisotropy" bool_32 | |
let texture_compression_e_t_c_2 = field t "texture_compression_e_t_c_2" bool_32 | |
let texturecompressionastc_ldr = field t "texturecompressionastc_ldr" bool_32 | |
let texture_compression_b_c = field t "texture_compression_b_c" bool_32 | |
let occlusion_query_precise = field t "occlusion_query_precise" bool_32 | |
let pipeline_statistics_query = field t "pipeline_statistics_query" bool_32 | |
let vertex_pipeline_stores_and_atomics = field t "vertex_pipeline_stores_and_atomics" bool_32 | |
let fragment_stores_and_atomics = field t "fragment_stores_and_atomics" bool_32 | |
let shader_tessellation_and_geometry_point_size = field t "shader_tessellation_and_geometry_point_size" bool_32 | |
let shader_image_gather_extended = field t "shader_image_gather_extended" bool_32 | |
let shader_storage_image_extended_formats = field t "shader_storage_image_extended_formats" bool_32 | |
let shader_storage_image_multisample = field t "shader_storage_image_multisample" bool_32 | |
let shader_storage_image_read_without_format = field t "shader_storage_image_read_without_format" bool_32 | |
let shader_storage_image_write_without_format = field t "shader_storage_image_write_without_format" bool_32 | |
let shader_uniform_buffer_array_dynamic_indexing = field t "shader_uniform_buffer_array_dynamic_indexing" bool_32 | |
let shader_sampled_image_array_dynamic_indexing = field t "shader_sampled_image_array_dynamic_indexing" bool_32 | |
let shader_storage_buffer_array_dynamic_indexing = field t "shader_storage_buffer_array_dynamic_indexing" bool_32 | |
let shader_storage_image_array_dynamic_indexing = field t "shader_storage_image_array_dynamic_indexing" bool_32 | |
let shader_clip_distance = field t "shader_clip_distance" bool_32 | |
let shader_cull_distance = field t "shader_cull_distance" bool_32 | |
let shader_float_64 = field t "shader_float_64" bool_32 | |
let shader_int_64 = field t "shader_int_64" bool_32 | |
let shader_int_16 = field t "shader_int_16" bool_32 | |
let shader_resource_residency = field t "shader_resource_residency" bool_32 | |
let shader_resource_min_lod = field t "shader_resource_min_lod" bool_32 | |
let sparse_binding = field t "sparse_binding" bool_32 | |
let sparse_residency_buffer = field t "sparse_residency_buffer" bool_32 | |
let sparse_residency_image_2d = field t "sparse_residency_image_2d" bool_32 | |
let sparse_residency_image_3d = field t "sparse_residency_image_3d" bool_32 | |
let sparse_residency_2_s_a_m_p_l_e_s = field t "sparse_residency_2_s_a_m_p_l_e_s" bool_32 | |
let sparse_residency_4_s_a_m_p_l_e_s = field t "sparse_residency_4_s_a_m_p_l_e_s" bool_32 | |
let sparse_residency_8_s_a_m_p_l_e_s = field t "sparse_residency_8_s_a_m_p_l_e_s" bool_32 | |
let sparse_residency_16_s_a_m_p_l_e_s = field t "sparse_residency_16_s_a_m_p_l_e_s" bool_32 | |
let sparse_residency_aliased = field t "sparse_residency_aliased" bool_32 | |
let variable_multisample_rate = field t "variable_multisample_rate" bool_32 | |
let inherited_queries = field t "inherited_queries" bool_32 | |
end | |
let robust_buffer_access record = Ctypes.getf record Fields.robust_buffer_access | |
let full_draw_index_uint_32 record = Ctypes.getf record Fields.full_draw_index_uint_32 | |
let image_cube_array record = Ctypes.getf record Fields.image_cube_array | |
let independent_blend record = Ctypes.getf record Fields.independent_blend | |
let geometry_shader record = Ctypes.getf record Fields.geometry_shader | |
let tessellation_shader record = Ctypes.getf record Fields.tessellation_shader | |
let sample_rate_shading record = Ctypes.getf record Fields.sample_rate_shading | |
let dual_src_blend record = Ctypes.getf record Fields.dual_src_blend | |
let logic_op record = Ctypes.getf record Fields.logic_op | |
let multi_draw_indirect record = Ctypes.getf record Fields.multi_draw_indirect | |
let draw_indirect_first_instance record = Ctypes.getf record Fields.draw_indirect_first_instance | |
let depth_clamp record = Ctypes.getf record Fields.depth_clamp | |
let depth_bias_clamp record = Ctypes.getf record Fields.depth_bias_clamp | |
let fill_mode_non_solid record = Ctypes.getf record Fields.fill_mode_non_solid | |
let depth_bounds record = Ctypes.getf record Fields.depth_bounds | |
let wide_lines record = Ctypes.getf record Fields.wide_lines | |
let large_points record = Ctypes.getf record Fields.large_points | |
let alpha_to_one record = Ctypes.getf record Fields.alpha_to_one | |
let multi_viewport record = Ctypes.getf record Fields.multi_viewport | |
let sampler_anisotropy record = Ctypes.getf record Fields.sampler_anisotropy | |
let texture_compression_e_t_c_2 record = Ctypes.getf record Fields.texture_compression_e_t_c_2 | |
let texturecompressionastc_ldr record = Ctypes.getf record Fields.texturecompressionastc_ldr | |
let texture_compression_b_c record = Ctypes.getf record Fields.texture_compression_b_c | |
let occlusion_query_precise record = Ctypes.getf record Fields.occlusion_query_precise | |
let pipeline_statistics_query record = Ctypes.getf record Fields.pipeline_statistics_query | |
let vertex_pipeline_stores_and_atomics record = Ctypes.getf record Fields.vertex_pipeline_stores_and_atomics | |
let fragment_stores_and_atomics record = Ctypes.getf record Fields.fragment_stores_and_atomics | |
let shader_tessellation_and_geometry_point_size record = Ctypes.getf record Fields.shader_tessellation_and_geometry_point_size | |
let shader_image_gather_extended record = Ctypes.getf record Fields.shader_image_gather_extended | |
let shader_storage_image_extended_formats record = Ctypes.getf record Fields.shader_storage_image_extended_formats | |
let shader_storage_image_multisample record = Ctypes.getf record Fields.shader_storage_image_multisample | |
let shader_storage_image_read_without_format record = Ctypes.getf record Fields.shader_storage_image_read_without_format | |
let shader_storage_image_write_without_format record = Ctypes.getf record Fields.shader_storage_image_write_without_format | |
let shader_uniform_buffer_array_dynamic_indexing record = Ctypes.getf record Fields.shader_uniform_buffer_array_dynamic_indexing | |
let shader_sampled_image_array_dynamic_indexing record = Ctypes.getf record Fields.shader_sampled_image_array_dynamic_indexing | |
let shader_storage_buffer_array_dynamic_indexing record = Ctypes.getf record Fields.shader_storage_buffer_array_dynamic_indexing | |
let shader_storage_image_array_dynamic_indexing record = Ctypes.getf record Fields.shader_storage_image_array_dynamic_indexing | |
let shader_clip_distance record = Ctypes.getf record Fields.shader_clip_distance | |
let shader_cull_distance record = Ctypes.getf record Fields.shader_cull_distance | |
let shader_float_64 record = Ctypes.getf record Fields.shader_float_64 | |
let shader_int_64 record = Ctypes.getf record Fields.shader_int_64 | |
let shader_int_16 record = Ctypes.getf record Fields.shader_int_16 | |
let shader_resource_residency record = Ctypes.getf record Fields.shader_resource_residency | |
let shader_resource_min_lod record = Ctypes.getf record Fields.shader_resource_min_lod | |
let sparse_binding record = Ctypes.getf record Fields.sparse_binding | |
let sparse_residency_buffer record = Ctypes.getf record Fields.sparse_residency_buffer | |
let sparse_residency_image_2d record = Ctypes.getf record Fields.sparse_residency_image_2d | |
let sparse_residency_image_3d record = Ctypes.getf record Fields.sparse_residency_image_3d | |
let sparse_residency_2_s_a_m_p_l_e_s record = Ctypes.getf record Fields.sparse_residency_2_s_a_m_p_l_e_s | |
let sparse_residency_4_s_a_m_p_l_e_s record = Ctypes.getf record Fields.sparse_residency_4_s_a_m_p_l_e_s | |
let sparse_residency_8_s_a_m_p_l_e_s record = Ctypes.getf record Fields.sparse_residency_8_s_a_m_p_l_e_s | |
let sparse_residency_16_s_a_m_p_l_e_s record = Ctypes.getf record Fields.sparse_residency_16_s_a_m_p_l_e_s | |
let sparse_residency_aliased record = Ctypes.getf record Fields.sparse_residency_aliased | |
let variable_multisample_rate record = Ctypes.getf record Fields.variable_multisample_rate | |
let inherited_queries record = Ctypes.getf record Fields.inherited_queries | |
let () = Ctypes.seal t | |
let make ~robust_buffer_access:arg__robust_buffer_access | |
~full_draw_index_uint_32:arg__full_draw_index_uint_32 | |
~image_cube_array:arg__image_cube_array | |
~independent_blend:arg__independent_blend | |
~geometry_shader:arg__geometry_shader | |
~tessellation_shader:arg__tessellation_shader | |
~sample_rate_shading:arg__sample_rate_shading | |
~dual_src_blend:arg__dual_src_blend~logic_op:arg__logic_op | |
~multi_draw_indirect:arg__multi_draw_indirect | |
~draw_indirect_first_instance:arg__draw_indirect_first_instance | |
~depth_clamp:arg__depth_clamp~depth_bias_clamp:arg__depth_bias_clamp | |
~fill_mode_non_solid:arg__fill_mode_non_solid | |
~depth_bounds:arg__depth_bounds~wide_lines:arg__wide_lines | |
~large_points:arg__large_points~alpha_to_one:arg__alpha_to_one | |
~multi_viewport:arg__multi_viewport | |
~sampler_anisotropy:arg__sampler_anisotropy | |
~texture_compression_e_t_c_2:arg__texture_compression_e_t_c_2 | |
~texturecompressionastc_ldr:arg__texturecompressionastc_ldr | |
~texture_compression_b_c:arg__texture_compression_b_c | |
~occlusion_query_precise:arg__occlusion_query_precise | |
~pipeline_statistics_query:arg__pipeline_statistics_query | |
~vertex_pipeline_stores_and_atomics:arg__vertex_pipeline_stores_and_atomics | |
~fragment_stores_and_atomics:arg__fragment_stores_and_atomics | |
~shader_tessellation_and_geometry_point_size:arg__shader_tessellation_and_geometry_point_size | |
~shader_image_gather_extended:arg__shader_image_gather_extended | |
~shader_storage_image_extended_formats:arg__shader_storage_image_extended_formats | |
~shader_storage_image_multisample:arg__shader_storage_image_multisample | |
~shader_storage_image_read_without_format:arg__shader_storage_image_read_without_format | |
~shader_storage_image_write_without_format:arg__shader_storage_image_write_without_format | |
~shader_uniform_buffer_array_dynamic_indexing:arg__shader_uniform_buffer_array_dynamic_indexing | |
~shader_sampled_image_array_dynamic_indexing:arg__shader_sampled_image_array_dynamic_indexing | |
~shader_storage_buffer_array_dynamic_indexing:arg__shader_storage_buffer_array_dynamic_indexing | |
~shader_storage_image_array_dynamic_indexing:arg__shader_storage_image_array_dynamic_indexing | |
~shader_clip_distance:arg__shader_clip_distance | |
~shader_cull_distance:arg__shader_cull_distance | |
~shader_float_64:arg__shader_float_64~shader_int_64:arg__shader_int_64 | |
~shader_int_16:arg__shader_int_16 | |
~shader_resource_residency:arg__shader_resource_residency | |
~shader_resource_min_lod:arg__shader_resource_min_lod | |
~sparse_binding:arg__sparse_binding | |
~sparse_residency_buffer:arg__sparse_residency_buffer | |
~sparse_residency_image_2d:arg__sparse_residency_image_2d | |
~sparse_residency_image_3d:arg__sparse_residency_image_3d | |
~sparse_residency_2_s_a_m_p_l_e_s:arg__sparse_residency_2_s_a_m_p_l_e_s | |
~sparse_residency_4_s_a_m_p_l_e_s:arg__sparse_residency_4_s_a_m_p_l_e_s | |
~sparse_residency_8_s_a_m_p_l_e_s:arg__sparse_residency_8_s_a_m_p_l_e_s | |
~sparse_residency_16_s_a_m_p_l_e_s:arg__sparse_residency_16_s_a_m_p_l_e_s | |
~sparse_residency_aliased:arg__sparse_residency_aliased | |
~variable_multisample_rate:arg__variable_multisample_rate | |
~inherited_queries:arg__inherited_queries = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.robust_buffer_access arg__robust_buffer_access; | |
Ctypes.setf generated__x__ Fields.full_draw_index_uint_32 arg__full_draw_index_uint_32; | |
Ctypes.setf generated__x__ Fields.image_cube_array arg__image_cube_array; | |
Ctypes.setf generated__x__ Fields.independent_blend arg__independent_blend; | |
Ctypes.setf generated__x__ Fields.geometry_shader arg__geometry_shader; | |
Ctypes.setf generated__x__ Fields.tessellation_shader arg__tessellation_shader; | |
Ctypes.setf generated__x__ Fields.sample_rate_shading arg__sample_rate_shading; | |
Ctypes.setf generated__x__ Fields.dual_src_blend arg__dual_src_blend; | |
Ctypes.setf generated__x__ Fields.logic_op arg__logic_op; | |
Ctypes.setf generated__x__ Fields.multi_draw_indirect arg__multi_draw_indirect; | |
Ctypes.setf generated__x__ Fields.draw_indirect_first_instance arg__draw_indirect_first_instance; | |
Ctypes.setf generated__x__ Fields.depth_clamp arg__depth_clamp; | |
Ctypes.setf generated__x__ Fields.depth_bias_clamp arg__depth_bias_clamp; | |
Ctypes.setf generated__x__ Fields.fill_mode_non_solid arg__fill_mode_non_solid; | |
Ctypes.setf generated__x__ Fields.depth_bounds arg__depth_bounds; | |
Ctypes.setf generated__x__ Fields.wide_lines arg__wide_lines; | |
Ctypes.setf generated__x__ Fields.large_points arg__large_points; | |
Ctypes.setf generated__x__ Fields.alpha_to_one arg__alpha_to_one; | |
Ctypes.setf generated__x__ Fields.multi_viewport arg__multi_viewport; | |
Ctypes.setf generated__x__ Fields.sampler_anisotropy arg__sampler_anisotropy; | |
Ctypes.setf generated__x__ Fields.texture_compression_e_t_c_2 arg__texture_compression_e_t_c_2; | |
Ctypes.setf generated__x__ Fields.texturecompressionastc_ldr arg__texturecompressionastc_ldr; | |
Ctypes.setf generated__x__ Fields.texture_compression_b_c arg__texture_compression_b_c; | |
Ctypes.setf generated__x__ Fields.occlusion_query_precise arg__occlusion_query_precise; | |
Ctypes.setf generated__x__ Fields.pipeline_statistics_query arg__pipeline_statistics_query; | |
Ctypes.setf generated__x__ Fields.vertex_pipeline_stores_and_atomics arg__vertex_pipeline_stores_and_atomics; | |
Ctypes.setf generated__x__ Fields.fragment_stores_and_atomics arg__fragment_stores_and_atomics; | |
Ctypes.setf generated__x__ Fields.shader_tessellation_and_geometry_point_size arg__shader_tessellation_and_geometry_point_size; | |
Ctypes.setf generated__x__ Fields.shader_image_gather_extended arg__shader_image_gather_extended; | |
Ctypes.setf generated__x__ Fields.shader_storage_image_extended_formats arg__shader_storage_image_extended_formats; | |
Ctypes.setf generated__x__ Fields.shader_storage_image_multisample arg__shader_storage_image_multisample; | |
Ctypes.setf generated__x__ Fields.shader_storage_image_read_without_format arg__shader_storage_image_read_without_format; | |
Ctypes.setf generated__x__ Fields.shader_storage_image_write_without_format arg__shader_storage_image_write_without_format; | |
Ctypes.setf generated__x__ Fields.shader_uniform_buffer_array_dynamic_indexing arg__shader_uniform_buffer_array_dynamic_indexing; | |
Ctypes.setf generated__x__ Fields.shader_sampled_image_array_dynamic_indexing arg__shader_sampled_image_array_dynamic_indexing; | |
Ctypes.setf generated__x__ Fields.shader_storage_buffer_array_dynamic_indexing arg__shader_storage_buffer_array_dynamic_indexing; | |
Ctypes.setf generated__x__ Fields.shader_storage_image_array_dynamic_indexing arg__shader_storage_image_array_dynamic_indexing; | |
Ctypes.setf generated__x__ Fields.shader_clip_distance arg__shader_clip_distance; | |
Ctypes.setf generated__x__ Fields.shader_cull_distance arg__shader_cull_distance; | |
Ctypes.setf generated__x__ Fields.shader_float_64 arg__shader_float_64; | |
Ctypes.setf generated__x__ Fields.shader_int_64 arg__shader_int_64; | |
Ctypes.setf generated__x__ Fields.shader_int_16 arg__shader_int_16; | |
Ctypes.setf generated__x__ Fields.shader_resource_residency arg__shader_resource_residency; | |
Ctypes.setf generated__x__ Fields.shader_resource_min_lod arg__shader_resource_min_lod; | |
Ctypes.setf generated__x__ Fields.sparse_binding arg__sparse_binding; | |
Ctypes.setf generated__x__ Fields.sparse_residency_buffer arg__sparse_residency_buffer; | |
Ctypes.setf generated__x__ Fields.sparse_residency_image_2d arg__sparse_residency_image_2d; | |
Ctypes.setf generated__x__ Fields.sparse_residency_image_3d arg__sparse_residency_image_3d; | |
Ctypes.setf generated__x__ Fields.sparse_residency_2_s_a_m_p_l_e_s arg__sparse_residency_2_s_a_m_p_l_e_s; | |
Ctypes.setf generated__x__ Fields.sparse_residency_4_s_a_m_p_l_e_s arg__sparse_residency_4_s_a_m_p_l_e_s; | |
Ctypes.setf generated__x__ Fields.sparse_residency_8_s_a_m_p_l_e_s arg__sparse_residency_8_s_a_m_p_l_e_s; | |
Ctypes.setf generated__x__ Fields.sparse_residency_16_s_a_m_p_l_e_s arg__sparse_residency_16_s_a_m_p_l_e_s; | |
Ctypes.setf generated__x__ Fields.sparse_residency_aliased arg__sparse_residency_aliased; | |
Ctypes.setf generated__x__ Fields.variable_multisample_rate arg__variable_multisample_rate; | |
Ctypes.setf generated__x__ Fields.inherited_queries arg__inherited_queries; | |
Ctypes.addr generated__x__ end | |
let physical_device_features = Physical_device_features.t | |
type physical_device_features = Physical_device_features.t | |
module Device_create_info = struct type t type device_create_info = t | |
let t: t structure typ = structure "device_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" device_create_flags_opt | |
let queue_create_info_count = field t "queue_create_info_count" uint_32_t | |
let queue_create_infos = field t "queue_create_infos" (ptr device_queue_create_info) | |
let enabled_layer_count = field t "enabled_layer_count" uint_32_t_opt | |
let enabled_layer_names = field t "enabled_layer_names" (ptr (string)) | |
let enabled_extension_count = field t "enabled_extension_count" uint_32_t_opt | |
let enabled_extension_names = field t "enabled_extension_names" (ptr (string)) | |
let enabled_features = field t "enabled_features" (ptr_opt (physical_device_features)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let queue_create_infos record = let queue_create_info_count = Ctypes.getf record Fields.queue_create_info_count and queue_create_infos = Ctypes.getf record Fields.queue_create_infos in | |
Ctypes.CArray.from_ptr (queue_create_infos) (Uint_32_t.to_int (queue_create_info_count)) | |
let enabled_layer_names record = match Ctypes.getf record Fields.enabled_layer_count, Ctypes.getf record Fields.enabled_layer_names with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let enabled_extension_names record = match Ctypes.getf record Fields.enabled_extension_count, Ctypes.getf record Fields.enabled_extension_names with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let enabled_features record = Ctypes.getf record Fields.enabled_features | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_create_info_extension = .. | |
type device_create_info_extension += | No_extension | |
| Physical_device_multiview_features_khx of physical_device_multiview_features_khx Ctypes.structure Ctypes.ptr | |
| Device_group_device_create_info_khx of device_group_device_create_info_khx Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~queue_create_infos:arg__queue_create_infos | |
?enabled_layer_names:arg__enabled_layer_names | |
?enabled_extension_names:arg__enabled_extension_names | |
?enabled_features:arg__enabled_features ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_create_info, Ctypes.null | |
| Physical_device_multiview_features_khx x -> | |
Structure_type.Physical_device_multiview_features_khx, | |
Ctypes.( coerce (ptr physical_device_multiview_features_khx) (ptr void) x ) | |
| Device_group_device_create_info_khx x -> | |
Structure_type.Device_group_device_create_info_khx, | |
Ctypes.( coerce (ptr device_group_device_create_info_khx) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.queue_create_info_count (Uint_32_t.of_int(Ctypes.CArray.length arg__queue_create_infos)); | |
Ctypes.setf generated__x__ Fields.queue_create_infos (Ctypes.CArray.start arg__queue_create_infos); | |
begin match arg__enabled_layer_names with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.enabled_layer_count None; | |
Ctypes.setf generated__x__ Fields.enabled_layer_names (Obj.magic @@ Ctypes.null)) | |
|Some arg__enabled_layer_names ->(Ctypes.setf generated__x__ Fields.enabled_layer_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__enabled_layer_names))); | |
Ctypes.setf generated__x__ Fields.enabled_layer_names (Ctypes.CArray.start arg__enabled_layer_names)) | |
end; | |
begin match arg__enabled_extension_names with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.enabled_extension_count None; | |
Ctypes.setf generated__x__ Fields.enabled_extension_names (Obj.magic @@ Ctypes.null)) | |
|Some arg__enabled_extension_names ->(Ctypes.setf generated__x__ Fields.enabled_extension_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__enabled_extension_names))); | |
Ctypes.setf generated__x__ Fields.enabled_extension_names (Ctypes.CArray.start arg__enabled_extension_names)) | |
end; | |
Ctypes.setf generated__x__ Fields.enabled_features arg__enabled_features; | |
Ctypes.addr generated__x__ | |
end | |
let device_create_info = Device_create_info.t | |
type device_create_info = Device_create_info.t | |
module Device_event_type_ext = struct | |
type t = | Display_hotplug | |
let to_int = function | |
| Display_hotplug -> 0 | |
let of_int = function | |
| 0 -> Display_hotplug | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Display_hotplug -> "Display_hotplug") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let device_event_type_ext, device_event_type_ext_opt = Device_event_type_ext.(view,view_opt) | |
type device_event_type_ext = Device_event_type_ext.t | |
module Device_event_info_ext = struct type t type device_event_info_ext = t | |
let t: t structure typ = structure "device_event_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let device_event = field t "device_event" device_event_type_ext | |
end | |
let device_event record = Ctypes.getf record Fields.device_event | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_event_info_ext_extension = .. | |
type device_event_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~device_event:arg__device_event | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_event_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.device_event arg__device_event; | |
Ctypes.addr generated__x__ | |
end | |
let device_event_info_ext = Device_event_info_ext.t | |
type device_event_info_ext = Device_event_info_ext.t | |
module Device_generated_commands_features_nvx = struct type t | |
type device_generated_commands_features_nvx = t | |
let t: t structure typ = structure "device_generated_commands_features_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let compute_binding_point_support = field t "compute_binding_point_support" bool_32 | |
end | |
let compute_binding_point_support record = Ctypes.getf record Fields.compute_binding_point_support | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_generated_commands_features_nvx_extension = .. | |
type device_generated_commands_features_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~compute_binding_point_support:arg__compute_binding_point_support ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_generated_commands_features_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.compute_binding_point_support arg__compute_binding_point_support; | |
Ctypes.addr generated__x__ | |
end | |
let device_generated_commands_features_nvx = Device_generated_commands_features_nvx.t | |
type device_generated_commands_features_nvx = Device_generated_commands_features_nvx.t | |
module Device_generated_commands_limits_nvx = struct type t | |
type device_generated_commands_limits_nvx = t | |
let t: t structure typ = structure "device_generated_commands_limits_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let max_indirect_commands_layout_token_count = field t "max_indirect_commands_layout_token_count" uint_32_t | |
let max_object_entry_counts = field t "max_object_entry_counts" uint_32_t | |
let min_sequence_count_buffer_offset_alignment = field t "min_sequence_count_buffer_offset_alignment" uint_32_t | |
let min_sequence_index_buffer_offset_alignment = field t "min_sequence_index_buffer_offset_alignment" uint_32_t | |
let min_commands_token_buffer_offset_alignment = field t "min_commands_token_buffer_offset_alignment" uint_32_t | |
end | |
let max_indirect_commands_layout_token_count record = Ctypes.getf record Fields.max_indirect_commands_layout_token_count | |
let max_object_entry_counts record = Ctypes.getf record Fields.max_object_entry_counts | |
let min_sequence_count_buffer_offset_alignment record = Ctypes.getf record Fields.min_sequence_count_buffer_offset_alignment | |
let min_sequence_index_buffer_offset_alignment record = Ctypes.getf record Fields.min_sequence_index_buffer_offset_alignment | |
let min_commands_token_buffer_offset_alignment record = Ctypes.getf record Fields.min_commands_token_buffer_offset_alignment | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_generated_commands_limits_nvx_extension = .. | |
type device_generated_commands_limits_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~max_indirect_commands_layout_token_count:arg__max_indirect_commands_layout_token_count | |
~max_object_entry_counts:arg__max_object_entry_counts | |
~min_sequence_count_buffer_offset_alignment:arg__min_sequence_count_buffer_offset_alignment | |
~min_sequence_index_buffer_offset_alignment:arg__min_sequence_index_buffer_offset_alignment | |
~min_commands_token_buffer_offset_alignment:arg__min_commands_token_buffer_offset_alignment | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_generated_commands_limits_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.max_indirect_commands_layout_token_count arg__max_indirect_commands_layout_token_count; | |
Ctypes.setf generated__x__ Fields.max_object_entry_counts arg__max_object_entry_counts; | |
Ctypes.setf generated__x__ Fields.min_sequence_count_buffer_offset_alignment arg__min_sequence_count_buffer_offset_alignment; | |
Ctypes.setf generated__x__ Fields.min_sequence_index_buffer_offset_alignment arg__min_sequence_index_buffer_offset_alignment; | |
Ctypes.setf generated__x__ Fields.min_commands_token_buffer_offset_alignment arg__min_commands_token_buffer_offset_alignment; | |
Ctypes.addr generated__x__ | |
end | |
let device_generated_commands_limits_nvx = Device_generated_commands_limits_nvx.t | |
type device_generated_commands_limits_nvx = Device_generated_commands_limits_nvx.t | |
module Device_group_bind_sparse_info_khx = struct type t | |
type device_group_bind_sparse_info_khx = t | |
let t: t structure typ = structure "device_group_bind_sparse_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let resource_device_index = field t "resource_device_index" uint_32_t | |
let memory_device_index = field t "memory_device_index" uint_32_t | |
end | |
let resource_device_index record = Ctypes.getf record Fields.resource_device_index | |
let memory_device_index record = Ctypes.getf record Fields.memory_device_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_bind_sparse_info_khx_extension = .. | |
type device_group_bind_sparse_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~resource_device_index:arg__resource_device_index | |
~memory_device_index:arg__memory_device_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_bind_sparse_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.resource_device_index arg__resource_device_index; | |
Ctypes.setf generated__x__ Fields.memory_device_index arg__memory_device_index; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_bind_sparse_info_khx = Device_group_bind_sparse_info_khx.t | |
type device_group_bind_sparse_info_khx = Device_group_bind_sparse_info_khx.t | |
module Device_group_command_buffer_begin_info_khx = struct type t | |
type device_group_command_buffer_begin_info_khx = t | |
let t: t structure typ = structure "device_group_command_buffer_begin_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let device_mask = field t "device_mask" uint_32_t | |
end | |
let device_mask record = Ctypes.getf record Fields.device_mask | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_command_buffer_begin_info_khx_extension = .. | |
type device_group_command_buffer_begin_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~device_mask:arg__device_mask ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_command_buffer_begin_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.device_mask arg__device_mask; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_command_buffer_begin_info_khx = Device_group_command_buffer_begin_info_khx.t | |
type device_group_command_buffer_begin_info_khx = Device_group_command_buffer_begin_info_khx.t | |
module Device_group_present_mode_flags_khx = struct | |
include Bitset.Make() | |
let local_multi_device = make_index 3 | |
let sum = make_index 2 | |
let remote = make_index 1 | |
let local = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem local_multi_device set then | |
Printer.fprintf ppf "local_multi_device;@ " | |
else (); | |
if mem sum set then | |
Printer.fprintf ppf "sum;@ " | |
else (); | |
if mem remote set then | |
Printer.fprintf ppf "remote;@ " | |
else (); | |
if mem local set then | |
Printer.fprintf ppf "local;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type device_group_present_mode_flags_khx = Device_group_present_mode_flags_khx.t | |
let device_group_present_mode_flags_khx, device_group_present_mode_flags_khx_opt = Device_group_present_mode_flags_khx.(view, view_opt) | |
let device_group_present_mode_flag_bits_khx = Device_group_present_mode_flags_khx.index_view | |
let device_group_present_mode_flag_bits_khx_opt = Device_group_present_mode_flags_khx.index_view_opt | |
module Device_group_present_capabilities_khx = struct type t | |
type device_group_present_capabilities_khx = t | |
let t: t structure typ = structure "device_group_present_capabilities_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let present_mask = field t "present_mask" (array max_device_group_size_khx @@ uint_32_t) | |
let modes = field t "modes" device_group_present_mode_flags_khx | |
end | |
let present_mask record = Ctypes.getf record Fields.present_mask | |
let modes record = Ctypes.getf record Fields.modes | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_present_capabilities_khx_extension = .. | |
type device_group_present_capabilities_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~present_mask:arg__present_mask | |
~modes:arg__modes ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_present_capabilities_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.present_mask arg__present_mask; | |
Ctypes.setf generated__x__ Fields.modes arg__modes; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_present_capabilities_khx = Device_group_present_capabilities_khx.t | |
type device_group_present_capabilities_khx = Device_group_present_capabilities_khx.t | |
module Device_group_present_info_khx = struct type t | |
type device_group_present_info_khx = t | |
let t: t structure typ = structure "device_group_present_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain_count = field t "swapchain_count" uint_32_t_opt | |
let device_masks = field t "device_masks" (ptr uint_32_t) | |
let mode = field t "mode" device_group_present_mode_flag_bits_khx | |
end | |
let device_masks record = match Ctypes.getf record Fields.swapchain_count, Ctypes.getf record Fields.device_masks with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let mode record = Ctypes.getf record Fields.mode | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_present_info_khx_extension = .. | |
type device_group_present_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?device_masks:arg__device_masks | |
~mode:arg__mode ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_present_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__device_masks with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.swapchain_count None; | |
Ctypes.setf generated__x__ Fields.device_masks (Obj.magic @@ Ctypes.null)) | |
|Some arg__device_masks ->(Ctypes.setf generated__x__ Fields.swapchain_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__device_masks))); | |
Ctypes.setf generated__x__ Fields.device_masks (Ctypes.CArray.start arg__device_masks)) | |
end; | |
Ctypes.setf generated__x__ Fields.mode arg__mode; Ctypes.addr generated__x__ | |
end | |
let device_group_present_info_khx = Device_group_present_info_khx.t | |
type device_group_present_info_khx = Device_group_present_info_khx.t | |
module Device_group_render_pass_begin_info_khx = struct type t | |
type device_group_render_pass_begin_info_khx = t | |
let t: t structure typ = structure "device_group_render_pass_begin_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let device_mask = field t "device_mask" uint_32_t | |
let device_render_area_count = field t "device_render_area_count" uint_32_t_opt | |
let device_render_areas = field t "device_render_areas" (ptr rect_2d) | |
end | |
let device_mask record = Ctypes.getf record Fields.device_mask | |
let device_render_areas record = match Ctypes.getf record Fields.device_render_area_count, Ctypes.getf record Fields.device_render_areas with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_render_pass_begin_info_khx_extension = .. | |
type device_group_render_pass_begin_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~device_mask:arg__device_mask | |
?device_render_areas:arg__device_render_areas ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_render_pass_begin_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.device_mask arg__device_mask; | |
begin match arg__device_render_areas with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.device_render_area_count None; | |
Ctypes.setf generated__x__ Fields.device_render_areas (Obj.magic @@ Ctypes.null)) | |
|Some arg__device_render_areas ->(Ctypes.setf generated__x__ Fields.device_render_area_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__device_render_areas))); | |
Ctypes.setf generated__x__ Fields.device_render_areas (Ctypes.CArray.start arg__device_render_areas)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_render_pass_begin_info_khx = Device_group_render_pass_begin_info_khx.t | |
type device_group_render_pass_begin_info_khx = Device_group_render_pass_begin_info_khx.t | |
module Device_group_submit_info_khx = struct type t | |
type device_group_submit_info_khx = t | |
let t: t structure typ = structure "device_group_submit_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let wait_semaphore_count = field t "wait_semaphore_count" uint_32_t_opt | |
let wait_semaphore_device_indices = field t "wait_semaphore_device_indices" (ptr uint_32_t) | |
let command_buffer_count = field t "command_buffer_count" uint_32_t_opt | |
let command_buffer_device_masks = field t "command_buffer_device_masks" (ptr uint_32_t) | |
let signal_semaphore_count = field t "signal_semaphore_count" uint_32_t_opt | |
let signal_semaphore_device_indices = field t "signal_semaphore_device_indices" (ptr uint_32_t) | |
end | |
let wait_semaphore_device_indices record = match Ctypes.getf record Fields.wait_semaphore_count, Ctypes.getf record Fields.wait_semaphore_device_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let command_buffer_device_masks record = match Ctypes.getf record Fields.command_buffer_count, Ctypes.getf record Fields.command_buffer_device_masks with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let signal_semaphore_device_indices record = match Ctypes.getf record Fields.signal_semaphore_count, Ctypes.getf record Fields.signal_semaphore_device_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_submit_info_khx_extension = .. | |
type device_group_submit_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?wait_semaphore_device_indices:arg__wait_semaphore_device_indices | |
?command_buffer_device_masks:arg__command_buffer_device_masks | |
?signal_semaphore_device_indices:arg__signal_semaphore_device_indices ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_submit_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__wait_semaphore_device_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.wait_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.wait_semaphore_device_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__wait_semaphore_device_indices ->(Ctypes.setf generated__x__ Fields.wait_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__wait_semaphore_device_indices))); | |
Ctypes.setf generated__x__ Fields.wait_semaphore_device_indices (Ctypes.CArray.start arg__wait_semaphore_device_indices)) | |
end; | |
begin match arg__command_buffer_device_masks with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.command_buffer_count None; | |
Ctypes.setf generated__x__ Fields.command_buffer_device_masks (Obj.magic @@ Ctypes.null)) | |
|Some arg__command_buffer_device_masks ->(Ctypes.setf generated__x__ Fields.command_buffer_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__command_buffer_device_masks))); | |
Ctypes.setf generated__x__ Fields.command_buffer_device_masks (Ctypes.CArray.start arg__command_buffer_device_masks)) | |
end; | |
begin match arg__signal_semaphore_device_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.signal_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.signal_semaphore_device_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__signal_semaphore_device_indices ->(Ctypes.setf generated__x__ Fields.signal_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__signal_semaphore_device_indices))); | |
Ctypes.setf generated__x__ Fields.signal_semaphore_device_indices (Ctypes.CArray.start arg__signal_semaphore_device_indices)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_submit_info_khx = Device_group_submit_info_khx.t | |
type device_group_submit_info_khx = Device_group_submit_info_khx.t | |
module Device_group_swapchain_create_info_khx = struct type t | |
type device_group_swapchain_create_info_khx = t | |
let t: t structure typ = structure "device_group_swapchain_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let modes = field t "modes" device_group_present_mode_flags_khx | |
end | |
let modes record = Ctypes.getf record Fields.modes | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type device_group_swapchain_create_info_khx_extension = .. | |
type device_group_swapchain_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~modes:arg__modes ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Device_group_swapchain_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.modes arg__modes; | |
Ctypes.addr generated__x__ | |
end | |
let device_group_swapchain_create_info_khx = Device_group_swapchain_create_info_khx.t | |
type device_group_swapchain_create_info_khx = Device_group_swapchain_create_info_khx.t | |
module Discard_rectangle_mode_ext = struct | |
type t = | Inclusive | |
| Exclusive | |
let to_int = function | |
| Inclusive -> 0 | |
| Exclusive -> 1 | |
let of_int = function | |
| 0 -> Inclusive | |
| 1 -> Exclusive | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Inclusive -> "Inclusive" | |
| Exclusive -> "Exclusive") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let discard_rectangle_mode_ext, discard_rectangle_mode_ext_opt = Discard_rectangle_mode_ext.(view,view_opt) | |
type discard_rectangle_mode_ext = Discard_rectangle_mode_ext.t | |
module Dispatch_indirect_command = struct type t | |
type dispatch_indirect_command = t | |
let t: t structure typ = structure "dispatch_indirect_command" | |
module Fields=struct | |
let x = field t "x" uint_32_t | |
let y = field t "y" uint_32_t | |
let z = field t "z" uint_32_t | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y | |
let z record = Ctypes.getf record Fields.z let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y~z:arg__z = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; | |
Ctypes.setf generated__x__ Fields.z arg__z; Ctypes.addr generated__x__ end | |
let dispatch_indirect_command = Dispatch_indirect_command.t | |
type dispatch_indirect_command = Dispatch_indirect_command.t | |
module Display_event_type_ext = struct | |
type t = | First_pixel_out | |
let to_int = function | |
| First_pixel_out -> 0 | |
let of_int = function | |
| 0 -> First_pixel_out | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| First_pixel_out -> "First_pixel_out") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let display_event_type_ext, display_event_type_ext_opt = Display_event_type_ext.(view,view_opt) | |
type display_event_type_ext = Display_event_type_ext.t | |
module Display_event_info_ext = struct type t | |
type display_event_info_ext = t | |
let t: t structure typ = structure "display_event_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let display_event = field t "display_event" display_event_type_ext | |
end | |
let display_event record = Ctypes.getf record Fields.display_event | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type display_event_info_ext_extension = .. | |
type display_event_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~display_event:arg__display_event | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Display_event_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.display_event arg__display_event; | |
Ctypes.addr generated__x__ | |
end | |
let display_event_info_ext = Display_event_info_ext.t | |
type display_event_info_ext = Display_event_info_ext.t | |
module Display_khr = Handle.Make() | |
type display_khr = Display_khr.t | |
let display_khr, display_khr_opt = Display_khr.(view,view_opt) | |
module Display_mode_create_flags_khr = Bitset.Make() | |
type display_mode_create_flags_khr = Display_mode_create_flags_khr.t | |
let display_mode_create_flags_khr, display_mode_create_flags_khr_opt = Display_mode_create_flags_khr.(view, view_opt) | |
let display_mode_create_flag_bits_khr = Display_mode_create_flags_khr.index_view | |
let display_mode_create_flag_bits_khr_opt = Display_mode_create_flags_khr.index_view_opt | |
module Display_mode_parameters_khr = struct type t | |
type display_mode_parameters_khr = t | |
let t: t structure typ = structure "display_mode_parameters_khr" | |
module Fields=struct | |
let visible_region = field t "visible_region" extent_2d | |
let refresh_rate = field t "refresh_rate" uint_32_t | |
end | |
let visible_region record = Ctypes.getf record Fields.visible_region | |
let refresh_rate record = Ctypes.getf record Fields.refresh_rate | |
let () = Ctypes.seal t | |
let make ~visible_region:arg__visible_region~refresh_rate:arg__refresh_rate | |
= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.visible_region arg__visible_region; | |
Ctypes.setf generated__x__ Fields.refresh_rate arg__refresh_rate; | |
Ctypes.addr generated__x__ end | |
let display_mode_parameters_khr = Display_mode_parameters_khr.t | |
type display_mode_parameters_khr = Display_mode_parameters_khr.t | |
module Display_mode_create_info_khr = struct type t | |
type display_mode_create_info_khr = t | |
let t: t structure typ = structure "display_mode_create_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" display_mode_create_flags_khr_opt | |
let parameters = field t "parameters" display_mode_parameters_khr | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let parameters record = Ctypes.getf record Fields.parameters | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type display_mode_create_info_khr_extension = .. | |
type display_mode_create_info_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~parameters:arg__parameters ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Display_mode_create_info_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.parameters arg__parameters; | |
Ctypes.addr generated__x__ | |
end | |
let display_mode_create_info_khr = Display_mode_create_info_khr.t | |
type display_mode_create_info_khr = Display_mode_create_info_khr.t | |
module Display_mode_khr = Handle.Make() | |
type display_mode_khr = Display_mode_khr.t | |
let display_mode_khr, display_mode_khr_opt = Display_mode_khr.(view,view_opt) | |
module Display_mode_properties_khr = struct type t | |
type display_mode_properties_khr = t | |
let t: t structure typ = structure "display_mode_properties_khr" | |
module Fields=struct | |
let display_mode = field t "display_mode" display_mode_khr | |
let parameters = field t "parameters" display_mode_parameters_khr | |
end | |
let display_mode record = Ctypes.getf record Fields.display_mode | |
let parameters record = Ctypes.getf record Fields.parameters | |
let () = Ctypes.seal t | |
let make ~display_mode:arg__display_mode~parameters:arg__parameters = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.display_mode arg__display_mode; | |
Ctypes.setf generated__x__ Fields.parameters arg__parameters; | |
Ctypes.addr generated__x__ end | |
let display_mode_properties_khr = Display_mode_properties_khr.t | |
type display_mode_properties_khr = Display_mode_properties_khr.t | |
module Display_plane_alpha_flags_khr = struct | |
include Bitset.Make() | |
let per_pixel_premultiplied = make_index 3 | |
let per_pixel = make_index 2 | |
let global = make_index 1 | |
let opaque = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem per_pixel_premultiplied set then | |
Printer.fprintf ppf "per_pixel_premultiplied;@ " | |
else (); | |
if mem per_pixel set then | |
Printer.fprintf ppf "per_pixel;@ " | |
else (); | |
if mem global set then | |
Printer.fprintf ppf "global;@ " | |
else (); | |
if mem opaque set then | |
Printer.fprintf ppf "opaque;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type display_plane_alpha_flags_khr = Display_plane_alpha_flags_khr.t | |
let display_plane_alpha_flags_khr, display_plane_alpha_flags_khr_opt = Display_plane_alpha_flags_khr.(view, view_opt) | |
let display_plane_alpha_flag_bits_khr = Display_plane_alpha_flags_khr.index_view | |
let display_plane_alpha_flag_bits_khr_opt = Display_plane_alpha_flags_khr.index_view_opt | |
module Display_plane_capabilities_khr = struct type t | |
type display_plane_capabilities_khr = t | |
let t: t structure typ = structure "display_plane_capabilities_khr" | |
module Fields=struct | |
let supported_alpha = field t "supported_alpha" display_plane_alpha_flags_khr_opt | |
let min_src_position = field t "min_src_position" offset_2d | |
let max_src_position = field t "max_src_position" offset_2d | |
let min_src_extent = field t "min_src_extent" extent_2d | |
let max_src_extent = field t "max_src_extent" extent_2d | |
let min_dst_position = field t "min_dst_position" offset_2d | |
let max_dst_position = field t "max_dst_position" offset_2d | |
let min_dst_extent = field t "min_dst_extent" extent_2d | |
let max_dst_extent = field t "max_dst_extent" extent_2d | |
end | |
let supported_alpha record = Ctypes.getf record Fields.supported_alpha | |
let min_src_position record = Ctypes.getf record Fields.min_src_position | |
let max_src_position record = Ctypes.getf record Fields.max_src_position | |
let min_src_extent record = Ctypes.getf record Fields.min_src_extent | |
let max_src_extent record = Ctypes.getf record Fields.max_src_extent | |
let min_dst_position record = Ctypes.getf record Fields.min_dst_position | |
let max_dst_position record = Ctypes.getf record Fields.max_dst_position | |
let min_dst_extent record = Ctypes.getf record Fields.min_dst_extent | |
let max_dst_extent record = Ctypes.getf record Fields.max_dst_extent | |
let () = Ctypes.seal t | |
let make ?supported_alpha:arg__supported_alpha | |
~min_src_position:arg__min_src_position | |
~max_src_position:arg__max_src_position | |
~min_src_extent:arg__min_src_extent~max_src_extent:arg__max_src_extent | |
~min_dst_position:arg__min_dst_position | |
~max_dst_position:arg__max_dst_position | |
~min_dst_extent:arg__min_dst_extent~max_dst_extent:arg__max_dst_extent | |
()= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.supported_alpha arg__supported_alpha; | |
Ctypes.setf generated__x__ Fields.min_src_position arg__min_src_position; | |
Ctypes.setf generated__x__ Fields.max_src_position arg__max_src_position; | |
Ctypes.setf generated__x__ Fields.min_src_extent arg__min_src_extent; | |
Ctypes.setf generated__x__ Fields.max_src_extent arg__max_src_extent; | |
Ctypes.setf generated__x__ Fields.min_dst_position arg__min_dst_position; | |
Ctypes.setf generated__x__ Fields.max_dst_position arg__max_dst_position; | |
Ctypes.setf generated__x__ Fields.min_dst_extent arg__min_dst_extent; | |
Ctypes.setf generated__x__ Fields.max_dst_extent arg__max_dst_extent; | |
Ctypes.addr generated__x__ end | |
let display_plane_capabilities_khr = Display_plane_capabilities_khr.t | |
type display_plane_capabilities_khr = Display_plane_capabilities_khr.t | |
module Display_plane_properties_khr = struct type t | |
type display_plane_properties_khr = t | |
let t: t structure typ = structure "display_plane_properties_khr" | |
module Fields=struct | |
let current_display = field t "current_display" display_khr | |
let current_stack_index = field t "current_stack_index" uint_32_t | |
end | |
let current_display record = Ctypes.getf record Fields.current_display | |
let current_stack_index record = Ctypes.getf record Fields.current_stack_index | |
let () = Ctypes.seal t | |
let make ~current_display:arg__current_display | |
~current_stack_index:arg__current_stack_index = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.current_display arg__current_display; | |
Ctypes.setf generated__x__ Fields.current_stack_index arg__current_stack_index; | |
Ctypes.addr generated__x__ end | |
let display_plane_properties_khr = Display_plane_properties_khr.t | |
type display_plane_properties_khr = Display_plane_properties_khr.t | |
module Display_power_state_ext = struct | |
type t = | Off | |
| Suspend | |
| On | |
let to_int = function | |
| Off -> 0 | |
| Suspend -> 1 | |
| On -> 2 | |
let of_int = function | |
| 0 -> Off | |
| 1 -> Suspend | |
| 2 -> On | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Off -> "Off" | |
| Suspend -> "Suspend" | |
| On -> "On") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let display_power_state_ext, display_power_state_ext_opt = Display_power_state_ext.(view,view_opt) | |
type display_power_state_ext = Display_power_state_ext.t | |
module Display_power_info_ext = struct type t | |
type display_power_info_ext = t | |
let t: t structure typ = structure "display_power_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let power_state = field t "power_state" display_power_state_ext | |
end | |
let power_state record = Ctypes.getf record Fields.power_state | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type display_power_info_ext_extension = .. | |
type display_power_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~power_state:arg__power_state ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Display_power_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.power_state arg__power_state; | |
Ctypes.addr generated__x__ | |
end | |
let display_power_info_ext = Display_power_info_ext.t | |
type display_power_info_ext = Display_power_info_ext.t | |
module Display_present_info_khr = struct type t | |
type display_present_info_khr = t | |
let t: t structure typ = structure "display_present_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let src_rect = field t "src_rect" rect_2d | |
let dst_rect = field t "dst_rect" rect_2d | |
let persistent = field t "persistent" bool_32 | |
end | |
let src_rect record = Ctypes.getf record Fields.src_rect | |
let dst_rect record = Ctypes.getf record Fields.dst_rect | |
let persistent record = Ctypes.getf record Fields.persistent | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type display_present_info_khr_extension = .. | |
type display_present_info_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~src_rect:arg__src_rect | |
~dst_rect:arg__dst_rect~persistent:arg__persistent ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Display_present_info_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.src_rect arg__src_rect; | |
Ctypes.setf generated__x__ Fields.dst_rect arg__dst_rect; | |
Ctypes.setf generated__x__ Fields.persistent arg__persistent; | |
Ctypes.addr generated__x__ | |
end | |
let display_present_info_khr = Display_present_info_khr.t | |
type display_present_info_khr = Display_present_info_khr.t | |
module Surface_transform_flags_khr = struct | |
include Bitset.Make() | |
let inherit' = make_index 8 | |
let horizontal_mirror_rotate_270 = make_index 7 | |
let horizontal_mirror_rotate_180 = make_index 6 | |
let horizontal_mirror_rotate_90 = make_index 5 | |
let horizontal_mirror = make_index 4 | |
let rotate_270 = make_index 3 | |
let rotate_180 = make_index 2 | |
let rotate_90 = make_index 1 | |
let identity = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem inherit' set then | |
Printer.fprintf ppf "inherit';@ " | |
else (); | |
if mem horizontal_mirror_rotate_270 set then | |
Printer.fprintf ppf "horizontal_mirror_rotate_270;@ " | |
else (); | |
if mem horizontal_mirror_rotate_180 set then | |
Printer.fprintf ppf "horizontal_mirror_rotate_180;@ " | |
else (); | |
if mem horizontal_mirror_rotate_90 set then | |
Printer.fprintf ppf "horizontal_mirror_rotate_90;@ " | |
else (); | |
if mem horizontal_mirror set then | |
Printer.fprintf ppf "horizontal_mirror;@ " | |
else (); | |
if mem rotate_270 set then | |
Printer.fprintf ppf "rotate_270;@ " | |
else (); | |
if mem rotate_180 set then | |
Printer.fprintf ppf "rotate_180;@ " | |
else (); | |
if mem rotate_90 set then | |
Printer.fprintf ppf "rotate_90;@ " | |
else (); | |
if mem identity set then | |
Printer.fprintf ppf "identity;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type surface_transform_flags_khr = Surface_transform_flags_khr.t | |
let surface_transform_flags_khr, surface_transform_flags_khr_opt = Surface_transform_flags_khr.(view, view_opt) | |
let surface_transform_flag_bits_khr = Surface_transform_flags_khr.index_view | |
let surface_transform_flag_bits_khr_opt = Surface_transform_flags_khr.index_view_opt | |
module Display_properties_khr = struct type t | |
type display_properties_khr = t | |
let t: t structure typ = structure "display_properties_khr" | |
module Fields=struct | |
let display = field t "display" display_khr | |
let display_name = field t "display_name" string | |
let physical_dimensions = field t "physical_dimensions" extent_2d | |
let physical_resolution = field t "physical_resolution" extent_2d | |
let supported_transforms = field t "supported_transforms" surface_transform_flags_khr_opt | |
let plane_reorder_possible = field t "plane_reorder_possible" bool_32 | |
let persistent_content = field t "persistent_content" bool_32 | |
end | |
let display record = Ctypes.getf record Fields.display | |
let display_name record = Ctypes.getf record Fields.display_name | |
let physical_dimensions record = Ctypes.getf record Fields.physical_dimensions | |
let physical_resolution record = Ctypes.getf record Fields.physical_resolution | |
let supported_transforms record = Ctypes.getf record Fields.supported_transforms | |
let plane_reorder_possible record = Ctypes.getf record Fields.plane_reorder_possible | |
let persistent_content record = Ctypes.getf record Fields.persistent_content | |
let () = Ctypes.seal t | |
let make ~display:arg__display~display_name:arg__display_name | |
~physical_dimensions:arg__physical_dimensions | |
~physical_resolution:arg__physical_resolution | |
?supported_transforms:arg__supported_transforms | |
~plane_reorder_possible:arg__plane_reorder_possible | |
~persistent_content:arg__persistent_content ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.display arg__display; | |
Ctypes.setf generated__x__ Fields.display_name arg__display_name; | |
Ctypes.setf generated__x__ Fields.physical_dimensions arg__physical_dimensions; | |
Ctypes.setf generated__x__ Fields.physical_resolution arg__physical_resolution; | |
Ctypes.setf generated__x__ Fields.supported_transforms arg__supported_transforms; | |
Ctypes.setf generated__x__ Fields.plane_reorder_possible arg__plane_reorder_possible; | |
Ctypes.setf generated__x__ Fields.persistent_content arg__persistent_content; | |
Ctypes.addr generated__x__ end | |
let display_properties_khr = Display_properties_khr.t | |
type display_properties_khr = Display_properties_khr.t | |
module Display_surface_create_flags_khr = Bitset.Make() | |
type display_surface_create_flags_khr = Display_surface_create_flags_khr.t | |
let display_surface_create_flags_khr, display_surface_create_flags_khr_opt = Display_surface_create_flags_khr.(view, view_opt) | |
let display_surface_create_flag_bits_khr = Display_surface_create_flags_khr.index_view | |
let display_surface_create_flag_bits_khr_opt = Display_surface_create_flags_khr.index_view_opt | |
module Display_surface_create_info_khr = struct type t | |
type display_surface_create_info_khr = t | |
let t: t structure typ = structure "display_surface_create_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" display_surface_create_flags_khr_opt | |
let display_mode = field t "display_mode" display_mode_khr | |
let plane_index = field t "plane_index" uint_32_t | |
let plane_stack_index = field t "plane_stack_index" uint_32_t | |
let transform = field t "transform" surface_transform_flag_bits_khr | |
let global_alpha = field t "global_alpha" float | |
let alpha_mode = field t "alpha_mode" display_plane_alpha_flag_bits_khr | |
let image_extent = field t "image_extent" extent_2d | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let display_mode record = Ctypes.getf record Fields.display_mode | |
let plane_index record = Ctypes.getf record Fields.plane_index | |
let plane_stack_index record = Ctypes.getf record Fields.plane_stack_index | |
let transform record = Ctypes.getf record Fields.transform | |
let global_alpha record = Ctypes.getf record Fields.global_alpha | |
let alpha_mode record = Ctypes.getf record Fields.alpha_mode | |
let image_extent record = Ctypes.getf record Fields.image_extent | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type display_surface_create_info_khr_extension = .. | |
type display_surface_create_info_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~display_mode:arg__display_mode~plane_index:arg__plane_index | |
~plane_stack_index:arg__plane_stack_index~transform:arg__transform | |
~global_alpha:arg__global_alpha~alpha_mode:arg__alpha_mode | |
~image_extent:arg__image_extent ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Display_surface_create_info_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.display_mode arg__display_mode; | |
Ctypes.setf generated__x__ Fields.plane_index arg__plane_index; | |
Ctypes.setf generated__x__ Fields.plane_stack_index arg__plane_stack_index; | |
Ctypes.setf generated__x__ Fields.transform arg__transform; | |
Ctypes.setf generated__x__ Fields.global_alpha arg__global_alpha; | |
Ctypes.setf generated__x__ Fields.alpha_mode arg__alpha_mode; | |
Ctypes.setf generated__x__ Fields.image_extent arg__image_extent; | |
Ctypes.addr generated__x__ | |
end | |
let display_surface_create_info_khr = Display_surface_create_info_khr.t | |
type display_surface_create_info_khr = Display_surface_create_info_khr.t | |
module Draw_indexed_indirect_command = struct type t | |
type draw_indexed_indirect_command = t | |
let t: t structure typ = structure "draw_indexed_indirect_command" | |
module Fields=struct | |
let index_count = field t "index_count" uint_32_t | |
let instance_count = field t "instance_count" uint_32_t | |
let first_index = field t "first_index" uint_32_t | |
let vertex_offset = field t "vertex_offset" int_32_t | |
let first_instance = field t "first_instance" uint_32_t | |
end | |
let index_count record = Ctypes.getf record Fields.index_count | |
let instance_count record = Ctypes.getf record Fields.instance_count | |
let first_index record = Ctypes.getf record Fields.first_index | |
let vertex_offset record = Ctypes.getf record Fields.vertex_offset | |
let first_instance record = Ctypes.getf record Fields.first_instance | |
let () = Ctypes.seal t | |
let make ~index_count:arg__index_count~instance_count:arg__instance_count | |
~first_index:arg__first_index~vertex_offset:arg__vertex_offset | |
~first_instance:arg__first_instance = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.index_count arg__index_count; | |
Ctypes.setf generated__x__ Fields.instance_count arg__instance_count; | |
Ctypes.setf generated__x__ Fields.first_index arg__first_index; | |
Ctypes.setf generated__x__ Fields.vertex_offset arg__vertex_offset; | |
Ctypes.setf generated__x__ Fields.first_instance arg__first_instance; | |
Ctypes.addr generated__x__ end | |
let draw_indexed_indirect_command = Draw_indexed_indirect_command.t | |
type draw_indexed_indirect_command = Draw_indexed_indirect_command.t | |
module Draw_indirect_command = struct type t type draw_indirect_command = t | |
let t: t structure typ = structure "draw_indirect_command" | |
module Fields=struct | |
let vertex_count = field t "vertex_count" uint_32_t | |
let instance_count = field t "instance_count" uint_32_t | |
let first_vertex = field t "first_vertex" uint_32_t | |
let first_instance = field t "first_instance" uint_32_t | |
end | |
let vertex_count record = Ctypes.getf record Fields.vertex_count | |
let instance_count record = Ctypes.getf record Fields.instance_count | |
let first_vertex record = Ctypes.getf record Fields.first_vertex | |
let first_instance record = Ctypes.getf record Fields.first_instance | |
let () = Ctypes.seal t | |
let make ~vertex_count:arg__vertex_count~instance_count:arg__instance_count | |
~first_vertex:arg__first_vertex~first_instance:arg__first_instance = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.vertex_count arg__vertex_count; | |
Ctypes.setf generated__x__ Fields.instance_count arg__instance_count; | |
Ctypes.setf generated__x__ Fields.first_vertex arg__first_vertex; | |
Ctypes.setf generated__x__ Fields.first_instance arg__first_instance; | |
Ctypes.addr generated__x__ end | |
let draw_indirect_command = Draw_indirect_command.t | |
type draw_indirect_command = Draw_indirect_command.t | |
module Dynamic_state = struct | |
type t = | Viewport | |
| Scissor | |
| Line_width | |
| Depth_bias | |
| Blend_constants | |
| Depth_bounds | |
| Stencil_compare_mask | |
| Stencil_write_mask | |
| Stencil_reference | |
| Viewport_w_scaling_nv | |
| Discard_rectangle_ext | |
let to_int = function | |
| Viewport -> 0 | |
| Scissor -> 1 | |
| Line_width -> 2 | |
| Depth_bias -> 3 | |
| Blend_constants -> 4 | |
| Depth_bounds -> 5 | |
| Stencil_compare_mask -> 6 | |
| Stencil_write_mask -> 7 | |
| Stencil_reference -> 8 | |
| Viewport_w_scaling_nv -> 1000087000 | |
| Discard_rectangle_ext -> 1000099000 | |
let of_int = function | |
| 0 -> Viewport | |
| 1 -> Scissor | |
| 2 -> Line_width | |
| 3 -> Depth_bias | |
| 4 -> Blend_constants | |
| 5 -> Depth_bounds | |
| 6 -> Stencil_compare_mask | |
| 7 -> Stencil_write_mask | |
| 8 -> Stencil_reference | |
| 1000087000 -> Viewport_w_scaling_nv | |
| 1000099000 -> Discard_rectangle_ext | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Viewport -> "Viewport" | |
| Scissor -> "Scissor" | |
| Line_width -> "Line_width" | |
| Depth_bias -> "Depth_bias" | |
| Blend_constants -> "Blend_constants" | |
| Depth_bounds -> "Depth_bounds" | |
| Stencil_compare_mask -> "Stencil_compare_mask" | |
| Stencil_write_mask -> "Stencil_write_mask" | |
| Stencil_reference -> "Stencil_reference" | |
| Viewport_w_scaling_nv -> "Viewport_w_scaling_nv" | |
| Discard_rectangle_ext -> "Discard_rectangle_ext") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let dynamic_state, dynamic_state_opt = Dynamic_state.(view,view_opt) | |
type dynamic_state = Dynamic_state.t | |
module Event = Handle.Make() | |
type event = Event.t | |
let event, event_opt = Event.(view,view_opt) | |
module Event_create_flags = Bitset.Make() | |
type event_create_flags = Event_create_flags.t | |
let event_create_flags, event_create_flags_opt = Event_create_flags.(view, view_opt) | |
let event_create_flag_bits = Event_create_flags.index_view | |
let event_create_flag_bits_opt = Event_create_flags.index_view_opt | |
module Event_create_info = struct type t type event_create_info = t | |
let t: t structure typ = structure "event_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" event_create_flags_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type event_create_info_extension = .. | |
type event_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Event_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ | |
end | |
let event_create_info = Event_create_info.t | |
type event_create_info = Event_create_info.t | |
module External_memory_handle_type_flags_khx = struct | |
include Bitset.Make() | |
let d3d_12_resource = make_index 6 | |
let d3d_12_heap = make_index 5 | |
let d3d_11_texture_kmt = make_index 4 | |
let d3d_11_texture = make_index 3 | |
let opaque_win_32_kmt = make_index 2 | |
let opaque_win_32 = make_index 1 | |
let opaque_fd = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem d3d_12_resource set then | |
Printer.fprintf ppf "d3d_12_resource;@ " | |
else (); | |
if mem d3d_12_heap set then | |
Printer.fprintf ppf "d3d_12_heap;@ " | |
else (); | |
if mem d3d_11_texture_kmt set then | |
Printer.fprintf ppf "d3d_11_texture_kmt;@ " | |
else (); | |
if mem d3d_11_texture set then | |
Printer.fprintf ppf "d3d_11_texture;@ " | |
else (); | |
if mem opaque_win_32_kmt set then | |
Printer.fprintf ppf "opaque_win_32_kmt;@ " | |
else (); | |
if mem opaque_win_32 set then | |
Printer.fprintf ppf "opaque_win_32;@ " | |
else (); | |
if mem opaque_fd set then | |
Printer.fprintf ppf "opaque_fd;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_memory_handle_type_flags_khx = External_memory_handle_type_flags_khx.t | |
let external_memory_handle_type_flags_khx, external_memory_handle_type_flags_khx_opt = External_memory_handle_type_flags_khx.(view, view_opt) | |
let external_memory_handle_type_flag_bits_khx = External_memory_handle_type_flags_khx.index_view | |
let external_memory_handle_type_flag_bits_khx_opt = External_memory_handle_type_flags_khx.index_view_opt | |
module Export_memory_allocate_info_khx = struct type t | |
type export_memory_allocate_info_khx = t | |
let t: t structure typ = structure "export_memory_allocate_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_memory_handle_type_flags_khx_opt | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type export_memory_allocate_info_khx_extension = .. | |
type export_memory_allocate_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Export_memory_allocate_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let export_memory_allocate_info_khx = Export_memory_allocate_info_khx.t | |
type export_memory_allocate_info_khx = Export_memory_allocate_info_khx.t | |
module External_memory_handle_type_flags_nv = struct | |
include Bitset.Make() | |
let d3d_11_image_kmt = make_index 3 | |
let d3d_11_image = make_index 2 | |
let opaque_win_32_kmt = make_index 1 | |
let opaque_win_32 = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem d3d_11_image_kmt set then | |
Printer.fprintf ppf "d3d_11_image_kmt;@ " | |
else (); | |
if mem d3d_11_image set then | |
Printer.fprintf ppf "d3d_11_image;@ " | |
else (); | |
if mem opaque_win_32_kmt set then | |
Printer.fprintf ppf "opaque_win_32_kmt;@ " | |
else (); | |
if mem opaque_win_32 set then | |
Printer.fprintf ppf "opaque_win_32;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_memory_handle_type_flags_nv = External_memory_handle_type_flags_nv.t | |
let external_memory_handle_type_flags_nv, external_memory_handle_type_flags_nv_opt = External_memory_handle_type_flags_nv.(view, view_opt) | |
let external_memory_handle_type_flag_bits_nv = External_memory_handle_type_flags_nv.index_view | |
let external_memory_handle_type_flag_bits_nv_opt = External_memory_handle_type_flags_nv.index_view_opt | |
module Export_memory_allocate_info_nv = struct type t | |
type export_memory_allocate_info_nv = t | |
let t: t structure typ = structure "export_memory_allocate_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_memory_handle_type_flags_nv_opt | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type export_memory_allocate_info_nv_extension = .. | |
type export_memory_allocate_info_nv_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Export_memory_allocate_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let export_memory_allocate_info_nv = Export_memory_allocate_info_nv.t | |
type export_memory_allocate_info_nv = Export_memory_allocate_info_nv.t | |
module External_semaphore_handle_type_flags_khx = struct | |
include Bitset.Make() | |
let fence_fd = make_index 4 | |
let d3d_12_fence = make_index 3 | |
let opaque_win_32_kmt = make_index 2 | |
let opaque_win_32 = make_index 1 | |
let opaque_fd = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem fence_fd set then | |
Printer.fprintf ppf "fence_fd;@ " | |
else (); | |
if mem d3d_12_fence set then | |
Printer.fprintf ppf "d3d_12_fence;@ " | |
else (); | |
if mem opaque_win_32_kmt set then | |
Printer.fprintf ppf "opaque_win_32_kmt;@ " | |
else (); | |
if mem opaque_win_32 set then | |
Printer.fprintf ppf "opaque_win_32;@ " | |
else (); | |
if mem opaque_fd set then | |
Printer.fprintf ppf "opaque_fd;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_semaphore_handle_type_flags_khx = External_semaphore_handle_type_flags_khx.t | |
let external_semaphore_handle_type_flags_khx, external_semaphore_handle_type_flags_khx_opt = External_semaphore_handle_type_flags_khx.(view, view_opt) | |
let external_semaphore_handle_type_flag_bits_khx = External_semaphore_handle_type_flags_khx.index_view | |
let external_semaphore_handle_type_flag_bits_khx_opt = External_semaphore_handle_type_flags_khx.index_view_opt | |
module Export_semaphore_create_info_khx = struct type t | |
type export_semaphore_create_info_khx = t | |
let t: t structure typ = structure "export_semaphore_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_semaphore_handle_type_flags_khx_opt | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type export_semaphore_create_info_khx_extension = .. | |
type export_semaphore_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Export_semaphore_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let export_semaphore_create_info_khx = Export_semaphore_create_info_khx.t | |
type export_semaphore_create_info_khx = Export_semaphore_create_info_khx.t | |
module Extension_properties = struct type t type extension_properties = t | |
let t: t structure typ = structure "extension_properties" | |
module Fields=struct | |
let extension_name = field t "extension_name" (array max_extension_name_size @@ char) | |
let spec_version = field t "spec_version" uint_32_t | |
end | |
let extension_name record = Ctypes.string_from_ptr | |
(Ctypes.CArray.start @@ Ctypes.getf record Fields.extension_name) | |
max_extension_name_size | |
let spec_version record = Ctypes.getf record Fields.spec_version | |
let () = Ctypes.seal t | |
let make ~extension_name:arg__extension_name~spec_version:arg__spec_version | |
= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.extension_name arg__extension_name; | |
Ctypes.setf generated__x__ Fields.spec_version arg__spec_version; | |
Ctypes.addr generated__x__ end | |
let extension_properties = Extension_properties.t | |
type extension_properties = Extension_properties.t | |
module External_memory_feature_flags_khx = struct | |
include Bitset.Make() | |
let importable = make_index 2 | |
let exportable = make_index 1 | |
let dedicated_only = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem importable set then | |
Printer.fprintf ppf "importable;@ " | |
else (); | |
if mem exportable set then | |
Printer.fprintf ppf "exportable;@ " | |
else (); | |
if mem dedicated_only set then | |
Printer.fprintf ppf "dedicated_only;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_memory_feature_flags_khx = External_memory_feature_flags_khx.t | |
let external_memory_feature_flags_khx, external_memory_feature_flags_khx_opt = External_memory_feature_flags_khx.(view, view_opt) | |
let external_memory_feature_flag_bits_khx = External_memory_feature_flags_khx.index_view | |
let external_memory_feature_flag_bits_khx_opt = External_memory_feature_flags_khx.index_view_opt | |
module External_memory_properties_khx = struct type t | |
type external_memory_properties_khx = t | |
let t: t structure typ = structure "external_memory_properties_khx" | |
module Fields=struct | |
let external_memory_features = field t "external_memory_features" external_memory_feature_flags_khx | |
let export_from_imported_handle_types = field t "export_from_imported_handle_types" external_memory_handle_type_flags_khx_opt | |
let compatible_handle_types = field t "compatible_handle_types" external_memory_handle_type_flags_khx | |
end | |
let external_memory_features record = Ctypes.getf record Fields.external_memory_features | |
let export_from_imported_handle_types record = Ctypes.getf record Fields.export_from_imported_handle_types | |
let compatible_handle_types record = Ctypes.getf record Fields.compatible_handle_types | |
let () = Ctypes.seal t | |
let make ~external_memory_features:arg__external_memory_features | |
?export_from_imported_handle_types:arg__export_from_imported_handle_types | |
~compatible_handle_types:arg__compatible_handle_types ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.external_memory_features arg__external_memory_features; | |
Ctypes.setf generated__x__ Fields.export_from_imported_handle_types arg__export_from_imported_handle_types; | |
Ctypes.setf generated__x__ Fields.compatible_handle_types arg__compatible_handle_types; | |
Ctypes.addr generated__x__ end | |
let external_memory_properties_khx = External_memory_properties_khx.t | |
type external_memory_properties_khx = External_memory_properties_khx.t | |
module External_buffer_properties_khx = struct type t | |
type external_buffer_properties_khx = t | |
let t: t structure typ = structure "external_buffer_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let external_memory_properties = field t "external_memory_properties" external_memory_properties_khx | |
end | |
let external_memory_properties record = Ctypes.getf record Fields.external_memory_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_buffer_properties_khx_extension = .. | |
type external_buffer_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~external_memory_properties:arg__external_memory_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_buffer_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.external_memory_properties arg__external_memory_properties; | |
Ctypes.addr generated__x__ | |
end | |
let external_buffer_properties_khx = External_buffer_properties_khx.t | |
type external_buffer_properties_khx = External_buffer_properties_khx.t | |
module External_image_format_properties_khx = struct type t | |
type external_image_format_properties_khx = t | |
let t: t structure typ = structure "external_image_format_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let external_memory_properties = field t "external_memory_properties" external_memory_properties_khx | |
end | |
let external_memory_properties record = Ctypes.getf record Fields.external_memory_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_image_format_properties_khx_extension = .. | |
type external_image_format_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~external_memory_properties:arg__external_memory_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_image_format_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.external_memory_properties arg__external_memory_properties; | |
Ctypes.addr generated__x__ | |
end | |
let external_image_format_properties_khx = External_image_format_properties_khx.t | |
type external_image_format_properties_khx = External_image_format_properties_khx.t | |
module Image_format_properties = struct type t | |
type image_format_properties = t | |
let t: t structure typ = structure "image_format_properties" | |
module Fields=struct | |
let max_extent = field t "max_extent" extent_3d | |
let max_mip_levels = field t "max_mip_levels" uint_32_t | |
let max_array_layers = field t "max_array_layers" uint_32_t | |
let sample_counts = field t "sample_counts" sample_count_flags_opt | |
let max_resource_size = field t "max_resource_size" device_size | |
end | |
let max_extent record = Ctypes.getf record Fields.max_extent | |
let max_mip_levels record = Ctypes.getf record Fields.max_mip_levels | |
let max_array_layers record = Ctypes.getf record Fields.max_array_layers | |
let sample_counts record = Ctypes.getf record Fields.sample_counts | |
let max_resource_size record = Ctypes.getf record Fields.max_resource_size | |
let () = Ctypes.seal t | |
let make ~max_extent:arg__max_extent~max_mip_levels:arg__max_mip_levels | |
~max_array_layers:arg__max_array_layers?sample_counts:arg__sample_counts | |
~max_resource_size:arg__max_resource_size ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.max_extent arg__max_extent; | |
Ctypes.setf generated__x__ Fields.max_mip_levels arg__max_mip_levels; | |
Ctypes.setf generated__x__ Fields.max_array_layers arg__max_array_layers; | |
Ctypes.setf generated__x__ Fields.sample_counts arg__sample_counts; | |
Ctypes.setf generated__x__ Fields.max_resource_size arg__max_resource_size; | |
Ctypes.addr generated__x__ end | |
let image_format_properties = Image_format_properties.t | |
type image_format_properties = Image_format_properties.t | |
module External_memory_feature_flags_nv = struct | |
include Bitset.Make() | |
let importable = make_index 2 | |
let exportable = make_index 1 | |
let dedicated_only = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem importable set then | |
Printer.fprintf ppf "importable;@ " | |
else (); | |
if mem exportable set then | |
Printer.fprintf ppf "exportable;@ " | |
else (); | |
if mem dedicated_only set then | |
Printer.fprintf ppf "dedicated_only;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_memory_feature_flags_nv = External_memory_feature_flags_nv.t | |
let external_memory_feature_flags_nv, external_memory_feature_flags_nv_opt = External_memory_feature_flags_nv.(view, view_opt) | |
let external_memory_feature_flag_bits_nv = External_memory_feature_flags_nv.index_view | |
let external_memory_feature_flag_bits_nv_opt = External_memory_feature_flags_nv.index_view_opt | |
module External_image_format_properties_nv = struct type t | |
type external_image_format_properties_nv = t | |
let t: t structure typ = structure "external_image_format_properties_nv" | |
module Fields=struct | |
let image_format_properties = field t "image_format_properties" image_format_properties | |
let external_memory_features = field t "external_memory_features" external_memory_feature_flags_nv_opt | |
let export_from_imported_handle_types = field t "export_from_imported_handle_types" external_memory_handle_type_flags_nv_opt | |
let compatible_handle_types = field t "compatible_handle_types" external_memory_handle_type_flags_nv_opt | |
end | |
let image_format_properties record = Ctypes.getf record Fields.image_format_properties | |
let external_memory_features record = Ctypes.getf record Fields.external_memory_features | |
let export_from_imported_handle_types record = Ctypes.getf record Fields.export_from_imported_handle_types | |
let compatible_handle_types record = Ctypes.getf record Fields.compatible_handle_types | |
let () = Ctypes.seal t | |
let make ~image_format_properties:arg__image_format_properties | |
?external_memory_features:arg__external_memory_features | |
?export_from_imported_handle_types:arg__export_from_imported_handle_types | |
?compatible_handle_types:arg__compatible_handle_types ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.image_format_properties arg__image_format_properties; | |
Ctypes.setf generated__x__ Fields.external_memory_features arg__external_memory_features; | |
Ctypes.setf generated__x__ Fields.export_from_imported_handle_types arg__export_from_imported_handle_types; | |
Ctypes.setf generated__x__ Fields.compatible_handle_types arg__compatible_handle_types; | |
Ctypes.addr generated__x__ end | |
let external_image_format_properties_nv = External_image_format_properties_nv.t | |
type external_image_format_properties_nv = External_image_format_properties_nv.t | |
module External_memory_buffer_create_info_khx = struct type t | |
type external_memory_buffer_create_info_khx = t | |
let t: t structure typ = structure "external_memory_buffer_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_memory_handle_type_flags_khx_opt | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_memory_buffer_create_info_khx_extension = .. | |
type external_memory_buffer_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_memory_buffer_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let external_memory_buffer_create_info_khx = External_memory_buffer_create_info_khx.t | |
type external_memory_buffer_create_info_khx = External_memory_buffer_create_info_khx.t | |
module External_memory_image_create_info_khx = struct type t | |
type external_memory_image_create_info_khx = t | |
let t: t structure typ = structure "external_memory_image_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_memory_handle_type_flags_khx | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_memory_image_create_info_khx_extension = .. | |
type external_memory_image_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_memory_image_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let external_memory_image_create_info_khx = External_memory_image_create_info_khx.t | |
type external_memory_image_create_info_khx = External_memory_image_create_info_khx.t | |
module External_memory_image_create_info_nv = struct type t | |
type external_memory_image_create_info_nv = t | |
let t: t structure typ = structure "external_memory_image_create_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_types = field t "handle_types" external_memory_handle_type_flags_nv_opt | |
end | |
let handle_types record = Ctypes.getf record Fields.handle_types | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_memory_image_create_info_nv_extension = .. | |
type external_memory_image_create_info_nv_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_types:arg__handle_types | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_memory_image_create_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_types arg__handle_types; | |
Ctypes.addr generated__x__ | |
end | |
let external_memory_image_create_info_nv = External_memory_image_create_info_nv.t | |
type external_memory_image_create_info_nv = External_memory_image_create_info_nv.t | |
module External_semaphore_feature_flags_khx = struct | |
include Bitset.Make() | |
let importable = make_index 1 | |
let exportable = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem importable set then | |
Printer.fprintf ppf "importable;@ " | |
else (); | |
if mem exportable set then | |
Printer.fprintf ppf "exportable;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type external_semaphore_feature_flags_khx = External_semaphore_feature_flags_khx.t | |
let external_semaphore_feature_flags_khx, external_semaphore_feature_flags_khx_opt = External_semaphore_feature_flags_khx.(view, view_opt) | |
let external_semaphore_feature_flag_bits_khx = External_semaphore_feature_flags_khx.index_view | |
let external_semaphore_feature_flag_bits_khx_opt = External_semaphore_feature_flags_khx.index_view_opt | |
module External_semaphore_properties_khx = struct type t | |
type external_semaphore_properties_khx = t | |
let t: t structure typ = structure "external_semaphore_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let export_from_imported_handle_types = field t "export_from_imported_handle_types" external_semaphore_handle_type_flags_khx | |
let compatible_handle_types = field t "compatible_handle_types" external_semaphore_handle_type_flags_khx | |
let external_semaphore_features = field t "external_semaphore_features" external_semaphore_feature_flags_khx_opt | |
end | |
let export_from_imported_handle_types record = Ctypes.getf record Fields.export_from_imported_handle_types | |
let compatible_handle_types record = Ctypes.getf record Fields.compatible_handle_types | |
let external_semaphore_features record = Ctypes.getf record Fields.external_semaphore_features | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type external_semaphore_properties_khx_extension = .. | |
type external_semaphore_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~export_from_imported_handle_types:arg__export_from_imported_handle_types | |
~compatible_handle_types:arg__compatible_handle_types | |
?external_semaphore_features:arg__external_semaphore_features ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.External_semaphore_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.export_from_imported_handle_types arg__export_from_imported_handle_types; | |
Ctypes.setf generated__x__ Fields.compatible_handle_types arg__compatible_handle_types; | |
Ctypes.setf generated__x__ Fields.external_semaphore_features arg__external_semaphore_features; | |
Ctypes.addr generated__x__ | |
end | |
let external_semaphore_properties_khx = External_semaphore_properties_khx.t | |
type external_semaphore_properties_khx = External_semaphore_properties_khx.t | |
module Fence_create_flags = struct | |
include Bitset.Make() | |
let signaled = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem signaled set then | |
Printer.fprintf ppf "signaled;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type fence_create_flags = Fence_create_flags.t | |
let fence_create_flags, fence_create_flags_opt = Fence_create_flags.(view, view_opt) | |
let fence_create_flag_bits = Fence_create_flags.index_view | |
let fence_create_flag_bits_opt = Fence_create_flags.index_view_opt | |
module Fence_create_info = struct type t type fence_create_info = t | |
let t: t structure typ = structure "fence_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" fence_create_flags_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type fence_create_info_extension = .. | |
type fence_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Fence_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ | |
end | |
let fence_create_info = Fence_create_info.t | |
type fence_create_info = Fence_create_info.t | |
module Filter = struct | |
type t = | Nearest | |
| Linear | |
| Cubic_img | |
let to_int = function | |
| Nearest -> 0 | |
| Linear -> 1 | |
| Cubic_img -> 1000015000 | |
let of_int = function | |
| 0 -> Nearest | |
| 1 -> Linear | |
| 1000015000 -> Cubic_img | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Nearest -> "Nearest" | |
| Linear -> "Linear" | |
| Cubic_img -> "Cubic_img") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let filter, filter_opt = Filter.(view,view_opt) | |
type filter = Filter.t | |
module Flags = Alias(struct type t = uint_32_t let ctype = uint_32_t | |
let of_int = Uint_32_t.of_int let to_int = Uint_32_t.to_int end) | |
let flags = Flags.ctype | |
module Format_feature_flags = struct | |
include Bitset.Make() | |
let transfer_dst_bit_khr = make_index 15 | |
let transfer_src_bit_khr = make_index 14 | |
let sampled_image_filter_cubic_bit_img = make_index 13 | |
let sampled_image_filter_linear = make_index 12 | |
let blit_dst = make_index 11 | |
let blit_src = make_index 10 | |
let depth_stencil_attachment = make_index 9 | |
let color_attachment_blend = make_index 8 | |
let color_attachment = make_index 7 | |
let vertex_buffer = make_index 6 | |
let storage_texel_buffer_atomic = make_index 5 | |
let storage_texel_buffer = make_index 4 | |
let uniform_texel_buffer = make_index 3 | |
let storage_image_atomic = make_index 2 | |
let storage_image = make_index 1 | |
let sampled_image = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem transfer_dst_bit_khr set then | |
Printer.fprintf ppf "transfer_dst_bit_khr;@ " | |
else (); | |
if mem transfer_src_bit_khr set then | |
Printer.fprintf ppf "transfer_src_bit_khr;@ " | |
else (); | |
if mem sampled_image_filter_cubic_bit_img set then | |
Printer.fprintf ppf "sampled_image_filter_cubic_bit_img;@ " | |
else (); | |
if mem sampled_image_filter_linear set then | |
Printer.fprintf ppf "sampled_image_filter_linear;@ " | |
else (); | |
if mem blit_dst set then | |
Printer.fprintf ppf "blit_dst;@ " | |
else (); | |
if mem blit_src set then | |
Printer.fprintf ppf "blit_src;@ " | |
else (); | |
if mem depth_stencil_attachment set then | |
Printer.fprintf ppf "depth_stencil_attachment;@ " | |
else (); | |
if mem color_attachment_blend set then | |
Printer.fprintf ppf "color_attachment_blend;@ " | |
else (); | |
if mem color_attachment set then | |
Printer.fprintf ppf "color_attachment;@ " | |
else (); | |
if mem vertex_buffer set then | |
Printer.fprintf ppf "vertex_buffer;@ " | |
else (); | |
if mem storage_texel_buffer_atomic set then | |
Printer.fprintf ppf "storage_texel_buffer_atomic;@ " | |
else (); | |
if mem storage_texel_buffer set then | |
Printer.fprintf ppf "storage_texel_buffer;@ " | |
else (); | |
if mem uniform_texel_buffer set then | |
Printer.fprintf ppf "uniform_texel_buffer;@ " | |
else (); | |
if mem storage_image_atomic set then | |
Printer.fprintf ppf "storage_image_atomic;@ " | |
else (); | |
if mem storage_image set then | |
Printer.fprintf ppf "storage_image;@ " | |
else (); | |
if mem sampled_image set then | |
Printer.fprintf ppf "sampled_image;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type format_feature_flags = Format_feature_flags.t | |
let format_feature_flags, format_feature_flags_opt = Format_feature_flags.(view, view_opt) | |
let format_feature_flag_bits = Format_feature_flags.index_view | |
let format_feature_flag_bits_opt = Format_feature_flags.index_view_opt | |
module Format_properties = struct type t type format_properties = t | |
let t: t structure typ = structure "format_properties" | |
module Fields=struct | |
let linear_tiling_features = field t "linear_tiling_features" format_feature_flags_opt | |
let optimal_tiling_features = field t "optimal_tiling_features" format_feature_flags_opt | |
let buffer_features = field t "buffer_features" format_feature_flags_opt | |
end | |
let linear_tiling_features record = Ctypes.getf record Fields.linear_tiling_features | |
let optimal_tiling_features record = Ctypes.getf record Fields.optimal_tiling_features | |
let buffer_features record = Ctypes.getf record Fields.buffer_features | |
let () = Ctypes.seal t | |
let make ?linear_tiling_features:arg__linear_tiling_features | |
?optimal_tiling_features:arg__optimal_tiling_features | |
?buffer_features:arg__buffer_features ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.linear_tiling_features arg__linear_tiling_features; | |
Ctypes.setf generated__x__ Fields.optimal_tiling_features arg__optimal_tiling_features; | |
Ctypes.setf generated__x__ Fields.buffer_features arg__buffer_features; | |
Ctypes.addr generated__x__ end | |
let format_properties = Format_properties.t | |
type format_properties = Format_properties.t | |
module Format_properties_2_khr = struct type t | |
type format_properties_2_khr = t | |
let t: t structure typ = structure "format_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let format_properties = field t "format_properties" format_properties | |
end | |
let format_properties record = Ctypes.getf record Fields.format_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type format_properties_2_khr_extension = .. | |
type format_properties_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~format_properties:arg__format_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Format_properties_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.format_properties arg__format_properties; | |
Ctypes.addr generated__x__ | |
end | |
let format_properties_2_khr = Format_properties_2_khr.t | |
type format_properties_2_khr = Format_properties_2_khr.t | |
module Framebuffer_create_flags = Bitset.Make() | |
type framebuffer_create_flags = Framebuffer_create_flags.t | |
let framebuffer_create_flags, framebuffer_create_flags_opt = Framebuffer_create_flags.(view, view_opt) | |
let framebuffer_create_flag_bits = Framebuffer_create_flags.index_view | |
let framebuffer_create_flag_bits_opt = Framebuffer_create_flags.index_view_opt | |
module Framebuffer_create_info = struct type t | |
type framebuffer_create_info = t | |
let t: t structure typ = structure "framebuffer_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" framebuffer_create_flags_opt | |
let render_pass = field t "render_pass" render_pass | |
let attachment_count = field t "attachment_count" uint_32_t_opt | |
let attachments = field t "attachments" (ptr image_view) | |
let width = field t "width" uint_32_t | |
let height = field t "height" uint_32_t | |
let layers = field t "layers" uint_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let render_pass record = Ctypes.getf record Fields.render_pass | |
let attachments record = match Ctypes.getf record Fields.attachment_count, Ctypes.getf record Fields.attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let width record = Ctypes.getf record Fields.width | |
let height record = Ctypes.getf record Fields.height | |
let layers record = Ctypes.getf record Fields.layers | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type framebuffer_create_info_extension = .. | |
type framebuffer_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~render_pass:arg__render_pass?attachments:arg__attachments~width:arg__width | |
~height:arg__height~layers:arg__layers ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Framebuffer_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.render_pass arg__render_pass; | |
begin match arg__attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.attachment_count None; | |
Ctypes.setf generated__x__ Fields.attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__attachments ->(Ctypes.setf generated__x__ Fields.attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__attachments))); | |
Ctypes.setf generated__x__ Fields.attachments (Ctypes.CArray.start arg__attachments)) | |
end; | |
Ctypes.setf generated__x__ Fields.width arg__width; | |
Ctypes.setf generated__x__ Fields.height arg__height; | |
Ctypes.setf generated__x__ Fields.layers arg__layers; | |
Ctypes.addr generated__x__ | |
end | |
let framebuffer_create_info = Framebuffer_create_info.t | |
type framebuffer_create_info = Framebuffer_create_info.t | |
module Front_face = struct | |
type t = | Counter_clockwise | |
| Clockwise | |
let to_int = function | |
| Counter_clockwise -> 0 | |
| Clockwise -> 1 | |
let of_int = function | |
| 0 -> Counter_clockwise | |
| 1 -> Clockwise | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Counter_clockwise -> "Counter_clockwise" | |
| Clockwise -> "Clockwise") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let front_face, front_face_opt = Front_face.(view,view_opt) | |
type front_face = Front_face.t | |
module Pipeline_vertex_input_state_create_flags = Bitset.Make() | |
type pipeline_vertex_input_state_create_flags = Pipeline_vertex_input_state_create_flags.t | |
let pipeline_vertex_input_state_create_flags, pipeline_vertex_input_state_create_flags_opt = Pipeline_vertex_input_state_create_flags.(view, view_opt) | |
let pipeline_vertex_input_state_create_flag_bits = Pipeline_vertex_input_state_create_flags.index_view | |
let pipeline_vertex_input_state_create_flag_bits_opt = Pipeline_vertex_input_state_create_flags.index_view_opt | |
module Vertex_input_rate = struct | |
type t = | Vertex | |
| Instance | |
let to_int = function | |
| Vertex -> 0 | |
| Instance -> 1 | |
let of_int = function | |
| 0 -> Vertex | |
| 1 -> Instance | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Vertex -> "Vertex" | |
| Instance -> "Instance") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let vertex_input_rate, vertex_input_rate_opt = Vertex_input_rate.(view,view_opt) | |
type vertex_input_rate = Vertex_input_rate.t | |
module Vertex_input_binding_description = struct type t | |
type vertex_input_binding_description = t | |
let t: t structure typ = structure "vertex_input_binding_description" | |
module Fields=struct | |
let binding = field t "binding" uint_32_t | |
let stride = field t "stride" uint_32_t | |
let input_rate = field t "input_rate" vertex_input_rate | |
end | |
let binding record = Ctypes.getf record Fields.binding | |
let stride record = Ctypes.getf record Fields.stride | |
let input_rate record = Ctypes.getf record Fields.input_rate | |
let () = Ctypes.seal t | |
let make ~binding:arg__binding~stride:arg__stride | |
~input_rate:arg__input_rate = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.binding arg__binding; | |
Ctypes.setf generated__x__ Fields.stride arg__stride; | |
Ctypes.setf generated__x__ Fields.input_rate arg__input_rate; | |
Ctypes.addr generated__x__ end | |
let vertex_input_binding_description = Vertex_input_binding_description.t | |
type vertex_input_binding_description = Vertex_input_binding_description.t | |
module Vertex_input_attribute_description = struct type t | |
type vertex_input_attribute_description = t | |
let t: t structure typ = structure "vertex_input_attribute_description" | |
module Fields=struct | |
let location = field t "location" uint_32_t | |
let binding = field t "binding" uint_32_t | |
let format = field t "format" format | |
let offset = field t "offset" uint_32_t | |
end | |
let location record = Ctypes.getf record Fields.location | |
let binding record = Ctypes.getf record Fields.binding | |
let format record = Ctypes.getf record Fields.format | |
let offset record = Ctypes.getf record Fields.offset | |
let () = Ctypes.seal t | |
let make ~location:arg__location~binding:arg__binding~format:arg__format | |
~offset:arg__offset = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.location arg__location; | |
Ctypes.setf generated__x__ Fields.binding arg__binding; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.addr generated__x__ end | |
let vertex_input_attribute_description = Vertex_input_attribute_description.t | |
type vertex_input_attribute_description = Vertex_input_attribute_description.t | |
module Pipeline_vertex_input_state_create_info = struct type t | |
type pipeline_vertex_input_state_create_info = t | |
let t: t structure typ = structure "pipeline_vertex_input_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_vertex_input_state_create_flags_opt | |
let vertex_binding_description_count = field t "vertex_binding_description_count" uint_32_t_opt | |
let vertex_binding_descriptions = field t "vertex_binding_descriptions" (ptr vertex_input_binding_description) | |
let vertex_attribute_description_count = field t "vertex_attribute_description_count" uint_32_t_opt | |
let vertex_attribute_descriptions = field t "vertex_attribute_descriptions" (ptr vertex_input_attribute_description) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let vertex_binding_descriptions record = match Ctypes.getf record Fields.vertex_binding_description_count, Ctypes.getf record Fields.vertex_binding_descriptions with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let vertex_attribute_descriptions record = match Ctypes.getf record Fields.vertex_attribute_description_count, Ctypes.getf record Fields.vertex_attribute_descriptions with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_vertex_input_state_create_info_extension = .. | |
type pipeline_vertex_input_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?vertex_binding_descriptions:arg__vertex_binding_descriptions | |
?vertex_attribute_descriptions:arg__vertex_attribute_descriptions ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_vertex_input_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
begin match arg__vertex_binding_descriptions with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.vertex_binding_description_count None; | |
Ctypes.setf generated__x__ Fields.vertex_binding_descriptions (Obj.magic @@ Ctypes.null)) | |
|Some arg__vertex_binding_descriptions ->(Ctypes.setf generated__x__ Fields.vertex_binding_description_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__vertex_binding_descriptions))); | |
Ctypes.setf generated__x__ Fields.vertex_binding_descriptions (Ctypes.CArray.start arg__vertex_binding_descriptions)) | |
end; | |
begin match arg__vertex_attribute_descriptions with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.vertex_attribute_description_count None; | |
Ctypes.setf generated__x__ Fields.vertex_attribute_descriptions (Obj.magic @@ Ctypes.null)) | |
|Some arg__vertex_attribute_descriptions ->(Ctypes.setf generated__x__ Fields.vertex_attribute_description_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__vertex_attribute_descriptions))); | |
Ctypes.setf generated__x__ Fields.vertex_attribute_descriptions (Ctypes.CArray.start arg__vertex_attribute_descriptions)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_vertex_input_state_create_info = Pipeline_vertex_input_state_create_info.t | |
type pipeline_vertex_input_state_create_info = Pipeline_vertex_input_state_create_info.t | |
module Pipeline_input_assembly_state_create_flags = Bitset.Make() | |
type pipeline_input_assembly_state_create_flags = Pipeline_input_assembly_state_create_flags.t | |
let pipeline_input_assembly_state_create_flags, pipeline_input_assembly_state_create_flags_opt = Pipeline_input_assembly_state_create_flags.(view, view_opt) | |
let pipeline_input_assembly_state_create_flag_bits = Pipeline_input_assembly_state_create_flags.index_view | |
let pipeline_input_assembly_state_create_flag_bits_opt = Pipeline_input_assembly_state_create_flags.index_view_opt | |
module Primitive_topology = struct | |
type t = | Point_list | |
| Line_list | |
| Line_strip | |
| Triangle_list | |
| Triangle_strip | |
| Triangle_fan | |
| Line_list_with_adjacency | |
| Line_strip_with_adjacency | |
| Triangle_list_with_adjacency | |
| Triangle_strip_with_adjacency | |
| Patch_list | |
let to_int = function | |
| Point_list -> 0 | |
| Line_list -> 1 | |
| Line_strip -> 2 | |
| Triangle_list -> 3 | |
| Triangle_strip -> 4 | |
| Triangle_fan -> 5 | |
| Line_list_with_adjacency -> 6 | |
| Line_strip_with_adjacency -> 7 | |
| Triangle_list_with_adjacency -> 8 | |
| Triangle_strip_with_adjacency -> 9 | |
| Patch_list -> 10 | |
let of_int = function | |
| 0 -> Point_list | |
| 1 -> Line_list | |
| 2 -> Line_strip | |
| 3 -> Triangle_list | |
| 4 -> Triangle_strip | |
| 5 -> Triangle_fan | |
| 6 -> Line_list_with_adjacency | |
| 7 -> Line_strip_with_adjacency | |
| 8 -> Triangle_list_with_adjacency | |
| 9 -> Triangle_strip_with_adjacency | |
| 10 -> Patch_list | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Point_list -> "Point_list" | |
| Line_list -> "Line_list" | |
| Line_strip -> "Line_strip" | |
| Triangle_list -> "Triangle_list" | |
| Triangle_strip -> "Triangle_strip" | |
| Triangle_fan -> "Triangle_fan" | |
| Line_list_with_adjacency -> "Line_list_with_adjacency" | |
| Line_strip_with_adjacency -> "Line_strip_with_adjacency" | |
| Triangle_list_with_adjacency -> "Triangle_list_with_adjacency" | |
| Triangle_strip_with_adjacency -> "Triangle_strip_with_adjacency" | |
| Patch_list -> "Patch_list") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let primitive_topology, primitive_topology_opt = Primitive_topology.(view,view_opt) | |
type primitive_topology = Primitive_topology.t | |
module Pipeline_input_assembly_state_create_info = struct type t | |
type pipeline_input_assembly_state_create_info = t | |
let t: t structure typ = structure "pipeline_input_assembly_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_input_assembly_state_create_flags_opt | |
let topology = field t "topology" primitive_topology | |
let primitive_restart_enable = field t "primitive_restart_enable" bool_32 | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let topology record = Ctypes.getf record Fields.topology | |
let primitive_restart_enable record = Ctypes.getf record Fields.primitive_restart_enable | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_input_assembly_state_create_info_extension = .. | |
type pipeline_input_assembly_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~topology:arg__topology | |
~primitive_restart_enable:arg__primitive_restart_enable ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_input_assembly_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.topology arg__topology; | |
Ctypes.setf generated__x__ Fields.primitive_restart_enable arg__primitive_restart_enable; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_input_assembly_state_create_info = Pipeline_input_assembly_state_create_info.t | |
type pipeline_input_assembly_state_create_info = Pipeline_input_assembly_state_create_info.t | |
module Pipeline_tessellation_state_create_flags = Bitset.Make() | |
type pipeline_tessellation_state_create_flags = Pipeline_tessellation_state_create_flags.t | |
let pipeline_tessellation_state_create_flags, pipeline_tessellation_state_create_flags_opt = Pipeline_tessellation_state_create_flags.(view, view_opt) | |
let pipeline_tessellation_state_create_flag_bits = Pipeline_tessellation_state_create_flags.index_view | |
let pipeline_tessellation_state_create_flag_bits_opt = Pipeline_tessellation_state_create_flags.index_view_opt | |
module Pipeline_tessellation_state_create_info = struct type t | |
type pipeline_tessellation_state_create_info = t | |
let t: t structure typ = structure "pipeline_tessellation_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_tessellation_state_create_flags_opt | |
let patch_control_points = field t "patch_control_points" uint_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let patch_control_points record = Ctypes.getf record Fields.patch_control_points | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_tessellation_state_create_info_extension = .. | |
type pipeline_tessellation_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~patch_control_points:arg__patch_control_points ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_tessellation_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.patch_control_points arg__patch_control_points; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_tessellation_state_create_info = Pipeline_tessellation_state_create_info.t | |
type pipeline_tessellation_state_create_info = Pipeline_tessellation_state_create_info.t | |
module Pipeline_viewport_state_create_flags = Bitset.Make() | |
type pipeline_viewport_state_create_flags = Pipeline_viewport_state_create_flags.t | |
let pipeline_viewport_state_create_flags, pipeline_viewport_state_create_flags_opt = Pipeline_viewport_state_create_flags.(view, view_opt) | |
let pipeline_viewport_state_create_flag_bits = Pipeline_viewport_state_create_flags.index_view | |
let pipeline_viewport_state_create_flag_bits_opt = Pipeline_viewport_state_create_flags.index_view_opt | |
module Viewport = struct type t type viewport = t | |
let t: t structure typ = structure "viewport" | |
module Fields=struct | |
let x = field t "x" float | |
let y = field t "y" float | |
let width = field t "width" float | |
let height = field t "height" float | |
let min_depth = field t "min_depth" float | |
let max_depth = field t "max_depth" float | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y | |
let width record = Ctypes.getf record Fields.width | |
let height record = Ctypes.getf record Fields.height | |
let min_depth record = Ctypes.getf record Fields.min_depth | |
let max_depth record = Ctypes.getf record Fields.max_depth | |
let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y~width:arg__width~height:arg__height | |
~min_depth:arg__min_depth~max_depth:arg__max_depth = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; | |
Ctypes.setf generated__x__ Fields.width arg__width; | |
Ctypes.setf generated__x__ Fields.height arg__height; | |
Ctypes.setf generated__x__ Fields.min_depth arg__min_depth; | |
Ctypes.setf generated__x__ Fields.max_depth arg__max_depth; | |
Ctypes.addr generated__x__ end | |
let viewport = Viewport.t | |
type viewport = Viewport.t | |
module Pipeline_viewport_state_create_info = struct type t | |
type pipeline_viewport_state_create_info = t | |
let t: t structure typ = structure "pipeline_viewport_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_viewport_state_create_flags_opt | |
let viewport_count = field t "viewport_count" uint_32_t | |
let viewports = field t "viewports" (ptr_opt (viewport)) | |
let scissor_count = field t "scissor_count" uint_32_t | |
let scissors = field t "scissors" (ptr_opt (rect_2d)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let viewports record = let viewport_count = Ctypes.getf record Fields.viewport_count and viewports = Ctypes.getf record Fields.viewports in | |
may (fun x -> Ctypes.CArray.from_ptr (x) (Uint_32_t.to_int (viewport_count))) viewports | |
let scissors record = let scissor_count = Ctypes.getf record Fields.scissor_count and scissors = Ctypes.getf record Fields.scissors in | |
may (fun x -> Ctypes.CArray.from_ptr (x) (Uint_32_t.to_int (scissor_count))) scissors | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_viewport_state_create_info_extension = .. | |
type pipeline_viewport_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~viewports:arg__viewports~scissors:arg__scissors ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_viewport_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.viewport_count (Uint_32_t.of_int(Ctypes.CArray.length arg__viewports)); | |
Ctypes.setf generated__x__ Fields.viewports (Some(Ctypes.CArray.start arg__viewports)); | |
Ctypes.setf generated__x__ Fields.scissor_count (Uint_32_t.of_int(Ctypes.CArray.length arg__scissors)); | |
Ctypes.setf generated__x__ Fields.scissors (Some(Ctypes.CArray.start arg__scissors)); | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_viewport_state_create_info = Pipeline_viewport_state_create_info.t | |
type pipeline_viewport_state_create_info = Pipeline_viewport_state_create_info.t | |
module Pipeline_rasterization_state_create_flags = Bitset.Make() | |
type pipeline_rasterization_state_create_flags = Pipeline_rasterization_state_create_flags.t | |
let pipeline_rasterization_state_create_flags, pipeline_rasterization_state_create_flags_opt = Pipeline_rasterization_state_create_flags.(view, view_opt) | |
let pipeline_rasterization_state_create_flag_bits = Pipeline_rasterization_state_create_flags.index_view | |
let pipeline_rasterization_state_create_flag_bits_opt = Pipeline_rasterization_state_create_flags.index_view_opt | |
module Polygon_mode = struct | |
type t = | Fill | |
| Line | |
| Point | |
let to_int = function | |
| Fill -> 0 | |
| Line -> 1 | |
| Point -> 2 | |
let of_int = function | |
| 0 -> Fill | |
| 1 -> Line | |
| 2 -> Point | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Fill -> "Fill" | |
| Line -> "Line" | |
| Point -> "Point") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let polygon_mode, polygon_mode_opt = Polygon_mode.(view,view_opt) | |
type polygon_mode = Polygon_mode.t | |
module Pipeline_rasterization_state_create_info = struct type t | |
type pipeline_rasterization_state_create_info = t | |
let t: t structure typ = structure "pipeline_rasterization_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_rasterization_state_create_flags_opt | |
let depth_clamp_enable = field t "depth_clamp_enable" bool_32 | |
let rasterizer_discard_enable = field t "rasterizer_discard_enable" bool_32 | |
let polygon_mode = field t "polygon_mode" polygon_mode | |
let cull_mode = field t "cull_mode" cull_mode_flags_opt | |
let front_face = field t "front_face" front_face | |
let depth_bias_enable = field t "depth_bias_enable" bool_32 | |
let depth_bias_constant_factor = field t "depth_bias_constant_factor" float | |
let depth_bias_clamp = field t "depth_bias_clamp" float | |
let depth_bias_slope_factor = field t "depth_bias_slope_factor" float | |
let line_width = field t "line_width" float | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let depth_clamp_enable record = Ctypes.getf record Fields.depth_clamp_enable | |
let rasterizer_discard_enable record = Ctypes.getf record Fields.rasterizer_discard_enable | |
let polygon_mode record = Ctypes.getf record Fields.polygon_mode | |
let cull_mode record = Ctypes.getf record Fields.cull_mode | |
let front_face record = Ctypes.getf record Fields.front_face | |
let depth_bias_enable record = Ctypes.getf record Fields.depth_bias_enable | |
let depth_bias_constant_factor record = Ctypes.getf record Fields.depth_bias_constant_factor | |
let depth_bias_clamp record = Ctypes.getf record Fields.depth_bias_clamp | |
let depth_bias_slope_factor record = Ctypes.getf record Fields.depth_bias_slope_factor | |
let line_width record = Ctypes.getf record Fields.line_width | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_rasterization_state_create_info_extension = .. | |
type pipeline_rasterization_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~depth_clamp_enable:arg__depth_clamp_enable | |
~rasterizer_discard_enable:arg__rasterizer_discard_enable | |
~polygon_mode:arg__polygon_mode?cull_mode:arg__cull_mode | |
~front_face:arg__front_face~depth_bias_enable:arg__depth_bias_enable | |
~depth_bias_constant_factor:arg__depth_bias_constant_factor | |
~depth_bias_clamp:arg__depth_bias_clamp | |
~depth_bias_slope_factor:arg__depth_bias_slope_factor | |
~line_width:arg__line_width ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_rasterization_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.depth_clamp_enable arg__depth_clamp_enable; | |
Ctypes.setf generated__x__ Fields.rasterizer_discard_enable arg__rasterizer_discard_enable; | |
Ctypes.setf generated__x__ Fields.polygon_mode arg__polygon_mode; | |
Ctypes.setf generated__x__ Fields.cull_mode arg__cull_mode; | |
Ctypes.setf generated__x__ Fields.front_face arg__front_face; | |
Ctypes.setf generated__x__ Fields.depth_bias_enable arg__depth_bias_enable; | |
Ctypes.setf generated__x__ Fields.depth_bias_constant_factor arg__depth_bias_constant_factor; | |
Ctypes.setf generated__x__ Fields.depth_bias_clamp arg__depth_bias_clamp; | |
Ctypes.setf generated__x__ Fields.depth_bias_slope_factor arg__depth_bias_slope_factor; | |
Ctypes.setf generated__x__ Fields.line_width arg__line_width; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_rasterization_state_create_info = Pipeline_rasterization_state_create_info.t | |
type pipeline_rasterization_state_create_info = Pipeline_rasterization_state_create_info.t | |
module Pipeline_multisample_state_create_flags = Bitset.Make() | |
type pipeline_multisample_state_create_flags = Pipeline_multisample_state_create_flags.t | |
let pipeline_multisample_state_create_flags, pipeline_multisample_state_create_flags_opt = Pipeline_multisample_state_create_flags.(view, view_opt) | |
let pipeline_multisample_state_create_flag_bits = Pipeline_multisample_state_create_flags.index_view | |
let pipeline_multisample_state_create_flag_bits_opt = Pipeline_multisample_state_create_flags.index_view_opt | |
module Sample_mask = Alias(struct type t = uint_32_t let ctype = uint_32_t | |
let of_int = Uint_32_t.of_int let to_int = Uint_32_t.to_int end) | |
let sample_mask = Sample_mask.ctype | |
module Pipeline_multisample_state_create_info = struct type t | |
type pipeline_multisample_state_create_info = t | |
let t: t structure typ = structure "pipeline_multisample_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_multisample_state_create_flags_opt | |
let rasterization_samples = field t "rasterization_samples" sample_count_flag_bits | |
let sample_shading_enable = field t "sample_shading_enable" bool_32 | |
let min_sample_shading = field t "min_sample_shading" float | |
let sample_mask = field t "sample_mask" (ptr_opt (sample_mask)) | |
let alpha_to_coverage_enable = field t "alpha_to_coverage_enable" bool_32 | |
let alpha_to_one_enable = field t "alpha_to_one_enable" bool_32 | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let rasterization_samples record = Ctypes.getf record Fields.rasterization_samples | |
let sample_shading_enable record = Ctypes.getf record Fields.sample_shading_enable | |
let min_sample_shading record = Ctypes.getf record Fields.min_sample_shading | |
let sample_mask record = Ctypes.getf record Fields.sample_mask | |
let alpha_to_coverage_enable record = Ctypes.getf record Fields.alpha_to_coverage_enable | |
let alpha_to_one_enable record = Ctypes.getf record Fields.alpha_to_one_enable | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_multisample_state_create_info_extension = .. | |
type pipeline_multisample_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~rasterization_samples:arg__rasterization_samples | |
~sample_shading_enable:arg__sample_shading_enable | |
~min_sample_shading:arg__min_sample_shading?sample_mask:arg__sample_mask | |
~alpha_to_coverage_enable:arg__alpha_to_coverage_enable | |
~alpha_to_one_enable:arg__alpha_to_one_enable ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_multisample_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.rasterization_samples arg__rasterization_samples; | |
Ctypes.setf generated__x__ Fields.sample_shading_enable arg__sample_shading_enable; | |
Ctypes.setf generated__x__ Fields.min_sample_shading arg__min_sample_shading; | |
Ctypes.setf generated__x__ Fields.sample_mask arg__sample_mask; | |
Ctypes.setf generated__x__ Fields.alpha_to_coverage_enable arg__alpha_to_coverage_enable; | |
Ctypes.setf generated__x__ Fields.alpha_to_one_enable arg__alpha_to_one_enable; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_multisample_state_create_info = Pipeline_multisample_state_create_info.t | |
type pipeline_multisample_state_create_info = Pipeline_multisample_state_create_info.t | |
module Pipeline_depth_stencil_state_create_flags = Bitset.Make() | |
type pipeline_depth_stencil_state_create_flags = Pipeline_depth_stencil_state_create_flags.t | |
let pipeline_depth_stencil_state_create_flags, pipeline_depth_stencil_state_create_flags_opt = Pipeline_depth_stencil_state_create_flags.(view, view_opt) | |
let pipeline_depth_stencil_state_create_flag_bits = Pipeline_depth_stencil_state_create_flags.index_view | |
let pipeline_depth_stencil_state_create_flag_bits_opt = Pipeline_depth_stencil_state_create_flags.index_view_opt | |
module Stencil_op = struct | |
type t = | Keep | |
| Zero | |
| Replace | |
| Increment_and_clamp | |
| Decrement_and_clamp | |
| Invert | |
| Increment_and_wrap | |
| Decrement_and_wrap | |
let to_int = function | |
| Keep -> 0 | |
| Zero -> 1 | |
| Replace -> 2 | |
| Increment_and_clamp -> 3 | |
| Decrement_and_clamp -> 4 | |
| Invert -> 5 | |
| Increment_and_wrap -> 6 | |
| Decrement_and_wrap -> 7 | |
let of_int = function | |
| 0 -> Keep | |
| 1 -> Zero | |
| 2 -> Replace | |
| 3 -> Increment_and_clamp | |
| 4 -> Decrement_and_clamp | |
| 5 -> Invert | |
| 6 -> Increment_and_wrap | |
| 7 -> Decrement_and_wrap | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Keep -> "Keep" | |
| Zero -> "Zero" | |
| Replace -> "Replace" | |
| Increment_and_clamp -> "Increment_and_clamp" | |
| Decrement_and_clamp -> "Decrement_and_clamp" | |
| Invert -> "Invert" | |
| Increment_and_wrap -> "Increment_and_wrap" | |
| Decrement_and_wrap -> "Decrement_and_wrap") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let stencil_op, stencil_op_opt = Stencil_op.(view,view_opt) | |
type stencil_op = Stencil_op.t | |
module Stencil_op_state = struct type t type stencil_op_state = t | |
let t: t structure typ = structure "stencil_op_state" | |
module Fields=struct | |
let fail_op = field t "fail_op" stencil_op | |
let pass_op = field t "pass_op" stencil_op | |
let depth_fail_op = field t "depth_fail_op" stencil_op | |
let compare_op = field t "compare_op" compare_op | |
let compare_mask = field t "compare_mask" uint_32_t | |
let write_mask = field t "write_mask" uint_32_t | |
let reference = field t "reference" uint_32_t | |
end | |
let fail_op record = Ctypes.getf record Fields.fail_op | |
let pass_op record = Ctypes.getf record Fields.pass_op | |
let depth_fail_op record = Ctypes.getf record Fields.depth_fail_op | |
let compare_op record = Ctypes.getf record Fields.compare_op | |
let compare_mask record = Ctypes.getf record Fields.compare_mask | |
let write_mask record = Ctypes.getf record Fields.write_mask | |
let reference record = Ctypes.getf record Fields.reference | |
let () = Ctypes.seal t | |
let make ~fail_op:arg__fail_op~pass_op:arg__pass_op | |
~depth_fail_op:arg__depth_fail_op~compare_op:arg__compare_op | |
~compare_mask:arg__compare_mask~write_mask:arg__write_mask | |
~reference:arg__reference = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.fail_op arg__fail_op; | |
Ctypes.setf generated__x__ Fields.pass_op arg__pass_op; | |
Ctypes.setf generated__x__ Fields.depth_fail_op arg__depth_fail_op; | |
Ctypes.setf generated__x__ Fields.compare_op arg__compare_op; | |
Ctypes.setf generated__x__ Fields.compare_mask arg__compare_mask; | |
Ctypes.setf generated__x__ Fields.write_mask arg__write_mask; | |
Ctypes.setf generated__x__ Fields.reference arg__reference; | |
Ctypes.addr generated__x__ end | |
let stencil_op_state = Stencil_op_state.t | |
type stencil_op_state = Stencil_op_state.t | |
module Pipeline_depth_stencil_state_create_info = struct type t | |
type pipeline_depth_stencil_state_create_info = t | |
let t: t structure typ = structure "pipeline_depth_stencil_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_depth_stencil_state_create_flags_opt | |
let depth_test_enable = field t "depth_test_enable" bool_32 | |
let depth_write_enable = field t "depth_write_enable" bool_32 | |
let depth_compare_op = field t "depth_compare_op" compare_op | |
let depth_bounds_test_enable = field t "depth_bounds_test_enable" bool_32 | |
let stencil_test_enable = field t "stencil_test_enable" bool_32 | |
let front = field t "front" stencil_op_state | |
let back = field t "back" stencil_op_state | |
let min_depth_bounds = field t "min_depth_bounds" float | |
let max_depth_bounds = field t "max_depth_bounds" float | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let depth_test_enable record = Ctypes.getf record Fields.depth_test_enable | |
let depth_write_enable record = Ctypes.getf record Fields.depth_write_enable | |
let depth_compare_op record = Ctypes.getf record Fields.depth_compare_op | |
let depth_bounds_test_enable record = Ctypes.getf record Fields.depth_bounds_test_enable | |
let stencil_test_enable record = Ctypes.getf record Fields.stencil_test_enable | |
let front record = Ctypes.getf record Fields.front | |
let back record = Ctypes.getf record Fields.back | |
let min_depth_bounds record = Ctypes.getf record Fields.min_depth_bounds | |
let max_depth_bounds record = Ctypes.getf record Fields.max_depth_bounds | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_depth_stencil_state_create_info_extension = .. | |
type pipeline_depth_stencil_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~depth_test_enable:arg__depth_test_enable | |
~depth_write_enable:arg__depth_write_enable | |
~depth_compare_op:arg__depth_compare_op | |
~depth_bounds_test_enable:arg__depth_bounds_test_enable | |
~stencil_test_enable:arg__stencil_test_enable~front:arg__front~back:arg__back | |
~min_depth_bounds:arg__min_depth_bounds | |
~max_depth_bounds:arg__max_depth_bounds ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_depth_stencil_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.depth_test_enable arg__depth_test_enable; | |
Ctypes.setf generated__x__ Fields.depth_write_enable arg__depth_write_enable; | |
Ctypes.setf generated__x__ Fields.depth_compare_op arg__depth_compare_op; | |
Ctypes.setf generated__x__ Fields.depth_bounds_test_enable arg__depth_bounds_test_enable; | |
Ctypes.setf generated__x__ Fields.stencil_test_enable arg__stencil_test_enable; | |
Ctypes.setf generated__x__ Fields.front arg__front; | |
Ctypes.setf generated__x__ Fields.back arg__back; | |
Ctypes.setf generated__x__ Fields.min_depth_bounds arg__min_depth_bounds; | |
Ctypes.setf generated__x__ Fields.max_depth_bounds arg__max_depth_bounds; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_depth_stencil_state_create_info = Pipeline_depth_stencil_state_create_info.t | |
type pipeline_depth_stencil_state_create_info = Pipeline_depth_stencil_state_create_info.t | |
module Pipeline_color_blend_state_create_flags = Bitset.Make() | |
type pipeline_color_blend_state_create_flags = Pipeline_color_blend_state_create_flags.t | |
let pipeline_color_blend_state_create_flags, pipeline_color_blend_state_create_flags_opt = Pipeline_color_blend_state_create_flags.(view, view_opt) | |
let pipeline_color_blend_state_create_flag_bits = Pipeline_color_blend_state_create_flags.index_view | |
let pipeline_color_blend_state_create_flag_bits_opt = Pipeline_color_blend_state_create_flags.index_view_opt | |
module Logic_op = struct | |
type t = | Clear | |
| And | |
| And_reverse | |
| Copy | |
| And_inverted | |
| No_op | |
| Xor | |
| Or | |
| Nor | |
| Equivalent | |
| Invert | |
| Or_reverse | |
| Copy_inverted | |
| Or_inverted | |
| Nand | |
| Set | |
let to_int = function | |
| Clear -> 0 | |
| And -> 1 | |
| And_reverse -> 2 | |
| Copy -> 3 | |
| And_inverted -> 4 | |
| No_op -> 5 | |
| Xor -> 6 | |
| Or -> 7 | |
| Nor -> 8 | |
| Equivalent -> 9 | |
| Invert -> 10 | |
| Or_reverse -> 11 | |
| Copy_inverted -> 12 | |
| Or_inverted -> 13 | |
| Nand -> 14 | |
| Set -> 15 | |
let of_int = function | |
| 0 -> Clear | |
| 1 -> And | |
| 2 -> And_reverse | |
| 3 -> Copy | |
| 4 -> And_inverted | |
| 5 -> No_op | |
| 6 -> Xor | |
| 7 -> Or | |
| 8 -> Nor | |
| 9 -> Equivalent | |
| 10 -> Invert | |
| 11 -> Or_reverse | |
| 12 -> Copy_inverted | |
| 13 -> Or_inverted | |
| 14 -> Nand | |
| 15 -> Set | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Clear -> "Clear" | |
| And -> "And" | |
| And_reverse -> "And_reverse" | |
| Copy -> "Copy" | |
| And_inverted -> "And_inverted" | |
| No_op -> "No_op" | |
| Xor -> "Xor" | |
| Or -> "Or" | |
| Nor -> "Nor" | |
| Equivalent -> "Equivalent" | |
| Invert -> "Invert" | |
| Or_reverse -> "Or_reverse" | |
| Copy_inverted -> "Copy_inverted" | |
| Or_inverted -> "Or_inverted" | |
| Nand -> "Nand" | |
| Set -> "Set") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let logic_op, logic_op_opt = Logic_op.(view,view_opt) | |
type logic_op = Logic_op.t | |
module Pipeline_color_blend_attachment_state = struct type t | |
type pipeline_color_blend_attachment_state = t | |
let t: t structure typ = structure "pipeline_color_blend_attachment_state" | |
module Fields=struct | |
let blend_enable = field t "blend_enable" bool_32 | |
let src_color_blend_factor = field t "src_color_blend_factor" blend_factor | |
let dst_color_blend_factor = field t "dst_color_blend_factor" blend_factor | |
let color_blend_op = field t "color_blend_op" blend_op | |
let src_alpha_blend_factor = field t "src_alpha_blend_factor" blend_factor | |
let dst_alpha_blend_factor = field t "dst_alpha_blend_factor" blend_factor | |
let alpha_blend_op = field t "alpha_blend_op" blend_op | |
let color_write_mask = field t "color_write_mask" color_component_flags_opt | |
end | |
let blend_enable record = Ctypes.getf record Fields.blend_enable | |
let src_color_blend_factor record = Ctypes.getf record Fields.src_color_blend_factor | |
let dst_color_blend_factor record = Ctypes.getf record Fields.dst_color_blend_factor | |
let color_blend_op record = Ctypes.getf record Fields.color_blend_op | |
let src_alpha_blend_factor record = Ctypes.getf record Fields.src_alpha_blend_factor | |
let dst_alpha_blend_factor record = Ctypes.getf record Fields.dst_alpha_blend_factor | |
let alpha_blend_op record = Ctypes.getf record Fields.alpha_blend_op | |
let color_write_mask record = Ctypes.getf record Fields.color_write_mask | |
let () = Ctypes.seal t | |
let make ~blend_enable:arg__blend_enable | |
~src_color_blend_factor:arg__src_color_blend_factor | |
~dst_color_blend_factor:arg__dst_color_blend_factor | |
~color_blend_op:arg__color_blend_op | |
~src_alpha_blend_factor:arg__src_alpha_blend_factor | |
~dst_alpha_blend_factor:arg__dst_alpha_blend_factor | |
~alpha_blend_op:arg__alpha_blend_op?color_write_mask:arg__color_write_mask | |
()= let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.blend_enable arg__blend_enable; | |
Ctypes.setf generated__x__ Fields.src_color_blend_factor arg__src_color_blend_factor; | |
Ctypes.setf generated__x__ Fields.dst_color_blend_factor arg__dst_color_blend_factor; | |
Ctypes.setf generated__x__ Fields.color_blend_op arg__color_blend_op; | |
Ctypes.setf generated__x__ Fields.src_alpha_blend_factor arg__src_alpha_blend_factor; | |
Ctypes.setf generated__x__ Fields.dst_alpha_blend_factor arg__dst_alpha_blend_factor; | |
Ctypes.setf generated__x__ Fields.alpha_blend_op arg__alpha_blend_op; | |
Ctypes.setf generated__x__ Fields.color_write_mask arg__color_write_mask; | |
Ctypes.addr generated__x__ end | |
let pipeline_color_blend_attachment_state = Pipeline_color_blend_attachment_state.t | |
type pipeline_color_blend_attachment_state = Pipeline_color_blend_attachment_state.t | |
module Pipeline_color_blend_state_create_info = struct type t | |
type pipeline_color_blend_state_create_info = t | |
let t: t structure typ = structure "pipeline_color_blend_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_color_blend_state_create_flags_opt | |
let logic_op_enable = field t "logic_op_enable" bool_32 | |
let logic_op = field t "logic_op" logic_op | |
let attachment_count = field t "attachment_count" uint_32_t_opt | |
let attachments = field t "attachments" (ptr pipeline_color_blend_attachment_state) | |
let blend_constants = field t "blend_constants" (array 4 @@ float) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let logic_op_enable record = Ctypes.getf record Fields.logic_op_enable | |
let logic_op record = Ctypes.getf record Fields.logic_op | |
let attachments record = match Ctypes.getf record Fields.attachment_count, Ctypes.getf record Fields.attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let blend_constants record = Ctypes.getf record Fields.blend_constants | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_color_blend_state_create_info_extension = .. | |
type pipeline_color_blend_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~logic_op_enable:arg__logic_op_enable~logic_op:arg__logic_op | |
?attachments:arg__attachments~blend_constants:arg__blend_constants ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_color_blend_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.logic_op_enable arg__logic_op_enable; | |
Ctypes.setf generated__x__ Fields.logic_op arg__logic_op; | |
begin match arg__attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.attachment_count None; | |
Ctypes.setf generated__x__ Fields.attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__attachments ->(Ctypes.setf generated__x__ Fields.attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__attachments))); | |
Ctypes.setf generated__x__ Fields.attachments (Ctypes.CArray.start arg__attachments)) | |
end; | |
Ctypes.setf generated__x__ Fields.blend_constants arg__blend_constants; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_color_blend_state_create_info = Pipeline_color_blend_state_create_info.t | |
type pipeline_color_blend_state_create_info = Pipeline_color_blend_state_create_info.t | |
module Pipeline_dynamic_state_create_flags = Bitset.Make() | |
type pipeline_dynamic_state_create_flags = Pipeline_dynamic_state_create_flags.t | |
let pipeline_dynamic_state_create_flags, pipeline_dynamic_state_create_flags_opt = Pipeline_dynamic_state_create_flags.(view, view_opt) | |
let pipeline_dynamic_state_create_flag_bits = Pipeline_dynamic_state_create_flags.index_view | |
let pipeline_dynamic_state_create_flag_bits_opt = Pipeline_dynamic_state_create_flags.index_view_opt | |
module Pipeline_dynamic_state_create_info = struct type t | |
type pipeline_dynamic_state_create_info = t | |
let t: t structure typ = structure "pipeline_dynamic_state_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_dynamic_state_create_flags_opt | |
let dynamic_state_count = field t "dynamic_state_count" uint_32_t | |
let dynamic_states = field t "dynamic_states" (ptr dynamic_state) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let dynamic_states record = let dynamic_state_count = Ctypes.getf record Fields.dynamic_state_count and dynamic_states = Ctypes.getf record Fields.dynamic_states in | |
Ctypes.CArray.from_ptr (dynamic_states) (Uint_32_t.to_int (dynamic_state_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_dynamic_state_create_info_extension = .. | |
type pipeline_dynamic_state_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~dynamic_states:arg__dynamic_states ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_dynamic_state_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.dynamic_state_count (Uint_32_t.of_int(Ctypes.CArray.length arg__dynamic_states)); | |
Ctypes.setf generated__x__ Fields.dynamic_states (Ctypes.CArray.start arg__dynamic_states); | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_dynamic_state_create_info = Pipeline_dynamic_state_create_info.t | |
type pipeline_dynamic_state_create_info = Pipeline_dynamic_state_create_info.t | |
module Graphics_pipeline_create_info = struct type t | |
type graphics_pipeline_create_info = t | |
let t: t structure typ = structure "graphics_pipeline_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_create_flags_opt | |
let stage_count = field t "stage_count" uint_32_t | |
let stages = field t "stages" (ptr pipeline_shader_stage_create_info) | |
let vertex_input_state = field t "vertex_input_state" (ptr pipeline_vertex_input_state_create_info) | |
let input_assembly_state = field t "input_assembly_state" (ptr pipeline_input_assembly_state_create_info) | |
let tessellation_state = field t "tessellation_state" (ptr_opt (pipeline_tessellation_state_create_info)) | |
let viewport_state = field t "viewport_state" (ptr_opt (pipeline_viewport_state_create_info)) | |
let rasterization_state = field t "rasterization_state" (ptr pipeline_rasterization_state_create_info) | |
let multisample_state = field t "multisample_state" (ptr_opt (pipeline_multisample_state_create_info)) | |
let depth_stencil_state = field t "depth_stencil_state" (ptr_opt (pipeline_depth_stencil_state_create_info)) | |
let color_blend_state = field t "color_blend_state" (ptr_opt (pipeline_color_blend_state_create_info)) | |
let dynamic_state = field t "dynamic_state" (ptr_opt (pipeline_dynamic_state_create_info)) | |
let layout = field t "layout" pipeline_layout | |
let render_pass = field t "render_pass" render_pass | |
let subpass = field t "subpass" uint_32_t | |
let base_pipeline_handle = field t "base_pipeline_handle" pipeline_opt | |
let base_pipeline_index = field t "base_pipeline_index" int_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let stages record = let stage_count = Ctypes.getf record Fields.stage_count and stages = Ctypes.getf record Fields.stages in | |
Ctypes.CArray.from_ptr (stages) (Uint_32_t.to_int (stage_count)) | |
let vertex_input_state record = Ctypes.getf record Fields.vertex_input_state | |
let input_assembly_state record = Ctypes.getf record Fields.input_assembly_state | |
let tessellation_state record = Ctypes.getf record Fields.tessellation_state | |
let viewport_state record = Ctypes.getf record Fields.viewport_state | |
let rasterization_state record = Ctypes.getf record Fields.rasterization_state | |
let multisample_state record = Ctypes.getf record Fields.multisample_state | |
let depth_stencil_state record = Ctypes.getf record Fields.depth_stencil_state | |
let color_blend_state record = Ctypes.getf record Fields.color_blend_state | |
let dynamic_state record = Ctypes.getf record Fields.dynamic_state | |
let layout record = Ctypes.getf record Fields.layout | |
let render_pass record = Ctypes.getf record Fields.render_pass | |
let subpass record = Ctypes.getf record Fields.subpass | |
let base_pipeline_handle record = Ctypes.getf record Fields.base_pipeline_handle | |
let base_pipeline_index record = Ctypes.getf record Fields.base_pipeline_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type graphics_pipeline_create_info_extension = .. | |
type graphics_pipeline_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~stages:arg__stages~vertex_input_state:arg__vertex_input_state | |
~input_assembly_state:arg__input_assembly_state | |
?tessellation_state:arg__tessellation_state | |
?viewport_state:arg__viewport_state | |
~rasterization_state:arg__rasterization_state | |
?multisample_state:arg__multisample_state | |
?depth_stencil_state:arg__depth_stencil_state | |
?color_blend_state:arg__color_blend_state?dynamic_state:arg__dynamic_state | |
~layout:arg__layout~render_pass:arg__render_pass~subpass:arg__subpass | |
?base_pipeline_handle:arg__base_pipeline_handle | |
~base_pipeline_index:arg__base_pipeline_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Graphics_pipeline_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.stage_count (Uint_32_t.of_int(Ctypes.CArray.length arg__stages)); | |
Ctypes.setf generated__x__ Fields.stages (Ctypes.CArray.start arg__stages); | |
Ctypes.setf generated__x__ Fields.vertex_input_state arg__vertex_input_state; | |
Ctypes.setf generated__x__ Fields.input_assembly_state arg__input_assembly_state; | |
Ctypes.setf generated__x__ Fields.tessellation_state arg__tessellation_state; | |
Ctypes.setf generated__x__ Fields.viewport_state arg__viewport_state; | |
Ctypes.setf generated__x__ Fields.rasterization_state arg__rasterization_state; | |
Ctypes.setf generated__x__ Fields.multisample_state arg__multisample_state; | |
Ctypes.setf generated__x__ Fields.depth_stencil_state arg__depth_stencil_state; | |
Ctypes.setf generated__x__ Fields.color_blend_state arg__color_blend_state; | |
Ctypes.setf generated__x__ Fields.dynamic_state arg__dynamic_state; | |
Ctypes.setf generated__x__ Fields.layout arg__layout; | |
Ctypes.setf generated__x__ Fields.render_pass arg__render_pass; | |
Ctypes.setf generated__x__ Fields.subpass arg__subpass; | |
Ctypes.setf generated__x__ Fields.base_pipeline_handle arg__base_pipeline_handle; | |
Ctypes.setf generated__x__ Fields.base_pipeline_index arg__base_pipeline_index; | |
Ctypes.addr generated__x__ | |
end | |
let graphics_pipeline_create_info = Graphics_pipeline_create_info.t | |
type graphics_pipeline_create_info = Graphics_pipeline_create_info.t | |
module X_y_color_ext = struct type t type x_y_color_ext = t | |
let t: t structure typ = structure "x_y_color_ext" | |
module Fields=struct | |
let x = field t "x" float | |
let y = field t "y" float | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; Ctypes.addr generated__x__ end | |
let x_y_color_ext = X_y_color_ext.t | |
type x_y_color_ext = X_y_color_ext.t | |
module Hdr_metadata_ext = struct type t type hdr_metadata_ext = t | |
let t: t structure typ = structure "hdr_metadata_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let display_primary_red = field t "display_primary_red" x_y_color_ext | |
let display_primary_green = field t "display_primary_green" x_y_color_ext | |
let display_primary_blue = field t "display_primary_blue" x_y_color_ext | |
let white_point = field t "white_point" x_y_color_ext | |
let max_luminance = field t "max_luminance" float | |
let min_luminance = field t "min_luminance" float | |
let max_content_light_level = field t "max_content_light_level" float | |
let max_frame_average_light_level = field t "max_frame_average_light_level" float | |
end | |
let display_primary_red record = Ctypes.getf record Fields.display_primary_red | |
let display_primary_green record = Ctypes.getf record Fields.display_primary_green | |
let display_primary_blue record = Ctypes.getf record Fields.display_primary_blue | |
let white_point record = Ctypes.getf record Fields.white_point | |
let max_luminance record = Ctypes.getf record Fields.max_luminance | |
let min_luminance record = Ctypes.getf record Fields.min_luminance | |
let max_content_light_level record = Ctypes.getf record Fields.max_content_light_level | |
let max_frame_average_light_level record = Ctypes.getf record Fields.max_frame_average_light_level | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type hdr_metadata_ext_extension = .. | |
type hdr_metadata_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~display_primary_red:arg__display_primary_red | |
~display_primary_green:arg__display_primary_green | |
~display_primary_blue:arg__display_primary_blue~white_point:arg__white_point | |
~max_luminance:arg__max_luminance~min_luminance:arg__min_luminance | |
~max_content_light_level:arg__max_content_light_level | |
~max_frame_average_light_level:arg__max_frame_average_light_level ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Hdr_metadata_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.display_primary_red arg__display_primary_red; | |
Ctypes.setf generated__x__ Fields.display_primary_green arg__display_primary_green; | |
Ctypes.setf generated__x__ Fields.display_primary_blue arg__display_primary_blue; | |
Ctypes.setf generated__x__ Fields.white_point arg__white_point; | |
Ctypes.setf generated__x__ Fields.max_luminance arg__max_luminance; | |
Ctypes.setf generated__x__ Fields.min_luminance arg__min_luminance; | |
Ctypes.setf generated__x__ Fields.max_content_light_level arg__max_content_light_level; | |
Ctypes.setf generated__x__ Fields.max_frame_average_light_level arg__max_frame_average_light_level; | |
Ctypes.addr generated__x__ | |
end | |
let hdr_metadata_ext = Hdr_metadata_ext.t | |
type hdr_metadata_ext = Hdr_metadata_ext.t | |
module Ios_surface_create_flags_mvk = Bitset.Make() | |
type ios_surface_create_flags_mvk = Ios_surface_create_flags_mvk.t | |
let ios_surface_create_flags_mvk, ios_surface_create_flags_mvk_opt = Ios_surface_create_flags_mvk.(view, view_opt) | |
let ios_surface_create_flag_bits_mvk = Ios_surface_create_flags_mvk.index_view | |
let ios_surface_create_flag_bits_mvk_opt = Ios_surface_create_flags_mvk.index_view_opt | |
module Ios_surface_create_info_mvk = struct type t | |
type ios_surface_create_info_mvk = t | |
let t: t structure typ = structure "ios_surface_create_info_mvk" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" ios_surface_create_flags_mvk_opt | |
let view = field t "view" (ptr void) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let view record = Ctypes.getf record Fields.view let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type ios_surface_create_info_mvk_extension = .. | |
type ios_surface_create_info_mvk_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~view:arg__view | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Ios_surface_create_info_mvk, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.view arg__view; Ctypes.addr generated__x__ | |
end | |
let ios_surface_create_info_mvk = Ios_surface_create_info_mvk.t | |
type ios_surface_create_info_mvk = Ios_surface_create_info_mvk.t | |
module Image_blit = struct type t type image_blit = t | |
let t: t structure typ = structure "image_blit" | |
module Fields=struct | |
let src_subresource = field t "src_subresource" image_subresource_layers | |
let src_offsets = field t "src_offsets" (array 2 @@ offset_3d) | |
let dst_subresource = field t "dst_subresource" image_subresource_layers | |
let dst_offsets = field t "dst_offsets" (array 2 @@ offset_3d) | |
end | |
let src_subresource record = Ctypes.getf record Fields.src_subresource | |
let src_offsets record = Ctypes.getf record Fields.src_offsets | |
let dst_subresource record = Ctypes.getf record Fields.dst_subresource | |
let dst_offsets record = Ctypes.getf record Fields.dst_offsets | |
let () = Ctypes.seal t | |
let make ~src_subresource:arg__src_subresource~src_offsets:arg__src_offsets | |
~dst_subresource:arg__dst_subresource~dst_offsets:arg__dst_offsets = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.src_subresource arg__src_subresource; | |
Ctypes.setf generated__x__ Fields.src_offsets arg__src_offsets; | |
Ctypes.setf generated__x__ Fields.dst_subresource arg__dst_subresource; | |
Ctypes.setf generated__x__ Fields.dst_offsets arg__dst_offsets; | |
Ctypes.addr generated__x__ end | |
let image_blit = Image_blit.t | |
type image_blit = Image_blit.t | |
module Image_copy = struct type t type image_copy = t | |
let t: t structure typ = structure "image_copy" | |
module Fields=struct | |
let src_subresource = field t "src_subresource" image_subresource_layers | |
let src_offset = field t "src_offset" offset_3d | |
let dst_subresource = field t "dst_subresource" image_subresource_layers | |
let dst_offset = field t "dst_offset" offset_3d | |
let extent = field t "extent" extent_3d | |
end | |
let src_subresource record = Ctypes.getf record Fields.src_subresource | |
let src_offset record = Ctypes.getf record Fields.src_offset | |
let dst_subresource record = Ctypes.getf record Fields.dst_subresource | |
let dst_offset record = Ctypes.getf record Fields.dst_offset | |
let extent record = Ctypes.getf record Fields.extent | |
let () = Ctypes.seal t | |
let make ~src_subresource:arg__src_subresource~src_offset:arg__src_offset | |
~dst_subresource:arg__dst_subresource~dst_offset:arg__dst_offset | |
~extent:arg__extent = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.src_subresource arg__src_subresource; | |
Ctypes.setf generated__x__ Fields.src_offset arg__src_offset; | |
Ctypes.setf generated__x__ Fields.dst_subresource arg__dst_subresource; | |
Ctypes.setf generated__x__ Fields.dst_offset arg__dst_offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.addr generated__x__ end | |
let image_copy = Image_copy.t | |
type image_copy = Image_copy.t | |
module Image_create_flags = struct | |
include Bitset.Make() | |
let n2d_array_compatible_bit_khr = make_index 5 | |
let bind_sfr_bit_khx = make_index 6 | |
let cube_compatible = make_index 4 | |
let mutable_format = make_index 3 | |
let sparse_aliased = make_index 2 | |
let sparse_residency = make_index 1 | |
let sparse_binding = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem n2d_array_compatible_bit_khr set then | |
Printer.fprintf ppf "n2d_array_compatible_bit_khr;@ " | |
else (); | |
if mem bind_sfr_bit_khx set then | |
Printer.fprintf ppf "bind_sfr_bit_khx;@ " | |
else (); | |
if mem cube_compatible set then | |
Printer.fprintf ppf "cube_compatible;@ " | |
else (); | |
if mem mutable_format set then | |
Printer.fprintf ppf "mutable_format;@ " | |
else (); | |
if mem sparse_aliased set then | |
Printer.fprintf ppf "sparse_aliased;@ " | |
else (); | |
if mem sparse_residency set then | |
Printer.fprintf ppf "sparse_residency;@ " | |
else (); | |
if mem sparse_binding set then | |
Printer.fprintf ppf "sparse_binding;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type image_create_flags = Image_create_flags.t | |
let image_create_flags, image_create_flags_opt = Image_create_flags.(view, view_opt) | |
let image_create_flag_bits = Image_create_flags.index_view | |
let image_create_flag_bits_opt = Image_create_flags.index_view_opt | |
module Image_swapchain_create_info_khx = struct type t | |
type image_swapchain_create_info_khx = t | |
let t: t structure typ = structure "image_swapchain_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain = field t "swapchain" swapchain_khr_opt | |
end | |
let swapchain record = Ctypes.getf record Fields.swapchain | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type image_swapchain_create_info_khx_extension = .. | |
type image_swapchain_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?swapchain:arg__swapchain ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Image_swapchain_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.swapchain arg__swapchain; | |
Ctypes.addr generated__x__ | |
end | |
let image_swapchain_create_info_khx = Image_swapchain_create_info_khx.t | |
type image_swapchain_create_info_khx = Image_swapchain_create_info_khx.t | |
module Image_type = struct | |
type t = | N1d | |
| N2d | |
| N3d | |
let to_int = function | |
| N1d -> 0 | |
| N2d -> 1 | |
| N3d -> 2 | |
let of_int = function | |
| 0 -> N1d | |
| 1 -> N2d | |
| 2 -> N3d | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| N1d -> "N1d" | |
| N2d -> "N2d" | |
| N3d -> "N3d") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let image_type, image_type_opt = Image_type.(view,view_opt) | |
type image_type = Image_type.t | |
module Image_tiling = struct | |
type t = | Optimal | |
| Linear | |
let to_int = function | |
| Optimal -> 0 | |
| Linear -> 1 | |
let of_int = function | |
| 0 -> Optimal | |
| 1 -> Linear | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Optimal -> "Optimal" | |
| Linear -> "Linear") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let image_tiling, image_tiling_opt = Image_tiling.(view,view_opt) | |
type image_tiling = Image_tiling.t | |
module Image_usage_flags = struct | |
include Bitset.Make() | |
let input_attachment = make_index 7 | |
let transient_attachment = make_index 6 | |
let depth_stencil_attachment = make_index 5 | |
let color_attachment = make_index 4 | |
let storage = make_index 3 | |
let sampled = make_index 2 | |
let transfer_dst = make_index 1 | |
let transfer_src = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem input_attachment set then | |
Printer.fprintf ppf "input_attachment;@ " | |
else (); | |
if mem transient_attachment set then | |
Printer.fprintf ppf "transient_attachment;@ " | |
else (); | |
if mem depth_stencil_attachment set then | |
Printer.fprintf ppf "depth_stencil_attachment;@ " | |
else (); | |
if mem color_attachment set then | |
Printer.fprintf ppf "color_attachment;@ " | |
else (); | |
if mem storage set then | |
Printer.fprintf ppf "storage;@ " | |
else (); | |
if mem sampled set then | |
Printer.fprintf ppf "sampled;@ " | |
else (); | |
if mem transfer_dst set then | |
Printer.fprintf ppf "transfer_dst;@ " | |
else (); | |
if mem transfer_src set then | |
Printer.fprintf ppf "transfer_src;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type image_usage_flags = Image_usage_flags.t | |
let image_usage_flags, image_usage_flags_opt = Image_usage_flags.(view, view_opt) | |
let image_usage_flag_bits = Image_usage_flags.index_view | |
let image_usage_flag_bits_opt = Image_usage_flags.index_view_opt | |
module Image_create_info = struct type t type image_create_info = t | |
let t: t structure typ = structure "image_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" image_create_flags_opt | |
let image_type = field t "image_type" image_type | |
let format = field t "format" format | |
let extent = field t "extent" extent_3d | |
let mip_levels = field t "mip_levels" uint_32_t | |
let array_layers = field t "array_layers" uint_32_t | |
let samples = field t "samples" sample_count_flag_bits | |
let tiling = field t "tiling" image_tiling | |
let usage = field t "usage" image_usage_flags | |
let sharing_mode = field t "sharing_mode" sharing_mode | |
let queue_family_index_count = field t "queue_family_index_count" uint_32_t_opt | |
let queue_family_indices = field t "queue_family_indices" (ptr uint_32_t) | |
let initial_layout = field t "initial_layout" image_layout | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let image_type record = Ctypes.getf record Fields.image_type | |
let format record = Ctypes.getf record Fields.format | |
let extent record = Ctypes.getf record Fields.extent | |
let mip_levels record = Ctypes.getf record Fields.mip_levels | |
let array_layers record = Ctypes.getf record Fields.array_layers | |
let samples record = Ctypes.getf record Fields.samples | |
let tiling record = Ctypes.getf record Fields.tiling | |
let usage record = Ctypes.getf record Fields.usage | |
let sharing_mode record = Ctypes.getf record Fields.sharing_mode | |
let queue_family_indices record = match Ctypes.getf record Fields.queue_family_index_count, Ctypes.getf record Fields.queue_family_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let initial_layout record = Ctypes.getf record Fields.initial_layout | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type image_create_info_extension = .. | |
type image_create_info_extension += | No_extension | |
| Image_swapchain_create_info_khx of image_swapchain_create_info_khx Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~image_type:arg__image_type~format:arg__format~extent:arg__extent | |
~mip_levels:arg__mip_levels~array_layers:arg__array_layers | |
~samples:arg__samples~tiling:arg__tiling~usage:arg__usage | |
~sharing_mode:arg__sharing_mode | |
?queue_family_indices:arg__queue_family_indices | |
~initial_layout:arg__initial_layout ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Image_create_info, Ctypes.null | |
| Image_swapchain_create_info_khx x -> | |
Structure_type.Image_swapchain_create_info_khx, | |
Ctypes.( coerce (ptr image_swapchain_create_info_khx) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.image_type arg__image_type; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.setf generated__x__ Fields.mip_levels arg__mip_levels; | |
Ctypes.setf generated__x__ Fields.array_layers arg__array_layers; | |
Ctypes.setf generated__x__ Fields.samples arg__samples; | |
Ctypes.setf generated__x__ Fields.tiling arg__tiling; | |
Ctypes.setf generated__x__ Fields.usage arg__usage; | |
Ctypes.setf generated__x__ Fields.sharing_mode arg__sharing_mode; | |
begin match arg__queue_family_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.queue_family_index_count None; | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__queue_family_indices ->(Ctypes.setf generated__x__ Fields.queue_family_index_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__queue_family_indices))); | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Ctypes.CArray.start arg__queue_family_indices)) | |
end; | |
Ctypes.setf generated__x__ Fields.initial_layout arg__initial_layout; | |
Ctypes.addr generated__x__ | |
end | |
let image_create_info = Image_create_info.t | |
type image_create_info = Image_create_info.t | |
module Texture_lod_gather_format_properties_amd = struct type t | |
type texture_lod_gather_format_properties_amd = t | |
let t: t structure typ = structure "texture_lod_gather_format_properties_amd" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let supports_texture_gather_lod_bias_amd = field t "supports_texture_gather_lod_bias_amd" bool_32 | |
end | |
let supports_texture_gather_lod_bias_amd record = Ctypes.getf record Fields.supports_texture_gather_lod_bias_amd | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type texture_lod_gather_format_properties_amd_extension = .. | |
type texture_lod_gather_format_properties_amd_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~supports_texture_gather_lod_bias_amd:arg__supports_texture_gather_lod_bias_amd | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Texture_lod_gather_format_properties_amd, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.supports_texture_gather_lod_bias_amd arg__supports_texture_gather_lod_bias_amd; | |
Ctypes.addr generated__x__ | |
end | |
let texture_lod_gather_format_properties_amd = Texture_lod_gather_format_properties_amd.t | |
type texture_lod_gather_format_properties_amd = Texture_lod_gather_format_properties_amd.t | |
module Image_format_properties_2_khr = struct type t | |
type image_format_properties_2_khr = t | |
let t: t structure typ = structure "image_format_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let image_format_properties = field t "image_format_properties" image_format_properties | |
end | |
let image_format_properties record = Ctypes.getf record Fields.image_format_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type image_format_properties_2_khr_extension = .. | |
type image_format_properties_2_khr_extension += | No_extension | |
| Texture_lod_gather_format_properties_amd of texture_lod_gather_format_properties_amd Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension) | |
~image_format_properties:arg__image_format_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Image_format_properties_2_khr, Ctypes.null | |
| Texture_lod_gather_format_properties_amd x -> | |
Structure_type.Texture_lod_gather_format_properties_amd, | |
Ctypes.( coerce (ptr texture_lod_gather_format_properties_amd) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.image_format_properties arg__image_format_properties; | |
Ctypes.addr generated__x__ | |
end | |
let image_format_properties_2_khr = Image_format_properties_2_khr.t | |
type image_format_properties_2_khr = Image_format_properties_2_khr.t | |
module Image_subresource_range = struct type t | |
type image_subresource_range = t | |
let t: t structure typ = structure "image_subresource_range" | |
module Fields=struct | |
let aspect_mask = field t "aspect_mask" image_aspect_flags | |
let base_mip_level = field t "base_mip_level" uint_32_t | |
let level_count = field t "level_count" uint_32_t | |
let base_array_layer = field t "base_array_layer" uint_32_t | |
let layer_count = field t "layer_count" uint_32_t | |
end | |
let aspect_mask record = Ctypes.getf record Fields.aspect_mask | |
let base_mip_level record = Ctypes.getf record Fields.base_mip_level | |
let level_count record = Ctypes.getf record Fields.level_count | |
let base_array_layer record = Ctypes.getf record Fields.base_array_layer | |
let layer_count record = Ctypes.getf record Fields.layer_count | |
let () = Ctypes.seal t | |
let make ~aspect_mask:arg__aspect_mask~base_mip_level:arg__base_mip_level | |
~level_count:arg__level_count~base_array_layer:arg__base_array_layer | |
~layer_count:arg__layer_count = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.aspect_mask arg__aspect_mask; | |
Ctypes.setf generated__x__ Fields.base_mip_level arg__base_mip_level; | |
Ctypes.setf generated__x__ Fields.level_count arg__level_count; | |
Ctypes.setf generated__x__ Fields.base_array_layer arg__base_array_layer; | |
Ctypes.setf generated__x__ Fields.layer_count arg__layer_count; | |
Ctypes.addr generated__x__ end | |
let image_subresource_range = Image_subresource_range.t | |
type image_subresource_range = Image_subresource_range.t | |
module Image_memory_barrier = struct type t type image_memory_barrier = t | |
let t: t structure typ = structure "image_memory_barrier" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let src_access_mask = field t "src_access_mask" access_flags_opt | |
let dst_access_mask = field t "dst_access_mask" access_flags_opt | |
let old_layout = field t "old_layout" image_layout | |
let new_layout = field t "new_layout" image_layout | |
let src_queue_family_index = field t "src_queue_family_index" uint_32_t | |
let dst_queue_family_index = field t "dst_queue_family_index" uint_32_t | |
let image = field t "image" image | |
let subresource_range = field t "subresource_range" image_subresource_range | |
end | |
let src_access_mask record = Ctypes.getf record Fields.src_access_mask | |
let dst_access_mask record = Ctypes.getf record Fields.dst_access_mask | |
let old_layout record = Ctypes.getf record Fields.old_layout | |
let new_layout record = Ctypes.getf record Fields.new_layout | |
let src_queue_family_index record = Ctypes.getf record Fields.src_queue_family_index | |
let dst_queue_family_index record = Ctypes.getf record Fields.dst_queue_family_index | |
let image record = Ctypes.getf record Fields.image | |
let subresource_range record = Ctypes.getf record Fields.subresource_range | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type image_memory_barrier_extension = .. | |
type image_memory_barrier_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?src_access_mask:arg__src_access_mask?dst_access_mask:arg__dst_access_mask | |
~old_layout:arg__old_layout~new_layout:arg__new_layout | |
~src_queue_family_index:arg__src_queue_family_index | |
~dst_queue_family_index:arg__dst_queue_family_index~image:arg__image | |
~subresource_range:arg__subresource_range ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Image_memory_barrier, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.src_access_mask arg__src_access_mask; | |
Ctypes.setf generated__x__ Fields.dst_access_mask arg__dst_access_mask; | |
Ctypes.setf generated__x__ Fields.old_layout arg__old_layout; | |
Ctypes.setf generated__x__ Fields.new_layout arg__new_layout; | |
Ctypes.setf generated__x__ Fields.src_queue_family_index arg__src_queue_family_index; | |
Ctypes.setf generated__x__ Fields.dst_queue_family_index arg__dst_queue_family_index; | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.subresource_range arg__subresource_range; | |
Ctypes.addr generated__x__ | |
end | |
let image_memory_barrier = Image_memory_barrier.t | |
type image_memory_barrier = Image_memory_barrier.t | |
module Image_resolve = struct type t type image_resolve = t | |
let t: t structure typ = structure "image_resolve" | |
module Fields=struct | |
let src_subresource = field t "src_subresource" image_subresource_layers | |
let src_offset = field t "src_offset" offset_3d | |
let dst_subresource = field t "dst_subresource" image_subresource_layers | |
let dst_offset = field t "dst_offset" offset_3d | |
let extent = field t "extent" extent_3d | |
end | |
let src_subresource record = Ctypes.getf record Fields.src_subresource | |
let src_offset record = Ctypes.getf record Fields.src_offset | |
let dst_subresource record = Ctypes.getf record Fields.dst_subresource | |
let dst_offset record = Ctypes.getf record Fields.dst_offset | |
let extent record = Ctypes.getf record Fields.extent | |
let () = Ctypes.seal t | |
let make ~src_subresource:arg__src_subresource~src_offset:arg__src_offset | |
~dst_subresource:arg__dst_subresource~dst_offset:arg__dst_offset | |
~extent:arg__extent = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.src_subresource arg__src_subresource; | |
Ctypes.setf generated__x__ Fields.src_offset arg__src_offset; | |
Ctypes.setf generated__x__ Fields.dst_subresource arg__dst_subresource; | |
Ctypes.setf generated__x__ Fields.dst_offset arg__dst_offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.addr generated__x__ end | |
let image_resolve = Image_resolve.t | |
type image_resolve = Image_resolve.t | |
module Image_view_create_flags = Bitset.Make() | |
type image_view_create_flags = Image_view_create_flags.t | |
let image_view_create_flags, image_view_create_flags_opt = Image_view_create_flags.(view, view_opt) | |
let image_view_create_flag_bits = Image_view_create_flags.index_view | |
let image_view_create_flag_bits_opt = Image_view_create_flags.index_view_opt | |
module Image_view_type = struct | |
type t = | N1d | |
| N2d | |
| N3d | |
| Cube | |
| N1d_array | |
| N2d_array | |
| Cube_array | |
let to_int = function | |
| N1d -> 0 | |
| N2d -> 1 | |
| N3d -> 2 | |
| Cube -> 3 | |
| N1d_array -> 4 | |
| N2d_array -> 5 | |
| Cube_array -> 6 | |
let of_int = function | |
| 0 -> N1d | |
| 1 -> N2d | |
| 2 -> N3d | |
| 3 -> Cube | |
| 4 -> N1d_array | |
| 5 -> N2d_array | |
| 6 -> Cube_array | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| N1d -> "N1d" | |
| N2d -> "N2d" | |
| N3d -> "N3d" | |
| Cube -> "Cube" | |
| N1d_array -> "N1d_array" | |
| N2d_array -> "N2d_array" | |
| Cube_array -> "Cube_array") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let image_view_type, image_view_type_opt = Image_view_type.(view,view_opt) | |
type image_view_type = Image_view_type.t | |
module Image_view_create_info = struct type t | |
type image_view_create_info = t | |
let t: t structure typ = structure "image_view_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" image_view_create_flags_opt | |
let image = field t "image" image | |
let view_type = field t "view_type" image_view_type | |
let format = field t "format" format | |
let components = field t "components" component_mapping | |
let subresource_range = field t "subresource_range" image_subresource_range | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let image record = Ctypes.getf record Fields.image | |
let view_type record = Ctypes.getf record Fields.view_type | |
let format record = Ctypes.getf record Fields.format | |
let components record = Ctypes.getf record Fields.components | |
let subresource_range record = Ctypes.getf record Fields.subresource_range | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type image_view_create_info_extension = .. | |
type image_view_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~image:arg__image | |
~view_type:arg__view_type~format:arg__format~components:arg__components | |
~subresource_range:arg__subresource_range ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Image_view_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.image arg__image; | |
Ctypes.setf generated__x__ Fields.view_type arg__view_type; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.components arg__components; | |
Ctypes.setf generated__x__ Fields.subresource_range arg__subresource_range; | |
Ctypes.addr generated__x__ | |
end | |
let image_view_create_info = Image_view_create_info.t | |
type image_view_create_info = Image_view_create_info.t | |
module Import_memory_fd_info_khx = struct type t | |
type import_memory_fd_info_khx = t | |
let t: t structure typ = structure "import_memory_fd_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_type = field t "handle_type" external_memory_handle_type_flag_bits_khx_opt | |
let fd = field t "fd" int | |
end | |
let handle_type record = Ctypes.getf record Fields.handle_type | |
let fd record = Ctypes.getf record Fields.fd let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type import_memory_fd_info_khx_extension = .. | |
type import_memory_fd_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_type:arg__handle_type | |
~fd:arg__fd ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Import_memory_fd_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_type arg__handle_type; | |
Ctypes.setf generated__x__ Fields.fd arg__fd; Ctypes.addr generated__x__ | |
end | |
let import_memory_fd_info_khx = Import_memory_fd_info_khx.t | |
type import_memory_fd_info_khx = Import_memory_fd_info_khx.t | |
module Import_semaphore_fd_info_khx = struct type t | |
type import_semaphore_fd_info_khx = t | |
let t: t structure typ = structure "import_semaphore_fd_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let semaphore = field t "semaphore" semaphore | |
let handle_type = field t "handle_type" external_semaphore_handle_type_flag_bits_khx | |
let fd = field t "fd" int | |
end | |
let semaphore record = Ctypes.getf record Fields.semaphore | |
let handle_type record = Ctypes.getf record Fields.handle_type | |
let fd record = Ctypes.getf record Fields.fd let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type import_semaphore_fd_info_khx_extension = .. | |
type import_semaphore_fd_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~semaphore:arg__semaphore | |
~handle_type:arg__handle_type~fd:arg__fd ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Import_semaphore_fd_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.semaphore arg__semaphore; | |
Ctypes.setf generated__x__ Fields.handle_type arg__handle_type; | |
Ctypes.setf generated__x__ Fields.fd arg__fd; Ctypes.addr generated__x__ | |
end | |
let import_semaphore_fd_info_khx = Import_semaphore_fd_info_khx.t | |
type import_semaphore_fd_info_khx = Import_semaphore_fd_info_khx.t | |
module Index_type = struct | |
type t = | Uint_16 | |
| Uint_32 | |
let to_int = function | |
| Uint_16 -> 0 | |
| Uint_32 -> 1 | |
let of_int = function | |
| 0 -> Uint_16 | |
| 1 -> Uint_32 | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Uint_16 -> "Uint_16" | |
| Uint_32 -> "Uint_32") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let index_type, index_type_opt = Index_type.(view,view_opt) | |
type index_type = Index_type.t | |
module Indirect_commands_layout_usage_flags_nvx = struct | |
include Bitset.Make() | |
let indexed_sequences = make_index 3 | |
let empty_executions = make_index 2 | |
let sparse_sequences = make_index 1 | |
let unordered_sequences = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem indexed_sequences set then | |
Printer.fprintf ppf "indexed_sequences;@ " | |
else (); | |
if mem empty_executions set then | |
Printer.fprintf ppf "empty_executions;@ " | |
else (); | |
if mem sparse_sequences set then | |
Printer.fprintf ppf "sparse_sequences;@ " | |
else (); | |
if mem unordered_sequences set then | |
Printer.fprintf ppf "unordered_sequences;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type indirect_commands_layout_usage_flags_nvx = Indirect_commands_layout_usage_flags_nvx.t | |
let indirect_commands_layout_usage_flags_nvx, indirect_commands_layout_usage_flags_nvx_opt = Indirect_commands_layout_usage_flags_nvx.(view, view_opt) | |
let indirect_commands_layout_usage_flag_bits_nvx = Indirect_commands_layout_usage_flags_nvx.index_view | |
let indirect_commands_layout_usage_flag_bits_nvx_opt = Indirect_commands_layout_usage_flags_nvx.index_view_opt | |
module Indirect_commands_layout_token_nvx = struct type t | |
type indirect_commands_layout_token_nvx = t | |
let t: t structure typ = structure "indirect_commands_layout_token_nvx" | |
module Fields=struct | |
let token_type = field t "token_type" indirect_commands_token_type_nvx | |
let binding_unit = field t "binding_unit" uint_32_t | |
let dynamic_count = field t "dynamic_count" uint_32_t | |
let divisor = field t "divisor" uint_32_t | |
end | |
let token_type record = Ctypes.getf record Fields.token_type | |
let binding_unit record = Ctypes.getf record Fields.binding_unit | |
let dynamic_count record = Ctypes.getf record Fields.dynamic_count | |
let divisor record = Ctypes.getf record Fields.divisor | |
let () = Ctypes.seal t | |
let make ~token_type:arg__token_type~binding_unit:arg__binding_unit | |
~dynamic_count:arg__dynamic_count~divisor:arg__divisor = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.token_type arg__token_type; | |
Ctypes.setf generated__x__ Fields.binding_unit arg__binding_unit; | |
Ctypes.setf generated__x__ Fields.dynamic_count arg__dynamic_count; | |
Ctypes.setf generated__x__ Fields.divisor arg__divisor; | |
Ctypes.addr generated__x__ end | |
let indirect_commands_layout_token_nvx = Indirect_commands_layout_token_nvx.t | |
type indirect_commands_layout_token_nvx = Indirect_commands_layout_token_nvx.t | |
module Indirect_commands_layout_create_info_nvx = struct type t | |
type indirect_commands_layout_create_info_nvx = t | |
let t: t structure typ = structure "indirect_commands_layout_create_info_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let pipeline_bind_point = field t "pipeline_bind_point" pipeline_bind_point | |
let flags = field t "flags" indirect_commands_layout_usage_flags_nvx | |
let token_count = field t "token_count" uint_32_t | |
let tokens = field t "tokens" (ptr indirect_commands_layout_token_nvx) | |
end | |
let pipeline_bind_point record = Ctypes.getf record Fields.pipeline_bind_point | |
let flags record = Ctypes.getf record Fields.flags | |
let tokens record = let token_count = Ctypes.getf record Fields.token_count and tokens = Ctypes.getf record Fields.tokens in | |
Ctypes.CArray.from_ptr (tokens) (Uint_32_t.to_int (token_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type indirect_commands_layout_create_info_nvx_extension = .. | |
type indirect_commands_layout_create_info_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~pipeline_bind_point:arg__pipeline_bind_point~flags:arg__flags | |
~tokens:arg__tokens ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Indirect_commands_layout_create_info_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.pipeline_bind_point arg__pipeline_bind_point; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.token_count (Uint_32_t.of_int(Ctypes.CArray.length arg__tokens)); | |
Ctypes.setf generated__x__ Fields.tokens (Ctypes.CArray.start arg__tokens); | |
Ctypes.addr generated__x__ | |
end | |
let indirect_commands_layout_create_info_nvx = Indirect_commands_layout_create_info_nvx.t | |
type indirect_commands_layout_create_info_nvx = Indirect_commands_layout_create_info_nvx.t | |
module Instance = Handle.Make() | |
type instance = Instance.t | |
let instance, instance_opt = Instance.(view,view_opt) | |
module Instance_create_flags = Bitset.Make() | |
type instance_create_flags = Instance_create_flags.t | |
let instance_create_flags, instance_create_flags_opt = Instance_create_flags.(view, view_opt) | |
let instance_create_flag_bits = Instance_create_flags.index_view | |
let instance_create_flag_bits_opt = Instance_create_flags.index_view_opt | |
module Instance_create_info = struct type t type instance_create_info = t | |
let t: t structure typ = structure "instance_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" instance_create_flags_opt | |
let application_info = field t "application_info" (ptr_opt (application_info)) | |
let enabled_layer_count = field t "enabled_layer_count" uint_32_t_opt | |
let enabled_layer_names = field t "enabled_layer_names" (ptr (string)) | |
let enabled_extension_count = field t "enabled_extension_count" uint_32_t_opt | |
let enabled_extension_names = field t "enabled_extension_names" (ptr (string)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let application_info record = Ctypes.getf record Fields.application_info | |
let enabled_layer_names record = match Ctypes.getf record Fields.enabled_layer_count, Ctypes.getf record Fields.enabled_layer_names with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let enabled_extension_names record = match Ctypes.getf record Fields.enabled_extension_count, Ctypes.getf record Fields.enabled_extension_names with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type instance_create_info_extension = .. | |
type instance_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?application_info:arg__application_info | |
?enabled_layer_names:arg__enabled_layer_names | |
?enabled_extension_names:arg__enabled_extension_names ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Instance_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.application_info arg__application_info; | |
begin match arg__enabled_layer_names with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.enabled_layer_count None; | |
Ctypes.setf generated__x__ Fields.enabled_layer_names (Obj.magic @@ Ctypes.null)) | |
|Some arg__enabled_layer_names ->(Ctypes.setf generated__x__ Fields.enabled_layer_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__enabled_layer_names))); | |
Ctypes.setf generated__x__ Fields.enabled_layer_names (Ctypes.CArray.start arg__enabled_layer_names)) | |
end; | |
begin match arg__enabled_extension_names with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.enabled_extension_count None; | |
Ctypes.setf generated__x__ Fields.enabled_extension_names (Obj.magic @@ Ctypes.null)) | |
|Some arg__enabled_extension_names ->(Ctypes.setf generated__x__ Fields.enabled_extension_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__enabled_extension_names))); | |
Ctypes.setf generated__x__ Fields.enabled_extension_names (Ctypes.CArray.start arg__enabled_extension_names)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let instance_create_info = Instance_create_info.t | |
type instance_create_info = Instance_create_info.t | |
module Layer_properties = struct type t type layer_properties = t | |
let t: t structure typ = structure "layer_properties" | |
module Fields=struct | |
let layer_name = field t "layer_name" (array max_extension_name_size @@ char) | |
let spec_version = field t "spec_version" uint_32_t | |
let implementation_version = field t "implementation_version" uint_32_t | |
let description = field t "description" (array max_description_size @@ char) | |
end | |
let layer_name record = Ctypes.string_from_ptr | |
(Ctypes.CArray.start @@ Ctypes.getf record Fields.layer_name) | |
max_extension_name_size | |
let spec_version record = Ctypes.getf record Fields.spec_version | |
let implementation_version record = Ctypes.getf record Fields.implementation_version | |
let description record = Ctypes.string_from_ptr | |
(Ctypes.CArray.start @@ Ctypes.getf record Fields.description) | |
max_description_size let () = Ctypes.seal t | |
let make ~layer_name:arg__layer_name~spec_version:arg__spec_version | |
~implementation_version:arg__implementation_version | |
~description:arg__description = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.layer_name arg__layer_name; | |
Ctypes.setf generated__x__ Fields.spec_version arg__spec_version; | |
Ctypes.setf generated__x__ Fields.implementation_version arg__implementation_version; | |
Ctypes.setf generated__x__ Fields.description arg__description; | |
Ctypes.addr generated__x__ end | |
let layer_properties = Layer_properties.t | |
type layer_properties = Layer_properties.t | |
module Macos_surface_create_flags_mvk = Bitset.Make() | |
type macos_surface_create_flags_mvk = Macos_surface_create_flags_mvk.t | |
let macos_surface_create_flags_mvk, macos_surface_create_flags_mvk_opt = Macos_surface_create_flags_mvk.(view, view_opt) | |
let macos_surface_create_flag_bits_mvk = Macos_surface_create_flags_mvk.index_view | |
let macos_surface_create_flag_bits_mvk_opt = Macos_surface_create_flags_mvk.index_view_opt | |
module Macos_surface_create_info_mvk = struct type t | |
type macos_surface_create_info_mvk = t | |
let t: t structure typ = structure "macos_surface_create_info_mvk" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" macos_surface_create_flags_mvk_opt | |
let view = field t "view" (ptr void) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let view record = Ctypes.getf record Fields.view let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type macos_surface_create_info_mvk_extension = .. | |
type macos_surface_create_info_mvk_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~view:arg__view | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Macos_surface_create_info_mvk, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.view arg__view; Ctypes.addr generated__x__ | |
end | |
let macos_surface_create_info_mvk = Macos_surface_create_info_mvk.t | |
type macos_surface_create_info_mvk = Macos_surface_create_info_mvk.t | |
module Mapped_memory_range = struct type t type mapped_memory_range = t | |
let t: t structure typ = structure "mapped_memory_range" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let memory = field t "memory" device_memory | |
let offset = field t "offset" device_size | |
let size = field t "size" device_size | |
end | |
let memory record = Ctypes.getf record Fields.memory | |
let offset record = Ctypes.getf record Fields.offset | |
let size record = Ctypes.getf record Fields.size let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type mapped_memory_range_extension = .. | |
type mapped_memory_range_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~memory:arg__memory | |
~offset:arg__offset~size:arg__size ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Mapped_memory_range, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.memory arg__memory; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; Ctypes.addr generated__x__ | |
end | |
let mapped_memory_range = Mapped_memory_range.t | |
type mapped_memory_range = Mapped_memory_range.t | |
module Memory_allocate_flags_khx = struct | |
include Bitset.Make() | |
let device_mask = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem device_mask set then | |
Printer.fprintf ppf "device_mask;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type memory_allocate_flags_khx = Memory_allocate_flags_khx.t | |
let memory_allocate_flags_khx, memory_allocate_flags_khx_opt = Memory_allocate_flags_khx.(view, view_opt) | |
let memory_allocate_flag_bits_khx = Memory_allocate_flags_khx.index_view | |
let memory_allocate_flag_bits_khx_opt = Memory_allocate_flags_khx.index_view_opt | |
module Memory_allocate_flags_info_khx = struct type t | |
type memory_allocate_flags_info_khx = t | |
let t: t structure typ = structure "memory_allocate_flags_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" memory_allocate_flags_khx_opt | |
let device_mask = field t "device_mask" uint_32_t | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let device_mask record = Ctypes.getf record Fields.device_mask | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type memory_allocate_flags_info_khx_extension = .. | |
type memory_allocate_flags_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~device_mask:arg__device_mask ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Memory_allocate_flags_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.device_mask arg__device_mask; | |
Ctypes.addr generated__x__ | |
end | |
let memory_allocate_flags_info_khx = Memory_allocate_flags_info_khx.t | |
type memory_allocate_flags_info_khx = Memory_allocate_flags_info_khx.t | |
module Memory_allocate_info = struct type t type memory_allocate_info = t | |
let t: t structure typ = structure "memory_allocate_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let allocation_size = field t "allocation_size" device_size | |
let memory_type_index = field t "memory_type_index" uint_32_t | |
end | |
let allocation_size record = Ctypes.getf record Fields.allocation_size | |
let memory_type_index record = Ctypes.getf record Fields.memory_type_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type memory_allocate_info_extension = .. | |
type memory_allocate_info_extension += | No_extension | |
| Memory_allocate_flags_info_khx of memory_allocate_flags_info_khx Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension) | |
~allocation_size:arg__allocation_size | |
~memory_type_index:arg__memory_type_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Memory_allocate_info, Ctypes.null | |
| Memory_allocate_flags_info_khx x -> | |
Structure_type.Memory_allocate_flags_info_khx, | |
Ctypes.( coerce (ptr memory_allocate_flags_info_khx) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.allocation_size arg__allocation_size; | |
Ctypes.setf generated__x__ Fields.memory_type_index arg__memory_type_index; | |
Ctypes.addr generated__x__ | |
end | |
let memory_allocate_info = Memory_allocate_info.t | |
type memory_allocate_info = Memory_allocate_info.t | |
module Memory_barrier = struct type t type memory_barrier = t | |
let t: t structure typ = structure "memory_barrier" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let src_access_mask = field t "src_access_mask" access_flags_opt | |
let dst_access_mask = field t "dst_access_mask" access_flags_opt | |
end | |
let src_access_mask record = Ctypes.getf record Fields.src_access_mask | |
let dst_access_mask record = Ctypes.getf record Fields.dst_access_mask | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type memory_barrier_extension = .. | |
type memory_barrier_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?src_access_mask:arg__src_access_mask?dst_access_mask:arg__dst_access_mask | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Memory_barrier, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.src_access_mask arg__src_access_mask; | |
Ctypes.setf generated__x__ Fields.dst_access_mask arg__dst_access_mask; | |
Ctypes.addr generated__x__ | |
end | |
let memory_barrier = Memory_barrier.t | |
type memory_barrier = Memory_barrier.t | |
module Memory_fd_properties_khx = struct type t | |
type memory_fd_properties_khx = t | |
let t: t structure typ = structure "memory_fd_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let memory_type_bits = field t "memory_type_bits" uint_32_t | |
end | |
let memory_type_bits record = Ctypes.getf record Fields.memory_type_bits | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type memory_fd_properties_khx_extension = .. | |
type memory_fd_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~memory_type_bits:arg__memory_type_bits ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Memory_fd_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.memory_type_bits arg__memory_type_bits; | |
Ctypes.addr generated__x__ | |
end | |
let memory_fd_properties_khx = Memory_fd_properties_khx.t | |
type memory_fd_properties_khx = Memory_fd_properties_khx.t | |
module Memory_heap_flags = struct | |
include Bitset.Make() | |
let multi_instance_bit_khx = make_index 1 | |
let device_local = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem multi_instance_bit_khx set then | |
Printer.fprintf ppf "multi_instance_bit_khx;@ " | |
else (); | |
if mem device_local set then | |
Printer.fprintf ppf "device_local;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type memory_heap_flags = Memory_heap_flags.t | |
let memory_heap_flags, memory_heap_flags_opt = Memory_heap_flags.(view, view_opt) | |
let memory_heap_flag_bits = Memory_heap_flags.index_view | |
let memory_heap_flag_bits_opt = Memory_heap_flags.index_view_opt | |
module Memory_heap = struct type t type memory_heap = t | |
let t: t structure typ = structure "memory_heap" | |
module Fields=struct | |
let size = field t "size" device_size | |
let flags = field t "flags" memory_heap_flags_opt | |
end | |
let size record = Ctypes.getf record Fields.size | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
let make ~size:arg__size?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ end | |
let memory_heap = Memory_heap.t | |
type memory_heap = Memory_heap.t | |
module Memory_map_flags = Bitset.Make() | |
type memory_map_flags = Memory_map_flags.t | |
let memory_map_flags, memory_map_flags_opt = Memory_map_flags.(view, view_opt) | |
let memory_map_flag_bits = Memory_map_flags.index_view | |
let memory_map_flag_bits_opt = Memory_map_flags.index_view_opt | |
module Memory_property_flags = struct | |
include Bitset.Make() | |
let lazily_allocated = make_index 4 | |
let host_cached = make_index 3 | |
let host_coherent = make_index 2 | |
let host_visible = make_index 1 | |
let device_local = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem lazily_allocated set then | |
Printer.fprintf ppf "lazily_allocated;@ " | |
else (); | |
if mem host_cached set then | |
Printer.fprintf ppf "host_cached;@ " | |
else (); | |
if mem host_coherent set then | |
Printer.fprintf ppf "host_coherent;@ " | |
else (); | |
if mem host_visible set then | |
Printer.fprintf ppf "host_visible;@ " | |
else (); | |
if mem device_local set then | |
Printer.fprintf ppf "device_local;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type memory_property_flags = Memory_property_flags.t | |
let memory_property_flags, memory_property_flags_opt = Memory_property_flags.(view, view_opt) | |
let memory_property_flag_bits = Memory_property_flags.index_view | |
let memory_property_flag_bits_opt = Memory_property_flags.index_view_opt | |
module Memory_requirements = struct type t type memory_requirements = t | |
let t: t structure typ = structure "memory_requirements" | |
module Fields=struct | |
let size = field t "size" device_size | |
let alignment = field t "alignment" device_size | |
let memory_type_bits = field t "memory_type_bits" uint_32_t | |
end | |
let size record = Ctypes.getf record Fields.size | |
let alignment record = Ctypes.getf record Fields.alignment | |
let memory_type_bits record = Ctypes.getf record Fields.memory_type_bits | |
let () = Ctypes.seal t | |
let make ~size:arg__size~alignment:arg__alignment | |
~memory_type_bits:arg__memory_type_bits = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.setf generated__x__ Fields.alignment arg__alignment; | |
Ctypes.setf generated__x__ Fields.memory_type_bits arg__memory_type_bits; | |
Ctypes.addr generated__x__ end | |
let memory_requirements = Memory_requirements.t | |
type memory_requirements = Memory_requirements.t | |
module Memory_type = struct type t type memory_type = t | |
let t: t structure typ = structure "memory_type" | |
module Fields=struct | |
let property_flags = field t "property_flags" memory_property_flags_opt | |
let heap_index = field t "heap_index" uint_32_t | |
end | |
let property_flags record = Ctypes.getf record Fields.property_flags | |
let heap_index record = Ctypes.getf record Fields.heap_index | |
let () = Ctypes.seal t | |
let make ?property_flags:arg__property_flags~heap_index:arg__heap_index ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.property_flags arg__property_flags; | |
Ctypes.setf generated__x__ Fields.heap_index arg__heap_index; | |
Ctypes.addr generated__x__ end | |
let memory_type = Memory_type.t | |
type memory_type = Memory_type.t | |
module Object_entry_type_nvx = struct | |
type t = | Object_entry_descriptor_set | |
| Object_entry_pipeline | |
| Object_entry_index_buffer | |
| Object_entry_vertex_buffer | |
| Object_entry_push_constant | |
let to_int = function | |
| Object_entry_descriptor_set -> 0 | |
| Object_entry_pipeline -> 1 | |
| Object_entry_index_buffer -> 2 | |
| Object_entry_vertex_buffer -> 3 | |
| Object_entry_push_constant -> 4 | |
let of_int = function | |
| 0 -> Object_entry_descriptor_set | |
| 1 -> Object_entry_pipeline | |
| 2 -> Object_entry_index_buffer | |
| 3 -> Object_entry_vertex_buffer | |
| 4 -> Object_entry_push_constant | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Object_entry_descriptor_set -> "Object_entry_descriptor_set" | |
| Object_entry_pipeline -> "Object_entry_pipeline" | |
| Object_entry_index_buffer -> "Object_entry_index_buffer" | |
| Object_entry_vertex_buffer -> "Object_entry_vertex_buffer" | |
| Object_entry_push_constant -> "Object_entry_push_constant") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let object_entry_type_nvx, object_entry_type_nvx_opt = Object_entry_type_nvx.(view,view_opt) | |
type object_entry_type_nvx = Object_entry_type_nvx.t | |
module Object_entry_usage_flags_nvx = struct | |
include Bitset.Make() | |
let compute = make_index 1 | |
let graphics = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem compute set then | |
Printer.fprintf ppf "compute;@ " | |
else (); | |
if mem graphics set then | |
Printer.fprintf ppf "graphics;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type object_entry_usage_flags_nvx = Object_entry_usage_flags_nvx.t | |
let object_entry_usage_flags_nvx, object_entry_usage_flags_nvx_opt = Object_entry_usage_flags_nvx.(view, view_opt) | |
let object_entry_usage_flag_bits_nvx = Object_entry_usage_flags_nvx.index_view | |
let object_entry_usage_flag_bits_nvx_opt = Object_entry_usage_flags_nvx.index_view_opt | |
module Object_table_create_info_nvx = struct type t | |
type object_table_create_info_nvx = t | |
let t: t structure typ = structure "object_table_create_info_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let object_count = field t "object_count" uint_32_t | |
let object_entry_types = field t "object_entry_types" (ptr object_entry_type_nvx) | |
let object_entry_counts = field t "object_entry_counts" (ptr uint_32_t) | |
let object_entry_usage_flags = field t "object_entry_usage_flags" (ptr object_entry_usage_flags_nvx) | |
let max_uniform_buffers_per_descriptor = field t "max_uniform_buffers_per_descriptor" uint_32_t | |
let max_storage_buffers_per_descriptor = field t "max_storage_buffers_per_descriptor" uint_32_t | |
let max_storage_images_per_descriptor = field t "max_storage_images_per_descriptor" uint_32_t | |
let max_sampled_images_per_descriptor = field t "max_sampled_images_per_descriptor" uint_32_t | |
let max_pipeline_layouts = field t "max_pipeline_layouts" uint_32_t | |
end | |
let object_entry_types record = let object_count = Ctypes.getf record Fields.object_count and object_entry_types = Ctypes.getf record Fields.object_entry_types in | |
Ctypes.CArray.from_ptr (object_entry_types) (Uint_32_t.to_int (object_count)) | |
let object_entry_counts record = let a = Ctypes.getf record Fields.object_entry_counts in | |
let i = Ctypes.getf record Fields.object_count in | |
Ctypes.CArray.from_ptr (a) (i) | |
let object_entry_usage_flags record = let a = Ctypes.getf record Fields.object_entry_usage_flags in | |
let i = Ctypes.getf record Fields.object_count in | |
Ctypes.CArray.from_ptr (a) (i) | |
let max_uniform_buffers_per_descriptor record = Ctypes.getf record Fields.max_uniform_buffers_per_descriptor | |
let max_storage_buffers_per_descriptor record = Ctypes.getf record Fields.max_storage_buffers_per_descriptor | |
let max_storage_images_per_descriptor record = Ctypes.getf record Fields.max_storage_images_per_descriptor | |
let max_sampled_images_per_descriptor record = Ctypes.getf record Fields.max_sampled_images_per_descriptor | |
let max_pipeline_layouts record = Ctypes.getf record Fields.max_pipeline_layouts | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type object_table_create_info_nvx_extension = .. | |
type object_table_create_info_nvx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~object_entry_types:arg__object_entry_types | |
~object_entry_counts:arg__object_entry_counts | |
~object_entry_usage_flags:arg__object_entry_usage_flags | |
~max_uniform_buffers_per_descriptor:arg__max_uniform_buffers_per_descriptor | |
~max_storage_buffers_per_descriptor:arg__max_storage_buffers_per_descriptor | |
~max_storage_images_per_descriptor:arg__max_storage_images_per_descriptor | |
~max_sampled_images_per_descriptor:arg__max_sampled_images_per_descriptor | |
~max_pipeline_layouts:arg__max_pipeline_layouts ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Object_table_create_info_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.object_count (Uint_32_t.of_int(Ctypes.CArray.length arg__object_entry_types)); | |
Ctypes.setf generated__x__ Fields.object_entry_types (Ctypes.CArray.start arg__object_entry_types); | |
Ctypes.setf generated__x__ Fields.object_entry_counts arg__object_entry_counts; | |
Ctypes.setf generated__x__ Fields.object_entry_usage_flags arg__object_entry_usage_flags; | |
Ctypes.setf generated__x__ Fields.max_uniform_buffers_per_descriptor arg__max_uniform_buffers_per_descriptor; | |
Ctypes.setf generated__x__ Fields.max_storage_buffers_per_descriptor arg__max_storage_buffers_per_descriptor; | |
Ctypes.setf generated__x__ Fields.max_storage_images_per_descriptor arg__max_storage_images_per_descriptor; | |
Ctypes.setf generated__x__ Fields.max_sampled_images_per_descriptor arg__max_sampled_images_per_descriptor; | |
Ctypes.setf generated__x__ Fields.max_pipeline_layouts arg__max_pipeline_layouts; | |
Ctypes.addr generated__x__ | |
end | |
let object_table_create_info_nvx = Object_table_create_info_nvx.t | |
type object_table_create_info_nvx = Object_table_create_info_nvx.t | |
module Object_table_descriptor_set_entry_nvx = struct type t | |
type object_table_descriptor_set_entry_nvx = t | |
let t: t structure typ = structure "object_table_descriptor_set_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
let pipeline_layout = field t "pipeline_layout" pipeline_layout | |
let descriptor_set = field t "descriptor_set" descriptor_set | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags | |
let pipeline_layout record = Ctypes.getf record Fields.pipeline_layout | |
let descriptor_set record = Ctypes.getf record Fields.descriptor_set | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags | |
~pipeline_layout:arg__pipeline_layout~descriptor_set:arg__descriptor_set = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.pipeline_layout arg__pipeline_layout; | |
Ctypes.setf generated__x__ Fields.descriptor_set arg__descriptor_set; | |
Ctypes.addr generated__x__ end | |
let object_table_descriptor_set_entry_nvx = Object_table_descriptor_set_entry_nvx.t | |
type object_table_descriptor_set_entry_nvx = Object_table_descriptor_set_entry_nvx.t | |
module Object_table_entry_nvx = struct type t | |
type object_table_entry_nvx = t | |
let t: t structure typ = structure "object_table_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ end | |
let object_table_entry_nvx = Object_table_entry_nvx.t | |
type object_table_entry_nvx = Object_table_entry_nvx.t | |
module Object_table_index_buffer_entry_nvx = struct type t | |
type object_table_index_buffer_entry_nvx = t | |
let t: t structure typ = structure "object_table_index_buffer_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
let buffer = field t "buffer" buffer | |
let index_type = field t "index_type" index_type | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags | |
let buffer record = Ctypes.getf record Fields.buffer | |
let index_type record = Ctypes.getf record Fields.index_type | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags~buffer:arg__buffer | |
~index_type:arg__index_type = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.setf generated__x__ Fields.index_type arg__index_type; | |
Ctypes.addr generated__x__ end | |
let object_table_index_buffer_entry_nvx = Object_table_index_buffer_entry_nvx.t | |
type object_table_index_buffer_entry_nvx = Object_table_index_buffer_entry_nvx.t | |
module Object_table_pipeline_entry_nvx = struct type t | |
type object_table_pipeline_entry_nvx = t | |
let t: t structure typ = structure "object_table_pipeline_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
let pipeline = field t "pipeline" pipeline | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags | |
let pipeline record = Ctypes.getf record Fields.pipeline | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags~pipeline:arg__pipeline = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.pipeline arg__pipeline; | |
Ctypes.addr generated__x__ end | |
let object_table_pipeline_entry_nvx = Object_table_pipeline_entry_nvx.t | |
type object_table_pipeline_entry_nvx = Object_table_pipeline_entry_nvx.t | |
module Object_table_push_constant_entry_nvx = struct type t | |
type object_table_push_constant_entry_nvx = t | |
let t: t structure typ = structure "object_table_push_constant_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
let pipeline_layout = field t "pipeline_layout" pipeline_layout | |
let stage_flags = field t "stage_flags" shader_stage_flags | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags | |
let pipeline_layout record = Ctypes.getf record Fields.pipeline_layout | |
let stage_flags record = Ctypes.getf record Fields.stage_flags | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags | |
~pipeline_layout:arg__pipeline_layout~stage_flags:arg__stage_flags = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.pipeline_layout arg__pipeline_layout; | |
Ctypes.setf generated__x__ Fields.stage_flags arg__stage_flags; | |
Ctypes.addr generated__x__ end | |
let object_table_push_constant_entry_nvx = Object_table_push_constant_entry_nvx.t | |
type object_table_push_constant_entry_nvx = Object_table_push_constant_entry_nvx.t | |
module Object_table_vertex_buffer_entry_nvx = struct type t | |
type object_table_vertex_buffer_entry_nvx = t | |
let t: t structure typ = structure "object_table_vertex_buffer_entry_nvx" | |
module Fields=struct | |
let typ = field t "typ" object_entry_type_nvx | |
let flags = field t "flags" object_entry_usage_flags_nvx | |
let buffer = field t "buffer" buffer | |
end | |
let typ record = Ctypes.getf record Fields.typ | |
let flags record = Ctypes.getf record Fields.flags | |
let buffer record = Ctypes.getf record Fields.buffer | |
let () = Ctypes.seal t | |
let make ~typ:arg__typ~flags:arg__flags~buffer:arg__buffer = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.buffer arg__buffer; | |
Ctypes.addr generated__x__ end | |
let object_table_vertex_buffer_entry_nvx = Object_table_vertex_buffer_entry_nvx.t | |
type object_table_vertex_buffer_entry_nvx = Object_table_vertex_buffer_entry_nvx.t | |
module Object_type = struct | |
type t = | Unknown | |
| Instance | |
| Physical_device | |
| Device | |
| Queue | |
| Semaphore | |
| Command_buffer | |
| Fence | |
| Device_memory | |
| Buffer | |
| Image | |
| Event | |
| Query_pool | |
| Buffer_view | |
| Image_view | |
| Shader_module | |
| Pipeline_cache | |
| Pipeline_layout | |
| Render_pass | |
| Pipeline | |
| Descriptor_set_layout | |
| Sampler | |
| Descriptor_pool | |
| Descriptor_set | |
| Framebuffer | |
| Command_pool | |
| Surface_khr | |
| Swapchain_khr | |
| Display_khr | |
| Display_mode_khr | |
| Debug_report_callback_ext | |
| Descriptor_update_template_khr | |
| Object_table_nvx | |
| Indirect_commands_layout_nvx | |
let to_int = function | |
| Unknown -> 0 | |
| Instance -> 1 | |
| Physical_device -> 2 | |
| Device -> 3 | |
| Queue -> 4 | |
| Semaphore -> 5 | |
| Command_buffer -> 6 | |
| Fence -> 7 | |
| Device_memory -> 8 | |
| Buffer -> 9 | |
| Image -> 10 | |
| Event -> 11 | |
| Query_pool -> 12 | |
| Buffer_view -> 13 | |
| Image_view -> 14 | |
| Shader_module -> 15 | |
| Pipeline_cache -> 16 | |
| Pipeline_layout -> 17 | |
| Render_pass -> 18 | |
| Pipeline -> 19 | |
| Descriptor_set_layout -> 20 | |
| Sampler -> 21 | |
| Descriptor_pool -> 22 | |
| Descriptor_set -> 23 | |
| Framebuffer -> 24 | |
| Command_pool -> 25 | |
| Surface_khr -> 1000000000 | |
| Swapchain_khr -> 1000001000 | |
| Display_khr -> 1000002000 | |
| Display_mode_khr -> 1000002001 | |
| Debug_report_callback_ext -> 1000011000 | |
| Descriptor_update_template_khr -> 1000085000 | |
| Object_table_nvx -> 1000086000 | |
| Indirect_commands_layout_nvx -> 1000086001 | |
let of_int = function | |
| 0 -> Unknown | |
| 1 -> Instance | |
| 2 -> Physical_device | |
| 3 -> Device | |
| 4 -> Queue | |
| 5 -> Semaphore | |
| 6 -> Command_buffer | |
| 7 -> Fence | |
| 8 -> Device_memory | |
| 9 -> Buffer | |
| 10 -> Image | |
| 11 -> Event | |
| 12 -> Query_pool | |
| 13 -> Buffer_view | |
| 14 -> Image_view | |
| 15 -> Shader_module | |
| 16 -> Pipeline_cache | |
| 17 -> Pipeline_layout | |
| 18 -> Render_pass | |
| 19 -> Pipeline | |
| 20 -> Descriptor_set_layout | |
| 21 -> Sampler | |
| 22 -> Descriptor_pool | |
| 23 -> Descriptor_set | |
| 24 -> Framebuffer | |
| 25 -> Command_pool | |
| 1000000000 -> Surface_khr | |
| 1000001000 -> Swapchain_khr | |
| 1000002000 -> Display_khr | |
| 1000002001 -> Display_mode_khr | |
| 1000011000 -> Debug_report_callback_ext | |
| 1000085000 -> Descriptor_update_template_khr | |
| 1000086000 -> Object_table_nvx | |
| 1000086001 -> Indirect_commands_layout_nvx | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Unknown -> "Unknown" | |
| Instance -> "Instance" | |
| Physical_device -> "Physical_device" | |
| Device -> "Device" | |
| Queue -> "Queue" | |
| Semaphore -> "Semaphore" | |
| Command_buffer -> "Command_buffer" | |
| Fence -> "Fence" | |
| Device_memory -> "Device_memory" | |
| Buffer -> "Buffer" | |
| Image -> "Image" | |
| Event -> "Event" | |
| Query_pool -> "Query_pool" | |
| Buffer_view -> "Buffer_view" | |
| Image_view -> "Image_view" | |
| Shader_module -> "Shader_module" | |
| Pipeline_cache -> "Pipeline_cache" | |
| Pipeline_layout -> "Pipeline_layout" | |
| Render_pass -> "Render_pass" | |
| Pipeline -> "Pipeline" | |
| Descriptor_set_layout -> "Descriptor_set_layout" | |
| Sampler -> "Sampler" | |
| Descriptor_pool -> "Descriptor_pool" | |
| Descriptor_set -> "Descriptor_set" | |
| Framebuffer -> "Framebuffer" | |
| Command_pool -> "Command_pool" | |
| Surface_khr -> "Surface_khr" | |
| Swapchain_khr -> "Swapchain_khr" | |
| Display_khr -> "Display_khr" | |
| Display_mode_khr -> "Display_mode_khr" | |
| Debug_report_callback_ext -> "Debug_report_callback_ext" | |
| Descriptor_update_template_khr -> "Descriptor_update_template_khr" | |
| Object_table_nvx -> "Object_table_nvx" | |
| Indirect_commands_layout_nvx -> "Indirect_commands_layout_nvx") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let object_type, object_type_opt = Object_type.(view,view_opt) | |
type object_type = Object_type.t | |
module Past_presentation_timing_google = struct type t | |
type past_presentation_timing_google = t | |
let t: t structure typ = structure "past_presentation_timing_google" | |
module Fields=struct | |
let present_id = field t "present_id" uint_32_t | |
let desired_present_time = field t "desired_present_time" uint_64_t | |
let actual_present_time = field t "actual_present_time" uint_64_t | |
let earliest_present_time = field t "earliest_present_time" uint_64_t | |
let present_margin = field t "present_margin" uint_64_t | |
end | |
let present_id record = Ctypes.getf record Fields.present_id | |
let desired_present_time record = Ctypes.getf record Fields.desired_present_time | |
let actual_present_time record = Ctypes.getf record Fields.actual_present_time | |
let earliest_present_time record = Ctypes.getf record Fields.earliest_present_time | |
let present_margin record = Ctypes.getf record Fields.present_margin | |
let () = Ctypes.seal t | |
let make ~present_id:arg__present_id | |
~desired_present_time:arg__desired_present_time | |
~actual_present_time:arg__actual_present_time | |
~earliest_present_time:arg__earliest_present_time | |
~present_margin:arg__present_margin = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.present_id arg__present_id; | |
Ctypes.setf generated__x__ Fields.desired_present_time arg__desired_present_time; | |
Ctypes.setf generated__x__ Fields.actual_present_time arg__actual_present_time; | |
Ctypes.setf generated__x__ Fields.earliest_present_time arg__earliest_present_time; | |
Ctypes.setf generated__x__ Fields.present_margin arg__present_margin; | |
Ctypes.addr generated__x__ end | |
let past_presentation_timing_google = Past_presentation_timing_google.t | |
type past_presentation_timing_google = Past_presentation_timing_google.t | |
module Peer_memory_feature_flags_khx = struct | |
include Bitset.Make() | |
let generic_dst = make_index 3 | |
let generic_src = make_index 2 | |
let copy_dst = make_index 1 | |
let copy_src = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem generic_dst set then | |
Printer.fprintf ppf "generic_dst;@ " | |
else (); | |
if mem generic_src set then | |
Printer.fprintf ppf "generic_src;@ " | |
else (); | |
if mem copy_dst set then | |
Printer.fprintf ppf "copy_dst;@ " | |
else (); | |
if mem copy_src set then | |
Printer.fprintf ppf "copy_src;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type peer_memory_feature_flags_khx = Peer_memory_feature_flags_khx.t | |
let peer_memory_feature_flags_khx, peer_memory_feature_flags_khx_opt = Peer_memory_feature_flags_khx.(view, view_opt) | |
let peer_memory_feature_flag_bits_khx = Peer_memory_feature_flags_khx.index_view | |
let peer_memory_feature_flag_bits_khx_opt = Peer_memory_feature_flags_khx.index_view_opt | |
module Physical_device_discard_rectangle_properties_ext = struct type t | |
type physical_device_discard_rectangle_properties_ext = t | |
let t: t structure typ = structure "physical_device_discard_rectangle_properties_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let max_discard_rectangles = field t "max_discard_rectangles" uint_32_t | |
end | |
let max_discard_rectangles record = Ctypes.getf record Fields.max_discard_rectangles | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_discard_rectangle_properties_ext_extension = .. | |
type physical_device_discard_rectangle_properties_ext_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~max_discard_rectangles:arg__max_discard_rectangles ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_discard_rectangle_properties_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.max_discard_rectangles arg__max_discard_rectangles; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_discard_rectangle_properties_ext = Physical_device_discard_rectangle_properties_ext.t | |
type physical_device_discard_rectangle_properties_ext = Physical_device_discard_rectangle_properties_ext.t | |
module Physical_device_external_buffer_info_khx = struct type t | |
type physical_device_external_buffer_info_khx = t | |
let t: t structure typ = structure "physical_device_external_buffer_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" buffer_create_flags_opt | |
let usage = field t "usage" buffer_usage_flags | |
let handle_type = field t "handle_type" external_memory_handle_type_flag_bits_khx | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let usage record = Ctypes.getf record Fields.usage | |
let handle_type record = Ctypes.getf record Fields.handle_type | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_external_buffer_info_khx_extension = .. | |
type physical_device_external_buffer_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags~usage:arg__usage | |
~handle_type:arg__handle_type ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_external_buffer_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.usage arg__usage; | |
Ctypes.setf generated__x__ Fields.handle_type arg__handle_type; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_external_buffer_info_khx = Physical_device_external_buffer_info_khx.t | |
type physical_device_external_buffer_info_khx = Physical_device_external_buffer_info_khx.t | |
module Physical_device_external_image_format_info_khx = struct type t | |
type physical_device_external_image_format_info_khx = t | |
let t: t structure typ = structure "physical_device_external_image_format_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_type = field t "handle_type" external_memory_handle_type_flag_bits_khx_opt | |
end | |
let handle_type record = Ctypes.getf record Fields.handle_type | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_external_image_format_info_khx_extension = .. | |
type physical_device_external_image_format_info_khx_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)?handle_type:arg__handle_type ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_external_image_format_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_type arg__handle_type; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_external_image_format_info_khx = Physical_device_external_image_format_info_khx.t | |
type physical_device_external_image_format_info_khx = Physical_device_external_image_format_info_khx.t | |
module Physical_device_external_semaphore_info_khx = struct type t | |
type physical_device_external_semaphore_info_khx = t | |
let t: t structure typ = structure "physical_device_external_semaphore_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let handle_type = field t "handle_type" external_semaphore_handle_type_flag_bits_khx | |
end | |
let handle_type record = Ctypes.getf record Fields.handle_type | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_external_semaphore_info_khx_extension = .. | |
type physical_device_external_semaphore_info_khx_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)~handle_type:arg__handle_type ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_external_semaphore_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.handle_type arg__handle_type; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_external_semaphore_info_khx = Physical_device_external_semaphore_info_khx.t | |
type physical_device_external_semaphore_info_khx = Physical_device_external_semaphore_info_khx.t | |
module Physical_device_features_2_khr = struct type t | |
type physical_device_features_2_khr = t | |
let t: t structure typ = structure "physical_device_features_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let features = field t "features" physical_device_features | |
end | |
let features record = Ctypes.getf record Fields.features | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_features_2_khr_extension = .. | |
type physical_device_features_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~features:arg__features ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_features_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.features arg__features; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_features_2_khr = Physical_device_features_2_khr.t | |
type physical_device_features_2_khr = Physical_device_features_2_khr.t | |
module Physical_device_group_properties_khx = struct type t | |
type physical_device_group_properties_khx = t | |
let t: t structure typ = structure "physical_device_group_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let physical_device_count = field t "physical_device_count" uint_32_t | |
let physical_devices = field t "physical_devices" (array max_device_group_size_khx @@ physical_device) | |
let subset_allocation = field t "subset_allocation" bool_32 | |
end | |
let physical_device_count record = Ctypes.getf record Fields.physical_device_count | |
let physical_devices record = Ctypes.getf record Fields.physical_devices | |
let subset_allocation record = Ctypes.getf record Fields.subset_allocation | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_group_properties_khx_extension = .. | |
type physical_device_group_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~physical_device_count:arg__physical_device_count | |
~physical_devices:arg__physical_devices | |
~subset_allocation:arg__subset_allocation ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_group_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.physical_device_count arg__physical_device_count; | |
Ctypes.setf generated__x__ Fields.physical_devices arg__physical_devices; | |
Ctypes.setf generated__x__ Fields.subset_allocation arg__subset_allocation; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_group_properties_khx = Physical_device_group_properties_khx.t | |
type physical_device_group_properties_khx = Physical_device_group_properties_khx.t | |
module Physical_device_id_properties_khx = struct type t | |
type physical_device_id_properties_khx = t | |
let t: t structure typ = structure "physical_device_id_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let device_uuid = field t "device_uuid" (array uuid_size @@ uint_8_t) | |
let driver_uuid = field t "driver_uuid" (array uuid_size @@ uint_8_t) | |
let device_l_u_id = field t "device_l_u_id" (array luid_size_khx @@ uint_8_t) | |
let device_l_u_id_valid = field t "device_l_u_id_valid" bool_32 | |
end | |
let device_uuid record = Ctypes.getf record Fields.device_uuid | |
let driver_uuid record = Ctypes.getf record Fields.driver_uuid | |
let device_l_u_id record = Ctypes.getf record Fields.device_l_u_id | |
let device_l_u_id_valid record = Ctypes.getf record Fields.device_l_u_id_valid | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_id_properties_khx_extension = .. | |
type physical_device_id_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~device_uuid:arg__device_uuid | |
~driver_uuid:arg__driver_uuid~device_l_u_id:arg__device_l_u_id | |
~device_l_u_id_valid:arg__device_l_u_id_valid ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_id_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.device_uuid arg__device_uuid; | |
Ctypes.setf generated__x__ Fields.driver_uuid arg__driver_uuid; | |
Ctypes.setf generated__x__ Fields.device_l_u_id arg__device_l_u_id; | |
Ctypes.setf generated__x__ Fields.device_l_u_id_valid arg__device_l_u_id_valid; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_id_properties_khx = Physical_device_id_properties_khx.t | |
type physical_device_id_properties_khx = Physical_device_id_properties_khx.t | |
module Physical_device_image_format_info_2_khr = struct type t | |
type physical_device_image_format_info_2_khr = t | |
let t: t structure typ = structure "physical_device_image_format_info_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let format = field t "format" format | |
let typ = field t "typ" image_type | |
let tiling = field t "tiling" image_tiling | |
let usage = field t "usage" image_usage_flags | |
let flags = field t "flags" image_create_flags_opt | |
end | |
let format record = Ctypes.getf record Fields.format | |
let typ record = Ctypes.getf record Fields.typ | |
let tiling record = Ctypes.getf record Fields.tiling | |
let usage record = Ctypes.getf record Fields.usage | |
let flags record = Ctypes.getf record Fields.flags let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_image_format_info_2_khr_extension = .. | |
type physical_device_image_format_info_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~format:arg__format~typ:arg__typ | |
~tiling:arg__tiling~usage:arg__usage?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_image_format_info_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.tiling arg__tiling; | |
Ctypes.setf generated__x__ Fields.usage arg__usage; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_image_format_info_2_khr = Physical_device_image_format_info_2_khr.t | |
type physical_device_image_format_info_2_khr = Physical_device_image_format_info_2_khr.t | |
module Physical_device_limits = struct type t | |
type physical_device_limits = t | |
let t: t structure typ = structure "physical_device_limits" | |
module Fields=struct | |
let max_image_dimension_1d = field t "max_image_dimension_1d" uint_32_t | |
let max_image_dimension_2d = field t "max_image_dimension_2d" uint_32_t | |
let max_image_dimension_3d = field t "max_image_dimension_3d" uint_32_t | |
let max_image_dimension_cube = field t "max_image_dimension_cube" uint_32_t | |
let max_image_array_layers = field t "max_image_array_layers" uint_32_t | |
let max_texel_buffer_elements = field t "max_texel_buffer_elements" uint_32_t | |
let max_uniform_buffer_range = field t "max_uniform_buffer_range" uint_32_t | |
let max_storage_buffer_range = field t "max_storage_buffer_range" uint_32_t | |
let max_push_constants_size = field t "max_push_constants_size" uint_32_t | |
let max_memory_allocation_count = field t "max_memory_allocation_count" uint_32_t | |
let max_sampler_allocation_count = field t "max_sampler_allocation_count" uint_32_t | |
let buffer_image_granularity = field t "buffer_image_granularity" device_size | |
let sparse_address_space_size = field t "sparse_address_space_size" device_size | |
let max_bound_descriptor_sets = field t "max_bound_descriptor_sets" uint_32_t | |
let max_per_stage_descriptor_samplers = field t "max_per_stage_descriptor_samplers" uint_32_t | |
let max_per_stage_descriptor_uniform_buffers = field t "max_per_stage_descriptor_uniform_buffers" uint_32_t | |
let max_per_stage_descriptor_storage_buffers = field t "max_per_stage_descriptor_storage_buffers" uint_32_t | |
let max_per_stage_descriptor_sampled_images = field t "max_per_stage_descriptor_sampled_images" uint_32_t | |
let max_per_stage_descriptor_storage_images = field t "max_per_stage_descriptor_storage_images" uint_32_t | |
let max_per_stage_descriptor_input_attachments = field t "max_per_stage_descriptor_input_attachments" uint_32_t | |
let max_per_stage_resources = field t "max_per_stage_resources" uint_32_t | |
let max_descriptor_set_samplers = field t "max_descriptor_set_samplers" uint_32_t | |
let max_descriptor_set_uniform_buffers = field t "max_descriptor_set_uniform_buffers" uint_32_t | |
let max_descriptor_set_uniform_buffers_dynamic = field t "max_descriptor_set_uniform_buffers_dynamic" uint_32_t | |
let max_descriptor_set_storage_buffers = field t "max_descriptor_set_storage_buffers" uint_32_t | |
let max_descriptor_set_storage_buffers_dynamic = field t "max_descriptor_set_storage_buffers_dynamic" uint_32_t | |
let max_descriptor_set_sampled_images = field t "max_descriptor_set_sampled_images" uint_32_t | |
let max_descriptor_set_storage_images = field t "max_descriptor_set_storage_images" uint_32_t | |
let max_descriptor_set_input_attachments = field t "max_descriptor_set_input_attachments" uint_32_t | |
let max_vertex_input_attributes = field t "max_vertex_input_attributes" uint_32_t | |
let max_vertex_input_bindings = field t "max_vertex_input_bindings" uint_32_t | |
let max_vertex_input_attribute_offset = field t "max_vertex_input_attribute_offset" uint_32_t | |
let max_vertex_input_binding_stride = field t "max_vertex_input_binding_stride" uint_32_t | |
let max_vertex_output_components = field t "max_vertex_output_components" uint_32_t | |
let max_tessellation_generation_level = field t "max_tessellation_generation_level" uint_32_t | |
let max_tessellation_patch_size = field t "max_tessellation_patch_size" uint_32_t | |
let max_tessellation_control_per_vertex_input_components = field t "max_tessellation_control_per_vertex_input_components" uint_32_t | |
let max_tessellation_control_per_vertex_output_components = field t "max_tessellation_control_per_vertex_output_components" uint_32_t | |
let max_tessellation_control_per_patch_output_components = field t "max_tessellation_control_per_patch_output_components" uint_32_t | |
let max_tessellation_control_total_output_components = field t "max_tessellation_control_total_output_components" uint_32_t | |
let max_tessellation_evaluation_input_components = field t "max_tessellation_evaluation_input_components" uint_32_t | |
let max_tessellation_evaluation_output_components = field t "max_tessellation_evaluation_output_components" uint_32_t | |
let max_geometry_shader_invocations = field t "max_geometry_shader_invocations" uint_32_t | |
let max_geometry_input_components = field t "max_geometry_input_components" uint_32_t | |
let max_geometry_output_components = field t "max_geometry_output_components" uint_32_t | |
let max_geometry_output_vertices = field t "max_geometry_output_vertices" uint_32_t | |
let max_geometry_total_output_components = field t "max_geometry_total_output_components" uint_32_t | |
let max_fragment_input_components = field t "max_fragment_input_components" uint_32_t | |
let max_fragment_output_attachments = field t "max_fragment_output_attachments" uint_32_t | |
let max_fragment_dual_src_attachments = field t "max_fragment_dual_src_attachments" uint_32_t | |
let max_fragment_combined_output_resources = field t "max_fragment_combined_output_resources" uint_32_t | |
let max_compute_shared_memory_size = field t "max_compute_shared_memory_size" uint_32_t | |
let max_compute_work_group_count = field t "max_compute_work_group_count" (array 3 @@ uint_32_t) | |
let max_compute_work_group_invocations = field t "max_compute_work_group_invocations" uint_32_t | |
let max_compute_work_group_size = field t "max_compute_work_group_size" (array 3 @@ uint_32_t) | |
let sub_pixel_precision_bits = field t "sub_pixel_precision_bits" uint_32_t | |
let sub_texel_precision_bits = field t "sub_texel_precision_bits" uint_32_t | |
let mipmap_precision_bits = field t "mipmap_precision_bits" uint_32_t | |
let max_draw_indexed_index_value = field t "max_draw_indexed_index_value" uint_32_t | |
let max_draw_indirect_count = field t "max_draw_indirect_count" uint_32_t | |
let max_sampler_lod_bias = field t "max_sampler_lod_bias" float | |
let max_sampler_anisotropy = field t "max_sampler_anisotropy" float | |
let max_viewports = field t "max_viewports" uint_32_t | |
let max_viewport_dimensions = field t "max_viewport_dimensions" (array 2 @@ uint_32_t) | |
let viewport_bounds_range = field t "viewport_bounds_range" (array 2 @@ float) | |
let viewport_sub_pixel_bits = field t "viewport_sub_pixel_bits" uint_32_t | |
let min_memory_map_alignment = field t "min_memory_map_alignment" size_t | |
let min_texel_buffer_offset_alignment = field t "min_texel_buffer_offset_alignment" device_size | |
let min_uniform_buffer_offset_alignment = field t "min_uniform_buffer_offset_alignment" device_size | |
let min_storage_buffer_offset_alignment = field t "min_storage_buffer_offset_alignment" device_size | |
let min_texel_offset = field t "min_texel_offset" int_32_t | |
let max_texel_offset = field t "max_texel_offset" uint_32_t | |
let min_texel_gather_offset = field t "min_texel_gather_offset" int_32_t | |
let max_texel_gather_offset = field t "max_texel_gather_offset" uint_32_t | |
let min_interpolation_offset = field t "min_interpolation_offset" float | |
let max_interpolation_offset = field t "max_interpolation_offset" float | |
let sub_pixel_interpolation_offset_bits = field t "sub_pixel_interpolation_offset_bits" uint_32_t | |
let max_framebuffer_width = field t "max_framebuffer_width" uint_32_t | |
let max_framebuffer_height = field t "max_framebuffer_height" uint_32_t | |
let max_framebuffer_layers = field t "max_framebuffer_layers" uint_32_t | |
let framebuffer_color_sample_counts = field t "framebuffer_color_sample_counts" sample_count_flags_opt | |
let framebuffer_depth_sample_counts = field t "framebuffer_depth_sample_counts" sample_count_flags_opt | |
let framebuffer_stencil_sample_counts = field t "framebuffer_stencil_sample_counts" sample_count_flags_opt | |
let framebuffer_no_attachments_sample_counts = field t "framebuffer_no_attachments_sample_counts" sample_count_flags_opt | |
let max_color_attachments = field t "max_color_attachments" uint_32_t | |
let sampled_image_color_sample_counts = field t "sampled_image_color_sample_counts" sample_count_flags_opt | |
let sampled_image_integer_sample_counts = field t "sampled_image_integer_sample_counts" sample_count_flags_opt | |
let sampled_image_depth_sample_counts = field t "sampled_image_depth_sample_counts" sample_count_flags_opt | |
let sampled_image_stencil_sample_counts = field t "sampled_image_stencil_sample_counts" sample_count_flags_opt | |
let storage_image_sample_counts = field t "storage_image_sample_counts" sample_count_flags_opt | |
let max_sample_mask_words = field t "max_sample_mask_words" uint_32_t | |
let timestamp_compute_and_graphics = field t "timestamp_compute_and_graphics" bool_32 | |
let timestamp_period = field t "timestamp_period" float | |
let max_clip_distances = field t "max_clip_distances" uint_32_t | |
let max_cull_distances = field t "max_cull_distances" uint_32_t | |
let max_combined_clip_and_cull_distances = field t "max_combined_clip_and_cull_distances" uint_32_t | |
let discrete_queue_priorities = field t "discrete_queue_priorities" uint_32_t | |
let point_size_range = field t "point_size_range" (array 2 @@ float) | |
let line_width_range = field t "line_width_range" (array 2 @@ float) | |
let point_size_granularity = field t "point_size_granularity" float | |
let line_width_granularity = field t "line_width_granularity" float | |
let strict_lines = field t "strict_lines" bool_32 | |
let standard_sample_locations = field t "standard_sample_locations" bool_32 | |
let optimal_buffer_copy_offset_alignment = field t "optimal_buffer_copy_offset_alignment" device_size | |
let optimal_buffer_copy_row_pitch_alignment = field t "optimal_buffer_copy_row_pitch_alignment" device_size | |
let non_coherent_atom_size = field t "non_coherent_atom_size" device_size | |
end | |
let max_image_dimension_1d record = Ctypes.getf record Fields.max_image_dimension_1d | |
let max_image_dimension_2d record = Ctypes.getf record Fields.max_image_dimension_2d | |
let max_image_dimension_3d record = Ctypes.getf record Fields.max_image_dimension_3d | |
let max_image_dimension_cube record = Ctypes.getf record Fields.max_image_dimension_cube | |
let max_image_array_layers record = Ctypes.getf record Fields.max_image_array_layers | |
let max_texel_buffer_elements record = Ctypes.getf record Fields.max_texel_buffer_elements | |
let max_uniform_buffer_range record = Ctypes.getf record Fields.max_uniform_buffer_range | |
let max_storage_buffer_range record = Ctypes.getf record Fields.max_storage_buffer_range | |
let max_push_constants_size record = Ctypes.getf record Fields.max_push_constants_size | |
let max_memory_allocation_count record = Ctypes.getf record Fields.max_memory_allocation_count | |
let max_sampler_allocation_count record = Ctypes.getf record Fields.max_sampler_allocation_count | |
let buffer_image_granularity record = Ctypes.getf record Fields.buffer_image_granularity | |
let sparse_address_space_size record = Ctypes.getf record Fields.sparse_address_space_size | |
let max_bound_descriptor_sets record = Ctypes.getf record Fields.max_bound_descriptor_sets | |
let max_per_stage_descriptor_samplers record = Ctypes.getf record Fields.max_per_stage_descriptor_samplers | |
let max_per_stage_descriptor_uniform_buffers record = Ctypes.getf record Fields.max_per_stage_descriptor_uniform_buffers | |
let max_per_stage_descriptor_storage_buffers record = Ctypes.getf record Fields.max_per_stage_descriptor_storage_buffers | |
let max_per_stage_descriptor_sampled_images record = Ctypes.getf record Fields.max_per_stage_descriptor_sampled_images | |
let max_per_stage_descriptor_storage_images record = Ctypes.getf record Fields.max_per_stage_descriptor_storage_images | |
let max_per_stage_descriptor_input_attachments record = Ctypes.getf record Fields.max_per_stage_descriptor_input_attachments | |
let max_per_stage_resources record = Ctypes.getf record Fields.max_per_stage_resources | |
let max_descriptor_set_samplers record = Ctypes.getf record Fields.max_descriptor_set_samplers | |
let max_descriptor_set_uniform_buffers record = Ctypes.getf record Fields.max_descriptor_set_uniform_buffers | |
let max_descriptor_set_uniform_buffers_dynamic record = Ctypes.getf record Fields.max_descriptor_set_uniform_buffers_dynamic | |
let max_descriptor_set_storage_buffers record = Ctypes.getf record Fields.max_descriptor_set_storage_buffers | |
let max_descriptor_set_storage_buffers_dynamic record = Ctypes.getf record Fields.max_descriptor_set_storage_buffers_dynamic | |
let max_descriptor_set_sampled_images record = Ctypes.getf record Fields.max_descriptor_set_sampled_images | |
let max_descriptor_set_storage_images record = Ctypes.getf record Fields.max_descriptor_set_storage_images | |
let max_descriptor_set_input_attachments record = Ctypes.getf record Fields.max_descriptor_set_input_attachments | |
let max_vertex_input_attributes record = Ctypes.getf record Fields.max_vertex_input_attributes | |
let max_vertex_input_bindings record = Ctypes.getf record Fields.max_vertex_input_bindings | |
let max_vertex_input_attribute_offset record = Ctypes.getf record Fields.max_vertex_input_attribute_offset | |
let max_vertex_input_binding_stride record = Ctypes.getf record Fields.max_vertex_input_binding_stride | |
let max_vertex_output_components record = Ctypes.getf record Fields.max_vertex_output_components | |
let max_tessellation_generation_level record = Ctypes.getf record Fields.max_tessellation_generation_level | |
let max_tessellation_patch_size record = Ctypes.getf record Fields.max_tessellation_patch_size | |
let max_tessellation_control_per_vertex_input_components record = Ctypes.getf record Fields.max_tessellation_control_per_vertex_input_components | |
let max_tessellation_control_per_vertex_output_components record = Ctypes.getf record Fields.max_tessellation_control_per_vertex_output_components | |
let max_tessellation_control_per_patch_output_components record = Ctypes.getf record Fields.max_tessellation_control_per_patch_output_components | |
let max_tessellation_control_total_output_components record = Ctypes.getf record Fields.max_tessellation_control_total_output_components | |
let max_tessellation_evaluation_input_components record = Ctypes.getf record Fields.max_tessellation_evaluation_input_components | |
let max_tessellation_evaluation_output_components record = Ctypes.getf record Fields.max_tessellation_evaluation_output_components | |
let max_geometry_shader_invocations record = Ctypes.getf record Fields.max_geometry_shader_invocations | |
let max_geometry_input_components record = Ctypes.getf record Fields.max_geometry_input_components | |
let max_geometry_output_components record = Ctypes.getf record Fields.max_geometry_output_components | |
let max_geometry_output_vertices record = Ctypes.getf record Fields.max_geometry_output_vertices | |
let max_geometry_total_output_components record = Ctypes.getf record Fields.max_geometry_total_output_components | |
let max_fragment_input_components record = Ctypes.getf record Fields.max_fragment_input_components | |
let max_fragment_output_attachments record = Ctypes.getf record Fields.max_fragment_output_attachments | |
let max_fragment_dual_src_attachments record = Ctypes.getf record Fields.max_fragment_dual_src_attachments | |
let max_fragment_combined_output_resources record = Ctypes.getf record Fields.max_fragment_combined_output_resources | |
let max_compute_shared_memory_size record = Ctypes.getf record Fields.max_compute_shared_memory_size | |
let max_compute_work_group_count record = Ctypes.getf record Fields.max_compute_work_group_count | |
let max_compute_work_group_invocations record = Ctypes.getf record Fields.max_compute_work_group_invocations | |
let max_compute_work_group_size record = Ctypes.getf record Fields.max_compute_work_group_size | |
let sub_pixel_precision_bits record = Ctypes.getf record Fields.sub_pixel_precision_bits | |
let sub_texel_precision_bits record = Ctypes.getf record Fields.sub_texel_precision_bits | |
let mipmap_precision_bits record = Ctypes.getf record Fields.mipmap_precision_bits | |
let max_draw_indexed_index_value record = Ctypes.getf record Fields.max_draw_indexed_index_value | |
let max_draw_indirect_count record = Ctypes.getf record Fields.max_draw_indirect_count | |
let max_sampler_lod_bias record = Ctypes.getf record Fields.max_sampler_lod_bias | |
let max_sampler_anisotropy record = Ctypes.getf record Fields.max_sampler_anisotropy | |
let max_viewports record = Ctypes.getf record Fields.max_viewports | |
let max_viewport_dimensions record = Ctypes.getf record Fields.max_viewport_dimensions | |
let viewport_bounds_range record = Ctypes.getf record Fields.viewport_bounds_range | |
let viewport_sub_pixel_bits record = Ctypes.getf record Fields.viewport_sub_pixel_bits | |
let min_memory_map_alignment record = Ctypes.getf record Fields.min_memory_map_alignment | |
let min_texel_buffer_offset_alignment record = Ctypes.getf record Fields.min_texel_buffer_offset_alignment | |
let min_uniform_buffer_offset_alignment record = Ctypes.getf record Fields.min_uniform_buffer_offset_alignment | |
let min_storage_buffer_offset_alignment record = Ctypes.getf record Fields.min_storage_buffer_offset_alignment | |
let min_texel_offset record = Ctypes.getf record Fields.min_texel_offset | |
let max_texel_offset record = Ctypes.getf record Fields.max_texel_offset | |
let min_texel_gather_offset record = Ctypes.getf record Fields.min_texel_gather_offset | |
let max_texel_gather_offset record = Ctypes.getf record Fields.max_texel_gather_offset | |
let min_interpolation_offset record = Ctypes.getf record Fields.min_interpolation_offset | |
let max_interpolation_offset record = Ctypes.getf record Fields.max_interpolation_offset | |
let sub_pixel_interpolation_offset_bits record = Ctypes.getf record Fields.sub_pixel_interpolation_offset_bits | |
let max_framebuffer_width record = Ctypes.getf record Fields.max_framebuffer_width | |
let max_framebuffer_height record = Ctypes.getf record Fields.max_framebuffer_height | |
let max_framebuffer_layers record = Ctypes.getf record Fields.max_framebuffer_layers | |
let framebuffer_color_sample_counts record = Ctypes.getf record Fields.framebuffer_color_sample_counts | |
let framebuffer_depth_sample_counts record = Ctypes.getf record Fields.framebuffer_depth_sample_counts | |
let framebuffer_stencil_sample_counts record = Ctypes.getf record Fields.framebuffer_stencil_sample_counts | |
let framebuffer_no_attachments_sample_counts record = Ctypes.getf record Fields.framebuffer_no_attachments_sample_counts | |
let max_color_attachments record = Ctypes.getf record Fields.max_color_attachments | |
let sampled_image_color_sample_counts record = Ctypes.getf record Fields.sampled_image_color_sample_counts | |
let sampled_image_integer_sample_counts record = Ctypes.getf record Fields.sampled_image_integer_sample_counts | |
let sampled_image_depth_sample_counts record = Ctypes.getf record Fields.sampled_image_depth_sample_counts | |
let sampled_image_stencil_sample_counts record = Ctypes.getf record Fields.sampled_image_stencil_sample_counts | |
let storage_image_sample_counts record = Ctypes.getf record Fields.storage_image_sample_counts | |
let max_sample_mask_words record = Ctypes.getf record Fields.max_sample_mask_words | |
let timestamp_compute_and_graphics record = Ctypes.getf record Fields.timestamp_compute_and_graphics | |
let timestamp_period record = Ctypes.getf record Fields.timestamp_period | |
let max_clip_distances record = Ctypes.getf record Fields.max_clip_distances | |
let max_cull_distances record = Ctypes.getf record Fields.max_cull_distances | |
let max_combined_clip_and_cull_distances record = Ctypes.getf record Fields.max_combined_clip_and_cull_distances | |
let discrete_queue_priorities record = Ctypes.getf record Fields.discrete_queue_priorities | |
let point_size_range record = Ctypes.getf record Fields.point_size_range | |
let line_width_range record = Ctypes.getf record Fields.line_width_range | |
let point_size_granularity record = Ctypes.getf record Fields.point_size_granularity | |
let line_width_granularity record = Ctypes.getf record Fields.line_width_granularity | |
let strict_lines record = Ctypes.getf record Fields.strict_lines | |
let standard_sample_locations record = Ctypes.getf record Fields.standard_sample_locations | |
let optimal_buffer_copy_offset_alignment record = Ctypes.getf record Fields.optimal_buffer_copy_offset_alignment | |
let optimal_buffer_copy_row_pitch_alignment record = Ctypes.getf record Fields.optimal_buffer_copy_row_pitch_alignment | |
let non_coherent_atom_size record = Ctypes.getf record Fields.non_coherent_atom_size | |
let () = Ctypes.seal t | |
let make ~max_image_dimension_1d:arg__max_image_dimension_1d | |
~max_image_dimension_2d:arg__max_image_dimension_2d | |
~max_image_dimension_3d:arg__max_image_dimension_3d | |
~max_image_dimension_cube:arg__max_image_dimension_cube | |
~max_image_array_layers:arg__max_image_array_layers | |
~max_texel_buffer_elements:arg__max_texel_buffer_elements | |
~max_uniform_buffer_range:arg__max_uniform_buffer_range | |
~max_storage_buffer_range:arg__max_storage_buffer_range | |
~max_push_constants_size:arg__max_push_constants_size | |
~max_memory_allocation_count:arg__max_memory_allocation_count | |
~max_sampler_allocation_count:arg__max_sampler_allocation_count | |
~buffer_image_granularity:arg__buffer_image_granularity | |
~sparse_address_space_size:arg__sparse_address_space_size | |
~max_bound_descriptor_sets:arg__max_bound_descriptor_sets | |
~max_per_stage_descriptor_samplers:arg__max_per_stage_descriptor_samplers | |
~max_per_stage_descriptor_uniform_buffers:arg__max_per_stage_descriptor_uniform_buffers | |
~max_per_stage_descriptor_storage_buffers:arg__max_per_stage_descriptor_storage_buffers | |
~max_per_stage_descriptor_sampled_images:arg__max_per_stage_descriptor_sampled_images | |
~max_per_stage_descriptor_storage_images:arg__max_per_stage_descriptor_storage_images | |
~max_per_stage_descriptor_input_attachments:arg__max_per_stage_descriptor_input_attachments | |
~max_per_stage_resources:arg__max_per_stage_resources | |
~max_descriptor_set_samplers:arg__max_descriptor_set_samplers | |
~max_descriptor_set_uniform_buffers:arg__max_descriptor_set_uniform_buffers | |
~max_descriptor_set_uniform_buffers_dynamic:arg__max_descriptor_set_uniform_buffers_dynamic | |
~max_descriptor_set_storage_buffers:arg__max_descriptor_set_storage_buffers | |
~max_descriptor_set_storage_buffers_dynamic:arg__max_descriptor_set_storage_buffers_dynamic | |
~max_descriptor_set_sampled_images:arg__max_descriptor_set_sampled_images | |
~max_descriptor_set_storage_images:arg__max_descriptor_set_storage_images | |
~max_descriptor_set_input_attachments:arg__max_descriptor_set_input_attachments | |
~max_vertex_input_attributes:arg__max_vertex_input_attributes | |
~max_vertex_input_bindings:arg__max_vertex_input_bindings | |
~max_vertex_input_attribute_offset:arg__max_vertex_input_attribute_offset | |
~max_vertex_input_binding_stride:arg__max_vertex_input_binding_stride | |
~max_vertex_output_components:arg__max_vertex_output_components | |
~max_tessellation_generation_level:arg__max_tessellation_generation_level | |
~max_tessellation_patch_size:arg__max_tessellation_patch_size | |
~max_tessellation_control_per_vertex_input_components:arg__max_tessellation_control_per_vertex_input_components | |
~max_tessellation_control_per_vertex_output_components:arg__max_tessellation_control_per_vertex_output_components | |
~max_tessellation_control_per_patch_output_components:arg__max_tessellation_control_per_patch_output_components | |
~max_tessellation_control_total_output_components:arg__max_tessellation_control_total_output_components | |
~max_tessellation_evaluation_input_components:arg__max_tessellation_evaluation_input_components | |
~max_tessellation_evaluation_output_components:arg__max_tessellation_evaluation_output_components | |
~max_geometry_shader_invocations:arg__max_geometry_shader_invocations | |
~max_geometry_input_components:arg__max_geometry_input_components | |
~max_geometry_output_components:arg__max_geometry_output_components | |
~max_geometry_output_vertices:arg__max_geometry_output_vertices | |
~max_geometry_total_output_components:arg__max_geometry_total_output_components | |
~max_fragment_input_components:arg__max_fragment_input_components | |
~max_fragment_output_attachments:arg__max_fragment_output_attachments | |
~max_fragment_dual_src_attachments:arg__max_fragment_dual_src_attachments | |
~max_fragment_combined_output_resources:arg__max_fragment_combined_output_resources | |
~max_compute_shared_memory_size:arg__max_compute_shared_memory_size | |
~max_compute_work_group_count:arg__max_compute_work_group_count | |
~max_compute_work_group_invocations:arg__max_compute_work_group_invocations | |
~max_compute_work_group_size:arg__max_compute_work_group_size | |
~sub_pixel_precision_bits:arg__sub_pixel_precision_bits | |
~sub_texel_precision_bits:arg__sub_texel_precision_bits | |
~mipmap_precision_bits:arg__mipmap_precision_bits | |
~max_draw_indexed_index_value:arg__max_draw_indexed_index_value | |
~max_draw_indirect_count:arg__max_draw_indirect_count | |
~max_sampler_lod_bias:arg__max_sampler_lod_bias | |
~max_sampler_anisotropy:arg__max_sampler_anisotropy | |
~max_viewports:arg__max_viewports | |
~max_viewport_dimensions:arg__max_viewport_dimensions | |
~viewport_bounds_range:arg__viewport_bounds_range | |
~viewport_sub_pixel_bits:arg__viewport_sub_pixel_bits | |
~min_memory_map_alignment:arg__min_memory_map_alignment | |
~min_texel_buffer_offset_alignment:arg__min_texel_buffer_offset_alignment | |
~min_uniform_buffer_offset_alignment:arg__min_uniform_buffer_offset_alignment | |
~min_storage_buffer_offset_alignment:arg__min_storage_buffer_offset_alignment | |
~min_texel_offset:arg__min_texel_offset | |
~max_texel_offset:arg__max_texel_offset | |
~min_texel_gather_offset:arg__min_texel_gather_offset | |
~max_texel_gather_offset:arg__max_texel_gather_offset | |
~min_interpolation_offset:arg__min_interpolation_offset | |
~max_interpolation_offset:arg__max_interpolation_offset | |
~sub_pixel_interpolation_offset_bits:arg__sub_pixel_interpolation_offset_bits | |
~max_framebuffer_width:arg__max_framebuffer_width | |
~max_framebuffer_height:arg__max_framebuffer_height | |
~max_framebuffer_layers:arg__max_framebuffer_layers | |
?framebuffer_color_sample_counts:arg__framebuffer_color_sample_counts | |
?framebuffer_depth_sample_counts:arg__framebuffer_depth_sample_counts | |
?framebuffer_stencil_sample_counts:arg__framebuffer_stencil_sample_counts | |
?framebuffer_no_attachments_sample_counts:arg__framebuffer_no_attachments_sample_counts | |
~max_color_attachments:arg__max_color_attachments | |
?sampled_image_color_sample_counts:arg__sampled_image_color_sample_counts | |
?sampled_image_integer_sample_counts:arg__sampled_image_integer_sample_counts | |
?sampled_image_depth_sample_counts:arg__sampled_image_depth_sample_counts | |
?sampled_image_stencil_sample_counts:arg__sampled_image_stencil_sample_counts | |
?storage_image_sample_counts:arg__storage_image_sample_counts | |
~max_sample_mask_words:arg__max_sample_mask_words | |
~timestamp_compute_and_graphics:arg__timestamp_compute_and_graphics | |
~timestamp_period:arg__timestamp_period | |
~max_clip_distances:arg__max_clip_distances | |
~max_cull_distances:arg__max_cull_distances | |
~max_combined_clip_and_cull_distances:arg__max_combined_clip_and_cull_distances | |
~discrete_queue_priorities:arg__discrete_queue_priorities | |
~point_size_range:arg__point_size_range | |
~line_width_range:arg__line_width_range | |
~point_size_granularity:arg__point_size_granularity | |
~line_width_granularity:arg__line_width_granularity | |
~strict_lines:arg__strict_lines | |
~standard_sample_locations:arg__standard_sample_locations | |
~optimal_buffer_copy_offset_alignment:arg__optimal_buffer_copy_offset_alignment | |
~optimal_buffer_copy_row_pitch_alignment:arg__optimal_buffer_copy_row_pitch_alignment | |
~non_coherent_atom_size:arg__non_coherent_atom_size ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.max_image_dimension_1d arg__max_image_dimension_1d; | |
Ctypes.setf generated__x__ Fields.max_image_dimension_2d arg__max_image_dimension_2d; | |
Ctypes.setf generated__x__ Fields.max_image_dimension_3d arg__max_image_dimension_3d; | |
Ctypes.setf generated__x__ Fields.max_image_dimension_cube arg__max_image_dimension_cube; | |
Ctypes.setf generated__x__ Fields.max_image_array_layers arg__max_image_array_layers; | |
Ctypes.setf generated__x__ Fields.max_texel_buffer_elements arg__max_texel_buffer_elements; | |
Ctypes.setf generated__x__ Fields.max_uniform_buffer_range arg__max_uniform_buffer_range; | |
Ctypes.setf generated__x__ Fields.max_storage_buffer_range arg__max_storage_buffer_range; | |
Ctypes.setf generated__x__ Fields.max_push_constants_size arg__max_push_constants_size; | |
Ctypes.setf generated__x__ Fields.max_memory_allocation_count arg__max_memory_allocation_count; | |
Ctypes.setf generated__x__ Fields.max_sampler_allocation_count arg__max_sampler_allocation_count; | |
Ctypes.setf generated__x__ Fields.buffer_image_granularity arg__buffer_image_granularity; | |
Ctypes.setf generated__x__ Fields.sparse_address_space_size arg__sparse_address_space_size; | |
Ctypes.setf generated__x__ Fields.max_bound_descriptor_sets arg__max_bound_descriptor_sets; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_samplers arg__max_per_stage_descriptor_samplers; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_uniform_buffers arg__max_per_stage_descriptor_uniform_buffers; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_storage_buffers arg__max_per_stage_descriptor_storage_buffers; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_sampled_images arg__max_per_stage_descriptor_sampled_images; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_storage_images arg__max_per_stage_descriptor_storage_images; | |
Ctypes.setf generated__x__ Fields.max_per_stage_descriptor_input_attachments arg__max_per_stage_descriptor_input_attachments; | |
Ctypes.setf generated__x__ Fields.max_per_stage_resources arg__max_per_stage_resources; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_samplers arg__max_descriptor_set_samplers; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_uniform_buffers arg__max_descriptor_set_uniform_buffers; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_uniform_buffers_dynamic arg__max_descriptor_set_uniform_buffers_dynamic; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_storage_buffers arg__max_descriptor_set_storage_buffers; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_storage_buffers_dynamic arg__max_descriptor_set_storage_buffers_dynamic; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_sampled_images arg__max_descriptor_set_sampled_images; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_storage_images arg__max_descriptor_set_storage_images; | |
Ctypes.setf generated__x__ Fields.max_descriptor_set_input_attachments arg__max_descriptor_set_input_attachments; | |
Ctypes.setf generated__x__ Fields.max_vertex_input_attributes arg__max_vertex_input_attributes; | |
Ctypes.setf generated__x__ Fields.max_vertex_input_bindings arg__max_vertex_input_bindings; | |
Ctypes.setf generated__x__ Fields.max_vertex_input_attribute_offset arg__max_vertex_input_attribute_offset; | |
Ctypes.setf generated__x__ Fields.max_vertex_input_binding_stride arg__max_vertex_input_binding_stride; | |
Ctypes.setf generated__x__ Fields.max_vertex_output_components arg__max_vertex_output_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_generation_level arg__max_tessellation_generation_level; | |
Ctypes.setf generated__x__ Fields.max_tessellation_patch_size arg__max_tessellation_patch_size; | |
Ctypes.setf generated__x__ Fields.max_tessellation_control_per_vertex_input_components arg__max_tessellation_control_per_vertex_input_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_control_per_vertex_output_components arg__max_tessellation_control_per_vertex_output_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_control_per_patch_output_components arg__max_tessellation_control_per_patch_output_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_control_total_output_components arg__max_tessellation_control_total_output_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_evaluation_input_components arg__max_tessellation_evaluation_input_components; | |
Ctypes.setf generated__x__ Fields.max_tessellation_evaluation_output_components arg__max_tessellation_evaluation_output_components; | |
Ctypes.setf generated__x__ Fields.max_geometry_shader_invocations arg__max_geometry_shader_invocations; | |
Ctypes.setf generated__x__ Fields.max_geometry_input_components arg__max_geometry_input_components; | |
Ctypes.setf generated__x__ Fields.max_geometry_output_components arg__max_geometry_output_components; | |
Ctypes.setf generated__x__ Fields.max_geometry_output_vertices arg__max_geometry_output_vertices; | |
Ctypes.setf generated__x__ Fields.max_geometry_total_output_components arg__max_geometry_total_output_components; | |
Ctypes.setf generated__x__ Fields.max_fragment_input_components arg__max_fragment_input_components; | |
Ctypes.setf generated__x__ Fields.max_fragment_output_attachments arg__max_fragment_output_attachments; | |
Ctypes.setf generated__x__ Fields.max_fragment_dual_src_attachments arg__max_fragment_dual_src_attachments; | |
Ctypes.setf generated__x__ Fields.max_fragment_combined_output_resources arg__max_fragment_combined_output_resources; | |
Ctypes.setf generated__x__ Fields.max_compute_shared_memory_size arg__max_compute_shared_memory_size; | |
Ctypes.setf generated__x__ Fields.max_compute_work_group_count arg__max_compute_work_group_count; | |
Ctypes.setf generated__x__ Fields.max_compute_work_group_invocations arg__max_compute_work_group_invocations; | |
Ctypes.setf generated__x__ Fields.max_compute_work_group_size arg__max_compute_work_group_size; | |
Ctypes.setf generated__x__ Fields.sub_pixel_precision_bits arg__sub_pixel_precision_bits; | |
Ctypes.setf generated__x__ Fields.sub_texel_precision_bits arg__sub_texel_precision_bits; | |
Ctypes.setf generated__x__ Fields.mipmap_precision_bits arg__mipmap_precision_bits; | |
Ctypes.setf generated__x__ Fields.max_draw_indexed_index_value arg__max_draw_indexed_index_value; | |
Ctypes.setf generated__x__ Fields.max_draw_indirect_count arg__max_draw_indirect_count; | |
Ctypes.setf generated__x__ Fields.max_sampler_lod_bias arg__max_sampler_lod_bias; | |
Ctypes.setf generated__x__ Fields.max_sampler_anisotropy arg__max_sampler_anisotropy; | |
Ctypes.setf generated__x__ Fields.max_viewports arg__max_viewports; | |
Ctypes.setf generated__x__ Fields.max_viewport_dimensions arg__max_viewport_dimensions; | |
Ctypes.setf generated__x__ Fields.viewport_bounds_range arg__viewport_bounds_range; | |
Ctypes.setf generated__x__ Fields.viewport_sub_pixel_bits arg__viewport_sub_pixel_bits; | |
Ctypes.setf generated__x__ Fields.min_memory_map_alignment arg__min_memory_map_alignment; | |
Ctypes.setf generated__x__ Fields.min_texel_buffer_offset_alignment arg__min_texel_buffer_offset_alignment; | |
Ctypes.setf generated__x__ Fields.min_uniform_buffer_offset_alignment arg__min_uniform_buffer_offset_alignment; | |
Ctypes.setf generated__x__ Fields.min_storage_buffer_offset_alignment arg__min_storage_buffer_offset_alignment; | |
Ctypes.setf generated__x__ Fields.min_texel_offset arg__min_texel_offset; | |
Ctypes.setf generated__x__ Fields.max_texel_offset arg__max_texel_offset; | |
Ctypes.setf generated__x__ Fields.min_texel_gather_offset arg__min_texel_gather_offset; | |
Ctypes.setf generated__x__ Fields.max_texel_gather_offset arg__max_texel_gather_offset; | |
Ctypes.setf generated__x__ Fields.min_interpolation_offset arg__min_interpolation_offset; | |
Ctypes.setf generated__x__ Fields.max_interpolation_offset arg__max_interpolation_offset; | |
Ctypes.setf generated__x__ Fields.sub_pixel_interpolation_offset_bits arg__sub_pixel_interpolation_offset_bits; | |
Ctypes.setf generated__x__ Fields.max_framebuffer_width arg__max_framebuffer_width; | |
Ctypes.setf generated__x__ Fields.max_framebuffer_height arg__max_framebuffer_height; | |
Ctypes.setf generated__x__ Fields.max_framebuffer_layers arg__max_framebuffer_layers; | |
Ctypes.setf generated__x__ Fields.framebuffer_color_sample_counts arg__framebuffer_color_sample_counts; | |
Ctypes.setf generated__x__ Fields.framebuffer_depth_sample_counts arg__framebuffer_depth_sample_counts; | |
Ctypes.setf generated__x__ Fields.framebuffer_stencil_sample_counts arg__framebuffer_stencil_sample_counts; | |
Ctypes.setf generated__x__ Fields.framebuffer_no_attachments_sample_counts arg__framebuffer_no_attachments_sample_counts; | |
Ctypes.setf generated__x__ Fields.max_color_attachments arg__max_color_attachments; | |
Ctypes.setf generated__x__ Fields.sampled_image_color_sample_counts arg__sampled_image_color_sample_counts; | |
Ctypes.setf generated__x__ Fields.sampled_image_integer_sample_counts arg__sampled_image_integer_sample_counts; | |
Ctypes.setf generated__x__ Fields.sampled_image_depth_sample_counts arg__sampled_image_depth_sample_counts; | |
Ctypes.setf generated__x__ Fields.sampled_image_stencil_sample_counts arg__sampled_image_stencil_sample_counts; | |
Ctypes.setf generated__x__ Fields.storage_image_sample_counts arg__storage_image_sample_counts; | |
Ctypes.setf generated__x__ Fields.max_sample_mask_words arg__max_sample_mask_words; | |
Ctypes.setf generated__x__ Fields.timestamp_compute_and_graphics arg__timestamp_compute_and_graphics; | |
Ctypes.setf generated__x__ Fields.timestamp_period arg__timestamp_period; | |
Ctypes.setf generated__x__ Fields.max_clip_distances arg__max_clip_distances; | |
Ctypes.setf generated__x__ Fields.max_cull_distances arg__max_cull_distances; | |
Ctypes.setf generated__x__ Fields.max_combined_clip_and_cull_distances arg__max_combined_clip_and_cull_distances; | |
Ctypes.setf generated__x__ Fields.discrete_queue_priorities arg__discrete_queue_priorities; | |
Ctypes.setf generated__x__ Fields.point_size_range arg__point_size_range; | |
Ctypes.setf generated__x__ Fields.line_width_range arg__line_width_range; | |
Ctypes.setf generated__x__ Fields.point_size_granularity arg__point_size_granularity; | |
Ctypes.setf generated__x__ Fields.line_width_granularity arg__line_width_granularity; | |
Ctypes.setf generated__x__ Fields.strict_lines arg__strict_lines; | |
Ctypes.setf generated__x__ Fields.standard_sample_locations arg__standard_sample_locations; | |
Ctypes.setf generated__x__ Fields.optimal_buffer_copy_offset_alignment arg__optimal_buffer_copy_offset_alignment; | |
Ctypes.setf generated__x__ Fields.optimal_buffer_copy_row_pitch_alignment arg__optimal_buffer_copy_row_pitch_alignment; | |
Ctypes.setf generated__x__ Fields.non_coherent_atom_size arg__non_coherent_atom_size; | |
Ctypes.addr generated__x__ end | |
let physical_device_limits = Physical_device_limits.t | |
type physical_device_limits = Physical_device_limits.t | |
module Physical_device_memory_properties = struct type t | |
type physical_device_memory_properties = t | |
let t: t structure typ = structure "physical_device_memory_properties" | |
module Fields=struct | |
let memory_type_count = field t "memory_type_count" uint_32_t | |
let memory_types = field t "memory_types" (array max_memory_types @@ memory_type) | |
let memory_heap_count = field t "memory_heap_count" uint_32_t | |
let memory_heaps = field t "memory_heaps" (array max_memory_heaps @@ memory_heap) | |
end | |
let memory_type_count record = Ctypes.getf record Fields.memory_type_count | |
let memory_types record = Ctypes.getf record Fields.memory_types | |
let memory_heap_count record = Ctypes.getf record Fields.memory_heap_count | |
let memory_heaps record = Ctypes.getf record Fields.memory_heaps | |
let () = Ctypes.seal t | |
let make ~memory_type_count:arg__memory_type_count | |
~memory_types:arg__memory_types~memory_heap_count:arg__memory_heap_count | |
~memory_heaps:arg__memory_heaps = let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.memory_type_count arg__memory_type_count; | |
Ctypes.setf generated__x__ Fields.memory_types arg__memory_types; | |
Ctypes.setf generated__x__ Fields.memory_heap_count arg__memory_heap_count; | |
Ctypes.setf generated__x__ Fields.memory_heaps arg__memory_heaps; | |
Ctypes.addr generated__x__ end | |
let physical_device_memory_properties = Physical_device_memory_properties.t | |
type physical_device_memory_properties = Physical_device_memory_properties.t | |
module Physical_device_memory_properties_2_khr = struct type t | |
type physical_device_memory_properties_2_khr = t | |
let t: t structure typ = structure "physical_device_memory_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let memory_properties = field t "memory_properties" physical_device_memory_properties | |
end | |
let memory_properties record = Ctypes.getf record Fields.memory_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_memory_properties_2_khr_extension = .. | |
type physical_device_memory_properties_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~memory_properties:arg__memory_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_memory_properties_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.memory_properties arg__memory_properties; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_memory_properties_2_khr = Physical_device_memory_properties_2_khr.t | |
type physical_device_memory_properties_2_khr = Physical_device_memory_properties_2_khr.t | |
module Physical_device_multiview_per_view_attributes_properties_nvx = struct | |
type t | |
type physical_device_multiview_per_view_attributes_properties_nvx = t | |
let t: t structure typ = structure "physical_device_multiview_per_view_attributes_properties_nvx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let per_view_position_all_components = field t "per_view_position_all_components" bool_32 | |
end | |
let per_view_position_all_components record = Ctypes.getf record Fields.per_view_position_all_components | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_multiview_per_view_attributes_properties_nvx_extension = .. | |
type physical_device_multiview_per_view_attributes_properties_nvx_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~per_view_position_all_components:arg__per_view_position_all_components ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_multiview_per_view_attributes_properties_nvx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.per_view_position_all_components arg__per_view_position_all_components; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_multiview_per_view_attributes_properties_nvx = Physical_device_multiview_per_view_attributes_properties_nvx.t | |
type physical_device_multiview_per_view_attributes_properties_nvx = Physical_device_multiview_per_view_attributes_properties_nvx.t | |
module Physical_device_multiview_properties_khx = struct type t | |
type physical_device_multiview_properties_khx = t | |
let t: t structure typ = structure "physical_device_multiview_properties_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let max_multiview_view_count = field t "max_multiview_view_count" uint_32_t | |
let max_multiview_instance_index = field t "max_multiview_instance_index" uint_32_t | |
end | |
let max_multiview_view_count record = Ctypes.getf record Fields.max_multiview_view_count | |
let max_multiview_instance_index record = Ctypes.getf record Fields.max_multiview_instance_index | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_multiview_properties_khx_extension = .. | |
type physical_device_multiview_properties_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~max_multiview_view_count:arg__max_multiview_view_count | |
~max_multiview_instance_index:arg__max_multiview_instance_index ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_multiview_properties_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.max_multiview_view_count arg__max_multiview_view_count; | |
Ctypes.setf generated__x__ Fields.max_multiview_instance_index arg__max_multiview_instance_index; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_multiview_properties_khx = Physical_device_multiview_properties_khx.t | |
type physical_device_multiview_properties_khx = Physical_device_multiview_properties_khx.t | |
module Physical_device_type = struct | |
type t = | Other | |
| Integrated_gpu | |
| Discrete_gpu | |
| Virtual_gpu | |
| Cpu | |
let to_int = function | |
| Other -> 0 | |
| Integrated_gpu -> 1 | |
| Discrete_gpu -> 2 | |
| Virtual_gpu -> 3 | |
| Cpu -> 4 | |
let of_int = function | |
| 0 -> Other | |
| 1 -> Integrated_gpu | |
| 2 -> Discrete_gpu | |
| 3 -> Virtual_gpu | |
| 4 -> Cpu | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Other -> "Other" | |
| Integrated_gpu -> "Integrated_gpu" | |
| Discrete_gpu -> "Discrete_gpu" | |
| Virtual_gpu -> "Virtual_gpu" | |
| Cpu -> "Cpu") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let physical_device_type, physical_device_type_opt = Physical_device_type.(view,view_opt) | |
type physical_device_type = Physical_device_type.t | |
module Physical_device_sparse_properties = struct type t | |
type physical_device_sparse_properties = t | |
let t: t structure typ = structure "physical_device_sparse_properties" | |
module Fields=struct | |
let residency_standard_2d_b_l_o_c_k_s_h_a_p_e = field t "residency_standard_2d_b_l_o_c_k_s_h_a_p_e" bool_32 | |
let residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e = field t "residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e" bool_32 | |
let residency_standard_3d_b_l_o_c_k_s_h_a_p_e = field t "residency_standard_3d_b_l_o_c_k_s_h_a_p_e" bool_32 | |
let residency_aligned_mip_size = field t "residency_aligned_mip_size" bool_32 | |
let residency_non_resident_strict = field t "residency_non_resident_strict" bool_32 | |
end | |
let residency_standard_2d_b_l_o_c_k_s_h_a_p_e record = Ctypes.getf record Fields.residency_standard_2d_b_l_o_c_k_s_h_a_p_e | |
let residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e record = Ctypes.getf record Fields.residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e | |
let residency_standard_3d_b_l_o_c_k_s_h_a_p_e record = Ctypes.getf record Fields.residency_standard_3d_b_l_o_c_k_s_h_a_p_e | |
let residency_aligned_mip_size record = Ctypes.getf record Fields.residency_aligned_mip_size | |
let residency_non_resident_strict record = Ctypes.getf record Fields.residency_non_resident_strict | |
let () = Ctypes.seal t | |
let make ~residency_standard_2d_b_l_o_c_k_s_h_a_p_e:arg__residency_standard_2d_b_l_o_c_k_s_h_a_p_e | |
~residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e:arg__residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e | |
~residency_standard_3d_b_l_o_c_k_s_h_a_p_e:arg__residency_standard_3d_b_l_o_c_k_s_h_a_p_e | |
~residency_aligned_mip_size:arg__residency_aligned_mip_size | |
~residency_non_resident_strict:arg__residency_non_resident_strict = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.residency_standard_2d_b_l_o_c_k_s_h_a_p_e arg__residency_standard_2d_b_l_o_c_k_s_h_a_p_e; | |
Ctypes.setf generated__x__ Fields.residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e arg__residency_standard_2d_m_u_l_t_i_s_a_m_p_l_e_b_l_o_c_k_s_h_a_p_e; | |
Ctypes.setf generated__x__ Fields.residency_standard_3d_b_l_o_c_k_s_h_a_p_e arg__residency_standard_3d_b_l_o_c_k_s_h_a_p_e; | |
Ctypes.setf generated__x__ Fields.residency_aligned_mip_size arg__residency_aligned_mip_size; | |
Ctypes.setf generated__x__ Fields.residency_non_resident_strict arg__residency_non_resident_strict; | |
Ctypes.addr generated__x__ end | |
let physical_device_sparse_properties = Physical_device_sparse_properties.t | |
type physical_device_sparse_properties = Physical_device_sparse_properties.t | |
module Physical_device_properties = struct type t | |
type physical_device_properties = t | |
let t: t structure typ = structure "physical_device_properties" | |
module Fields=struct | |
let api_version = field t "api_version" uint_32_t | |
let driver_version = field t "driver_version" uint_32_t | |
let vendor_id = field t "vendor_id" uint_32_t | |
let device_id = field t "device_id" uint_32_t | |
let device_type = field t "device_type" physical_device_type | |
let device_name = field t "device_name" (array max_physical_device_name_size @@ char) | |
let pipeline_cache_uuid = field t "pipeline_cache_uuid" (array uuid_size @@ uint_8_t) | |
let limits = field t "limits" physical_device_limits | |
let sparse_properties = field t "sparse_properties" physical_device_sparse_properties | |
end | |
let api_version record = Ctypes.getf record Fields.api_version | |
let driver_version record = Ctypes.getf record Fields.driver_version | |
let vendor_id record = Ctypes.getf record Fields.vendor_id | |
let device_id record = Ctypes.getf record Fields.device_id | |
let device_type record = Ctypes.getf record Fields.device_type | |
let device_name record = Ctypes.string_from_ptr | |
(Ctypes.CArray.start @@ Ctypes.getf record Fields.device_name) | |
max_physical_device_name_size | |
let pipeline_cache_uuid record = Ctypes.getf record Fields.pipeline_cache_uuid | |
let limits record = Ctypes.getf record Fields.limits | |
let sparse_properties record = Ctypes.getf record Fields.sparse_properties | |
let () = Ctypes.seal t | |
let make ~api_version:arg__api_version~driver_version:arg__driver_version | |
~vendor_id:arg__vendor_id~device_id:arg__device_id | |
~device_type:arg__device_type~device_name:arg__device_name | |
~pipeline_cache_uuid:arg__pipeline_cache_uuid~limits:arg__limits | |
~sparse_properties:arg__sparse_properties = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.api_version arg__api_version; | |
Ctypes.setf generated__x__ Fields.driver_version arg__driver_version; | |
Ctypes.setf generated__x__ Fields.vendor_id arg__vendor_id; | |
Ctypes.setf generated__x__ Fields.device_id arg__device_id; | |
Ctypes.setf generated__x__ Fields.device_type arg__device_type; | |
Ctypes.setf generated__x__ Fields.device_name arg__device_name; | |
Ctypes.setf generated__x__ Fields.pipeline_cache_uuid arg__pipeline_cache_uuid; | |
Ctypes.setf generated__x__ Fields.limits arg__limits; | |
Ctypes.setf generated__x__ Fields.sparse_properties arg__sparse_properties; | |
Ctypes.addr generated__x__ end | |
let physical_device_properties = Physical_device_properties.t | |
type physical_device_properties = Physical_device_properties.t | |
module Physical_device_properties_2_khr = struct type t | |
type physical_device_properties_2_khr = t | |
let t: t structure typ = structure "physical_device_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let properties = field t "properties" physical_device_properties | |
end | |
let properties record = Ctypes.getf record Fields.properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_properties_2_khr_extension = .. | |
type physical_device_properties_2_khr_extension += | No_extension | |
| Physical_device_id_properties_khx of physical_device_id_properties_khx Ctypes.structure Ctypes.ptr | |
| Physical_device_multiview_properties_khx of physical_device_multiview_properties_khx Ctypes.structure Ctypes.ptr | |
| Physical_device_discard_rectangle_properties_ext of physical_device_discard_rectangle_properties_ext Ctypes.structure Ctypes.ptr | |
| Physical_device_multiview_per_view_attributes_properties_nvx of physical_device_multiview_per_view_attributes_properties_nvx Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension)~properties:arg__properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_properties_2_khr, Ctypes.null | |
| Physical_device_id_properties_khx x -> | |
Structure_type.Physical_device_id_properties_khx, | |
Ctypes.( coerce (ptr physical_device_id_properties_khx) (ptr void) x ) | |
| Physical_device_multiview_properties_khx x -> | |
Structure_type.Physical_device_multiview_properties_khx, | |
Ctypes.( coerce (ptr physical_device_multiview_properties_khx) (ptr void) x ) | |
| Physical_device_discard_rectangle_properties_ext x -> | |
Structure_type.Physical_device_discard_rectangle_properties_ext, | |
Ctypes.( coerce (ptr physical_device_discard_rectangle_properties_ext) (ptr void) x ) | |
| Physical_device_multiview_per_view_attributes_properties_nvx x -> | |
Structure_type.Physical_device_multiview_per_view_attributes_properties_nvx, | |
Ctypes.( coerce (ptr physical_device_multiview_per_view_attributes_properties_nvx) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.properties arg__properties; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_properties_2_khr = Physical_device_properties_2_khr.t | |
type physical_device_properties_2_khr = Physical_device_properties_2_khr.t | |
module Physical_device_push_descriptor_properties_khr = struct type t | |
type physical_device_push_descriptor_properties_khr = t | |
let t: t structure typ = structure "physical_device_push_descriptor_properties_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let max_push_descriptors = field t "max_push_descriptors" uint_32_t | |
end | |
let max_push_descriptors record = Ctypes.getf record Fields.max_push_descriptors | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_push_descriptor_properties_khr_extension = .. | |
type physical_device_push_descriptor_properties_khr_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~max_push_descriptors:arg__max_push_descriptors ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_push_descriptor_properties_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.max_push_descriptors arg__max_push_descriptors; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_push_descriptor_properties_khr = Physical_device_push_descriptor_properties_khr.t | |
type physical_device_push_descriptor_properties_khr = Physical_device_push_descriptor_properties_khr.t | |
module Physical_device_sparse_image_format_info_2_khr = struct type t | |
type physical_device_sparse_image_format_info_2_khr = t | |
let t: t structure typ = structure "physical_device_sparse_image_format_info_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let format = field t "format" format | |
let typ = field t "typ" image_type | |
let samples = field t "samples" sample_count_flag_bits | |
let usage = field t "usage" image_usage_flags | |
let tiling = field t "tiling" image_tiling | |
end | |
let format record = Ctypes.getf record Fields.format | |
let typ record = Ctypes.getf record Fields.typ | |
let samples record = Ctypes.getf record Fields.samples | |
let usage record = Ctypes.getf record Fields.usage | |
let tiling record = Ctypes.getf record Fields.tiling | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_sparse_image_format_info_2_khr_extension = .. | |
type physical_device_sparse_image_format_info_2_khr_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)~format:arg__format~typ:arg__typ | |
~samples:arg__samples~usage:arg__usage~tiling:arg__tiling ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_sparse_image_format_info_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.typ arg__typ; | |
Ctypes.setf generated__x__ Fields.samples arg__samples; | |
Ctypes.setf generated__x__ Fields.usage arg__usage; | |
Ctypes.setf generated__x__ Fields.tiling arg__tiling; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_sparse_image_format_info_2_khr = Physical_device_sparse_image_format_info_2_khr.t | |
type physical_device_sparse_image_format_info_2_khr = Physical_device_sparse_image_format_info_2_khr.t | |
module Surface_khr = Handle.Make() | |
type surface_khr = Surface_khr.t | |
let surface_khr, surface_khr_opt = Surface_khr.(view,view_opt) | |
module Physical_device_surface_info_2_khr = struct type t | |
type physical_device_surface_info_2_khr = t | |
let t: t structure typ = structure "physical_device_surface_info_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let surface = field t "surface" surface_khr | |
end | |
let surface record = Ctypes.getf record Fields.surface | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type physical_device_surface_info_2_khr_extension = .. | |
type physical_device_surface_info_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~surface:arg__surface ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Physical_device_surface_info_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.surface arg__surface; | |
Ctypes.addr generated__x__ | |
end | |
let physical_device_surface_info_2_khr = Physical_device_surface_info_2_khr.t | |
type physical_device_surface_info_2_khr = Physical_device_surface_info_2_khr.t | |
module Pipeline_cache = Handle.Make() | |
type pipeline_cache = Pipeline_cache.t | |
let pipeline_cache, pipeline_cache_opt = Pipeline_cache.(view,view_opt) | |
module Pipeline_cache_create_flags = Bitset.Make() | |
type pipeline_cache_create_flags = Pipeline_cache_create_flags.t | |
let pipeline_cache_create_flags, pipeline_cache_create_flags_opt = Pipeline_cache_create_flags.(view, view_opt) | |
let pipeline_cache_create_flag_bits = Pipeline_cache_create_flags.index_view | |
let pipeline_cache_create_flag_bits_opt = Pipeline_cache_create_flags.index_view_opt | |
module Pipeline_cache_create_info = struct type t | |
type pipeline_cache_create_info = t | |
let t: t structure typ = structure "pipeline_cache_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_cache_create_flags_opt | |
let initial_data_size = field t "initial_data_size" size_t_opt | |
let initial_data = field t "initial_data" (ptr void) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let initial_data record = match Ctypes.getf record Fields.initial_data_size, Ctypes.getf record Fields.initial_data with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Size_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_cache_create_info_extension = .. | |
type pipeline_cache_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?initial_data:arg__initial_data ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_cache_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
begin match arg__initial_data with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.initial_data_size None; | |
Ctypes.setf generated__x__ Fields.initial_data (Obj.magic @@ Ctypes.null)) | |
|Some arg__initial_data ->(Ctypes.setf generated__x__ Fields.initial_data_size (Some(Size_t.of_int(Ctypes.CArray.length arg__initial_data))); | |
Ctypes.setf generated__x__ Fields.initial_data (Ctypes.CArray.start arg__initial_data)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_cache_create_info = Pipeline_cache_create_info.t | |
type pipeline_cache_create_info = Pipeline_cache_create_info.t | |
module Pipeline_cache_header_version = struct | |
type t = | One | |
let to_int = function | |
| One -> 1 | |
let of_int = function | |
| 1 -> One | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| One -> "One") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let pipeline_cache_header_version, pipeline_cache_header_version_opt = Pipeline_cache_header_version.(view,view_opt) | |
type pipeline_cache_header_version = Pipeline_cache_header_version.t | |
module Pipeline_discard_rectangle_state_create_flags_ext = Bitset.Make() | |
type pipeline_discard_rectangle_state_create_flags_ext = Pipeline_discard_rectangle_state_create_flags_ext.t | |
let pipeline_discard_rectangle_state_create_flags_ext, pipeline_discard_rectangle_state_create_flags_ext_opt = Pipeline_discard_rectangle_state_create_flags_ext.(view, view_opt) | |
let pipeline_discard_rectangle_state_create_flag_bits_ext = Pipeline_discard_rectangle_state_create_flags_ext.index_view | |
let pipeline_discard_rectangle_state_create_flag_bits_ext_opt = Pipeline_discard_rectangle_state_create_flags_ext.index_view_opt | |
module Pipeline_discard_rectangle_state_create_info_ext = struct type t | |
type pipeline_discard_rectangle_state_create_info_ext = t | |
let t: t structure typ = structure "pipeline_discard_rectangle_state_create_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_discard_rectangle_state_create_flags_ext_opt | |
let discard_rectangle_mode = field t "discard_rectangle_mode" discard_rectangle_mode_ext | |
let discard_rectangle_count = field t "discard_rectangle_count" uint_32_t_opt | |
let discard_rectangles = field t "discard_rectangles" (ptr_opt (rect_2d)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let discard_rectangle_mode record = Ctypes.getf record Fields.discard_rectangle_mode | |
let discard_rectangles record = match Ctypes.getf record Fields.discard_rectangle_count, Ctypes.getf record Fields.discard_rectangles with | |
| Some n, Some(a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_discard_rectangle_state_create_info_ext_extension = .. | |
type pipeline_discard_rectangle_state_create_info_ext_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~discard_rectangle_mode:arg__discard_rectangle_mode | |
?discard_rectangles:arg__discard_rectangles ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_discard_rectangle_state_create_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.discard_rectangle_mode arg__discard_rectangle_mode; | |
begin match arg__discard_rectangles with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.discard_rectangle_count None; | |
Ctypes.setf generated__x__ Fields.discard_rectangles (Obj.magic @@ Ctypes.null)) | |
|Some arg__discard_rectangles ->(Ctypes.setf generated__x__ Fields.discard_rectangle_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__discard_rectangles))); | |
Ctypes.setf generated__x__ Fields.discard_rectangles (Some(Ctypes.CArray.start arg__discard_rectangles))) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_discard_rectangle_state_create_info_ext = Pipeline_discard_rectangle_state_create_info_ext.t | |
type pipeline_discard_rectangle_state_create_info_ext = Pipeline_discard_rectangle_state_create_info_ext.t | |
module Pipeline_layout_create_flags = Bitset.Make() | |
type pipeline_layout_create_flags = Pipeline_layout_create_flags.t | |
let pipeline_layout_create_flags, pipeline_layout_create_flags_opt = Pipeline_layout_create_flags.(view, view_opt) | |
let pipeline_layout_create_flag_bits = Pipeline_layout_create_flags.index_view | |
let pipeline_layout_create_flag_bits_opt = Pipeline_layout_create_flags.index_view_opt | |
module Push_constant_range = struct type t type push_constant_range = t | |
let t: t structure typ = structure "push_constant_range" | |
module Fields=struct | |
let stage_flags = field t "stage_flags" shader_stage_flags | |
let offset = field t "offset" uint_32_t | |
let size = field t "size" uint_32_t | |
end | |
let stage_flags record = Ctypes.getf record Fields.stage_flags | |
let offset record = Ctypes.getf record Fields.offset | |
let size record = Ctypes.getf record Fields.size let () = Ctypes.seal t | |
let make ~stage_flags:arg__stage_flags~offset:arg__offset~size:arg__size = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.stage_flags arg__stage_flags; | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.addr generated__x__ end | |
let push_constant_range = Push_constant_range.t | |
type push_constant_range = Push_constant_range.t | |
module Pipeline_layout_create_info = struct type t | |
type pipeline_layout_create_info = t | |
let t: t structure typ = structure "pipeline_layout_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_layout_create_flags_opt | |
let set_layout_count = field t "set_layout_count" uint_32_t_opt | |
let set_layouts = field t "set_layouts" (ptr descriptor_set_layout) | |
let push_constant_range_count = field t "push_constant_range_count" uint_32_t_opt | |
let push_constant_ranges = field t "push_constant_ranges" (ptr push_constant_range) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let set_layouts record = match Ctypes.getf record Fields.set_layout_count, Ctypes.getf record Fields.set_layouts with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let push_constant_ranges record = match Ctypes.getf record Fields.push_constant_range_count, Ctypes.getf record Fields.push_constant_ranges with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_layout_create_info_extension = .. | |
type pipeline_layout_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?set_layouts:arg__set_layouts?push_constant_ranges:arg__push_constant_ranges | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_layout_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
begin match arg__set_layouts with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.set_layout_count None; | |
Ctypes.setf generated__x__ Fields.set_layouts (Obj.magic @@ Ctypes.null)) | |
|Some arg__set_layouts ->(Ctypes.setf generated__x__ Fields.set_layout_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__set_layouts))); | |
Ctypes.setf generated__x__ Fields.set_layouts (Ctypes.CArray.start arg__set_layouts)) | |
end; | |
begin match arg__push_constant_ranges with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.push_constant_range_count None; | |
Ctypes.setf generated__x__ Fields.push_constant_ranges (Obj.magic @@ Ctypes.null)) | |
|Some arg__push_constant_ranges ->(Ctypes.setf generated__x__ Fields.push_constant_range_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__push_constant_ranges))); | |
Ctypes.setf generated__x__ Fields.push_constant_ranges (Ctypes.CArray.start arg__push_constant_ranges)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_layout_create_info = Pipeline_layout_create_info.t | |
type pipeline_layout_create_info = Pipeline_layout_create_info.t | |
module Rasterization_order_amd = struct | |
type t = | Strict | |
| Relaxed | |
let to_int = function | |
| Strict -> 0 | |
| Relaxed -> 1 | |
let of_int = function | |
| 0 -> Strict | |
| 1 -> Relaxed | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Strict -> "Strict" | |
| Relaxed -> "Relaxed") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let rasterization_order_amd, rasterization_order_amd_opt = Rasterization_order_amd.(view,view_opt) | |
type rasterization_order_amd = Rasterization_order_amd.t | |
module Pipeline_rasterization_state_rasterization_order_amd = struct type t | |
type pipeline_rasterization_state_rasterization_order_amd = t | |
let t: t structure typ = structure "pipeline_rasterization_state_rasterization_order_amd" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let rasterization_order = field t "rasterization_order" rasterization_order_amd | |
end | |
let rasterization_order record = Ctypes.getf record Fields.rasterization_order | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_rasterization_state_rasterization_order_amd_extension = .. | |
type pipeline_rasterization_state_rasterization_order_amd_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~rasterization_order:arg__rasterization_order ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_rasterization_state_rasterization_order_amd, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.rasterization_order arg__rasterization_order; | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_rasterization_state_rasterization_order_amd = Pipeline_rasterization_state_rasterization_order_amd.t | |
type pipeline_rasterization_state_rasterization_order_amd = Pipeline_rasterization_state_rasterization_order_amd.t | |
module Pipeline_stage_flags = struct | |
include Bitset.Make() | |
let command_process_bit_nvx = make_index 17 | |
let all_commands = make_index 16 | |
let all_graphics = make_index 15 | |
let host = make_index 14 | |
let bottom_of_pipe = make_index 13 | |
let transfer = make_index 12 | |
let compute_shader = make_index 11 | |
let color_attachment_output = make_index 10 | |
let late_fragment_tests = make_index 9 | |
let early_fragment_tests = make_index 8 | |
let fragment_shader = make_index 7 | |
let geometry_shader = make_index 6 | |
let tessellation_evaluation_shader = make_index 5 | |
let tessellation_control_shader = make_index 4 | |
let vertex_shader = make_index 3 | |
let vertex_input = make_index 2 | |
let draw_indirect = make_index 1 | |
let top_of_pipe = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem command_process_bit_nvx set then | |
Printer.fprintf ppf "command_process_bit_nvx;@ " | |
else (); | |
if mem all_commands set then | |
Printer.fprintf ppf "all_commands;@ " | |
else (); | |
if mem all_graphics set then | |
Printer.fprintf ppf "all_graphics;@ " | |
else (); | |
if mem host set then | |
Printer.fprintf ppf "host;@ " | |
else (); | |
if mem bottom_of_pipe set then | |
Printer.fprintf ppf "bottom_of_pipe;@ " | |
else (); | |
if mem transfer set then | |
Printer.fprintf ppf "transfer;@ " | |
else (); | |
if mem compute_shader set then | |
Printer.fprintf ppf "compute_shader;@ " | |
else (); | |
if mem color_attachment_output set then | |
Printer.fprintf ppf "color_attachment_output;@ " | |
else (); | |
if mem late_fragment_tests set then | |
Printer.fprintf ppf "late_fragment_tests;@ " | |
else (); | |
if mem early_fragment_tests set then | |
Printer.fprintf ppf "early_fragment_tests;@ " | |
else (); | |
if mem fragment_shader set then | |
Printer.fprintf ppf "fragment_shader;@ " | |
else (); | |
if mem geometry_shader set then | |
Printer.fprintf ppf "geometry_shader;@ " | |
else (); | |
if mem tessellation_evaluation_shader set then | |
Printer.fprintf ppf "tessellation_evaluation_shader;@ " | |
else (); | |
if mem tessellation_control_shader set then | |
Printer.fprintf ppf "tessellation_control_shader;@ " | |
else (); | |
if mem vertex_shader set then | |
Printer.fprintf ppf "vertex_shader;@ " | |
else (); | |
if mem vertex_input set then | |
Printer.fprintf ppf "vertex_input;@ " | |
else (); | |
if mem draw_indirect set then | |
Printer.fprintf ppf "draw_indirect;@ " | |
else (); | |
if mem top_of_pipe set then | |
Printer.fprintf ppf "top_of_pipe;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type pipeline_stage_flags = Pipeline_stage_flags.t | |
let pipeline_stage_flags, pipeline_stage_flags_opt = Pipeline_stage_flags.(view, view_opt) | |
let pipeline_stage_flag_bits = Pipeline_stage_flags.index_view | |
let pipeline_stage_flag_bits_opt = Pipeline_stage_flags.index_view_opt | |
module Pipeline_viewport_swizzle_state_create_flags_nv = Bitset.Make() | |
type pipeline_viewport_swizzle_state_create_flags_nv = Pipeline_viewport_swizzle_state_create_flags_nv.t | |
let pipeline_viewport_swizzle_state_create_flags_nv, pipeline_viewport_swizzle_state_create_flags_nv_opt = Pipeline_viewport_swizzle_state_create_flags_nv.(view, view_opt) | |
let pipeline_viewport_swizzle_state_create_flag_bits_nv = Pipeline_viewport_swizzle_state_create_flags_nv.index_view | |
let pipeline_viewport_swizzle_state_create_flag_bits_nv_opt = Pipeline_viewport_swizzle_state_create_flags_nv.index_view_opt | |
module Viewport_coordinate_swizzle_nv = struct | |
type t = | Positive_x | |
| Negative_x | |
| Positive_y | |
| Negative_y | |
| Positive_z | |
| Negative_z | |
| Positive_w | |
| Negative_w | |
let to_int = function | |
| Positive_x -> 0 | |
| Negative_x -> 1 | |
| Positive_y -> 2 | |
| Negative_y -> 3 | |
| Positive_z -> 4 | |
| Negative_z -> 5 | |
| Positive_w -> 6 | |
| Negative_w -> 7 | |
let of_int = function | |
| 0 -> Positive_x | |
| 1 -> Negative_x | |
| 2 -> Positive_y | |
| 3 -> Negative_y | |
| 4 -> Positive_z | |
| 5 -> Negative_z | |
| 6 -> Positive_w | |
| 7 -> Negative_w | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Positive_x -> "Positive_x" | |
| Negative_x -> "Negative_x" | |
| Positive_y -> "Positive_y" | |
| Negative_y -> "Negative_y" | |
| Positive_z -> "Positive_z" | |
| Negative_z -> "Negative_z" | |
| Positive_w -> "Positive_w" | |
| Negative_w -> "Negative_w") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let viewport_coordinate_swizzle_nv, viewport_coordinate_swizzle_nv_opt = Viewport_coordinate_swizzle_nv.(view,view_opt) | |
type viewport_coordinate_swizzle_nv = Viewport_coordinate_swizzle_nv.t | |
module Viewport_swizzle_nv = struct type t type viewport_swizzle_nv = t | |
let t: t structure typ = structure "viewport_swizzle_nv" | |
module Fields=struct | |
let x = field t "x" viewport_coordinate_swizzle_nv | |
let y = field t "y" viewport_coordinate_swizzle_nv | |
let z = field t "z" viewport_coordinate_swizzle_nv | |
let w = field t "w" viewport_coordinate_swizzle_nv | |
end | |
let x record = Ctypes.getf record Fields.x | |
let y record = Ctypes.getf record Fields.y | |
let z record = Ctypes.getf record Fields.z | |
let w record = Ctypes.getf record Fields.w let () = Ctypes.seal t | |
let make ~x:arg__x~y:arg__y~z:arg__z~w:arg__w = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.x arg__x; | |
Ctypes.setf generated__x__ Fields.y arg__y; | |
Ctypes.setf generated__x__ Fields.z arg__z; | |
Ctypes.setf generated__x__ Fields.w arg__w; Ctypes.addr generated__x__ end | |
let viewport_swizzle_nv = Viewport_swizzle_nv.t | |
type viewport_swizzle_nv = Viewport_swizzle_nv.t | |
module Pipeline_viewport_swizzle_state_create_info_nv = struct type t | |
type pipeline_viewport_swizzle_state_create_info_nv = t | |
let t: t structure typ = structure "pipeline_viewport_swizzle_state_create_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" pipeline_viewport_swizzle_state_create_flags_nv_opt | |
let viewport_count = field t "viewport_count" uint_32_t | |
let viewport_swizzles = field t "viewport_swizzles" (ptr_opt (viewport_swizzle_nv)) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let viewport_swizzles record = let viewport_count = Ctypes.getf record Fields.viewport_count and viewport_swizzles = Ctypes.getf record Fields.viewport_swizzles in | |
may (fun x -> Ctypes.CArray.from_ptr (x) (Uint_32_t.to_int (viewport_count))) viewport_swizzles | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_viewport_swizzle_state_create_info_nv_extension = .. | |
type pipeline_viewport_swizzle_state_create_info_nv_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~viewport_swizzles:arg__viewport_swizzles ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_viewport_swizzle_state_create_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.viewport_count (Uint_32_t.of_int(Ctypes.CArray.length arg__viewport_swizzles)); | |
Ctypes.setf generated__x__ Fields.viewport_swizzles (Some(Ctypes.CArray.start arg__viewport_swizzles)); | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_viewport_swizzle_state_create_info_nv = Pipeline_viewport_swizzle_state_create_info_nv.t | |
type pipeline_viewport_swizzle_state_create_info_nv = Pipeline_viewport_swizzle_state_create_info_nv.t | |
module Viewport_w_scaling_nv = struct type t type viewport_w_scaling_nv = t | |
let t: t structure typ = structure "viewport_w_scaling_nv" | |
module Fields=struct | |
let xcoeff = field t "xcoeff" float | |
let ycoeff = field t "ycoeff" float | |
end | |
let xcoeff record = Ctypes.getf record Fields.xcoeff | |
let ycoeff record = Ctypes.getf record Fields.ycoeff | |
let () = Ctypes.seal t | |
let make ~xcoeff:arg__xcoeff~ycoeff:arg__ycoeff = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.xcoeff arg__xcoeff; | |
Ctypes.setf generated__x__ Fields.ycoeff arg__ycoeff; | |
Ctypes.addr generated__x__ end | |
let viewport_w_scaling_nv = Viewport_w_scaling_nv.t | |
type viewport_w_scaling_nv = Viewport_w_scaling_nv.t | |
module Pipeline_viewport_w_scaling_state_create_info_nv = struct type t | |
type pipeline_viewport_w_scaling_state_create_info_nv = t | |
let t: t structure typ = structure "pipeline_viewport_w_scaling_state_create_info_nv" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let viewport_w_scaling_enable = field t "viewport_w_scaling_enable" bool_32 | |
let viewport_count = field t "viewport_count" uint_32_t | |
let viewport_w_scalings = field t "viewport_w_scalings" (ptr viewport_w_scaling_nv) | |
end | |
let viewport_w_scaling_enable record = Ctypes.getf record Fields.viewport_w_scaling_enable | |
let viewport_w_scalings record = let viewport_count = Ctypes.getf record Fields.viewport_count and viewport_w_scalings = Ctypes.getf record Fields.viewport_w_scalings in | |
Ctypes.CArray.from_ptr (viewport_w_scalings) (Uint_32_t.to_int (viewport_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type pipeline_viewport_w_scaling_state_create_info_nv_extension = .. | |
type pipeline_viewport_w_scaling_state_create_info_nv_extension += | |
| No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~viewport_w_scaling_enable:arg__viewport_w_scaling_enable | |
~viewport_w_scalings:arg__viewport_w_scalings ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Pipeline_viewport_w_scaling_state_create_info_nv, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.viewport_w_scaling_enable arg__viewport_w_scaling_enable; | |
Ctypes.setf generated__x__ Fields.viewport_count (Uint_32_t.of_int(Ctypes.CArray.length arg__viewport_w_scalings)); | |
Ctypes.setf generated__x__ Fields.viewport_w_scalings (Ctypes.CArray.start arg__viewport_w_scalings); | |
Ctypes.addr generated__x__ | |
end | |
let pipeline_viewport_w_scaling_state_create_info_nv = Pipeline_viewport_w_scaling_state_create_info_nv.t | |
type pipeline_viewport_w_scaling_state_create_info_nv = Pipeline_viewport_w_scaling_state_create_info_nv.t | |
module Rect_layer_khr = struct type t type rect_layer_khr = t | |
let t: t structure typ = structure "rect_layer_khr" | |
module Fields=struct | |
let offset = field t "offset" offset_2d | |
let extent = field t "extent" extent_2d | |
let layer = field t "layer" uint_32_t | |
end | |
let offset record = Ctypes.getf record Fields.offset | |
let extent record = Ctypes.getf record Fields.extent | |
let layer record = Ctypes.getf record Fields.layer let () = Ctypes.seal t | |
let make ~offset:arg__offset~extent:arg__extent~layer:arg__layer = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.setf generated__x__ Fields.layer arg__layer; | |
Ctypes.addr generated__x__ end | |
let rect_layer_khr = Rect_layer_khr.t | |
type rect_layer_khr = Rect_layer_khr.t | |
module Present_region_khr = struct type t type present_region_khr = t | |
let t: t structure typ = structure "present_region_khr" | |
module Fields=struct | |
let rectangle_count = field t "rectangle_count" uint_32_t_opt | |
let rectangles = field t "rectangles" (ptr_opt (rect_layer_khr)) | |
end | |
let rectangles record = match Ctypes.getf record Fields.rectangle_count, Ctypes.getf record Fields.rectangles with | |
| Some n, Some(a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
let make ?rectangles:arg__rectangles ()= | |
let generated__x__ = Ctypes.make t in | |
begin match arg__rectangles with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.rectangle_count None; | |
Ctypes.setf generated__x__ Fields.rectangles (Obj.magic @@ Ctypes.null)) | |
|Some arg__rectangles ->(Ctypes.setf generated__x__ Fields.rectangle_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__rectangles))); | |
Ctypes.setf generated__x__ Fields.rectangles (Some(Ctypes.CArray.start arg__rectangles))) | |
end; | |
Ctypes.addr generated__x__ end | |
let present_region_khr = Present_region_khr.t | |
type present_region_khr = Present_region_khr.t | |
module Present_regions_khr = struct type t type present_regions_khr = t | |
let t: t structure typ = structure "present_regions_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain_count = field t "swapchain_count" uint_32_t | |
let regions = field t "regions" (ptr_opt (present_region_khr)) | |
end | |
let regions record = let swapchain_count = Ctypes.getf record Fields.swapchain_count and regions = Ctypes.getf record Fields.regions in | |
may (fun x -> Ctypes.CArray.from_ptr (x) (Uint_32_t.to_int (swapchain_count))) regions | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type present_regions_khr_extension = .. | |
type present_regions_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~regions:arg__regions ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Present_regions_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.swapchain_count (Uint_32_t.of_int(Ctypes.CArray.length arg__regions)); | |
Ctypes.setf generated__x__ Fields.regions (Some(Ctypes.CArray.start arg__regions)); | |
Ctypes.addr generated__x__ | |
end | |
let present_regions_khr = Present_regions_khr.t | |
type present_regions_khr = Present_regions_khr.t | |
module Present_time_google = struct type t type present_time_google = t | |
let t: t structure typ = structure "present_time_google" | |
module Fields=struct | |
let present_id = field t "present_id" uint_32_t | |
let desired_present_time = field t "desired_present_time" uint_64_t | |
end | |
let present_id record = Ctypes.getf record Fields.present_id | |
let desired_present_time record = Ctypes.getf record Fields.desired_present_time | |
let () = Ctypes.seal t | |
let make ~present_id:arg__present_id | |
~desired_present_time:arg__desired_present_time = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.present_id arg__present_id; | |
Ctypes.setf generated__x__ Fields.desired_present_time arg__desired_present_time; | |
Ctypes.addr generated__x__ end | |
let present_time_google = Present_time_google.t | |
type present_time_google = Present_time_google.t | |
module Present_times_info_google = struct type t | |
type present_times_info_google = t | |
let t: t structure typ = structure "present_times_info_google" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let swapchain_count = field t "swapchain_count" uint_32_t | |
let times = field t "times" (ptr_opt (present_time_google)) | |
end | |
let times record = let swapchain_count = Ctypes.getf record Fields.swapchain_count and times = Ctypes.getf record Fields.times in | |
may (fun x -> Ctypes.CArray.from_ptr (x) (Uint_32_t.to_int (swapchain_count))) times | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type present_times_info_google_extension = .. | |
type present_times_info_google_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~times:arg__times ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Present_times_info_google, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.swapchain_count (Uint_32_t.of_int(Ctypes.CArray.length arg__times)); | |
Ctypes.setf generated__x__ Fields.times (Some(Ctypes.CArray.start arg__times)); | |
Ctypes.addr generated__x__ | |
end | |
let present_times_info_google = Present_times_info_google.t | |
type present_times_info_google = Present_times_info_google.t | |
module Result = struct | |
type t =[ | `Error_invalid_external_handle_khx | |
| `Error_out_of_pool_memory_khr | |
| `Nv_extension_1_error | |
| `Error_invalid_shader_nv | |
| `Error_validation_failed_ext | |
| `Error_incompatible_display_khr | |
| `Error_out_of_date_khr | |
| `Error_native_window_in_use_khr | |
| `Error_surface_lost_khr | |
| `Error_fragmented_pool | |
| `Error_format_not_supported | |
| `Error_too_many_objects | |
| `Error_incompatible_driver | |
| `Error_feature_not_present | |
| `Error_extension_not_present | |
| `Error_layer_not_present | |
| `Error_memory_map_failed | |
| `Error_device_lost | |
| `Error_initialization_failed | |
| `Error_out_of_device_memory | |
| `Error_out_of_host_memory | |
| `Success | |
| `Not_ready | |
| `Timeout | |
| `Event_set | |
| `Event_reset | |
| `Incomplete | |
| `Suboptimal_khr] | |
let to_int = function | |
| `Error_invalid_external_handle_khx -> -1000072003 | |
| `Error_out_of_pool_memory_khr -> -1000069000 | |
| `Nv_extension_1_error -> -1000013000 | |
| `Error_invalid_shader_nv -> -1000012000 | |
| `Error_validation_failed_ext -> -1000011001 | |
| `Error_incompatible_display_khr -> -1000003001 | |
| `Error_out_of_date_khr -> -1000001004 | |
| `Error_native_window_in_use_khr -> -1000000001 | |
| `Error_surface_lost_khr -> -1000000000 | |
| `Error_fragmented_pool -> -12 | |
| `Error_format_not_supported -> -11 | |
| `Error_too_many_objects -> -10 | |
| `Error_incompatible_driver -> -9 | |
| `Error_feature_not_present -> -8 | |
| `Error_extension_not_present -> -7 | |
| `Error_layer_not_present -> -6 | |
| `Error_memory_map_failed -> -5 | |
| `Error_device_lost -> -4 | |
| `Error_initialization_failed -> -3 | |
| `Error_out_of_device_memory -> -2 | |
| `Error_out_of_host_memory -> -1 | |
| `Success -> 0 | |
| `Not_ready -> 1 | |
| `Timeout -> 2 | |
| `Event_set -> 3 | |
| `Event_reset -> 4 | |
| `Incomplete -> 5 | |
| `Suboptimal_khr -> 1000001003 | |
let of_int = function | |
| -1000072003 -> `Error_invalid_external_handle_khx | |
| -1000069000 -> `Error_out_of_pool_memory_khr | |
| -1000013000 -> `Nv_extension_1_error | |
| -1000012000 -> `Error_invalid_shader_nv | |
| -1000011001 -> `Error_validation_failed_ext | |
| -1000003001 -> `Error_incompatible_display_khr | |
| -1000001004 -> `Error_out_of_date_khr | |
| -1000000001 -> `Error_native_window_in_use_khr | |
| -1000000000 -> `Error_surface_lost_khr | |
| -12 -> `Error_fragmented_pool | |
| -11 -> `Error_format_not_supported | |
| -10 -> `Error_too_many_objects | |
| -9 -> `Error_incompatible_driver | |
| -8 -> `Error_feature_not_present | |
| -7 -> `Error_extension_not_present | |
| -6 -> `Error_layer_not_present | |
| -5 -> `Error_memory_map_failed | |
| -4 -> `Error_device_lost | |
| -3 -> `Error_initialization_failed | |
| -2 -> `Error_out_of_device_memory | |
| -1 -> `Error_out_of_host_memory | |
| 0 -> `Success | |
| 1 -> `Not_ready | |
| 2 -> `Timeout | |
| 3 -> `Event_set | |
| 4 -> `Event_reset | |
| 5 -> `Incomplete | |
| 1000001003 -> `Suboptimal_khr | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| `Error_invalid_external_handle_khx -> "`Error_invalid_external_handle_khx" | |
| `Error_out_of_pool_memory_khr -> "`Error_out_of_pool_memory_khr" | |
| `Nv_extension_1_error -> "`Nv_extension_1_error" | |
| `Error_invalid_shader_nv -> "`Error_invalid_shader_nv" | |
| `Error_validation_failed_ext -> "`Error_validation_failed_ext" | |
| `Error_incompatible_display_khr -> "`Error_incompatible_display_khr" | |
| `Error_out_of_date_khr -> "`Error_out_of_date_khr" | |
| `Error_native_window_in_use_khr -> "`Error_native_window_in_use_khr" | |
| `Error_surface_lost_khr -> "`Error_surface_lost_khr" | |
| `Error_fragmented_pool -> "`Error_fragmented_pool" | |
| `Error_format_not_supported -> "`Error_format_not_supported" | |
| `Error_too_many_objects -> "`Error_too_many_objects" | |
| `Error_incompatible_driver -> "`Error_incompatible_driver" | |
| `Error_feature_not_present -> "`Error_feature_not_present" | |
| `Error_extension_not_present -> "`Error_extension_not_present" | |
| `Error_layer_not_present -> "`Error_layer_not_present" | |
| `Error_memory_map_failed -> "`Error_memory_map_failed" | |
| `Error_device_lost -> "`Error_device_lost" | |
| `Error_initialization_failed -> "`Error_initialization_failed" | |
| `Error_out_of_device_memory -> "`Error_out_of_device_memory" | |
| `Error_out_of_host_memory -> "`Error_out_of_host_memory" | |
| `Success -> "`Success" | |
| `Not_ready -> "`Not_ready" | |
| `Timeout -> "`Timeout" | |
| `Event_set -> "`Event_set" | |
| `Event_reset -> "`Event_reset" | |
| `Incomplete -> "`Incomplete" | |
| `Suboptimal_khr -> "`Suboptimal_khr") | |
let view = Vk__result.view ~ok:(of_int,to_int) ~error:(of_int,to_int) | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let result, result_opt = Result.(view,view_opt) | |
type result = Result.t | |
module Present_info_khr = struct type t type present_info_khr = t | |
let t: t structure typ = structure "present_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let wait_semaphore_count = field t "wait_semaphore_count" uint_32_t_opt | |
let wait_semaphores = field t "wait_semaphores" (ptr_opt (semaphore)) | |
let swapchain_count = field t "swapchain_count" uint_32_t | |
let swapchains = field t "swapchains" (ptr swapchain_khr) | |
let image_indices = field t "image_indices" (ptr uint_32_t) | |
let results = field t "results" (ptr_opt (result)) | |
end | |
let wait_semaphores record = match Ctypes.getf record Fields.wait_semaphore_count, Ctypes.getf record Fields.wait_semaphores with | |
| Some n, Some(a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let swapchains record = let swapchain_count = Ctypes.getf record Fields.swapchain_count and swapchains = Ctypes.getf record Fields.swapchains in | |
Ctypes.CArray.from_ptr (swapchains) (Uint_32_t.to_int (swapchain_count)) | |
let image_indices record = let a = Ctypes.getf record Fields.image_indices in | |
let i = Ctypes.getf record Fields.swapchain_count in | |
Ctypes.CArray.from_ptr (a) (i) | |
let results record = Ctypes.getf record Fields.results | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type present_info_khr_extension = .. | |
type present_info_khr_extension += | No_extension | |
| Present_regions_khr of present_regions_khr Ctypes.structure Ctypes.ptr | |
| Device_group_present_info_khx of device_group_present_info_khx Ctypes.structure Ctypes.ptr | |
| Present_times_info_google of present_times_info_google Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension) | |
?wait_semaphores:arg__wait_semaphores~swapchains:arg__swapchains | |
~image_indices:arg__image_indices?results:arg__results ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Present_info_khr, Ctypes.null | |
| Present_regions_khr x -> | |
Structure_type.Present_regions_khr, | |
Ctypes.( coerce (ptr present_regions_khr) (ptr void) x ) | |
| Device_group_present_info_khx x -> | |
Structure_type.Device_group_present_info_khx, | |
Ctypes.( coerce (ptr device_group_present_info_khx) (ptr void) x ) | |
| Present_times_info_google x -> | |
Structure_type.Present_times_info_google, | |
Ctypes.( coerce (ptr present_times_info_google) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__wait_semaphores with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.wait_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Obj.magic @@ Ctypes.null)) | |
|Some arg__wait_semaphores ->(Ctypes.setf generated__x__ Fields.wait_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__wait_semaphores))); | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Some(Ctypes.CArray.start arg__wait_semaphores))) | |
end; | |
Ctypes.setf generated__x__ Fields.swapchain_count (Uint_32_t.of_int(Ctypes.CArray.length arg__swapchains)); | |
Ctypes.setf generated__x__ Fields.swapchains (Ctypes.CArray.start arg__swapchains); | |
Ctypes.setf generated__x__ Fields.image_indices arg__image_indices; | |
Ctypes.setf generated__x__ Fields.results arg__results; | |
Ctypes.addr generated__x__ | |
end | |
let present_info_khr = Present_info_khr.t | |
type present_info_khr = Present_info_khr.t | |
module Present_mode_khr = struct | |
type t = | Immediate | |
| Mailbox | |
| Fifo | |
| Fifo_relaxed | |
| Shared_demand_refresh | |
| Shared_continuous_refresh | |
let to_int = function | |
| Immediate -> 0 | |
| Mailbox -> 1 | |
| Fifo -> 2 | |
| Fifo_relaxed -> 3 | |
| Shared_demand_refresh -> 1000111000 | |
| Shared_continuous_refresh -> 1000111001 | |
let of_int = function | |
| 0 -> Immediate | |
| 1 -> Mailbox | |
| 2 -> Fifo | |
| 3 -> Fifo_relaxed | |
| 1000111000 -> Shared_demand_refresh | |
| 1000111001 -> Shared_continuous_refresh | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Immediate -> "Immediate" | |
| Mailbox -> "Mailbox" | |
| Fifo -> "Fifo" | |
| Fifo_relaxed -> "Fifo_relaxed" | |
| Shared_demand_refresh -> "Shared_demand_refresh" | |
| Shared_continuous_refresh -> "Shared_continuous_refresh") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let present_mode_khr, present_mode_khr_opt = Present_mode_khr.(view,view_opt) | |
type present_mode_khr = Present_mode_khr.t | |
module Query_pool = Handle.Make() | |
type query_pool = Query_pool.t | |
let query_pool, query_pool_opt = Query_pool.(view,view_opt) | |
module Query_pool_create_flags = Bitset.Make() | |
type query_pool_create_flags = Query_pool_create_flags.t | |
let query_pool_create_flags, query_pool_create_flags_opt = Query_pool_create_flags.(view, view_opt) | |
let query_pool_create_flag_bits = Query_pool_create_flags.index_view | |
let query_pool_create_flag_bits_opt = Query_pool_create_flags.index_view_opt | |
module Query_type = struct | |
type t = | Occlusion | |
| Pipeline_statistics | |
| Timestamp | |
let to_int = function | |
| Occlusion -> 0 | |
| Pipeline_statistics -> 1 | |
| Timestamp -> 2 | |
let of_int = function | |
| 0 -> Occlusion | |
| 1 -> Pipeline_statistics | |
| 2 -> Timestamp | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Occlusion -> "Occlusion" | |
| Pipeline_statistics -> "Pipeline_statistics" | |
| Timestamp -> "Timestamp") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let query_type, query_type_opt = Query_type.(view,view_opt) | |
type query_type = Query_type.t | |
module Query_pool_create_info = struct type t | |
type query_pool_create_info = t | |
let t: t structure typ = structure "query_pool_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" query_pool_create_flags_opt | |
let query_type = field t "query_type" query_type | |
let query_count = field t "query_count" uint_32_t | |
let pipeline_statistics = field t "pipeline_statistics" query_pipeline_statistic_flags_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let query_type record = Ctypes.getf record Fields.query_type | |
let query_count record = Ctypes.getf record Fields.query_count | |
let pipeline_statistics record = Ctypes.getf record Fields.pipeline_statistics | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type query_pool_create_info_extension = .. | |
type query_pool_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~query_type:arg__query_type~query_count:arg__query_count | |
?pipeline_statistics:arg__pipeline_statistics ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Query_pool_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.query_type arg__query_type; | |
Ctypes.setf generated__x__ Fields.query_count arg__query_count; | |
Ctypes.setf generated__x__ Fields.pipeline_statistics arg__pipeline_statistics; | |
Ctypes.addr generated__x__ | |
end | |
let query_pool_create_info = Query_pool_create_info.t | |
type query_pool_create_info = Query_pool_create_info.t | |
module Query_result_flags = struct | |
include Bitset.Make() | |
let partial = make_index 3 | |
let with_availability = make_index 2 | |
let wait = make_index 1 | |
let n64 = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem partial set then | |
Printer.fprintf ppf "partial;@ " | |
else (); | |
if mem with_availability set then | |
Printer.fprintf ppf "with_availability;@ " | |
else (); | |
if mem wait set then | |
Printer.fprintf ppf "wait;@ " | |
else (); | |
if mem n64 set then | |
Printer.fprintf ppf "n64;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type query_result_flags = Query_result_flags.t | |
let query_result_flags, query_result_flags_opt = Query_result_flags.(view, view_opt) | |
let query_result_flag_bits = Query_result_flags.index_view | |
let query_result_flag_bits_opt = Query_result_flags.index_view_opt | |
module Queue = Handle.Make() | |
type queue = Queue.t | |
let queue, queue_opt = Queue.(view,view_opt) | |
module Queue_flags = struct | |
include Bitset.Make() | |
let sparse_binding = make_index 3 | |
let transfer = make_index 2 | |
let compute = make_index 1 | |
let graphics = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem sparse_binding set then | |
Printer.fprintf ppf "sparse_binding;@ " | |
else (); | |
if mem transfer set then | |
Printer.fprintf ppf "transfer;@ " | |
else (); | |
if mem compute set then | |
Printer.fprintf ppf "compute;@ " | |
else (); | |
if mem graphics set then | |
Printer.fprintf ppf "graphics;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type queue_flags = Queue_flags.t | |
let queue_flags, queue_flags_opt = Queue_flags.(view, view_opt) | |
let queue_flag_bits = Queue_flags.index_view | |
let queue_flag_bits_opt = Queue_flags.index_view_opt | |
module Queue_family_properties = struct type t | |
type queue_family_properties = t | |
let t: t structure typ = structure "queue_family_properties" | |
module Fields=struct | |
let queue_flags = field t "queue_flags" queue_flags_opt | |
let queue_count = field t "queue_count" uint_32_t | |
let timestamp_valid_bits = field t "timestamp_valid_bits" uint_32_t | |
let min_image_transfer_granularity = field t "min_image_transfer_granularity" extent_3d | |
end | |
let queue_flags record = Ctypes.getf record Fields.queue_flags | |
let queue_count record = Ctypes.getf record Fields.queue_count | |
let timestamp_valid_bits record = Ctypes.getf record Fields.timestamp_valid_bits | |
let min_image_transfer_granularity record = Ctypes.getf record Fields.min_image_transfer_granularity | |
let () = Ctypes.seal t | |
let make ?queue_flags:arg__queue_flags~queue_count:arg__queue_count | |
~timestamp_valid_bits:arg__timestamp_valid_bits | |
~min_image_transfer_granularity:arg__min_image_transfer_granularity ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.queue_flags arg__queue_flags; | |
Ctypes.setf generated__x__ Fields.queue_count arg__queue_count; | |
Ctypes.setf generated__x__ Fields.timestamp_valid_bits arg__timestamp_valid_bits; | |
Ctypes.setf generated__x__ Fields.min_image_transfer_granularity arg__min_image_transfer_granularity; | |
Ctypes.addr generated__x__ end | |
let queue_family_properties = Queue_family_properties.t | |
type queue_family_properties = Queue_family_properties.t | |
module Queue_family_properties_2_khr = struct type t | |
type queue_family_properties_2_khr = t | |
let t: t structure typ = structure "queue_family_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let queue_family_properties = field t "queue_family_properties" queue_family_properties | |
end | |
let queue_family_properties record = Ctypes.getf record Fields.queue_family_properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type queue_family_properties_2_khr_extension = .. | |
type queue_family_properties_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~queue_family_properties:arg__queue_family_properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Queue_family_properties_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.queue_family_properties arg__queue_family_properties; | |
Ctypes.addr generated__x__ | |
end | |
let queue_family_properties_2_khr = Queue_family_properties_2_khr.t | |
type queue_family_properties_2_khr = Queue_family_properties_2_khr.t | |
module Rect_3d = struct type t type rect_3d = t | |
let t: t structure typ = structure "rect_3d" | |
module Fields=struct | |
let offset = field t "offset" offset_3d | |
let extent = field t "extent" extent_3d | |
end | |
let offset record = Ctypes.getf record Fields.offset | |
let extent record = Ctypes.getf record Fields.extent | |
let () = Ctypes.seal t | |
let make ~offset:arg__offset~extent:arg__extent = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.extent arg__extent; | |
Ctypes.addr generated__x__ end | |
let rect_3d = Rect_3d.t | |
type rect_3d = Rect_3d.t | |
module Refresh_cycle_duration_google = struct type t | |
type refresh_cycle_duration_google = t | |
let t: t structure typ = structure "refresh_cycle_duration_google" | |
module Fields=struct | |
let refresh_duration = field t "refresh_duration" uint_64_t | |
end | |
let refresh_duration record = Ctypes.getf record Fields.refresh_duration | |
let () = Ctypes.seal t | |
let make ~refresh_duration:arg__refresh_duration = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.refresh_duration arg__refresh_duration; | |
Ctypes.addr generated__x__ end | |
let refresh_cycle_duration_google = Refresh_cycle_duration_google.t | |
type refresh_cycle_duration_google = Refresh_cycle_duration_google.t | |
module Render_pass_begin_info = struct type t | |
type render_pass_begin_info = t | |
let t: t structure typ = structure "render_pass_begin_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let render_pass = field t "render_pass" render_pass | |
let framebuffer = field t "framebuffer" framebuffer | |
let render_area = field t "render_area" rect_2d | |
let clear_value_count = field t "clear_value_count" uint_32_t_opt | |
let clear_values = field t "clear_values" (ptr clear_value) | |
end | |
let render_pass record = Ctypes.getf record Fields.render_pass | |
let framebuffer record = Ctypes.getf record Fields.framebuffer | |
let render_area record = Ctypes.getf record Fields.render_area | |
let clear_values record = match Ctypes.getf record Fields.clear_value_count, Ctypes.getf record Fields.clear_values with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type render_pass_begin_info_extension = .. | |
type render_pass_begin_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~render_pass:arg__render_pass | |
~framebuffer:arg__framebuffer~render_area:arg__render_area | |
?clear_values:arg__clear_values ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Render_pass_begin_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.render_pass arg__render_pass; | |
Ctypes.setf generated__x__ Fields.framebuffer arg__framebuffer; | |
Ctypes.setf generated__x__ Fields.render_area arg__render_area; | |
begin match arg__clear_values with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.clear_value_count None; | |
Ctypes.setf generated__x__ Fields.clear_values (Obj.magic @@ Ctypes.null)) | |
|Some arg__clear_values ->(Ctypes.setf generated__x__ Fields.clear_value_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__clear_values))); | |
Ctypes.setf generated__x__ Fields.clear_values (Ctypes.CArray.start arg__clear_values)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let render_pass_begin_info = Render_pass_begin_info.t | |
type render_pass_begin_info = Render_pass_begin_info.t | |
module Render_pass_create_flags = Bitset.Make() | |
type render_pass_create_flags = Render_pass_create_flags.t | |
let render_pass_create_flags, render_pass_create_flags_opt = Render_pass_create_flags.(view, view_opt) | |
let render_pass_create_flag_bits = Render_pass_create_flags.index_view | |
let render_pass_create_flag_bits_opt = Render_pass_create_flags.index_view_opt | |
module Subpass_description_flags = struct | |
include Bitset.Make() | |
let per_view_position_x_only_bit_nvx = make_index 1 | |
let per_view_attributes_bit_nvx = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem per_view_position_x_only_bit_nvx set then | |
Printer.fprintf ppf "per_view_position_x_only_bit_nvx;@ " | |
else (); | |
if mem per_view_attributes_bit_nvx set then | |
Printer.fprintf ppf "per_view_attributes_bit_nvx;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type subpass_description_flags = Subpass_description_flags.t | |
let subpass_description_flags, subpass_description_flags_opt = Subpass_description_flags.(view, view_opt) | |
let subpass_description_flag_bits = Subpass_description_flags.index_view | |
let subpass_description_flag_bits_opt = Subpass_description_flags.index_view_opt | |
module Subpass_description = struct type t type subpass_description = t | |
let t: t structure typ = structure "subpass_description" | |
module Fields=struct | |
let flags = field t "flags" subpass_description_flags_opt | |
let pipeline_bind_point = field t "pipeline_bind_point" pipeline_bind_point | |
let input_attachment_count = field t "input_attachment_count" uint_32_t_opt | |
let input_attachments = field t "input_attachments" (ptr attachment_reference) | |
let color_attachment_count = field t "color_attachment_count" uint_32_t_opt | |
let color_attachments = field t "color_attachments" (ptr attachment_reference) | |
let resolve_attachments = field t "resolve_attachments" (ptr_opt (attachment_reference)) | |
let depth_stencil_attachment = field t "depth_stencil_attachment" (ptr_opt (attachment_reference)) | |
let preserve_attachment_count = field t "preserve_attachment_count" uint_32_t_opt | |
let preserve_attachments = field t "preserve_attachments" (ptr uint_32_t) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let pipeline_bind_point record = Ctypes.getf record Fields.pipeline_bind_point | |
let input_attachments record = match Ctypes.getf record Fields.input_attachment_count, Ctypes.getf record Fields.input_attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let color_attachments record = match Ctypes.getf record Fields.color_attachment_count, Ctypes.getf record Fields.color_attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let resolve_attachments record = Ctypes.getf record Fields.resolve_attachments | |
let depth_stencil_attachment record = Ctypes.getf record Fields.depth_stencil_attachment | |
let preserve_attachments record = match Ctypes.getf record Fields.preserve_attachment_count, Ctypes.getf record Fields.preserve_attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
let make ?flags:arg__flags~pipeline_bind_point:arg__pipeline_bind_point | |
?input_attachments:arg__input_attachments | |
?color_attachments:arg__color_attachments | |
?resolve_attachments:arg__resolve_attachments | |
?depth_stencil_attachment:arg__depth_stencil_attachment | |
?preserve_attachments:arg__preserve_attachments ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.pipeline_bind_point arg__pipeline_bind_point; | |
begin match arg__input_attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.input_attachment_count None; | |
Ctypes.setf generated__x__ Fields.input_attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__input_attachments ->(Ctypes.setf generated__x__ Fields.input_attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__input_attachments))); | |
Ctypes.setf generated__x__ Fields.input_attachments (Ctypes.CArray.start arg__input_attachments)) | |
end; | |
begin match arg__color_attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.color_attachment_count None; | |
Ctypes.setf generated__x__ Fields.color_attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__color_attachments ->(Ctypes.setf generated__x__ Fields.color_attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__color_attachments))); | |
Ctypes.setf generated__x__ Fields.color_attachments (Ctypes.CArray.start arg__color_attachments)) | |
end; | |
Ctypes.setf generated__x__ Fields.resolve_attachments arg__resolve_attachments; | |
Ctypes.setf generated__x__ Fields.depth_stencil_attachment arg__depth_stencil_attachment; | |
begin match arg__preserve_attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.preserve_attachment_count None; | |
Ctypes.setf generated__x__ Fields.preserve_attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__preserve_attachments ->(Ctypes.setf generated__x__ Fields.preserve_attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__preserve_attachments))); | |
Ctypes.setf generated__x__ Fields.preserve_attachments (Ctypes.CArray.start arg__preserve_attachments)) | |
end; | |
Ctypes.addr generated__x__ end | |
let subpass_description = Subpass_description.t | |
type subpass_description = Subpass_description.t | |
module Subpass_dependency = struct type t type subpass_dependency = t | |
let t: t structure typ = structure "subpass_dependency" | |
module Fields=struct | |
let src_subpass = field t "src_subpass" uint_32_t | |
let dst_subpass = field t "dst_subpass" uint_32_t | |
let src_stage_mask = field t "src_stage_mask" pipeline_stage_flags | |
let dst_stage_mask = field t "dst_stage_mask" pipeline_stage_flags | |
let src_access_mask = field t "src_access_mask" access_flags_opt | |
let dst_access_mask = field t "dst_access_mask" access_flags_opt | |
let dependency_flags = field t "dependency_flags" dependency_flags_opt | |
end | |
let src_subpass record = Ctypes.getf record Fields.src_subpass | |
let dst_subpass record = Ctypes.getf record Fields.dst_subpass | |
let src_stage_mask record = Ctypes.getf record Fields.src_stage_mask | |
let dst_stage_mask record = Ctypes.getf record Fields.dst_stage_mask | |
let src_access_mask record = Ctypes.getf record Fields.src_access_mask | |
let dst_access_mask record = Ctypes.getf record Fields.dst_access_mask | |
let dependency_flags record = Ctypes.getf record Fields.dependency_flags | |
let () = Ctypes.seal t | |
let make ~src_subpass:arg__src_subpass~dst_subpass:arg__dst_subpass | |
~src_stage_mask:arg__src_stage_mask~dst_stage_mask:arg__dst_stage_mask | |
?src_access_mask:arg__src_access_mask?dst_access_mask:arg__dst_access_mask | |
?dependency_flags:arg__dependency_flags ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.src_subpass arg__src_subpass; | |
Ctypes.setf generated__x__ Fields.dst_subpass arg__dst_subpass; | |
Ctypes.setf generated__x__ Fields.src_stage_mask arg__src_stage_mask; | |
Ctypes.setf generated__x__ Fields.dst_stage_mask arg__dst_stage_mask; | |
Ctypes.setf generated__x__ Fields.src_access_mask arg__src_access_mask; | |
Ctypes.setf generated__x__ Fields.dst_access_mask arg__dst_access_mask; | |
Ctypes.setf generated__x__ Fields.dependency_flags arg__dependency_flags; | |
Ctypes.addr generated__x__ end | |
let subpass_dependency = Subpass_dependency.t | |
type subpass_dependency = Subpass_dependency.t | |
module Render_pass_create_info = struct type t | |
type render_pass_create_info = t | |
let t: t structure typ = structure "render_pass_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" render_pass_create_flags_opt | |
let attachment_count = field t "attachment_count" uint_32_t_opt | |
let attachments = field t "attachments" (ptr attachment_description) | |
let subpass_count = field t "subpass_count" uint_32_t | |
let subpasses = field t "subpasses" (ptr subpass_description) | |
let dependency_count = field t "dependency_count" uint_32_t_opt | |
let dependencies = field t "dependencies" (ptr subpass_dependency) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let attachments record = match Ctypes.getf record Fields.attachment_count, Ctypes.getf record Fields.attachments with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let subpasses record = let subpass_count = Ctypes.getf record Fields.subpass_count and subpasses = Ctypes.getf record Fields.subpasses in | |
Ctypes.CArray.from_ptr (subpasses) (Uint_32_t.to_int (subpass_count)) | |
let dependencies record = match Ctypes.getf record Fields.dependency_count, Ctypes.getf record Fields.dependencies with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type render_pass_create_info_extension = .. | |
type render_pass_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
?attachments:arg__attachments~subpasses:arg__subpasses | |
?dependencies:arg__dependencies ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Render_pass_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
begin match arg__attachments with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.attachment_count None; | |
Ctypes.setf generated__x__ Fields.attachments (Obj.magic @@ Ctypes.null)) | |
|Some arg__attachments ->(Ctypes.setf generated__x__ Fields.attachment_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__attachments))); | |
Ctypes.setf generated__x__ Fields.attachments (Ctypes.CArray.start arg__attachments)) | |
end; | |
Ctypes.setf generated__x__ Fields.subpass_count (Uint_32_t.of_int(Ctypes.CArray.length arg__subpasses)); | |
Ctypes.setf generated__x__ Fields.subpasses (Ctypes.CArray.start arg__subpasses); | |
begin match arg__dependencies with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.dependency_count None; | |
Ctypes.setf generated__x__ Fields.dependencies (Obj.magic @@ Ctypes.null)) | |
|Some arg__dependencies ->(Ctypes.setf generated__x__ Fields.dependency_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__dependencies))); | |
Ctypes.setf generated__x__ Fields.dependencies (Ctypes.CArray.start arg__dependencies)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let render_pass_create_info = Render_pass_create_info.t | |
type render_pass_create_info = Render_pass_create_info.t | |
module Render_pass_multiview_create_info_khx = struct type t | |
type render_pass_multiview_create_info_khx = t | |
let t: t structure typ = structure "render_pass_multiview_create_info_khx" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let subpass_count = field t "subpass_count" uint_32_t_opt | |
let view_masks = field t "view_masks" (ptr uint_32_t) | |
let dependency_count = field t "dependency_count" uint_32_t_opt | |
let view_offsets = field t "view_offsets" (ptr int_32_t) | |
let correlation_mask_count = field t "correlation_mask_count" uint_32_t_opt | |
let correlation_masks = field t "correlation_masks" (ptr uint_32_t) | |
end | |
let view_masks record = match Ctypes.getf record Fields.subpass_count, Ctypes.getf record Fields.view_masks with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let view_offsets record = match Ctypes.getf record Fields.dependency_count, Ctypes.getf record Fields.view_offsets with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let correlation_masks record = match Ctypes.getf record Fields.correlation_mask_count, Ctypes.getf record Fields.correlation_masks with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type render_pass_multiview_create_info_khx_extension = .. | |
type render_pass_multiview_create_info_khx_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?view_masks:arg__view_masks | |
?view_offsets:arg__view_offsets?correlation_masks:arg__correlation_masks ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Render_pass_multiview_create_info_khx, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__view_masks with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.subpass_count None; | |
Ctypes.setf generated__x__ Fields.view_masks (Obj.magic @@ Ctypes.null)) | |
|Some arg__view_masks ->(Ctypes.setf generated__x__ Fields.subpass_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__view_masks))); | |
Ctypes.setf generated__x__ Fields.view_masks (Ctypes.CArray.start arg__view_masks)) | |
end; | |
begin match arg__view_offsets with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.dependency_count None; | |
Ctypes.setf generated__x__ Fields.view_offsets (Obj.magic @@ Ctypes.null)) | |
|Some arg__view_offsets ->(Ctypes.setf generated__x__ Fields.dependency_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__view_offsets))); | |
Ctypes.setf generated__x__ Fields.view_offsets (Ctypes.CArray.start arg__view_offsets)) | |
end; | |
begin match arg__correlation_masks with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.correlation_mask_count None; | |
Ctypes.setf generated__x__ Fields.correlation_masks (Obj.magic @@ Ctypes.null)) | |
|Some arg__correlation_masks ->(Ctypes.setf generated__x__ Fields.correlation_mask_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__correlation_masks))); | |
Ctypes.setf generated__x__ Fields.correlation_masks (Ctypes.CArray.start arg__correlation_masks)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let render_pass_multiview_create_info_khx = Render_pass_multiview_create_info_khx.t | |
type render_pass_multiview_create_info_khx = Render_pass_multiview_create_info_khx.t | |
module Sampler_address_mode = struct | |
type t = | Repeat | |
| Mirrored_repeat | |
| Clamp_to_edge | |
| Clamp_to_border | |
let to_int = function | |
| Repeat -> 0 | |
| Mirrored_repeat -> 1 | |
| Clamp_to_edge -> 2 | |
| Clamp_to_border -> 3 | |
let of_int = function | |
| 0 -> Repeat | |
| 1 -> Mirrored_repeat | |
| 2 -> Clamp_to_edge | |
| 3 -> Clamp_to_border | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Repeat -> "Repeat" | |
| Mirrored_repeat -> "Mirrored_repeat" | |
| Clamp_to_edge -> "Clamp_to_edge" | |
| Clamp_to_border -> "Clamp_to_border") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let sampler_address_mode, sampler_address_mode_opt = Sampler_address_mode.(view,view_opt) | |
type sampler_address_mode = Sampler_address_mode.t | |
module Sampler_create_flags = Bitset.Make() | |
type sampler_create_flags = Sampler_create_flags.t | |
let sampler_create_flags, sampler_create_flags_opt = Sampler_create_flags.(view, view_opt) | |
let sampler_create_flag_bits = Sampler_create_flags.index_view | |
let sampler_create_flag_bits_opt = Sampler_create_flags.index_view_opt | |
module Sampler_mipmap_mode = struct | |
type t = | Nearest | |
| Linear | |
let to_int = function | |
| Nearest -> 0 | |
| Linear -> 1 | |
let of_int = function | |
| 0 -> Nearest | |
| 1 -> Linear | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Nearest -> "Nearest" | |
| Linear -> "Linear") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let sampler_mipmap_mode, sampler_mipmap_mode_opt = Sampler_mipmap_mode.(view,view_opt) | |
type sampler_mipmap_mode = Sampler_mipmap_mode.t | |
module Sampler_create_info = struct type t type sampler_create_info = t | |
let t: t structure typ = structure "sampler_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" sampler_create_flags_opt | |
let mag_filter = field t "mag_filter" filter | |
let min_filter = field t "min_filter" filter | |
let mipmap_mode = field t "mipmap_mode" sampler_mipmap_mode | |
let address_mode_u = field t "address_mode_u" sampler_address_mode | |
let address_mode_v = field t "address_mode_v" sampler_address_mode | |
let address_mode_w = field t "address_mode_w" sampler_address_mode | |
let mip_lod_bias = field t "mip_lod_bias" float | |
let anisotropy_enable = field t "anisotropy_enable" bool_32 | |
let max_anisotropy = field t "max_anisotropy" float | |
let compare_enable = field t "compare_enable" bool_32 | |
let compare_op = field t "compare_op" compare_op | |
let min_lod = field t "min_lod" float | |
let max_lod = field t "max_lod" float | |
let border_color = field t "border_color" border_color | |
let unnormalized_coordinates = field t "unnormalized_coordinates" bool_32 | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let mag_filter record = Ctypes.getf record Fields.mag_filter | |
let min_filter record = Ctypes.getf record Fields.min_filter | |
let mipmap_mode record = Ctypes.getf record Fields.mipmap_mode | |
let address_mode_u record = Ctypes.getf record Fields.address_mode_u | |
let address_mode_v record = Ctypes.getf record Fields.address_mode_v | |
let address_mode_w record = Ctypes.getf record Fields.address_mode_w | |
let mip_lod_bias record = Ctypes.getf record Fields.mip_lod_bias | |
let anisotropy_enable record = Ctypes.getf record Fields.anisotropy_enable | |
let max_anisotropy record = Ctypes.getf record Fields.max_anisotropy | |
let compare_enable record = Ctypes.getf record Fields.compare_enable | |
let compare_op record = Ctypes.getf record Fields.compare_op | |
let min_lod record = Ctypes.getf record Fields.min_lod | |
let max_lod record = Ctypes.getf record Fields.max_lod | |
let border_color record = Ctypes.getf record Fields.border_color | |
let unnormalized_coordinates record = Ctypes.getf record Fields.unnormalized_coordinates | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type sampler_create_info_extension = .. | |
type sampler_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~mag_filter:arg__mag_filter~min_filter:arg__min_filter | |
~mipmap_mode:arg__mipmap_mode~address_mode_u:arg__address_mode_u | |
~address_mode_v:arg__address_mode_v~address_mode_w:arg__address_mode_w | |
~mip_lod_bias:arg__mip_lod_bias~anisotropy_enable:arg__anisotropy_enable | |
~max_anisotropy:arg__max_anisotropy~compare_enable:arg__compare_enable | |
~compare_op:arg__compare_op~min_lod:arg__min_lod~max_lod:arg__max_lod | |
~border_color:arg__border_color | |
~unnormalized_coordinates:arg__unnormalized_coordinates ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Sampler_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.mag_filter arg__mag_filter; | |
Ctypes.setf generated__x__ Fields.min_filter arg__min_filter; | |
Ctypes.setf generated__x__ Fields.mipmap_mode arg__mipmap_mode; | |
Ctypes.setf generated__x__ Fields.address_mode_u arg__address_mode_u; | |
Ctypes.setf generated__x__ Fields.address_mode_v arg__address_mode_v; | |
Ctypes.setf generated__x__ Fields.address_mode_w arg__address_mode_w; | |
Ctypes.setf generated__x__ Fields.mip_lod_bias arg__mip_lod_bias; | |
Ctypes.setf generated__x__ Fields.anisotropy_enable arg__anisotropy_enable; | |
Ctypes.setf generated__x__ Fields.max_anisotropy arg__max_anisotropy; | |
Ctypes.setf generated__x__ Fields.compare_enable arg__compare_enable; | |
Ctypes.setf generated__x__ Fields.compare_op arg__compare_op; | |
Ctypes.setf generated__x__ Fields.min_lod arg__min_lod; | |
Ctypes.setf generated__x__ Fields.max_lod arg__max_lod; | |
Ctypes.setf generated__x__ Fields.border_color arg__border_color; | |
Ctypes.setf generated__x__ Fields.unnormalized_coordinates arg__unnormalized_coordinates; | |
Ctypes.addr generated__x__ | |
end | |
let sampler_create_info = Sampler_create_info.t | |
type sampler_create_info = Sampler_create_info.t | |
module Semaphore_create_flags = Bitset.Make() | |
type semaphore_create_flags = Semaphore_create_flags.t | |
let semaphore_create_flags, semaphore_create_flags_opt = Semaphore_create_flags.(view, view_opt) | |
let semaphore_create_flag_bits = Semaphore_create_flags.index_view | |
let semaphore_create_flag_bits_opt = Semaphore_create_flags.index_view_opt | |
module Semaphore_create_info = struct type t type semaphore_create_info = t | |
let t: t structure typ = structure "semaphore_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" semaphore_create_flags_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type semaphore_create_info_extension = .. | |
type semaphore_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Semaphore_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ | |
end | |
let semaphore_create_info = Semaphore_create_info.t | |
type semaphore_create_info = Semaphore_create_info.t | |
module Shader_module_create_flags = Bitset.Make() | |
type shader_module_create_flags = Shader_module_create_flags.t | |
let shader_module_create_flags, shader_module_create_flags_opt = Shader_module_create_flags.(view, view_opt) | |
let shader_module_create_flag_bits = Shader_module_create_flags.index_view | |
let shader_module_create_flag_bits_opt = Shader_module_create_flags.index_view_opt | |
module Shader_module_create_info = struct type t | |
type shader_module_create_info = t | |
let t: t structure typ = structure "shader_module_create_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" shader_module_create_flags_opt | |
let code_size = field t "code_size" size_t | |
let code = field t "code" (ptr uint_32_t) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let code_size record = Ctypes.getf record Fields.code_size | |
let code record = Ctypes.getf record Fields.code let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type shader_module_create_info_extension = .. | |
type shader_module_create_info_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~code_size:arg__code_size~code:arg__code ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Shader_module_create_info, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.code_size arg__code_size; | |
Ctypes.setf generated__x__ Fields.code arg__code; Ctypes.addr generated__x__ | |
end | |
let shader_module_create_info = Shader_module_create_info.t | |
type shader_module_create_info = Shader_module_create_info.t | |
module Shared_present_surface_capabilities_khr = struct type t | |
type shared_present_surface_capabilities_khr = t | |
let t: t structure typ = structure "shared_present_surface_capabilities_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let shared_present_supported_usage_flags = field t "shared_present_supported_usage_flags" image_usage_flags_opt | |
end | |
let shared_present_supported_usage_flags record = Ctypes.getf record Fields.shared_present_supported_usage_flags | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type shared_present_surface_capabilities_khr_extension = .. | |
type shared_present_surface_capabilities_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?shared_present_supported_usage_flags:arg__shared_present_supported_usage_flags | |
()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Shared_present_surface_capabilities_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.shared_present_supported_usage_flags arg__shared_present_supported_usage_flags; | |
Ctypes.addr generated__x__ | |
end | |
let shared_present_surface_capabilities_khr = Shared_present_surface_capabilities_khr.t | |
type shared_present_surface_capabilities_khr = Shared_present_surface_capabilities_khr.t | |
module Sparse_image_format_flags = struct | |
include Bitset.Make() | |
let nonstandard_block_size = make_index 2 | |
let aligned_mip_size = make_index 1 | |
let single_miptail = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem nonstandard_block_size set then | |
Printer.fprintf ppf "nonstandard_block_size;@ " | |
else (); | |
if mem aligned_mip_size set then | |
Printer.fprintf ppf "aligned_mip_size;@ " | |
else (); | |
if mem single_miptail set then | |
Printer.fprintf ppf "single_miptail;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type sparse_image_format_flags = Sparse_image_format_flags.t | |
let sparse_image_format_flags, sparse_image_format_flags_opt = Sparse_image_format_flags.(view, view_opt) | |
let sparse_image_format_flag_bits = Sparse_image_format_flags.index_view | |
let sparse_image_format_flag_bits_opt = Sparse_image_format_flags.index_view_opt | |
module Sparse_image_format_properties = struct type t | |
type sparse_image_format_properties = t | |
let t: t structure typ = structure "sparse_image_format_properties" | |
module Fields=struct | |
let aspect_mask = field t "aspect_mask" image_aspect_flags_opt | |
let image_granularity = field t "image_granularity" extent_3d | |
let flags = field t "flags" sparse_image_format_flags_opt | |
end | |
let aspect_mask record = Ctypes.getf record Fields.aspect_mask | |
let image_granularity record = Ctypes.getf record Fields.image_granularity | |
let flags record = Ctypes.getf record Fields.flags | |
let () = Ctypes.seal t | |
let make ?aspect_mask:arg__aspect_mask | |
~image_granularity:arg__image_granularity?flags:arg__flags ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.aspect_mask arg__aspect_mask; | |
Ctypes.setf generated__x__ Fields.image_granularity arg__image_granularity; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.addr generated__x__ end | |
let sparse_image_format_properties = Sparse_image_format_properties.t | |
type sparse_image_format_properties = Sparse_image_format_properties.t | |
module Sparse_image_format_properties_2_khr = struct type t | |
type sparse_image_format_properties_2_khr = t | |
let t: t structure typ = structure "sparse_image_format_properties_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let properties = field t "properties" sparse_image_format_properties | |
end | |
let properties record = Ctypes.getf record Fields.properties | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type sparse_image_format_properties_2_khr_extension = .. | |
type sparse_image_format_properties_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~properties:arg__properties ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Sparse_image_format_properties_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.properties arg__properties; | |
Ctypes.addr generated__x__ | |
end | |
let sparse_image_format_properties_2_khr = Sparse_image_format_properties_2_khr.t | |
type sparse_image_format_properties_2_khr = Sparse_image_format_properties_2_khr.t | |
module Sparse_image_memory_requirements = struct type t | |
type sparse_image_memory_requirements = t | |
let t: t structure typ = structure "sparse_image_memory_requirements" | |
module Fields=struct | |
let format_properties = field t "format_properties" sparse_image_format_properties | |
let image_mip_tail_first_lod = field t "image_mip_tail_first_lod" uint_32_t | |
let image_mip_tail_size = field t "image_mip_tail_size" device_size | |
let image_mip_tail_offset = field t "image_mip_tail_offset" device_size | |
let image_mip_tail_stride = field t "image_mip_tail_stride" device_size | |
end | |
let format_properties record = Ctypes.getf record Fields.format_properties | |
let image_mip_tail_first_lod record = Ctypes.getf record Fields.image_mip_tail_first_lod | |
let image_mip_tail_size record = Ctypes.getf record Fields.image_mip_tail_size | |
let image_mip_tail_offset record = Ctypes.getf record Fields.image_mip_tail_offset | |
let image_mip_tail_stride record = Ctypes.getf record Fields.image_mip_tail_stride | |
let () = Ctypes.seal t | |
let make ~format_properties:arg__format_properties | |
~image_mip_tail_first_lod:arg__image_mip_tail_first_lod | |
~image_mip_tail_size:arg__image_mip_tail_size | |
~image_mip_tail_offset:arg__image_mip_tail_offset | |
~image_mip_tail_stride:arg__image_mip_tail_stride = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.format_properties arg__format_properties; | |
Ctypes.setf generated__x__ Fields.image_mip_tail_first_lod arg__image_mip_tail_first_lod; | |
Ctypes.setf generated__x__ Fields.image_mip_tail_size arg__image_mip_tail_size; | |
Ctypes.setf generated__x__ Fields.image_mip_tail_offset arg__image_mip_tail_offset; | |
Ctypes.setf generated__x__ Fields.image_mip_tail_stride arg__image_mip_tail_stride; | |
Ctypes.addr generated__x__ end | |
let sparse_image_memory_requirements = Sparse_image_memory_requirements.t | |
type sparse_image_memory_requirements = Sparse_image_memory_requirements.t | |
module Stencil_face_flags = struct | |
include Bitset.Make() | |
let back = make_index 1 | |
let front = make_index 0 | |
let stencil_front_and_back = of_int 3 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem back set then | |
Printer.fprintf ppf "back;@ " | |
else (); | |
if mem front set then | |
Printer.fprintf ppf "front;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type stencil_face_flags = Stencil_face_flags.t | |
let stencil_face_flags, stencil_face_flags_opt = Stencil_face_flags.(view, view_opt) | |
let stencil_face_flag_bits = Stencil_face_flags.index_view | |
let stencil_face_flag_bits_opt = Stencil_face_flags.index_view_opt | |
module Submit_info = struct type t type submit_info = t | |
let t: t structure typ = structure "submit_info" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let wait_semaphore_count = field t "wait_semaphore_count" uint_32_t_opt | |
let wait_semaphores = field t "wait_semaphores" (ptr semaphore) | |
let wait_dst_stage_mask = field t "wait_dst_stage_mask" (ptr pipeline_stage_flags) | |
let command_buffer_count = field t "command_buffer_count" uint_32_t_opt | |
let command_buffers = field t "command_buffers" (ptr command_buffer) | |
let signal_semaphore_count = field t "signal_semaphore_count" uint_32_t_opt | |
let signal_semaphores = field t "signal_semaphores" (ptr semaphore) | |
end | |
let wait_semaphores record = match Ctypes.getf record Fields.wait_semaphore_count, Ctypes.getf record Fields.wait_semaphores with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let wait_dst_stage_mask record = let a = Ctypes.getf record Fields.wait_dst_stage_mask in | |
let i = Ctypes.getf record Fields.wait_semaphore_count in | |
may (fun i -> Ctypes.CArray.from_ptr (a) (i)) i | |
let command_buffers record = match Ctypes.getf record Fields.command_buffer_count, Ctypes.getf record Fields.command_buffers with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let signal_semaphores record = match Ctypes.getf record Fields.signal_semaphore_count, Ctypes.getf record Fields.signal_semaphores with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type submit_info_extension = .. | |
type submit_info_extension += | No_extension | |
| D3d_12_fence_submit_info_khx of d3d_12_fence_submit_info_khx Ctypes.structure Ctypes.ptr | |
| Device_group_submit_info_khx of device_group_submit_info_khx Ctypes.structure Ctypes.ptr | |
let make ?extension:(arg__ext=No_extension) | |
?wait_semaphores:arg__wait_semaphores | |
~wait_dst_stage_mask:arg__wait_dst_stage_mask | |
?command_buffers:arg__command_buffers | |
?signal_semaphores:arg__signal_semaphores ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Submit_info, Ctypes.null | |
| D3d_12_fence_submit_info_khx x -> | |
Structure_type.D3d_12_fence_submit_info_khx, | |
Ctypes.( coerce (ptr d3d_12_fence_submit_info_khx) (ptr void) x ) | |
| Device_group_submit_info_khx x -> | |
Structure_type.Device_group_submit_info_khx, | |
Ctypes.( coerce (ptr device_group_submit_info_khx) (ptr void) x ) | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
begin match arg__wait_semaphores with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.wait_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Obj.magic @@ Ctypes.null)) | |
|Some arg__wait_semaphores ->(Ctypes.setf generated__x__ Fields.wait_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__wait_semaphores))); | |
Ctypes.setf generated__x__ Fields.wait_semaphores (Ctypes.CArray.start arg__wait_semaphores)) | |
end; | |
Ctypes.setf generated__x__ Fields.wait_dst_stage_mask arg__wait_dst_stage_mask; | |
begin match arg__command_buffers with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.command_buffer_count None; | |
Ctypes.setf generated__x__ Fields.command_buffers (Obj.magic @@ Ctypes.null)) | |
|Some arg__command_buffers ->(Ctypes.setf generated__x__ Fields.command_buffer_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__command_buffers))); | |
Ctypes.setf generated__x__ Fields.command_buffers (Ctypes.CArray.start arg__command_buffers)) | |
end; | |
begin match arg__signal_semaphores with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.signal_semaphore_count None; | |
Ctypes.setf generated__x__ Fields.signal_semaphores (Obj.magic @@ Ctypes.null)) | |
|Some arg__signal_semaphores ->(Ctypes.setf generated__x__ Fields.signal_semaphore_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__signal_semaphores))); | |
Ctypes.setf generated__x__ Fields.signal_semaphores (Ctypes.CArray.start arg__signal_semaphores)) | |
end; | |
Ctypes.addr generated__x__ | |
end | |
let submit_info = Submit_info.t | |
type submit_info = Submit_info.t | |
module Subpass_contents = struct | |
type t = | Inline | |
| Secondary_command_buffers | |
let to_int = function | |
| Inline -> 0 | |
| Secondary_command_buffers -> 1 | |
let of_int = function | |
| 0 -> Inline | |
| 1 -> Secondary_command_buffers | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| Inline -> "Inline" | |
| Secondary_command_buffers -> "Secondary_command_buffers") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let subpass_contents, subpass_contents_opt = Subpass_contents.(view,view_opt) | |
type subpass_contents = Subpass_contents.t | |
module Subresource_layout = struct type t type subresource_layout = t | |
let t: t structure typ = structure "subresource_layout" | |
module Fields=struct | |
let offset = field t "offset" device_size | |
let size = field t "size" device_size | |
let row_pitch = field t "row_pitch" device_size | |
let array_pitch = field t "array_pitch" device_size | |
let depth_pitch = field t "depth_pitch" device_size | |
end | |
let offset record = Ctypes.getf record Fields.offset | |
let size record = Ctypes.getf record Fields.size | |
let row_pitch record = Ctypes.getf record Fields.row_pitch | |
let array_pitch record = Ctypes.getf record Fields.array_pitch | |
let depth_pitch record = Ctypes.getf record Fields.depth_pitch | |
let () = Ctypes.seal t | |
let make ~offset:arg__offset~size:arg__size~row_pitch:arg__row_pitch | |
~array_pitch:arg__array_pitch~depth_pitch:arg__depth_pitch = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.offset arg__offset; | |
Ctypes.setf generated__x__ Fields.size arg__size; | |
Ctypes.setf generated__x__ Fields.row_pitch arg__row_pitch; | |
Ctypes.setf generated__x__ Fields.array_pitch arg__array_pitch; | |
Ctypes.setf generated__x__ Fields.depth_pitch arg__depth_pitch; | |
Ctypes.addr generated__x__ end | |
let subresource_layout = Subresource_layout.t | |
type subresource_layout = Subresource_layout.t | |
module Surface_counter_flags_ext = struct | |
include Bitset.Make() | |
let vblank_ext = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem vblank_ext set then | |
Printer.fprintf ppf "vblank_ext;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type surface_counter_flags_ext = Surface_counter_flags_ext.t | |
let surface_counter_flags_ext, surface_counter_flags_ext_opt = Surface_counter_flags_ext.(view, view_opt) | |
let surface_counter_flag_bits_ext = Surface_counter_flags_ext.index_view | |
let surface_counter_flag_bits_ext_opt = Surface_counter_flags_ext.index_view_opt | |
module Surface_capabilities_2_ext = struct type t | |
type surface_capabilities_2_ext = t | |
let t: t structure typ = structure "surface_capabilities_2_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let min_image_count = field t "min_image_count" uint_32_t | |
let max_image_count = field t "max_image_count" uint_32_t | |
let current_extent = field t "current_extent" extent_2d | |
let min_image_extent = field t "min_image_extent" extent_2d | |
let max_image_extent = field t "max_image_extent" extent_2d | |
let max_image_array_layers = field t "max_image_array_layers" uint_32_t | |
let supported_transforms = field t "supported_transforms" surface_transform_flags_khr_opt | |
let current_transform = field t "current_transform" surface_transform_flag_bits_khr | |
let supported_composite_alpha = field t "supported_composite_alpha" composite_alpha_flags_khr_opt | |
let supported_usage_flags = field t "supported_usage_flags" image_usage_flags_opt | |
let supported_surface_counters = field t "supported_surface_counters" surface_counter_flags_ext_opt | |
end | |
let min_image_count record = Ctypes.getf record Fields.min_image_count | |
let max_image_count record = Ctypes.getf record Fields.max_image_count | |
let current_extent record = Ctypes.getf record Fields.current_extent | |
let min_image_extent record = Ctypes.getf record Fields.min_image_extent | |
let max_image_extent record = Ctypes.getf record Fields.max_image_extent | |
let max_image_array_layers record = Ctypes.getf record Fields.max_image_array_layers | |
let supported_transforms record = Ctypes.getf record Fields.supported_transforms | |
let current_transform record = Ctypes.getf record Fields.current_transform | |
let supported_composite_alpha record = Ctypes.getf record Fields.supported_composite_alpha | |
let supported_usage_flags record = Ctypes.getf record Fields.supported_usage_flags | |
let supported_surface_counters record = Ctypes.getf record Fields.supported_surface_counters | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type surface_capabilities_2_ext_extension = .. | |
type surface_capabilities_2_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~min_image_count:arg__min_image_count~max_image_count:arg__max_image_count | |
~current_extent:arg__current_extent~min_image_extent:arg__min_image_extent | |
~max_image_extent:arg__max_image_extent | |
~max_image_array_layers:arg__max_image_array_layers | |
?supported_transforms:arg__supported_transforms | |
~current_transform:arg__current_transform | |
?supported_composite_alpha:arg__supported_composite_alpha | |
?supported_usage_flags:arg__supported_usage_flags | |
?supported_surface_counters:arg__supported_surface_counters ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Surface_capabilities_2_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.min_image_count arg__min_image_count; | |
Ctypes.setf generated__x__ Fields.max_image_count arg__max_image_count; | |
Ctypes.setf generated__x__ Fields.current_extent arg__current_extent; | |
Ctypes.setf generated__x__ Fields.min_image_extent arg__min_image_extent; | |
Ctypes.setf generated__x__ Fields.max_image_extent arg__max_image_extent; | |
Ctypes.setf generated__x__ Fields.max_image_array_layers arg__max_image_array_layers; | |
Ctypes.setf generated__x__ Fields.supported_transforms arg__supported_transforms; | |
Ctypes.setf generated__x__ Fields.current_transform arg__current_transform; | |
Ctypes.setf generated__x__ Fields.supported_composite_alpha arg__supported_composite_alpha; | |
Ctypes.setf generated__x__ Fields.supported_usage_flags arg__supported_usage_flags; | |
Ctypes.setf generated__x__ Fields.supported_surface_counters arg__supported_surface_counters; | |
Ctypes.addr generated__x__ | |
end | |
let surface_capabilities_2_ext = Surface_capabilities_2_ext.t | |
type surface_capabilities_2_ext = Surface_capabilities_2_ext.t | |
module Surface_capabilities_khr = struct type t | |
type surface_capabilities_khr = t | |
let t: t structure typ = structure "surface_capabilities_khr" | |
module Fields=struct | |
let min_image_count = field t "min_image_count" uint_32_t | |
let max_image_count = field t "max_image_count" uint_32_t | |
let current_extent = field t "current_extent" extent_2d | |
let min_image_extent = field t "min_image_extent" extent_2d | |
let max_image_extent = field t "max_image_extent" extent_2d | |
let max_image_array_layers = field t "max_image_array_layers" uint_32_t | |
let supported_transforms = field t "supported_transforms" surface_transform_flags_khr_opt | |
let current_transform = field t "current_transform" surface_transform_flag_bits_khr | |
let supported_composite_alpha = field t "supported_composite_alpha" composite_alpha_flags_khr_opt | |
let supported_usage_flags = field t "supported_usage_flags" image_usage_flags_opt | |
end | |
let min_image_count record = Ctypes.getf record Fields.min_image_count | |
let max_image_count record = Ctypes.getf record Fields.max_image_count | |
let current_extent record = Ctypes.getf record Fields.current_extent | |
let min_image_extent record = Ctypes.getf record Fields.min_image_extent | |
let max_image_extent record = Ctypes.getf record Fields.max_image_extent | |
let max_image_array_layers record = Ctypes.getf record Fields.max_image_array_layers | |
let supported_transforms record = Ctypes.getf record Fields.supported_transforms | |
let current_transform record = Ctypes.getf record Fields.current_transform | |
let supported_composite_alpha record = Ctypes.getf record Fields.supported_composite_alpha | |
let supported_usage_flags record = Ctypes.getf record Fields.supported_usage_flags | |
let () = Ctypes.seal t | |
let make ~min_image_count:arg__min_image_count | |
~max_image_count:arg__max_image_count~current_extent:arg__current_extent | |
~min_image_extent:arg__min_image_extent | |
~max_image_extent:arg__max_image_extent | |
~max_image_array_layers:arg__max_image_array_layers | |
?supported_transforms:arg__supported_transforms | |
~current_transform:arg__current_transform | |
?supported_composite_alpha:arg__supported_composite_alpha | |
?supported_usage_flags:arg__supported_usage_flags ()= | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.min_image_count arg__min_image_count; | |
Ctypes.setf generated__x__ Fields.max_image_count arg__max_image_count; | |
Ctypes.setf generated__x__ Fields.current_extent arg__current_extent; | |
Ctypes.setf generated__x__ Fields.min_image_extent arg__min_image_extent; | |
Ctypes.setf generated__x__ Fields.max_image_extent arg__max_image_extent; | |
Ctypes.setf generated__x__ Fields.max_image_array_layers arg__max_image_array_layers; | |
Ctypes.setf generated__x__ Fields.supported_transforms arg__supported_transforms; | |
Ctypes.setf generated__x__ Fields.current_transform arg__current_transform; | |
Ctypes.setf generated__x__ Fields.supported_composite_alpha arg__supported_composite_alpha; | |
Ctypes.setf generated__x__ Fields.supported_usage_flags arg__supported_usage_flags; | |
Ctypes.addr generated__x__ end | |
let surface_capabilities_khr = Surface_capabilities_khr.t | |
type surface_capabilities_khr = Surface_capabilities_khr.t | |
module Surface_capabilities_2_khr = struct type t | |
type surface_capabilities_2_khr = t | |
let t: t structure typ = structure "surface_capabilities_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let surface_capabilities = field t "surface_capabilities" surface_capabilities_khr | |
end | |
let surface_capabilities record = Ctypes.getf record Fields.surface_capabilities | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type surface_capabilities_2_khr_extension = .. | |
type surface_capabilities_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~surface_capabilities:arg__surface_capabilities ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Surface_capabilities_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.surface_capabilities arg__surface_capabilities; | |
Ctypes.addr generated__x__ | |
end | |
let surface_capabilities_2_khr = Surface_capabilities_2_khr.t | |
type surface_capabilities_2_khr = Surface_capabilities_2_khr.t | |
module Surface_format_khr = struct type t type surface_format_khr = t | |
let t: t structure typ = structure "surface_format_khr" | |
module Fields=struct | |
let format = field t "format" format | |
let color_space = field t "color_space" color_space_khr | |
end | |
let format record = Ctypes.getf record Fields.format | |
let color_space record = Ctypes.getf record Fields.color_space | |
let () = Ctypes.seal t | |
let make ~format:arg__format~color_space:arg__color_space = | |
let generated__x__ = Ctypes.make t in | |
Ctypes.setf generated__x__ Fields.format arg__format; | |
Ctypes.setf generated__x__ Fields.color_space arg__color_space; | |
Ctypes.addr generated__x__ end | |
let surface_format_khr = Surface_format_khr.t | |
type surface_format_khr = Surface_format_khr.t | |
module Surface_format_2_khr = struct type t type surface_format_2_khr = t | |
let t: t structure typ = structure "surface_format_2_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let surface_format = field t "surface_format" surface_format_khr | |
end | |
let surface_format record = Ctypes.getf record Fields.surface_format | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type surface_format_2_khr_extension = .. | |
type surface_format_2_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~surface_format:arg__surface_format ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Surface_format_2_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.surface_format arg__surface_format; | |
Ctypes.addr generated__x__ | |
end | |
let surface_format_2_khr = Surface_format_2_khr.t | |
type surface_format_2_khr = Surface_format_2_khr.t | |
module Swapchain_counter_create_info_ext = struct type t | |
type swapchain_counter_create_info_ext = t | |
let t: t structure typ = structure "swapchain_counter_create_info_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let surface_counters = field t "surface_counters" surface_counter_flags_ext_opt | |
end | |
let surface_counters record = Ctypes.getf record Fields.surface_counters | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type swapchain_counter_create_info_ext_extension = .. | |
type swapchain_counter_create_info_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
?surface_counters:arg__surface_counters ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Swapchain_counter_create_info_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.surface_counters arg__surface_counters; | |
Ctypes.addr generated__x__ | |
end | |
let swapchain_counter_create_info_ext = Swapchain_counter_create_info_ext.t | |
type swapchain_counter_create_info_ext = Swapchain_counter_create_info_ext.t | |
module Swapchain_create_flags_khr = struct | |
include Bitset.Make() | |
let bind_sfr_bit_khx = make_index 0 | |
let pp ppf set= | |
Printer.fprintf ppf "@[{"; | |
if mem bind_sfr_bit_khx set then | |
Printer.fprintf ppf "bind_sfr_bit_khx;@ " | |
else (); | |
Printer.fprintf ppf "}@]" | |
end | |
type swapchain_create_flags_khr = Swapchain_create_flags_khr.t | |
let swapchain_create_flags_khr, swapchain_create_flags_khr_opt = Swapchain_create_flags_khr.(view, view_opt) | |
let swapchain_create_flag_bits_khr = Swapchain_create_flags_khr.index_view | |
let swapchain_create_flag_bits_khr_opt = Swapchain_create_flags_khr.index_view_opt | |
module Swapchain_create_info_khr = struct type t | |
type swapchain_create_info_khr = t | |
let t: t structure typ = structure "swapchain_create_info_khr" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" swapchain_create_flags_khr_opt | |
let surface = field t "surface" surface_khr | |
let min_image_count = field t "min_image_count" uint_32_t | |
let image_format = field t "image_format" format | |
let image_color_space = field t "image_color_space" color_space_khr | |
let image_extent = field t "image_extent" extent_2d | |
let image_array_layers = field t "image_array_layers" uint_32_t | |
let image_usage = field t "image_usage" image_usage_flags | |
let image_sharing_mode = field t "image_sharing_mode" sharing_mode | |
let queue_family_index_count = field t "queue_family_index_count" uint_32_t_opt | |
let queue_family_indices = field t "queue_family_indices" (ptr uint_32_t) | |
let pre_transform = field t "pre_transform" surface_transform_flag_bits_khr | |
let composite_alpha = field t "composite_alpha" composite_alpha_flag_bits_khr | |
let present_mode = field t "present_mode" present_mode_khr | |
let clipped = field t "clipped" bool_32 | |
let old_swapchain = field t "old_swapchain" swapchain_khr_opt | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let surface record = Ctypes.getf record Fields.surface | |
let min_image_count record = Ctypes.getf record Fields.min_image_count | |
let image_format record = Ctypes.getf record Fields.image_format | |
let image_color_space record = Ctypes.getf record Fields.image_color_space | |
let image_extent record = Ctypes.getf record Fields.image_extent | |
let image_array_layers record = Ctypes.getf record Fields.image_array_layers | |
let image_usage record = Ctypes.getf record Fields.image_usage | |
let image_sharing_mode record = Ctypes.getf record Fields.image_sharing_mode | |
let queue_family_indices record = match Ctypes.getf record Fields.queue_family_index_count, Ctypes.getf record Fields.queue_family_indices with | |
| Some n, (a) -> Some(Ctypes.CArray.from_ptr (a) (Uint_32_t.to_int (n))) | |
| _ -> None | |
let pre_transform record = Ctypes.getf record Fields.pre_transform | |
let composite_alpha record = Ctypes.getf record Fields.composite_alpha | |
let present_mode record = Ctypes.getf record Fields.present_mode | |
let clipped record = Ctypes.getf record Fields.clipped | |
let old_swapchain record = Ctypes.getf record Fields.old_swapchain | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type swapchain_create_info_khr_extension = .. | |
type swapchain_create_info_khr_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~surface:arg__surface~min_image_count:arg__min_image_count | |
~image_format:arg__image_format~image_color_space:arg__image_color_space | |
~image_extent:arg__image_extent~image_array_layers:arg__image_array_layers | |
~image_usage:arg__image_usage~image_sharing_mode:arg__image_sharing_mode | |
?queue_family_indices:arg__queue_family_indices | |
~pre_transform:arg__pre_transform~composite_alpha:arg__composite_alpha | |
~present_mode:arg__present_mode~clipped:arg__clipped | |
?old_swapchain:arg__old_swapchain ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Swapchain_create_info_khr, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.surface arg__surface; | |
Ctypes.setf generated__x__ Fields.min_image_count arg__min_image_count; | |
Ctypes.setf generated__x__ Fields.image_format arg__image_format; | |
Ctypes.setf generated__x__ Fields.image_color_space arg__image_color_space; | |
Ctypes.setf generated__x__ Fields.image_extent arg__image_extent; | |
Ctypes.setf generated__x__ Fields.image_array_layers arg__image_array_layers; | |
Ctypes.setf generated__x__ Fields.image_usage arg__image_usage; | |
Ctypes.setf generated__x__ Fields.image_sharing_mode arg__image_sharing_mode; | |
begin match arg__queue_family_indices with | |
| None -> | |
(Ctypes.setf generated__x__ Fields.queue_family_index_count None; | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Obj.magic @@ Ctypes.null)) | |
|Some arg__queue_family_indices ->(Ctypes.setf generated__x__ Fields.queue_family_index_count (Some(Uint_32_t.of_int(Ctypes.CArray.length arg__queue_family_indices))); | |
Ctypes.setf generated__x__ Fields.queue_family_indices (Ctypes.CArray.start arg__queue_family_indices)) | |
end; | |
Ctypes.setf generated__x__ Fields.pre_transform arg__pre_transform; | |
Ctypes.setf generated__x__ Fields.composite_alpha arg__composite_alpha; | |
Ctypes.setf generated__x__ Fields.present_mode arg__present_mode; | |
Ctypes.setf generated__x__ Fields.clipped arg__clipped; | |
Ctypes.setf generated__x__ Fields.old_swapchain arg__old_swapchain; | |
Ctypes.addr generated__x__ | |
end | |
let swapchain_create_info_khr = Swapchain_create_info_khr.t | |
type swapchain_create_info_khr = Swapchain_create_info_khr.t | |
module Validation_check_ext = struct | |
type t = | All | |
| Shaders | |
let to_int = function | |
| All -> 0 | |
| Shaders -> 1 | |
let of_int = function | |
| 0 -> All | |
| 1 -> Shaders | |
| _ -> assert false | |
let pp ppf x = Printer.fprintf ppf (match x with | |
| All -> "All" | |
| Shaders -> "Shaders") | |
let view = Ctypes.view ~write:to_int ~read:of_int int | |
let view_opt =let read x: _ option = if x = max_int then None else Some x in | |
let write: _ option -> _ = | |
function None -> max_int | Some x -> x in | |
Ctypes.view ~write ~read int | |
end | |
let validation_check_ext, validation_check_ext_opt = Validation_check_ext.(view,view_opt) | |
type validation_check_ext = Validation_check_ext.t | |
module Validation_flags_ext = struct type t type validation_flags_ext = t | |
let t: t structure typ = structure "validation_flags_ext" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let disabled_validation_check_count = field t "disabled_validation_check_count" uint_32_t | |
let disabled_validation_checks = field t "disabled_validation_checks" (ptr validation_check_ext) | |
end | |
let disabled_validation_checks record = let disabled_validation_check_count = Ctypes.getf record Fields.disabled_validation_check_count and disabled_validation_checks = Ctypes.getf record Fields.disabled_validation_checks in | |
Ctypes.CArray.from_ptr (disabled_validation_checks) (Uint_32_t.to_int (disabled_validation_check_count)) | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type validation_flags_ext_extension = .. | |
type validation_flags_ext_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension) | |
~disabled_validation_checks:arg__disabled_validation_checks ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Validation_flags_ext, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.disabled_validation_check_count (Uint_32_t.of_int(Ctypes.CArray.length arg__disabled_validation_checks)); | |
Ctypes.setf generated__x__ Fields.disabled_validation_checks (Ctypes.CArray.start arg__disabled_validation_checks); | |
Ctypes.addr generated__x__ | |
end | |
let validation_flags_ext = Validation_flags_ext.t | |
type validation_flags_ext = Validation_flags_ext.t | |
module Vi_surface_create_flags_nn = Bitset.Make() | |
type vi_surface_create_flags_nn = Vi_surface_create_flags_nn.t | |
let vi_surface_create_flags_nn, vi_surface_create_flags_nn_opt = Vi_surface_create_flags_nn.(view, view_opt) | |
let vi_surface_create_flag_bits_nn = Vi_surface_create_flags_nn.index_view | |
let vi_surface_create_flag_bits_nn_opt = Vi_surface_create_flags_nn.index_view_opt | |
module Vi_surface_create_info_nn = struct type t | |
type vi_surface_create_info_nn = t | |
let t: t structure typ = structure "vi_surface_create_info_nn" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let flags = field t "flags" vi_surface_create_flags_nn_opt | |
let window = field t "window" (ptr void) | |
end | |
let flags record = Ctypes.getf record Fields.flags | |
let window record = Ctypes.getf record Fields.window | |
let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type vi_surface_create_info_nn_extension = .. | |
type vi_surface_create_info_nn_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)?flags:arg__flags | |
~window:arg__window ()= let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Vi_surface_create_info_nn, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.flags arg__flags; | |
Ctypes.setf generated__x__ Fields.window arg__window; | |
Ctypes.addr generated__x__ | |
end | |
let vi_surface_create_info_nn = Vi_surface_create_info_nn.t | |
type vi_surface_create_info_nn = Vi_surface_create_info_nn.t | |
module Write_descriptor_set = struct type t type write_descriptor_set = t | |
let t: t structure typ = structure "write_descriptor_set" | |
module Fields=struct | |
let s_type = field t "s_type" structure_type | |
let next = field t "next" (ptr void) | |
let dst_set = field t "dst_set" descriptor_set | |
let dst_binding = field t "dst_binding" uint_32_t | |
let dst_array_element = field t "dst_array_element" uint_32_t | |
let descriptor_count = field t "descriptor_count" uint_32_t | |
let descriptor_type = field t "descriptor_type" descriptor_type | |
let image_info = field t "image_info" (ptr descriptor_image_info) | |
let buffer_info = field t "buffer_info" (ptr descriptor_buffer_info) | |
let texel_buffer_view = field t "texel_buffer_view" (ptr buffer_view) | |
end | |
let dst_set record = Ctypes.getf record Fields.dst_set | |
let dst_binding record = Ctypes.getf record Fields.dst_binding | |
let dst_array_element record = Ctypes.getf record Fields.dst_array_element | |
let descriptor_count record = Ctypes.getf record Fields.descriptor_count | |
let descriptor_type record = Ctypes.getf record Fields.descriptor_type | |
let image_info record = let a = Ctypes.getf record Fields.image_info in | |
let i = Ctypes.getf record Fields.descriptor_count in | |
Ctypes.CArray.from_ptr (a) (i) | |
let buffer_info record = let a = Ctypes.getf record Fields.buffer_info in | |
let i = Ctypes.getf record Fields.descriptor_count in | |
Ctypes.CArray.from_ptr (a) (i) | |
let texel_buffer_view record = let a = Ctypes.getf record Fields.texel_buffer_view in | |
let i = Ctypes.getf record Fields.descriptor_count in | |
Ctypes.CArray.from_ptr (a) (i) let () = Ctypes.seal t | |
exception Unknown_record_extension | |
type write_descriptor_set_extension = .. | |
type write_descriptor_set_extension += | No_extension | |
let make ?extension:(arg__ext=No_extension)~dst_set:arg__dst_set | |
~dst_binding:arg__dst_binding~dst_array_element:arg__dst_array_element | |
~descriptor_count:arg__descriptor_count~descriptor_type:arg__descriptor_type | |
~image_info:arg__image_info~buffer_info:arg__buffer_info | |
~texel_buffer_view:arg__texel_buffer_view ()= | |
let generated__x__ = Ctypes.make t in | |
let generated__stype__, generated__pnext__ = match arg__ext with | |
| No_extension -> Structure_type.Write_descriptor_set, Ctypes.null | |
| _ -> raise Unknown_record_extension in | |
Ctypes.setf generated__x__ Fields.next generated__pnext__; | |
Ctypes.setf generated__x__ Fields.s_type generated__stype__; | |
Ctypes.setf generated__x__ Fields.dst_set arg__dst_set; | |
Ctypes.setf generated__x__ Fields.dst_binding arg__dst_binding; | |
Ctypes.setf generated__x__ Fields.dst_array_element arg__dst_array_element; | |
Ctypes.setf generated__x__ Fields.descriptor_count arg__descriptor_count; | |
Ctypes.setf generated__x__ Fields.descriptor_type arg__descriptor_type; | |
Ctypes.setf generated__x__ Fields.image_info arg__image_info; | |
Ctypes.setf generated__x__ Fields.buffer_info arg__buffer_info; | |
Ctypes.setf generated__x__ Fields.texel_buffer_view arg__texel_buffer_view; | |
Ctypes.addr generated__x__ | |
end | |
let write_descriptor_set = Write_descriptor_set.t | |
type write_descriptor_set = Write_descriptor_set.t | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment