From 2428fce2e6a9f73e99ab88a4d0ea1a7d67314626 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 23 May 2023 17:37:43 +0200 Subject: [PATCH] virgl: signal support for group vote and draw parameters Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/virgl/virgl_screen.c | 4 ++++ src/virtio/virtio-gpu/virgl_hw.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index 9ca22ba..31b1c43 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -355,6 +355,10 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param) return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_STRING_MARKER; case PIPE_CAP_SURFACE_SAMPLE_COUNT: return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_IMPLICIT_MSAA; + case PIPE_CAP_DRAW_PARAMETERS: + return !!(vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_DRAW_PARAMETERS); + case PIPE_CAP_SHADER_GROUP_VOTE: + return !!(vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_GROUP_VOTE); case PIPE_CAP_IMAGE_STORE_FORMATTED: return 1; case PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT: diff --git a/src/virtio/virtio-gpu/virgl_hw.h b/src/virtio/virtio-gpu/virgl_hw.h index d894e74..0dd16e7 100644 --- a/src/virtio/virtio-gpu/virgl_hw.h +++ b/src/virtio/virtio-gpu/virgl_hw.h @@ -469,6 +469,8 @@ enum virgl_formats { #define VIRGL_CAP_V2_VS_VERTEX_LAYER (1 << 11) #define VIRGL_CAP_V2_VS_VIEWPORT_INDEX (1 << 12) #define VIRGL_CAP_V2_PIPELINE_STATISTICS_QUERY (1 << 13) +#define VIRGL_CAP_V2_DRAW_PARAMETERS (1 << 14) +#define VIRGL_CAP_V2_GROUP_VOTE (1 << 15) /* virgl bind flags - these are compatible with mesa 10.5 gallium. * but are fixed, no other should be passed to virgl either. -- 2.7.4