typegpu 0.5.4 → 0.5.5
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/attributes-BcDZsQCE.d.cts +159 -0
- package/attributes-DsIdcdq4.d.ts +159 -0
- package/chunk-A6AAWPBU.cjs +2 -0
- package/chunk-A6AAWPBU.cjs.map +1 -0
- package/chunk-HZAXWB4J.js +2 -0
- package/chunk-HZAXWB4J.js.map +1 -0
- package/chunk-T5Y2EQPZ.js +4 -0
- package/chunk-T5Y2EQPZ.js.map +1 -0
- package/chunk-VUYQ2ZIK.cjs +4 -0
- package/chunk-VUYQ2ZIK.cjs.map +1 -0
- package/data/index.cjs +1 -1
- package/data/index.cjs.map +1 -1
- package/data/index.d.cts +3 -4
- package/data/index.d.ts +3 -4
- package/data/index.js +1 -1
- package/{wgslTypes-Bh2dG5qv.d.cts → dataTypes-ts2Ccted.d.cts} +300 -6
- package/{wgslTypes-Bh2dG5qv.d.ts → dataTypes-ts2Ccted.d.ts} +300 -6
- package/index.cjs +19 -19
- package/index.cjs.map +1 -1
- package/index.d.cts +25 -397
- package/index.d.ts +25 -397
- package/index.js +19 -19
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sampler-CPNwYXSH.d.ts +369 -0
- package/sampler-DeX4AnIZ.d.cts +369 -0
- package/std/index.cjs +1 -1
- package/std/index.cjs.map +1 -1
- package/std/index.d.cts +85 -50
- package/std/index.d.ts +85 -50
- package/std/index.js +1 -1
- package/std/index.js.map +1 -1
- package/attributes-BdU8hyQq.d.cts +0 -435
- package/attributes-CAsvE5Z9.d.ts +0 -435
- package/chunk-5PJ3H5OR.js +0 -2
- package/chunk-5PJ3H5OR.js.map +0 -1
- package/chunk-7UUBX6MC.cjs +0 -4
- package/chunk-7UUBX6MC.cjs.map +0 -1
- package/chunk-AKBL6GDL.js +0 -4
- package/chunk-AKBL6GDL.js.map +0 -1
- package/chunk-URJCMUTT.cjs +0 -2
- package/chunk-URJCMUTT.cjs.map +0 -1
package/std/index.d.cts
CHANGED
@@ -1,76 +1,77 @@
|
|
1
|
-
import { as as AnyNumericVecInstance,
|
1
|
+
import { bn as TgpuDualFn, bo as AnyNumericVecInstance, H as AnyMatInstance, bp as vBaseForMat, bq as AnyFloatVecInstance, am as v3f, br as v3h, G as AnyVecInstance, bs as AnyVec2Instance, bt as v2b, bu as AnyVec3Instance, bv as v3b, bw as v4b, bx as AnyBooleanVecInstance, by as ScalarData, bz as atomicI32, bA as atomicU32, ap as v4f, aj as v2f, ak as v2i, an as v3i } from '../dataTypes-ts2Ccted.cjs';
|
2
|
+
import { d as TgpuSampledTexture, e as TgpuSampler } from '../sampler-DeX4AnIZ.cjs';
|
2
3
|
|
3
|
-
declare const discard: () => never
|
4
|
+
declare const discard: TgpuDualFn<() => never>;
|
4
5
|
|
5
|
-
declare const add: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T
|
6
|
-
declare const sub: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T
|
6
|
+
declare const add: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
|
+
declare const sub: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
8
|
type MulOverload = {
|
8
9
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: T, v: TVec): TVec;
|
9
10
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: TVec, v: T): TVec;
|
10
11
|
<T extends AnyNumericVecInstance | AnyMatInstance>(s: number | T, v: T): T;
|
11
12
|
};
|
12
13
|
declare const mul: MulOverload;
|
13
|
-
declare const abs: <T extends AnyNumericVecInstance | number>(value: T) => T
|
14
|
-
declare const atan2: <T extends AnyFloatVecInstance | number>(y: T, x: T) => T
|
15
|
-
declare const acos: <T extends AnyFloatVecInstance | number>(value: T) => T
|
16
|
-
declare const asin: <T extends AnyFloatVecInstance | number>(value: T) => T
|
14
|
+
declare const abs: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
15
|
+
declare const atan2: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(y: T, x: T) => T)>;
|
16
|
+
declare const acos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
|
+
declare const asin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
18
|
/**
|
18
19
|
* @privateRemarks
|
19
20
|
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
20
21
|
*/
|
21
|
-
declare const ceil: <T extends AnyFloatVecInstance | number>(value: T) => T
|
22
|
+
declare const ceil: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
22
23
|
/**
|
23
24
|
* @privateRemarks
|
24
25
|
* https://www.w3.org/TR/WGSL/#clamp
|
25
26
|
*/
|
26
|
-
declare const clamp: <T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T
|
27
|
+
declare const clamp: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T)>;
|
27
28
|
/**
|
28
29
|
* @privateRemarks
|
29
30
|
* https://www.w3.org/TR/WGSL/#cos-builtin
|
30
31
|
*/
|
31
|
-
declare const cos: <T extends AnyFloatVecInstance | number>(value: T) => T
|
32
|
+
declare const cos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
32
33
|
/**
|
33
34
|
* @privateRemarks
|
34
35
|
* https://www.w3.org/TR/WGSL/#cross-builtin
|
35
36
|
*/
|
36
|
-
declare const cross: <T extends v3f | v3h>(a: T, b: T) => T
|
37
|
+
declare const cross: TgpuDualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
|
37
38
|
/**
|
38
39
|
* @privateRemarks
|
39
40
|
* https://www.w3.org/TR/WGSL/#dot-builtin
|
40
41
|
*/
|
41
|
-
declare const dot: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number
|
42
|
-
declare const normalize: <T extends AnyFloatVecInstance>(v: T) => T
|
42
|
+
declare const dot: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number)>;
|
43
|
+
declare const normalize: TgpuDualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
|
43
44
|
/**
|
44
45
|
* @privateRemarks
|
45
46
|
* https://www.w3.org/TR/WGSL/#floor-builtin
|
46
47
|
*/
|
47
|
-
declare const floor: <T extends AnyFloatVecInstance | number>(value: T) => T
|
48
|
-
declare const fract: <T extends AnyFloatVecInstance | number>(a: T) => T
|
48
|
+
declare const floor: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
49
|
+
declare const fract: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T) => T)>;
|
49
50
|
/**
|
50
51
|
* @privateRemarks
|
51
52
|
* https://www.w3.org/TR/WGSL/#length-builtin
|
52
53
|
*/
|
53
|
-
declare const length: <T extends AnyFloatVecInstance | number>(value: T) => number
|
54
|
+
declare const length: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => number)>;
|
54
55
|
/**
|
55
56
|
* @privateRemarks
|
56
57
|
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
57
58
|
*/
|
58
|
-
declare const max: <T extends AnyNumericVecInstance | number>(a: T, b: T) => T
|
59
|
+
declare const max: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
59
60
|
/**
|
60
61
|
* @privateRemarks
|
61
62
|
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
62
63
|
*/
|
63
|
-
declare const min: <T extends AnyNumericVecInstance | number>(a: T, b: T) => T
|
64
|
+
declare const min: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
64
65
|
/**
|
65
66
|
* @privateRemarks
|
66
67
|
* https://www.w3.org/TR/WGSL/#sin-builtin
|
67
68
|
*/
|
68
|
-
declare const sin: <T extends AnyFloatVecInstance | number>(value: T) => T
|
69
|
+
declare const sin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
69
70
|
/**
|
70
71
|
* @privateRemarks
|
71
72
|
* https://www.w3.org/TR/WGSL/#exp-builtin
|
72
73
|
*/
|
73
|
-
declare const exp: <T extends AnyFloatVecInstance | number>(value: T) => T
|
74
|
+
declare const exp: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
74
75
|
type PowOverload = {
|
75
76
|
(base: number, exponent: number): number;
|
76
77
|
<T extends AnyFloatVecInstance>(base: T, exponent: T): T;
|
@@ -82,8 +83,9 @@ type MixOverload = {
|
|
82
83
|
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
|
83
84
|
};
|
84
85
|
declare const mix: MixOverload;
|
85
|
-
declare const reflect: <T extends AnyFloatVecInstance>(e1: T, e2: T) => T
|
86
|
-
declare const distance: <T extends AnyFloatVecInstance | number>(a: T, b: T) => number
|
86
|
+
declare const reflect: TgpuDualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
|
87
|
+
declare const distance: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T, b: T) => number)>;
|
88
|
+
declare const neg: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
87
89
|
|
88
90
|
/**
|
89
91
|
* Checks whether `lhs == rhs` on all components.
|
@@ -92,7 +94,7 @@ declare const distance: <T extends AnyFloatVecInstance | number>(a: T, b: T) =>
|
|
92
94
|
* allEq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns false
|
93
95
|
* allEq(vec3u(0, 1, 2), vec3u(0, 1, 2)) // returns true
|
94
96
|
*/
|
95
|
-
declare const allEq: <T extends AnyVecInstance>(lhs: T, rhs: T) => boolean
|
97
|
+
declare const allEq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => boolean)>;
|
96
98
|
/**
|
97
99
|
* Checks **component-wise** whether `lhs == rhs`.
|
98
100
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`, or use `allEq`.
|
@@ -102,7 +104,7 @@ declare const allEq: <T extends AnyVecInstance>(lhs: T, rhs: T) => boolean;
|
|
102
104
|
* all(eq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1))) // returns true
|
103
105
|
* allEq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1)) // returns true
|
104
106
|
*/
|
105
|
-
declare const eq: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
107
|
+
declare const eq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
106
108
|
/**
|
107
109
|
* Checks **component-wise** whether `lhs != rhs`.
|
108
110
|
* This function does **not** return `bool`, for that use-case, wrap the result in `any`.
|
@@ -111,7 +113,7 @@ declare const eq: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec
|
|
111
113
|
* ne(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, true)
|
112
114
|
* any(ne(vec4i(4, 3, 2, 1), vec4i(4, 2, 2, 1))) // returns true
|
113
115
|
*/
|
114
|
-
declare const ne: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
116
|
+
declare const ne: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
115
117
|
/**
|
116
118
|
* Checks **component-wise** whether `lhs < rhs`.
|
117
119
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -120,7 +122,7 @@ declare const ne: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec
|
|
120
122
|
* lt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, false)
|
121
123
|
* all(lt(vec4i(1, 2, 3, 4), vec4i(2, 3, 4, 5))) // returns true
|
122
124
|
*/
|
123
|
-
declare const lt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
125
|
+
declare const lt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
124
126
|
/**
|
125
127
|
* Checks **component-wise** whether `lhs <= rhs`.
|
126
128
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -129,7 +131,7 @@ declare const lt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
129
131
|
* le(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, true, false)
|
130
132
|
* all(le(vec4i(1, 2, 3, 4), vec4i(2, 3, 3, 5))) // returns true
|
131
133
|
*/
|
132
|
-
declare const le: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
134
|
+
declare const le: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
133
135
|
/**
|
134
136
|
* Checks **component-wise** whether `lhs > rhs`.
|
135
137
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -138,7 +140,7 @@ declare const le: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
138
140
|
* gt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, false, true)
|
139
141
|
* all(gt(vec4i(2, 3, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
140
142
|
*/
|
141
|
-
declare const gt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
143
|
+
declare const gt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
142
144
|
/**
|
143
145
|
* Checks **component-wise** whether `lhs >= rhs`.
|
144
146
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -147,42 +149,42 @@ declare const gt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
147
149
|
* ge(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, true)
|
148
150
|
* all(ge(vec4i(2, 2, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
149
151
|
*/
|
150
|
-
declare const ge: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
152
|
+
declare const ge: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
151
153
|
/**
|
152
154
|
* Returns **component-wise** `!value`.
|
153
155
|
* @example
|
154
156
|
* not(vec2b(false, true)) // returns vec2b(true, false)
|
155
157
|
* not(vec3b(true, true, false)) // returns vec3b(false, false, true)
|
156
158
|
*/
|
157
|
-
declare const not: <T extends AnyBooleanVecInstance>(value: T) => T
|
159
|
+
declare const not: TgpuDualFn<(<T extends AnyBooleanVecInstance>(value: T) => T)>;
|
158
160
|
/**
|
159
161
|
* Returns **component-wise** logical `or` result.
|
160
162
|
* @example
|
161
163
|
* or(vec2b(false, true), vec2b(false, false)) // returns vec2b(false, true)
|
162
164
|
* or(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(true, true, false)
|
163
165
|
*/
|
164
|
-
declare const or: <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T
|
166
|
+
declare const or: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
165
167
|
/**
|
166
168
|
* Returns **component-wise** logical `and` result.
|
167
169
|
* @example
|
168
170
|
* and(vec2b(false, true), vec2b(true, true)) // returns vec2b(false, true)
|
169
171
|
* and(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(false, true, false)
|
170
172
|
*/
|
171
|
-
declare const and: <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T
|
173
|
+
declare const and: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
172
174
|
/**
|
173
175
|
* Returns `true` if each component of `value` is true.
|
174
176
|
* @example
|
175
177
|
* all(vec2b(false, true)) // returns false
|
176
178
|
* all(vec3b(true, true, true)) // returns true
|
177
179
|
*/
|
178
|
-
declare const all: (value: AnyBooleanVecInstance) => boolean
|
180
|
+
declare const all: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
179
181
|
/**
|
180
182
|
* Returns `true` if any component of `value` is true.
|
181
183
|
* @example
|
182
184
|
* any(vec2b(false, true)) // returns true
|
183
185
|
* any(vec3b(false, false, false)) // returns false
|
184
186
|
*/
|
185
|
-
declare const any: (value: AnyBooleanVecInstance) => boolean
|
187
|
+
declare const any: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
186
188
|
/**
|
187
189
|
* Checks whether the given elements differ by at most the `precision` value.
|
188
190
|
* Checks all elements of `lhs` and `rhs` if arguments are vectors.
|
@@ -192,7 +194,7 @@ declare const any: (value: AnyBooleanVecInstance) => boolean;
|
|
192
194
|
*
|
193
195
|
* @param {number} precision argument that specifies the maximum allowed difference, 0.01 by default.
|
194
196
|
*/
|
195
|
-
declare const isCloseTo: <T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean
|
197
|
+
declare const isCloseTo: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean)>;
|
196
198
|
type SelectOverload = {
|
197
199
|
<T extends ScalarData | AnyVecInstance>(f: T, t: T, cond: boolean): T;
|
198
200
|
<T extends AnyVecInstance>(f: T, t: T, cond: T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b): T;
|
@@ -207,19 +209,52 @@ type SelectOverload = {
|
|
207
209
|
declare const select: SelectOverload;
|
208
210
|
|
209
211
|
type AnyAtomic = atomicI32 | atomicU32;
|
210
|
-
declare const workgroupBarrier: () => void
|
211
|
-
declare const storageBarrier: () => void
|
212
|
-
declare const textureBarrier: () => void
|
213
|
-
declare const atomicLoad: <T extends AnyAtomic>(a: T) => number
|
214
|
-
declare const atomicStore: <T extends AnyAtomic>(a: T, value: number) => void
|
215
|
-
declare const atomicAdd: <T extends AnyAtomic>(a: T, value: number) => number
|
216
|
-
declare const atomicSub: <T extends AnyAtomic>(a: T, value: number) => number
|
217
|
-
declare const atomicMax: <T extends AnyAtomic>(a: T, value: number) => number
|
218
|
-
declare const atomicMin: <T extends AnyAtomic>(a: T, value: number) => number
|
219
|
-
declare const atomicAnd: <T extends AnyAtomic>(a: T, value: number) => number
|
220
|
-
declare const atomicOr: <T extends AnyAtomic>(a: T, value: number) => number
|
221
|
-
declare const atomicXor: <T extends AnyAtomic>(a: T, value: number) => number
|
212
|
+
declare const workgroupBarrier: TgpuDualFn<() => void>;
|
213
|
+
declare const storageBarrier: TgpuDualFn<() => void>;
|
214
|
+
declare const textureBarrier: TgpuDualFn<() => void>;
|
215
|
+
declare const atomicLoad: TgpuDualFn<(<T extends AnyAtomic>(a: T) => number)>;
|
216
|
+
declare const atomicStore: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => void)>;
|
217
|
+
declare const atomicAdd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
218
|
+
declare const atomicSub: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
219
|
+
declare const atomicMax: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
220
|
+
declare const atomicMin: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
221
|
+
declare const atomicAnd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
|
+
declare const atomicOr: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
223
|
+
declare const atomicXor: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
224
|
|
223
|
-
declare const arrayLength: (a: unknown[]) => number
|
225
|
+
declare const arrayLength: TgpuDualFn<(a: unknown[]) => number>;
|
224
226
|
|
225
|
-
|
227
|
+
/**
|
228
|
+
* @privateRemarks
|
229
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack2x16float-builtin
|
230
|
+
*/
|
231
|
+
declare const unpack2x16float: TgpuDualFn<(e: number) => v2f>;
|
232
|
+
/**
|
233
|
+
* @privateRemarks
|
234
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack2x16float-builtin
|
235
|
+
*/
|
236
|
+
declare const pack2x16float: TgpuDualFn<(e: v2f) => number>;
|
237
|
+
/**
|
238
|
+
* @privateRemarks
|
239
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack4x8unorm-builtin
|
240
|
+
*/
|
241
|
+
declare const unpack4x8unorm: TgpuDualFn<(e: number) => v4f>;
|
242
|
+
/**
|
243
|
+
* @privateRemarks
|
244
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack4x8unorm-builtin
|
245
|
+
*/
|
246
|
+
declare const pack4x8unorm: TgpuDualFn<(e: v4f) => number>;
|
247
|
+
|
248
|
+
type TextureSampleOverload = {
|
249
|
+
<T extends TgpuSampledTexture<'1d'>>(texture: T, sampler: TgpuSampler, coords: number): v4f;
|
250
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f): v4f;
|
251
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f, offset: v2i): v4f;
|
252
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number): v4f;
|
253
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number, offset: v2i): v4f;
|
254
|
+
<T extends TgpuSampledTexture<'3d' | 'cube'>>(texture: T, sampler: TgpuSampler, coords: v3f): v4f;
|
255
|
+
<T extends TgpuSampledTexture<'3d'>>(texture: T, sampler: TgpuSampler, coords: v3f, offset: v3i): v4f;
|
256
|
+
<T extends TgpuSampledTexture<'cube-array'>>(texture: T, sampler: TgpuSampler, coords: v3f, arrayIndex: number): v4f;
|
257
|
+
};
|
258
|
+
declare const textureSample: TextureSampleOverload;
|
259
|
+
|
260
|
+
export { abs, acos, add, all, allEq, and, any, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, eq, exp, floor, fract, ge, gt, isCloseTo, le, length, lt, max, min, mix, mul, ne, neg, normalize, not, or, pack2x16float, pack4x8unorm, pow, reflect, select, sin, storageBarrier, sub, textureBarrier, textureSample, unpack2x16float, unpack4x8unorm, workgroupBarrier };
|
package/std/index.d.ts
CHANGED
@@ -1,76 +1,77 @@
|
|
1
|
-
import { as as AnyNumericVecInstance,
|
1
|
+
import { bn as TgpuDualFn, bo as AnyNumericVecInstance, H as AnyMatInstance, bp as vBaseForMat, bq as AnyFloatVecInstance, am as v3f, br as v3h, G as AnyVecInstance, bs as AnyVec2Instance, bt as v2b, bu as AnyVec3Instance, bv as v3b, bw as v4b, bx as AnyBooleanVecInstance, by as ScalarData, bz as atomicI32, bA as atomicU32, ap as v4f, aj as v2f, ak as v2i, an as v3i } from '../dataTypes-ts2Ccted.js';
|
2
|
+
import { d as TgpuSampledTexture, e as TgpuSampler } from '../sampler-CPNwYXSH.js';
|
2
3
|
|
3
|
-
declare const discard: () => never
|
4
|
+
declare const discard: TgpuDualFn<() => never>;
|
4
5
|
|
5
|
-
declare const add: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T
|
6
|
-
declare const sub: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T
|
6
|
+
declare const add: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
|
+
declare const sub: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T)>;
|
7
8
|
type MulOverload = {
|
8
9
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: T, v: TVec): TVec;
|
9
10
|
<T extends AnyMatInstance, TVec extends vBaseForMat<T>>(s: TVec, v: T): TVec;
|
10
11
|
<T extends AnyNumericVecInstance | AnyMatInstance>(s: number | T, v: T): T;
|
11
12
|
};
|
12
13
|
declare const mul: MulOverload;
|
13
|
-
declare const abs: <T extends AnyNumericVecInstance | number>(value: T) => T
|
14
|
-
declare const atan2: <T extends AnyFloatVecInstance | number>(y: T, x: T) => T
|
15
|
-
declare const acos: <T extends AnyFloatVecInstance | number>(value: T) => T
|
16
|
-
declare const asin: <T extends AnyFloatVecInstance | number>(value: T) => T
|
14
|
+
declare const abs: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
15
|
+
declare const atan2: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(y: T, x: T) => T)>;
|
16
|
+
declare const acos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
|
+
declare const asin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
17
18
|
/**
|
18
19
|
* @privateRemarks
|
19
20
|
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
20
21
|
*/
|
21
|
-
declare const ceil: <T extends AnyFloatVecInstance | number>(value: T) => T
|
22
|
+
declare const ceil: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
22
23
|
/**
|
23
24
|
* @privateRemarks
|
24
25
|
* https://www.w3.org/TR/WGSL/#clamp
|
25
26
|
*/
|
26
|
-
declare const clamp: <T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T
|
27
|
+
declare const clamp: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T, low: T, high: T) => T)>;
|
27
28
|
/**
|
28
29
|
* @privateRemarks
|
29
30
|
* https://www.w3.org/TR/WGSL/#cos-builtin
|
30
31
|
*/
|
31
|
-
declare const cos: <T extends AnyFloatVecInstance | number>(value: T) => T
|
32
|
+
declare const cos: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
32
33
|
/**
|
33
34
|
* @privateRemarks
|
34
35
|
* https://www.w3.org/TR/WGSL/#cross-builtin
|
35
36
|
*/
|
36
|
-
declare const cross: <T extends v3f | v3h>(a: T, b: T) => T
|
37
|
+
declare const cross: TgpuDualFn<(<T extends v3f | v3h>(a: T, b: T) => T)>;
|
37
38
|
/**
|
38
39
|
* @privateRemarks
|
39
40
|
* https://www.w3.org/TR/WGSL/#dot-builtin
|
40
41
|
*/
|
41
|
-
declare const dot: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number
|
42
|
-
declare const normalize: <T extends AnyFloatVecInstance>(v: T) => T
|
42
|
+
declare const dot: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => number)>;
|
43
|
+
declare const normalize: TgpuDualFn<(<T extends AnyFloatVecInstance>(v: T) => T)>;
|
43
44
|
/**
|
44
45
|
* @privateRemarks
|
45
46
|
* https://www.w3.org/TR/WGSL/#floor-builtin
|
46
47
|
*/
|
47
|
-
declare const floor: <T extends AnyFloatVecInstance | number>(value: T) => T
|
48
|
-
declare const fract: <T extends AnyFloatVecInstance | number>(a: T) => T
|
48
|
+
declare const floor: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
49
|
+
declare const fract: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T) => T)>;
|
49
50
|
/**
|
50
51
|
* @privateRemarks
|
51
52
|
* https://www.w3.org/TR/WGSL/#length-builtin
|
52
53
|
*/
|
53
|
-
declare const length: <T extends AnyFloatVecInstance | number>(value: T) => number
|
54
|
+
declare const length: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => number)>;
|
54
55
|
/**
|
55
56
|
* @privateRemarks
|
56
57
|
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
57
58
|
*/
|
58
|
-
declare const max: <T extends AnyNumericVecInstance | number>(a: T, b: T) => T
|
59
|
+
declare const max: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
59
60
|
/**
|
60
61
|
* @privateRemarks
|
61
62
|
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
62
63
|
*/
|
63
|
-
declare const min: <T extends AnyNumericVecInstance | number>(a: T, b: T) => T
|
64
|
+
declare const min: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(a: T, b: T) => T)>;
|
64
65
|
/**
|
65
66
|
* @privateRemarks
|
66
67
|
* https://www.w3.org/TR/WGSL/#sin-builtin
|
67
68
|
*/
|
68
|
-
declare const sin: <T extends AnyFloatVecInstance | number>(value: T) => T
|
69
|
+
declare const sin: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
69
70
|
/**
|
70
71
|
* @privateRemarks
|
71
72
|
* https://www.w3.org/TR/WGSL/#exp-builtin
|
72
73
|
*/
|
73
|
-
declare const exp: <T extends AnyFloatVecInstance | number>(value: T) => T
|
74
|
+
declare const exp: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(value: T) => T)>;
|
74
75
|
type PowOverload = {
|
75
76
|
(base: number, exponent: number): number;
|
76
77
|
<T extends AnyFloatVecInstance>(base: T, exponent: T): T;
|
@@ -82,8 +83,9 @@ type MixOverload = {
|
|
82
83
|
<T extends AnyFloatVecInstance>(e1: T, e2: T, e3: T): T;
|
83
84
|
};
|
84
85
|
declare const mix: MixOverload;
|
85
|
-
declare const reflect: <T extends AnyFloatVecInstance>(e1: T, e2: T) => T
|
86
|
-
declare const distance: <T extends AnyFloatVecInstance | number>(a: T, b: T) => number
|
86
|
+
declare const reflect: TgpuDualFn<(<T extends AnyFloatVecInstance>(e1: T, e2: T) => T)>;
|
87
|
+
declare const distance: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(a: T, b: T) => number)>;
|
88
|
+
declare const neg: TgpuDualFn<(<T extends AnyNumericVecInstance | number>(value: T) => T)>;
|
87
89
|
|
88
90
|
/**
|
89
91
|
* Checks whether `lhs == rhs` on all components.
|
@@ -92,7 +94,7 @@ declare const distance: <T extends AnyFloatVecInstance | number>(a: T, b: T) =>
|
|
92
94
|
* allEq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns false
|
93
95
|
* allEq(vec3u(0, 1, 2), vec3u(0, 1, 2)) // returns true
|
94
96
|
*/
|
95
|
-
declare const allEq: <T extends AnyVecInstance>(lhs: T, rhs: T) => boolean
|
97
|
+
declare const allEq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => boolean)>;
|
96
98
|
/**
|
97
99
|
* Checks **component-wise** whether `lhs == rhs`.
|
98
100
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`, or use `allEq`.
|
@@ -102,7 +104,7 @@ declare const allEq: <T extends AnyVecInstance>(lhs: T, rhs: T) => boolean;
|
|
102
104
|
* all(eq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1))) // returns true
|
103
105
|
* allEq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1)) // returns true
|
104
106
|
*/
|
105
|
-
declare const eq: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
107
|
+
declare const eq: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
106
108
|
/**
|
107
109
|
* Checks **component-wise** whether `lhs != rhs`.
|
108
110
|
* This function does **not** return `bool`, for that use-case, wrap the result in `any`.
|
@@ -111,7 +113,7 @@ declare const eq: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec
|
|
111
113
|
* ne(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, true)
|
112
114
|
* any(ne(vec4i(4, 3, 2, 1), vec4i(4, 2, 2, 1))) // returns true
|
113
115
|
*/
|
114
|
-
declare const ne: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
116
|
+
declare const ne: TgpuDualFn<(<T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
115
117
|
/**
|
116
118
|
* Checks **component-wise** whether `lhs < rhs`.
|
117
119
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -120,7 +122,7 @@ declare const ne: <T extends AnyVecInstance>(lhs: T, rhs: T) => T extends AnyVec
|
|
120
122
|
* lt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, false)
|
121
123
|
* all(lt(vec4i(1, 2, 3, 4), vec4i(2, 3, 4, 5))) // returns true
|
122
124
|
*/
|
123
|
-
declare const lt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
125
|
+
declare const lt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
124
126
|
/**
|
125
127
|
* Checks **component-wise** whether `lhs <= rhs`.
|
126
128
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -129,7 +131,7 @@ declare const lt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
129
131
|
* le(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, true, false)
|
130
132
|
* all(le(vec4i(1, 2, 3, 4), vec4i(2, 3, 3, 5))) // returns true
|
131
133
|
*/
|
132
|
-
declare const le: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
134
|
+
declare const le: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
133
135
|
/**
|
134
136
|
* Checks **component-wise** whether `lhs > rhs`.
|
135
137
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -138,7 +140,7 @@ declare const le: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
138
140
|
* gt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, false, true)
|
139
141
|
* all(gt(vec4i(2, 3, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
140
142
|
*/
|
141
|
-
declare const gt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
143
|
+
declare const gt: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
142
144
|
/**
|
143
145
|
* Checks **component-wise** whether `lhs >= rhs`.
|
144
146
|
* This function does **not** return `bool`, for that use-case, wrap the result in `all`.
|
@@ -147,42 +149,42 @@ declare const gt: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends
|
|
147
149
|
* ge(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, true)
|
148
150
|
* all(ge(vec4i(2, 2, 4, 5), vec4i(1, 2, 3, 4))) // returns true
|
149
151
|
*/
|
150
|
-
declare const ge: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b
|
152
|
+
declare const ge: TgpuDualFn<(<T extends AnyNumericVecInstance>(lhs: T, rhs: T) => T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b)>;
|
151
153
|
/**
|
152
154
|
* Returns **component-wise** `!value`.
|
153
155
|
* @example
|
154
156
|
* not(vec2b(false, true)) // returns vec2b(true, false)
|
155
157
|
* not(vec3b(true, true, false)) // returns vec3b(false, false, true)
|
156
158
|
*/
|
157
|
-
declare const not: <T extends AnyBooleanVecInstance>(value: T) => T
|
159
|
+
declare const not: TgpuDualFn<(<T extends AnyBooleanVecInstance>(value: T) => T)>;
|
158
160
|
/**
|
159
161
|
* Returns **component-wise** logical `or` result.
|
160
162
|
* @example
|
161
163
|
* or(vec2b(false, true), vec2b(false, false)) // returns vec2b(false, true)
|
162
164
|
* or(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(true, true, false)
|
163
165
|
*/
|
164
|
-
declare const or: <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T
|
166
|
+
declare const or: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
165
167
|
/**
|
166
168
|
* Returns **component-wise** logical `and` result.
|
167
169
|
* @example
|
168
170
|
* and(vec2b(false, true), vec2b(true, true)) // returns vec2b(false, true)
|
169
171
|
* and(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(false, true, false)
|
170
172
|
*/
|
171
|
-
declare const and: <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T
|
173
|
+
declare const and: TgpuDualFn<(<T extends AnyBooleanVecInstance>(lhs: T, rhs: T) => T)>;
|
172
174
|
/**
|
173
175
|
* Returns `true` if each component of `value` is true.
|
174
176
|
* @example
|
175
177
|
* all(vec2b(false, true)) // returns false
|
176
178
|
* all(vec3b(true, true, true)) // returns true
|
177
179
|
*/
|
178
|
-
declare const all: (value: AnyBooleanVecInstance) => boolean
|
180
|
+
declare const all: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
179
181
|
/**
|
180
182
|
* Returns `true` if any component of `value` is true.
|
181
183
|
* @example
|
182
184
|
* any(vec2b(false, true)) // returns true
|
183
185
|
* any(vec3b(false, false, false)) // returns false
|
184
186
|
*/
|
185
|
-
declare const any: (value: AnyBooleanVecInstance) => boolean
|
187
|
+
declare const any: TgpuDualFn<(value: AnyBooleanVecInstance) => boolean>;
|
186
188
|
/**
|
187
189
|
* Checks whether the given elements differ by at most the `precision` value.
|
188
190
|
* Checks all elements of `lhs` and `rhs` if arguments are vectors.
|
@@ -192,7 +194,7 @@ declare const any: (value: AnyBooleanVecInstance) => boolean;
|
|
192
194
|
*
|
193
195
|
* @param {number} precision argument that specifies the maximum allowed difference, 0.01 by default.
|
194
196
|
*/
|
195
|
-
declare const isCloseTo: <T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean
|
197
|
+
declare const isCloseTo: TgpuDualFn<(<T extends AnyFloatVecInstance | number>(lhs: T, rhs: T, precision?: number) => boolean)>;
|
196
198
|
type SelectOverload = {
|
197
199
|
<T extends ScalarData | AnyVecInstance>(f: T, t: T, cond: boolean): T;
|
198
200
|
<T extends AnyVecInstance>(f: T, t: T, cond: T extends AnyVec2Instance ? v2b : T extends AnyVec3Instance ? v3b : v4b): T;
|
@@ -207,19 +209,52 @@ type SelectOverload = {
|
|
207
209
|
declare const select: SelectOverload;
|
208
210
|
|
209
211
|
type AnyAtomic = atomicI32 | atomicU32;
|
210
|
-
declare const workgroupBarrier: () => void
|
211
|
-
declare const storageBarrier: () => void
|
212
|
-
declare const textureBarrier: () => void
|
213
|
-
declare const atomicLoad: <T extends AnyAtomic>(a: T) => number
|
214
|
-
declare const atomicStore: <T extends AnyAtomic>(a: T, value: number) => void
|
215
|
-
declare const atomicAdd: <T extends AnyAtomic>(a: T, value: number) => number
|
216
|
-
declare const atomicSub: <T extends AnyAtomic>(a: T, value: number) => number
|
217
|
-
declare const atomicMax: <T extends AnyAtomic>(a: T, value: number) => number
|
218
|
-
declare const atomicMin: <T extends AnyAtomic>(a: T, value: number) => number
|
219
|
-
declare const atomicAnd: <T extends AnyAtomic>(a: T, value: number) => number
|
220
|
-
declare const atomicOr: <T extends AnyAtomic>(a: T, value: number) => number
|
221
|
-
declare const atomicXor: <T extends AnyAtomic>(a: T, value: number) => number
|
212
|
+
declare const workgroupBarrier: TgpuDualFn<() => void>;
|
213
|
+
declare const storageBarrier: TgpuDualFn<() => void>;
|
214
|
+
declare const textureBarrier: TgpuDualFn<() => void>;
|
215
|
+
declare const atomicLoad: TgpuDualFn<(<T extends AnyAtomic>(a: T) => number)>;
|
216
|
+
declare const atomicStore: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => void)>;
|
217
|
+
declare const atomicAdd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
218
|
+
declare const atomicSub: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
219
|
+
declare const atomicMax: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
220
|
+
declare const atomicMin: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
221
|
+
declare const atomicAnd: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
|
+
declare const atomicOr: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
223
|
+
declare const atomicXor: TgpuDualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
|
222
224
|
|
223
|
-
declare const arrayLength: (a: unknown[]) => number
|
225
|
+
declare const arrayLength: TgpuDualFn<(a: unknown[]) => number>;
|
224
226
|
|
225
|
-
|
227
|
+
/**
|
228
|
+
* @privateRemarks
|
229
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack2x16float-builtin
|
230
|
+
*/
|
231
|
+
declare const unpack2x16float: TgpuDualFn<(e: number) => v2f>;
|
232
|
+
/**
|
233
|
+
* @privateRemarks
|
234
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack2x16float-builtin
|
235
|
+
*/
|
236
|
+
declare const pack2x16float: TgpuDualFn<(e: v2f) => number>;
|
237
|
+
/**
|
238
|
+
* @privateRemarks
|
239
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#unpack4x8unorm-builtin
|
240
|
+
*/
|
241
|
+
declare const unpack4x8unorm: TgpuDualFn<(e: number) => v4f>;
|
242
|
+
/**
|
243
|
+
* @privateRemarks
|
244
|
+
* https://gpuweb.github.io/gpuweb/wgsl/#pack4x8unorm-builtin
|
245
|
+
*/
|
246
|
+
declare const pack4x8unorm: TgpuDualFn<(e: v4f) => number>;
|
247
|
+
|
248
|
+
type TextureSampleOverload = {
|
249
|
+
<T extends TgpuSampledTexture<'1d'>>(texture: T, sampler: TgpuSampler, coords: number): v4f;
|
250
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f): v4f;
|
251
|
+
<T extends TgpuSampledTexture<'2d'>>(texture: T, sampler: TgpuSampler, coords: v2f, offset: v2i): v4f;
|
252
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number): v4f;
|
253
|
+
<T extends TgpuSampledTexture<'2d-array'>>(texture: T, sampler: TgpuSampler, coords: v2f, arrayIndex: number, offset: v2i): v4f;
|
254
|
+
<T extends TgpuSampledTexture<'3d' | 'cube'>>(texture: T, sampler: TgpuSampler, coords: v3f): v4f;
|
255
|
+
<T extends TgpuSampledTexture<'3d'>>(texture: T, sampler: TgpuSampler, coords: v3f, offset: v3i): v4f;
|
256
|
+
<T extends TgpuSampledTexture<'cube-array'>>(texture: T, sampler: TgpuSampler, coords: v3f, arrayIndex: number): v4f;
|
257
|
+
};
|
258
|
+
declare const textureSample: TextureSampleOverload;
|
259
|
+
|
260
|
+
export { abs, acos, add, all, allEq, and, any, arrayLength, asin, atan2, atomicAdd, atomicAnd, atomicLoad, atomicMax, atomicMin, atomicOr, atomicStore, atomicSub, atomicXor, ceil, clamp, cos, cross, discard, distance, dot, eq, exp, floor, fract, ge, gt, isCloseTo, le, length, lt, max, min, mix, mul, ne, neg, normalize, not, or, pack2x16float, pack4x8unorm, pow, reflect, select, sin, storageBarrier, sub, textureBarrier, textureSample, unpack2x16float, unpack4x8unorm, workgroupBarrier };
|