Test contradictory parameters on swapchain creation
This commit adds new tests that check the implementation properly
ignores queueFamilyIndexCount and pQueueFamilyIndices on swapchain
creation when imageSharingMode is set to VK_SHARING_MODE_EXCLUSIVE, by
providing a null pointer in pQueueFamilyIndices and a nonzero
queueFamilyIndexCount.
In addition, swapchain creation tests using VK_SHARING_MODE_EXCLUSIVE
will no longer pass 1 in queueFamilyIndexCount and a list of
surface-compatible queues in pQueueFamilyIndices, setting
queueFamilyIndexCount to 0 and passing a null pointer instead.
Finally, the commit adds de::arrayLength as a more modern and constexpr
way of obtaining the size of statically-sized arrays, similar to
DE_LENGTH_OF_ARRAY, which can be used with static_assert.
New tests:
dEQP-VK.*exclusive_nonzero_queues
Affected tests:
dEQP-VK.*.swapchain.create.*
Components: Framework, Vulkan
VK-GL-CTS issue: 3244
Change-Id: I631aba22ac18d1fe6a2fcc8bf41890b2e8a2cc91