virgl: Enable AMD_vertex_shader_(layer|viewport_index) when host supports it

This increase the number of cases when the texture upload from buffer
can use the PBO upload code path.

v2: Fix logic combination (Corentin)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21586>
This commit is contained in:
Gert Wollny 2023-02-22 17:58:58 +01:00 committed by Marge Bot
parent d53aba56db
commit 831e7818aa
2 changed files with 4 additions and 1 deletions

View file

@ -229,7 +229,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_MIXED_COLOR_DEPTH_BITS:
return 1;
case PIPE_CAP_VS_LAYER_VIEWPORT:
return 0;
return (vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_VS_VERTEX_LAYER) &&
(vscreen->caps.caps.v2.capability_bits_v2 & VIRGL_CAP_V2_VS_VIEWPORT_INDEX);
case PIPE_CAP_MAX_GEOMETRY_OUTPUT_VERTICES:
return vscreen->caps.caps.v2.max_geom_output_vertices;
case PIPE_CAP_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS:

View file

@ -466,6 +466,8 @@ enum virgl_formats {
#define VIRGL_CAP_V2_SCANOUT_USES_GBM (1 << 8)
#define VIRGL_CAP_V2_SSO (1 << 9)
#define VIRGL_CAP_V2_TEXTURE_SHADOW_LOD (1 << 10)
#define VIRGL_CAP_V2_VS_VERTEX_LAYER (1 << 11)
#define VIRGL_CAP_V2_VS_VIEWPORT_INDEX (1 << 12)
/* virgl bind flags - these are compatible with mesa 10.5 gallium.
* but are fixed, no other should be passed to virgl either.
*/