123456789101112131415161718192021222324 |
- struct sb_t
- {
- float3 color;
- bool test;
- bool test2;
- }; // stride = 20
- StructuredBuffer<sb_t> sbuf : register(c10);
- StructuredBuffer<float> sbuf2;
- float4 main(uint pos : FOO) : SV_Target0
- {
- sb_t mydata = sbuf.Load(pos);
- uint size;
- uint stride;
- sbuf.GetDimensions(size, stride);
- if (sbuf[pos].test)
- return float4(sbuf[pos].color + sbuf2[pos], 0);
- else
- return mydata.color.x + size + stride;
- }
|