Sarek_execute.Launch_limitsPer-backend limits on the signature of a launch the window may issue: kernel argument slots and push-constant bytes. A backend with no entry is unbounded as far as the window is concerned. Depends only on the IR and Stdlib, like Launch_window.
Kernel argument slots a launch's signature may use on backend: Metal binds every argument at one of 31 [buffer(n)] indices. A backend with no limit configured here is unbounded as far as the window is concerned.
Set the argument slot limit of backend (for tests and for backends whose limit becomes known).
Bytes of push constants a launch's signature may use on backend: Vulkan declares one 128-byte range in every pipeline layout and refuses a launch whose block is larger. A backend with no limit configured here is unbounded as far as the window is concerned.
Set the push-constant byte limit of backend (for tests and for backends whose limit becomes known).
val push_bytes_ok : backend:string -> Sarek_ir_types.decl list list -> booltrue when a group whose members have these parameter lists keeps its kernel's push-constant block within backend's limit: the fused kernel's block for two or more members, the launch's own for one. Answers at once when the backend has no limit.