Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 11 Nov 2022 17:19:00 +0000 (17:19 +0000)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 11 Nov 2022 17:19:00 +0000 (17:19 +0000)
Change-Id: I466cda8384a4de893b584a4c8f8804de46d2faa6

1  2 
android/cts/main/vk-master-2022-03-01/ray-tracing-pipeline.txt
android/cts/main/vk-master/ray-tracing-pipeline.txt
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp
external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp
external/vulkancts/modules/vulkan/modifiers/vktModifiersTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildTests.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp
external/vulkancts/mustpass/main/vk-default/ray-tracing-pipeline.txt

@@@ -772,15 -738,10 +772,15 @@@ public
                                                                                                                                                                                                                 const VkDeviceSize                                                                     indirectBufferOffset,
                                                                                                                                                                                                                 const deUint32                                                                         indirectBufferStride) = DE_NULL;
        virtual void                                                                                                    setUsePPGeometries                                      (const bool                                                                                     usePPGeometries) = 0;
 +      virtual void                                                                                                    setTryCachedMemory                                      (const bool                                                                                     tryCachedMemory) = 0;
        virtual VkBuildAccelerationStructureFlagsKHR                                    getBuildFlags                                           () const = DE_NULL;
-       VkDeviceSize                                                                                                    getStructureSize                                        () const;
+       VkAccelerationStructureBuildSizesInfoKHR                                                getStructureBuildSizes                          () const;
  
        // methods specific for each acceleration structure
 +      virtual void                                                                                                    getCreationSizes                                        (const DeviceInterface&                                         vk,
 +                                                                                                                                                                                                               const VkDevice                                                         device,
 +                                                                                                                                                                                                               const VkDeviceSize                                                     structureSize,
 +                                                                                                                                                                                                               CreationSizes&                                                         sizes) = 0;
        virtual void                                                                                                    create                                                          (const DeviceInterface&                                         vk,
                                                                                                                                                                                                                 const VkDevice                                                         device,
                                                                                                                                                                                                                 Allocator&                                                                     allocator,
@@@ -736,38 -726,14 +762,38 @@@ DepthTestInstance::DepthTestInstance (C
                                                                                                                                                                0u,
                                                                                                                                                                *m_vertexShaderModule,
                                                                                                                                                                &rasterizationStateParams)
 -                                                                                         .setupFragmentShaderState(*m_pipelineLayout,
 -                                                                                                                                                              *m_renderPass,
 -                                                                                                                                                              0u,
 -                                                                                                                                                              *m_fragmentShaderModule,
 -                                                                                                                                                              &depthStencilStateParams)
 -                                                                                         .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateCreateInfo)
 -                                                                                         .setMonolithicPipelineLayout(*m_pipelineLayout)
 -                                                                                         .buildPipeline();
 +                                                                                                 .setupFragmentShaderState(*m_pipelineLayout,
 +                                                                                                                                              *m_renderPass,
 +                                                                                                                                              0u,
 +                                                                                                                                              *m_fragmentShaderModule,
 +                                                                                                                                              &depthStencilStateParams)
-                                                                                                  .setupFragmentOutputState(*m_renderPass)
++                                                                                                 .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateCreateInfo)
 +                                                                                                 .setMonolithicPipelineLayout(*m_pipelineLayout)
 +                                                                                                 .buildPipeline();
 +                              }
 +                              else
 +                              {
 +                                      m_altGraphicsPipelines[quadNdx].setDefaultMultisampleState()
 +                                                                                                 .setDefaultColorBlendState()
 +                                                                                                 .setDepthClipControl(depthClipControl01Wrapper)
 +                                                                                                 .setDynamicState(&dynamicStateCreateInfo)
 +                                                                                                 .setupVertexInputStete(&vertexInputStateParams)
 +                                                                                                 .setupPreRasterizationShaderState((dynamicViewport ? badViewports : viewports),
 +                                                                                                                                                                      scissors,
 +                                                                                                                                                                      *m_pipelineLayout,
 +                                                                                                                                                                      *m_renderPass,
 +                                                                                                                                                                      0u,
 +                                                                                                                                                                      *m_vertexShaderModule,
 +                                                                                                                                                                      &rasterizationStateParams)
 +                                                                                                 .setupFragmentShaderState(*m_pipelineLayout,
 +                                                                                                                                                                      *m_renderPass,
 +                                                                                                                                                                      0u,
 +                                                                                                                                                                      *m_fragmentShaderModule,
 +                                                                                                                                                                      &depthStencilStateParams)
-                                                                                                  .setupFragmentOutputState(*m_renderPass)
++                                                                                                 .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateCreateInfo)
 +                                                                                                 .setMonolithicPipelineLayout(*m_pipelineLayout)
 +                                                                                                 .buildPipeline();
 +                              }
                        }
                }
        }
@@@ -488,11 -447,12 +488,11 @@@ de::MovePtr<BufferWithMemory> RayTracin
        {
                cmdPipelineImageMemoryBarrier(vkd, *cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, &preImageBarrier);
                vkd.cmdClearColorImage(*cmdBuffer, **image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &clearValue.color, 1, &imageSubresourceRange);
-               cmdPipelineImageMemoryBarrier(vkd, *cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, &postImageBarrier);
+               cmdPipelineImageMemoryBarrier(vkd, *cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, &postImageBarrier);
  
 -              bottomLevelAccelerationStructures = initBottomAccelerationStructures(*cmdBuffer, useGpuBuild, workerThreadsCount);
 -              topLevelAccelerationStructure = initTopAccelerationStructure(*cmdBuffer, useGpuBuild, workerThreadsCount, bottomLevelAccelerationStructures);
 +              topLevelAccelerationStructure = initTopAccelerationStructure(useGpuBuild, workerThreadsCount, blasPool);
 +              createTopAccelerationStructure(*cmdBuffer, topLevelAccelerationStructure.get());
  
 -              const TopLevelAccelerationStructure*                    topLevelAccelerationStructurePtr                = topLevelAccelerationStructure.get();
                VkWriteDescriptorSetAccelerationStructureKHR    accelerationStructureWriteDescriptorSet =
                {
                        VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,      //  VkStructureType                                             sType;