virgl: use bits in caps set v2
authorgurchetansingh@chromium.org <gurchetansingh@chromium.org>
Mon, 4 Jun 2018 17:25:20 +0000 (10:25 -0700)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Jun 2018 04:29:00 +0000 (14:29 +1000)
Let's add another field to caps v2, that can help report boolean
values.

Suggested-by: Gert Wollny <gert.wollny@collabora.com>
Suggested-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/virgl/virgl_hw.h
src/gallium/drivers/virgl/virgl_winsys.h

index a2c70bf86b63c2ee9b404d532f48379343021a0c..ee58520f9bb5062410f62741956303507b42790e 100644 (file)
@@ -197,6 +197,10 @@ enum virgl_formats {
    VIRGL_FORMAT_MAX,
 };
 
+/* These are used by the capability_bits field in virgl_caps_v2. */
+#define VIRGL_CAP_NONE 0
+#define VIRGL_CAP_TGSI_INVARIANT       (1 << 0)
+
 #define VIRGL_BIND_DEPTH_STENCIL (1 << 0)
 #define VIRGL_BIND_RENDER_TARGET (1 << 1)
 #define VIRGL_BIND_SAMPLER_VIEW  (1 << 3)
@@ -293,6 +297,7 @@ struct virgl_caps_v2 {
         uint32_t texture_buffer_offset_alignment;
         uint32_t uniform_buffer_offset_alignment;
         uint32_t shader_buffer_offset_alignment;
+        uint32_t capability_bits;
 };
 
 union virgl_caps {
index 83cb93138aa2d46fcca06c42abf2777fac57e40d..9ebb31a1e41452b9060b22a158729bd20fff9427 100644 (file)
@@ -135,5 +135,6 @@ static inline void virgl_ws_fill_new_caps_defaults(struct virgl_drm_caps *caps)
    caps->caps.v2.texture_buffer_offset_alignment = 0;
    caps->caps.v2.uniform_buffer_offset_alignment = 256;
    caps->caps.v2.shader_buffer_offset_alignment = 32;
+   caps->caps.v2.capability_bits = 0;
 }
 #endif