summaryrefslogtreecommitdiffstats
path: root/prelude
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-11-06 18:58:26 -0800
committerGitHub <noreply@github.com>2024-11-07 10:58:26 +0800
commit7c195d3b31c85d8b53ad5848b7730bb2be6c6a89 (patch)
tree118b6ab79c2af45281d40b2ada9dcc85c98d8e65 /prelude
parent65de5452b71a311d66169ea16334e84d7e6465c1 (diff)
Fix CUDA prelude for makeMatrix (#5509)
* Fix CUDA prelude for makeMatrix * Add regression test.
Diffstat (limited to 'prelude')
-rw-r--r--prelude/slang-cuda-prelude.h52
1 files changed, 26 insertions, 26 deletions
diff --git a/prelude/slang-cuda-prelude.h b/prelude/slang-cuda-prelude.h
index 9ac903955..46c6a4394 100644
--- a/prelude/slang-cuda-prelude.h
+++ b/prelude/slang-cuda-prelude.h
@@ -733,12 +733,12 @@ SLANG_FORCE_INLINE SLANG_CUDA_CALL Matrix<T, ROWS, COLS> makeMatrix(
Matrix<T, ROWS, COLS> rs;
if (COLS == 3)
{
- rs.rows[0].x = v0;
- rs.rows[0].y = v1;
- rs.rows[0].z = v2;
- rs.rows[1].x = v3;
- rs.rows[1].y = v4;
- rs.rows[1].z = v5;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 0) = v0;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 1) = v1;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 2) = v2;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 0) = v3;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 1) = v4;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 2) = v5;
}
else
{
@@ -766,14 +766,14 @@ SLANG_FORCE_INLINE SLANG_CUDA_CALL Matrix<T, ROWS, COLS> makeMatrix(
Matrix<T, ROWS, COLS> rs;
if (COLS == 4)
{
- rs.rows[0].x = v0;
- rs.rows[0].y = v1;
- rs.rows[0].z = v2;
- rs.rows[0].w = v3;
- rs.rows[1].x = v4;
- rs.rows[1].y = v5;
- rs.rows[1].z = v6;
- rs.rows[1].w = v7;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 0) = v0;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 1) = v1;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 2) = v2;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 3) = v3;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 0) = v4;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 1) = v5;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 2) = v6;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 3) = v7;
}
else
{
@@ -832,18 +832,18 @@ SLANG_FORCE_INLINE SLANG_CUDA_CALL Matrix<T, ROWS, COLS> makeMatrix(
Matrix<T, ROWS, COLS> rs;
if (COLS == 4)
{
- rs.rows[0].x = v0;
- rs.rows[0].y = v1;
- rs.rows[0].z = v2;
- rs.rows[0].w = v3;
- rs.rows[1].x = v4;
- rs.rows[1].y = v5;
- rs.rows[1].z = v6;
- rs.rows[1].w = v7;
- rs.rows[2].x = v8;
- rs.rows[2].y = v9;
- rs.rows[2].z = v10;
- rs.rows[2].w = v11;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 0) = v0;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 1) = v1;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 2) = v2;
+ *_slang_vector_get_element_ptr(&rs.rows[0], 3) = v3;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 0) = v4;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 1) = v5;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 2) = v6;
+ *_slang_vector_get_element_ptr(&rs.rows[1], 3) = v7;
+ *_slang_vector_get_element_ptr(&rs.rows[2], 0) = v8;
+ *_slang_vector_get_element_ptr(&rs.rows[2], 1) = v9;
+ *_slang_vector_get_element_ptr(&rs.rows[2], 2) = v10;
+ *_slang_vector_get_element_ptr(&rs.rows[2], 3) = v11;
}
else
{