wined3d: Create GL sampler objects for wined3d sampler objects.
[wine/multimedia.git] / dlls / wined3d / wined3d_gl.h
blobcbb99e5753695eea24217d611556ef0a616f6f16
1 /*
2 * Direct3D wine OpenGL include file
4 * Copyright 2002-2003 The wine-d3d team
5 * Copyright 2002-2004 Jason Edmeades
6 * Raphael Junqueira
7 * Copyright 2007 Roderick Colenbrander
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.
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.
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
24 #ifndef __WINE_WINED3D_GL_H
25 #define __WINE_WINED3D_GL_H
27 #include "wine/wgl.h"
28 #include "wine/wglext.h"
30 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 /* not in the gl spec */
32 void (WINE_GLAPI *glDisableWINE)(GLenum cap) DECLSPEC_HIDDEN;
33 void (WINE_GLAPI *glEnableWINE)(GLenum cap) DECLSPEC_HIDDEN;
35 /* OpenGL extensions. */
36 enum wined3d_gl_extension
38 WINED3D_GL_EXT_NONE,
40 /* APPLE */
41 APPLE_CLIENT_STORAGE,
42 APPLE_FENCE,
43 APPLE_FLOAT_PIXELS,
44 APPLE_FLUSH_BUFFER_RANGE,
45 APPLE_YCBCR_422,
46 /* ARB */
47 ARB_BLEND_FUNC_EXTENDED,
48 ARB_COLOR_BUFFER_FLOAT,
49 ARB_DEBUG_OUTPUT,
50 ARB_DEPTH_BUFFER_FLOAT,
51 ARB_DEPTH_CLAMP,
52 ARB_DEPTH_TEXTURE,
53 ARB_DRAW_BUFFERS,
54 ARB_DRAW_ELEMENTS_BASE_VERTEX,
55 ARB_DRAW_INSTANCED,
56 ARB_FRAGMENT_PROGRAM,
57 ARB_FRAGMENT_SHADER,
58 ARB_FRAMEBUFFER_OBJECT,
59 ARB_FRAMEBUFFER_SRGB,
60 ARB_GEOMETRY_SHADER4,
61 ARB_HALF_FLOAT_PIXEL,
62 ARB_HALF_FLOAT_VERTEX,
63 ARB_INSTANCED_ARRAYS,
64 ARB_INTERNALFORMAT_QUERY2,
65 ARB_MAP_BUFFER_ALIGNMENT,
66 ARB_MAP_BUFFER_RANGE,
67 ARB_MULTISAMPLE,
68 ARB_MULTITEXTURE,
69 ARB_OCCLUSION_QUERY,
70 ARB_PIXEL_BUFFER_OBJECT,
71 ARB_POINT_PARAMETERS,
72 ARB_POINT_SPRITE,
73 ARB_PROVOKING_VERTEX,
74 ARB_SAMPLER_OBJECTS,
75 ARB_SHADER_BIT_ENCODING,
76 ARB_SHADER_OBJECTS,
77 ARB_SHADER_TEXTURE_LOD,
78 ARB_SHADING_LANGUAGE_100,
79 ARB_SHADOW,
80 ARB_SYNC,
81 ARB_TEXTURE_BORDER_CLAMP,
82 ARB_TEXTURE_COMPRESSION,
83 ARB_TEXTURE_COMPRESSION_RGTC,
84 ARB_TEXTURE_CUBE_MAP,
85 ARB_TEXTURE_ENV_ADD,
86 ARB_TEXTURE_ENV_COMBINE,
87 ARB_TEXTURE_ENV_DOT3,
88 ARB_TEXTURE_FLOAT,
89 ARB_TEXTURE_MIRRORED_REPEAT,
90 ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE,
91 ARB_TEXTURE_NON_POWER_OF_TWO,
92 ARB_TEXTURE_RECTANGLE,
93 ARB_TEXTURE_RG,
94 ARB_TIMER_QUERY,
95 ARB_UNIFORM_BUFFER_OBJECT,
96 ARB_VERTEX_ARRAY_BGRA,
97 ARB_VERTEX_BLEND,
98 ARB_VERTEX_BUFFER_OBJECT,
99 ARB_VERTEX_PROGRAM,
100 ARB_VERTEX_SHADER,
101 /* ATI */
102 ATI_FRAGMENT_SHADER,
103 ATI_SEPARATE_STENCIL,
104 ATI_TEXTURE_COMPRESSION_3DC,
105 ATI_TEXTURE_ENV_COMBINE3,
106 ATI_TEXTURE_MIRROR_ONCE,
107 /* EXT */
108 EXT_BLEND_COLOR,
109 EXT_BLEND_EQUATION_SEPARATE,
110 EXT_BLEND_FUNC_SEPARATE,
111 EXT_BLEND_MINMAX,
112 EXT_BLEND_SUBTRACT,
113 EXT_DRAW_BUFFERS2,
114 EXT_DEPTH_BOUNDS_TEST,
115 EXT_FOG_COORD,
116 EXT_FRAMEBUFFER_BLIT,
117 EXT_FRAMEBUFFER_MULTISAMPLE,
118 EXT_FRAMEBUFFER_OBJECT,
119 EXT_GPU_PROGRAM_PARAMETERS,
120 EXT_GPU_SHADER4,
121 EXT_PACKED_DEPTH_STENCIL,
122 EXT_POINT_PARAMETERS,
123 EXT_PROVOKING_VERTEX,
124 EXT_SECONDARY_COLOR,
125 EXT_STENCIL_TWO_SIDE,
126 EXT_STENCIL_WRAP,
127 EXT_TEXTURE3D,
128 EXT_TEXTURE_COMPRESSION_RGTC,
129 EXT_TEXTURE_COMPRESSION_S3TC,
130 EXT_TEXTURE_ENV_ADD,
131 EXT_TEXTURE_ENV_COMBINE,
132 EXT_TEXTURE_ENV_DOT3,
133 EXT_TEXTURE_FILTER_ANISOTROPIC,
134 EXT_TEXTURE_LOD_BIAS,
135 EXT_TEXTURE_MIRROR_CLAMP,
136 EXT_TEXTURE_SRGB,
137 EXT_TEXTURE_SRGB_DECODE,
138 EXT_VERTEX_ARRAY_BGRA,
139 /* NVIDIA */
140 NV_DEPTH_CLAMP,
141 NV_FENCE,
142 NV_FOG_DISTANCE,
143 NV_FRAGMENT_PROGRAM,
144 NV_FRAGMENT_PROGRAM2,
145 NV_FRAGMENT_PROGRAM_OPTION,
146 NV_HALF_FLOAT,
147 NV_LIGHT_MAX_EXPONENT,
148 NV_POINT_SPRITE,
149 NV_REGISTER_COMBINERS,
150 NV_REGISTER_COMBINERS2,
151 NV_TEXGEN_REFLECTION,
152 NV_TEXTURE_ENV_COMBINE4,
153 NV_TEXTURE_SHADER,
154 NV_TEXTURE_SHADER2,
155 NV_VERTEX_PROGRAM,
156 NV_VERTEX_PROGRAM1_1,
157 NV_VERTEX_PROGRAM2,
158 NV_VERTEX_PROGRAM2_OPTION,
159 NV_VERTEX_PROGRAM3,
160 /* SGI */
161 SGIS_GENERATE_MIPMAP,
162 /* WGL extensions */
163 WGL_ARB_PIXEL_FORMAT,
164 WGL_EXT_SWAP_CONTROL,
165 WGL_WINE_PIXEL_FORMAT_PASSTHROUGH,
166 /* Internally used */
167 WINED3D_GL_NORMALIZED_TEXRECT,
168 WINED3D_GL_VERSION_2_0,
170 WINED3D_GL_EXT_COUNT,
172 #endif /* __WINE_WINED3D_GL */