Vulkan_api.Kerneltype t = {shader_module : Vulkan_types.vk_shader_module;pipeline : Vulkan_types.vk_pipeline;pipeline_layout : Vulkan_types.vk_pipeline_layout;descriptor_set_layout : Vulkan_types.vk_descriptor_set_layout;descriptor_pool : Vulkan_types.vk_descriptor_pool;descriptor_set : Vulkan_types.vk_descriptor_set;name : string;num_bindings : int;device : Device.t;}Existential wrapper to hide buffer type parameter
type args = {mutable bindings : (int * any_buffer) list;mutable descriptor_set : Vulkan_types.vk_descriptor_set;mutable push_constants : bytes option;mutable push_constant_offset : int;mutable buffer_binding : int;}val cache : (string, t) Stdlib.Hashtbl.tval create_shader_module : Device.t -> string -> Vulkan_types.vk_shader_moduleCreate shader module from SPIR-V
val create_args : unit -> argsval set_arg_buffer : args -> 'a -> 'b Memory.buffer -> unitval ensure_push_constants : args -> bytesval set_arg_int32 : args -> 'a -> int32 -> unitval set_arg_int64 : args -> 'a -> int64 -> unitval set_arg_float32 : args -> 'a -> float -> unitval set_arg_float64 : args -> 'a -> float -> unitval launch :
t ->
args:args ->
grid:Spoc_framework.Framework_sig.dims ->
block:Spoc_framework.Framework_sig.dims ->
shared_mem:'a ->
stream:Stream.t option ->
unit