Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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. }