Avoid advertising disabled robustness2 features
authorRicardo Garcia <rgarcia@igalia.com>
Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)
committerAlex Walters <alex.walters@imgtec.com>
Tue, 15 Dec 2020 12:13:05 +0000 (12:13 +0000)
commit89340aad52186639dee8fd9b7a01c6df6accfd3a
treeeee4d4a4e239a166bb0152e6c144dbe82aecc484
parent4e0ba5ee7dd5466cdf3ef9572a38ce8bcf532a59
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
(cherry picked from commit cea5003e0f519dff9d9ce6805a4994ebfde5e4f2)
external/vulkancts/framework/vulkan/vkDeviceFeatures.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp