Avoid advertising disabled robustness2 features
authorRicardo Garcia <rgarcia@igalia.com>
Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 18 Nov 2020 07:50:59 +0000 (02:50 -0500)
commitcea5003e0f519dff9d9ce6805a4994ebfde5e4f2
tree588e027e8879c84cabde2499a5c9a4bc16646b9c
parentbb1d44e869021f4cf95ef6053f1883135d05e16e
Avoid advertising disabled robustness2 features

Make sure getRobustness2FeaturesEXT does not advertise a feature as
enabled when, in fact, the feature has been disabled when creating the
default test device in the context. This is consistent with the behavior
that was in place for robustBufferAccess.

In addition, disable image robustness in the default device, to be
consistent with the existing behavior for robustness2 features and
robustBufferAccess.

This means robustness2 and image robustness tests needed to be modified
to stop relying on feature checks from the context, like using
getRobustness2FeaturesEXT, because those will now be reported as not
enabled. In other words, feature getters from the context report
features that are *enabled* on the default device, and not features that
are merely available.

In addition, make robustness2 and image robustness tests use separate
devices when enabling image robustness or robustness2 features, so as to
run image robustness tests without any robustness2 feature.

In addition, require and enable the scalar block layout feature, which
is used to compile every shader in this test group.

Affected tests:
dEQP-VK.robustness.robustness2.*
dEQP-VK.robustness.image_robustness.*

Components: Vulkan
VK-GL-CTS issue: 2634
VK-GL-CTS issue: 2643

Change-Id: I641c0f6f659a89bd12a36da175358d3edc2dfeae
external/vulkancts/framework/vulkan/vkDeviceFeatures.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp