webgpuTimestampQuery.d.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. import type { WebGPUBufferManager } from "./webgpuBufferManager";
  2. import { PerfCounter } from "../../Misc/perfCounter";
  3. import type { WebGPUEngine } from "../webgpuEngine";
  4. import type { WebGPUPerfCounter } from "./webgpuPerfCounter";
  5. /** @internal */
  6. export declare class WebGPUTimestampQuery {
  7. private _engine;
  8. private _device;
  9. private _bufferManager;
  10. private _enabled;
  11. private _gpuFrameTimeCounter;
  12. private _measureDuration;
  13. private _measureDurationState;
  14. get gpuFrameTimeCounter(): PerfCounter;
  15. constructor(engine: WebGPUEngine, device: GPUDevice, bufferManager: WebGPUBufferManager);
  16. get enable(): boolean;
  17. set enable(value: boolean);
  18. startFrame(commandEncoder: GPUCommandEncoder): void;
  19. endFrame(commandEncoder: GPUCommandEncoder): void;
  20. startPass(descriptor: GPURenderPassDescriptor | GPUComputePassDescriptor, index: number): void;
  21. endPass(index: number, gpuPerfCounter?: WebGPUPerfCounter): void;
  22. dispose(): void;
  23. }
  24. /** @internal */
  25. export declare class WebGPUDurationMeasure {
  26. private _querySet;
  27. private _count;
  28. constructor(engine: WebGPUEngine, device: GPUDevice, bufferManager: WebGPUBufferManager, count?: number, querySetLabel?: string);
  29. start(encoder: GPUCommandEncoder): void;
  30. stop(encoder: GPUCommandEncoder): Promise<number | null>;
  31. startPass(descriptor: GPURenderPassDescriptor | GPUComputePassDescriptor, index: number): void;
  32. stopPass(index: number): Promise<number | null>;
  33. dispose(): void;
  34. }