mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
panvk: Fix the static scissor/viewport case
Even if we can build a static viewport descriptor, we will need the static scissor/viewport data to fill the viewport sysvals. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13077>
This commit is contained in:
parent
a5115faefa
commit
e856386764
2 changed files with 10 additions and 6 deletions
|
|
@ -141,6 +141,11 @@ panvk_CmdBindPipeline(VkCommandBuffer commandBuffer,
|
|||
memset(cmdbuf->descriptors[pipelineBindPoint].sysvals, 0,
|
||||
sizeof(cmdbuf->descriptors[pipelineBindPoint].sysvals));
|
||||
|
||||
if (!(pipeline->dynamic_state_mask & BITFIELD_BIT(VK_DYNAMIC_STATE_VIEWPORT)))
|
||||
cmdbuf->state.viewport = pipeline->viewport;
|
||||
if (!(pipeline->dynamic_state_mask & BITFIELD_BIT(VK_DYNAMIC_STATE_SCISSOR)))
|
||||
cmdbuf->state.scissor = pipeline->scissor;
|
||||
|
||||
/* Sysvals are passed through UBOs, we need dirty the UBO array if the
|
||||
* pipeline contain shaders using sysvals.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -376,13 +376,12 @@ panvk_pipeline_builder_parse_viewport(struct panvk_pipeline_builder *builder,
|
|||
vpd);
|
||||
pipeline->vpd = pipeline->state_bo->ptr.gpu +
|
||||
builder->vpd_offset;
|
||||
} else {
|
||||
if (builder->create_info->pViewportState->pViewports)
|
||||
pipeline->viewport = builder->create_info->pViewportState->pViewports[0];
|
||||
|
||||
if (builder->create_info->pViewportState->pScissors)
|
||||
pipeline->scissor = builder->create_info->pViewportState->pScissors[0];
|
||||
}
|
||||
if (panvk_pipeline_static_state(pipeline, VK_DYNAMIC_STATE_VIEWPORT))
|
||||
pipeline->viewport = builder->create_info->pViewportState->pViewports[0];
|
||||
|
||||
if (panvk_pipeline_static_state(pipeline, VK_DYNAMIC_STATE_SCISSOR))
|
||||
pipeline->scissor = builder->create_info->pViewportState->pScissors[0];
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue