Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
On Mon, Feb 11, 2019 at 1:16 PM Gustaw Smolarczyk <wielkie...@gmail.com> wrote: > > FWIW, > > Reviewed-by: Gustaw Smolarczyk <wielkie...@gmail.com> > > pon., 11 lut 2019 o 10:15 Samuel Pitoiset <samuel.pitoi...@gmail.com> > napisaĆ(a): > > > > "The C standard says that compound literals which occur inside of > > the body of a function have automatic storage duration associated > > with the enclosing block. Older GCC releases were putting such > > compound literals into the scope of the whole function, so their > > lifetime actually ended at the end of containing function. This > > has been fixed in GCC 9. Code that relied on this extended lifetime > > needs to be fixed, move the compound literals to whatever scope > > they need to accessible in." > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109543 > > Cc: <mesa-sta...@lists.freedesktop.org> > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > > --- > > src/amd/vulkan/radv_meta_blit.c | 90 ++++++++++++++++++--------------- > > 1 file changed, 48 insertions(+), 42 deletions(-) > > > > diff --git a/src/amd/vulkan/radv_meta_blit.c > > b/src/amd/vulkan/radv_meta_blit.c > > index a2ba7e45022..5af9c4a303f 100644 > > --- a/src/amd/vulkan/radv_meta_blit.c > > +++ b/src/amd/vulkan/radv_meta_blit.c > > @@ -849,54 +849,60 @@ build_pipeline(struct radv_device *device, > > .subpass = 0, > > }; > > > > - switch(aspect) { > > - case VK_IMAGE_ASPECT_COLOR_BIT: > > - vk_pipeline_info.pColorBlendState = > > &(VkPipelineColorBlendStateCreateInfo) { > > - .sType = > > VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, > > - .attachmentCount = 1, > > - .pAttachments = > > (VkPipelineColorBlendAttachmentState []) { > > - { .colorWriteMask = > > - VK_COLOR_COMPONENT_A_BIT | > > - VK_COLOR_COMPONENT_R_BIT | > > - VK_COLOR_COMPONENT_G_BIT | > > - VK_COLOR_COMPONENT_B_BIT }, > > + VkPipelineColorBlendStateCreateInfo color_blend_info = { > > + .sType = > > VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, > > + .attachmentCount = 1, > > + .pAttachments = (VkPipelineColorBlendAttachmentState []) { > > + { > > + .colorWriteMask = VK_COLOR_COMPONENT_A_BIT | > > + VK_COLOR_COMPONENT_R_BIT | > > + VK_COLOR_COMPONENT_G_BIT | > > + VK_COLOR_COMPONENT_B_BIT > > }, > > } > > }; > > + > > + VkPipelineDepthStencilStateCreateInfo depth_info = { > > + .sType = > > VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, > > + .depthTestEnable = true, > > + .depthWriteEnable = true, > > + .depthCompareOp = VK_COMPARE_OP_ALWAYS, > > + }; > > + > > + VkPipelineDepthStencilStateCreateInfo stencil_info = { > > + .sType = > > VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, > > + .depthTestEnable = false, > > + .depthWriteEnable = false, > > + .stencilTestEnable = true, > > + .front = { > > + .failOp = VK_STENCIL_OP_REPLACE, > > + .passOp = VK_STENCIL_OP_REPLACE, > > + .depthFailOp = VK_STENCIL_OP_REPLACE, > > + .compareOp = VK_COMPARE_OP_ALWAYS, > > + .compareMask = 0xff, > > + .writeMask = 0xff, > > + .reference = 0 > > + }, > > + .back = { > > + .failOp = VK_STENCIL_OP_REPLACE, > > + .passOp = VK_STENCIL_OP_REPLACE, > > + .depthFailOp = VK_STENCIL_OP_REPLACE, > > + .compareOp = VK_COMPARE_OP_ALWAYS, > > + .compareMask = 0xff, > > + .writeMask = 0xff, > > + .reference = 0 > > + }, > > + .depthCompareOp = VK_COMPARE_OP_ALWAYS, > > + }; > > + > > + switch(aspect) { > > + case VK_IMAGE_ASPECT_COLOR_BIT: > > + vk_pipeline_info.pColorBlendState = &color_blend_info; > > break; > > case VK_IMAGE_ASPECT_DEPTH_BIT: > > - vk_pipeline_info.pDepthStencilState = > > &(VkPipelineDepthStencilStateCreateInfo) { > > - .sType = > > VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, > > - .depthTestEnable = true, > > - .depthWriteEnable = true, > > - .depthCompareOp = VK_COMPARE_OP_ALWAYS, > > - }; > > + vk_pipeline_info.pDepthStencilState = &depth_info; > > break; > > case VK_IMAGE_ASPECT_STENCIL_BIT: > > - vk_pipeline_info.pDepthStencilState = > > &(VkPipelineDepthStencilStateCreateInfo) { > > - .sType = > > VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, > > - .depthTestEnable = false, > > - .depthWriteEnable = false, > > - .stencilTestEnable = true, > > - .front = { > > - .failOp = VK_STENCIL_OP_REPLACE, > > - .passOp = VK_STENCIL_OP_REPLACE, > > - .depthFailOp = VK_STENCIL_OP_REPLACE, > > - .compareOp = VK_COMPARE_OP_ALWAYS, > > - .compareMask = 0xff, > > - .writeMask = 0xff, > > - .reference = 0 > > - }, > > - .back = { > > - .failOp = VK_STENCIL_OP_REPLACE, > > - .passOp = VK_STENCIL_OP_REPLACE, > > - .depthFailOp = VK_STENCIL_OP_REPLACE, > > - .compareOp = VK_COMPARE_OP_ALWAYS, > > - .compareMask = 0xff, > > - .writeMask = 0xff, > > - .reference = 0 > > - }, > > - .depthCompareOp = VK_COMPARE_OP_ALWAYS, > > - }; > > + vk_pipeline_info.pDepthStencilState = &stencil_info; > > break; > > default: > > unreachable("Unhandled aspect"); > > -- > > 2.20.1 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev