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
 
void InvalidateColorBuffer () 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 SetDepthCulling (DepthCulling culling) override
 
void CaptureStateBlock () override
 
void ApplyStateBlock () override
 
void SetCameraPosition (const CPoint &camera, int screenWidth, int screenHeight, float stereoFactor=0.f) override
 
void SetStereoMode (RenderStereoMode mode, RenderStereoView view) override
 
bool SupportsStereo (RenderStereoMode 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 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)
 
virtual void OnAdvancedSettingsLoaded ()
 Call when the cached advanced settings values need to be refreshed. note: may execute on a different thread.
 
virtual bool GetEnabledFrontToBackRendering ()
 
virtual ClearFunction GetClearFunction ()
 
virtual bool GetShowSplashImage ()
 

Protected Member Functions

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

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< ID3D11DepthStencilState > m_depthStencilStateRO
 
Microsoft::WRL::ComPtr< ID3D11DepthStencilState > m_depthStencilStateRW
 
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
 
DepthCulling m_depthCulling {DepthCulling::OFF}
 
- Protected Attributes inherited from CRenderSystemBase
bool m_bRenderCreated {false}
 
bool m_bVSync {true}
 
unsigned int m_maxTextureSize {2048}
 
unsigned int m_minDXTPitch {0}
 
std::string m_RenderRenderer
 
std::string m_RenderVendor
 
std::string m_RenderVersion
 
int m_RenderVersionMinor {0}
 
int m_RenderVersionMajor {0}
 
RenderStereoView m_stereoView {RenderStereoView::OFF}
 
RenderStereoMode m_stereoMode {RenderStereoMode::OFF}
 
bool m_limitedColorRange {false}
 
bool m_transferPQ {false}
 
std::unique_ptr< CGUIImagem_splashImage
 
std::unique_ptr< CGUITextLayoutm_splashMessageLayout
 
CCriticalSection m_settingsSection
 
std::optional< intm_settingsCallbackHandle
 
bool m_guiFrontToBackRendering {false}
 
ClearFunction m_guiGeometryClear {ClearFunction::FIXED_FUNCTION}
 
bool m_showSplashImage {true}
 

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 ( )

◆ GetDepthStencilState()

ID3D11DepthStencilState * CRenderSystemDX::GetDepthStencilState ( )
protected

◆ 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.

◆ InvalidateColorBuffer()

void CRenderSystemDX::InvalidateColorBuffer ( )
overridevirtual

Reimplemented from 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.

◆ SetDepthCulling()

void CRenderSystemDX::SetDepthCulling ( DepthCulling culling)
overridevirtual

Reimplemented from CRenderSystemBase.

◆ SetScissors()

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

Implements CRenderSystemBase.

◆ SetStereoMode()

void CRenderSystemDX::SetStereoMode ( RenderStereoMode mode,
RenderStereoView 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 ( RenderStereoMode 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_depthCulling

DepthCulling CRenderSystemDX::m_depthCulling {DepthCulling::OFF}
protected

◆ m_depthStencilState

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

◆ m_depthStencilStateRO

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

◆ m_depthStencilStateRW

Microsoft::WRL::ComPtr<ID3D11DepthStencilState> CRenderSystemDX::m_depthStencilStateRW
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: