+ qboolean fullscreen;
+ float refreshrate;
+ qboolean userefreshrate;
+ qboolean stereobuffer;
+ int samples;
+ qboolean stencil;
+ qboolean sRGB2D; // whether 2D rendering is sRGB corrected (based on sRGBcapable2D)
+ qboolean sRGB3D; // whether 3D rendering is sRGB corrected (based on sRGBcapable3D)
+ qboolean sRGBcapable2D; // whether 2D rendering can be sRGB corrected (renderpath, v_hwgamma)
+ qboolean sRGBcapable3D; // whether 3D rendering can be sRGB corrected (renderpath, v_hwgamma)
+
+ renderpath_t renderpath;
+ qboolean forcevbo; // some renderpaths can not operate without it
+ qboolean useinterleavedarrays; // required by some renderpaths
+ qboolean allowalphatocoverage; // indicates the GL_AlphaToCoverage function works on this renderpath and framebuffer
+
+ unsigned int texunits;
+ unsigned int teximageunits;
+ unsigned int texarrayunits;
+ unsigned int drawrangeelements_maxvertices;
+ unsigned int drawrangeelements_maxindices;
+
+ unsigned int maxtexturesize_2d;
+ unsigned int maxtexturesize_3d;
+ unsigned int maxtexturesize_cubemap;
+ unsigned int max_anisotropy;
+ unsigned int maxdrawbuffers;
+
+ viddef_support_t support;
+
+ // in RENDERPATH_SOFT this is a 32bpp native-endian ARGB framebuffer
+ // (native-endian ARGB meaning that in little endian it is BGRA bytes,
+ // in big endian it is ARGB byte order, the format is converted during
+ // blit to the window)
+ unsigned int *softpixels;
+ unsigned int *softdepthpixels;
+
+ int forcetextype; // always use GL_BGRA for D3D, always use GL_RGBA for GLES, etc