1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved.
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #ifndef CR_EXTSTRING_H
|
---|
8 | #define CR_EXTSTRING_H
|
---|
9 |
|
---|
10 | #include "cr_version.h"
|
---|
11 |
|
---|
12 | /*
|
---|
13 | * This string is the list of OpenGL extensions which Chromium can understand
|
---|
14 | * (in the packer, unpacker, state-tracker, etc).
|
---|
15 | * In practice, this string will get intersected with what's reported by the
|
---|
16 | * rendering SPUs to reflect what we can really offer to client apps.
|
---|
17 | *
|
---|
18 | * Yes, we want static declarations here to avoid linking problems.
|
---|
19 | */
|
---|
20 | static const char *crExtensions =
|
---|
21 | #ifdef CR_EXT_texture_compression_s3tc
|
---|
22 | "GL_EXT_texture_compression_s3tc "
|
---|
23 | #endif
|
---|
24 | #ifdef CR_EXT_draw_range_elements
|
---|
25 | "GL_EXT_draw_range_elements "
|
---|
26 | #endif
|
---|
27 | #ifdef CR_EXT_framebuffer_object
|
---|
28 | "GL_EXT_framebuffer_object "
|
---|
29 | #endif
|
---|
30 | #ifdef CR_EXT_compiled_vertex_array
|
---|
31 | "GL_EXT_compiled_vertex_array "
|
---|
32 | #endif
|
---|
33 | #ifdef CR_ARB_depth_texture
|
---|
34 | "GL_ARB_depth_texture "
|
---|
35 | #endif
|
---|
36 | #ifdef CR_ARB_fragment_program
|
---|
37 | "GL_ARB_fragment_program "
|
---|
38 | #endif
|
---|
39 | #ifdef CR_ARB_imaging
|
---|
40 | "GL_ARB_imaging "
|
---|
41 | #endif
|
---|
42 | #ifdef CR_ARB_multisample
|
---|
43 | "GL_ARB_multisample "
|
---|
44 | #endif
|
---|
45 | #ifdef CR_ARB_multitexture
|
---|
46 | "GL_ARB_multitexture "
|
---|
47 | #endif
|
---|
48 | #ifdef CR_ARB_occlusion_query
|
---|
49 | "GL_ARB_occlusion_query "
|
---|
50 | #endif
|
---|
51 | #ifdef CR_ARB_point_parameters
|
---|
52 | "GL_ARB_point_parameters "
|
---|
53 | #endif
|
---|
54 | #ifdef CR_ARB_point_sprite
|
---|
55 | "GL_ARB_point_sprite "
|
---|
56 | #endif
|
---|
57 | #ifdef CR_ARB_shadow
|
---|
58 | "GL_ARB_shadow "
|
---|
59 | #endif
|
---|
60 | #ifdef CR_ARB_shadow_ambient
|
---|
61 | "GL_ARB_shadow_ambient "
|
---|
62 | #endif
|
---|
63 | #ifdef CR_ARB_texture_border_clamp
|
---|
64 | "GL_ARB_texture_border_clamp "
|
---|
65 | #endif
|
---|
66 | #ifdef CR_ARB_texture_compression
|
---|
67 | "GL_ARB_texture_compression "
|
---|
68 | #endif
|
---|
69 | #ifdef CR_ARB_texture_cube_map
|
---|
70 | "GL_ARB_texture_cube_map "
|
---|
71 | #endif
|
---|
72 | #ifdef CR_ARB_texture_env_add
|
---|
73 | "GL_ARB_texture_env_add "
|
---|
74 | #endif
|
---|
75 | #ifdef CR_ARB_texture_env_combine
|
---|
76 | "GL_ARB_texture_env_combine GL_EXT_texture_env_combine "
|
---|
77 | #endif
|
---|
78 | #ifdef CR_ARB_texture_env_crossbar
|
---|
79 | "GL_ARB_texture_env_crossbar "
|
---|
80 | #endif
|
---|
81 | #ifdef CR_ARB_texture_env_dot3
|
---|
82 | "GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 "
|
---|
83 | #endif
|
---|
84 | #ifdef CR_ARB_texture_mirrored_repeat
|
---|
85 | "GL_ARB_texture_mirrored_repeat "
|
---|
86 | #endif
|
---|
87 | #ifdef CR_ARB_texture_non_power_of_two
|
---|
88 | "GL_ARB_texture_non_power_of_two "
|
---|
89 | #endif
|
---|
90 | #ifdef CR_ARB_transpose_matrix
|
---|
91 | "GL_ARB_transpose_matrix "
|
---|
92 | #endif
|
---|
93 | #ifdef CR_ARB_vertex_buffer_object
|
---|
94 | "GL_ARB_vertex_buffer_object "
|
---|
95 | #endif
|
---|
96 | #ifdef CR_ARB_pixel_buffer_object
|
---|
97 | "GL_ARB_pixel_buffer_object "
|
---|
98 | #endif
|
---|
99 | #ifdef CR_ARB_vertex_program
|
---|
100 | "GL_ARB_vertex_program "
|
---|
101 | #endif
|
---|
102 | #ifdef CR_ARB_window_pos
|
---|
103 | "GL_ARB_window_pos "
|
---|
104 | #endif
|
---|
105 | #ifdef CR_EXT_blend_color
|
---|
106 | "GL_EXT_blend_color "
|
---|
107 | #endif
|
---|
108 | #ifdef CR_EXT_blend_minmax
|
---|
109 | "GL_EXT_blend_minmax "
|
---|
110 | #endif
|
---|
111 | #ifdef CR_EXT_blend_func_separate
|
---|
112 | "GL_EXT_blend_func_separate "
|
---|
113 | #endif
|
---|
114 | #ifdef CR_EXT_clip_volume_hint
|
---|
115 | "GL_EXT_clip_volume_hint "
|
---|
116 | #endif
|
---|
117 | #ifdef CR_EXT_blend_logic_op
|
---|
118 | "GL_EXT_blend_logic_op "
|
---|
119 | #endif
|
---|
120 | #ifdef CR_EXT_blend_subtract
|
---|
121 | "GL_EXT_blend_subtract "
|
---|
122 | #endif
|
---|
123 | #ifdef CR_EXT_texture_env_add
|
---|
124 | "GL_EXT_texture_env_add "
|
---|
125 | #endif
|
---|
126 | #ifdef CR_EXT_fog_coord
|
---|
127 | "GL_EXT_fog_coord "
|
---|
128 | #endif
|
---|
129 | #ifdef CR_EXT_multi_draw_arrays
|
---|
130 | "GL_EXT_multi_draw_arrays "
|
---|
131 | #endif
|
---|
132 | #ifdef CR_EXT_secondary_color
|
---|
133 | "GL_EXT_secondary_color "
|
---|
134 | #endif
|
---|
135 | #ifdef CR_EXT_separate_specular_color
|
---|
136 | "GL_EXT_separate_specular_color "
|
---|
137 | #endif
|
---|
138 | #ifdef CR_EXT_shadow_funcs
|
---|
139 | "GL_EXT_shadow_funcs "
|
---|
140 | #endif
|
---|
141 | #ifdef CR_EXT_stencil_wrap
|
---|
142 | "GL_EXT_stencil_wrap "
|
---|
143 | #endif
|
---|
144 | #ifdef CR_EXT_texture_cube_map
|
---|
145 | "GL_EXT_texture_cube_map "
|
---|
146 | #endif
|
---|
147 | #ifdef CR_EXT_texture_edge_clamp
|
---|
148 | "GL_EXT_texture_edge_clamp "
|
---|
149 | #endif
|
---|
150 | #ifdef CR_EXT_texture_filter_anisotropic
|
---|
151 | "GL_EXT_texture_filter_anisotropic "
|
---|
152 | #endif
|
---|
153 | #ifdef CR_EXT_texture_lod_bias
|
---|
154 | "GL_EXT_texture_lod_bias "
|
---|
155 | #endif
|
---|
156 | #ifdef CR_EXT_texture_object
|
---|
157 | "GL_EXT_texture_object "
|
---|
158 | #endif
|
---|
159 | #ifdef CR_EXT_texture3D
|
---|
160 | "GL_EXT_texture3D "
|
---|
161 | #endif
|
---|
162 | #ifdef CR_IBM_rasterpos_clip
|
---|
163 | "GL_IBM_rasterpos_clip "
|
---|
164 | #endif
|
---|
165 | #ifdef CR_NV_fog_distance
|
---|
166 | "GL_NV_fog_distance "
|
---|
167 | #endif
|
---|
168 | #ifdef CR_NV_fragment_program
|
---|
169 | "GL_NV_fragment_program "
|
---|
170 | #endif
|
---|
171 | #ifdef CR_NV_register_combiners
|
---|
172 | "GL_NV_register_combiners "
|
---|
173 | #endif
|
---|
174 | #ifdef CR_NV_register_combiners2
|
---|
175 | "GL_NV_register_combiners2 "
|
---|
176 | #endif
|
---|
177 | #ifdef CR_NV_texgen_reflection
|
---|
178 | "GL_NV_texgen_reflection "
|
---|
179 | #endif
|
---|
180 | #ifdef CR_NV_texture_rectangle
|
---|
181 | "GL_NV_texture_rectangle GL_EXT_texture_rectangle GL_ARB_texture_rectangle "
|
---|
182 | #endif
|
---|
183 | #ifdef CR_NV_vertex_program
|
---|
184 | "GL_NV_vertex_program "
|
---|
185 | #endif
|
---|
186 | #ifdef CR_NV_vertex_program1_1
|
---|
187 | "GL_NV_vertex_program1_1 "
|
---|
188 | #endif
|
---|
189 | #ifdef CR_NV_vertex_program2
|
---|
190 | "GL_NV_vertex_program2 "
|
---|
191 | #endif
|
---|
192 | #ifdef CR_SGIS_generate_mipmap
|
---|
193 | "GL_SGIS_generate_mipmap "
|
---|
194 | #endif
|
---|
195 | #ifdef CR_SGIS_texture_border_clamp
|
---|
196 | "GL_SGIS_texture_border_clamp "
|
---|
197 | #endif
|
---|
198 | #ifdef CR_SGIS_texture_edge_clamp
|
---|
199 | "GL_SGIS_texture_edge_clamp "
|
---|
200 | #endif
|
---|
201 | #ifdef CR_ARB_shading_language_100
|
---|
202 | "GL_ARB_shading_language_100 "
|
---|
203 | #endif
|
---|
204 | #ifdef CR_ARB_shader_objects
|
---|
205 | "GL_ARB_shader_objects "
|
---|
206 | #endif
|
---|
207 | #ifdef CR_ARB_vertex_shader
|
---|
208 | "GL_ARB_vertex_shader "
|
---|
209 | #endif
|
---|
210 | #ifdef CR_ARB_fragment_shader
|
---|
211 | "GL_ARB_fragment_shader "
|
---|
212 | #endif
|
---|
213 | #ifdef CR_EXT_texture_sRGB
|
---|
214 | "GL_EXT_texture_sRGB "
|
---|
215 | #endif
|
---|
216 | "";
|
---|
217 |
|
---|
218 | /*
|
---|
219 | * Extensions which are only supported if the render/readback SPU is
|
---|
220 | * on the app node (no packing/unpacking/state-tracking support).
|
---|
221 | */
|
---|
222 | static const char *crAppOnlyExtensions =
|
---|
223 | "GL_NV_fence " \
|
---|
224 | "GL_NV_texture_env_combine4 " \
|
---|
225 | "GL_NV_texture_shader " \
|
---|
226 | "GL_NV_vertex_array_range "
|
---|
227 | ;
|
---|
228 |
|
---|
229 |
|
---|
230 | /*
|
---|
231 | * Special extensions which are unique to Chromium.
|
---|
232 | * We typically append this to the result of glGetString(GL_EXTENSIONS).
|
---|
233 | */
|
---|
234 | static const char *crChromiumExtensions =
|
---|
235 | #ifdef GL_CR_state_parameter
|
---|
236 | "GL_CR_state_parameter "
|
---|
237 | #endif
|
---|
238 | #ifdef GL_CR_cursor_position
|
---|
239 | "GL_CR_cursor_position "
|
---|
240 | #endif
|
---|
241 | #ifdef GL_CR_bounding_box
|
---|
242 | "GL_CR_bounding_box "
|
---|
243 | #endif
|
---|
244 | #ifdef GL_CR_print_string
|
---|
245 | "GL_CR_print_string "
|
---|
246 | #endif
|
---|
247 | #ifdef GL_CR_tilesort_info
|
---|
248 | "GL_CR_tilesort_info "
|
---|
249 | #endif
|
---|
250 | #ifdef GL_CR_client_clear_control
|
---|
251 | "GL_CR_client_clear_control "
|
---|
252 | #endif
|
---|
253 | #ifdef GL_CR_synchronization
|
---|
254 | "GL_CR_synchronization "
|
---|
255 | #endif
|
---|
256 | #ifdef GL_CR_head_spu_name
|
---|
257 | "GL_CR_head_spu_name "
|
---|
258 | #endif
|
---|
259 | #ifdef GL_CR_performance_info
|
---|
260 | "GL_CR_performance_info "
|
---|
261 | #endif
|
---|
262 | #ifdef GL_CR_window_size
|
---|
263 | "GL_CR_window_size "
|
---|
264 | #endif
|
---|
265 | #ifdef GL_CR_tile_info
|
---|
266 | "GL_CR_tile_info "
|
---|
267 | #endif
|
---|
268 | #ifdef GL_CR_saveframe
|
---|
269 | "GL_CR_saveframe "
|
---|
270 | #endif
|
---|
271 | #ifdef GL_CR_readback_barrier_size
|
---|
272 | "GL_CR_readback_barrier_size "
|
---|
273 | #endif
|
---|
274 | #ifdef GL_CR_server_id_sharing
|
---|
275 | "GL_CR_server_id_sharing "
|
---|
276 | #endif
|
---|
277 | #ifdef GL_CR_server_matrix
|
---|
278 | "GL_CR_server_matrix "
|
---|
279 | #endif
|
---|
280 | #ifdef USE_DMX
|
---|
281 | "GL_CR_dmx "
|
---|
282 | #endif
|
---|
283 | "";
|
---|
284 |
|
---|
285 | #endif /* CR_EXTSTRING_H */
|
---|
286 |
|
---|