kodi
RenderCaptureDX.h
1 /*
2  * Copyright (C) 2005-2021 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "RenderCapture.h"
12 #include "guilib/D3DResource.h"
13 
14 #include <wrl/client.h>
15 
17 {
18 public:
20  ~CRenderCaptureDX() override;
21 
22  void BeginRender() override;
23  void EndRender() override;
24  void ReadOut() override;
25 
26  void OnDestroyDevice(bool fatal) override;
27  void OnCreateDevice() override{};
28  CD3DTexture& GetTarget() { return m_renderTex; }
29 
30 private:
31  void SurfaceToBuffer();
32  void CleanupDX();
33 
34  unsigned int m_surfaceWidth{0};
35  unsigned int m_surfaceHeight{0};
36  Microsoft::WRL::ComPtr<ID3D11Query> m_query{nullptr};
37  CD3DTexture m_renderTex;
38  CD3DTexture m_copyTex;
39 };
Definition: D3DResource.h:90
Definition: RenderCapture.h:23
Definition: D3DResource.h:36
Definition: RenderCaptureDX.h:16