1
0
Fork 0

Change OpenGL drawing routine to draw one big oversized TRIANGLE instead of a QUAD in order to work around an Nvidia specific scaling bug. Fixes bug #515.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4270
This commit is contained in:
Peter Veenstra 2019-10-09 20:53:35 +00:00
parent e1d8eb67a4
commit 195484d5e9

View file

@ -752,16 +752,16 @@ dosurface:
sdl.opengl.displaylist = glGenLists(1);
glNewList(sdl.opengl.displaylist, GL_COMPILE);
glBindTexture(GL_TEXTURE_2D, sdl.opengl.texture);
glBegin(GL_QUADS);
// lower left
glTexCoord2f(0,tex_height); glVertex2f(-1.0f,-1.0f);
// lower right
glTexCoord2f(tex_width,tex_height); glVertex2f(1.0f, -1.0f);
// upper right
glTexCoord2f(tex_width,0); glVertex2f(1.0f, 1.0f);
glBegin(GL_TRIANGLES);
// upper left
glTexCoord2f(0,0); glVertex2f(-1.0f, 1.0f);
// lower left
glTexCoord2f(0,tex_height*2); glVertex2f(-1.0f,-3.0f);
// upper right
glTexCoord2f(tex_width*2,0); glVertex2f(3.0f, 1.0f);
glEnd();
glEndList();
sdl.desktop.type=SCREEN_OPENGL;
retFlags = GFX_CAN_32 | GFX_SCALING;