From b9fea5ea6b5e5c79c916792cdb45a2a9ca0f522e Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Wed, 17 Jan 2024 10:04:47 +0100 Subject: [PATCH] virgl: Use better reporting for mirror_clamp features Fixes: 9efe50c83bfa3678fe7ad3cfcd94cf73d900be22 virgl: report MIRROR_CLAMP features better Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/virgl/virgl_screen.c | 2 ++ src/virtio/virtio-gpu/virgl_hw.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index e7985e7e072..d86ca5d1e8c 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -97,6 +97,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param) return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_MIRROR_CLAMP_TO_EDGE; FALLTHROUGH; case PIPE_CAP_TEXTURE_MIRROR_CLAMP: + if (vscreen->caps.caps.v2.host_feature_check_version >= 22) + return vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_MIRROR_CLAMP; return vscreen->caps.caps.v1.bset.mirror_clamp && !(vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_HOST_IS_GLES); case PIPE_CAP_TEXTURE_SWIZZLE: diff --git a/src/virtio/virtio-gpu/virgl_hw.h b/src/virtio/virtio-gpu/virgl_hw.h index d29f4792a07..1c55a47bf0c 100644 --- a/src/virtio/virtio-gpu/virgl_hw.h +++ b/src/virtio/virtio-gpu/virgl_hw.h @@ -586,6 +586,7 @@ enum virgl_formats { #define VIRGL_CAP_V2_DRAW_PARAMETERS (1 << 14) #define VIRGL_CAP_V2_GROUP_VOTE (1 << 15) #define VIRGL_CAP_V2_MIRROR_CLAMP_TO_EDGE (1 << 16) +#define VIRGL_CAP_V2_MIRROR_CLAMP (1 << 17) /* virgl bind flags - these are compatible with mesa 10.5 gallium. * but are fixed, no other should be passed to virgl either.