summaryrefslogtreecommitdiffstats
path: root/tests/initializer-list/generic-array-init.slang
diff options
context:
space:
mode:
Diffstat (limited to 'tests/initializer-list/generic-array-init.slang')
-rw-r--r--tests/initializer-list/generic-array-init.slang26
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/initializer-list/generic-array-init.slang b/tests/initializer-list/generic-array-init.slang
index 4257e2972..83c14ebd2 100644
--- a/tests/initializer-list/generic-array-init.slang
+++ b/tests/initializer-list/generic-array-init.slang
@@ -2,7 +2,7 @@
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUFFER):-shaderobj -mtl
//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUFFER):-cpu -compute -entry computeMain
-//TEST_INPUT:ubuffer(data=[9 9 9 9], stride=4):out,name=outputBuffer
+//TEST_INPUT:ubuffer(data=[9 9 9 9 9 9 9 9 9 9 9 9], stride=4):out,name=outputBuffer
RWStructuredBuffer<int> outputBuffer;
void test<let TSize : uint>()
@@ -18,6 +18,28 @@ void test<let TSize : uint>()
outputBuffer[2] = array[2];
// BUFFER-NEXT: 3
outputBuffer[3] = array.getCount();
+
+ vector<int, TSize> vec = {};
+
+ // BUFFER-NEXT: 0
+ outputBuffer[4] = vec[0];
+ // BUFFER-NEXT: 0
+ outputBuffer[5] = vec[1];
+ // BUFFER-NEXT: 0
+ outputBuffer[6] = vec[2];
+ // BUFFER-NEXT: 3
+ outputBuffer[7] = vec.getCount();
+
+ matrix<float, TSize, TSize-1> mat = {};
+
+ // BUFFER-NEXT: 0
+ outputBuffer[8] = (int)mat[0][0];
+ // BUFFER-NEXT: 0
+ outputBuffer[9] = (int)mat[1][1];
+ // BUFFER-NEXT: 0
+ outputBuffer[10] = (int)mat[2][1];
+ // BUFFER-NEXT: 3
+ outputBuffer[11] = mat.getCount(); // this is a bad name, getCount() is actually get the number of row.
}
[shader("compute")]
@@ -25,4 +47,4 @@ void test<let TSize : uint>()
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
test<3>();
-}
+}