+ int glversion; // this is at least 32
+ int glshaderversion; // this is at least 150 (GL 3.2)
+ qbool amd_texture_texture4;
+ qbool arb_texture_gather;
+ qbool ext_texture_compression_s3tc;
+ qbool ext_texture_filter_anisotropic;
+ qbool ext_texture_srgb;
+ qbool arb_debug_output;
+}
+viddef_support_t;
+
+typedef struct viddef_mode_s
+{
+ int display;
+ qbool fullscreen;
+ qbool desktopfullscreen; ///< whether the display hardware mode can be changed
+ int width;
+ int height;
+ int bitsperpixel;
+ float refreshrate;
+ qbool stereobuffer;
+ int samples;
+}
+viddef_mode_t;
+
+typedef struct viddef_s
+{
+ // these are set by VID_Mode
+ // used in many locations in the renderer
+ viddef_mode_t mode; ///< currently active video mode
+ qbool stencil;
+ qbool sRGB2D; // whether 2D rendering is sRGB corrected (based on sRGBcapable2D)
+ qbool sRGB3D; // whether 3D rendering is sRGB corrected (based on sRGBcapable3D)
+ qbool sRGBcapable2D; // whether 2D rendering can be sRGB corrected (renderpath)
+ qbool sRGBcapable3D; // whether 3D rendering can be sRGB corrected (renderpath)
+
+ renderpath_t renderpath;
+ qbool allowalphatocoverage; // indicates the GL_AlphaToCoverage function works on this renderpath and framebuffer
+
+ unsigned int maxtexturesize_2d;
+ unsigned int maxtexturesize_3d;
+ unsigned int maxtexturesize_cubemap;
+ unsigned int max_anisotropy;
+ unsigned int maxdrawbuffers;
+
+ viddef_support_t support;
+
+ int forcetextype; // always use GL_BGRA for D3D, always use GL_RGBA for GLES, etc
+
+ int xPos, yPos; // current virtual position of the top left corner of the SDL window