mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
- Added CVAR handling for vid_used3d - allows to switch software mode canvas between OpenGL and Direct3D upon restart.
This commit is contained in:
parent
289e76cce7
commit
5e458866bc
1 changed files with 16 additions and 7 deletions
|
@ -69,8 +69,16 @@ FRenderer *gl_CreateInterface();
|
||||||
|
|
||||||
void I_RestartRenderer();
|
void I_RestartRenderer();
|
||||||
int currentrenderer = -1;
|
int currentrenderer = -1;
|
||||||
|
int currentcanvas = -1;
|
||||||
bool changerenderer;
|
bool changerenderer;
|
||||||
|
|
||||||
|
// Software OpenGL canvas
|
||||||
|
CUSTOM_CVAR(Bool, vid_used3d, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
|
||||||
|
{
|
||||||
|
if (self != currentcanvas)
|
||||||
|
Printf("You must restart " GAMENAME " for this change to take effect.\n");
|
||||||
|
}
|
||||||
|
|
||||||
// [ZDoomGL]
|
// [ZDoomGL]
|
||||||
CUSTOM_CVAR (Int, vid_renderer, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
|
CUSTOM_CVAR (Int, vid_renderer, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
|
||||||
{
|
{
|
||||||
|
@ -137,13 +145,13 @@ void I_InitGraphics ()
|
||||||
val.Bool = !!Args->CheckParm ("-devparm");
|
val.Bool = !!Args->CheckParm ("-devparm");
|
||||||
ticker.SetGenericRepDefault (val, CVAR_Bool);
|
ticker.SetGenericRepDefault (val, CVAR_Bool);
|
||||||
|
|
||||||
//#define USE_D3D9_VIDEO
|
if (currentcanvas == 1) // Software Canvas: 1 = D3D or DirectDraw, 0 = OpenGL
|
||||||
#ifdef USE_D3D9_VIDEO
|
if (currentrenderer == 1)
|
||||||
if (currentrenderer == 1) Video = gl_CreateVideo();
|
Video = gl_CreateVideo();
|
||||||
else Video = new Win32Video(0);
|
else
|
||||||
#else
|
Video = new Win32Video(0);
|
||||||
|
else
|
||||||
Video = gl_CreateVideo();
|
Video = gl_CreateVideo();
|
||||||
#endif
|
|
||||||
|
|
||||||
if (Video == NULL)
|
if (Video == NULL)
|
||||||
I_FatalError ("Failed to initialize display");
|
I_FatalError ("Failed to initialize display");
|
||||||
|
@ -161,6 +169,7 @@ static void I_DeleteRenderer()
|
||||||
void I_CreateRenderer()
|
void I_CreateRenderer()
|
||||||
{
|
{
|
||||||
currentrenderer = vid_renderer;
|
currentrenderer = vid_renderer;
|
||||||
|
currentcanvas = vid_used3d;
|
||||||
if (Renderer == NULL)
|
if (Renderer == NULL)
|
||||||
{
|
{
|
||||||
if (currentrenderer==1) Renderer = gl_CreateInterface();
|
if (currentrenderer==1) Renderer = gl_CreateInterface();
|
||||||
|
|
Loading…
Reference in a new issue