diff options
Diffstat (limited to 'source/slang/slang-emit-cpp.cpp')
| -rw-r--r-- | source/slang/slang-emit-cpp.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/source/slang/slang-emit-cpp.cpp b/source/slang/slang-emit-cpp.cpp index 99d1fbf22..f3d16444a 100644 --- a/source/slang/slang-emit-cpp.cpp +++ b/source/slang/slang-emit-cpp.cpp @@ -1166,8 +1166,18 @@ void CPPSourceEmitter::_emitConstructConvertDefinition(const UnownedStringSlice& { writer->emit(", \n"); } - writer->emit(rowTypeName); - writer->emit("{ "); + + if (m_target == CodeGenTarget::CUDASource) + { + m_writer->emit("make_"); + writer->emit(rowTypeName); + m_writer->emit("("); + } + else + { + writer->emit(rowTypeName); + writer->emit("{ "); + } } for (int j = 0; j < dim.colCount; ++j) @@ -1184,7 +1194,14 @@ void CPPSourceEmitter::_emitConstructConvertDefinition(const UnownedStringSlice& } if (dim.rowCount > 1) { - writer->emit("}"); + if (m_target == CodeGenTarget::CUDASource) + { + writer->emit(")"); + } + else + { + writer->emit("}"); + } } } |
