[Mesa-dev] [PATCH 09/12] mesa: Make the drivers call a non-code-generated dispatch table setup.

Eric Anholt eric at anholt.net
Fri Jan 18 14:30:44 PST 2013


I want to drive the Save dispatch table setup from this same function.
---
 src/mesa/drivers/dri/i915/i830_context.c       |    2 +-
 src/mesa/drivers/dri/i915/i915_context.c       |    2 +-
 src/mesa/drivers/dri/i965/brw_context.c        |    2 +-
 src/mesa/drivers/dri/nouveau/nouveau_context.c |    2 +-
 src/mesa/drivers/dri/r200/r200_context.c       |    2 +-
 src/mesa/drivers/dri/radeon/radeon_context.c   |    2 +-
 src/mesa/drivers/dri/swrast/swrast.c           |    2 +-
 src/mesa/drivers/osmesa/osmesa.c               |    2 +-
 src/mesa/drivers/windows/gdi/wmesa.c           |    2 +-
 src/mesa/drivers/x11/xm_api.c                  |    2 +-
 src/mesa/main/api_exec.h                       |    2 ++
 src/mesa/main/context.c                        |    7 +++++++
 src/mesa/main/tests/dispatch_sanity.cpp        |    2 +-
 src/mesa/state_tracker/st_context.c            |    2 +-
 14 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/src/mesa/drivers/dri/i915/i830_context.c b/src/mesa/drivers/dri/i915/i830_context.c
index 288dfcc..524e7cb 100644
--- a/src/mesa/drivers/dri/i915/i830_context.c
+++ b/src/mesa/drivers/dri/i915/i830_context.c
@@ -126,7 +126,7 @@ i830CreateContext(int api,
 
    _mesa_compute_version(ctx);
 
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    return true;
diff --git a/src/mesa/drivers/dri/i915/i915_context.c b/src/mesa/drivers/dri/i915/i915_context.c
index 75a1a2c..133f339 100644
--- a/src/mesa/drivers/dri/i915/i915_context.c
+++ b/src/mesa/drivers/dri/i915/i915_context.c
@@ -278,7 +278,7 @@ i915CreateContext(int api,
 
    _mesa_compute_version(ctx);
 
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    return true;
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 7b53360..1201565 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -379,7 +379,7 @@ brwCreateContext(int api,
 
    _mesa_compute_version(ctx);
 
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    return true;
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c
index 8811562..b216c60 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c
@@ -106,7 +106,7 @@ nouveau_context_create(gl_api api,
 	}
 
 	/* Exec table initialization requires the version to be computed */
-	_mesa_initialize_exec_table(ctx);
+	_mesa_initialize_dispatch_tables(ctx);
 	_mesa_initialize_vbo_vtxfmt(ctx);
 
 	if (nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_VRAM, 0, 4096,
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index cf35079..1e0239b 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -462,7 +462,7 @@ GLboolean r200CreateContext( gl_api api,
    _mesa_compute_version(ctx);
 
    /* Exec table initialization requires the version to be computed */
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    *error = __DRI_CTX_ERROR_SUCCESS;
diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c
index 26490ea..f81e81f 100644
--- a/src/mesa/drivers/dri/radeon/radeon_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_context.c
@@ -415,7 +415,7 @@ r100CreateContext( gl_api api,
    _mesa_compute_version(ctx);
 
    /* Exec table initialization requires the version to be computed */
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    *error = __DRI_CTX_ERROR_SUCCESS;
diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index 33420f7..9638271 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -791,7 +791,7 @@ dri_create_context(gl_api api,
 
     _mesa_compute_version(mesaCtx);
 
-    _mesa_initialize_exec_table(mesaCtx);
+    _mesa_initialize_dispatch_tables(mesaCtx);
     _mesa_initialize_vbo_vtxfmt(mesaCtx);
 
     *error = __DRI_CTX_ERROR_SUCCESS;
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 5965d7d..755f371 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -793,7 +793,7 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
          _mesa_compute_version(ctx);
 
          /* Exec table initialization requires the version to be computed */
-         _mesa_initialize_exec_table(ctx);
+         _mesa_initialize_dispatch_tables(ctx);
          _mesa_initialize_vbo_vtxfmt(ctx);
       }
    }
diff --git a/src/mesa/drivers/windows/gdi/wmesa.c b/src/mesa/drivers/windows/gdi/wmesa.c
index b76c0ed..48c6661 100644
--- a/src/mesa/drivers/windows/gdi/wmesa.c
+++ b/src/mesa/drivers/windows/gdi/wmesa.c
@@ -642,7 +642,7 @@ WMesaContext WMesaCreateContext(HDC hDC,
     _mesa_compute_version(ctx);
 
     /* Exec table initialization requires the version to be computed */
-    _mesa_initialize_exec_table(ctx);
+    _mesa_initialize_dispatch_tables(ctx);
     _mesa_initialize_vbo_vtxfmt(ctx);
 
     return c;
diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index 2ba65ff..f0c5957 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -967,7 +967,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
    _mesa_compute_version(mesaCtx);
 
     /* Exec table initialization requires the version to be computed */
-   _mesa_initialize_exec_table(mesaCtx);
+   _mesa_initialize_dispatch_tables(mesaCtx);
    _mesa_initialize_vbo_vtxfmt(mesaCtx);
 
    return c;
diff --git a/src/mesa/main/api_exec.h b/src/mesa/main/api_exec.h
index bf3faa1..94f7f41 100644
--- a/src/mesa/main/api_exec.h
+++ b/src/mesa/main/api_exec.h
@@ -36,5 +36,7 @@ _mesa_alloc_dispatch_table(void);
 extern void
 _mesa_initialize_exec_table(struct gl_context *ctx);
 
+extern void
+_mesa_initialize_dispatch_tables(struct gl_context *ctx);
 
 #endif
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 38d74b0..d583f98 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -907,6 +907,13 @@ create_beginend_table(struct gl_context *ctx)
    return table;
 }
 
+void
+_mesa_initialize_dispatch_tables(struct gl_context *ctx)
+{
+   /* Do the code-generated setup of the exec table in api_exec.c. */
+   _mesa_initialize_exec_table(ctx);
+}
+
 /**
  * Initialize a struct gl_context struct (rendering context).
  *
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 5e1a7b5..399b9a5 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -113,7 +113,7 @@ DispatchSanity_test::SetUpCtx(gl_api api, unsigned int version)
 
    ctx.Version = version;
 
-   _mesa_initialize_exec_table(&ctx);
+   _mesa_initialize_dispatch_tables(&ctx);
    _mesa_initialize_vbo_vtxfmt(&ctx);
 }
 
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 368a30b..b416319 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -189,7 +189,7 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe,
 
    _mesa_compute_version(ctx);
 
-   _mesa_initialize_exec_table(ctx);
+   _mesa_initialize_dispatch_tables(ctx);
    _mesa_initialize_vbo_vtxfmt(ctx);
 
    return st;
-- 
1.7.10.4



More information about the mesa-dev mailing list