Here's a patch-series that cleans up some evergreen-specific gallium assumptions regarding hw-atomic buffers, as well as uses them on virgl to avoid reporting synthetically few SSBOs.
The goal is really for gallium drivers to accrately report the exact amount of SSBOs and hw-atomic buffers they suppport, without any artifical limitations. Ideally, I'd submit the last two patches separately, but I left them in here to show the motivation. This depends on this virglrenderer MR to be effective: https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/12 This is the final step currently needed to pass dEQP GLES-3.1 (as well as GLES-3.2) using virgl/virglrenderer on i965 hardware. Erik Faye-Lund (6): st/mesa: use real bool for can_ubo st/mesa: clean up atomic vs ssbo code st/mesa: simplify MaxAtomicBufferSize-logic gallium: add PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS gallium: add PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTER{S,_BUFFERS} virgl: update minor differences to upstream header Tomeu Vizoso (1): virgl: use hw-atomics instead of in-ssbo ones src/gallium/drivers/etnaviv/etnaviv_screen.c | 8 +++ .../drivers/freedreno/freedreno_screen.c | 8 +++ .../drivers/nouveau/nv30/nv30_screen.c | 4 ++ .../drivers/nouveau/nv50/nv50_screen.c | 4 ++ .../drivers/nouveau/nvc0/nvc0_screen.c | 4 ++ src/gallium/drivers/r300/r300_screen.c | 8 ++- src/gallium/drivers/r600/r600_pipe.c | 13 ++++ src/gallium/drivers/radeonsi/si_get.c | 4 ++ src/gallium/drivers/svga/svga_screen.c | 4 ++ src/gallium/drivers/v3d/v3d_screen.c | 10 ++- src/gallium/drivers/vc4/vc4_screen.c | 10 ++- src/gallium/drivers/virgl/virgl_context.c | 37 +++++++++++ src/gallium/drivers/virgl/virgl_context.h | 2 + src/gallium/drivers/virgl/virgl_encode.c | 23 +++++++ src/gallium/drivers/virgl/virgl_encode.h | 3 + src/gallium/drivers/virgl/virgl_hw.h | 5 ++ src/gallium/drivers/virgl/virgl_protocol.h | 11 +++- src/gallium/drivers/virgl/virgl_screen.c | 12 +++- src/gallium/include/pipe/p_defines.h | 3 + src/mesa/state_tracker/st_extensions.c | 65 ++++++++++++------- 20 files changed, 205 insertions(+), 33 deletions(-) -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev