Marcin Rogucki [Wed, 25 Oct 2017 11:33:44 +0000 (13:33 +0200)]
gl_PrimitiveIDIn tests have sketchy loop bounds.
Components: Vulkan
VK-GL-CTS issue: 778
Updates:
dEQP-VK.geometry.basic.primitive_id_in
dEQP-VK.geometry.basic.primitive_id_in_restarted
Change-Id: Icd2be56814de18067ce058a5f2a1da80338f80d6
Piers Daniell [Tue, 17 Oct 2017 20:11:55 +0000 (14:11 -0600)]
Update README for Vulkan multi-device platforms
Added some language to the Vulkan CTS README describing the
valid CTS log criteria for products that are multi-device
capable.
Change-Id: Ia5d39d5ab2c14b73bcad09531065b7dc5251c14b
Components: Vulkan
Piers Daniell [Wed, 18 Oct 2017 17:01:13 +0000 (11:01 -0600)]
Avoid hitting fp16 NaN values
Modify the test references values to avoid situations where
they hit NaN values when viewed as fp16. This can happen
when uploading {0.1, 0.5, 0.9, 0.2} to r8g8b8a8_unorm which,
depending on the rounding of the 0.5, could end up as a 0x7F
value which when viewed as the MSB of a fp16 value is a NaN.
Affects:
dEQP-VK.image.mutable.*
Components: Vulkan
VK-GL-CTS Issue: 784
Change-Id: I2adbd27aa7d94254c9f19d788eacace2ea95d10c
Arkadiusz Sarwa [Thu, 19 Oct 2017 12:08:13 +0000 (14:08 +0200)]
Fix subgroups basic test
Affects:
dEQP-VK.subgroups.basic.*_fragment_framebuffer
Components: Vulkan
VK-GL-CTS issue: 782
Change-Id: I54a125af75863e7dd56bf1c3785ee5e51be3d7b4
Mais Alnasser [Sun, 15 Oct 2017 19:10:59 +0000 (15:10 -0400)]
Use env.apiVersion when creating instance for object management test group
Affects: dEQP-VK.api.object_management.single.device_group
Components: Vulkan
VK-GL-CTS issue: 773
Change-Id: Ie6673133bc4d0de352b054fa797e2455433423d2
Mais Alnasser [Sun, 15 Oct 2017 15:16:15 +0000 (11:16 -0400)]
Fix compile error caused by usage of unit32_t instead of deUint32
Affects: Compilation
Components: Vulkan
VK-GL-CTS issue: 774
Change-Id: Ibc647d3714a818b61f99d1fc67903a24f59f8d6a
Vikram Kushwaha [Wed, 18 Oct 2017 19:55:03 +0000 (12:55 -0700)]
Do not use SFR bindings when device group has 1 device
As per the spec, when device group has 1 device:
sfrRects must not be specified
image create flag should not contain the BIND_SFR_BIT
Also use peer memory reads if VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT
is supported. This saves an additionaly copy in the test.
VK-GL-CTS issue: 779
Change-Id: Ic316fc8858886f99156dc1b9c0a0810b3f48e714
Affects: dEQP-VK.device_group.sfr*
Components: Vulkan
Piers Daniell [Thu, 12 Oct 2017 18:09:00 +0000 (12:09 -0600)]
Ignore the patch number when comparing apiVersions
Modify the getSpirvVersionForAsm() and getSpirvVersionForGlsl()
functions to ignore the patch version number when checking
for Vulkan 1.0 vs Vulkan 1.1. It's often the case that the loader
or implementation will have a non-zero patch number to indicate
what version of the spec and vulkan header they built with.
Affects: startup
Components: Vulkan
VK-GL-CTS issue: 767
Change-Id: I947cb43db5e1f93e5b0b9cb93d205863b8e3c4b1
Daniel Koch [Thu, 12 Oct 2017 05:25:39 +0000 (01:25 -0400)]
Detect Core VK 1.1 device_group_creation support
Check if the core version of VK_KHR_device_group_creation
is supported in addition to checking for the extension string.
VK-GL-CTS Issue: 766
Component: Vulkan
Affects: dEQP-VK.api.object_management.*device_group
Change-Id: I5d3ee7733293d27e9ae94cdc085b85ea144be445
Andrey Tuganov [Thu, 28 Sep 2017 21:18:51 +0000 (17:18 -0400)]
Remove OpUConvert to signed integer tests
OpUConvert only convers to unsigned integers.
Affects: dEQP-VK.spirv_assembly.instruction.
compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 720
Change-Id: I68b13c8584d64359e52910091347de03b933ba42
Slawomir Cygan [Wed, 11 Oct 2017 12:17:25 +0000 (14:17 +0200)]
Fix VK version selection in version_check.entry_points test
The test was validating only VK1.0 entrypoints due to wrong
version check.
Components: Vulkan
VK-GL-CTS Issue: 764
Affects: dEQP-VK.api.version_check.entry_points
Change-Id: Id555746f79d40c06cc8a95013608f9a1928847e2
Marcin Rogucki [Wed, 11 Oct 2017 09:26:33 +0000 (11:26 +0200)]
out_of_pool_memory test reports wrong error code
While creating default device a device version was used to select
enabled extensions however this should be based on used API version
(a minimum of Vulkan version and device version). It is fixed now.
Component: Vulkan
VK-GL-CTS issue: 763
Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory
Change-Id: I879d296ab56c1e2118dca84845cce6abc0e75f92
Marcin Rogucki [Mon, 9 Oct 2017 13:56:44 +0000 (15:56 +0200)]
dEQP-VK.ycbcr.* tests throw NotSupported incorrectly
Generic way of checking samplerYcbcrConversion support
added to DefaultDevice and Context.
Used in dEQP-VK.ycbcr.* tests group in checkImageSupport() function.
Component: Vulkan
VK-GL-CTS issue: 755
Affects: dEQP-VK.ycbcr.*
Change-Id: I0774a476f7ed94351c00387bc2e75d9c09492970
Marcin Rogucki [Tue, 10 Oct 2017 09:04:05 +0000 (11:04 +0200)]
Dispatch base test does not enable pipeline flag
dEQP-VK.compute.device_group.dispatch_base does not enable pipeline flag which violates valid usage rule: If any of baseGroupX, baseGroupY, or baseGroupZ are not zero, then the currently bound
compute pipeline must have been created with the VK_PIPELINE_CREATE_DISPATCH_BASE flag.
An overloaded method vktComputeTestsUtil.cpp::makeComputePipeline was added that allows to pass additional parameters:
- flags for pipeline creation
- flags for compute shader creation
Old method redirected to call a new one with flags set to zero.
A method vktComputeTestsUtil.cpp::makePipelineLayout no longer takes useDeviceGroups parameter and always sets pipeline layout flags to 0.
New method used in test with proper flags passed in.
Component: Vulkan
VK-GL-CTS issue: 760
Affects: dEQP-VK.compute.device_group.dispatch_base
Change-Id: I2c7400a55809b28bb7096dcdfeba2095c1541e1b
Slawomir Cygan [Tue, 10 Oct 2017 16:13:51 +0000 (18:13 +0200)]
Adjust the result verification in loop_control tests
Change epsilon value to 0.001f
Component: Vulkan
VK-GL-CTS issue: 742
Affects: dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
Change-Id: I4601e026e53a2b4256f77b690c6938ac53d5991b
Alexander Galazin [Tue, 10 Oct 2017 07:36:18 +0000 (09:36 +0200)]
Update Vulkan README
Update references to the mustpass location,
parameterize package name.
Components: Vulkan
VK-GL-CTS issue: 759
Change-Id: I4f15a1aa5eb54ad4b11e3b7a3a5a391fe81b9dac
Maciej Jesionowski [Tue, 10 Oct 2017 09:29:26 +0000 (11:29 +0200)]
Exclude invalid spirv_assembly indexing cases
32 bit int cases were trying to convert to the same bit width, which is
forbidden by the spec. We can safely remove these cases as all other
tests in this group use 32 bit access, so no coverage is lost.
Excluded tests:
* dEQP-VK.spirv_assembly.instruction.*.indexing.*u32*
* dEQP-VK.spirv_assembly.instruction.*.indexing.*s32*
VK-GL-CTS issue: 702
Components: Vulkan
Change-Id: I049ab07824a92f757829c4db810ab099a3fb59e6
Alexander Galazin [Tue, 10 Oct 2017 07:11:48 +0000 (09:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I1c26d0567159f88871148d48d2509e469a3c8abf
Jason Ekstrand [Fri, 6 Oct 2017 23:10:26 +0000 (16:10 -0700)]
VK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
Previously, the tests were using AcquireNextImage to trigger the fence
and using it to guard the vkFreeCommandBuffers call. However, the
acquire fence tells you when the PE is done with an image and when you
can start rendering to it. This meant that the test was waiting for the
start of the previous frame's rendering not the end before deleting the
previous frame's command buffer. This meant that the previous frame's
rendering could still be active on the GPU when the command buffer was
freed. By triggering the fence off of the vkQueueSubmit, we wait for
the end of the previous frame's rendering before freeing its command
buffer.
VK-GL-CTS issue: 756
Component: Vulkan
Affects:
dEQP-VK.wsi.*.incremental_present.*
Change-Id: I87b25eb2a25e4ae48c8c527d5d63c45d89a31a30
(cherry picked from commit
db916576a76a17c02c14390fc5d5b3db1488d1d2)
Igor Ostrowski [Mon, 9 Oct 2017 14:41:31 +0000 (16:41 +0200)]
DrawUtil: Fix depthBounds check
Affects:
dEQP-VK.glsl.builtin_var.fragdepth*
Components: Vulkan
VK-GL-CTS issue: 758
Change-Id: I4da79b236921e64f11566fe386b144497249123b
Alexander Galazin [Mon, 9 Oct 2017 08:32:25 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I3cef9c5da6238a99dcb3f96cdbe356963c79d88d
Jason Ekstrand [Fri, 6 Oct 2017 23:10:26 +0000 (16:10 -0700)]
VK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
Previously, the tests were using AcquireNextImage to trigger the fence
and using it to guard the vkFreeCommandBuffers call. However, the
acquire fence tells you when the PE is done with an image and when you
can start rendering to it. This meant that the test was waiting for the
start of the previous frame's rendering not the end before deleting the
previous frame's command buffer. This meant that the previous frame's
rendering could still be active on the GPU when the command buffer was
freed. By triggering the fence off of the vkQueueSubmit, we wait for
the end of the previous frame's rendering before freeing its command
buffer.
VK-GL-CTS issue: 756
Component: Vulkan
Affects:
dEQP-VK.wsi.*.incremental_present.*
Change-Id: I87b25eb2a25e4ae48c8c527d5d63c45d89a31a30
Noah Fredriks [Fri, 6 Oct 2017 21:43:54 +0000 (17:43 -0400)]
Remove blindly enabling all device extensions
A couple didn't need any or just one extension, but enabled all of
them.
This is not correct. For example, AMD's Vulkan implementation exposes
both VK_KHR_maintenance1 and VK_AMD_negative_viewport_height, which
cannot be enabled at the same time according to VkDeviceCreateInfo
valid usage.
Components: vulkan
VK_GL_CTS Issue: 734, 736
Affects:
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.multiview.*
Change-Id: I22682f15e0ef552d778e980c5f836c48d26d4905
Alexander Galazin [Fri, 6 Oct 2017 22:27:45 +0000 (00:27 +0200)]
Fix checkImageSupport()
Use proper getPhysicalDeviceFeatures2() to detect
samplerYcbcrConversion support.
Component: Vulkan
VK-GL-CTS issue: 755
Affects: dEQP-VK.ycbcr.*
Change-Id: I5e25eae7a1c25340e56eabb1ab6ca3709eb15399
Alexander Galazin [Fri, 6 Oct 2017 20:07:30 +0000 (22:07 +0200)]
Add StorageImageExtendedFormats cap check
dEQP-VK.image.texel_view_compatible.compute.* didn't check
for shaderStorageImageExtendedFormats
Component: Vulkan
VK-GL-CTS issue: 753
Affects:
dEQP-VK.image.texel_view_compatible.compute.*
Change-Id: I957329a66d2f4bedb950a597a702ec29680418de
Alexander Galazin [Fri, 6 Oct 2017 13:32:50 +0000 (15:32 +0200)]
Update vulkan.h.in for WSI device-group functionality
Sync with the header generated after Vulkan MR 2409
Component: Vulkan
Change-Id: Ic6bbf67f094b6744ab2749a67b1112e593290d6e
Alexander Galazin [Fri, 6 Oct 2017 21:19:41 +0000 (23:19 +0200)]
Fix API version for functions in CoreFunctionalities
Originally gen_framework.py deduced API version for a function
based on extension aliasing information. But this can be done
directly using VK_VERSION_1_0, VK_VERSION_1_1 placement.
Components: Vulkan
VK_GL_CTS Issue: 754
Affects: dEQP-VK.api.version_check.entry_points
Change-Id: I2432076fdad1b290ed123792138c4c364e5def5b
Daniel Koch [Fri, 6 Oct 2017 14:36:18 +0000 (10:36 -0400)]
WSI devgroup tests need VK_KHR_swapchain
Restore requirement of VK_KHR_swapchain as a requirement for
the WSI portion of the device_group tests.
Components: Vulkan
VK-GL-CTS issue: 733
Affects:
dEQP-VK.wsi.*.surface.query_devgroup*
Change-Id: I59c1ba12b9fb87b0c0c68b09b86aa76ab50fcd1e
Maciej Jesionowski [Thu, 5 Oct 2017 12:40:53 +0000 (14:40 +0200)]
Fix instance-rate vertex attribute verification
There was a bug in the test where it expected instance-rate vertex
attribute data at incorrect offsets in the input buffer. As a result
these attributes were always treated as out of bounds.
Affects: dEQP-VK.robustness.vertex_access.*
VK-GL-CTS issue: 752
Components: Vulkan
Change-Id: Ied900ab4174d4e8c25fd07c95e90d3c8228d5a26
Maciej Jesionowski [Wed, 4 Oct 2017 17:08:12 +0000 (19:08 +0200)]
Avoid 32-bit precision issues in ShaderRender tests
These tests are very sensitive to floating-point precision. The default
GRID_SIZE of 90 units is problematic in 32-bit mode. The error is
visible only in Release builds and affects CPU-generated reference
image.
Affects:
* dEQP-VK.glsl.texture_functions.*
* dEQP-VK.glsl.operator.*
VK-GL-CTS issue: 751
Components: Vulkan
Change-Id: I0ca501e180339cd0e1430cab3eb08a14f68f9802
Jason Ekstrand [Fri, 6 Oct 2017 02:21:30 +0000 (19:21 -0700)]
VK_KHR_maintenance3: Fix per-stage descriptor limit checks
It wasn't actually checking the storage image limit (there were two
copies of the storage buffer check instead) nor was it checking the
input attachment limit.
VK-GL-CTS issue: 750
Component: Vulkan
Affects:
dEQP-VK.api.maintenance3_check.descriptor_set
Change-Id: I44cc388d0b20d4c1886db0d283c2b92712c54dc9
Alexander Galazin [Fri, 6 Oct 2017 13:27:50 +0000 (15:27 +0200)]
Sync AOSP and VK-GL-CTS exclusion lists
Components: AOSP, Vulkan
Change-Id: Ia500d19e967e015cc1ef09f72a37b0757207cd15
Alexander Galazin [Fri, 6 Oct 2017 07:54:36 +0000 (09:54 +0200)]
Remove atan2 mediump precision tests
Component: Vulkan
Affects:
dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.*
VK-GL-CTS issue: 749
Change-Id: I477fc6bd2b40e3ca14392444894f752fc0530281
Vikram Kushwaha [Fri, 2 Jun 2017 22:36:17 +0000 (15:36 -0700)]
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
Alexander Galazin [Thu, 5 Oct 2017 08:29:21 +0000 (10:29 +0200)]
Use tags for SPIR-V tools
Use git tags instead of SHA1 for SPIR-V tools, headers, and glslang
Component: Framework
Change-Id: I16349fecb071884b15bf1988acd586aa248e66af
Alexander Galazin [Wed, 4 Oct 2017 16:04:31 +0000 (18:04 +0200)]
Fix result verification in loop_control tests
Add some epsilon to float comparisons
Component: Vulkan
VK-GL-CTS issue: 742
Affects: dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
Change-Id: Iee88abe4946626e3c1c9656ab08092c04c0181d6
Alexander Galazin [Thu, 5 Oct 2017 08:24:28 +0000 (10:24 +0200)]
Remove non-finished extension
Component: Vulkan
Change-Id: I81cbfec425ed8def59c07add938ed14012553668
Alexander Galazin [Mon, 2 Oct 2017 07:13:02 +0000 (09:13 +0200)]
Remove check for depthBounds support in frag depth tests
The tests validate gl_FragDepth. This builtin should not
require any extra feature to be supported.
Components: Vulkan
VK-GL-CTS: 690
Affects: dEQP-VK.glsl.builtin_var.fragdepth.*
Change-Id: I7df775d074e5b9e6dd01f573f5a8545f3db72550
Marcin Rogucki [Thu, 5 Oct 2017 09:12:11 +0000 (11:12 +0200)]
Fix for maintenance3_properties test
A test had wrong checks as it failed on values equal to minimum required values.
Updated tests:
dEQP-VK.api.maintenance3_check.maintenance3_properties
Components: Vulkan
VK_GL_CTS Issue: #744
Change-Id: Iea88e433981f69a16beec750ffd774d453db4de6
Piers Daniell [Wed, 4 Oct 2017 16:51:12 +0000 (10:51 -0600)]
Fix imageExtent to use correct destination size
This fixes an issue with using imageParms to specify the
imageExtent for the cases where the test has done scaling
between the source and destination surfaces.
VK-GL-CTS issue: 729
Affects:
dEQP-VK.api.copy_and_blit.*
Change-Id: I4053496dfa1fdedd9edb7e108e554cb988559bcf
Components: Vulkan
Peter Gal [Mon, 11 Sep 2017 08:14:16 +0000 (10:14 +0200)]
Add YCbCr image conversion tests for protected memory test group
New tests:
* dEQP-VK.protected_memory.interaction.ycbcr.*
Components: Vulkan
VK-GL-CTS issue: 118
Change-Id: Idcc0d227b220b33f874649961e9540dbd2a3fc09
Alexander Galazin [Wed, 4 Oct 2017 20:07:11 +0000 (22:07 +0200)]
Fix SPIR-V version in subgroups tests
Component: Vulkan
VK-GL-CTS issue: 735
Affects:
dEQP-VK.subgroups.*
Change-Id: Ib276fbc736fa130abf98daee412893bc9d83ea8a
Jorg Wagner [Thu, 28 Sep 2017 09:12:02 +0000 (11:12 +0200)]
Lower default buffer size to the Spec's minimum for 2D images (4096)
The tests used 16384 which is beyond the minimum requirement
for 2D images in both Vulkan 1.0 and Vulkan 1.1.
To compensate for the reduction in buffer size the total number
of workgroups submitted is reduced to a quarter.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 717
Change-Id: I75b30186f5489c764411fb8801a1ca4cbfe0ebf8
Alexander Galazin [Wed, 4 Oct 2017 19:04:27 +0000 (21:04 +0200)]
Fix SHADER_DRAW_PARAMETER_FEATURES enum value
Should be
1000063000 as per Vulkan MR 2407
Component: Vulkan
Change-Id: Ie91c82fd7a79768df9dcb96cab814e820d482457
Alexander Galazin [Tue, 3 Oct 2017 20:11:30 +0000 (22:11 +0200)]
Fix device creation in sync multi queue tests
context.getDeviceExtensions() now returns all extension
promoted to core. This may not be true for some implementations.
While creating a new device need to enumerate exactly the extensions
supported by an implementation.
VK-GL-CTS issue: 734
Components: Vulkan
Affects:
dEQP-VK.synchronization.op.multi_queue.*
Change-Id: If943692748d7813a88f8f4eb1bc4739fd43370d4
Alexander Galazin [Wed, 4 Oct 2017 07:53:43 +0000 (09:53 +0200)]
Fix device creation in multiview tests
context.getDeviceExtensions() now returns all extension
promoted to core. This may not be true for some implementations.
While creating a new device need to enumerate exactly the extensions
supported by an implementation.
VK-GL-CTS issue: 736
Components: Vulkan
Affects:
dEQP-VK.multiview.*
Change-Id: Ibca7630ea5bd691a20f906519e15f66b22d465aa
Vikram Kushwaha [Tue, 3 Oct 2017 20:53:13 +0000 (13:53 -0700)]
Remove VK_KHR_swapchain as a required extension
This extension is not needed to create a device group
Components: Vulkan
VK-GL-CTS issue: 733
Affects:
dEQP-VK.api.info.device_group.peer_memory_features
dEQP-VK.wsi.*.surface.query_devgroup_present_modes
dEQP-VK.compute.device_group.*
Change-Id: Idff5fd802fadf28594be55192043b2f7bd80205c
Alexander Galazin [Wed, 4 Oct 2017 14:51:32 +0000 (16:51 +0200)]
Fix requested SPIR-V version
addShaderCodeCustom* functions were using the default SPIR-V vesion (1.0)
even when a different version was requested
VK-GL-CTS issue: 740
Component: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.*
Change-Id: I949e55d85cbef72d4862c558ef4b685d21470d13
Slawomir Cygan [Wed, 4 Oct 2017 14:24:18 +0000 (16:24 +0200)]
Fix NotSupported condition in dEQP_VK.spirv_assembly
The API version check was backwards.
Affects:
dEQP_VK.spirv_assembly.*
Components: Vulkan
VK-GL-CTS issue: 740
Change-Id: Ic5e2bfbdbd202c4b27295573cdeca1ea06424c7c
Alexander Galazin [Tue, 3 Oct 2017 09:14:32 +0000 (11:14 +0200)]
Update vulkan.h.in to version 61
Components: Vulkan
Change-Id: If595c381348f3a15e643291f4924aaed4668e600
Daniel Koch [Wed, 4 Oct 2017 03:59:39 +0000 (23:59 -0400)]
Check for VK 1.1 for protected memory tests
instead of the non-existant VK_KHR_protected_memory extension
VK-GL-CTS issue: 737
Component: Vulkan
Affects: dEQP-VK.protected_memory.*
Change-Id: Ie28a51497ec4bd507d6b6380f1012f445169ed35
Alexander Galazin [Tue, 3 Oct 2017 18:41:53 +0000 (20:41 +0200)]
Add missing KHR exts to the allowed list
VK_KHR_device_group_creation is an instance extension,
not a device extension
VK_KHR_maintenance3 should be in the list of device extensions
Components: Vulkan
VK-GL-CTS issue: 731, 732
Affects:
dEQP-VK.api.info.*.extensions
Change-Id: I766e6d6aa51c1053190968cb32f2534912df3122
Alexander Galazin [Tue, 3 Oct 2017 19:29:50 +0000 (21:29 +0200)]
Invalidate memory in draw tests
The test group writes to non-coherent device memory with device,
but fails to call the required invalidate on the region before
reading mapped memory with host.
Components: Vulkan
VK-GL-CTS issue: 529
Affects: dEQP-VK.draw.*
Change-Id: Icf4aa6ea80c8c046e41b37402457b7f094d7ae50
Jesse Hall [Tue, 3 Oct 2017 20:38:49 +0000 (13:38 -0700)]
Restore NDK r11c as preferred version
dEQP doesn't work on armeabi-v7a when built with NDK r15. Until that
is fixed, restore support for r11c, issue a warning when using NDK
r15 for non-armeabi-v7a, and fail early when using NDK r15 on
armeabi-v7a.
Components: Framework
Affects: all tests
VK-GL-CTS issue: 723
Change-Id: I544393abb30ec49e66fa9510207446d732f4b47d
(cherry picked from commit
c5e88e1c851ece6f37f7db117f209817094d8a96)
Vikram Kushwaha [Tue, 26 Sep 2017 18:21:49 +0000 (11:21 -0700)]
Exercise non zero base offsets within the same physical device
Components: Vulkan
VK-GL-CTS issue: 110
Affects: dEQP-VK.compute.device_group.dispatch_base
Change-Id: I205812017cb62070fd273521ae83704e051b2801
(cherry picked from commit
45e18a75add921a401b1e7ffbc85b3a51e943b7e)
Alexander Galazin [Tue, 3 Oct 2017 11:48:02 +0000 (13:48 +0200)]
Fix extensions checks in WSI tests
Components: Vulkan
Affects:
dEQP-VK.wsi.*
VK-GL-CTS issue: 730
Change-Id: I217daf260f4110712c1636cf0278846e082a52ca
Peter Gal [Fri, 1 Sep 2017 18:12:27 +0000 (20:12 +0200)]
Add swapchain tests for the VK_KHR_protected_memory extension
New tests:
* dEQP-VK.protected_memory.interaction.wsi.*
Components: Vulkan
VK-GL-CTS issue: 118
Change-Id: Ife48da5098299fd9d747a7b74208136c7f3413e0
(cherry picked from commit
9991ff0e4baea2316a93ec07e06f44ff279d2774)
Petros Bantolas [Wed, 20 Sep 2017 10:58:15 +0000 (11:58 +0100)]
Use correct image extent for image to buffer copies
The final stage of those tests (reading back to a host-mapped buffer)
would use an incorrect depth for the source image extent, when that is a
2D texture array. Because the test didn't factor in the image type, it
would set both the image extent and the subresource layerCount to the
number of layers being copied.
Using `getExtent3D` we get the appropriate behaviour.
Affects:
- dEQP-VK.api.copy_and_blit.*.3d_images.3d_to_2d*
- dEQP-VK.api.copy_and_blit.*.resolve_image.whole_array_image.*
- dEQP-VK.api.copy_and_blit.*.resolve_image.diff_image_size.
dst_256_256_11*
Components: Vulkan
VK-GL-CTS issue: 729
Change-Id: I26109772c42286a741a38aa9c9cd8a42a5873adc
Peter Gal [Tue, 3 Oct 2017 09:10:37 +0000 (11:10 +0200)]
Typo fix for ycbcr sampler conversion extension name
Components: Vulkan
Change-Id: I201b0470fb1eb5fb113eb76fb1803e6f2ec7fbc7
(cherry picked from commit
b3c89e79db62790bcc6e7700b3dbc4375275ffc5)
Alexander Galazin [Wed, 20 Sep 2017 17:06:39 +0000 (12:06 -0500)]
Indentation improvement after removal KHR suffix
Components: Vulkan
VK-GL-CTS issue: 473
Change-Id: Ic58e5c2775504c724936b62d5c9d4b1330bc085e
(cherry picked from commit
03e5ace049a785f9e7fc62116089f121643eb345)
Igor Wadowski [Fri, 22 Sep 2017 11:12:22 +0000 (13:12 +0200)]
Implement tests for VK_KHR_maintenance3
Commit intrduce tests for:
- maxPerSetDescriptors
- maxMemoryAllocationSize
- vkGetDescriptorSetLayoutSupportKHR
New test:
dEQP-VK.api.maintenance3_check.*
Components: Vulkan
VK-GL-CTS issue: 664
Change-Id: I069540c795361c0de9155dfb9be834c162800ffb
(cherry picked from commit
cd9ca7e88a6429d33210ecf158fda66f9b3f3d70)
Alexander Galazin [Mon, 2 Oct 2017 07:26:32 +0000 (09:26 +0200)]
Update Pre-compiling SPIR-V binaries section
Describe the default settings for precompiled SPIR-V binaries
and the option to change the defaults.
Components: Vulkan
VK-GL-CTS issue: 269
Change-Id: I0ba09a9f03d5b2dc76a356e71dfe4431fba67b2b
Daniel Koch [Fri, 29 Sep 2017 14:30:43 +0000 (10:30 -0400)]
VK 1.1: Detect support for ShaderDrawParameters
VK_KHR_shader_draw_parameters was included in Vulkan 1.1
but was made an optional feature.
VK-GL-CTS Issue: 691
Components: Vulkan
Affects: dEQP-VK.draw.shader_draw_parameters.*
Change-Id: I17b14230730d31339e12ec1454bc255ddf68268c
(cherry picked from commit
ccdc778edd91b78472069102f2409d0a7ac835f0)
Marcin Rogucki [Thu, 28 Sep 2017 16:01:18 +0000 (18:01 +0200)]
Added script for checking & fixing BOMs in files.
Affects:
doc/testspecs/GLES2/functional.rasterization.txt
framework/platform/win32/tcuWin32VulkanPlatform.cpp
modules/gles31/functional/es31fNegativeVertexArrayApiTests.cpp
scripts/src_util/check_all.py
Adds:
scripts/src_util/check_boms.py
Change-Id: I17dc821e44a30a119e22ff42afbdca775ecec046
Components: Vulkan
(cherry picked from commit
69731671eed80fd6915375f22d88c0404a6accb6)
Boris Zanin [Fri, 1 Sep 2017 11:07:21 +0000 (13:07 +0200)]
SpirV tests for Vulkan 1.1
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_length
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
* dEQP-VK.spirv_assembly.instruction.compute.spirv_version.*
* dEQP-VK.spirv_assembly.instruction.graphics.spirv_version.*
* dEQP-VK.spirv_assembly.instruction.*opmoduleprocessed*
Components: Vulkan
VK-GL-CTS issue: 269
Change-Id: Ib4c21a881a31ae93b5b13d88c641b3c4a7ca64a5
(cherry picked from commit
308172f1771c4ed01b45faead3055da016cd8d3b)
Jorg Wagner [Thu, 28 Sep 2017 11:59:51 +0000 (13:59 +0200)]
Correct image usage flags for YCbCr copy tests
The images are used as copy source and destination,
hence TRANSFER_SRC | TRANSFER_DST must be present
in the usage flags.
Images are not sampled from - remove SAMPLED flag.
Affects:
dEQP-VK.ycbcr.copy.*
Components: Vulkan
VK-GL-CTS issue: 715
Change-Id: Ie53d3e2fb18aa834af12938cd822aa6c50f75986
(cherry picked from commit
f2a5b768c81760bef727f1d72741e74274968518)
Jorg Wagner [Thu, 28 Sep 2017 11:59:51 +0000 (13:59 +0200)]
Correct image usage flags for YCbCr copy tests
The images are used as copy source and destination,
hence TRANSFER_SRC | TRANSFER_DST must be present
in the usage flags.
Images are not sampled from - remove SAMPLED flag.
Affects:
dEQP-VK.ycbcr.copy.*
Components: Vulkan
VK-GL-CTS issue: 715
Change-Id: Ie53d3e2fb18aa834af12938cd822aa6c50f75986
Panagiotis Apostolou [Thu, 7 Sep 2017 11:54:51 +0000 (13:54 +0200)]
Serialize region copies for YCbCr copy tests
As the generated regions can overlap - force all calls
of vkCmdCopyImage() to be executed sequentially by adding
a pipeline barrier between each call to avoid producing
undefined results.
Affects:
dEQP-VK.ycbcr.copy.*
Components: Vulkan
VK-GL-CTS issue: 716
Change-Id: Ifed67cdc077a8c03630b36f8aa59bd6dae0578a3
(cherry picked from commit
9fe7d4753721d10235cbf38194cf7c8cf2eb7d19)
Jorg Wagner [Thu, 28 Sep 2017 10:41:14 +0000 (12:41 +0200)]
Skip more basic subgroup tests requiring the ballot feature
The check to skip certain tests happened at the wrong
level and missed several _framebuffer variants.
Affects:
dEQP-VK.subgroups.basic.*
Components: Vulkan
VK-GL-CTS issue: 719
Change-Id: Ib40382f88ece0a369215be1eb62ea4e2d6df80b7
Panagiotis Apostolou [Thu, 7 Sep 2017 11:54:51 +0000 (13:54 +0200)]
Serialize region copies for YCbCr copy tests
As the generated regions can overlap - force all calls
of vkCmdCopyImage() to be executed sequentially by adding
a pipeline barrier between each call to avoid producing
undefined results.
Affects:
dEQP-VK.ycbcr.copy.*
Components: Vulkan
VK-GL-CTS issue: 716
Change-Id: Ifed67cdc077a8c03630b36f8aa59bd6dae0578a3
Ari Suonpaa [Thu, 21 Sep 2017 06:13:33 +0000 (09:13 +0300)]
Fixed invalid OpPtrAccessChain usage in access chain tests.
Modified dEQP-VK.spirv_assembly.instruction.*.indexing.* tests to
use an array of structs as input to have a meaningful usage of
OpPtrAccessChain.
Affects:
dEQP-VK.spirv_assembly.instruction.*.indexing.*
Components: Vulkan
VK-GL-CTS issue 686
Change-Id: Ia1604d5a24712c522f51cbd0692d85b1baa2d27c
(cherry picked from commit
2a6458a56bc749fc99eb753d16abf8758e1a39f7)
Slawomir Cygan [Mon, 25 Sep 2017 14:52:33 +0000 (16:52 +0200)]
Avoid overflow on shift left operator in subgroups ballot
Fix possible overflow in GLSL logic shift left (<<) operation due
to mediump precision of agument. GLSLang was generating following code:
OpDecorate %52 RelaxedPrecision
..
%52 = OpShiftLeftLogical %8 %30 %51
which may oveflow for gl_SubgroupInvocationID > 16.
Affects: dEQP-VK.subgroups.ballot.*
Components: Vulkan
VK-GL-CTS issue: 713
Change-Id: I4ce345261111524ad2da219b1eafa15572074426
Slawomir Cygan [Fri, 22 Sep 2017 15:23:05 +0000 (17:23 +0200)]
Avoid assert in dEQP-VK.tessellation.fractional_spacing
The test code dereferences first element of empty std::vector, what
may cause an assert in debug builds (depending on toolchain and it's
settings).
Addects: dEQP-VK.tessellation.*
Components: Vulkan
VK-GL-CTS issue: 710
Change-Id: I2b94a0d03c3523ebf1380a9371765c616fd21b82
Marcin Rogucki [Wed, 20 Sep 2017 14:15:13 +0000 (16:15 +0200)]
Invalid API version test updated for VK 1.1
Affects:
dEQP-VK.api.device_init.create_instance_invalid_api_version
Components: Vulkan
VK-GL-CTS issue: 671
Change-Id: I4f0b4d8a84ca4d9c5940f3d5f83878c9aba70315
(cherry picked from commit
f332d70d1f73f0dc655c4bd44eb40a8074828f82)
Petros Bantolas [Mon, 18 Sep 2017 16:07:22 +0000 (17:07 +0100)]
Fix depth & stencil passOp for pipeline.render_to_image tests
Affects:
dEQP-VK.pipeline.render_to_image.*_array* with stencil attachments
Those tests render to each layer of the texture in consecutive
subpasses. With a depth/stencil passOp of VK_STENCIL_OP_ZERO, subpasses
after the first one fail the stencil test and skip the render.
Components: Vulkan
VK-GL-CTS issue: 678
Change-Id: Ia704192b8d7e316dacaa7549faa5cb5aa0def60e
Alexander Galazin [Thu, 21 Sep 2017 21:03:04 +0000 (16:03 -0500)]
Check API version in addition to present extensions
Components: Vulkan
VK-GL-CTS issue: 473
Change-Id: I07ff1b66b98046ac7975e92684e8003969c18345
(cherry picked from commit
e1cd4204c7ca28648bb6ccc4d32af56d671edfa4)
Piers Daniell [Thu, 28 Sep 2017 18:55:23 +0000 (12:55 -0600)]
Fix sType used with VkExternalImageFormatPropertiesKHR
The sType used in the VkExternalImageFormatPropertiesKHR struct
was VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR
which is wrong and should have been
VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR.
Using the wrong sType means implementations ignored the unexpected
sType in the chain.
Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*
Change-Id: I3f16b6fcd66740685f742be8e1318c32fcf87d7e
Components: Vulkan
(cherry picked from commit
09c5420239eefe0c3555a4fb15ab3c879d707081)
Alexander Galazin [Thu, 28 Sep 2017 10:55:30 +0000 (12:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I01bbf066dd54a652cd81d6831cb0acdf16f045dc
Alexander Galazin [Wed, 27 Sep 2017 12:35:50 +0000 (14:35 +0200)]
Rename 1.0.3 mustpass
1.0.3 mustpass becomes 1.1.0
Components: Vulkan
Change-Id: Ie1e2d5ad5e67a172c544cba9494f545233f09ae7
(cherry picked from commit
0f88d0ecc6d4efb8f20e59e33f2c7f893748dd3c)
Alexander Galazin [Wed, 20 Sep 2017 17:06:39 +0000 (12:06 -0500)]
Remove Vulkan 1.1 KHR-suffixed functions/structs/enums
This change removes KHR-sufffices functions/structs/enums
for features that became Vulkan 1.1 core
Components: Vulkan
VK-GL-CTS issue: 473
Change-Id: Ifeae93b2686b4a9b6e0744917f2e95dc23d2b7fa
(cherry picked from commit
b0f38a8bea7ac29ab52c464073722ba08eaef1f4)
Alexander Galazin [Wed, 27 Sep 2017 12:13:30 +0000 (14:13 +0200)]
Remove YCbCr from the instance extensions
VK_KHR_sampler_ycbcr_conversion is a device extension.
It must not be listed as an allowed instance extension.
Components: Vulkan
VK-GL-CTS issue: 698
Affects:
dEQP-VK.api.info.instance.extensions
Change-Id: I1ee1448535df75016a0214ebfe800a476daf32c4
Alexander Galazin [Mon, 11 Sep 2017 09:45:41 +0000 (11:45 +0200)]
Add support for Vulkan 1.1
Components: Vulkan
VK-GL-CTS issue: 473
Change-Id: I514efd903b243429844076a934e26d248a67ac2e
(cherry picked from commit
3e1a86052e33c47532cd6f6c475d849baeec5f99)
Peter Gal [Fri, 15 Sep 2017 16:39:08 +0000 (18:39 +0200)]
Typo fix in YCbCr conversion tests
During YCbCr conversion tests the Disjoint
information ws incorrectly recorded into the
log file.
Change-Id: I63c5d5fc326fd52019f4e167c6632132cbc4668c
Components: Vulkan
(cherry picked from commit
37a196f757a516af2d75f4653153d1e5df8809db)
Peter Gal [Fri, 15 Sep 2017 16:39:08 +0000 (18:39 +0200)]
Typo fix in YCbCr conversion tests
During YCbCr conversion tests the Disjoint
information ws incorrectly recorded into the
log file.
Change-Id: I63c5d5fc326fd52019f4e167c6632132cbc4668c
Components: Vulkan
(cherry picked from commit
37a196f757a516af2d75f4653153d1e5df8809db)
Slawomir Cygan [Fri, 8 Sep 2017 10:55:34 +0000 (12:55 +0200)]
Fix regression in dEQP-VK.pipeline.multisample.sample_mask
The commit
83f7fcd8 introduced two ways of downloading
rendered images from device (RESOLVE or COPY_SAMPLES).
All previously existing tests should continue to use RESOLVE mode, as
the new COPY_SAMPLES mode changes the behavior of MultisampleRenderer
class (and requries additional set of shaders).
Affects:
dEQP-VK.pipeline.multisample.sample_mask*
Components: Vulkan
VK-GL-CTS issue: 676
Change-Id: I0c59cf0b4c9734c982b78606dc3cc9d1d721b547
(cherry picked from commit
e3b288e22f038449559f2ccaa4825856ef729fce)
Boris Zanin [Thu, 7 Sep 2017 08:18:07 +0000 (10:18 +0200)]
Fix memory corruption vktApiObjectManagementTests
Due to s_deviceCases, s_deviceGroupCases are declared as non-static
arrays the pointers to these structures cannot be included into
static arrays such as s_createSingleGroup,
s_createMultipleUniqueResourcesGroup, etc.
During second call references in arrays like s_createSingleGroup,
s_createMultipleUniqueResourcesGroup, etc will point to invalid
memory and most likely will lead to crash.
Fix: make dependend structures also non-static.
Update tests:
* dEQP-VK.api.object_management.*
Components: Vulkan
VK-GL-CTS issue: 674
Change-Id: I83732c243f407d620f3d612c4f10435965e36080
Graeme Leese [Mon, 18 Sep 2017 23:58:22 +0000 (00:58 +0100)]
Check viewport limits against framebuffer limits
They were being checked against the maximum image dimensions which was
incorrect.
Affects: dEQP-VK.api.info.device.properties
Components: Vulkan
VK-GL-CTS Issue: 700
Change-Id: Ia11bb69439294c5160d2da0a432ef8fc38e33500
(cherry picked from commit
0bef80fc45e49e9486f238e1b5b52a2aae4c530c)
Arkadiusz Sarwa [Tue, 12 Sep 2017 11:28:39 +0000 (13:28 +0200)]
Fix unreasonable memory expectations in pipeline.render_to_image
Affects:
dEQP-VK.pipeline.render_to_image.*
Components: Vulkan
VK-GL-CTS issue: 526
Change-Id: I71ea0381663c39786b227ed712e1111ec3c71cfb
(cherry picked from commit
069aa0ad097f543438b39a260eea52278867ffa8)
Arkadiusz Sarwa [Fri, 8 Sep 2017 09:31:39 +0000 (11:31 +0200)]
Subgroup Tests: Using framebuffer instead of SSBO
Vulkan 1.1 has subgroup functionality that these tests verify.
Affects:
dEQP-VK.subgroups.*fragment*
dEQP-VK.subgroups.*framebuffer
Components: Vulkan
VK-GL-CTS issue: 546
Change-Id: Ifec1127a78e7286bda3a6842b110222d09a6fcbe
(cherry picked from commit
c88a2dc7da012de77325f0df5c67637640f0144e)
Neil Henning [Tue, 19 Sep 2017 21:28:50 +0000 (22:28 +0100)]
Update CTS to remove fragment from the required stages list.
Affects:
deQP-VK.subgroups.*
Components: Vulkan
Vulkan issue: 975
Change-Id: Iee9c6a6a5ee6c5f85ff91c2e24f7b2ccc3c1dbd0
(cherry picked from commit
cc7d9548ef3a02e91991471a973817d343854fd2)
Gerrit Code Review [Fri, 22 Sep 2017 15:16:13 +0000 (11:16 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0" into vulkan-cts-1.1.0
Alexander Galazin [Fri, 22 Sep 2017 14:43:31 +0000 (09:43 -0500)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I4911389b84b440a91016a20fe12aef1f839c03fd
Jason Ekstrand [Tue, 24 Jan 2017 01:44:17 +0000 (17:44 -0800)]
Re-apply after merge-foo: Enable b10g10r11 and e5b9g9r9 blitting tests
This enables 620 new tests for blitting to/from e5b9g9r9 and b10g10r10.
Looking through vulkan.gpuinfo.org, most implementations support the
BLIT_SRC_BIT on these formats. I have a branch of our driver that
supports BLIT_DST_BIT for these formats and the tests all work fine.
Change-Id: I964abad8c44d3d7cc52a79bbb73ee6b9833845d6
(cherry picked from commit
3f9edcf8b135a5486e9570a24ea9480016697466)
Alexander Galazin [Tue, 19 Sep 2017 15:24:50 +0000 (10:24 -0500)]
Remove merge conflicts artefacts
vulkan.h.in has some merge conflicts artefacts.
This change removes them.
Components: Vulkan
VK-GL-CTS issue: 699
Change-Id: Ic9a72583f1d082e69a26a67e7e1306040cac0453
Neil Henning [Mon, 14 Aug 2017 12:12:10 +0000 (13:12 +0100)]
Update SPIR-V Tools, SPIR-V Headers and glslang
David Neto has kindly produced vulkan-1.1-dev branches for SPIR-V Tools
and SPIR-V Headers that match SPIR-V 1.3 functionality. This commit
updates us to those changelists.
In tandem I also updated glslang to the master commit on gitlab - this
is the tracking branch for Vulkan 1.1. Glslang had changed some of the
files, so I took the liberty of cleaning up the include process for
glslang to try and mitigate any future additions/removal of files, by
defensively setting some of glslang's CMake options to disable
functionality, and renaming glslang_library -> glslang_libraries to
include the 3 libraries the CTS depends on.
Components: Vulkan
Change-Id: I1a47ff96adbbcab5a89e7b9805ba53f783ecc693
(cherry picked from commit
c4bf8571ff93212f7f07124531e144d6520dafda)
Samuel Iglesias Gonsálvez [Mon, 11 Sep 2017 10:41:56 +0000 (12:41 +0200)]
Check if the driver supports subgroup operations
Affects: dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 683
Change-Id: I85936d808459fab9a260bff372c7a5bbe7cc67fc
(cherry picked from commit
9cbd59a275ea092c6e1ffed249d974054224c081)
Arkadiusz Sarwa [Fri, 8 Sep 2017 10:02:27 +0000 (12:02 +0200)]
Fix possibility of memory leak in subgroups tests
Components: Vulkan
Affects:
dEQP-VK.subgroups*
VK-GL-CTS issue: 680
Change-Id: I43257ca6eb8593e4a513e894661282878bb2e6b9
(cherry picked from commit
d8011612085c79783e807b11d53efa2d4e7d13ee)
Alexander Galazin [Tue, 29 Aug 2017 14:22:48 +0000 (16:22 +0200)]
Raise required NDK version to r15
NDK r15 is necessary to enable
VK_ANDROID_external_memory_android_hardware_buffer
Components: Vulkan, Framework
Affects: all tests
Change-Id: I494dd8362de67b0f5bc04312ea6288bb0aa3bad0
Samuel Iglesias Gonsálvez [Mon, 4 Sep 2017 07:16:30 +0000 (09:16 +0200)]
Fix bug when setting descriptor set layouts
Affects:
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.glsl.builtin_var.fragcoord_msaa.*
Fixes crashes added by
595b5f763a8f6ef1c68bfd133a55ded9c25ac101 (CL#1017).
Components: Vulkan
VK-GL-CTS issue: 659
Change-Id: I1464ff6b213f38a2ade08f1e9b11dad422ee3f21
(cherry picked from commit
153979d342b54aa04cb2038e158ff3e3c742d8b8)
Vikram Kushwaha [Tue, 25 Jul 2017 23:47:16 +0000 (16:47 -0700)]
Add compute tests for device group
Tests target:
1. Setting a base workgroup for compute launch
2. Using gl_DeviceIndex in compute shader
3. setting device mask for compute launch
New tests:
dEQP-VK.compute.device_group.dispatch_base
dEQP-VK.compute.device_group.device_index
Components: Vulkan
VK-GL-CTS issue: 110
Change-Id: I6d57259fb55a10befea27b5c34d117c30c8db698