From 490834924cc390cb812713c225b9a8227c66cf1f Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 20 Sep 2024 15:11:23 -0700 Subject: Initial `Atomic` type implementation. (#5125) * Initial Atomic type implementation. * Update design doc. * Fix. * Add test. * Fixes and add tests. * Fix WGSL. * Fix glsl. * Fix metal. * experiemnt with github metal. * experiment github metal 2 * github metal experiment 3 * experiment with github metal 4. * experiment with metal 5. * experiment 7. * metal experiment 8. * Fix metal tests. --------- Co-authored-by: Yong He --- source/slang/slang-check-expr.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-check-expr.cpp') diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index 5233008fd..1b9725a8c 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -2274,10 +2274,14 @@ namespace Slang expr->left = maybeOpenRef(expr->left); auto type = expr->left->type; + if (auto atomicType = as(type)) + { + type = atomicType->getElementType(); + } auto right = maybeOpenRef(expr->right); expr->right = coerce(CoercionSite::Assignment, type, right); - if (!type.isLeftValue) + if (!expr->left->type.isLeftValue) { if (as(type)) { -- cgit v1.2.3