On Friday, 2019-02-15 13:36:39 +0000, Eric Engestrom wrote: > On Friday, 2019-02-15 07:11:55 -0500, Rob Clark wrote: > > On Fri, Feb 15, 2019 at 3:55 AM Daniel Drake <drake@xxxxxxxxxxxx> wrote: > > > > > > Hi, > > > > > > Using libdrm-2.4.97, mesa fails to build on ARM with: > > > > > > [ 456s] In file included from > > > ../../../../../src/gallium/drivers/freedreno/freedreno_util.h:33, > > > [ 456s] from > > > ../../../../../src/gallium/drivers/freedreno/freedreno_batch.h:34, > > > [ 456s] from > > > ../../../../../src/gallium/drivers/freedreno/freedreno_context.h:39, > > > [ 456s] from > > > ../../../../../src/gallium/drivers/freedreno/freedreno_program.c:33: > > > [ 456s] /usr/include/freedreno/freedreno_ringbuffer.h:32:10: fatal > > > error: xf86atomic.h: No such file or directory > > > > > > The freedreno headers were recently modified to use xf86atomic.h: > > > https://gitlab.freedesktop.org/mesa/drm/commit/b541d21a0a908bf98d44375720f4430297720743 > > > > > > > oh, that union/ifdef hack was specifically to avoid this issue.. > > probably the patch removing it should be reverted. > > Right, I messed up with that commit, I didn't realise freedreno_ringbuffer.h > was installed. We need to remove that include. > > That said, I'm confused as to how freedreno_ringbuffer.h users in Mesa > knows whether it's safe to use refcnt from that union? > It doesn't check for HAS_ATOMIC_OPS, so it can't know whether it > contains garbage padding or a refcount, can it? No, that wouldn't even compile? (with the code before my messed up commit:) Mesa includes freedreno_ringbuffer.h but doesn't define HAS_ATOMIC_OPS, so fd_ringbuffer::refcnt doesn't get compiled in (but the padding is still there), so code in mesa can't use ->refcnt because the compiler wouldn't know what that is. I must be missing something, how did this ever compile? _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel