zink: use right vulkan type for GL_PRIMITIVES_GENERATED queries
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 9 Jul 2020 19:59:29 +0000 (15:59 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 13 Jul 2020 20:59:07 +0000 (20:59 +0000)
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT includes
primitives which won't get drawn due to e.g., not enough vertices emitted
by geometry shader

fixes spec@glsl-1.50@gs-emits-too-few-verts

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533>

src/gallium/drivers/zink/zink_query.c

index bf046bbb0e92d669403013ed3037cbc8cd359793..0d0c4fe53d0265e5f328cc3da9ab0e6631db590d 100644 (file)
@@ -88,7 +88,7 @@ zink_create_query(struct pipe_context *pctx,
    pool_create.queryType = query->vkqtype;
    pool_create.queryCount = query->num_queries;
    if (query_type == PIPE_QUERY_PRIMITIVES_GENERATED)
-     pool_create.pipelineStatistics = VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT;
+     pool_create.pipelineStatistics = VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT;
 
    VkResult status = vkCreateQueryPool(screen->dev, &pool_create, NULL, &query->query_pool);
    if (status != VK_SUCCESS) {