Hi, these patches apply on top of my ARB_shader_image_load_store series. Together, they fix a few remaining fails with piglit's arb_shader_image_load_store-host-mem-barrier. You can see them in context at https://cgit.freedesktop.org/~nh/mesa/log/?h=ssbo
The basic assumption for how barrier bits are translated is that each Gallium object / binding point has its own PIPE_BARRIER_* bit, but the driver will automatically do the necessary invalidations/flushes for transfers and blit-type operations, as well as when the framebuffer state is changed. This is still very tricky stuff to get right, but at least I think it's shaping up nicely for radeonsi, as evidenced by the fact that the host-mem-barrier test passes (and the control subtests also show that what we're doing here isn't just a no-op). Please review! Thanks, Nicolai --- src/gallium/drivers/radeonsi/si_state.c | 7 +++-- src/gallium/include/pipe/p_defines.h | 1 + .../state_tracker/st_cb_texturebarrier.c | 25 +++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev