webgpuBufferManager.d.ts 1.4 KB

123456789101112131415161718192021
  1. import type { DataBuffer } from "../../Buffers/dataBuffer";
  2. import { WebGPUDataBuffer } from "../../Meshes/WebGPU/webgpuDataBuffer";
  3. import type { Nullable } from "../../types";
  4. import type { WebGPUEngine } from "../webgpuEngine";
  5. /** @internal */
  6. export declare class WebGPUBufferManager {
  7. private _engine;
  8. private _device;
  9. private _deferredReleaseBuffers;
  10. private static _IsGPUBuffer;
  11. private static _FlagsToString;
  12. constructor(engine: WebGPUEngine, device: GPUDevice);
  13. createRawBuffer(viewOrSize: ArrayBufferView | number, flags: GPUBufferUsageFlags, mappedAtCreation?: boolean, label?: string): GPUBuffer;
  14. createBuffer(viewOrSize: ArrayBufferView | number, flags: GPUBufferUsageFlags, label?: string): WebGPUDataBuffer;
  15. setRawData(buffer: GPUBuffer, dstByteOffset: number, src: ArrayBufferView, srcByteOffset: number, byteLength: number): void;
  16. setSubData(dataBuffer: WebGPUDataBuffer, dstByteOffset: number, src: ArrayBufferView, srcByteOffset?: number, byteLength?: number): void;
  17. private _getHalfFloatAsFloatRGBAArrayBuffer;
  18. readDataFromBuffer(gpuBuffer: GPUBuffer, size: number, width: number, height: number, bytesPerRow: number, bytesPerRowAligned: number, type?: number, offset?: number, buffer?: Nullable<ArrayBufferView>, destroyBuffer?: boolean, noDataConversion?: boolean): Promise<ArrayBufferView>;
  19. releaseBuffer(buffer: DataBuffer | GPUBuffer): boolean;
  20. destroyDeferredBuffers(): void;
  21. }