1
/**************************************************************************
3
* Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
6
* Permission is hereby granted, free of charge, to any person obtaining a
7
* copy of this software and associated documentation files (the
8
* "Software"), to deal in the Software without restriction, including
9
* without limitation the rights to use, copy, modify, merge, publish,
10
* distribute, sub license, and/or sell copies of the Software, and to
11
* permit persons to whom the Software is furnished to do so, subject to
12
* the following conditions:
14
* The above copyright notice and this permission notice (including the
15
* next paragraph) shall be included in all copies or substantial portions
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21
* IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
**************************************************************************/
28
#include "main/extensions.h"
29
#include "main/mfeatures.h"
31
#include "intel_extensions.h"
33
static const char *es2_extensions[] = {
34
/* Used by mesa internally (cf all_mesa_extensions in ../common/utils.c) */
35
"GL_ARB_draw_buffers",
37
"GL_ARB_texture_compression",
38
"GL_ARB_transpose_matrix",
39
"GL_ARB_vertex_buffer_object",
41
"GL_EXT_blend_func_separate",
42
"GL_EXT_compiled_vertex_array",
43
"GL_EXT_framebuffer_blit",
44
"GL_EXT_multi_draw_arrays",
45
"GL_EXT_polygon_offset",
46
"GL_EXT_texture_object",
47
"GL_EXT_vertex_array",
48
"GL_IBM_multimode_draw_arrays",
50
"GL_NV_vertex_program",
52
/* Required by GLES2 */
53
"GL_ARB_fragment_program",
54
"GL_ARB_fragment_shader",
55
"GL_ARB_multitexture",
56
"GL_ARB_shader_objects",
57
"GL_ARB_texture_cube_map",
58
"GL_ARB_texture_mirrored_repeat",
59
"GL_ARB_texture_non_power_of_two",
60
"GL_ARB_vertex_shader",
62
"GL_EXT_blend_equation_separate",
63
"GL_EXT_blend_minmax",
64
"GL_EXT_blend_subtract",
65
"GL_EXT_stencil_wrap",
69
"GL_ARB_framebuffer_object",
70
"GL_EXT_texture_filter_anisotropic",
71
"GL_ARB_depth_texture",
72
"GL_EXT_packed_depth_stencil",
73
"GL_EXT_framebuffer_object",
74
"GL_EXT_texture_format_BGRA8888",
76
#if FEATURE_OES_EGL_image
84
* \brief Extensions to disable.
86
* These extensions must be manually disabled because they may have been
89
static const char* es2_extensions_disabled[] = {
90
"GL_OES_standard_derivatives",
95
* Initializes potential list of extensions if ctx == NULL, or actually enables
96
* extensions for a context.
99
intelInitExtensionsES2(struct gl_context *ctx)
103
/* Can't use driInitExtensions() since it uses extensions from
104
* main/remap_helper.h when called the first time. */
106
for (i = 0; es2_extensions[i]; i++)
107
_mesa_enable_extension(ctx, es2_extensions[i]);
108
for (i = 0; es2_extensions_disabled[i]; i++)
109
_mesa_disable_extension(ctx, es2_extensions_disabled[i]);