Sarek_vulkan.Vulkan_pluginmodule Vulkan_base : sig ... endReuse the existing Vulkan implementation
Extend Framework_sig.kargs with Vulkan-specific variant
type vulkan_intrinsic = {intr_name : string;intr_codegen : string;intr_convergence : Spoc_framework.Framework_sig.convergence;}Vulkan-specific intrinsic implementation
Intrinsic registry for Vulkan-specific intrinsics
Vulkan Backend - implements BACKEND
Check if backend is disabled via environment variable. Checked at runtime to allow SPOC_DISABLE_* to work without rebuild.
val register_intrinsic : string -> Vulkan_intrinsics.intrinsic_impl -> unitRegister a custom Vulkan intrinsic
val find_intrinsic : string -> Vulkan_intrinsics.intrinsic_impl optionLook up a Vulkan intrinsic
val generate_with_types :
?block:(int * int * int) ->
types:(string * (string * Sarek_ir_types.elttype) list) list ->
Sarek_ir_types.kernel ->
stringGenerate GLSL source with custom types
val generate_source :
?block:(int * int * int) ->
Sarek_ir_types.kernel ->
stringGenerate GLSL source for a kernel