Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

CopyBuffer.compute 559B

123456789101112131415161718192021222324
  1. #define GROUP_SIZE 256
  2. #define ELEMENTS_PER_THREAD 8
  3. StructuredBuffer<uint> _SrcBuffer;
  4. int _SrcOffset;
  5. RWStructuredBuffer<uint> _DstBuffer;
  6. int _DstOffset;
  7. int _Size;
  8. #pragma kernel CopyBuffer
  9. [numthreads(GROUP_SIZE,1,1)]
  10. void CopyBuffer(uint gidx : SV_DispatchThreadID)
  11. {
  12. for (int i = 0; i < ELEMENTS_PER_THREAD; ++i)
  13. {
  14. int elemIndex = gidx * ELEMENTS_PER_THREAD + i;
  15. if (elemIndex >= _Size)
  16. return;
  17. uint value = _SrcBuffer[elemIndex + _SrcOffset];
  18. _DstBuffer[elemIndex + _DstOffset] = value;
  19. }
  20. }