DecompressedShared is marked as groupshared, Decompressed is RWStructuredBuffer, lastDecompressedIndex is groupshared variable
uint index = 0;
for (uint j = lastDecompressedIndex; j < (lastDecompressedIndex + 2); j++)
{
Decompressed[j] = DecompressedShared[index];
index++;
}
Hovewer.. if I use code above, i got wrong result A | 0 | C | 0 ....
If I use this code instead:
Decompressed[lastDecompressedIndex + 0] = DecompressedShared[0];
Decompressed[lastDecompressedIndex + 1] = DecompressedShared[1];
I got correct result A | B | C | D ...
I dont understand it...