]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_shared.c
UNMERGE
[xonotic/darkplaces.git] / vid_shared.c
index eb665eedc6c39abf013ba86b5bcabc54260f7829..4579c1434a32aaf5d853be81326c10d5ab84cae7 100644 (file)
@@ -6,15 +6,6 @@
 #include <Cg/cgGL.h>
 #endif
 
-#ifdef SUPPORTD3D
-#include <d3d9.h>
-#ifdef _MSC_VER
-#pragma comment(lib, "d3d9.lib")
-#endif
-
-LPDIRECT3DDEVICE9 vid_d3d9dev;
-#endif
-
 // global video state
 viddef_t vid;
 
@@ -156,14 +147,12 @@ void (GLAPIENTRY *qglColorMask)(GLboolean red, GLboolean green, GLboolean blue,
 
 void (GLAPIENTRY *qglDrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
 void (GLAPIENTRY *qglDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-void (GLAPIENTRY *qglDrawArrays)(GLenum mode, GLint first, GLsizei count);
 void (GLAPIENTRY *qglVertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
 void (GLAPIENTRY *qglNormalPointer)(GLenum type, GLsizei stride, const GLvoid *ptr);
 void (GLAPIENTRY *qglColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
 void (GLAPIENTRY *qglTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
 void (GLAPIENTRY *qglArrayElement)(GLint i);
 
-void (GLAPIENTRY *qglColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
 void (GLAPIENTRY *qglColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 void (GLAPIENTRY *qglTexCoord1f)(GLfloat s);
 void (GLAPIENTRY *qglTexCoord2f)(GLfloat s, GLfloat t);
@@ -171,7 +160,6 @@ void (GLAPIENTRY *qglTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
 void (GLAPIENTRY *qglTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
 void (GLAPIENTRY *qglVertex2f)(GLfloat x, GLfloat y);
 void (GLAPIENTRY *qglVertex3f)(GLfloat x, GLfloat y, GLfloat z);
-void (GLAPIENTRY *qglVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 void (GLAPIENTRY *qglBegin)(GLenum mode);
 void (GLAPIENTRY *qglEnd)(void);
 
@@ -398,7 +386,7 @@ void (GLAPIENTRY *qglGetQueryObjectuivARB)(GLuint qid, GLenum pname, GLuint *par
 #define sscanf sscanf_s
 #endif
 
-qboolean GL_CheckExtension(const char *minglver_or_ext, const dllfunction_t *funcs, const char *disableparm, int silent)
+int GL_CheckExtension(const char *minglver_or_ext, const dllfunction_t *funcs, const char *disableparm, int silent)
 {
        int failed = false;
        const dllfunction_t *func;
@@ -500,14 +488,12 @@ static dllfunction_t opengl110funcs[] =
        {"glDepthMask", (void **) &qglDepthMask},
        {"glDepthRange", (void **) &qglDepthRange},
        {"glDrawElements", (void **) &qglDrawElements},
-       {"glDrawArrays", (void **) &qglDrawArrays},
        {"glColorMask", (void **) &qglColorMask},
        {"glVertexPointer", (void **) &qglVertexPointer},
        {"glNormalPointer", (void **) &qglNormalPointer},
        {"glColorPointer", (void **) &qglColorPointer},
        {"glTexCoordPointer", (void **) &qglTexCoordPointer},
        {"glArrayElement", (void **) &qglArrayElement},
-       {"glColor4ub", (void **) &qglColor4ub},
        {"glColor4f", (void **) &qglColor4f},
        {"glTexCoord1f", (void **) &qglTexCoord1f},
        {"glTexCoord2f", (void **) &qglTexCoord2f},
@@ -515,7 +501,6 @@ static dllfunction_t opengl110funcs[] =
        {"glTexCoord4f", (void **) &qglTexCoord4f},
        {"glVertex2f", (void **) &qglVertex2f},
        {"glVertex3f", (void **) &qglVertex3f},
-       {"glVertex4f", (void **) &qglVertex4f},
        {"glBegin", (void **) &qglBegin},
        {"glEnd", (void **) &qglEnd},
 //[515]: added on 29.07.2005
@@ -799,37 +784,13 @@ static dllfunction_t drawbuffersfuncs[] =
        {NULL, NULL}
 };
 
-void VID_ClearExtensions(void)
+void VID_CheckExtensions(void)
 {
-       // VorteX: reset extensions info cvar, it got filled by GL_CheckExtension
-       Cvar_SetQuick(&gl_info_extensions, "");
-
        // clear the extension flags
        memset(&vid.support, 0, sizeof(vid.support));
-       vid.renderpath = RENDERPATH_GL11;
-       vid.forcevbo = false;
-       vid.maxtexturesize_2d = 0;
-       vid.maxtexturesize_3d = 0;
-       vid.maxtexturesize_cubemap = 0;
-       vid.texunits = 1;
-       vid.teximageunits = 1;
-       vid.texarrayunits = 1;
-       vid.max_anisotropy = 1;
-       vid.maxdrawbuffers = 1;
 
-       // this is a complete list of all functions that are directly checked in the renderer
-       qglDrawRangeElements = NULL;
-       qglDrawBuffer = NULL;
-       qglPolygonStipple = NULL;
-       qglFlush = NULL;
-       qglActiveTexture = NULL;
-       qglGetCompressedTexImageARB = NULL;
-       qglFramebufferTexture2DEXT = NULL;
-       qglDrawBuffersARB = NULL;
-}
-
-void VID_CheckExtensions(void)
-{
+       // VorteX: reset extensions info cvar, it got filled by GL_CheckExtension
+       Cvar_SetQuick(&gl_info_extensions, "");
        if (!GL_CheckExtension("1.1", opengl110funcs, NULL, false))
                Sys_Error("OpenGL 1.1.0 functions not found");
 
@@ -892,6 +853,15 @@ void VID_CheckExtensions(void)
 // COMMANDLINEOPTION: GL: -novbo disables GL_ARB_vertex_buffer_object (which accelerates rendering)
 // COMMANDLINEOPTION: GL: -novertexshader disables GL_ARB_vertex_shader (allows vertex shader effects)
 
+       vid.maxtexturesize_2d = 0;
+       vid.maxtexturesize_3d = 0;
+       vid.maxtexturesize_cubemap = 0;
+       vid.texunits = 1;
+       vid.teximageunits = 1;
+       vid.texarrayunits = 1;
+       vid.max_anisotropy = 1;
+       vid.maxdrawbuffers = 1;
+
        if (vid.support.arb_draw_buffers)
                qglGetIntegerv(GL_MAX_DRAW_BUFFERS_ARB, (GLint*)&vid.maxdrawbuffers);
 
@@ -1059,9 +1029,6 @@ void VID_UpdateGamma(qboolean force, int rampsize)
        {
        case RENDERPATH_GL20:
        case RENDERPATH_CGGL:
-       case RENDERPATH_D3D9:
-       case RENDERPATH_D3D10:
-       case RENDERPATH_D3D11:
                if (v_glslgamma.integer)
                        wantgamma = 0;
                break;
@@ -1253,16 +1220,15 @@ int VID_Mode(int fullscreen, int width, int height, int bpp, float refreshrate,
 {
        viddef_mode_t mode;
        memset(&mode, 0, sizeof(mode));
-       mode.fullscreen = fullscreen != 0;
+       mode.fullscreen = fullscreen;
        mode.width = width;
        mode.height = height;
        mode.bitsperpixel = bpp;
        mode.refreshrate = vid_userefreshrate.integer ? max(1, refreshrate) : 0;
-       mode.userefreshrate = vid_userefreshrate.integer != 0;
-       mode.stereobuffer = stereobuffer != 0;
+       mode.userefreshrate = vid_userefreshrate.integer;
+       mode.stereobuffer = stereobuffer;
        mode.samples = samples;
        cl_ignoremousemoves = 2;
-       VID_ClearExtensions();
        if (VID_InitMode(&mode))
        {
                // accept the (possibly modified) mode