Mesa (staging/19.0): virgl: Add a caps feature check version

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 21 18:22:25 UTC 2019


Module: Mesa
Branch: staging/19.0
Commit: 8b26c9159ddafe45a1ab25174f438f10a5a8e386
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b26c9159ddafe45a1ab25174f438f10a5a8e386

Author: Gert Wollny <gert.wollny at collabora.com>
Date:   Wed Mar 27 09:07:36 2019 +0100

virgl: Add a caps feature check version

When we add new feature checks on the host side that is used to
enable a cap conditionally that was enabled unconditionally before
we might end up with a feature regression when a new mesa version
is used with an old virglrenderer version that doesn't check for
that cap.

To work around this problem add a version id to the caps that corresponds
to the features that are actually checked on the host and check that
version too when enabling the cap.

Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Pohsien Wang <pwang at chromium.org>
(cherry-picked from commit a0edceb00dbe4771267615593f416a0dc9ccd52a)

---

 src/gallium/drivers/virgl/virgl_hw.h     | 1 +
 src/gallium/drivers/virgl/virgl_winsys.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/gallium/drivers/virgl/virgl_hw.h b/src/gallium/drivers/virgl/virgl_hw.h
index 7b4c063f353..1c2850526e0 100644
--- a/src/gallium/drivers/virgl/virgl_hw.h
+++ b/src/gallium/drivers/virgl/virgl_hw.h
@@ -358,6 +358,7 @@ struct virgl_caps_v2 {
         uint32_t max_atomic_counter_buffers[6];
         uint32_t max_combined_atomic_counters;
         uint32_t max_combined_atomic_counter_buffers;
+        uint32_t host_feature_check_version;
 };
 
 union virgl_caps {
diff --git a/src/gallium/drivers/virgl/virgl_winsys.h b/src/gallium/drivers/virgl/virgl_winsys.h
index 96726b409d9..22d5de1dad1 100644
--- a/src/gallium/drivers/virgl/virgl_winsys.h
+++ b/src/gallium/drivers/virgl/virgl_winsys.h
@@ -150,5 +150,6 @@ static inline void virgl_ws_fill_new_caps_defaults(struct virgl_drm_caps *caps)
    caps->caps.v2.max_image_samples = 0;
    caps->caps.v2.max_compute_work_group_invocations = 0;
    caps->caps.v2.max_compute_shared_memory_size = 0;
+   caps->caps.v2.host_feature_check_version = 0;
 }
 #endif




More information about the mesa-commit mailing list