ResolutionCtx
Defined in: packages/typegpu/src/types.ts:253
Passed into each resolvable item. All items in a tree share a resolution ctx, but there can be layers added and removed from the item stack when going down and up the tree.
Properties
Section titled “Properties”[$internal]
Section titled “[$internal]”[$internal]:
object
Defined in: packages/typegpu/src/types.ts:254
itemStateStack
Section titled “itemStateStack”itemStateStack:
ItemStateStack
enableExtensions
Section titled “enableExtensions”
readonlyenableExtensions: ("f16"|"clip_distances"|"primitive_index"|"dual_source_blending"|"subgroups")[] |undefined
Defined in: packages/typegpu/src/types.ts:259
readonlygen:ShaderGenerator
Defined in: packages/typegpu/src/types.ts:260
readonlymode:ExecState
Defined in: packages/typegpu/src/types.ts:258
Accessors
Section titled “Accessors”varyingLocations
Section titled “varyingLocations”Get Signature
Section titled “Get Signature”get varyingLocations():
Record<string,number> |undefined
Defined in: packages/typegpu/src/types.ts:315
Returns
Section titled “Returns”Record<string, number> | undefined
Methods
Section titled “Methods”addDeclaration()
Section titled “addDeclaration()”addDeclaration(
declaration):void
Defined in: packages/typegpu/src/types.ts:262
Parameters
Section titled “Parameters”declaration
Section titled “declaration”string
Returns
Section titled “Returns”void
allocateFixedEntry()
Section titled “allocateFixedEntry()”allocateFixedEntry(
layoutEntry,resource):object
Defined in: packages/typegpu/src/types.ts:275
Reserves a spot in the catch-all bind group, without the indirection of a bind-group. This means the resource is ‘fixed’, and cannot be swapped between code execution.
Parameters
Section titled “Parameters”layoutEntry
Section titled “layoutEntry”resource
Section titled “resource”object
Returns
Section titled “Returns”object
binding
Section titled “binding”binding:
number
group:
string
allocateLayoutEntry()
Section titled “allocateLayoutEntry()”allocateLayoutEntry(
layout):string
Defined in: packages/typegpu/src/types.ts:269
Reserves a bind group number, and returns a placeholder that will be replaced with a concrete number at the end of the resolution process.
Parameters
Section titled “Parameters”layout
Section titled “layout”Returns
Section titled “Returns”string
fnToWgsl()
Section titled “fnToWgsl()”fnToWgsl(
options):object
Defined in: packages/typegpu/src/types.ts:307
Parameters
Section titled “Parameters”options
Section titled “options”FnToWgslOptions
Returns
Section titled “Returns”object
body:
Wgsl
head:
Wgsl
returnType
Section titled “returnType”returnType:
BaseData
getUniqueName()
Section titled “getUniqueName()”getUniqueName(
resource):string
Defined in: packages/typegpu/src/types.ts:327
Parameters
Section titled “Parameters”resource
Section titled “resource”object
Returns
Section titled “Returns”string
makeNameValid()
Section titled “makeNameValid()”makeNameValid(
name):string
Defined in: packages/typegpu/src/types.ts:328
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”string
popMode()
Section titled “popMode()”popMode(
expected?):void
Defined in: packages/typegpu/src/types.ts:286
Parameters
Section titled “Parameters”expected?
Section titled “expected?”ExecMode
Returns
Section titled “Returns”void
pushMode()
Section titled “pushMode()”pushMode(
state):void
Defined in: packages/typegpu/src/types.ts:285
Parameters
Section titled “Parameters”ExecState
Returns
Section titled “Returns”void
resolve()
Section titled “resolve()”resolve(
item,schema?):ResolvedSnippet
Defined in: packages/typegpu/src/types.ts:300
Returns the snippet representing item.
Parameters
Section titled “Parameters”unknown
The value to resolve
schema?
Section titled “schema?”Additional information about the item’s data type
BaseData | typeof UnknownData
Returns
Section titled “Returns”ResolvedSnippet
resolveSnippet()
Section titled “resolveSnippet()”resolveSnippet(
snippet):ResolvedSnippet
Defined in: packages/typegpu/src/types.ts:305
Equivalent to snip(ctx.resolve(snippet.value, snippet.dataType).value, snippet.dataType, snippet.origin).
Parameters
Section titled “Parameters”snippet
Section titled “snippet”Snippet
Returns
Section titled “Returns”ResolvedSnippet
unwrap()
Section titled “unwrap()”unwrap<
T>(eventual):T
Defined in: packages/typegpu/src/types.ts:292
Unwraps all layers of slot/lazy indirection and returns the concrete value if available.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”eventual
Section titled “eventual”Eventual<T>
Returns
Section titled “Returns”T
Throws
Section titled “Throws”withRenamed()
Section titled “withRenamed()”withRenamed<
T>(item,name,callback):T
Defined in: packages/typegpu/src/types.ts:325
Temporarily renames the item. Useful for resolutions with slots, since functions with different slots should have different names, and all hold the same inner function that is being resolved multiple times.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”object
the item to rename
the temporary name to assign to the item (if missing, just returns callback())
string | undefined
callback
Section titled “callback”() => T
Returns
Section titled “Returns”T
withResetIndentLevel()
Section titled “withResetIndentLevel()”withResetIndentLevel<
T>(callback):T
Defined in: packages/typegpu/src/types.ts:263
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”callback
Section titled “callback”() => T
Returns
Section titled “Returns”T
withSlots()
Section titled “withSlots()”withSlots<
T>(pairs,callback):T
Defined in: packages/typegpu/src/types.ts:283
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”SlotValuePair[]
callback
Section titled “callback”() => T
Returns
Section titled “Returns”T
withVaryingLocations()
Section titled “withVaryingLocations()”withVaryingLocations<
T>(locations,callback):T
Defined in: packages/typegpu/src/types.ts:313
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”locations
Section titled “locations”Record<string, number>
callback
Section titled “callback”() => T
Returns
Section titled “Returns”T