[Mesa-dev] [PATCH 09/21] swrast-dri: Enable extensions by just setting the flags

Ian Romanick idr at freedesktop.org
Sat Aug 27 00:56:59 PDT 2011


From: Ian Romanick <ian.d.romanick at intel.com>

Core Mesa already does the dispatch offset remapping for every
function that could possibly ever be supported.  There's no need to
continue using that cruft in the driver.

Also simplify the handling of OpenGL ES extensions.  The core Mesa
extension code is now smart enough to only expose the right extensions
with the right APIs.
---
 src/mesa/drivers/dri/swrast/swrast.c |   80 ++-------------------------------
 1 files changed, 5 insertions(+), 75 deletions(-)

diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index 719b406..c9b2ea7 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -561,61 +561,6 @@ swrast_init_driver_functions(struct dd_function_table *driver)
     driver->ChooseTextureFormat = swrastChooseTextureFormat;
 }
 
-static const char *es2_extensions[] = {
-   /* Used by mesa internally (cf all_mesa_extensions in ../common/utils.c) */
-   "GL_ARB_draw_buffers",
-   "GL_ARB_multisample",
-   "GL_ARB_texture_compression",
-   "GL_ARB_transpose_matrix",
-   "GL_ARB_vertex_buffer_object",
-   "GL_ARB_window_pos",
-   "GL_EXT_blend_func_separate",
-   "GL_EXT_compiled_vertex_array",
-   "GL_EXT_framebuffer_blit",
-   "GL_EXT_multi_draw_arrays",
-   "GL_EXT_polygon_offset",
-   "GL_EXT_texture_object",
-   "GL_EXT_vertex_array",
-   "GL_IBM_multimode_draw_arrays",
-   "GL_MESA_window_pos",
-   "GL_NV_vertex_program",
-
-   /* Required by GLES2 */
-   "GL_ARB_fragment_program",
-   "GL_ARB_fragment_shader",
-   "GL_ARB_multitexture",
-   "GL_ARB_shader_objects",
-   "GL_ARB_texture_cube_map",
-   "GL_ARB_texture_mirrored_repeat",
-   "GL_ARB_texture_non_power_of_two",
-   "GL_ARB_vertex_shader",
-   "GL_EXT_blend_color",
-   "GL_EXT_blend_equation_separate",
-   "GL_EXT_blend_minmax",
-   "GL_EXT_blend_subtract",
-   "GL_EXT_stencil_wrap",
-
-   /* Optional GLES2 */
-   "GL_ARB_framebuffer_object",
-   "GL_EXT_texture_filter_anisotropic",
-   "GL_ARB_depth_texture",
-   "GL_EXT_packed_depth_stencil",
-   "GL_EXT_framebuffer_object",
-   NULL,
-};
-
-static void
-InitExtensionsES2(struct gl_context *ctx)
-{
-   int i;
-
-   /* Can't use driInitExtensions() since it uses extensions from
-    * main/remap_helper.h when called the first time. */
-
-   for (i = 0; es2_extensions[i]; i++)
-      _mesa_enable_extension(ctx, es2_extensions[i]);
-}
-
 /**
  * Context-related functions.
  */
@@ -674,26 +619,11 @@ dri_create_context(gl_api api,
     _mesa_meta_init(mesaCtx);
     _mesa_enable_sw_extensions(mesaCtx);
 
-    switch (api) {
-    case API_OPENGL:
-        _mesa_enable_1_3_extensions(mesaCtx);
-        _mesa_enable_1_4_extensions(mesaCtx);
-        _mesa_enable_1_5_extensions(mesaCtx);
-        _mesa_enable_2_0_extensions(mesaCtx);
-        _mesa_enable_2_1_extensions(mesaCtx);
-
-        driInitExtensions( mesaCtx, NULL, GL_FALSE );
-        break;
-    case API_OPENGLES:
-        _mesa_enable_1_3_extensions(mesaCtx);
-        _mesa_enable_1_4_extensions(mesaCtx);
-        _mesa_enable_1_5_extensions(mesaCtx);
-
-        break;
-    case API_OPENGLES2:
-        InitExtensionsES2( mesaCtx);
-        break;
-    }
+    _mesa_enable_1_3_extensions(mesaCtx);
+    _mesa_enable_1_4_extensions(mesaCtx);
+    _mesa_enable_1_5_extensions(mesaCtx);
+    _mesa_enable_2_0_extensions(mesaCtx);
+    _mesa_enable_2_1_extensions(mesaCtx);
 
     return GL_TRUE;
 
-- 
1.7.4.4



More information about the mesa-dev mailing list