Merge remote-tracking branch 'origin/master' into archive_split

This commit is contained in:
Rachael Alexanderson 2017-09-12 15:57:10 -04:00
commit fc3ff97cac
3 changed files with 4 additions and 12 deletions

View File

@ -43,6 +43,7 @@ static TArray<FString> m_Extensions;
RenderContext gl; RenderContext gl;
EXTERN_CVAR(Bool, gl_legacy_mode) EXTERN_CVAR(Bool, gl_legacy_mode)
extern int currentrenderer;
//========================================================================== //==========================================================================
// //
@ -207,7 +208,8 @@ void gl_LoadExtensions()
// The minimum requirement for the modern render path is GL 3.3. // The minimum requirement for the modern render path is GL 3.3.
// Although some GL 3.1 or 3.2 solutions may theoretically work they are usually too broken or too slow. // Although some GL 3.1 or 3.2 solutions may theoretically work they are usually too broken or too slow.
if (gl_version < 3.3f) // unless, of course, we're simply using this as a software backend...
if ((gl_version < 3.3f && (currentrenderer==1)) || gl_version < 3.0f)
{ {
gl.legacyMode = true; gl.legacyMode = true;
gl.lightmethod = LM_LEGACY; gl.lightmethod = LM_LEGACY;

View File

@ -93,7 +93,6 @@ EXTERN_CVAR(Float, Gamma)
EXTERN_CVAR(Bool, vid_vsync) EXTERN_CVAR(Bool, vid_vsync)
EXTERN_CVAR(Float, transsouls) EXTERN_CVAR(Float, transsouls)
EXTERN_CVAR(Int, vid_refreshrate) EXTERN_CVAR(Int, vid_refreshrate)
EXTERN_CVAR(Bool, gl_legacy_mode)
#ifdef WIN32 #ifdef WIN32
extern cycle_t BlitCycles; extern cycle_t BlitCycles;
@ -199,15 +198,6 @@ OpenGLSWFrameBuffer::OpenGLSWFrameBuffer(void *hMonitor, int width, int height,
const char *glversion = (const char*)glGetString(GL_VERSION); const char *glversion = (const char*)glGetString(GL_VERSION);
bool isGLES = (glversion && strlen(glversion) > 10 && memcmp(glversion, "OpenGL ES ", 10) == 0); bool isGLES = (glversion && strlen(glversion) > 10 && memcmp(glversion, "OpenGL ES ", 10) == 0);
UCVarValue value;
// GL 3.0 is mostly broken on MESA drivers which really are the only relevant case here that doesn't fulfill the requirements based on version number alone.
#ifdef _WIN32
value.Bool = !ogl_IsVersionGEQ(3, 0);
#else
value.Bool = !ogl_IsVersionGEQ(3, 1);
#endif
gl_legacy_mode.ForceSet (value, CVAR_Bool);
if (!isGLES && ogl_IsVersionGEQ(3, 0) == 0) if (!isGLES && ogl_IsVersionGEQ(3, 0) == 0)
{ {
Printf("OpenGL acceleration requires at least OpenGL 3.0. No Acceleration will be used.\n"); Printf("OpenGL acceleration requires at least OpenGL 3.0. No Acceleration will be used.\n");

View File

@ -242,7 +242,7 @@ void RenderPolyPlayerSprites::RenderSprite(PolyRenderThread *thread, DPSprite *p
sy += wy; sy += wy;
} }
double yaspectMul = 1.2;// 320.0 * SCREENHEIGHT / (r_Yaspect * SCREENWIDTH); double yaspectMul = 1.2 * ((double)SCREENHEIGHT / SCREENWIDTH) * r_viewwindow.WidescreenRatio;
double pspritexscale = viewwindow.centerxwide / 160.0; double pspritexscale = viewwindow.centerxwide / 160.0;
double pspriteyscale = pspritexscale * yaspectMul; double pspriteyscale = pspritexscale * yaspectMul;