zink: apply viewport count when creating pipelines
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 3 Aug 2020 15:52:14 +0000 (11:52 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 24 Sep 2020 20:48:51 +0000 (20:48 +0000)
without VK_EXT_extended_dynamic_state, we need to pass this directly or
else only the first viewport will work

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

src/gallium/drivers/zink/zink_pipeline.c

index f36943a..c7e8a92 100644 (file)
@@ -88,9 +88,9 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
 
    VkPipelineViewportStateCreateInfo viewport_state = {};
    viewport_state.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
-   viewport_state.viewportCount = 1;
+   viewport_state.viewportCount = state->num_viewports;
    viewport_state.pViewports = NULL;
-   viewport_state.scissorCount = 1;
+   viewport_state.scissorCount = state->num_viewports;
    viewport_state.pScissors = NULL;
 
    VkPipelineRasterizationStateCreateInfo rast_state = {};