diff options
author | Stéphane Marchesin <[email protected]> | 2018-02-09 17:21:59 -0800 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-02-13 14:23:54 +1000 |
commit | 5e4a2b394eb03d5b49df8d3f2263c65b24ad2bb9 (patch) | |
tree | 0c873e0cd3f25592a749c62f9a07fe0266b1ebdd /src/gallium/drivers/virgl/virgl_hw.h | |
parent | 10457712edb744d358c4b7c891fdaa1a6c136046 (diff) |
virgl: Support v2 caps struct (v2)
This struct allows us to report:
- accurate max point size/line width.
- accurate texel and texture gather offsets
- vertex/geometry limits.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_hw.h')
-rw-r--r-- | src/gallium/drivers/virgl/virgl_hw.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gallium/drivers/virgl/virgl_hw.h b/src/gallium/drivers/virgl/virgl_hw.h index e3c56db2ac6..833ab91eee7 100644 --- a/src/gallium/drivers/virgl/virgl_hw.h +++ b/src/gallium/drivers/virgl/virgl_hw.h @@ -232,6 +232,11 @@ struct virgl_caps_bool_set1 { unsigned poly_stipple:1; /* not in GL 3.1 core profile */ unsigned mirror_clamp:1; unsigned texture_query_lod:1; + unsigned has_fp64:1; + unsigned has_tessellation_shaders:1; + unsigned has_indirect_draw:1; + unsigned has_sample_shading:1; + unsigned has_cull:1; }; /* endless expansion capabilites - current gallium has 252 formats */ @@ -259,9 +264,32 @@ struct virgl_caps_v1 { uint32_t max_texture_gather_components; }; +struct virgl_caps_v2 { + struct virgl_caps_v1 v1; + float min_aliased_point_size; + float max_aliased_point_size; + float min_smooth_point_size; + float max_smooth_point_size; + float min_aliased_line_width; + float max_aliased_line_width; + float min_smooth_line_width; + float max_smooth_line_width; + float max_texture_lod_bias; + uint32_t max_geom_output_vertices; + uint32_t max_geom_total_output_components; + uint32_t max_vertex_outputs; + uint32_t max_vertex_attribs; + uint32_t max_shader_patch_varyings; + int32_t min_texel_offset; + int32_t max_texel_offset; + int32_t min_texture_gather_offset; + int32_t max_texture_gather_offset; +}; + union virgl_caps { uint32_t max_version; struct virgl_caps_v1 v1; + struct virgl_caps_v2 v2; }; enum virgl_errors { |