ComputeBufferCPU.cpp 825 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2026 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. #include <Jolt/Jolt.h>
  5. #ifdef JPH_USE_CPU_COMPUTE
  6. #include <Jolt/Compute/CPU/ComputeBufferCPU.h>
  7. JPH_NAMESPACE_BEGIN
  8. ComputeBufferCPU::ComputeBufferCPU(EType inType, uint64 inSize, uint inStride, const void *inData) :
  9. ComputeBuffer(inType, inSize, inStride)
  10. {
  11. size_t buffer_size = size_t(mSize) * mStride;
  12. mData = Allocate(buffer_size);
  13. if (inData != nullptr)
  14. memcpy(mData, inData, buffer_size);
  15. }
  16. ComputeBufferCPU::~ComputeBufferCPU()
  17. {
  18. Free(mData);
  19. }
  20. ComputeBufferResult ComputeBufferCPU::CreateReadBackBuffer() const
  21. {
  22. ComputeBufferResult result;
  23. result.Set(const_cast<ComputeBufferCPU *>(this));
  24. return result;
  25. }
  26. JPH_NAMESPACE_END
  27. #endif // JPH_USE_CPU_COMPUTE