[Mesa-stable] [Mesa-dev] [PATCH] radv: fix compiler issues with GCC 9
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Tue Feb 12 10:09:24 UTC 2019
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
On Mon, Feb 11, 2019 at 1:16 PM Gustaw Smolarczyk <wielkiegie at gmail.com> wrote:
>
> FWIW,
>
> Reviewed-by: Gustaw Smolarczyk <wielkiegie at gmail.com>
>
> pon., 11 lut 2019 o 10:15 Samuel Pitoiset <samuel.pitoiset at 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-stable at lists.freedesktop.org>
> > Signed-off-by: Samuel Pitoiset <samuel.pitoiset at 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 at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-stable
mailing list