mesa: Only initialize save dispatch table for OpenGL
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 4 May 2010 01:12:46 +0000 (21:12 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 4 May 2010 01:21:58 +0000 (21:21 -0400)
src/mesa/main/context.c
src/mesa/vbo/vbo_context.c

index 196a641bc045c50c2fbef26a36a6642bc11db8a2..439b6c8df12e3d128c0696b2d25b29f61f1c0cc4 100644 (file)
@@ -901,18 +901,6 @@ _mesa_initialize_context_for_api(GLcontext *ctx,
    }
 #endif
    ctx->CurrentDispatch = ctx->Exec;
-
-#if FEATURE_dlist
-   ctx->Save = _mesa_create_save_table();
-   if (!ctx->Save) {
-      _mesa_release_shared_state(ctx, ctx->Shared);
-      free(ctx->Exec);
-      return GL_FALSE;
-   }
-
-   _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt );
-#endif
-
    /* Neutral tnl module stuff */
    _mesa_init_exec_vtxfmt( ctx ); 
    ctx->TnlModule.Current = NULL;
@@ -930,6 +918,16 @@ _mesa_initialize_context_for_api(GLcontext *ctx,
 
    switch (ctx->API) {
    case API_OPENGL:
+#if FEATURE_dlist
+      ctx->Save = _mesa_create_save_table();
+      if (!ctx->Save) {
+        _mesa_release_shared_state(ctx, ctx->Shared);
+        free(ctx->Exec);
+        return GL_FALSE;
+      }
+
+      _mesa_install_save_vtxfmt( ctx, &ctx->ListState.ListVtxfmt );
+#endif
       break;
    case API_OPENGLES:
       /**
index e3be39a342e134255a4fac96e9b758e6b7a20b0b..13148fc3e22f330c289e85360b90576e9b4bf339 100644 (file)
@@ -199,7 +199,8 @@ GLboolean _vbo_CreateContext( GLcontext *ctx )
     */
    vbo_exec_init( ctx );
 #if FEATURE_dlist
-   vbo_save_init( ctx );
+   if (ctx->API == API_OPENGL)
+      vbo_save_init( ctx );
 #endif
 
    _math_init_eval();
@@ -233,7 +234,8 @@ void _vbo_DestroyContext( GLcontext *ctx )
 
       vbo_exec_destroy(ctx);
 #if FEATURE_dlist
-      vbo_save_destroy(ctx);
+      if (ctx->API == API_OPENGL)
+         vbo_save_destroy(ctx);
 #endif
       FREE(vbo);
       ctx->swtnl_im = NULL;