2
0

ComputeBufferCPU.h 924 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2026 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. #pragma once
  5. #include <Jolt/Compute/ComputeBuffer.h>
  6. #ifdef JPH_USE_CPU_COMPUTE
  7. JPH_NAMESPACE_BEGIN
  8. /// Buffer that can be used with the CPU compute system
  9. class JPH_EXPORT ComputeBufferCPU final : public ComputeBuffer
  10. {
  11. public:
  12. JPH_OVERRIDE_NEW_DELETE
  13. /// Constructor / destructor
  14. ComputeBufferCPU(EType inType, uint64 inSize, uint inStride, const void *inData);
  15. virtual ~ComputeBufferCPU() override;
  16. ComputeBufferResult CreateReadBackBuffer() const override;
  17. void * GetData() const { return mData; }
  18. private:
  19. virtual void * MapInternal(EMode inMode) override { return mData; }
  20. virtual void UnmapInternal() override { /* Nothing to do */ }
  21. void * mData;
  22. };
  23. JPH_NAMESPACE_END
  24. #endif // JPH_USE_CPU_COMPUTE