载入中...
搜索中...
未找到
KernelGenWgslBindings.cpp
浏览该文件的文档.
19// Specialize only our generated declarations and identifier tokens, never arbitrary user shaders.
20void specializeSource(std::string &source, const std::vector<int> &representatives, int inputCount) {
24 const std::string prefix = "@group(0) @binding(" + std::to_string(i) + ") var<storage, read_write> ";
41 while (i < source.size() && (std::isalnum(static_cast<unsigned char>(source[i])) || source[i] == '_')) ++i;
56 const auto [it, inserted] = first.emplace(storageNode(graph, group.inputs[static_cast<size_t>(i)]), i);
61 if (!spec.pass2.empty()) specializeSource(spec.pass2, spec.inputRepresentatives, spec.inputCount);
Definition KernelGenWgsl.cpp:11
void specializeInputBindings(const Graph &graph, const FusedGroup &group, KernelSpec &spec)
Specialize input bindings.
Definition KernelGenWgslBindings.cpp:53
@ Flatten
@ Reshape
std::vector< int > inputRepresentatives
Input slot to representative slot; empty means identity. WGSL aliases repeated read inputs to one dec...
Definition KernelGen.h:34