diff options
author | Dave Airlie <[email protected]> | 2019-02-11 12:46:10 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2019-04-09 14:25:01 +1000 |
commit | ff852fdc05dc2fc74625bc8f14e80a5f1cab5ed3 (patch) | |
tree | 86a392b359a787deae509156d21ac4a046783b59 | |
parent | 05ff2dbf137c03b7c7e47f606b930e0afddaedee (diff) |
virgl: add support for ARB_indirect_parameters
The protocol changes are already in place for it.
Reviewed-By: Gert Wollny <[email protected]>
-rw-r--r-- | docs/features.txt | 2 | ||||
-rw-r--r-- | src/gallium/drivers/virgl/virgl_hw.h | 1 | ||||
-rw-r--r-- | 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: |