import type { GpuContext, ShaderReflection, Uniforms } from "./types.js"; /** * Explicit pipeline layout from reflected bindings. Shared across pipelines * with matching group layouts, so bind groups are reusable between them (unlike * `layout: "auto"`). */ export declare function pipelineLayout(ctx: GpuContext, reflection: ShaderReflection): { layout: GPUPipelineLayout; key: string; }; export interface ResolvedBindGroup { index: number; bindGroup: GPUBindGroup; dynamicOffsets: number[]; } /** * Build (or reuse cached) bind groups for every reflected group. Uniform buffer * bindings are packed into the per-frame ring allocator and bound with dynamic * offsets, so bind groups are stable across draws and frames. */ export declare function buildBindGroups(ctx: GpuContext, reflection: ShaderReflection, uniforms: Uniforms, overrides?: Record): ResolvedBindGroup[]; //# sourceMappingURL=bind-groups.d.ts.map