CmGpuParamBlockBuffer.cpp 948 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "CmGpuParamBlockBuffer.h"
  2. namespace CamelotFramework
  3. {
  4. GpuParamBlockBuffer::GpuParamBlockBuffer()
  5. :mSize(0), mUsage(GPBU_DYNAMIC)
  6. {
  7. }
  8. GpuParamBlockBuffer::~GpuParamBlockBuffer()
  9. {
  10. }
  11. void GpuParamBlockBuffer::initialize(UINT32 size, GpuParamBlockUsage usage)
  12. {
  13. mSize = size;
  14. mUsage = usage;
  15. CoreObject::initialize();
  16. }
  17. void GenericGpuParamBlockBuffer::writeData(const UINT8* data)
  18. {
  19. memcpy(mData, data, mSize);
  20. }
  21. void GenericGpuParamBlockBuffer::readData(UINT8* data) const
  22. {
  23. memcpy(data, mData, mSize);
  24. }
  25. void GenericGpuParamBlockBuffer::initialize_internal()
  26. {
  27. mData = CM_NEW_BYTES(mSize, ScratchAlloc);
  28. memset(mData, 0, mSize);
  29. GpuParamBlockBuffer::initialize_internal();
  30. }
  31. void GenericGpuParamBlockBuffer::destroy_internal()
  32. {
  33. if(mData != nullptr)
  34. CM_DELETE_BYTES(mData, ScratchAlloc);
  35. GpuParamBlockBuffer::destroy_internal();
  36. }
  37. }