2
0

Buffer.cpp 843 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #include <AnKi/Gr/Buffer.h>
  6. #include <AnKi/Gr/Vulkan/BufferImpl.h>
  7. #include <AnKi/Gr/GrManager.h>
  8. namespace anki
  9. {
  10. Buffer* Buffer::newInstance(GrManager* manager, const BufferInitInfo& init)
  11. {
  12. BufferImpl* impl = manager->getAllocator().newInstance<BufferImpl>(manager, init.getName());
  13. const Error err = impl->init(init);
  14. if(err)
  15. {
  16. manager->getAllocator().deleteInstance(impl);
  17. impl = nullptr;
  18. }
  19. return impl;
  20. }
  21. void* Buffer::map(PtrSize offset, PtrSize range, BufferMapAccessBit access)
  22. {
  23. ANKI_VK_SELF(BufferImpl);
  24. return self.map(offset, range, access);
  25. }
  26. void Buffer::unmap()
  27. {
  28. ANKI_VK_SELF(BufferImpl);
  29. self.unmap();
  30. }
  31. } // end namespace anki