On Tue, May 12, 2015 at 11:13 AM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > This has been detected by Clang 3.6 which displays a warning message > because variable 'nv30' is uninitialized when used here. According to > the description of container_of, 'sample' must be initialized, otherwise > the result is undefined. > > This patch gets rid of container_of() which is not required here like > for nv50 and nvc0 drivers. > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > src/gallium/drivers/nouveau/nv30/nv30_context.c | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.c > b/src/gallium/drivers/nouveau/nv30/nv30_context.c > index 617b088..74ff395 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_context.c > +++ b/src/gallium/drivers/nouveau/nv30/nv30_context.c > @@ -36,29 +36,26 @@ > static void > nv30_context_kick_notify(struct nouveau_pushbuf *push) > { > - struct nouveau_screen *screen; > - struct nv30_context *nv30; > + struct nv30_screen *screen = push->user_priv;
That's not what's stored in user_priv though... the context's bufctx pointer is. This will make it fail. > > - if (!push->user_priv) > + if (!screen) > return; > - nv30 = container_of(push->user_priv, nv30, bufctx); > - screen = &nv30->screen->base; > > - nouveau_fence_next(screen); > - nouveau_fence_update(screen, TRUE); > + nouveau_fence_next(&screen->base); > + nouveau_fence_update(&screen->base, TRUE); > > if (push->bufctx) { > struct nouveau_bufref *bref; > LIST_FOR_EACH_ENTRY(bref, &push->bufctx->current, thead) { > struct nv04_resource *res = bref->priv; > if (res && res->mm) { > - nouveau_fence_ref(screen->fence.current, &res->fence); > + nouveau_fence_ref(screen->base.fence.current, &res->fence); > > if (bref->flags & NOUVEAU_BO_RD) > res->status |= NOUVEAU_BUFFER_STATUS_GPU_READING; > > if (bref->flags & NOUVEAU_BO_WR) { > - nouveau_fence_ref(screen->fence.current, &res->fence_wr); > + nouveau_fence_ref(screen->base.fence.current, &res->fence_wr); > res->status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING | > NOUVEAU_BUFFER_STATUS_DIRTY; > } > -- > 2.4.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev