Mesa (master): virgl: add support for ARB_indirect_parameters
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Apr 9 04:26:29 UTC 2019
Module: Mesa
Branch: master
Commit: ff852fdc05dc2fc74625bc8f14e80a5f1cab5ed3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff852fdc05dc2fc74625bc8f14e80a5f1cab5ed3
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Feb 11 12:46:10 2019 +1000
virgl: add support for ARB_indirect_parameters
The protocol changes are already in place for it.
Reviewed-By: Gert Wollny <gert.wollny at collabora.com>
---
docs/features.txt | 2 +-
src/gallium/drivers/virgl/virgl_hw.h | 1 +
src/gallium/drivers/virgl/virgl_screen.c | 3 ++-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/docs/features.txt b/docs/features.txt
index fa7a756a1ba..60877fa1969 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -227,7 +227,7 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi
GL 4.6, GLSL 4.60
GL_ARB_gl_spirv in progress (Nicolai Hähnle, Ian Romanick)
- GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, radeonsi)
+ GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, radeonsi, virgl)
GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr)
GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr, virgl)
GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, radeonsi, softpipe, virgl)
diff --git a/src/gallium/drivers/virgl/virgl_hw.h b/src/gallium/drivers/virgl/virgl_hw.h
index 1cd7bf01aa6..8a56e1d53a8 100644
--- a/src/gallium/drivers/virgl/virgl_hw.h
+++ b/src/gallium/drivers/virgl/virgl_hw.h
@@ -239,6 +239,7 @@ enum virgl_formats {
#define VIRGL_CAP_FAKE_FP64 (1 << 19)
#define VIRGL_CAP_BIND_COMMAND_ARGS (1 << 20)
#define VIRGL_CAP_MULTI_DRAW_INDIRECT (1 << 21)
+#define VIRGL_CAP_INDIRECT_PARAMS (1 << 22)
#define VIRGL_CAP_TRANSFORM_FEEDBACK3 (1 << 23)
/* virgl bind flags - these are compatible with mesa 10.5 gallium.
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index edcc4aa374d..2e2af36f587 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -273,11 +273,12 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
return (vscreen->caps.caps.v1.max_samples == 1) ? 1 : 0;
case PIPE_CAP_MULTI_DRAW_INDIRECT:
return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_MULTI_DRAW_INDIRECT);
+ case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
+ return !!(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_PARAMS);
case PIPE_CAP_TEXTURE_GATHER_SM5:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_TEXTURE_GATHER_OFFSETS:
case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION:
- case PIPE_CAP_MULTI_DRAW_INDIRECT_PARAMS:
case PIPE_CAP_CLIP_HALFZ:
case PIPE_CAP_VERTEXID_NOBASE:
case PIPE_CAP_MULTISAMPLE_Z_RESOLVE:
More information about the mesa-commit
mailing list