D3D11Texture2D.h 1019 B

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