MCPcopy Index your code
hub / github.com/ChartGPU/ChartGPU / createUniformBuffer

Function createUniformBuffer

src/renderers/rendererUtils.ts:191–215  ·  view source on GitHub ↗
(
  device: GPUDevice,
  size: number,
  options?: { readonly label?: string; readonly alignment?: number }
)

Source from the content-addressed store, hash-verified

189 * `device.limits.minUniformBufferOffsetAlignment` (commonly 256). This helper does not enforce that.
190 */
191export function createUniformBuffer(
192 device: GPUDevice,
193 size: number,
194 options?: { readonly label?: string; readonly alignment?: number }
195): GPUBuffer {
196 if (!Number.isFinite(size) || size <= 0) {
197 throw new Error(`createUniformBuffer(size): size must be a positive number. Received: ${String(size)}`);
198 }
199
200 const alignment = options?.alignment ?? 16;
201 const alignedSize = alignTo(size, Math.max(4, alignment));
202
203 const maxSize = device.limits.maxUniformBufferBindingSize;
204 if (alignedSize > maxSize) {
205 throw new Error(
206 `createUniformBuffer(size): requested size ${alignedSize} exceeds device.limits.maxUniformBufferBindingSize (${maxSize}).`
207 );
208 }
209
210 return device.createBuffer({
211 label: options?.label,
212 size: alignedSize,
213 usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
214 });
215}
216
217/**
218 * Writes CPU data into a uniform buffer (default offset 0).

Callers 13

createAreaRendererFunction · 0.90
createHighlightRendererFunction · 0.90
createGridRendererFunction · 0.90
createScatterRendererFunction · 0.90
createLineRendererFunction · 0.90
createCrosshairRendererFunction · 0.90
createPieRendererFunction · 0.90
createAxisRendererFunction · 0.90

Calls 1

alignToFunction · 0.85

Tested by

no test coverage detected