summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/egl_drm/intel/intel_context.c
diff options
context:
space:
mode:
authorJakob Bornecrantz <jakob@tungstengraphics.com>2008-07-07 13:24:09 +0200
committerJakob Bornecrantz <jakob@tungstengraphics.com>2008-07-07 13:24:09 +0200
commit1315f720ba80596b866103a7e153bfc2f2bd267b (patch)
tree59ff08e84e1d611920c9920648d1b814359898bd /src/gallium/winsys/egl_drm/intel/intel_context.c
parentb30fb6d54019c84174379a773121438ba943557a (diff)
i915: Destruction of surface, context and device in EGL
Diffstat (limited to 'src/gallium/winsys/egl_drm/intel/intel_context.c')
-rw-r--r--src/gallium/winsys/egl_drm/intel/intel_context.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/winsys/egl_drm/intel/intel_context.c b/src/gallium/winsys/egl_drm/intel/intel_context.c
index 7205fa4483..7513f3feef 100644
--- a/src/gallium/winsys/egl_drm/intel/intel_context.c
+++ b/src/gallium/winsys/egl_drm/intel/intel_context.c
@@ -178,6 +178,20 @@ intel_create_context(struct egl_drm_context *egl_context, const __GLcontextModes
return TRUE;
}
+int
+intel_destroy_context(struct egl_drm_context *egl_context)
+{
+ struct intel_context *intel = egl_context->priv;
+
+ if (intel->intel_screen->dummy == intel)
+ intel->intel_screen->dummy = NULL;
+
+ st_destroy_context(intel->st);
+ intel_be_destroy_context(&intel->base);
+ free(intel);
+ return TRUE;
+}
+
void
intel_make_current(struct egl_drm_context *context, struct egl_drm_drawable *draw, struct egl_drm_drawable *read)
{