[Mesa-dev] [PATCH 0/7] gallium/virgl: use hw-atomic buffers
Erik Faye-Lund
erik.faye-lund at collabora.com
Thu Aug 30 13:40:11 UTC 2018
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
More information about the mesa-dev
mailing list