BsVulkanTextureManager.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsVulkanTextureManager.h"
  4. #include "BsVulkanTexture.h"
  5. #include "BsVulkanRenderTexture.h"
  6. namespace bs
  7. {
  8. SPtr<RenderTexture> VulkanTextureManager::createRenderTextureImpl(const RENDER_TEXTURE_DESC& desc)
  9. {
  10. VulkanRenderTexture* tex = new (bs_alloc<VulkanRenderTexture>()) VulkanRenderTexture(desc);
  11. return bs_core_ptr<VulkanRenderTexture>(tex);
  12. }
  13. PixelFormat VulkanTextureManager::getNativeFormat(TextureType ttype, PixelFormat format, int usage, bool hwGamma)
  14. {
  15. return PF_R8G8B8A8;;
  16. }
  17. SPtr<TextureCore> VulkanTextureCoreManager::createTextureInternal(const TEXTURE_DESC& desc,
  18. const SPtr<PixelData>& initialData, GpuDeviceFlags deviceMask)
  19. {
  20. VulkanTextureCore* tex = new (bs_alloc<VulkanTextureCore>()) VulkanTextureCore(desc, initialData, deviceMask);
  21. SPtr<VulkanTextureCore> texPtr = bs_shared_ptr<VulkanTextureCore>(tex);
  22. texPtr->_setThisPtr(texPtr);
  23. return texPtr;
  24. }
  25. SPtr<RenderTextureCore> VulkanTextureCoreManager::createRenderTextureInternal(const RENDER_TEXTURE_DESC_CORE& desc,
  26. UINT32 deviceIdx)
  27. {
  28. SPtr<VulkanRenderTextureCore> texPtr = bs_shared_ptr_new<VulkanRenderTextureCore>(desc, deviceIdx);
  29. texPtr->_setThisPtr(texPtr);
  30. return texPtr;
  31. }
  32. }