1bf215546Sopenharmony_ci#ifndef __GL_CONFIG_H__ 2bf215546Sopenharmony_ci#define __GL_CONFIG_H__ 3bf215546Sopenharmony_ci 4bf215546Sopenharmony_ci#include "main/glheader.h" 5bf215546Sopenharmony_ci 6bf215546Sopenharmony_ci/** 7bf215546Sopenharmony_ci * Framebuffer configuration (aka visual / pixelformat) 8bf215546Sopenharmony_ci * Note: some of these fields should be boolean, but it appears that 9bf215546Sopenharmony_ci * code in drivers/dri/common/util.c requires int-sized fields. 10bf215546Sopenharmony_ci */ 11bf215546Sopenharmony_cistruct gl_config 12bf215546Sopenharmony_ci{ 13bf215546Sopenharmony_ci GLboolean floatMode; 14bf215546Sopenharmony_ci GLuint doubleBufferMode; 15bf215546Sopenharmony_ci GLuint stereoMode; 16bf215546Sopenharmony_ci 17bf215546Sopenharmony_ci GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */ 18bf215546Sopenharmony_ci GLuint redMask, greenMask, blueMask, alphaMask; 19bf215546Sopenharmony_ci GLint redShift, greenShift, blueShift, alphaShift; 20bf215546Sopenharmony_ci GLint rgbBits; /* total bits for rgb */ 21bf215546Sopenharmony_ci 22bf215546Sopenharmony_ci GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits; 23bf215546Sopenharmony_ci GLint depthBits; 24bf215546Sopenharmony_ci GLint stencilBits; 25bf215546Sopenharmony_ci 26bf215546Sopenharmony_ci /* ARB_multisample / SGIS_multisample */ 27bf215546Sopenharmony_ci GLuint samples; 28bf215546Sopenharmony_ci 29bf215546Sopenharmony_ci /* OML_swap_method */ 30bf215546Sopenharmony_ci GLint swapMethod; 31bf215546Sopenharmony_ci 32bf215546Sopenharmony_ci /* EXT_framebuffer_sRGB */ 33bf215546Sopenharmony_ci GLint sRGBCapable; 34bf215546Sopenharmony_ci}; 35bf215546Sopenharmony_ci 36bf215546Sopenharmony_ci 37bf215546Sopenharmony_ci#endif 38