xref: /reactos/dll/directx/wine/wined3d/wined3d_gl.h (revision d2c667c6)
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