@antv/g-device-api
Advanced tools
Comparing version 1.5.0 to 1.6.0
@@ -17,3 +17,4 @@ import type { EventEmitter } from 'eventemitter3'; | ||
Readback = 9, | ||
QueryPool = 10 | ||
QueryPool = 10, | ||
RenderBundle = 11 | ||
} | ||
@@ -54,2 +55,5 @@ export interface Disposable { | ||
} | ||
export interface RenderBundle extends ResourceBase { | ||
type: ResourceType.RenderBundle; | ||
} | ||
export interface QueryPool extends ResourceBase { | ||
@@ -495,2 +499,6 @@ type: ResourceType.QueryPool; | ||
occlusionQueryPool?: QueryPool | null; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/API/GPURenderBundle | ||
*/ | ||
renderBundle?: boolean; | ||
} | ||
@@ -583,2 +591,5 @@ export interface DeviceLimits { | ||
endOcclusionQuery: () => void; | ||
beginBundle: (renderBundle: RenderBundle) => void; | ||
endBundle: () => void; | ||
executeBundles: (renderBundles: RenderBundle[]) => void; | ||
} | ||
@@ -636,2 +647,3 @@ /** | ||
createComputePass: () => ComputePass; | ||
createRenderBundle: () => RenderBundle; | ||
beginFrame(): void; | ||
@@ -638,0 +650,0 @@ endFrame(): void; |
@@ -1,5 +0,6 @@ | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
import type { EXT_texture_compression_rgtc, EXT_texture_norm16, GPlatformWebGL2Config, KHR_parallel_shader_compile, OES_draw_buffers_indexed } from './interfaces'; | ||
import { Program_GL } from './Program'; | ||
import { RenderBundle_GL } from './RenderBundle'; | ||
/** | ||
@@ -93,2 +94,3 @@ * Extract uniform blocks from shader source. | ||
private blitProgram; | ||
private renderBundle; | ||
/** | ||
@@ -144,2 +146,6 @@ * @see https://github.com/shrekshao/MoveWebGL1EngineToWebGL2/blob/master/Move-a-WebGL-1-Engine-To-WebGL-2-Blog-2.md#uniform-buffer | ||
private formatRenderPassDescriptor; | ||
createRenderBundle(): RenderBundle_GL; | ||
beginBundle(bundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
createRenderPass(descriptor: RenderPassDescriptor): RenderPass; | ||
@@ -146,0 +152,0 @@ submitPass(pass: RenderPass | ComputePass): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Buffer, Bindings, ComputePass, ComputePipeline } from '../api'; | ||
export declare class ComputePass_WebGPU implements ComputePass { | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
private gpuComputePassDescriptor; | ||
@@ -15,7 +15,7 @@ private gpuComputePassEncoder; | ||
dispatchWorkgroupsIndirect(indirectBuffer: Buffer, indirectOffset: number): void; | ||
finish(): GPUCommandBuffer; | ||
finish(): void; | ||
/** | ||
* @see https://www.w3.org/TR/webgpu/#dom-gpucommandencoder-begincomputepass | ||
*/ | ||
beginComputePass(): void; | ||
beginComputePass(commandEncoder: GPUCommandEncoder): void; | ||
setPipeline(pipeline_: ComputePipeline): void; | ||
@@ -22,0 +22,0 @@ setBindings(bindings_: Bindings): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
@@ -14,2 +14,3 @@ import type { glsl_compile as glsl_compile_, WGSLComposer } from '../../rust/pkg/glsl_wgsl_compiler'; | ||
private computePassPool; | ||
private frameCommandEncoderPool; | ||
private fallbackTexture2D; | ||
@@ -67,2 +68,3 @@ private fallbackTexture2DDepth; | ||
createReadback(): Readback; | ||
createRenderBundle(): RenderBundle; | ||
createRenderPass(renderPassDescriptor: RenderPassDescriptor): RenderPass; | ||
@@ -69,0 +71,0 @@ createComputePass(): ComputePass; |
/// <reference types="@webgpu/types" /> | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Device_WebGPU } from './Device'; | ||
export declare class RenderPass_WebGPU implements RenderPass { | ||
private device; | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
descriptor: RenderPassDescriptor; | ||
private renderBundle; | ||
private gpuRenderPassEncoder; | ||
@@ -19,5 +20,6 @@ private gpuRenderPassDescriptor; | ||
constructor(device: Device_WebGPU); | ||
private getEncoder; | ||
private getTextureView; | ||
private setRenderPassDescriptor; | ||
beginRenderPass(renderPassDescriptor: RenderPassDescriptor): void; | ||
beginRenderPass(commandEncoder: GPUCommandEncoder, renderPassDescriptor: RenderPassDescriptor): void; | ||
private flipY; | ||
@@ -48,4 +50,7 @@ setViewport(x: number, y: number, w: number, h: number, minDepth?: number, maxDepth?: number): void; | ||
insertDebugMarker(markerLabel: string): void; | ||
finish(): GPUCommandBuffer; | ||
beginBundle(renderBundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
finish(): void; | ||
private copyAttachment; | ||
} |
@@ -17,3 +17,4 @@ import type { EventEmitter } from 'eventemitter3'; | ||
Readback = 9, | ||
QueryPool = 10 | ||
QueryPool = 10, | ||
RenderBundle = 11 | ||
} | ||
@@ -54,2 +55,5 @@ export interface Disposable { | ||
} | ||
export interface RenderBundle extends ResourceBase { | ||
type: ResourceType.RenderBundle; | ||
} | ||
export interface QueryPool extends ResourceBase { | ||
@@ -495,2 +499,6 @@ type: ResourceType.QueryPool; | ||
occlusionQueryPool?: QueryPool | null; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/API/GPURenderBundle | ||
*/ | ||
renderBundle?: boolean; | ||
} | ||
@@ -583,2 +591,5 @@ export interface DeviceLimits { | ||
endOcclusionQuery: () => void; | ||
beginBundle: (renderBundle: RenderBundle) => void; | ||
endBundle: () => void; | ||
executeBundles: (renderBundles: RenderBundle[]) => void; | ||
} | ||
@@ -636,2 +647,3 @@ /** | ||
createComputePass: () => ComputePass; | ||
createRenderBundle: () => RenderBundle; | ||
beginFrame(): void; | ||
@@ -638,0 +650,0 @@ endFrame(): void; |
@@ -1,5 +0,6 @@ | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
import type { EXT_texture_compression_rgtc, EXT_texture_norm16, GPlatformWebGL2Config, KHR_parallel_shader_compile, OES_draw_buffers_indexed } from './interfaces'; | ||
import { Program_GL } from './Program'; | ||
import { RenderBundle_GL } from './RenderBundle'; | ||
/** | ||
@@ -93,2 +94,3 @@ * Extract uniform blocks from shader source. | ||
private blitProgram; | ||
private renderBundle; | ||
/** | ||
@@ -144,2 +146,6 @@ * @see https://github.com/shrekshao/MoveWebGL1EngineToWebGL2/blob/master/Move-a-WebGL-1-Engine-To-WebGL-2-Blog-2.md#uniform-buffer | ||
private formatRenderPassDescriptor; | ||
createRenderBundle(): RenderBundle_GL; | ||
beginBundle(bundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
createRenderPass(descriptor: RenderPassDescriptor): RenderPass; | ||
@@ -146,0 +152,0 @@ submitPass(pass: RenderPass | ComputePass): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Buffer, Bindings, ComputePass, ComputePipeline } from '../api'; | ||
export declare class ComputePass_WebGPU implements ComputePass { | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
private gpuComputePassDescriptor; | ||
@@ -15,7 +15,7 @@ private gpuComputePassEncoder; | ||
dispatchWorkgroupsIndirect(indirectBuffer: Buffer, indirectOffset: number): void; | ||
finish(): GPUCommandBuffer; | ||
finish(): void; | ||
/** | ||
* @see https://www.w3.org/TR/webgpu/#dom-gpucommandencoder-begincomputepass | ||
*/ | ||
beginComputePass(): void; | ||
beginComputePass(commandEncoder: GPUCommandEncoder): void; | ||
setPipeline(pipeline_: ComputePipeline): void; | ||
@@ -22,0 +22,0 @@ setBindings(bindings_: Bindings): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
@@ -14,2 +14,3 @@ import type { glsl_compile as glsl_compile_, WGSLComposer } from '../../rust/pkg/glsl_wgsl_compiler'; | ||
private computePassPool; | ||
private frameCommandEncoderPool; | ||
private fallbackTexture2D; | ||
@@ -67,2 +68,3 @@ private fallbackTexture2DDepth; | ||
createReadback(): Readback; | ||
createRenderBundle(): RenderBundle; | ||
createRenderPass(renderPassDescriptor: RenderPassDescriptor): RenderPass; | ||
@@ -69,0 +71,0 @@ createComputePass(): ComputePass; |
/// <reference types="@webgpu/types" /> | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Device_WebGPU } from './Device'; | ||
export declare class RenderPass_WebGPU implements RenderPass { | ||
private device; | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
descriptor: RenderPassDescriptor; | ||
private renderBundle; | ||
private gpuRenderPassEncoder; | ||
@@ -19,5 +20,6 @@ private gpuRenderPassDescriptor; | ||
constructor(device: Device_WebGPU); | ||
private getEncoder; | ||
private getTextureView; | ||
private setRenderPassDescriptor; | ||
beginRenderPass(renderPassDescriptor: RenderPassDescriptor): void; | ||
beginRenderPass(commandEncoder: GPUCommandEncoder, renderPassDescriptor: RenderPassDescriptor): void; | ||
private flipY; | ||
@@ -48,4 +50,7 @@ setViewport(x: number, y: number, w: number, h: number, minDepth?: number, maxDepth?: number): void; | ||
insertDebugMarker(markerLabel: string): void; | ||
finish(): GPUCommandBuffer; | ||
beginBundle(renderBundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
finish(): void; | ||
private copyAttachment; | ||
} |
@@ -17,3 +17,4 @@ import type { EventEmitter } from 'eventemitter3'; | ||
Readback = 9, | ||
QueryPool = 10 | ||
QueryPool = 10, | ||
RenderBundle = 11 | ||
} | ||
@@ -54,2 +55,5 @@ export interface Disposable { | ||
} | ||
export interface RenderBundle extends ResourceBase { | ||
type: ResourceType.RenderBundle; | ||
} | ||
export interface QueryPool extends ResourceBase { | ||
@@ -495,2 +499,6 @@ type: ResourceType.QueryPool; | ||
occlusionQueryPool?: QueryPool | null; | ||
/** | ||
* @see https://developer.mozilla.org/en-US/docs/Web/API/GPURenderBundle | ||
*/ | ||
renderBundle?: boolean; | ||
} | ||
@@ -583,2 +591,5 @@ export interface DeviceLimits { | ||
endOcclusionQuery: () => void; | ||
beginBundle: (renderBundle: RenderBundle) => void; | ||
endBundle: () => void; | ||
executeBundles: (renderBundles: RenderBundle[]) => void; | ||
} | ||
@@ -636,2 +647,3 @@ /** | ||
createComputePass: () => ComputePass; | ||
createRenderBundle: () => RenderBundle; | ||
beginFrame(): void; | ||
@@ -638,0 +650,0 @@ endFrame(): void; |
@@ -1,5 +0,6 @@ | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, IndexBufferDescriptor, InputLayout, InputLayoutDescriptor, PlatformFramebuffer, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo, VertexBufferDescriptor } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
import type { EXT_texture_compression_rgtc, EXT_texture_norm16, GPlatformWebGL2Config, KHR_parallel_shader_compile, OES_draw_buffers_indexed } from './interfaces'; | ||
import { Program_GL } from './Program'; | ||
import { RenderBundle_GL } from './RenderBundle'; | ||
/** | ||
@@ -93,2 +94,3 @@ * Extract uniform blocks from shader source. | ||
private blitProgram; | ||
private renderBundle; | ||
/** | ||
@@ -144,2 +146,6 @@ * @see https://github.com/shrekshao/MoveWebGL1EngineToWebGL2/blob/master/Move-a-WebGL-1-Engine-To-WebGL-2-Blog-2.md#uniform-buffer | ||
private formatRenderPassDescriptor; | ||
createRenderBundle(): RenderBundle_GL; | ||
beginBundle(bundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
createRenderPass(descriptor: RenderPassDescriptor): RenderPass; | ||
@@ -146,0 +152,0 @@ submitPass(pass: RenderPass | ComputePass): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Buffer, Bindings, ComputePass, ComputePipeline } from '../api'; | ||
export declare class ComputePass_WebGPU implements ComputePass { | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
private gpuComputePassDescriptor; | ||
@@ -15,7 +15,7 @@ private gpuComputePassEncoder; | ||
dispatchWorkgroupsIndirect(indirectBuffer: Buffer, indirectOffset: number): void; | ||
finish(): GPUCommandBuffer; | ||
finish(): void; | ||
/** | ||
* @see https://www.w3.org/TR/webgpu/#dom-gpucommandencoder-begincomputepass | ||
*/ | ||
beginComputePass(): void; | ||
beginComputePass(commandEncoder: GPUCommandEncoder): void; | ||
setPipeline(pipeline_: ComputePipeline): void; | ||
@@ -22,0 +22,0 @@ setBindings(bindings_: Bindings): void; |
/// <reference types="@webgpu/types" /> | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import type { Bindings, BindingsDescriptor, Buffer, BufferDescriptor, ComputePass, ComputePipeline, ComputePipelineDescriptor, Device, DeviceLimits, InputLayout, InputLayoutDescriptor, Program, ProgramDescriptor, QueryPool, QueryPoolType, Readback, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, RenderTarget, RenderTargetDescriptor, Resource, Sampler, SamplerBinding, SamplerDescriptor, SwapChain, Texture, TextureDescriptor, VendorInfo } from '../api'; | ||
import { ClipSpaceNearZ, Format, ViewportOrigin } from '../api'; | ||
@@ -14,2 +14,3 @@ import type { glsl_compile as glsl_compile_, WGSLComposer } from '../../rust/pkg/glsl_wgsl_compiler'; | ||
private computePassPool; | ||
private frameCommandEncoderPool; | ||
private fallbackTexture2D; | ||
@@ -67,2 +68,3 @@ private fallbackTexture2DDepth; | ||
createReadback(): Readback; | ||
createRenderBundle(): RenderBundle; | ||
createRenderPass(renderPassDescriptor: RenderPassDescriptor): RenderPass; | ||
@@ -69,0 +71,0 @@ createComputePass(): ComputePass; |
/// <reference types="@webgpu/types" /> | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Bindings, Buffer, IndexBufferDescriptor, InputLayout, RenderBundle, RenderPass, RenderPassDescriptor, RenderPipeline, VertexBufferDescriptor } from '../api'; | ||
import { Device_WebGPU } from './Device'; | ||
export declare class RenderPass_WebGPU implements RenderPass { | ||
private device; | ||
commandEncoder: GPUCommandEncoder | null; | ||
frameCommandEncoder: GPUCommandEncoder | null; | ||
descriptor: RenderPassDescriptor; | ||
private renderBundle; | ||
private gpuRenderPassEncoder; | ||
@@ -19,5 +20,6 @@ private gpuRenderPassDescriptor; | ||
constructor(device: Device_WebGPU); | ||
private getEncoder; | ||
private getTextureView; | ||
private setRenderPassDescriptor; | ||
beginRenderPass(renderPassDescriptor: RenderPassDescriptor): void; | ||
beginRenderPass(commandEncoder: GPUCommandEncoder, renderPassDescriptor: RenderPassDescriptor): void; | ||
private flipY; | ||
@@ -48,4 +50,7 @@ setViewport(x: number, y: number, w: number, h: number, minDepth?: number, maxDepth?: number): void; | ||
insertDebugMarker(markerLabel: string): void; | ||
finish(): GPUCommandBuffer; | ||
beginBundle(renderBundle: RenderBundle): void; | ||
endBundle(): void; | ||
executeBundles(renderBundles: RenderBundle[]): void; | ||
finish(): void; | ||
private copyAttachment; | ||
} |
{ | ||
"name": "@antv/g-device-api", | ||
"version": "1.5.0", | ||
"version": "1.6.0", | ||
"description": "A Device API references WebGPU implementations", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -18,2 +18,9 @@ # @antv/g-device-api | ||
Now we use it in the following projects: | ||
- [g-webgl](https://github.com/antvis/G) & [g-webgpu](https://github.com/antvis/G) Used in G2 & G6 3D plots. | ||
- [L7](https://github.com/antvis/L7) Large-scale WebGL-powered Geospatial Data Visualization analysis engine. | ||
- [A8](https://github.com/antvis/A8) An audio visualizer. | ||
- [renderer](https://github.com/xiaoiver/renderer) A toy renderer inspired by bevy. | ||
## Installing | ||
@@ -44,5 +51,8 @@ | ||
- [createComputePass](#createComputePass) | ||
- [createRenderBundle](#createRenderBundle) | ||
- Submit | ||
- [beignFrame](#beginFrame) | ||
- [submitPass](#submitPass) | ||
- [endFrame](#endFrame) | ||
- [copySubTexture2D](#copySubTexture2D) | ||
@@ -81,2 +91,5 @@ - Query | ||
- [endOcclusionQuery](#endOcclusionQuery) | ||
- [beginBundle](#beginBundle) | ||
- [endBundle](#endBundle) | ||
- [executeBundles](#executeBundles) | ||
- [ComputePass](#computePass) | ||
@@ -566,2 +579,32 @@ - [setPipeline](#setPipeline) | ||
### <a id="createRenderBundle" />createRenderBundle | ||
RenderBundle can record the draw calls during one frame and replay this recording for all subsequent frames. | ||
```ts | ||
const renderBundle = device.createRenderBundle(); | ||
// On each frame. | ||
if (frameCount === 0) { | ||
renderPass.beginBundle(renderBundle); | ||
// Omit other renderpass commands | ||
renderPass.endBundle(); | ||
} else { | ||
renderPass.executeBundles([renderBundle]); | ||
} | ||
``` | ||
### <a id="beginFrame" />beginFrame | ||
Should call this method at the beginning of each frame. | ||
```ts | ||
device.beginFrame(); | ||
const renderPass = device.createRenderPass({}); | ||
// Omit other commands. | ||
renderPass.draw(); | ||
device.submitPass(renderPass); | ||
device.endFrame(); | ||
``` | ||
### <a id="submitPass" />submitPass | ||
@@ -575,2 +618,6 @@ | ||
### <a id="endFrame" />endFrame | ||
Should call this method at the end of each frame. | ||
### <a id="copySubTexture2D" />copySubTexture2D | ||
@@ -940,2 +987,26 @@ | ||
### <a id="beginBundle" />beginBundle | ||
Start recording draw calls in render bundle. | ||
```ts | ||
beginBundle: (renderBundle: RenderBundle) => void; | ||
``` | ||
### <a id="endBundle" />endBundle | ||
Stop recording. | ||
```ts | ||
endBundle: () => void; | ||
``` | ||
### <a id="executeBundles" />executeBundles | ||
Replay the commands recorded in render bundles. | ||
```ts | ||
executeBundles: (renderBundles: RenderBundle[]) => void; | ||
``` | ||
## <a id="computePass" />ComputePass | ||
@@ -1333,1 +1404,8 @@ | ||
``` | ||
Currently we don't support `dynamicOffsets` when setting bindgroup. | ||
```ts | ||
// Won't support for now. | ||
passEncoder.setBindGroup(1, dynamicBindGroup, dynamicOffsets); | ||
``` |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8399445
180
25804
1405