[Mesa-dev] [PATCH 1/2] st/dri: don't use _ctx in client_wait_sync

Albert Freeman albertwdfreeman at gmail.com
Sat Sep 26 23:02:21 PDT 2015


On 25 September 2015 at 23:49, Marek Olšák <maraeo at gmail.com> wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Not needed and it can be NULL.
>
> Cc: 10.6 11.0 <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/state_trackers/dri/dri2.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
> index 91b4431..ab940e4 100644
> --- a/src/gallium/state_trackers/dri/dri2.c
> +++ b/src/gallium/state_trackers/dri/dri2.c
> @@ -1293,6 +1293,7 @@ dri2_load_opencl_interop(struct dri_screen *screen)
>  }
>
>  struct dri2_fence {
> +   struct dri_screen *driscreen;
>     struct pipe_fence_handle *pipe_fence;
>     void *cl_event;
>  };
> @@ -1313,6 +1314,7 @@ dri2_create_fence(__DRIcontext *_ctx)
>        return NULL;
>     }
>
> +   fence->driscreen = dri_screen(_ctx->driScreenPriv);
>     return fence;
>  }
>
> @@ -1360,9 +1362,9 @@ static GLboolean
>  dri2_client_wait_sync(__DRIcontext *_ctx, void *_fence, unsigned flags,
>                        uint64_t timeout)
>  {
> -   struct dri_screen *driscreen = dri_screen(_ctx->driScreenPriv);
> -   struct pipe_screen *screen = driscreen->base.screen;
>     struct dri2_fence *fence = (struct dri2_fence*)_fence;
> +   struct dri_screen *driscreen = fence->driscreen;
> +   struct pipe_screen *screen = driscreen->base.screen;
>
>     /* No need to flush. The context was flushed when the fence was created. */
>
> --
> 2.1.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
I think this is required (it is applied on top of your patch against mesa git):

diff --git a/src/gallium/state_trackers/dri/dri2.c
b/src/gallium/state_trackers/dri/dri2.c
index ab940e4..712203b 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1338,6 +1338,7 @@ dri2_get_fence_from_cl_event(__DRIscreen
*_screen, intptr_t cl_event)
       return NULL;
    }

+   fence->driscreen = driscreen;
    return fence;
 }




otherwise
Reviewed-by: Albert Freeman <albertwdfreeman at gmail.com>


More information about the mesa-dev mailing list