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;
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.
// 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.lightmethod = LM_LEGACY;

View file

@ -93,7 +93,6 @@ EXTERN_CVAR(Float, Gamma)
EXTERN_CVAR(Bool, vid_vsync)
EXTERN_CVAR(Float, transsouls)
EXTERN_CVAR(Int, vid_refreshrate)
EXTERN_CVAR(Bool, gl_legacy_mode)
#ifdef WIN32
extern cycle_t BlitCycles;
@ -199,15 +198,6 @@ OpenGLSWFrameBuffer::OpenGLSWFrameBuffer(void *hMonitor, int width, int height,
const char *glversion = (const char*)glGetString(GL_VERSION);
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)
{
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;
}
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 pspriteyscale = pspritexscale * yaspectMul;