Module Sarek_vulkan.Vulkan_api_base

val memcpy : unit Ctypes_static.ptr -> unit Ctypes_static.ptr -> Unsigned.size_t -> unit Ctypes_static.ptr

memcpy from libc for memory transfers

val u32 : int -> Unsigned.UInt32.t

Helper to convert OCaml int to Unsigned.UInt32.t

Exceptions

exception Vk_result_error of Vulkan_types.vk_result * string
val check : string -> Vulkan_types.vk_result -> unit

Check Vulkan result and raise exception on error

SPIR-V Compilation

val compile_glsl_to_spirv_cli : entry_point:string -> string -> string

Compile GLSL to SPIR-V using glslangValidator. Requires glslangValidator in PATH.

val compile_glsl_to_spirv : entry_point:string -> string -> string

Compile GLSL to SPIR-V using Shaderc if available, otherwise fallback to CLI

val glslang_available : unit -> bool

Check if glslangValidator is available