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)