[Mesa-dev] [PATCH 5/6] i965: Merge brw_destroy_context() into intelDestroyContext().
Kenneth Graunke
kenneth at whitecape.org
Wed Oct 16 04:02:47 CEST 2013
Now that i915 and i965 have been split, the separation between
intelDestroyContext and brw_destroy_context is kind of arbitrary.
This patch replaces the only brw->vtbl.destroy() call with the body
of brw_destroy_context (the only implementation of that virtual
function).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_context.c | 20 +++++++++++++++++++-
src/mesa/drivers/dri/i965/brw_context.h | 2 --
src/mesa/drivers/dri/i965/brw_vtbl.c | 29 -----------------------------
3 files changed, 19 insertions(+), 32 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index a5ba353..3a60161 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -694,7 +694,25 @@ intelDestroyContext(__DRIcontext * driContextPriv)
_mesa_meta_free(&brw->ctx);
- brw->vtbl.destroy(brw);
+ if (INTEL_DEBUG & DEBUG_SHADER_TIME) {
+ /* Force a report. */
+ brw->shader_time.report_time = 0;
+
+ brw_collect_and_report_shader_time(brw);
+ brw_destroy_shader_time(brw);
+ }
+
+ brw_destroy_state(brw);
+ brw_draw_destroy(brw);
+
+ drm_intel_bo_unreference(brw->curbe.curbe_bo);
+ drm_intel_bo_unreference(brw->vs.base.const_bo);
+ drm_intel_bo_unreference(brw->wm.base.const_bo);
+
+ free(brw->curbe.last_buf);
+ free(brw->curbe.next_buf);
+
+ drm_intel_gem_context_destroy(brw->hw_ctx);
if (ctx->swrast_context) {
_swsetup_DestroyContext(&brw->ctx);
diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index 81fc1b9..3b95922 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -922,8 +922,6 @@ struct brw_context
struct
{
- void (*destroy) (struct brw_context * brw);
-
void (*update_texture_surface)(struct gl_context *ctx,
unsigned unit,
uint32_t *surf_offset,
diff --git a/src/mesa/drivers/dri/i965/brw_vtbl.c b/src/mesa/drivers/dri/i965/brw_vtbl.c
index 7f34083..a02259e 100644
--- a/src/mesa/drivers/dri/i965/brw_vtbl.c
+++ b/src/mesa/drivers/dri/i965/brw_vtbl.c
@@ -55,37 +55,8 @@
#include "glsl/ralloc.h"
-/**
- * called from intelDestroyContext()
- */
-static void
-brw_destroy_context(struct brw_context *brw)
-{
- if (INTEL_DEBUG & DEBUG_SHADER_TIME) {
- /* Force a report. */
- brw->shader_time.report_time = 0;
-
- brw_collect_and_report_shader_time(brw);
- brw_destroy_shader_time(brw);
- }
-
- brw_destroy_state(brw);
- brw_draw_destroy( brw );
-
- drm_intel_bo_unreference(brw->curbe.curbe_bo);
- drm_intel_bo_unreference(brw->vs.base.const_bo);
- drm_intel_bo_unreference(brw->wm.base.const_bo);
-
- free(brw->curbe.last_buf);
- free(brw->curbe.next_buf);
-
- drm_intel_gem_context_destroy(brw->hw_ctx);
-}
-
void brwInitVtbl( struct brw_context *brw )
{
- brw->vtbl.destroy = brw_destroy_context;
-
assert(brw->gen >= 4);
if (brw->gen >= 7) {
gen7_init_vtable_surface_functions(brw);
--
1.8.3.2
More information about the mesa-dev
mailing list