From ea8681f98582e67bced7d84c34e55b4d3d0e0ada 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: (cherry picked from commit b9fea5ea6b5e5c79c916792cdb45a2a9ca0f522e) --- .pick_status.json | 2 +- src/gallium/drivers/virgl/virgl_screen.c | 2 ++ src/virtio/virtio-gpu/virgl_hw.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index c1bfca41f0b..509ccebddfd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -124,7 +124,7 @@ "description": "virgl: Use better reporting for mirror_clamp features", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "9efe50c83bfa3678fe7ad3cfcd94cf73d900be22", "notes": null 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.