@agpu/bindings 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/main/adapter.d.ts +34 -1
- package/dist/classes/main/context.d.ts +24 -1
- package/dist/classes/main/device.d.ts +481 -1
- package/dist/classes/main/webgpucontrols.d.ts +14 -1
- package/dist/classes/sub/pipeline/commandEncoder/computepass.d.ts +149 -1
- package/dist/classes/sub/pipeline/commandEncoder/renderEncoderBase.d.ts +89 -1
- package/dist/classes/sub/pipeline/commandEncoder/renderPass/indirectBuffer.d.ts +28 -1
- package/dist/classes/sub/pipeline/commandEncoder/renderPass.d.ts +128 -1
- package/dist/classes/sub/pipeline/commandEncoder.d.ts +176 -1
- package/dist/classes/sub/pipeline/computePipeline.d.ts +33 -1
- package/dist/classes/sub/pipeline/pipelineLayout.d.ts +24 -1
- package/dist/classes/sub/pipeline/querySet.d.ts +24 -1
- package/dist/classes/sub/pipeline/renderBundleEncoder/renderBundle.d.ts +11 -1
- package/dist/classes/sub/pipeline/renderBundleEncoder.d.ts +17 -1
- package/dist/classes/sub/pipeline/renderPipeline.d.ts +112 -1
- package/dist/classes/sub/pipeline/sampler.d.ts +16 -1
- package/dist/constants/bufferusage.d.ts +5 -1
- package/dist/constants/textureusage.d.ts +5 -1
- package/dist/helpers/align.d.ts +5 -1
- package/dist/helpers/defaults.d.ts +8 -1
- package/dist/helpers/errors.d.ts +5 -1
- package/dist/helpers/shaderRegex.d.ts +4 -1
- package/dist/helpers/types/DCMember.d.ts +9 -1
- package/dist/index.d.ts +9 -1
- package/package.json +1 -1
|
@@ -1 +1,34 @@
|
|
|
1
|
-
import{BRAND,RAW}from"@agpu/helpers/decorators";
|
|
1
|
+
import { BRAND, RAW } from "@agpu/helpers/decorators";
|
|
2
|
+
import DeviceControls from "./device";
|
|
3
|
+
export interface ADAPTER_CONTROLS extends BRAND<"AdapterControls">, RAW<"adapter"> {
|
|
4
|
+
}
|
|
5
|
+
export declare class AdapterControls {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(adapter: GPUAdapter);
|
|
8
|
+
readonly info: {
|
|
9
|
+
__brand: "GPUAdapterInfo";
|
|
10
|
+
vendor: string;
|
|
11
|
+
architecture: string;
|
|
12
|
+
device: string;
|
|
13
|
+
description: string;
|
|
14
|
+
subgroupMinSize?: number;
|
|
15
|
+
subgroupMaxSize?: number;
|
|
16
|
+
isFallbackAdapter: boolean;
|
|
17
|
+
subgroup: {
|
|
18
|
+
max: number | undefined;
|
|
19
|
+
min: number | undefined;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
readonly features: GPUSupportedFeatures;
|
|
23
|
+
readonly limits: GPUSupportedLimits;
|
|
24
|
+
adapter: GPUAdapter;
|
|
25
|
+
device: (options: DEVICE_REQUEST) => Promise<DeviceControls>;
|
|
26
|
+
}
|
|
27
|
+
export default AdapterControls;
|
|
28
|
+
interface DEVICE_REQUEST {
|
|
29
|
+
required?: {
|
|
30
|
+
features?: GPUFeatureName[];
|
|
31
|
+
limits?: Record<string, GPUSize64 | undefined>;
|
|
32
|
+
};
|
|
33
|
+
defaultQueue?: GPUQueueDescriptor;
|
|
34
|
+
}
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
import{BRAND,RAW}from"@agpu/helpers/decorators";
|
|
1
|
+
import { BRAND, RAW } from "@agpu/helpers/decorators";
|
|
2
|
+
import TextureCreator from "../sub/data/texture";
|
|
3
|
+
import DeviceControls from "./device";
|
|
4
|
+
export declare class ContextControls {
|
|
5
|
+
constructor(ctx: GPUCanvasContext);
|
|
6
|
+
configure(config: CANVAS_CONFIG): undefined;
|
|
7
|
+
unconfigure(): undefined;
|
|
8
|
+
config(): CANVAS_CONFIG | null;
|
|
9
|
+
currentTexture(device: DeviceControls): TextureCreator;
|
|
10
|
+
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
11
|
+
ctx: GPUCanvasContext;
|
|
12
|
+
}
|
|
13
|
+
export interface ContextControls extends RAW<GPUCanvasContext>, BRAND<"ContextControls"> {
|
|
14
|
+
}
|
|
15
|
+
export interface CANVAS_CONFIG {
|
|
16
|
+
device: DeviceControls;
|
|
17
|
+
format: GPUTextureFormat;
|
|
18
|
+
usage?: number | undefined;
|
|
19
|
+
viewFormats?: Iterable<GPUTextureFormat> | undefined;
|
|
20
|
+
colorSpace?: PredefinedColorSpace | undefined;
|
|
21
|
+
toneMapping?: GPUCanvasToneMapping | undefined;
|
|
22
|
+
alphaMode?: GPUCanvasAlphaMode | undefined;
|
|
23
|
+
}
|
|
24
|
+
/**@type {GPUCanvasConfiguration} */
|
|
@@ -1 +1,481 @@
|
|
|
1
|
-
import BindGroupLayoutCreator from"../sub/data/bindGroupLayout";import BufferCreator,{BUFFER_CONSTRUCTION_OPTIONS}from"../sub/data/buffers";import PipelineLayoutCreator,{PIPELINE_LAYOUT_OPTIONS}from"../sub/pipeline/pipelineLayout";import RenderPipelineCreator,{RENDER_PIPELINE_OPTIONS}from"../sub/pipeline/renderPipeline";import SamplerCreator from"../sub/pipeline/sampler";import ShaderModuleCreator,{SHADER_MODULE_OPTIONS}from"../sub/data/shaderModule";import TextureCreator,{TEXTURE_CREATOR_OPTIONS}from"../sub/data/texture";import BindGroupCreator,{BIND_GROUP_OPTIONS}from"../sub/data/bindGroup";import ComputePipelineCreator,{COMPUTE_PIPELINE_OPTION}from"../sub/pipeline/computePipeline";import QuerySetCreator from"../sub/pipeline/querySet";import RenderBundleEncoderCreator from"../sub/pipeline/renderBundleEncoder";import{BRAND,RAW}from"@agpu/helpers/decorators";import CommandBufferCreator from"../sub/data/commandbuffer";import CommandEncoderCreator from"../sub/pipeline/commandEncoder";export interface DeviceControls extends BRAND<"DeviceControls">,RAW<GPUDevice>{}export declare class DeviceControls{#private;constructor(device:GPUDevice);readonly queue:{submit:(commandBuffers:CommandBufferCreator[])=>undefined;on:(event:"submittedWorkDone",fn:Function)=>void};device:GPUDevice;readonly Buffer:{new(options?:BUFFER_CONSTRUCTION_OPTIONS):{"__#private@#currentBuffer":GPUBuffer;"__#private@#device":GPUDevice;"__#private@#value":GPUAllowSharedBufferSource;"__#private@#dirty":boolean;"__#private@#destroyed":boolean;"__#private@#checkFlags"():boolean;raw():GPUBuffer;clone():BufferCreator;destroy():boolean;destroy<T extends boolean>(destroy:T):T;value():import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;value<T extends GPUAllowSharedBufferSource>(val:T):T;label():string;label<T extends string>(label:T):T;sync():void;read():Promise<ArrayBuffer>;get can():{copy:{read:boolean;write:boolean};map:{read:boolean;write:boolean};beBoundAs:{index:boolean;vertex:boolean;uniform:boolean;storage:boolean;indirect:boolean};query:boolean};copyToBuffer(destination:BufferCreator|GPUBuffer,size?:number):void;copyToTexture(destination:import("../sub/data/buffers").TEXTURE_COPY_DESTINATION|GPUTexture,options?:import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS):void;query(querySet:GPUQuerySet,firstQuery?:number,queryCount?:number,destinationOffset?:number):void;readonly __brand:"BufferCreator";[Symbol.hasInstance](instance:BufferCreator):instance is BufferCreator};from(buf:GPUBuffer):Promise<BufferCreator>};readonly Texture:{new(options:TEXTURE_CREATOR_OPTIONS):{"__#private@#device":GPUDevice;"__#private@#texture":GPUTexture;"__#private@#view":import("../sub/data/texture/textureView").TextureViewCreator;"__#private@#options":TEXTURE_CREATOR_OPTIONS|undefined;"__#private@#value"?:GPUAllowSharedBufferSource;"__#private@#destroyed":boolean;"__#private@#usageOptions":import("../sub/data/texture/textureUsageOptions").default;readonly View:{new():{readonly view:GPUTextureView;raw():GPUTextureView;readonly __brand:"TextureViewCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T}};"__#private@#dirty":boolean;value():GPUAllowSharedBufferSource|undefined;value<T extends GPUAllowSharedBufferSource>(data:T):T;get can():{copy:{read:boolean;write:boolean};binding:{texture:boolean;storage:boolean};renderAttachment:boolean};"__#private@#write"(data:GPUAllowSharedBufferSource):void;sync():void;raw():GPUTexture;clone():TextureCreator;view():import("../sub/data/texture/textureView").TextureViewCreator;copyToBuffer(destination:BufferCreator|import("../../helpers/types/DCMember").default<"Buffer">|GPUBuffer,options?:import("../sub/data/texture").TEXTURE_TO_BUFFER_OPTIONS):void;copyToTexture(destination:TextureCreator|import("../../helpers/types/DCMember").default<"Texture">|GPUTexture,options?:import("../sub/data/texture").TEXTURE_TO_TEXTURE_OPTIONS):void;aspect():number;resize(newWidth:number,newHeight:number,newDepthOrArrayLayers?:number):void;destroy():boolean;destroy<T extends boolean>(val:T):T;label():import("@agpu/helpers/unsure").default<string>;label<T extends string>(label:T):T;readonly __brand:"TextureCreator";[Symbol.hasInstance](instance:TextureCreator):instance is TextureCreator};fromURL(url:string):Promise<TextureCreator>;from(gputexture:GPUTexture):TextureCreator;fromBitmap(bitmap:ImageBitmap):Promise<{"__#private@#device":GPUDevice;"__#private@#texture":GPUTexture;"__#private@#view":import("../sub/data/texture/textureView").TextureViewCreator;"__#private@#options":TEXTURE_CREATOR_OPTIONS|undefined;"__#private@#value"?:GPUAllowSharedBufferSource;"__#private@#destroyed":boolean;"__#private@#usageOptions":import("../sub/data/texture/textureUsageOptions").default;readonly View:{new():{readonly view:GPUTextureView;raw():GPUTextureView;readonly __brand:"TextureViewCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T}};"__#private@#dirty":boolean;value():GPUAllowSharedBufferSource|undefined;value<T extends GPUAllowSharedBufferSource>(data:T):T;get can():{copy:{read:boolean;write:boolean};binding:{texture:boolean;storage:boolean};renderAttachment:boolean};"__#private@#write"(data:GPUAllowSharedBufferSource):void;sync():void;raw():GPUTexture;clone():TextureCreator;view():import("../sub/data/texture/textureView").TextureViewCreator;copyToBuffer(destination:BufferCreator|import("../../helpers/types/DCMember").default<"Buffer">|GPUBuffer,options?:import("../sub/data/texture").TEXTURE_TO_BUFFER_OPTIONS):void;copyToTexture(destination:TextureCreator|import("../../helpers/types/DCMember").default<"Texture">|GPUTexture,options?:import("../sub/data/texture").TEXTURE_TO_TEXTURE_OPTIONS):void;aspect():number;resize(newWidth:number,newHeight:number,newDepthOrArrayLayers?:number):void;destroy():boolean;destroy<T extends boolean>(val:T):T;label():import("@agpu/helpers/unsure").default<string>;label<T extends string>(label:T):T;readonly __brand:"TextureCreator";[Symbol.hasInstance](instance:TextureCreator):instance is TextureCreator}>};readonly Sampler:{new(options?:GPUSamplerDescriptor):{"__#private@#device"?:GPUDevice;"__#private@#descriptor"?:GPUSamplerDescriptor;sampler:GPUSampler;clone():SamplerCreator;raw():GPUSampler;readonly __brand:"SamplerCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(sampler:GPUSampler):SamplerCreator};readonly ShaderModule:{new(code:string,options?:SHADER_MODULE_OPTIONS):{"__#private@#device"?:GPUDevice;"__#private@#code"?:string;"__#private@#entryPoint"?:string;"__#private@#constants"?:Record<string,number>;"__#private@#label"?:string;"__#private@#hints"?:Iterable<GPUShaderModuleCompilationHint>;readonly module:GPUShaderModule;clone():ShaderModuleCreator;entryPoint():import("@agpu/helpers/unsure").default<string>;constants():import("@agpu/helpers/unsure").default<Record<string,number>>;code():string|undefined;compilationInfo():Promise<GPUCompilationInfo>;"__#private@#ciCache"?:GPUCompilationInfo;bindGroups():Set<number>;"__#private@#cbgCache"?:Set<number>;raw():GPUShaderModule;readonly __brand:"ShaderModuleCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(sm:GPUShaderModule):ShaderModuleCreator};readonly BindGroupLayout:{new(options:GPUBindGroupLayoutDescriptor):{"__#private@#device"?:GPUDevice;"__#private@#descriptor"?:GPUBindGroupLayoutDescriptor;readonly bindGroupLayout:GPUBindGroupLayout;clone():BindGroupLayoutCreator;raw():GPUBindGroupLayout;readonly __brand:"BindGroupLayoutCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(bgl:GPUBindGroupLayout):BindGroupLayoutCreator};readonly BindGroup:{new(options:BIND_GROUP_OPTIONS):{"__#private@#device"?:GPUDevice;"__#private@#options"?:BIND_GROUP_OPTIONS;"__#private@#layout":BindGroupLayoutCreator|import("../../helpers/types/DCMember").default<"BindGroupLayout">;readonly bindGroup:GPUBindGroup;"__#private@#buildOptions"(options:BIND_GROUP_OPTIONS):GPUBindGroupDescriptor;layout():BindGroupLayoutCreator|{"__#private@#device"?:GPUDevice;"__#private@#descriptor"?:GPUBindGroupLayoutDescriptor;readonly bindGroupLayout:GPUBindGroupLayout;clone():BindGroupLayoutCreator;raw():GPUBindGroupLayout;readonly __brand:"BindGroupLayoutCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};clone():BindGroupCreator;raw():GPUBindGroup;readonly __brand:"BindGroupCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(bindGroup:GPUBindGroup):BindGroupCreator};readonly RenderPipeline:{new(options:RENDER_PIPELINE_OPTIONS):{label():Promise<import("@agpu/helpers/unsure").default<string>>;label<T extends string>(label:T):Promise<T>;"__#private@#device"?:GPUDevice;"__#private@#options"?:RENDER_PIPELINE_OPTIONS;"__#private@#gblcache":Record<number,InstanceType<DeviceControls["BindGroupLayout"]>>;"__#private@#initWaiters":((bool:boolean)=>any)[];"__#private@#pipelineCreated":boolean;"__#private@#pipelineInitFailed":boolean;pipeline:Promise<GPURenderPipeline>;"__#private@#flushInitWaiters"(success:boolean):void;"__#private@#buildVertexState"(opts:import("../sub/pipeline/renderPipeline").VERTEX_STATE):GPUVertexState;"__#private@#buildFragmentState"(opts:import("../sub/pipeline/renderPipeline").FRAGMENT_STATE):GPUFragmentState;"__#private@#buildDepthStencil"(depthstencil?:import("../sub/pipeline/renderPipeline").DEPTH_STENCIL):GPUDepthStencilState;"__#private@#buildPipelineDescriptor"(opts:RENDER_PIPELINE_OPTIONS):GPURenderPipelineDescriptor;init():Promise<unknown>;bindGroupLayout:(index:number)=>Promise<{"__#private@#device"?:GPUDevice;"__#private@#descriptor"?:GPUBindGroupLayoutDescriptor;readonly bindGroupLayout:GPUBindGroupLayout;clone():BindGroupLayoutCreator;raw():GPUBindGroupLayout;readonly __brand:"BindGroupLayoutCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T}>;clone():RenderPipelineCreator;raw():Promise<GPURenderPipeline>;readonly __brand:"RenderPipelineCreator";[Symbol.hasInstance](instance:any):boolean};from(grp:GPURenderPipeline):RenderPipelineCreator};readonly ComputePipeline:{new(options:COMPUTE_PIPELINE_OPTION):{label():Promise<string>;label<T extends string>(label:T):Promise<T>;"__#private@#device"?:GPUDevice;"__#private@#options"?:COMPUTE_PIPELINE_OPTION;"__#private@#initWaiters":((bool:boolean)=>void)[];"__#private@#pipelineCreated":boolean;computePipeline:Promise<GPUComputePipeline>;"__#private@#buildDescriptor"(options:COMPUTE_PIPELINE_OPTION):GPUComputePipelineDescriptor;init():Promise<boolean>;clone():ComputePipelineCreator;raw():Promise<GPUComputePipeline>;readonly __brand:"ComputePipelineCreator";[Symbol.hasInstance](instance:any):boolean};from(computePipeline:GPUComputePipeline):ComputePipelineCreator};readonly PipelineLayout:{new(options?:PIPELINE_LAYOUT_OPTIONS):{"__#private@#device"?:GPUDevice;"__#private@#options"?:PIPELINE_LAYOUT_OPTIONS;pipelineLayout:GPUPipelineLayout;"__#private@#pipelineLayout":GPUPipelineLayout;"__#private@#buildFromOptions"(options:PIPELINE_LAYOUT_OPTIONS):GPUPipelineLayoutDescriptor;clone():PipelineLayoutCreator;raw():GPUPipelineLayout;readonly __brand:"PipelineLayoutCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(pl:GPUPipelineLayout):PipelineLayoutCreator};readonly QuerySet:{new(options:GPUQuerySetDescriptor):{label():string;label<T extends string>(label:T):T;"__#private@#device":GPUDevice;"__#private@#destroyed":boolean;querySet:GPUQuerySet;queryDescriptor:GPUQuerySetDescriptor;clone():QuerySetCreator;destroy():boolean;destroy<T extends boolean>(destroy:T):T;raw():GPUQuerySet;readonly __brand:"QuerySetCreator";[Symbol.hasInstance](instance:any):boolean};from(qs:GPUQuerySet):QuerySetCreator};readonly RenderBundleEncoder:{new(options:GPURenderBundleEncoderDescriptor):RenderBundleEncoderCreator};readonly CommandEncoder:{new(label?:string):{cmdencoder:GPUCommandEncoder;readonly RenderPass:typeof import("../sub/pipeline/commandEncoder/renderPass").RenderPassCreator;readonly ComputePass:{new(options:import("../sub/pipeline/commandEncoder/computepass").COMPUTE_PASS_OPTIONS):{readonly computepass:GPUComputePassEncoder;"__#private@#debugDepth":number;"__#private@#buildOptions"(options?:import("../sub/pipeline/commandEncoder/computepass").COMPUTE_PASS_OPTIONS):GPUComputePassDescriptor;bindGroup(index:number,bindGroup:BindGroupCreator|import("../../helpers/types/DCMember").default<"BindGroup">,dynamicOffsets?:number[]|Uint32Array,dynamicOffsetData?:import("../sub/pipeline/commandEncoder/computepass").ComputePassCreator.bindGroup.DYNAMIC_OFFSET_DATA):void;"__#private@#pipeline"?:ComputePipelineCreator;pipeline():Promise<import("@agpu/helpers/unsure").default<ComputePipelineCreator>>;pipeline<T extends ComputePipelineCreator|import("../../helpers/types/DCMember").default<"ComputePipeline">>(pipeline:T):Promise<T>;dispatchWorkgroup:((x:number,y:number,z:number)=>void)&{IndirectBuffer:{new(options:import("../sub/pipeline/commandEncoder/renderPass/indirectBuffer").INDIRECT_BUFFER_OPTIONS):{"__#private@#currentBuffer":GPUBuffer;"__#private@#device":GPUDevice;"__#private@#value":GPUAllowSharedBufferSource;"__#private@#dirty":boolean;"__#private@#destroyed":boolean;"__#private@#checkFlags"():boolean;raw():GPUBuffer;clone():BufferCreator;destroy():boolean;destroy<T extends boolean>(destroy:T):T;value():import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;value<T extends GPUAllowSharedBufferSource>(val:T):T;label():string;label<T extends string>(label:T):T;sync():void;read():Promise<ArrayBuffer>;get can():{copy:{read:boolean;write:boolean};map:{read:boolean;write:boolean};beBoundAs:{index:boolean;vertex:boolean;uniform:boolean;storage:boolean;indirect:boolean};query:boolean};copyToBuffer(destination:BufferCreator|GPUBuffer,size?:number):void;copyToTexture(destination:import("../sub/data/buffers").TEXTURE_COPY_DESTINATION|GPUTexture,options?:import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS):void;query(querySet:GPUQuerySet,firstQuery?:number,queryCount?:number,destinationOffset?:number):void;readonly __brand:"BufferCreator";[Symbol.hasInstance](instance:BufferCreator):instance is BufferCreator};readonly len:3;from(buffer:BufferCreator|GPUBuffer):Promise<import("../sub/pipeline/commandEncoder/renderPass/indirectBuffer").default>};indirect:(buffer:{"__#private@#currentBuffer":GPUBuffer;"__#private@#device":GPUDevice;"__#private@#value":GPUAllowSharedBufferSource;"__#private@#dirty":boolean;"__#private@#destroyed":boolean;"__#private@#checkFlags"():boolean;raw():GPUBuffer;clone():BufferCreator;destroy():boolean;destroy<T extends boolean>(destroy:T):T;value():import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;value<T extends GPUAllowSharedBufferSource>(val:T):T;label():string;label<T extends string>(label:T):T;sync():void;read():Promise<ArrayBuffer>;get can():{copy:{read:boolean;write:boolean};map:{read:boolean;write:boolean};beBoundAs:{index:boolean;vertex:boolean;uniform:boolean;storage:boolean;indirect:boolean};query:boolean};copyToBuffer(destination:BufferCreator|GPUBuffer,size?:number):void;copyToTexture(destination:import("../sub/data/buffers").TEXTURE_COPY_DESTINATION|GPUTexture,options?:import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS):void;query(querySet:GPUQuerySet,firstQuery?:number,queryCount?:number,destinationOffset?:number):void;readonly __brand:"BufferCreator";[Symbol.hasInstance](instance:BufferCreator):instance is BufferCreator},offset:number)=>void};end():void;readonly debug:{push:(label:string)=>void;pop:()=>void;insertMarker:(label:string)=>void};raw():GPUComputePassEncoder;readonly __brand:"ComputePassCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T}};readonly debug:{push:(label:string)=>void;pop:()=>void;insertMarker:(label:string)=>void};readonly copy:{textureToTexture:(texture:CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE,des:CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE,copySize:GPUExtent3DStrict)=>undefined;textureToBuffer:(texture:CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE,des:CommandEncoderCreator.copy.TEXEL_COPY_BUFFER,copySize:GPUExtent3DStrict)=>undefined;bufferToTexture:(buf:CommandEncoderCreator.copy.TEXEL_COPY_BUFFER,des:CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE,copySize:GPUExtent3DStrict)=>undefined;bufferToBuffer:(buf:BufferCreator,des:BufferCreator,copySize:number)=>undefined};"__#private@#debugDepth":number;finish(des:GPUObjectDescriptorBase):CommandBufferCreator;readonly __brand:"CommandEncoderCreator";[Symbol.hasInstance](instance:any):boolean;label():string;label<T extends string>(val:T):T};from(cmdencoder:GPUCommandEncoder):CommandEncoderCreator}}export default DeviceControls;
|
|
1
|
+
import BindGroupLayoutCreator from "../sub/data/bindGroupLayout";
|
|
2
|
+
import BufferCreator, { BUFFER_CONSTRUCTION_OPTIONS } from "../sub/data/buffers";
|
|
3
|
+
import PipelineLayoutCreator, { PIPELINE_LAYOUT_OPTIONS } from "../sub/pipeline/pipelineLayout";
|
|
4
|
+
import RenderPipelineCreator, { RENDER_PIPELINE_OPTIONS } from "../sub/pipeline/renderPipeline";
|
|
5
|
+
import SamplerCreator from "../sub/pipeline/sampler";
|
|
6
|
+
import ShaderModuleCreator, { SHADER_MODULE_OPTIONS } from "../sub/data/shaderModule";
|
|
7
|
+
import TextureCreator, { TEXTURE_CREATOR_OPTIONS } from "../sub/data/texture";
|
|
8
|
+
import BindGroupCreator, { BIND_GROUP_OPTIONS } from "../sub/data/bindGroup";
|
|
9
|
+
import ComputePipelineCreator, { COMPUTE_PIPELINE_OPTION } from "../sub/pipeline/computePipeline";
|
|
10
|
+
import QuerySetCreator from "../sub/pipeline/querySet";
|
|
11
|
+
import RenderBundleEncoderCreator from "../sub/pipeline/renderBundleEncoder";
|
|
12
|
+
import { BRAND, RAW } from "@agpu/helpers/decorators";
|
|
13
|
+
import CommandBufferCreator from "../sub/data/commandbuffer";
|
|
14
|
+
import CommandEncoderCreator from "../sub/pipeline/commandEncoder";
|
|
15
|
+
export interface DeviceControls extends BRAND<"DeviceControls">, RAW<GPUDevice> {
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Main entry point for creating high-level wrapper classes around a
|
|
19
|
+
* {@link GPUDevice}.
|
|
20
|
+
*/
|
|
21
|
+
export declare class DeviceControls {
|
|
22
|
+
#private;
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a new DeviceControls instance.
|
|
25
|
+
*/
|
|
26
|
+
constructor(device: GPUDevice);
|
|
27
|
+
readonly queue: {
|
|
28
|
+
submit: (commandBuffers: CommandBufferCreator[]) => undefined;
|
|
29
|
+
on: (event: "submittedWorkDone", fn: Function) => void;
|
|
30
|
+
};
|
|
31
|
+
device: GPUDevice;
|
|
32
|
+
readonly Buffer: {
|
|
33
|
+
new (options?: BUFFER_CONSTRUCTION_OPTIONS): {
|
|
34
|
+
"__#private@#currentBuffer": GPUBuffer;
|
|
35
|
+
"__#private@#device": GPUDevice;
|
|
36
|
+
"__#private@#value": GPUAllowSharedBufferSource;
|
|
37
|
+
"__#private@#dirty": boolean;
|
|
38
|
+
"__#private@#destroyed": boolean;
|
|
39
|
+
"__#private@#checkFlags"(): boolean;
|
|
40
|
+
raw(): GPUBuffer;
|
|
41
|
+
clone(): BufferCreator;
|
|
42
|
+
destroy(): boolean;
|
|
43
|
+
destroy<T extends boolean>(destroy: T): T;
|
|
44
|
+
value(): import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;
|
|
45
|
+
value<T extends GPUAllowSharedBufferSource>(val: T): T;
|
|
46
|
+
label(): string;
|
|
47
|
+
label<T extends string>(label: T): T;
|
|
48
|
+
sync(): void;
|
|
49
|
+
read(): Promise<ArrayBuffer>;
|
|
50
|
+
get can(): {
|
|
51
|
+
copy: {
|
|
52
|
+
read: boolean;
|
|
53
|
+
write: boolean;
|
|
54
|
+
};
|
|
55
|
+
map: {
|
|
56
|
+
read: boolean;
|
|
57
|
+
write: boolean;
|
|
58
|
+
};
|
|
59
|
+
beBoundAs: {
|
|
60
|
+
index: boolean;
|
|
61
|
+
vertex: boolean;
|
|
62
|
+
uniform: boolean;
|
|
63
|
+
storage: boolean;
|
|
64
|
+
indirect: boolean;
|
|
65
|
+
};
|
|
66
|
+
query: boolean;
|
|
67
|
+
};
|
|
68
|
+
copyToBuffer(destination: BufferCreator | GPUBuffer, size?: number): void;
|
|
69
|
+
copyToTexture(destination: import("../sub/data/buffers").TEXTURE_COPY_DESTINATION | GPUTexture, options?: import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS): void;
|
|
70
|
+
query(querySet: GPUQuerySet, firstQuery?: number, queryCount?: number, destinationOffset?: number): void;
|
|
71
|
+
readonly __brand: "BufferCreator";
|
|
72
|
+
[Symbol.hasInstance](instance: BufferCreator): instance is BufferCreator;
|
|
73
|
+
};
|
|
74
|
+
from(buf: GPUBuffer): Promise<BufferCreator>;
|
|
75
|
+
};
|
|
76
|
+
readonly Texture: {
|
|
77
|
+
new (options: TEXTURE_CREATOR_OPTIONS): {
|
|
78
|
+
"__#private@#device": GPUDevice;
|
|
79
|
+
"__#private@#texture": GPUTexture;
|
|
80
|
+
"__#private@#view": import("../sub/data/texture/textureView").TextureViewCreator;
|
|
81
|
+
"__#private@#options": TEXTURE_CREATOR_OPTIONS | undefined;
|
|
82
|
+
"__#private@#value"?: GPUAllowSharedBufferSource;
|
|
83
|
+
"__#private@#destroyed": boolean;
|
|
84
|
+
"__#private@#usageOptions": import("../sub/data/texture/textureUsageOptions").default;
|
|
85
|
+
readonly View: {
|
|
86
|
+
new (): {
|
|
87
|
+
readonly view: GPUTextureView;
|
|
88
|
+
raw(): GPUTextureView;
|
|
89
|
+
readonly __brand: "TextureViewCreator";
|
|
90
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
91
|
+
label(): string;
|
|
92
|
+
label<T extends string>(val: T): T;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
"__#private@#dirty": boolean;
|
|
96
|
+
value(): GPUAllowSharedBufferSource | undefined;
|
|
97
|
+
value<T extends GPUAllowSharedBufferSource>(data: T): T;
|
|
98
|
+
get can(): {
|
|
99
|
+
copy: {
|
|
100
|
+
read: boolean;
|
|
101
|
+
write: boolean;
|
|
102
|
+
};
|
|
103
|
+
binding: {
|
|
104
|
+
texture: boolean;
|
|
105
|
+
storage: boolean;
|
|
106
|
+
};
|
|
107
|
+
renderAttachment: boolean;
|
|
108
|
+
};
|
|
109
|
+
"__#private@#write"(data: GPUAllowSharedBufferSource): void;
|
|
110
|
+
sync(): void;
|
|
111
|
+
raw(): GPUTexture;
|
|
112
|
+
clone(): TextureCreator;
|
|
113
|
+
view(): import("../sub/data/texture/textureView").TextureViewCreator;
|
|
114
|
+
copyToBuffer(destination: BufferCreator | import("../../helpers/types/DCMember").default<"Buffer"> | GPUBuffer, options?: import("../sub/data/texture").TEXTURE_TO_BUFFER_OPTIONS): void;
|
|
115
|
+
copyToTexture(destination: TextureCreator | import("../../helpers/types/DCMember").default<"Texture"> | GPUTexture, options?: import("../sub/data/texture").TEXTURE_TO_TEXTURE_OPTIONS): void;
|
|
116
|
+
aspect(): number;
|
|
117
|
+
resize(newWidth: number, newHeight: number, newDepthOrArrayLayers?: number): void;
|
|
118
|
+
destroy(): boolean;
|
|
119
|
+
destroy<T extends boolean>(val: T): T;
|
|
120
|
+
label(): import("@agpu/helpers/unsure").default<string>;
|
|
121
|
+
label<T extends string>(label: T): T;
|
|
122
|
+
readonly __brand: "TextureCreator";
|
|
123
|
+
[Symbol.hasInstance](instance: TextureCreator): instance is TextureCreator;
|
|
124
|
+
};
|
|
125
|
+
fromURL(url: string): Promise<TextureCreator>;
|
|
126
|
+
from(gputexture: GPUTexture): TextureCreator;
|
|
127
|
+
fromBitmap(bitmap: ImageBitmap): Promise<{
|
|
128
|
+
"__#private@#device": GPUDevice;
|
|
129
|
+
"__#private@#texture": GPUTexture;
|
|
130
|
+
"__#private@#view": import("../sub/data/texture/textureView").TextureViewCreator;
|
|
131
|
+
"__#private@#options": TEXTURE_CREATOR_OPTIONS | undefined;
|
|
132
|
+
"__#private@#value"?: GPUAllowSharedBufferSource;
|
|
133
|
+
"__#private@#destroyed": boolean;
|
|
134
|
+
"__#private@#usageOptions": import("../sub/data/texture/textureUsageOptions").default;
|
|
135
|
+
readonly View: {
|
|
136
|
+
new (): {
|
|
137
|
+
readonly view: GPUTextureView;
|
|
138
|
+
raw(): GPUTextureView;
|
|
139
|
+
readonly __brand: "TextureViewCreator";
|
|
140
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
141
|
+
label(): string;
|
|
142
|
+
label<T extends string>(val: T): T;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
"__#private@#dirty": boolean;
|
|
146
|
+
value(): GPUAllowSharedBufferSource | undefined;
|
|
147
|
+
value<T extends GPUAllowSharedBufferSource>(data: T): T;
|
|
148
|
+
get can(): {
|
|
149
|
+
copy: {
|
|
150
|
+
read: boolean;
|
|
151
|
+
write: boolean;
|
|
152
|
+
};
|
|
153
|
+
binding: {
|
|
154
|
+
texture: boolean;
|
|
155
|
+
storage: boolean;
|
|
156
|
+
};
|
|
157
|
+
renderAttachment: boolean;
|
|
158
|
+
};
|
|
159
|
+
"__#private@#write"(data: GPUAllowSharedBufferSource): void;
|
|
160
|
+
sync(): void;
|
|
161
|
+
raw(): GPUTexture;
|
|
162
|
+
clone(): TextureCreator;
|
|
163
|
+
view(): import("../sub/data/texture/textureView").TextureViewCreator;
|
|
164
|
+
copyToBuffer(destination: BufferCreator | import("../../helpers/types/DCMember").default<"Buffer"> | GPUBuffer, options?: import("../sub/data/texture").TEXTURE_TO_BUFFER_OPTIONS): void;
|
|
165
|
+
copyToTexture(destination: TextureCreator | import("../../helpers/types/DCMember").default<"Texture"> | GPUTexture, options?: import("../sub/data/texture").TEXTURE_TO_TEXTURE_OPTIONS): void;
|
|
166
|
+
aspect(): number;
|
|
167
|
+
resize(newWidth: number, newHeight: number, newDepthOrArrayLayers?: number): void;
|
|
168
|
+
destroy(): boolean;
|
|
169
|
+
destroy<T extends boolean>(val: T): T;
|
|
170
|
+
label(): import("@agpu/helpers/unsure").default<string>;
|
|
171
|
+
label<T extends string>(label: T): T;
|
|
172
|
+
readonly __brand: "TextureCreator";
|
|
173
|
+
[Symbol.hasInstance](instance: TextureCreator): instance is TextureCreator;
|
|
174
|
+
}>;
|
|
175
|
+
};
|
|
176
|
+
readonly Sampler: {
|
|
177
|
+
new (options?: GPUSamplerDescriptor): {
|
|
178
|
+
"__#private@#device"?: GPUDevice;
|
|
179
|
+
"__#private@#descriptor"?: GPUSamplerDescriptor;
|
|
180
|
+
sampler: GPUSampler;
|
|
181
|
+
clone(): SamplerCreator;
|
|
182
|
+
raw(): GPUSampler;
|
|
183
|
+
readonly __brand: "SamplerCreator";
|
|
184
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
185
|
+
label(): string;
|
|
186
|
+
label<T extends string>(val: T): T;
|
|
187
|
+
};
|
|
188
|
+
from(sampler: GPUSampler): SamplerCreator;
|
|
189
|
+
};
|
|
190
|
+
readonly ShaderModule: {
|
|
191
|
+
new (code: string, options?: SHADER_MODULE_OPTIONS): {
|
|
192
|
+
"__#private@#device"?: GPUDevice;
|
|
193
|
+
"__#private@#code"?: string;
|
|
194
|
+
"__#private@#entryPoint"?: string;
|
|
195
|
+
"__#private@#constants"?: Record<string, number>;
|
|
196
|
+
"__#private@#label"?: string;
|
|
197
|
+
"__#private@#hints"?: Iterable<GPUShaderModuleCompilationHint>;
|
|
198
|
+
readonly module: GPUShaderModule;
|
|
199
|
+
clone(): ShaderModuleCreator;
|
|
200
|
+
entryPoint(): import("@agpu/helpers/unsure").default<string>;
|
|
201
|
+
constants(): import("@agpu/helpers/unsure").default<Record<string, number>>;
|
|
202
|
+
code(): string | undefined;
|
|
203
|
+
compilationInfo(): Promise<GPUCompilationInfo>;
|
|
204
|
+
"__#private@#ciCache"?: GPUCompilationInfo;
|
|
205
|
+
bindGroups(): Set<number>;
|
|
206
|
+
"__#private@#cbgCache"?: Set<number>;
|
|
207
|
+
raw(): GPUShaderModule;
|
|
208
|
+
readonly __brand: "ShaderModuleCreator";
|
|
209
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
210
|
+
label(): string;
|
|
211
|
+
label<T extends string>(val: T): T;
|
|
212
|
+
};
|
|
213
|
+
from(sm: GPUShaderModule): ShaderModuleCreator;
|
|
214
|
+
};
|
|
215
|
+
readonly BindGroupLayout: {
|
|
216
|
+
new (options: GPUBindGroupLayoutDescriptor): {
|
|
217
|
+
"__#private@#device"?: GPUDevice;
|
|
218
|
+
"__#private@#descriptor"?: GPUBindGroupLayoutDescriptor;
|
|
219
|
+
readonly bindGroupLayout: GPUBindGroupLayout;
|
|
220
|
+
clone(): BindGroupLayoutCreator;
|
|
221
|
+
raw(): GPUBindGroupLayout;
|
|
222
|
+
readonly __brand: "BindGroupLayoutCreator";
|
|
223
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
224
|
+
label(): string;
|
|
225
|
+
label<T extends string>(val: T): T;
|
|
226
|
+
};
|
|
227
|
+
from(bgl: GPUBindGroupLayout): BindGroupLayoutCreator;
|
|
228
|
+
};
|
|
229
|
+
readonly BindGroup: {
|
|
230
|
+
new (options: BIND_GROUP_OPTIONS): {
|
|
231
|
+
"__#private@#device"?: GPUDevice;
|
|
232
|
+
"__#private@#options"?: BIND_GROUP_OPTIONS;
|
|
233
|
+
"__#private@#layout": BindGroupLayoutCreator | import("../../helpers/types/DCMember").default<"BindGroupLayout">;
|
|
234
|
+
readonly bindGroup: GPUBindGroup;
|
|
235
|
+
"__#private@#buildOptions"(options: BIND_GROUP_OPTIONS): GPUBindGroupDescriptor;
|
|
236
|
+
layout(): BindGroupLayoutCreator | {
|
|
237
|
+
"__#private@#device"?: GPUDevice;
|
|
238
|
+
"__#private@#descriptor"?: GPUBindGroupLayoutDescriptor;
|
|
239
|
+
readonly bindGroupLayout: GPUBindGroupLayout;
|
|
240
|
+
clone(): BindGroupLayoutCreator;
|
|
241
|
+
raw(): GPUBindGroupLayout;
|
|
242
|
+
readonly __brand: "BindGroupLayoutCreator";
|
|
243
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
244
|
+
label(): string;
|
|
245
|
+
label<T extends string>(val: T): T;
|
|
246
|
+
};
|
|
247
|
+
clone(): BindGroupCreator;
|
|
248
|
+
raw(): GPUBindGroup;
|
|
249
|
+
readonly __brand: "BindGroupCreator";
|
|
250
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
251
|
+
label(): string;
|
|
252
|
+
label<T extends string>(val: T): T;
|
|
253
|
+
};
|
|
254
|
+
from(bindGroup: GPUBindGroup): BindGroupCreator;
|
|
255
|
+
};
|
|
256
|
+
readonly RenderPipeline: {
|
|
257
|
+
new (options: RENDER_PIPELINE_OPTIONS): {
|
|
258
|
+
label(): Promise<import("@agpu/helpers/unsure").default<string>>;
|
|
259
|
+
label<T extends string>(label: T): Promise<T>;
|
|
260
|
+
"__#private@#device"?: GPUDevice;
|
|
261
|
+
"__#private@#options"?: RENDER_PIPELINE_OPTIONS;
|
|
262
|
+
"__#private@#gblcache": Record<number, InstanceType<DeviceControls["BindGroupLayout"]>>;
|
|
263
|
+
"__#private@#initWaiters": ((bool: boolean) => any)[];
|
|
264
|
+
"__#private@#pipelineCreated": boolean;
|
|
265
|
+
"__#private@#pipelineInitFailed": boolean;
|
|
266
|
+
pipeline: Promise<GPURenderPipeline>;
|
|
267
|
+
"__#private@#flushInitWaiters"(success: boolean): void;
|
|
268
|
+
"__#private@#buildVertexState"(opts: import("../sub/pipeline/renderPipeline").VERTEX_STATE): GPUVertexState;
|
|
269
|
+
"__#private@#buildFragmentState"(opts: import("../sub/pipeline/renderPipeline").FRAGMENT_STATE): GPUFragmentState;
|
|
270
|
+
"__#private@#buildDepthStencil"(depthstencil?: import("../sub/pipeline/renderPipeline").DEPTH_STENCIL): GPUDepthStencilState;
|
|
271
|
+
"__#private@#buildPipelineDescriptor"(opts: RENDER_PIPELINE_OPTIONS): GPURenderPipelineDescriptor;
|
|
272
|
+
init(): Promise<unknown>;
|
|
273
|
+
bindGroupLayout: (index: number) => Promise<{
|
|
274
|
+
"__#private@#device"?: GPUDevice;
|
|
275
|
+
"__#private@#descriptor"?: GPUBindGroupLayoutDescriptor;
|
|
276
|
+
readonly bindGroupLayout: GPUBindGroupLayout;
|
|
277
|
+
clone(): BindGroupLayoutCreator;
|
|
278
|
+
raw(): GPUBindGroupLayout;
|
|
279
|
+
readonly __brand: "BindGroupLayoutCreator";
|
|
280
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
281
|
+
label(): string;
|
|
282
|
+
label<T extends string>(val: T): T;
|
|
283
|
+
}>;
|
|
284
|
+
clone(): RenderPipelineCreator;
|
|
285
|
+
raw(): Promise<GPURenderPipeline>;
|
|
286
|
+
readonly __brand: "RenderPipelineCreator";
|
|
287
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
288
|
+
};
|
|
289
|
+
from(grp: GPURenderPipeline): RenderPipelineCreator;
|
|
290
|
+
};
|
|
291
|
+
readonly ComputePipeline: {
|
|
292
|
+
new (options: COMPUTE_PIPELINE_OPTION): {
|
|
293
|
+
label(): Promise<string>;
|
|
294
|
+
label<T extends string>(label: T): Promise<T>;
|
|
295
|
+
"__#private@#device"?: GPUDevice;
|
|
296
|
+
"__#private@#options"?: COMPUTE_PIPELINE_OPTION;
|
|
297
|
+
"__#private@#initWaiters": ((bool: boolean) => void)[];
|
|
298
|
+
"__#private@#pipelineCreated": boolean;
|
|
299
|
+
computePipeline: Promise<GPUComputePipeline>;
|
|
300
|
+
"__#private@#buildDescriptor"(options: COMPUTE_PIPELINE_OPTION): GPUComputePipelineDescriptor;
|
|
301
|
+
init(): Promise<boolean>;
|
|
302
|
+
clone(): ComputePipelineCreator;
|
|
303
|
+
raw(): Promise<GPUComputePipeline>;
|
|
304
|
+
readonly __brand: "ComputePipelineCreator";
|
|
305
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
306
|
+
};
|
|
307
|
+
from(computePipeline: GPUComputePipeline): ComputePipelineCreator;
|
|
308
|
+
};
|
|
309
|
+
readonly PipelineLayout: {
|
|
310
|
+
new (options?: PIPELINE_LAYOUT_OPTIONS): {
|
|
311
|
+
"__#private@#device"?: GPUDevice;
|
|
312
|
+
"__#private@#options"?: PIPELINE_LAYOUT_OPTIONS;
|
|
313
|
+
pipelineLayout: GPUPipelineLayout;
|
|
314
|
+
"__#private@#pipelineLayout": GPUPipelineLayout;
|
|
315
|
+
"__#private@#buildFromOptions"(options: PIPELINE_LAYOUT_OPTIONS): GPUPipelineLayoutDescriptor;
|
|
316
|
+
clone(): PipelineLayoutCreator;
|
|
317
|
+
raw(): GPUPipelineLayout;
|
|
318
|
+
readonly __brand: "PipelineLayoutCreator";
|
|
319
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
320
|
+
label(): string;
|
|
321
|
+
label<T extends string>(val: T): T;
|
|
322
|
+
};
|
|
323
|
+
from(pl: GPUPipelineLayout): PipelineLayoutCreator;
|
|
324
|
+
};
|
|
325
|
+
readonly QuerySet: {
|
|
326
|
+
new (options: GPUQuerySetDescriptor): {
|
|
327
|
+
label(): string;
|
|
328
|
+
label<T extends string>(label: T): T;
|
|
329
|
+
"__#private@#device": GPUDevice;
|
|
330
|
+
"__#private@#destroyed": boolean;
|
|
331
|
+
querySet: GPUQuerySet;
|
|
332
|
+
queryDescriptor: GPUQuerySetDescriptor;
|
|
333
|
+
clone(): QuerySetCreator;
|
|
334
|
+
destroy(): boolean;
|
|
335
|
+
destroy<T extends boolean>(destroy: T): T;
|
|
336
|
+
raw(): GPUQuerySet;
|
|
337
|
+
readonly __brand: "QuerySetCreator";
|
|
338
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
339
|
+
};
|
|
340
|
+
from(qs: GPUQuerySet): QuerySetCreator;
|
|
341
|
+
};
|
|
342
|
+
readonly RenderBundleEncoder: {
|
|
343
|
+
new (options: GPURenderBundleEncoderDescriptor): RenderBundleEncoderCreator;
|
|
344
|
+
};
|
|
345
|
+
readonly CommandEncoder: {
|
|
346
|
+
new (label?: string): {
|
|
347
|
+
cmdencoder: GPUCommandEncoder;
|
|
348
|
+
readonly RenderPass: typeof import("../sub/pipeline/commandEncoder/renderPass").RenderPassCreator;
|
|
349
|
+
readonly ComputePass: {
|
|
350
|
+
new (options: import("../sub/pipeline/commandEncoder/computepass").COMPUTE_PASS_OPTIONS): {
|
|
351
|
+
readonly computepass: GPUComputePassEncoder;
|
|
352
|
+
"__#private@#debugDepth": number;
|
|
353
|
+
"__#private@#buildOptions"(options?: import("../sub/pipeline/commandEncoder/computepass").COMPUTE_PASS_OPTIONS): GPUComputePassDescriptor;
|
|
354
|
+
bindGroup(index: number, bindGroup: BindGroupCreator | import("../../helpers/types/DCMember").default<"BindGroup">, dynamicOffsets?: number[] | Uint32Array, dynamicOffsetData?: import("../sub/pipeline/commandEncoder/computepass").ComputePassCreator.bindGroup.DYNAMIC_OFFSET_DATA): void;
|
|
355
|
+
"__#private@#pipeline"?: ComputePipelineCreator;
|
|
356
|
+
pipeline(): Promise<import("@agpu/helpers/unsure").default<ComputePipelineCreator>>;
|
|
357
|
+
pipeline<T extends ComputePipelineCreator | import("../../helpers/types/DCMember").default<"ComputePipeline">>(pipeline: T): Promise<T>;
|
|
358
|
+
dispatchWorkgroup: ((x: number, y: number, z: number) => void) & {
|
|
359
|
+
IndirectBuffer: {
|
|
360
|
+
new (options: import("../sub/pipeline/commandEncoder/renderPass/indirectBuffer").INDIRECT_BUFFER_OPTIONS): {
|
|
361
|
+
"__#private@#currentBuffer": GPUBuffer;
|
|
362
|
+
"__#private@#device": GPUDevice;
|
|
363
|
+
"__#private@#value": GPUAllowSharedBufferSource;
|
|
364
|
+
"__#private@#dirty": boolean;
|
|
365
|
+
"__#private@#destroyed": boolean;
|
|
366
|
+
"__#private@#checkFlags"(): boolean;
|
|
367
|
+
raw(): GPUBuffer;
|
|
368
|
+
clone(): BufferCreator;
|
|
369
|
+
destroy(): boolean;
|
|
370
|
+
destroy<T extends boolean>(destroy: T): T;
|
|
371
|
+
value(): import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;
|
|
372
|
+
value<T extends GPUAllowSharedBufferSource>(val: T): T;
|
|
373
|
+
label(): string;
|
|
374
|
+
label<T extends string>(label: T): T;
|
|
375
|
+
sync(): void;
|
|
376
|
+
read(): Promise<ArrayBuffer>;
|
|
377
|
+
get can(): {
|
|
378
|
+
copy: {
|
|
379
|
+
read: boolean;
|
|
380
|
+
write: boolean;
|
|
381
|
+
};
|
|
382
|
+
map: {
|
|
383
|
+
read: boolean;
|
|
384
|
+
write: boolean;
|
|
385
|
+
};
|
|
386
|
+
beBoundAs: {
|
|
387
|
+
index: boolean;
|
|
388
|
+
vertex: boolean;
|
|
389
|
+
uniform: boolean;
|
|
390
|
+
storage: boolean;
|
|
391
|
+
indirect: boolean;
|
|
392
|
+
};
|
|
393
|
+
query: boolean;
|
|
394
|
+
};
|
|
395
|
+
copyToBuffer(destination: BufferCreator | GPUBuffer, size?: number): void;
|
|
396
|
+
copyToTexture(destination: import("../sub/data/buffers").TEXTURE_COPY_DESTINATION | GPUTexture, options?: import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS): void;
|
|
397
|
+
query(querySet: GPUQuerySet, firstQuery?: number, queryCount?: number, destinationOffset?: number): void;
|
|
398
|
+
readonly __brand: "BufferCreator";
|
|
399
|
+
[Symbol.hasInstance](instance: BufferCreator): instance is BufferCreator;
|
|
400
|
+
};
|
|
401
|
+
readonly len: 3;
|
|
402
|
+
from(buffer: BufferCreator | GPUBuffer): Promise<import("../sub/pipeline/commandEncoder/renderPass/indirectBuffer").default>;
|
|
403
|
+
};
|
|
404
|
+
indirect: (buffer: {
|
|
405
|
+
"__#private@#currentBuffer": GPUBuffer;
|
|
406
|
+
"__#private@#device": GPUDevice;
|
|
407
|
+
"__#private@#value": GPUAllowSharedBufferSource;
|
|
408
|
+
"__#private@#dirty": boolean;
|
|
409
|
+
"__#private@#destroyed": boolean;
|
|
410
|
+
"__#private@#checkFlags"(): boolean;
|
|
411
|
+
raw(): GPUBuffer;
|
|
412
|
+
clone(): BufferCreator;
|
|
413
|
+
destroy(): boolean;
|
|
414
|
+
destroy<T extends boolean>(destroy: T): T;
|
|
415
|
+
value(): import("@agpu/helpers/unsure").default<GPUAllowSharedBufferSource>;
|
|
416
|
+
value<T extends GPUAllowSharedBufferSource>(val: T): T;
|
|
417
|
+
label(): string;
|
|
418
|
+
label<T extends string>(label: T): T;
|
|
419
|
+
sync(): void;
|
|
420
|
+
read(): Promise<ArrayBuffer>;
|
|
421
|
+
get can(): {
|
|
422
|
+
copy: {
|
|
423
|
+
read: boolean;
|
|
424
|
+
write: boolean;
|
|
425
|
+
};
|
|
426
|
+
map: {
|
|
427
|
+
read: boolean;
|
|
428
|
+
write: boolean;
|
|
429
|
+
};
|
|
430
|
+
beBoundAs: {
|
|
431
|
+
index: boolean;
|
|
432
|
+
vertex: boolean;
|
|
433
|
+
uniform: boolean;
|
|
434
|
+
storage: boolean;
|
|
435
|
+
indirect: boolean;
|
|
436
|
+
};
|
|
437
|
+
query: boolean;
|
|
438
|
+
};
|
|
439
|
+
copyToBuffer(destination: BufferCreator | GPUBuffer, size?: number): void;
|
|
440
|
+
copyToTexture(destination: import("../sub/data/buffers").TEXTURE_COPY_DESTINATION | GPUTexture, options?: import("../sub/data/buffers").BUFFER_TO_TEXTURE_OPTIONS): void;
|
|
441
|
+
query(querySet: GPUQuerySet, firstQuery?: number, queryCount?: number, destinationOffset?: number): void;
|
|
442
|
+
readonly __brand: "BufferCreator";
|
|
443
|
+
[Symbol.hasInstance](instance: BufferCreator): instance is BufferCreator;
|
|
444
|
+
}, offset: number) => void;
|
|
445
|
+
};
|
|
446
|
+
end(): void;
|
|
447
|
+
readonly debug: {
|
|
448
|
+
push: (label: string) => void;
|
|
449
|
+
pop: () => void;
|
|
450
|
+
insertMarker: (label: string) => void;
|
|
451
|
+
};
|
|
452
|
+
raw(): GPUComputePassEncoder;
|
|
453
|
+
readonly __brand: "ComputePassCreator";
|
|
454
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
455
|
+
label(): string;
|
|
456
|
+
label<T extends string>(val: T): T;
|
|
457
|
+
};
|
|
458
|
+
};
|
|
459
|
+
readonly debug: {
|
|
460
|
+
push: (label: string) => void;
|
|
461
|
+
pop: () => void;
|
|
462
|
+
insertMarker: (label: string) => void;
|
|
463
|
+
};
|
|
464
|
+
readonly copy: {
|
|
465
|
+
textureToTexture: (texture: CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE, des: CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE, copySize: GPUExtent3DStrict) => undefined;
|
|
466
|
+
textureToBuffer: (texture: CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE, des: CommandEncoderCreator.copy.TEXEL_COPY_BUFFER, copySize: GPUExtent3DStrict) => undefined;
|
|
467
|
+
bufferToTexture: (buf: CommandEncoderCreator.copy.TEXEL_COPY_BUFFER, des: CommandEncoderCreator.copy.TEXEL_COPY_TEXTURE, copySize: GPUExtent3DStrict) => undefined;
|
|
468
|
+
bufferToBuffer: (buf: BufferCreator, des: BufferCreator, copySize: number) => undefined;
|
|
469
|
+
};
|
|
470
|
+
"__#private@#debugDepth": number;
|
|
471
|
+
finish(des: GPUObjectDescriptorBase): CommandBufferCreator;
|
|
472
|
+
readonly __brand: "CommandEncoderCreator";
|
|
473
|
+
[Symbol.hasInstance](instance: any): boolean;
|
|
474
|
+
label(): string;
|
|
475
|
+
label<T extends string>(val: T): T;
|
|
476
|
+
};
|
|
477
|
+
from(cmdencoder: GPUCommandEncoder): CommandEncoderCreator;
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
export default DeviceControls;
|
|
481
|
+
/**@type {GPUDevice["createCommandEncoder"]} */
|
|
@@ -1 +1,14 @@
|
|
|
1
|
-
import{BRAND}from"@agpu/helpers/decorators";
|
|
1
|
+
import { BRAND } from "@agpu/helpers/decorators";
|
|
2
|
+
import AdapterControls from "./adapter";
|
|
3
|
+
import { ContextControls } from "./context";
|
|
4
|
+
interface WebGPUControls extends BRAND<"WebGPUControls"> {
|
|
5
|
+
}
|
|
6
|
+
declare class WebGPUControls {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(canvas: HTMLCanvasElement);
|
|
9
|
+
readonly cv: HTMLCanvasElement;
|
|
10
|
+
preferredCanvasFormat(): GPUTextureFormat;
|
|
11
|
+
context(): ContextControls;
|
|
12
|
+
get Adapter(): Promise<AdapterControls>;
|
|
13
|
+
}
|
|
14
|
+
export default WebGPUControls;
|