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