BsGpuBufferView.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #include "BsGpuBufferView.h"
  5. #include "BsUtil.h"
  6. namespace BansheeEngine
  7. {
  8. size_t GpuBufferView::HashFunction::operator()(const GPU_BUFFER_DESC& key) const
  9. {
  10. size_t seed = 0;
  11. hash_combine(seed, key.elementWidth);
  12. hash_combine(seed, key.firstElement);
  13. hash_combine(seed, key.numElements);
  14. hash_combine(seed, key.useCounter);
  15. hash_combine(seed, key.usage);
  16. return seed;
  17. }
  18. bool GpuBufferView::EqualFunction::operator()
  19. (const GPU_BUFFER_DESC& a, const GPU_BUFFER_DESC& b) const
  20. {
  21. return a.elementWidth == b.elementWidth && a.firstElement == b.firstElement
  22. && a.numElements == b.numElements && a.useCounter == b.useCounter && a.usage == b.usage;
  23. }
  24. GpuBufferView::GpuBufferView()
  25. {
  26. }
  27. GpuBufferView::~GpuBufferView()
  28. {
  29. }
  30. void GpuBufferView::initialize(GpuBufferPtr buffer, GPU_BUFFER_DESC& desc)
  31. {
  32. mBuffer = buffer;
  33. mDesc = desc;
  34. }
  35. }