1 /* 2 * Direct3D wine OpenGL include file 3 * 4 * Copyright 2002-2003 The wine-d3d team 5 * Copyright 2002-2004 Jason Edmeades 6 * Raphael Junqueira 7 * Copyright 2007 Roderick Colenbrander 8 * 9 * This library is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU Lesser General Public 11 * License as published by the Free Software Foundation; either 12 * version 2.1 of the License, or (at your option) any later version. 13 * 14 * This library is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public 20 * License along with this library; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 22 */ 23 24 #ifndef __WINE_WINED3D_GL_H 25 #define __WINE_WINED3D_GL_H 26 27 #include "wine/wgl.h" 28 29 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 /* not in the gl spec */ 30 31 extern void (WINE_GLAPI *glDisableWINE)(GLenum cap) DECLSPEC_HIDDEN; 32 extern void (WINE_GLAPI *glEnableWINE)(GLenum cap) DECLSPEC_HIDDEN; 33 34 /* OpenGL extensions. */ 35 enum wined3d_gl_extension 36 { 37 WINED3D_GL_EXT_NONE, 38 39 /* APPLE */ 40 APPLE_FENCE, 41 APPLE_FLOAT_PIXELS, 42 APPLE_FLUSH_BUFFER_RANGE, 43 APPLE_YCBCR_422, 44 /* ARB */ 45 ARB_BASE_INSTANCE, 46 ARB_BLEND_FUNC_EXTENDED, 47 ARB_CLEAR_BUFFER_OBJECT, 48 ARB_CLEAR_TEXTURE, 49 ARB_CLIP_CONTROL, 50 ARB_COLOR_BUFFER_FLOAT, 51 ARB_COMPUTE_SHADER, 52 ARB_CONSERVATIVE_DEPTH, 53 ARB_COPY_BUFFER, 54 ARB_COPY_IMAGE, 55 ARB_CULL_DISTANCE, 56 ARB_DEBUG_OUTPUT, 57 ARB_DEPTH_BUFFER_FLOAT, 58 ARB_DEPTH_CLAMP, 59 ARB_DEPTH_TEXTURE, 60 ARB_DERIVATIVE_CONTROL, 61 ARB_DRAW_BUFFERS, 62 ARB_DRAW_ELEMENTS_BASE_VERTEX, 63 ARB_DRAW_INDIRECT, 64 ARB_DRAW_INSTANCED, 65 ARB_ES2_COMPATIBILITY, 66 ARB_ES3_COMPATIBILITY, 67 ARB_EXPLICIT_ATTRIB_LOCATION, 68 ARB_FRAGMENT_COORD_CONVENTIONS, 69 ARB_FRAGMENT_LAYER_VIEWPORT, 70 ARB_FRAGMENT_PROGRAM, 71 ARB_FRAGMENT_SHADER, 72 ARB_FRAMEBUFFER_NO_ATTACHMENTS, 73 ARB_FRAMEBUFFER_OBJECT, 74 ARB_FRAMEBUFFER_SRGB, 75 ARB_GEOMETRY_SHADER4, 76 ARB_GPU_SHADER5, 77 ARB_HALF_FLOAT_PIXEL, 78 ARB_HALF_FLOAT_VERTEX, 79 ARB_INSTANCED_ARRAYS, 80 ARB_INTERNALFORMAT_QUERY, 81 ARB_INTERNALFORMAT_QUERY2, 82 ARB_MAP_BUFFER_ALIGNMENT, 83 ARB_MAP_BUFFER_RANGE, 84 ARB_MULTISAMPLE, 85 ARB_MULTITEXTURE, 86 ARB_OCCLUSION_QUERY, 87 ARB_PIPELINE_STATISTICS_QUERY, 88 ARB_PIXEL_BUFFER_OBJECT, 89 ARB_POINT_PARAMETERS, 90 ARB_POINT_SPRITE, 91 ARB_PROVOKING_VERTEX, 92 ARB_SAMPLER_OBJECTS, 93 ARB_SEAMLESS_CUBE_MAP, 94 ARB_SHADER_ATOMIC_COUNTERS, 95 ARB_SHADER_BIT_ENCODING, 96 ARB_SHADER_IMAGE_LOAD_STORE, 97 ARB_SHADER_IMAGE_SIZE, 98 ARB_SHADER_STORAGE_BUFFER_OBJECT, 99 ARB_SHADER_TEXTURE_LOD, 100 ARB_SHADING_LANGUAGE_100, 101 ARB_SHADING_LANGUAGE_420PACK, 102 ARB_SHADING_LANGUAGE_PACKING, 103 ARB_SHADOW, 104 ARB_STENCIL_TEXTURING, 105 ARB_SYNC, 106 ARB_TESSELLATION_SHADER, 107 ARB_TEXTURE_BORDER_CLAMP, 108 ARB_TEXTURE_BUFFER_OBJECT, 109 ARB_TEXTURE_BUFFER_RANGE, 110 ARB_TEXTURE_COMPRESSION, 111 ARB_TEXTURE_COMPRESSION_BPTC, 112 ARB_TEXTURE_COMPRESSION_RGTC, 113 ARB_TEXTURE_CUBE_MAP, 114 ARB_TEXTURE_CUBE_MAP_ARRAY, 115 ARB_TEXTURE_ENV_COMBINE, 116 ARB_TEXTURE_ENV_DOT3, 117 ARB_TEXTURE_FILTER_ANISOTROPIC, 118 ARB_TEXTURE_FLOAT, 119 ARB_TEXTURE_GATHER, 120 ARB_TEXTURE_MIRRORED_REPEAT, 121 ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE, 122 ARB_TEXTURE_MULTISAMPLE, 123 ARB_TEXTURE_NON_POWER_OF_TWO, 124 ARB_TEXTURE_QUERY_LEVELS, 125 ARB_TEXTURE_RECTANGLE, 126 ARB_TEXTURE_RG, 127 ARB_TEXTURE_RGB10_A2UI, 128 ARB_TEXTURE_STORAGE, 129 ARB_TEXTURE_STORAGE_MULTISAMPLE, 130 ARB_TEXTURE_SWIZZLE, 131 ARB_TEXTURE_VIEW, 132 ARB_TIMER_QUERY, 133 ARB_TRANSFORM_FEEDBACK2, 134 ARB_TRANSFORM_FEEDBACK3, 135 ARB_UNIFORM_BUFFER_OBJECT, 136 ARB_VERTEX_ARRAY_BGRA, 137 ARB_VERTEX_BLEND, 138 ARB_VERTEX_BUFFER_OBJECT, 139 ARB_VERTEX_PROGRAM, 140 ARB_VERTEX_SHADER, 141 ARB_VERTEX_TYPE_2_10_10_10_REV, 142 ARB_VIEWPORT_ARRAY, 143 /* ATI */ 144 ATI_FRAGMENT_SHADER, 145 ATI_SEPARATE_STENCIL, 146 ATI_TEXTURE_COMPRESSION_3DC, 147 ATI_TEXTURE_ENV_COMBINE3, 148 ATI_TEXTURE_MIRROR_ONCE, 149 /* EXT */ 150 EXT_BLEND_COLOR, 151 EXT_BLEND_EQUATION_SEPARATE, 152 EXT_BLEND_FUNC_SEPARATE, 153 EXT_BLEND_MINMAX, 154 EXT_BLEND_SUBTRACT, 155 EXT_DRAW_BUFFERS2, 156 EXT_DEPTH_BOUNDS_TEST, 157 EXT_FOG_COORD, 158 EXT_FRAMEBUFFER_BLIT, 159 EXT_FRAMEBUFFER_MULTISAMPLE, 160 EXT_FRAMEBUFFER_OBJECT, 161 EXT_GPU_PROGRAM_PARAMETERS, 162 EXT_GPU_SHADER4, 163 EXT_PACKED_DEPTH_STENCIL, 164 EXT_PACKED_FLOAT, 165 EXT_POINT_PARAMETERS, 166 EXT_POLYGON_OFFSET_CLAMP, 167 EXT_PROVOKING_VERTEX, 168 EXT_SECONDARY_COLOR, 169 EXT_STENCIL_TWO_SIDE, 170 EXT_STENCIL_WRAP, 171 EXT_TEXTURE3D, 172 EXT_TEXTURE_ARRAY, 173 EXT_TEXTURE_COMPRESSION_RGTC, 174 EXT_TEXTURE_COMPRESSION_S3TC, 175 EXT_TEXTURE_ENV_COMBINE, 176 EXT_TEXTURE_ENV_DOT3, 177 EXT_TEXTURE_INTEGER, 178 EXT_TEXTURE_LOD_BIAS, 179 EXT_TEXTURE_MIRROR_CLAMP, 180 EXT_TEXTURE_SHARED_EXPONENT, 181 EXT_TEXTURE_SNORM, 182 EXT_TEXTURE_SRGB, 183 EXT_TEXTURE_SRGB_DECODE, 184 EXT_VERTEX_ARRAY_BGRA, 185 /* NVIDIA */ 186 NV_FENCE, 187 NV_FOG_DISTANCE, 188 NV_FRAGMENT_PROGRAM, 189 NV_FRAGMENT_PROGRAM2, 190 NV_FRAGMENT_PROGRAM_OPTION, 191 NV_HALF_FLOAT, 192 NV_LIGHT_MAX_EXPONENT, 193 NV_POINT_SPRITE, 194 NV_REGISTER_COMBINERS, 195 NV_REGISTER_COMBINERS2, 196 NV_TEXGEN_REFLECTION, 197 NV_TEXTURE_ENV_COMBINE4, 198 NV_TEXTURE_SHADER, 199 NV_TEXTURE_SHADER2, 200 NV_VERTEX_PROGRAM, 201 NV_VERTEX_PROGRAM1_1, 202 NV_VERTEX_PROGRAM2, 203 NV_VERTEX_PROGRAM2_OPTION, 204 NV_VERTEX_PROGRAM3, 205 NVX_GPU_MEMORY_INFO, 206 /* WGL extensions */ 207 WGL_ARB_PIXEL_FORMAT, 208 WGL_EXT_SWAP_CONTROL, 209 WGL_WINE_PIXEL_FORMAT_PASSTHROUGH, 210 WGL_WINE_QUERY_RENDERER, 211 /* Internally used */ 212 WINED3D_GL_BLEND_EQUATION, 213 WINED3D_GL_LEGACY_CONTEXT, 214 WINED3D_GL_NORMALIZED_TEXRECT, 215 WINED3D_GL_PRIMITIVE_QUERY, 216 WINED3D_GL_VERSION_2_0, 217 WINED3D_GL_VERSION_3_2, 218 WINED3D_GLSL_130, 219 220 WINED3D_GL_EXT_COUNT, 221 }; 222 #endif /* __WINE_WINED3D_GL */ 223