onnxruntime/js/web/lib/wasm/jsep/webgpu
Yulong Wang 50e6235af1
[js/web] allow ShaderHelper to use internal (non-I/O) variables (#18525)
### Description
This PR includes a change that inspired from #18452 to resolve a
requirement: a shader may depend on an instance of `IndicesHelper` to
generate WGSL code snippet, but the IndicesHelper instance is not
necessarily an input/output of the program. So the existing
`declareVariables()` function does not work with this scenario.

In order to support this requirement, I added this "use" function to
`interface ShaderHelper`, which takes a helper-like object as parameter.
The hidden implementation `ShaderHelperImpl` class will iterate the
helpers and call `impl()` for each.

@axinging @qjia7
2023-11-28 15:15:59 -08:00
..
ops [js/web] allow ShaderHelper to use internal (non-I/O) variables (#18525) 2023-11-28 15:15:59 -08:00
attribute-with-cache-key.ts [js] optimize eslint config (#18460) 2023-11-20 12:00:56 -08:00
gpu-data-manager.ts [js/webgpu] support using uniform buffer (#17803) 2023-10-10 00:31:12 -07:00
op-resolve-rules.ts [js/webgpu] Add BatchNormalization Op (#18468) 2023-11-22 15:58:06 -08:00
program-manager.ts [js/web] fix typescript type check (#18343) 2023-11-10 16:03:38 -08:00
types.ts [js/webgpu] revise uniform support (#17871) 2023-10-11 16:41:46 -07:00