cr_extstring.h revision c113f3435253eb5c01a17f6b599c280d505663f7
/* Copyright (c) 2001, Stanford University
* All rights reserved.
*
* See the file LICENSE.txt for information on redistributing this software.
*/
#ifndef CR_EXTSTRING_H
#define CR_EXTSTRING_H
#include "cr_version.h"
/*
* This string is the list of OpenGL extensions which Chromium can understand
* (in the packer, unpacker, state-tracker, etc).
* In practice, this string will get intersected with what's reported by the
* rendering SPUs to reflect what we can really offer to client apps.
*
* Yes, we want static declarations here to avoid linking problems.
*/
static const char *crExtensions =
#ifdef CR_EXT_texture_compression_s3tc
"GL_EXT_texture_compression_s3tc "
#endif
#ifdef CR_EXT_draw_range_elements
"GL_EXT_draw_range_elements "
#endif
#ifdef CR_EXT_framebuffer_object
"GL_EXT_framebuffer_object "
#endif
#ifdef CR_EXT_compiled_vertex_array
"GL_EXT_compiled_vertex_array "
#endif
#ifdef CR_ARB_depth_texture
"GL_ARB_depth_texture "
#endif
#ifdef CR_ARB_fragment_program
"GL_ARB_fragment_program "
#endif
#ifdef CR_ARB_imaging
"GL_ARB_imaging "
#endif
#ifdef CR_ARB_multisample
"GL_ARB_multisample "
#endif
#ifdef CR_ARB_multitexture
"GL_ARB_multitexture "
#endif
#ifdef CR_ARB_occlusion_query
"GL_ARB_occlusion_query "
#endif
#ifdef CR_ARB_point_parameters
"GL_ARB_point_parameters "
#endif
#ifdef CR_ARB_point_sprite
"GL_ARB_point_sprite "
#endif
#ifdef CR_ARB_shadow
"GL_ARB_shadow "
#endif
#ifdef CR_ARB_shadow_ambient
"GL_ARB_shadow_ambient "
#endif
#ifdef CR_ARB_texture_border_clamp
"GL_ARB_texture_border_clamp "
#endif
#ifdef CR_ARB_texture_compression
"GL_ARB_texture_compression "
#endif
#ifdef CR_ARB_texture_cube_map
"GL_ARB_texture_cube_map "
#endif
#ifdef CR_ARB_texture_env_add
"GL_ARB_texture_env_add "
#endif
#ifdef CR_ARB_texture_env_combine
"GL_ARB_texture_env_combine GL_EXT_texture_env_combine "
#endif
#ifdef CR_ARB_texture_env_crossbar
"GL_ARB_texture_env_crossbar "
#endif
#ifdef CR_ARB_texture_env_dot3
"GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 "
#endif
#ifdef CR_ARB_texture_mirrored_repeat
"GL_ARB_texture_mirrored_repeat "
#endif
#ifdef CR_ARB_texture_non_power_of_two
"GL_ARB_texture_non_power_of_two "
#endif
#ifdef CR_ARB_transpose_matrix
"GL_ARB_transpose_matrix "
#endif
#ifdef CR_ARB_vertex_buffer_object
"GL_ARB_vertex_buffer_object "
#endif
#ifdef CR_ARB_pixel_buffer_object
"GL_ARB_pixel_buffer_object "
#endif
#ifdef CR_ARB_vertex_program
"GL_ARB_vertex_program "
#endif
#ifdef CR_ARB_window_pos
"GL_ARB_window_pos "
#endif
#ifdef CR_EXT_blend_color
"GL_EXT_blend_color "
#endif
#ifdef CR_EXT_blend_minmax
"GL_EXT_blend_minmax "
#endif
#ifdef CR_EXT_blend_func_separate
"GL_EXT_blend_func_separate "
#endif
#ifdef CR_EXT_clip_volume_hint
"GL_EXT_clip_volume_hint "
#endif
#ifdef CR_EXT_blend_logic_op
"GL_EXT_blend_logic_op "
#endif
#ifdef CR_EXT_blend_subtract
"GL_EXT_blend_subtract "
#endif
#ifdef CR_EXT_texture_env_add
"GL_EXT_texture_env_add "
#endif
#ifdef CR_EXT_fog_coord
"GL_EXT_fog_coord "
#endif
#ifdef CR_EXT_multi_draw_arrays
"GL_EXT_multi_draw_arrays "
#endif
#ifdef CR_EXT_secondary_color
"GL_EXT_secondary_color "
#endif
#ifdef CR_EXT_separate_specular_color
"GL_EXT_separate_specular_color "
#endif
#ifdef CR_EXT_shadow_funcs
"GL_EXT_shadow_funcs "
#endif
#ifdef CR_EXT_stencil_wrap
"GL_EXT_stencil_wrap "
#endif
#ifdef CR_EXT_texture_cube_map
"GL_EXT_texture_cube_map "
#endif
#ifdef CR_EXT_texture_edge_clamp
"GL_EXT_texture_edge_clamp "
#endif
#ifdef CR_EXT_texture_filter_anisotropic
"GL_EXT_texture_filter_anisotropic "
#endif
#ifdef CR_EXT_texture_lod_bias
"GL_EXT_texture_lod_bias "
#endif
#ifdef CR_EXT_texture_object
"GL_EXT_texture_object "
#endif
#ifdef CR_EXT_texture3D
"GL_EXT_texture3D "
#endif
#ifdef CR_IBM_rasterpos_clip
"GL_IBM_rasterpos_clip "
#endif
#ifdef CR_NV_fog_distance
"GL_NV_fog_distance "
#endif
#ifdef CR_NV_fragment_program
"GL_NV_fragment_program "
#endif
#ifdef CR_NV_register_combiners
"GL_NV_register_combiners "
#endif
#ifdef CR_NV_register_combiners2
"GL_NV_register_combiners2 "
#endif
#ifdef CR_NV_texgen_reflection
"GL_NV_texgen_reflection "
#endif
#ifdef CR_NV_texture_rectangle
"GL_NV_texture_rectangle GL_EXT_texture_rectangle GL_ARB_texture_rectangle "
#endif
#ifdef CR_NV_vertex_program
"GL_NV_vertex_program "
#endif
#ifdef CR_NV_vertex_program1_1
"GL_NV_vertex_program1_1 "
#endif
#ifdef CR_NV_vertex_program2
"GL_NV_vertex_program2 "
#endif
#ifdef CR_SGIS_generate_mipmap
"GL_SGIS_generate_mipmap "
#endif
#ifdef CR_SGIS_texture_border_clamp
"GL_SGIS_texture_border_clamp "
#endif
#ifdef CR_SGIS_texture_edge_clamp
"GL_SGIS_texture_edge_clamp "
#endif
#ifdef CR_ARB_shading_language_100
"GL_ARB_shading_language_100 "
#endif
#ifdef CR_ARB_shader_objects
"GL_ARB_shader_objects "
#endif
#ifdef CR_ARB_vertex_shader
"GL_ARB_vertex_shader "
#endif
#ifdef CR_ARB_fragment_shader
"GL_ARB_fragment_shader "
#endif
#ifdef CR_EXT_texture_sRGB
"GL_EXT_texture_sRGB "
#endif
#ifdef CR_EXT_framebuffer_blit
"GL_EXT_framebuffer_blit "
#endif
"";
/*
* Extensions which are only supported if the render/readback SPU is
* on the app node (no packing/unpacking/state-tracking support).
*/
static const char *crAppOnlyExtensions =
"GL_NV_fence " \
"GL_NV_texture_env_combine4 " \
"GL_NV_texture_shader " \
"GL_NV_vertex_array_range "
;
/*
* Special extensions which are unique to Chromium.
* We typically append this to the result of glGetString(GL_EXTENSIONS).
*/
static const char *crChromiumExtensions =
#ifdef GL_CR_state_parameter
"GL_CR_state_parameter "
#endif
#ifdef GL_CR_cursor_position
"GL_CR_cursor_position "
#endif
#ifdef GL_CR_bounding_box
"GL_CR_bounding_box "
#endif
#ifdef GL_CR_print_string
"GL_CR_print_string "
#endif
#ifdef GL_CR_tilesort_info
"GL_CR_tilesort_info "
#endif
#ifdef GL_CR_client_clear_control
"GL_CR_client_clear_control "
#endif
#ifdef GL_CR_synchronization
"GL_CR_synchronization "
#endif
#ifdef GL_CR_head_spu_name
"GL_CR_head_spu_name "
#endif
#ifdef GL_CR_performance_info
"GL_CR_performance_info "
#endif
#ifdef GL_CR_window_size
"GL_CR_window_size "
#endif
#ifdef GL_CR_tile_info
"GL_CR_tile_info "
#endif
#ifdef GL_CR_saveframe
"GL_CR_saveframe "
#endif
#ifdef GL_CR_readback_barrier_size
"GL_CR_readback_barrier_size "
#endif
#ifdef GL_CR_server_id_sharing
"GL_CR_server_id_sharing "
#endif
#ifdef GL_CR_server_matrix
"GL_CR_server_matrix "
#endif
#ifdef USE_DMX
"GL_CR_dmx "
#endif
"";
#endif /* CR_EXTSTRING_H */