Add tests for multi GPU (device group)
Device Group tests may use multiple physical devices for rendering.
If there are 2 or more physical devices in a device group, tests
are looped through all physical devices, 2 at a time.
If there is only 1 physical device, the test is only run on it.
Primarily, there are 2 main test modes:
AFR(Alternate frame rendering) and SFR(Split frame rendering)
AFR: A frame(tessellated or filled sphere) is drawn by one of the
physical devices ['i'+1] and copied to the render target of phys
device 'i' which then does a check against reference image.
SFR: Each half of the frame is drawn by a physical device 'i'
and 'i+1'%(num phys devices), then phys device 'i' does a check
against reference image.
SFR and AFR have 6 modes each:
1. Rendering a triangle with render target in device memory
2. Rendering a triangle with render target in host memory
3. dedicated memory allocations for buffers and render target
4. Peer fetching of vertex, uniform and sbo data, (ith physical
device fetches attributes from (i+1)%(num phys devices)th peer device
5. Render a tessellated sphere
6. Render a tesslated sphere in line fill mode
For validation, the rendering is either compared against a system
renderer(for triangle) or compared against a stored png (in case of
a tessellated sphere)
New tests:
dEQP-VK.device_group.sfr*
dEQP-VK.device_group.afr*
Components: Vulkan
VK-GL-CTS issue: 110
Change-Id: Ibace53a1c3be610798925a339a763a808f9f76b9