Skip to content

Documentation / device / GPUProgram

Interface: GPUProgram<T>

Defined in: libs/device/src/gpuobject.ts:1530

Abstract interface for GPU program

Extends

Type Parameters

T

T = unknown

Properties

[EventMapType]?

readonly optional [EventMapType]?: object

Defined in: libs/base/dist/index.d.ts:549

Type-only event map marker.

dispose

dispose: []

Inherited from

GPUObject.[EventMapType]


device

readonly device: AbstractDevice

Defined in: libs/device/src/gpuobject.ts:1262

The object was created by which device

Inherited from

GPUObject.device


object

readonly object: T

Defined in: libs/device/src/gpuobject.ts:1264

The internal GPU object

Inherited from

GPUObject.object


uid

readonly uid: number

Defined in: libs/device/src/gpuobject.ts:1266

unique id

Inherited from

GPUObject.uid


cid

readonly cid: number

Defined in: libs/device/src/gpuobject.ts:1267

Inherited from

GPUObject.cid


disposed

readonly disposed: boolean

Defined in: libs/device/src/gpuobject.ts:1268

Inherited from

GPUObject.disposed


name

name: string

Defined in: libs/device/src/gpuobject.ts:1269

Inherited from

GPUObject.name


restoreHandler

restoreHandler: (tex) => void

Defined in: libs/device/src/gpuobject.ts:1270

Parameters

tex

GPUObject

Returns

void

Inherited from

GPUObject.restoreHandler


bindGroupLayouts

readonly bindGroupLayouts: readonly Readonly<{ label?: string; nameMap?: Record<string, string>; entries: readonly Readonly<{ binding: number; name: string; visibility: number; type: PBTypeInfo; buffer?: BufferBindingLayout; sampler?: SamplerBindingLayout; texture?: TextureBindingLayout; storageTexture?: StorageTextureBindingLayout; externalTexture?: ExternalTextureBindingLayout; }>[]; }>[]

Defined in: libs/device/src/gpuobject.ts:1531


type

readonly type: "render" | "compute"

Defined in: libs/device/src/gpuobject.ts:1532

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:556

Sets up a function that will be called whenever the specified event is delivered to the target

Type Parameters

K

K extends "dispose"

Parameters

type

K

The event type to listen for

listener

EventListener<{ dispose: []; }, K>

The callback function

context?

unknown

Context object of the listener function

Returns

void

Inherited from

GPUObject.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:563

Sets up a function that will be called only once when the specified event is delivered to the target

Type Parameters

K

K extends "dispose"

Parameters

type

K

The event type to listen for

listener

EventListener<{ dispose: []; }, K>

The callback function

context?

unknown

Context object of the listener function

Returns

void

Inherited from

GPUObject.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:569

Removes an event listener function previously registered.

Type Parameters

K

K extends "dispose"

Parameters

type

K

The event type for which to remove an event listener

listener?

EventListener<{ dispose: []; }>

The callback function to be removed

context?

unknown

Returns

void

Inherited from

GPUObject.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:575

Synchronously invoke the affected event listeners with an event object

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

false if the event was canceled, otherwise true

Inherited from

GPUObject.dispatchEvent


isVertexLayout()

isVertexLayout(): this is VertexLayout<unknown>

Defined in: libs/device/src/gpuobject.ts:1271

Returns

this is VertexLayout<unknown>

Inherited from

GPUObject.isVertexLayout


isFramebuffer()

isFramebuffer(): this is FrameBuffer<unknown>

Defined in: libs/device/src/gpuobject.ts:1272

Returns

this is FrameBuffer<unknown>

Inherited from

GPUObject.isFramebuffer


isSampler()

isSampler(): this is TextureSampler<unknown>

Defined in: libs/device/src/gpuobject.ts:1273

Returns

this is TextureSampler<unknown>

Inherited from

GPUObject.isSampler


isTexture()

isTexture(): this is BaseTexture<unknown>

Defined in: libs/device/src/gpuobject.ts:1274

Returns

this is BaseTexture<unknown>

Inherited from

GPUObject.isTexture


isTexture2D()

isTexture2D(): this is Texture2D<unknown>

Defined in: libs/device/src/gpuobject.ts:1275

Returns

this is Texture2D<unknown>

Inherited from

GPUObject.isTexture2D


isTexture2DArray()

isTexture2DArray(): this is Texture2DArray<unknown>

Defined in: libs/device/src/gpuobject.ts:1276

Returns

this is Texture2DArray<unknown>

Inherited from

GPUObject.isTexture2DArray


isTexture3D()

isTexture3D(): this is Texture3D<unknown>

Defined in: libs/device/src/gpuobject.ts:1277

Returns

this is Texture3D<unknown>

Inherited from

GPUObject.isTexture3D


isTextureCube()

isTextureCube(): this is TextureCube<unknown>

Defined in: libs/device/src/gpuobject.ts:1278

Returns

this is TextureCube<unknown>

Inherited from

GPUObject.isTextureCube


isTextureVideo()

isTextureVideo(): this is TextureVideo<unknown>

Defined in: libs/device/src/gpuobject.ts:1279

Returns

this is TextureVideo<unknown>

Inherited from

GPUObject.isTextureVideo


isProgram()

isProgram(): this is GPUProgram<unknown>

Defined in: libs/device/src/gpuobject.ts:1280

Returns

this is GPUProgram<unknown>

Inherited from

GPUObject.isProgram


isBuffer()

isBuffer(): this is GPUDataBuffer<unknown>

Defined in: libs/device/src/gpuobject.ts:1281

Returns

this is GPUDataBuffer<unknown>

Inherited from

GPUObject.isBuffer


isBindGroup()

isBindGroup(): this is BindGroup

Defined in: libs/device/src/gpuobject.ts:1282

Returns

this is BindGroup

Inherited from

GPUObject.isBindGroup


dispose()

dispose(): void

Defined in: libs/device/src/gpuobject.ts:1283

Returns

void

Inherited from

GPUObject.dispose


reload()

reload(): void

Defined in: libs/device/src/gpuobject.ts:1284

Returns

void

Inherited from

GPUObject.reload


destroy()

destroy(): void

Defined in: libs/device/src/gpuobject.ts:1285

Returns

void

Inherited from

GPUObject.destroy


restore()

restore(): void

Defined in: libs/device/src/gpuobject.ts:1286

Returns

void

Inherited from

GPUObject.restore


getShaderSource()

getShaderSource(kind): string

Defined in: libs/device/src/gpuobject.ts:1533

Parameters

kind

ShaderKind

Returns

string


getCompileError()

getCompileError(): string

Defined in: libs/device/src/gpuobject.ts:1534

Returns

string


getBindingInfo()

getBindingInfo(name): BindPointInfo

Defined in: libs/device/src/gpuobject.ts:1535

Parameters

name

string

Returns

BindPointInfo


createUniformBuffer()

createUniformBuffer(uniform): StructuredBuffer<unknown>

Defined in: libs/device/src/gpuobject.ts:1536

Parameters

uniform

string

Returns

StructuredBuffer<unknown>


use()

use(): void

Defined in: libs/device/src/gpuobject.ts:1537

Returns

void

Released under the MIT License.