zink: only enable vote if we can support it
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Thu, 27 May 2021 12:55:55 +0000 (14:55 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 7 Jun 2021 12:00:15 +0000 (12:00 +0000)
We can only support subgroup vote if we have support for SPIR-V 1.3 or
later.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11044>

src/gallium/drivers/zink/zink_screen.c

index 8e012d3..31fc2fb 100644 (file)
@@ -246,7 +246,6 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_CLIP_HALFZ:
    case PIPE_CAP_TGSI_TXQS:
    case PIPE_CAP_TEXTURE_BARRIER:
-   case PIPE_CAP_TGSI_VOTE:
    case PIPE_CAP_DRAW_PARAMETERS:
    case PIPE_CAP_QUERY_SO_OVERFLOW:
    case PIPE_CAP_GL_SPIRV:
@@ -257,6 +256,9 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_TGSI_PACK_HALF_FLOAT:
       return 1;
 
+   case PIPE_CAP_TGSI_VOTE:
+      return screen->spirv_version >= 0x00010300;
+
    case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
       return screen->info.have_EXT_provoking_vertex;