MetalTexture2D.h 956 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "GraphicsDevice/ITexture2D.h"
  3. #include "WebRTCMacros.h"
  4. namespace unity
  5. {
  6. namespace webrtc
  7. {
  8. class MTLTexture;
  9. struct MetalTexture2D : ITexture2D
  10. {
  11. public:
  12. MetalTexture2D(uint32_t w, uint32_t h, id<MTLTexture> tex);
  13. virtual ~MetalTexture2D();
  14. inline void* GetNativeTexturePtrV() override;
  15. inline const void* GetNativeTexturePtrV() const override;
  16. inline void* GetEncodeTexturePtrV() override;
  17. inline const void* GetEncodeTexturePtrV() const override;
  18. private:
  19. id<MTLTexture> m_texture;
  20. };
  21. void* MetalTexture2D::GetNativeTexturePtrV() { return m_texture; }
  22. const void* MetalTexture2D::GetNativeTexturePtrV() const { return m_texture; };
  23. void* MetalTexture2D::GetEncodeTexturePtrV() { return m_texture; }
  24. const void* MetalTexture2D::GetEncodeTexturePtrV() const { return m_texture; }
  25. } // end namespace webrtc
  26. } // end namespace unity