Pass fragment shading rate info to pre rasterization shader state
authorHyunjun Ko <zzoon@igalia.com>
Wed, 1 Feb 2023 06:25:19 +0000 (15:25 +0900)
committerPiotr Byszewski <piotr.byszewski@mobica.com>
Mon, 13 Feb 2023 09:24:53 +0000 (09:24 +0000)
commit7d4864a7615fafd28c3fb0b904239afd0b16c73e
treed836da358df360f3bcfb8463e54a0f329a0ff5d9
parent1276e24c7d03313c015c678cd464387ddde15586
Pass fragment shading rate info to pre rasterization shader state

[Note]
This is a backporting patch, that landed already on the branch 1.3.4
and main. But the issue still exist on the branch 1.3.2/1.3.3, so I
create this CL that needs to propagate only to 1.3.3.

Fragment shading rate info needs to be passed both as part of the
pre-rasterization shader state and as part of the fragment shader state
when creating pipelines, and it needs to be consistent in both cases.

The graphics pipeline library utilities were only passing that
information as part of the fragment shader state.

Affects:
dEQP-VK.fragment_shading_rate.*.misc_tests.*
dEQP-VK.fragment_shading_rate.*.basic.*
dEQP-VK.pipeline.*.mixed_attachment_samples.*
dEQP-VK.*.sample_locations_ext.*
dEQP-VK.pipeline.*.multisample_with_fragment_shading_rate.*

Components: Vulkan

VK-GL-CTS issue: 4006

Change-Id: I4c01a7836ed45f513f166e787d1e709c9a612018
external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp
external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.hpp
external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMaxVaryingsTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleMixedAttachmentSamplesTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleSampleLocationsExtTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineSamplerBorderSwizzleTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineSpecConstantTests.cpp