lavapipe: fix pipeline creation for blend and zs states

these values are read based on the specified subpass containing the
required attachments, not on the overall renderpass

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15282>
This commit is contained in:
Mike Blumenkrantz
2022-02-22 15:25:06 -05:00
committed by Marge Bot
parent 7114490115
commit 204ea77b06
3 changed files with 6 additions and 8 deletions

View File

@@ -369,7 +369,7 @@ deep_copy_graphics_create_info(void *mem_ctx,
/* pDepthStencilState */
if (src->pDepthStencilState && !rasterization_disabled &&
(pass ? pass->has_zs_attachment : (rp_info->depthAttachmentFormat || rp_info->stencilAttachmentFormat))) {
(pass ? pass->subpasses[src->subpass].has_zs_attachment : (rp_info->depthAttachmentFormat || rp_info->stencilAttachmentFormat))) {
LVP_PIPELINE_DUP(dst->pDepthStencilState,
src->pDepthStencilState,
VkPipelineDepthStencilStateCreateInfo,
@@ -379,7 +379,7 @@ deep_copy_graphics_create_info(void *mem_ctx,
/* pColorBlendState */
if (src->pColorBlendState && !rasterization_disabled &&
(pass ? pass->has_color_attachment : rp_info->colorAttachmentCount)) {
(pass ? pass->subpasses[src->subpass].has_color_attachment : rp_info->colorAttachmentCount)) {
VkPipelineColorBlendStateCreateInfo* cb_state;
cb_state = ralloc(mem_ctx, VkPipelineColorBlendStateCreateInfo);