@@ -6,10 +6,18 @@ struct StorageBufferStruct
66{
77 float4 Data;
88};
9+ struct StorageBufferStruct1
10+ {
11+ float4 Data;
12+ };
13+ struct StorageBufferStruct2
14+ {
15+ float4 Data;
16+ };
917
10- RWStructuredBuffer <StorageBufferStruct> RWStructBuff0 /*comment*/ :/*comment*/ register (u1)/*comment*/ ;
11- RWStructuredBuffer <StorageBufferStruct > RWStructBuff1;
12- RWStructuredBuffer <StorageBufferStruct > RWStructBuff2 : register (u2);
18+ RWStructuredBuffer <StorageBufferStruct> RWStructBuff0 /*comment*/ :/*comment*/ register (u1)/*comment*/ ;
19+ RWStructuredBuffer <StorageBufferStruct1 > RWStructBuff1;
20+ RWStructuredBuffer <StorageBufferStruct2 > RWStructBuff2 : register (u2);
1321
1422RWStructuredBuffer </*comment*/ int /*comment*/ > RWStructBuff3;
1523
@@ -37,9 +45,9 @@ void TestLoad()
3745 TexBuff_I.Load (Location.x);
3846 TexBuff_U.Load (Location.x);
3947 }
40- StorageBufferStruct Data0 = RWStructBuff0[Location.x];
41- StorageBufferStruct Data1 = RWStructBuff1[Location.y];
42- StorageBufferStruct Data3 = RWStructBuff2[Location.w];
48+ StorageBufferStruct Data0 = RWStructBuff0[Location.x];
49+ StorageBufferStruct1 Data1 = RWStructBuff1[Location.y];
50+ StorageBufferStruct2 Data2 = RWStructBuff2[Location.w];
4351
4452 int Data4 = RWStructBuff3[Location.z];
4553}
@@ -54,11 +62,15 @@ void TestStore(uint3 Location)
5462 TexBuff_I[Location.x] = int2 (1 ,2 );
5563 TexBuff_U[Location.x] = uint4 (1 ,2 ,3 ,4 );
5664 }
57- StorageBufferStruct Data0;
65+ StorageBufferStruct Data0;
66+ StorageBufferStruct1 Data1;
67+ StorageBufferStruct2 Data2;
5868 Data0.Data = float4 (0.0 , 1.0 , 2.0 , 3.0 );
69+ Data1.Data = float4 (0.0 , 1.0 , 2.0 , 3.0 );
70+ Data2.Data = float4 (0.0 , 1.0 , 2.0 , 3.0 );
5971 RWStructBuff0[Location.x] = Data0;
60- RWStructBuff1[Location.z] = Data0 ;
61- RWStructBuff2[Location.y] = Data0 ;
72+ RWStructBuff1[Location.z] = Data1 ;
73+ RWStructBuff2[Location.y] = Data2 ;
6274 RWStructBuff3[Location.x] = 16 ;
6375}
6476
0 commit comments