diff options
| author | Yong He <yonghe@outlook.com> | 2023-02-16 13:55:32 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-16 13:55:32 -0800 |
| commit | 4c4826d47eeef4675daae4ae53ff76f4d5ebd84a (patch) | |
| tree | ed4af0ded878e4f06e9641ce61d26ffd7c89ccbc /source/slang/slang-ir-collect-global-uniforms.cpp | |
| parent | eda88e513e8b1e2abc05e9dc8555f237d96472df (diff) | |
Overhaul global inst deduplication and cpp/cuda backend. (#2654)
* Overhaul global inst deduplication and cpp/cuda backend.
* Update IR documentation.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-collect-global-uniforms.cpp')
| -rw-r--r-- | source/slang/slang-ir-collect-global-uniforms.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/slang/slang-ir-collect-global-uniforms.cpp b/source/slang/slang-ir-collect-global-uniforms.cpp index ca5e56b53..ad0dfda91 100644 --- a/source/slang/slang-ir-collect-global-uniforms.cpp +++ b/source/slang/slang-ir-collect-global-uniforms.cpp @@ -192,7 +192,8 @@ struct CollectGlobalUniformParametersContext // per-field layout information to reference the key we created // instead of the existing parameter (which we will be removing). // - fieldLayoutAttr->setOperand(0, fieldKey); + fieldLayoutAttr = as<IRStructFieldLayoutAttr>( + builder->replaceOperand(fieldLayoutAttr->getOperands(), fieldKey)); // If the given parameter doesn't contribute to uniform/ordinary usage, then // we can safely leave it at the global scope and potentially avoid a lot @@ -266,7 +267,7 @@ struct CollectGlobalUniformParametersContext // if(auto layoutAttr = as<IRStructFieldLayoutAttr>(user)) { - layoutAttr->setOperand(0, fieldKey); + builder->replaceOperand(layoutAttr->getOperands(), fieldKey); continue; } |
