[D3D8][D3D9][DDRAW][WINED3D] Sync with Wine Staging 3.9. CORE-14656
[reactos.git] / dll / directx / wine / wined3d / wined3d_gl.h
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 void (WINE_GLAPI *glDisableWINE)(GLenum cap) DECLSPEC_HIDDEN;
32 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_SAMPLE_SHADING,
93 ARB_SAMPLER_OBJECTS,
94 ARB_SEAMLESS_CUBE_MAP,
95 ARB_SHADER_ATOMIC_COUNTERS,
96 ARB_SHADER_BIT_ENCODING,
97 ARB_SHADER_IMAGE_LOAD_STORE,
98 ARB_SHADER_IMAGE_SIZE,
99 ARB_SHADER_STORAGE_BUFFER_OBJECT,
100 ARB_SHADER_TEXTURE_IMAGE_SAMPLES,
101 ARB_SHADER_TEXTURE_LOD,
102 ARB_SHADING_LANGUAGE_100,
103 ARB_SHADING_LANGUAGE_420PACK,
104 ARB_SHADING_LANGUAGE_PACKING,
105 ARB_SHADOW,
106 ARB_STENCIL_TEXTURING,
107 ARB_SYNC,
108 ARB_TESSELLATION_SHADER,
109 ARB_TEXTURE_BORDER_CLAMP,
110 ARB_TEXTURE_BUFFER_OBJECT,
111 ARB_TEXTURE_BUFFER_RANGE,
112 ARB_TEXTURE_COMPRESSION,
113 ARB_TEXTURE_COMPRESSION_BPTC,
114 ARB_TEXTURE_COMPRESSION_RGTC,
115 ARB_TEXTURE_CUBE_MAP,
116 ARB_TEXTURE_CUBE_MAP_ARRAY,
117 ARB_TEXTURE_ENV_COMBINE,
118 ARB_TEXTURE_ENV_DOT3,
119 ARB_TEXTURE_FILTER_ANISOTROPIC,
120 ARB_TEXTURE_FLOAT,
121 ARB_TEXTURE_GATHER,
122 ARB_TEXTURE_MIRRORED_REPEAT,
123 ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE,
124 ARB_TEXTURE_MULTISAMPLE,
125 ARB_TEXTURE_NON_POWER_OF_TWO,
126 ARB_TEXTURE_QUERY_LEVELS,
127 ARB_TEXTURE_RECTANGLE,
128 ARB_TEXTURE_RG,
129 ARB_TEXTURE_RGB10_A2UI,
130 ARB_TEXTURE_STORAGE,
131 ARB_TEXTURE_STORAGE_MULTISAMPLE,
132 ARB_TEXTURE_SWIZZLE,
133 ARB_TEXTURE_VIEW,
134 ARB_TIMER_QUERY,
135 ARB_TRANSFORM_FEEDBACK2,
136 ARB_TRANSFORM_FEEDBACK3,
137 ARB_UNIFORM_BUFFER_OBJECT,
138 ARB_VERTEX_ARRAY_BGRA,
139 ARB_VERTEX_BUFFER_OBJECT,
140 ARB_VERTEX_PROGRAM,
141 ARB_VERTEX_SHADER,
142 ARB_VERTEX_TYPE_2_10_10_10_REV,
143 ARB_VIEWPORT_ARRAY,
144 /* ATI */
145 ATI_FRAGMENT_SHADER,
146 ATI_SEPARATE_STENCIL,
147 ATI_TEXTURE_COMPRESSION_3DC,
148 ATI_TEXTURE_ENV_COMBINE3,
149 ATI_TEXTURE_MIRROR_ONCE,
150 /* EXT */
151 EXT_BLEND_COLOR,
152 EXT_BLEND_EQUATION_SEPARATE,
153 EXT_BLEND_FUNC_SEPARATE,
154 EXT_BLEND_MINMAX,
155 EXT_BLEND_SUBTRACT,
156 EXT_DRAW_BUFFERS2,
157 EXT_DEPTH_BOUNDS_TEST,
158 EXT_FOG_COORD,
159 EXT_FRAMEBUFFER_BLIT,
160 EXT_FRAMEBUFFER_MULTISAMPLE,
161 EXT_FRAMEBUFFER_OBJECT,
162 EXT_GPU_PROGRAM_PARAMETERS,
163 EXT_GPU_SHADER4,
164 EXT_PACKED_DEPTH_STENCIL,
165 EXT_PACKED_FLOAT,
166 EXT_POINT_PARAMETERS,
167 EXT_POLYGON_OFFSET_CLAMP,
168 EXT_PROVOKING_VERTEX,
169 EXT_SECONDARY_COLOR,
170 EXT_STENCIL_TWO_SIDE,
171 EXT_STENCIL_WRAP,
172 EXT_TEXTURE3D,
173 EXT_TEXTURE_ARRAY,
174 EXT_TEXTURE_COMPRESSION_RGTC,
175 EXT_TEXTURE_COMPRESSION_S3TC,
176 EXT_TEXTURE_ENV_COMBINE,
177 EXT_TEXTURE_ENV_DOT3,
178 EXT_TEXTURE_INTEGER,
179 EXT_TEXTURE_LOD_BIAS,
180 EXT_TEXTURE_MIRROR_CLAMP,
181 EXT_TEXTURE_SHARED_EXPONENT,
182 EXT_TEXTURE_SNORM,
183 EXT_TEXTURE_SRGB,
184 EXT_TEXTURE_SRGB_DECODE,
185 EXT_VERTEX_ARRAY_BGRA,
186 /* NVIDIA */
187 NV_FENCE,
188 NV_FOG_DISTANCE,
189 NV_FRAGMENT_PROGRAM,
190 NV_FRAGMENT_PROGRAM2,
191 NV_FRAGMENT_PROGRAM_OPTION,
192 NV_HALF_FLOAT,
193 NV_LIGHT_MAX_EXPONENT,
194 NV_POINT_SPRITE,
195 NV_REGISTER_COMBINERS,
196 NV_REGISTER_COMBINERS2,
197 NV_TEXGEN_REFLECTION,
198 NV_TEXTURE_ENV_COMBINE4,
199 NV_TEXTURE_SHADER,
200 NV_TEXTURE_SHADER2,
201 NV_VERTEX_PROGRAM,
202 NV_VERTEX_PROGRAM1_1,
203 NV_VERTEX_PROGRAM2,
204 NV_VERTEX_PROGRAM2_OPTION,
205 NV_VERTEX_PROGRAM3,
206 NVX_GPU_MEMORY_INFO,
207 /* WGL extensions */
208 WGL_ARB_PIXEL_FORMAT,
209 WGL_EXT_SWAP_CONTROL,
210 WGL_WINE_PIXEL_FORMAT_PASSTHROUGH,
211 WGL_WINE_QUERY_RENDERER,
212 /* Internally used */
213 WINED3D_GL_BLEND_EQUATION,
214 WINED3D_GL_LEGACY_CONTEXT,
215 WINED3D_GL_NORMALIZED_TEXRECT,
216 WINED3D_GL_PRIMITIVE_QUERY,
217 WINED3D_GL_VERSION_2_0,
218 WINED3D_GL_VERSION_3_2,
219 WINED3D_GLSL_130,
220
221 WINED3D_GL_EXT_COUNT,
222 };
223 #endif /* __WINE_WINED3D_GL */