1617a3babSopenharmony_ci
2617a3babSopenharmony_ciStructuredBuffer<uint4>  sbuf : register(t10);
3617a3babSopenharmony_ci
4617a3babSopenharmony_ciuint4 get(in StructuredBuffer<uint4> sb, uint bufferOffset)
5617a3babSopenharmony_ci{
6617a3babSopenharmony_ci    return sb[bufferOffset];
7617a3babSopenharmony_ci}
8617a3babSopenharmony_ci
9617a3babSopenharmony_civoid set(in RWStructuredBuffer<uint4> sb, uint bufferOffset, uint4 data)
10617a3babSopenharmony_ci{
11617a3babSopenharmony_ci    sb[bufferOffset] = data;
12617a3babSopenharmony_ci}
13617a3babSopenharmony_ci
14617a3babSopenharmony_ciRWStructuredBuffer<uint4> sbuf2;
15617a3babSopenharmony_ci
16617a3babSopenharmony_ci// Not shared, because of type difference.
17617a3babSopenharmony_ciStructuredBuffer<uint3>  sbuf3 : register(t12);
18617a3babSopenharmony_ci
19617a3babSopenharmony_cifloat4 main(uint pos : FOO) : SV_Target0
20617a3babSopenharmony_ci{
21617a3babSopenharmony_ci    set(sbuf2, 2, get(sbuf, 3));
22617a3babSopenharmony_ci
23617a3babSopenharmony_ci    return 0;
24617a3babSopenharmony_ci}
25