Fix state binding in multiview tests
authorRicardo Garcia <rgarcia@igalia.com>
Mon, 23 May 2022 08:40:23 +0000 (10:40 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 2 Jun 2022 19:05:20 +0000 (19:05 +0000)
commit427245aa16c4f54a389a37872b07f30313520f71
tree14f630834f5dad742c2987118c253e75bd02280e
parentb44874eaa447be99123df1434f48f4358fda545e
Fix state binding in multiview tests

According to the spec, when multiview is enabled all non-render pass
state is undefined at the beginning of each subpass, but multiview tests
were binding vertex buffers, index buffers and descriptor sets before
beginning the render pass. This commit moves the binding commands to the
same point the pipeline is bound for each subpass.

In addition, it fixes some validation errors related to the following
VUIDs:

  - VUID-VkSubpassDependency-srcSubpass-02243
  - VUID-VkSubpassDependency2-srcSubpass-02245

Due to some subpass dependencies missing the VK_DEPENDENCY_BY_REGION_BIT
bit in their flags despite being mandated by the spec.

Affected tests:
dEQP-VK.multiview.*

Components: Vulkan
VK-GL-CTS issue: 3701

Change-Id: I4f91f3dad0305e93dce68bb43497215c628df543
external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderUtil.cpp