i965: Merge brw_destroy_context() into intelDestroyContext().
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@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user