Add tests for VK_EXT_pipeline_creation_feedback extension
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Fri, 17 May 2019 11:30:33 +0000 (13:30 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 17 May 2019 15:02:50 +0000 (11:02 -0400)
commit621bd81c1ee0f8911c6dbf702eaa7c15f2f2bae3
tree977c377ad62af1d243288e4a46cfb0d0c735872d
parentd4b80f34b70ae497b6bb0573859209ae28197a35
Add tests for VK_EXT_pipeline_creation_feedback extension

Tests implement the following for both compute and graphics pipelines.
They create a pipeline cache and checks the pipeline creation feedback
for three different pipelines: first pipeline should not hit the cache,
second pipeline is the same than the first one, third pipeline is a
pipeline derivative from the first one.

Then they verify that the creation feedback for all of the pipelines is
valid, the first pipeline did not hit the cache and that first and
second pipelines are not setting
VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT as
they are not pipeline derivatives.

Also, if pPipelineStageCreationFeedbacks for each pipeline and stage is
not valid, check that none of the flags is set.

They also print to the test log the content of the
pPipelineCreationFeedback for each pipeline and, if
pPipelineStageCreationFeedbacks for each pipeline and stage is valid,
its content too.

New tests:

dEQP-VK.pipeline.creation_feedback.*

Components: Vulkan
VK-GL-CTS issue: 1671

Change-Id: I5e8b728bd83c256b3b4f084c6d0840a132afbcae
16 files changed:
AndroidGen.mk
android/cts/master/vk-master.txt
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkTypeUtil.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineCreationFeedbackTests.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineTests.cpp
external/vulkancts/mustpass/master/vk-default-no-waivers.txt
external/vulkancts/mustpass/master/vk-default.txt
external/vulkancts/scripts/src/vulkan.h.in