On Tue, Apr 04, 2017 at 05:10:37PM -0700, Kenneth Graunke wrote:
> drm_bacon_context is a malloc'd struct containing a uint32_t context ID
> and a pointer back to the bufmgr.  The bufmgr pointer is pretty useless,
> as everybody already has brw->bufmgr.  At that point...we may as well
> just use the ctx_id handle directly.  A number of places already had to
> call drm_bacon_gem_context_get_id() to extract the ID anyway.  Now they
> just have it.

About time!

> ---
>  void
> -drm_bacon_gem_context_destroy(drm_bacon_context *ctx)
> +brw_destroy_hw_context(drm_bacon_bufmgr *bufmgr, uint32_t ctx_id)
>  {
> -     struct drm_i915_gem_context_destroy destroy;
> -     int ret;
> -
> -     if (ctx == NULL)
> -             return;
> -
> -     memclear(destroy);
> +     struct drm_i915_gem_context_destroy d = { .ctx_id = ctx_id };
>  
> -     destroy.ctx_id = ctx->ctx_id;
> -     ret = drmIoctl(ctx->bufmgr->fd, DRM_IOCTL_I915_GEM_CONTEXT_DESTROY,
> -                    &destroy);

For funsie, this is just drmIoctl(fd, DRM_IOCTL_I915_GEM_CONTEXT_DESTROY, 
&ctx_id);

> -     if (ret != 0)
> +     if (ctx_id != 0 &&
> +         drmIoctl(bufmgr->fd, DRM_IOCTL_I915_GEM_CONTEXT_DESTROY, &d) != 0) {
>               fprintf(stderr, "DRM_IOCTL_I915_GEM_CONTEXT_DESTROY failed: 
> %s\n",

Reviewing the fprintf I hope are on the todo list.

Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to