Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CRenderSystemDX Class Referenceabstract

#include <RenderSystemDX.h>

Inheritance diagram for CRenderSystemDX:
CRenderSystemBase CWinSystemWin10DX CWinSystemWin32DX

Public Member Functions

 CRenderSystemDX ()
 
virtual ~CRenderSystemDX ()
 
bool InitRenderSystem () override
 
bool DestroyRenderSystem () override
 
bool BeginRender () override
 
bool EndRender () override
 
void PresentRender (bool rendered, bool videoLayer) override
 
bool ClearBuffers (KODI::UTILS::COLOR::Color color) override
 
void SetViewPort (const CRect &viewPort) override
 
void GetViewPort (CRect &viewPort) override
 
void RestoreViewPort () override
 
CRect ClipRectToScissorRect (const CRect &rect) override
 
bool ScissorsCanEffectClipping () override
 
void SetScissors (const CRect &rect) override
 
void ResetScissors () override
 
void CaptureStateBlock () override
 
void ApplyStateBlock () override
 
void SetCameraPosition (const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor=0.f) override
 
void SetStereoMode (RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view) override
 
bool SupportsStereo (RENDER_STEREO_MODE mode) const override
 
void Project (float &x, float &y, float &z) override
 
bool SupportsNPOT (bool dxt) const override
 
void OnDXDeviceLost () override
 
void OnDXDeviceRestored () override
 
CGUIShaderDXGetGUIShader () const
 
bool IsFormatSupport (DXGI_FORMAT format, unsigned int usage) const
 
CRect GetBackBufferRect ()
 
CD3DTextureGetBackBuffer ()
 
void FlushGPU () const
 
void RequestDecodingTime ()
 
void ReleaseDecodingTime ()
 
void SetAlphaBlendEnable (bool enable)
 
bool IsExtSupported (const char *extension) const override
 
bool ResetRenderSystem (int width, int height) override
 
- Public Member Functions inherited from CRenderSystemBase
 CRenderSystemBase ()
 
virtual ~CRenderSystemBase ()
 
virtual void InvalidateColorBuffer ()
 
virtual void SetDepthCulling (DEPTH_CULLING culling)
 
virtual std::string GetShaderPath (const std::string &filename)
 
void GetRenderVersion (unsigned int &major, unsigned int &minor) const
 
const std::string & GetRenderVendor () const
 
const std::string & GetRenderRenderer () const
 
const std::string & GetRenderVersionString () const
 
unsigned int GetMaxTextureSize () const
 
unsigned int GetMinDXTPitch () const
 
virtual void ShowSplash (const std::string &message)
 

Protected Member Functions

virtual void PresentRenderImpl (bool rendered)=0
 
bool CreateStates ()
 
bool InitGUIShader ()
 
void OnResize ()
 
void CheckInterlacedStereoView (void)
 
void CheckDeviceCaps ()
 

Protected Attributes

CCriticalSection m_resourceSection
 
CCriticalSection m_decoderSection
 
bool m_inScene { false }
 True if we're in a BeginScene()/EndScene() block.
 
bool m_BlendEnabled { false }
 
bool m_ScissorsEnabled { false }
 
D3D11_VIEWPORT m_viewPort
 
CRect m_scissor
 
CGUIShaderDXm_pGUIShader { nullptr }
 
Microsoft::WRL::ComPtr< ID3D11DepthStencilState > m_depthStencilState
 
Microsoft::WRL::ComPtr< ID3D11BlendState > m_BlendEnableState
 
Microsoft::WRL::ComPtr< ID3D11BlendState > m_BlendDisableState
 
Microsoft::WRL::ComPtr< ID3D11RasterizerState > m_RSScissorDisable
 
Microsoft::WRL::ComPtr< ID3D11RasterizerState > m_RSScissorEnable
 
CD3DTexture m_rightEyeTex
 
XbmcThreads::EndTime m_decodingTimer
 
XbmcThreads::ConditionVariable m_decodingEvent
 
std::shared_ptr< DX::DeviceResourcesm_deviceResources
 
- Protected Attributes inherited from CRenderSystemBase
bool m_bRenderCreated
 
bool m_bVSync
 
unsigned int m_maxTextureSize
 
unsigned int m_minDXTPitch
 
std::string m_RenderRenderer
 
std::string m_RenderVendor
 
std::string m_RenderVersion
 
int m_RenderVersionMinor
 
int m_RenderVersionMajor
 
RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF
 
RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF
 
bool m_limitedColorRange = false
 
bool m_transferPQ {false}
 
std::unique_ptr< CGUIImagem_splashImage
 
std::unique_ptr< CGUITextLayoutm_splashMessageLayout
 

Constructor & Destructor Documentation

◆ CRenderSystemDX()

CRenderSystemDX::CRenderSystemDX ( )

◆ ~CRenderSystemDX()

CRenderSystemDX::~CRenderSystemDX ( )
virtualdefault

Member Function Documentation

◆ ApplyStateBlock()

void CRenderSystemDX::ApplyStateBlock ( )
overridevirtual

Implements CRenderSystemBase.

◆ BeginRender()

bool CRenderSystemDX::BeginRender ( )
overridevirtual

Implements CRenderSystemBase.

◆ CaptureStateBlock()

void CRenderSystemDX::CaptureStateBlock ( )
overridevirtual

Implements CRenderSystemBase.

◆ CheckDeviceCaps()

void CRenderSystemDX::CheckDeviceCaps ( )
protected

◆ CheckInterlacedStereoView()

void CRenderSystemDX::CheckInterlacedStereoView ( void )
protected

◆ ClearBuffers()

bool CRenderSystemDX::ClearBuffers ( KODI::UTILS::COLOR::Color color)
overridevirtual

Implements CRenderSystemBase.

◆ ClipRectToScissorRect()

CRect CRenderSystemDX::ClipRectToScissorRect ( const CRect & rect)
overridevirtual

Reimplemented from CRenderSystemBase.

◆ CreateStates()

bool CRenderSystemDX::CreateStates ( )
protected

◆ DestroyRenderSystem()

bool CRenderSystemDX::DestroyRenderSystem ( )
overridevirtual

Implements CRenderSystemBase.

Reimplemented in CWinSystemWin10DX, and CWinSystemWin32DX.

◆ EndRender()

bool CRenderSystemDX::EndRender ( )
overridevirtual

Implements CRenderSystemBase.

◆ FlushGPU()

void CRenderSystemDX::FlushGPU ( ) const

◆ GetBackBuffer()

CD3DTexture & CRenderSystemDX::GetBackBuffer ( )

◆ GetBackBufferRect()

CRect CRenderSystemDX::GetBackBufferRect ( )

◆ GetGUIShader()

CGUIShaderDX * CRenderSystemDX::GetGUIShader ( ) const
inline

◆ GetViewPort()

void CRenderSystemDX::GetViewPort ( CRect & viewPort)
overridevirtual

Implements CRenderSystemBase.

◆ InitGUIShader()

bool CRenderSystemDX::InitGUIShader ( )
protected

◆ InitRenderSystem()

bool CRenderSystemDX::InitRenderSystem ( )
overridevirtual

Implements CRenderSystemBase.

◆ IsExtSupported()

bool CRenderSystemDX::IsExtSupported ( const char * extension) const
inlineoverridevirtual

Implements CRenderSystemBase.

◆ IsFormatSupport()

bool CRenderSystemDX::IsFormatSupport ( DXGI_FORMAT format,
unsigned int usage ) const

◆ OnDXDeviceLost()

void CRenderSystemDX::OnDXDeviceLost ( )
override

◆ OnDXDeviceRestored()

void CRenderSystemDX::OnDXDeviceRestored ( )
override

◆ OnResize()

void CRenderSystemDX::OnResize ( )
protected

◆ PresentRender()

void CRenderSystemDX::PresentRender ( bool rendered,
bool videoLayer )
overridevirtual

Implements CRenderSystemBase.

◆ PresentRenderImpl()

virtual void CRenderSystemDX::PresentRenderImpl ( bool rendered)
protectedpure virtual

Implemented in CWinSystemWin10DX, and CWinSystemWin32DX.

◆ Project()

void CRenderSystemDX::Project ( float & x,
float & y,
float & z )
overridevirtual

Project (x,y,z) 3d scene coordinates to (x,y) 2d screen coordinates

Reimplemented from CRenderSystemBase.

◆ ReleaseDecodingTime()

void CRenderSystemDX::ReleaseDecodingTime ( )

◆ RequestDecodingTime()

void CRenderSystemDX::RequestDecodingTime ( )

◆ ResetRenderSystem()

bool CRenderSystemDX::ResetRenderSystem ( int width,
int height )
inlineoverridevirtual

Implements CRenderSystemBase.

◆ ResetScissors()

void CRenderSystemDX::ResetScissors ( )
overridevirtual

Implements CRenderSystemBase.

◆ RestoreViewPort()

void CRenderSystemDX::RestoreViewPort ( )
overridevirtual

Reimplemented from CRenderSystemBase.

◆ ScissorsCanEffectClipping()

bool CRenderSystemDX::ScissorsCanEffectClipping ( )
overridevirtual

Reimplemented from CRenderSystemBase.

◆ SetAlphaBlendEnable()

void CRenderSystemDX::SetAlphaBlendEnable ( bool enable)

◆ SetCameraPosition()

void CRenderSystemDX::SetCameraPosition ( const CPoint & camera,
int screenWidth,
int screenHeight,
float stereoFactor = 0.f )
overridevirtual

Implements CRenderSystemBase.

◆ SetScissors()

void CRenderSystemDX::SetScissors ( const CRect & rect)
overridevirtual

Implements CRenderSystemBase.

◆ SetStereoMode()

void CRenderSystemDX::SetStereoMode ( RENDER_STEREO_MODE mode,
RENDER_STEREO_VIEW view )
overridevirtual

Reimplemented from CRenderSystemBase.

◆ SetViewPort()

void CRenderSystemDX::SetViewPort ( const CRect & viewPort)
overridevirtual

Implements CRenderSystemBase.

◆ SupportsNPOT()

bool CRenderSystemDX::SupportsNPOT ( bool dxt) const
overridevirtual

Reimplemented from CRenderSystemBase.

◆ SupportsStereo()

bool CRenderSystemDX::SupportsStereo ( RENDER_STEREO_MODE mode) const
overridevirtual

Reimplemented from CRenderSystemBase.

Member Data Documentation

◆ m_BlendDisableState

Microsoft::WRL::ComPtr<ID3D11BlendState> CRenderSystemDX::m_BlendDisableState
protected

◆ m_BlendEnabled

bool CRenderSystemDX::m_BlendEnabled { false }
protected

◆ m_BlendEnableState

Microsoft::WRL::ComPtr<ID3D11BlendState> CRenderSystemDX::m_BlendEnableState
protected

◆ m_decoderSection

CCriticalSection CRenderSystemDX::m_decoderSection
protected

◆ m_decodingEvent

XbmcThreads::ConditionVariable CRenderSystemDX::m_decodingEvent
protected

◆ m_decodingTimer

XbmcThreads::EndTime CRenderSystemDX::m_decodingTimer
protected

◆ m_depthStencilState

Microsoft::WRL::ComPtr<ID3D11DepthStencilState> CRenderSystemDX::m_depthStencilState
protected

◆ m_deviceResources

std::shared_ptr<DX::DeviceResources> CRenderSystemDX::m_deviceResources
protected

◆ m_inScene

bool CRenderSystemDX::m_inScene { false }
protected

True if we're in a BeginScene()/EndScene() block.

◆ m_pGUIShader

CGUIShaderDX* CRenderSystemDX::m_pGUIShader { nullptr }
protected

◆ m_resourceSection

CCriticalSection CRenderSystemDX::m_resourceSection
protected

◆ m_rightEyeTex

CD3DTexture CRenderSystemDX::m_rightEyeTex
protected

◆ m_RSScissorDisable

Microsoft::WRL::ComPtr<ID3D11RasterizerState> CRenderSystemDX::m_RSScissorDisable
protected

◆ m_RSScissorEnable

Microsoft::WRL::ComPtr<ID3D11RasterizerState> CRenderSystemDX::m_RSScissorEnable
protected

◆ m_scissor

CRect CRenderSystemDX::m_scissor
protected

◆ m_ScissorsEnabled

bool CRenderSystemDX::m_ScissorsEnabled { false }
protected

◆ m_viewPort

D3D11_VIEWPORT CRenderSystemDX::m_viewPort
protected

The documentation for this class was generated from the following files: