DDraceNetwork Documentation
Loading...
Searching...
No Matches
CGraphicsBackend_SDL_GL Class Reference

#include <backend_sdl.h>

Inheritance diagram for CGraphicsBackend_SDL_GL:
[legend]
Collaboration diagram for CGraphicsBackend_SDL_GL:
[legend]

Public Member Functions

 CGraphicsBackend_SDL_GL (TTranslateFunc &&TranslateFunc)
int Init (const char *pName, int *pScreen, int *pWidth, int *pHeight, int *pRefreshRate, int *pFsaaSamples, int Flags, int *pDesktopWidth, int *pDesktopHeight, int *pCurrentWidth, int *pCurrentHeight, class IStorage *pStorage) override
int Shutdown () override
uint64_t TextureMemoryUsage () const override
uint64_t BufferMemoryUsage () const override
uint64_t StreamedMemoryUsage () const override
uint64_t StagingMemoryUsage () const override
const TTwGraphicsGpuListGetGpus () const override
int GetNumScreens () const override
const char * GetScreenName (int Screen) const override
void GetVideoModes (CVideoMode *pModes, int MaxModes, int *pNumModes, float HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int ScreenId) override
void GetCurrentVideoMode (CVideoMode &CurMode, float HiDPIScale, int MaxWindowWidth, int MaxWindowHeight, int ScreenId) override
void Minimize () override
void SetWindowParams (int FullscreenMode, bool IsBorderless) override
bool SetWindowScreen (int Index, bool MoveToCenter) override
bool UpdateDisplayMode (int Index) override
int GetWindowScreen () override
int WindowActive () override
int WindowOpen () override
void SetWindowGrab (bool Grab) override
bool ResizeWindow (int w, int h, int RefreshRate) override
void GetViewportSize (int &w, int &h) override
void NotifyWindow () override
bool IsScreenKeyboardShown () override
void WindowDestroyNtf (uint32_t WindowId) override
void WindowCreateNtf (uint32_t WindowId) override
bool GetDriverVersion (EGraphicsDriverAgeType DriverAgeType, int &Major, int &Minor, int &Patch, const char *&pName, EBackendType BackendType) override
bool IsConfigModernAPI () override
bool UseTrianglesAsQuad () override
bool HasTileBuffering () override
bool HasQuadBuffering () override
bool HasTextBuffering () override
bool HasQuadContainerBuffering () override
bool Uses2DTextureArrays () override
bool HasTextureArraysSupport () override
const char * GetErrorString () override
const char * GetVendorString () override
const char * GetVersionString () override
const char * GetRendererString () override
TGLBackendReadPresentedImageDataGetReadPresentedImageDataFuncUnsafe () override
std::optional< int > ShowMessageBox (const IGraphics::CMessageBox &MessageBox) override
Public Member Functions inherited from CGraphicsBackend_Threaded
 CGraphicsBackend_Threaded (TTranslateFunc &&TranslateFunc)
void RunBuffer (CCommandBuffer *pBuffer) override
void RunBufferSingleThreadedUnsafe (CCommandBuffer *pBuffer) override
bool IsIdle () const override
void WaitForIdle () override
void ProcessError (const SGfxErrorContainer &Error)
bool GetWarning (std::vector< std::string > &WarningStrings) override
Public Member Functions inherited from IGraphicsBackend
virtual ~IGraphicsBackend ()=default

Static Public Member Functions

static bool IsModernAPI (EBackendType BackendType)

Static Private Member Functions

static EBackendType DetectBackend ()
static void ClampDriverVersion (EBackendType BackendType)

Private Attributes

SDL_Window * m_pWindow = nullptr
SDL_GLContext m_GLContext = nullptr
ICommandProcessorm_pProcessor = nullptr
std::atomic< uint64_t > m_TextureMemoryUsage {0}
std::atomic< uint64_t > m_BufferMemoryUsage {0}
std::atomic< uint64_t > m_StreamMemoryUsage {0}
std::atomic< uint64_t > m_StagingMemoryUsage {0}
TTwGraphicsGpuList m_GpuList
TGLBackendReadPresentedImageData m_ReadPresentedImageDataFunc
int m_NumScreens
SBackendCapabilities m_Capabilities
char m_aVendorString [gs_GpuInfoStringSize] = {}
char m_aVersionString [gs_GpuInfoStringSize] = {}
char m_aRendererString [gs_GpuInfoStringSize] = {}
EBackendType m_BackendType = BACKEND_TYPE_AUTO
char m_aErrorString [256]

Additional Inherited Members

Public Types inherited from IGraphicsBackend
enum  {
  INITFLAG_FULLSCREEN = 1 << 0 , INITFLAG_VSYNC = 1 << 1 , INITFLAG_RESIZABLE = 1 << 2 , INITFLAG_BORDERLESS = 1 << 3 ,
  INITFLAG_DESKTOP_FULLSCREEN = 1 << 4
}
Protected Member Functions inherited from CGraphicsBackend_Threaded
void StartProcessor (ICommandProcessor *pProcessor)
void StopProcessor ()
bool HasWarning () const

Constructor & Destructor Documentation

◆ CGraphicsBackend_SDL_GL()

CGraphicsBackend_SDL_GL::CGraphicsBackend_SDL_GL ( TTranslateFunc && TranslateFunc)

Member Function Documentation

◆ BufferMemoryUsage()

uint64_t CGraphicsBackend_SDL_GL::BufferMemoryUsage ( ) const
overridevirtual

Implements IGraphicsBackend.

◆ ClampDriverVersion()

void CGraphicsBackend_SDL_GL::ClampDriverVersion ( EBackendType BackendType)
staticprivate

◆ DetectBackend()

EBackendType CGraphicsBackend_SDL_GL::DetectBackend ( )
staticprivate

◆ GetCurrentVideoMode()

void CGraphicsBackend_SDL_GL::GetCurrentVideoMode ( CVideoMode & CurMode,
float HiDPIScale,
int MaxWindowWidth,
int MaxWindowHeight,
int ScreenId )
overridevirtual

Implements IGraphicsBackend.

◆ GetDriverVersion()

bool CGraphicsBackend_SDL_GL::GetDriverVersion ( EGraphicsDriverAgeType DriverAgeType,
int & Major,
int & Minor,
int & Patch,
const char *& pName,
EBackendType BackendType )
overridevirtual

Implements IGraphicsBackend.

◆ GetErrorString()

const char * CGraphicsBackend_SDL_GL::GetErrorString ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ GetGpus()

const TTwGraphicsGpuList & CGraphicsBackend_SDL_GL::GetGpus ( ) const
overridevirtual

Implements IGraphicsBackend.

◆ GetNumScreens()

int CGraphicsBackend_SDL_GL::GetNumScreens ( ) const
inlineoverridevirtual

Implements IGraphicsBackend.

◆ GetReadPresentedImageDataFuncUnsafe()

TGLBackendReadPresentedImageData & CGraphicsBackend_SDL_GL::GetReadPresentedImageDataFuncUnsafe ( )
overridevirtual

Implements IGraphicsBackend.

◆ GetRendererString()

const char * CGraphicsBackend_SDL_GL::GetRendererString ( )
inlineoverridevirtual

Implements IGraphicsBackend.

◆ GetScreenName()

const char * CGraphicsBackend_SDL_GL::GetScreenName ( int Screen) const
overridevirtual

Implements IGraphicsBackend.

◆ GetVendorString()

const char * CGraphicsBackend_SDL_GL::GetVendorString ( )
inlineoverridevirtual

Implements IGraphicsBackend.

◆ GetVersionString()

const char * CGraphicsBackend_SDL_GL::GetVersionString ( )
inlineoverridevirtual

Implements IGraphicsBackend.

◆ GetVideoModes()

void CGraphicsBackend_SDL_GL::GetVideoModes ( CVideoMode * pModes,
int MaxModes,
int * pNumModes,
float HiDPIScale,
int MaxWindowWidth,
int MaxWindowHeight,
int ScreenId )
overridevirtual

Implements IGraphicsBackend.

◆ GetViewportSize()

void CGraphicsBackend_SDL_GL::GetViewportSize ( int & w,
int & h )
overridevirtual

Implements IGraphicsBackend.

◆ GetWindowScreen()

int CGraphicsBackend_SDL_GL::GetWindowScreen ( )
overridevirtual

Implements IGraphicsBackend.

◆ HasQuadBuffering()

bool CGraphicsBackend_SDL_GL::HasQuadBuffering ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ HasQuadContainerBuffering()

bool CGraphicsBackend_SDL_GL::HasQuadContainerBuffering ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ HasTextBuffering()

bool CGraphicsBackend_SDL_GL::HasTextBuffering ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ HasTextureArraysSupport()

bool CGraphicsBackend_SDL_GL::HasTextureArraysSupport ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ HasTileBuffering()

bool CGraphicsBackend_SDL_GL::HasTileBuffering ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ Init()

int CGraphicsBackend_SDL_GL::Init ( const char * pName,
int * pScreen,
int * pWidth,
int * pHeight,
int * pRefreshRate,
int * pFsaaSamples,
int Flags,
int * pDesktopWidth,
int * pDesktopHeight,
int * pCurrentWidth,
int * pCurrentHeight,
class IStorage * pStorage )
overridevirtual

Implements IGraphicsBackend.

◆ IsConfigModernAPI()

bool CGraphicsBackend_SDL_GL::IsConfigModernAPI ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ IsModernAPI()

bool CGraphicsBackend_SDL_GL::IsModernAPI ( EBackendType BackendType)
static

◆ IsScreenKeyboardShown()

bool CGraphicsBackend_SDL_GL::IsScreenKeyboardShown ( )
overridevirtual

Implements IGraphicsBackend.

◆ Minimize()

void CGraphicsBackend_SDL_GL::Minimize ( )
overridevirtual

Implements IGraphicsBackend.

◆ NotifyWindow()

void CGraphicsBackend_SDL_GL::NotifyWindow ( )
overridevirtual

Implements IGraphicsBackend.

◆ ResizeWindow()

bool CGraphicsBackend_SDL_GL::ResizeWindow ( int w,
int h,
int RefreshRate )
overridevirtual

Implements IGraphicsBackend.

◆ SetWindowGrab()

void CGraphicsBackend_SDL_GL::SetWindowGrab ( bool Grab)
overridevirtual

Implements IGraphicsBackend.

◆ SetWindowParams()

void CGraphicsBackend_SDL_GL::SetWindowParams ( int FullscreenMode,
bool IsBorderless )
overridevirtual

Implements IGraphicsBackend.

◆ SetWindowScreen()

bool CGraphicsBackend_SDL_GL::SetWindowScreen ( int Index,
bool MoveToCenter )
overridevirtual

Implements IGraphicsBackend.

◆ ShowMessageBox()

std::optional< int > CGraphicsBackend_SDL_GL::ShowMessageBox ( const IGraphics::CMessageBox & MessageBox)
overridevirtual

◆ Shutdown()

int CGraphicsBackend_SDL_GL::Shutdown ( )
overridevirtual

Implements IGraphicsBackend.

◆ StagingMemoryUsage()

uint64_t CGraphicsBackend_SDL_GL::StagingMemoryUsage ( ) const
overridevirtual

Implements IGraphicsBackend.

◆ StreamedMemoryUsage()

uint64_t CGraphicsBackend_SDL_GL::StreamedMemoryUsage ( ) const
overridevirtual

Implements IGraphicsBackend.

◆ TextureMemoryUsage()

uint64_t CGraphicsBackend_SDL_GL::TextureMemoryUsage ( ) const
overridevirtual

Implements IGraphicsBackend.

◆ UpdateDisplayMode()

bool CGraphicsBackend_SDL_GL::UpdateDisplayMode ( int Index)
overridevirtual

Implements IGraphicsBackend.

◆ Uses2DTextureArrays()

bool CGraphicsBackend_SDL_GL::Uses2DTextureArrays ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ UseTrianglesAsQuad()

bool CGraphicsBackend_SDL_GL::UseTrianglesAsQuad ( )
inlineoverridevirtual

Reimplemented from IGraphicsBackend.

◆ WindowActive()

int CGraphicsBackend_SDL_GL::WindowActive ( )
overridevirtual

Implements IGraphicsBackend.

◆ WindowCreateNtf()

void CGraphicsBackend_SDL_GL::WindowCreateNtf ( uint32_t WindowId)
overridevirtual

Implements IGraphicsBackend.

◆ WindowDestroyNtf()

void CGraphicsBackend_SDL_GL::WindowDestroyNtf ( uint32_t WindowId)
overridevirtual

Implements IGraphicsBackend.

◆ WindowOpen()

int CGraphicsBackend_SDL_GL::WindowOpen ( )
overridevirtual

Implements IGraphicsBackend.

Member Data Documentation

◆ m_aErrorString

char CGraphicsBackend_SDL_GL::m_aErrorString[256]
private

◆ m_aRendererString

char CGraphicsBackend_SDL_GL::m_aRendererString[gs_GpuInfoStringSize] = {}
private

◆ m_aVendorString

char CGraphicsBackend_SDL_GL::m_aVendorString[gs_GpuInfoStringSize] = {}
private

◆ m_aVersionString

char CGraphicsBackend_SDL_GL::m_aVersionString[gs_GpuInfoStringSize] = {}
private

◆ m_BackendType

EBackendType CGraphicsBackend_SDL_GL::m_BackendType = BACKEND_TYPE_AUTO
private

◆ m_BufferMemoryUsage

std::atomic<uint64_t> CGraphicsBackend_SDL_GL::m_BufferMemoryUsage {0}
private

◆ m_Capabilities

SBackendCapabilities CGraphicsBackend_SDL_GL::m_Capabilities
private

◆ m_GLContext

SDL_GLContext CGraphicsBackend_SDL_GL::m_GLContext = nullptr
private

◆ m_GpuList

TTwGraphicsGpuList CGraphicsBackend_SDL_GL::m_GpuList
private

◆ m_NumScreens

int CGraphicsBackend_SDL_GL::m_NumScreens
private

◆ m_pProcessor

ICommandProcessor* CGraphicsBackend_SDL_GL::m_pProcessor = nullptr
private

◆ m_pWindow

SDL_Window* CGraphicsBackend_SDL_GL::m_pWindow = nullptr
private

◆ m_ReadPresentedImageDataFunc

TGLBackendReadPresentedImageData CGraphicsBackend_SDL_GL::m_ReadPresentedImageDataFunc
private

◆ m_StagingMemoryUsage

std::atomic<uint64_t> CGraphicsBackend_SDL_GL::m_StagingMemoryUsage {0}
private

◆ m_StreamMemoryUsage

std::atomic<uint64_t> CGraphicsBackend_SDL_GL::m_StreamMemoryUsage {0}
private

◆ m_TextureMemoryUsage

std::atomic<uint64_t> CGraphicsBackend_SDL_GL::m_TextureMemoryUsage {0}
private

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