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