Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
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 (UTILS::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 Interlaced () 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)
 

Public Attributes

std::vector< AVPixelFormat > m_processorFormats
 
std::vector< AVPixelFormat > m_sharedFormats
 
std::vector< AVPixelFormat > m_shaderFormats
 

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_interlaced
 
bool m_inScene { false }
 True if we're in a BeginScene()/EndScene() block. More...
 
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
 
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 ( UTILS::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 CWinSystemWin32DX, and CWinSystemWin10DX.

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

§ Interlaced()

bool CRenderSystemDX::Interlaced ( ) const
inline

§ 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 CWinSystemWin32DX, and CWinSystemWin10DX.

§ 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_interlaced

bool CRenderSystemDX::m_interlaced
protected

§ m_pGUIShader

CGUIShaderDX* CRenderSystemDX::m_pGUIShader { nullptr }
protected

§ m_processorFormats

std::vector<AVPixelFormat> CRenderSystemDX::m_processorFormats

§ 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_shaderFormats

std::vector<AVPixelFormat> CRenderSystemDX::m_shaderFormats

§ m_sharedFormats

std::vector<AVPixelFormat> CRenderSystemDX::m_sharedFormats

§ m_viewPort

D3D11_VIEWPORT CRenderSystemDX::m_viewPort
protected

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