platform/upstream/VK-GL-CTS.git
7 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 12 Oct 2017 12:36:27 +0000 (14:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I4fe1159997a93972dc02245ec3134e8aa159461e

7 years agoRemove OpUConvert to signed integer tests
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

7 years agoFix VK version selection in version_check.entry_points test
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

7 years agoout_of_pool_memory test reports wrong error code
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

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 10:43:56 +0000 (12:43 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Id4156b8ccad911a74b1fd37fcdd192b34bf6e0d3

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Wed, 11 Oct 2017 10:43:53 +0000 (12:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I630355a8c937c0fcd2ea102e5b1dcce81eb58753

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 08:40:37 +0000 (10:40 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I998f296e07bedac45f573ea566471bab6a565cdd

7 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 11 Oct 2017 07:30:29 +0000 (09:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ibf799f77f92370fc54a6538ba34c5af23b774731

7 years agodEQP-VK.ycbcr.* tests throw NotSupported incorrectly
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

7 years agoDispatch base test does not enable pipeline flag
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

7 years agoAdjust the result verification in loop_control tests
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

7 years agoUpdate Vulkan README
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

7 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 10 Oct 2017 10:34:45 +0000 (12:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I8fa318217c29eec5279e9940f613c082dc69ce8b

7 years agoExclude invalid spirv_assembly indexing cases
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

7 years agoTest EXT_shader_group_vote using variables
Piotr Byszewski [Tue, 19 Sep 2017 14:53:49 +0000 (16:53 +0200)]
Test EXT_shader_group_vote using variables

Current tests call shader group functions passing directly True/False
values. This change adds test that verifies new functions using
variables.
This change also reduces workgroup size for ES as all tests were
previously using workgroup size that was greater than the minimum
required.

Components: OpenGL

VK-GL-CTS issue: 693

Affects:
KHR-GL45.shader_group_vote.*
KHR-GLES31.core.shader_group_vote.*

Change-Id: Icbb5c278c65edd04fe339e31934df7624834c439

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
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

7 years agoVK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
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)

7 years agoDrawUtil: Fix depthBounds check
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

7 years agoIncrease negative GLSL coverage
Piotr Byszewski [Thu, 14 Sep 2017 14:06:49 +0000 (16:06 +0200)]
Increase negative GLSL coverage

GLSL and ESSL specify that the following are legal declarations:
  int;
  int ,a;
while the following are not:
  struct foo { int; };
  struct bar { int ,a; };
  int a,;

Components: OpenGL

VK-GL-CTS issue: 7

Affects:
KHR-GL33.shaders.declarations.*
KHR-GLES3.shaders.declarations.*

Change-Id: Ib1735ca96e4ce7be60fa0ca91c64f7392b237605

7 years agoIncrease coverage for robustness
Piotr Byszewski [Mon, 7 Aug 2017 12:12:55 +0000 (14:12 +0200)]
Increase coverage for robustness

Out-of-range fetching tests verify fetches 4K, 1MB and 10MB past
the end of the object.

Components: OpenGL

VK-GL-CTS issue: 16

Affects:
KHR-GL43.robust_buffer_access_behavior.*
KHR-GLES32.robust.robust_buffer_access_behavior.*

Change-Id: Ibad4eb3e30f3dc48b2d5ecb4781014a4374e4dc5

7 years agoTests mixing UB/SSB with and without instance names
Piotr Byszewski [Fri, 15 Sep 2017 13:36:25 +0000 (15:36 +0200)]
Tests mixing UB/SSB with and without instance names

Matched uniform or shader storage block names (but not input or
output block names) must also either all be lacking an instance
name or all having an instance name.

Components: OpenGL

VK-GL-CTS issue: 3

Affects:
KHR-GL43.shader_storage_buffer_object.basic-name-match
KHR-GLES31.core.shader_storage_buffer_object.basic-name-match
KHR-GL33.shaders.uniform_block.common.name_matching
KHR-GLES3.shaders.uniform_block.common.name_matching

Change-Id: I7dc3476272d6f3fca3faa7e6bc57a008bce0e17f

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
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

7 years agoVK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
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

7 years agoRemove blindly enabling all device extensions
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

7 years agoFix checkImageSupport()
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

7 years agoAdd StorageImageExtendedFormats cap check
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

7 years agoUpdate vulkan.h.in for WSI device-group functionality
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

7 years agoFix API version for functions in CoreFunctionalities
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

7 years agoWSI devgroup tests need VK_KHR_swapchain
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

7 years agoFix instance-rate vertex attribute verification
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

7 years agoAvoid 32-bit precision issues in ShaderRender tests
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

7 years agoVK_KHR_maintenance3: Fix per-stage descriptor limit checks
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

7 years agoSync AOSP and VK-GL-CTS exclusion lists
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

7 years agoRemove atan2 mediump precision tests
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

7 years agoAdd tests for multi GPU (device group)
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

7 years agoUse tags for SPIR-V tools
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

7 years agoFix result verification in loop_control tests
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

7 years agoRemove non-finished extension
Alexander Galazin [Thu, 5 Oct 2017 08:24:28 +0000 (10:24 +0200)]
Remove non-finished extension

Component: Vulkan

Change-Id: I81cbfec425ed8def59c07add938ed14012553668

7 years agoRemove check for depthBounds support in frag depth tests
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

7 years agoFix for maintenance3_properties test
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

7 years agoFix imageExtent to use correct destination size
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

7 years agoFix incorrect displayMode for wsi.display test
Petros Bantolas [Thu, 21 Sep 2017 09:38:47 +0000 (10:38 +0100)]
Fix incorrect displayMode for wsi.display test

An integer index was used as the displayMode parameter in
VkDisplaySurfaceCreateInfoKHR in place of the actual VkDisplayModeKHR
handle.

Components: Vulkan

Affects:
- dEQP-VK.wsi.display.create_display_plane_surface

VK-GL-CTS issue: 728

Change-Id: Iccf61ddc1a8868ad3540a42d9bb342352f652884

7 years agoAdd YCbCr image conversion tests for protected memory test group
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

7 years agoFix SPIR-V version in subgroups tests
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

7 years agoLower default buffer size to the Spec's minimum for 2D images (4096)
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

7 years agoFix SHADER_DRAW_PARAMETER_FEATURES enum value
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

7 years agoFix device creation in sync multi queue tests
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

7 years agoFix device creation in multiview tests
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

7 years agoRemove VK_KHR_swapchain as a required extension
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

7 years agoFix requested SPIR-V version
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

7 years agoFix NotSupported condition in dEQP_VK.spirv_assembly
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

7 years agoUpdate vulkan.h.in to version 61
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

7 years agoCheck for VK 1.1 for protected memory tests
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

7 years agoAdd missing KHR exts to the allowed list
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

7 years agoInvalidate memory in draw tests
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

7 years agoRestore NDK r11c as preferred version
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)

7 years agoRestore NDK r11c as preferred version
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

7 years agoExercise non zero base offsets within the same physical device
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)

7 years agoExercise non zero base offsets within the same physical device
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

7 years agoFix extensions checks in WSI tests
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

7 years agoAdd swapchain tests for the VK_KHR_protected_memory extension
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)

7 years agoAdd swapchain tests for the VK_KHR_protected_memory extension
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

7 years agoUse correct image extent for image to buffer copies
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

7 years agoTypo fix for ycbcr sampler conversion extension name
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)

7 years agoTypo fix for ycbcr sampler conversion extension name
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

7 years agoIndentation improvement after removal KHR suffix
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)

7 years agoIndentation improvement after removal KHR suffix
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

7 years agoImplement tests for VK_KHR_maintenance3
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)

7 years agoImplement tests for VK_KHR_maintenance3
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

7 years agoUpdate Pre-compiling SPIR-V binaries section
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

7 years agoVK 1.1: Detect support for ShaderDrawParameters
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)

7 years agoFix non-unique type declarations in tests
Andrey Tuganov [Wed, 20 Sep 2017 20:42:35 +0000 (16:42 -0400)]
Fix non-unique type declarations in tests

Multiple test code generators were generating incorrect SPIR-V code
(non-unique type declarations of non-aggregate types).

Affects: dEQP-VK.spirv_assembly.*
Components: Vulkan

VK-GL-CTS issue: 195

Change-Id: I55200a2b78c84c298db05f34892aa4cffbfff74c

7 years agoVK 1.1: Detect support for ShaderDrawParameters
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

7 years agoAdded script for checking & fixing BOMs in files.
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)

7 years agoAdded script for checking & fixing BOMs in files.
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

7 years agoSpirV tests for Vulkan 1.1
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)

7 years agoCorrect image usage flags for YCbCr copy tests
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)

7 years agoCorrect image usage flags for YCbCr copy tests
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

7 years agoSerialize region copies for YCbCr copy tests
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)

7 years agoSkip more basic subgroup tests requiring the ballot feature
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

7 years agoFix KHR-GL45/46.enhanced_layouts.varying_block_member_locations
Eleni Maria Stea [Wed, 20 Sep 2017 11:28:40 +0000 (14:28 +0300)]
Fix KHR-GL45/46.enhanced_layouts.varying_block_member_locations

The stages of the same program used in/out blocks that didn't match
(see section 4.7.1 in OpenGL 4.5 spec: qualification mismatch) and as a
result a linker error was produced. With this change all stages use the
same block definition which is either the 1st or the 2nd depending on
the iteration but not both at the same time:

Goku {
    vec4 gohan;
    vec4 goten;
    vec4 chichi;
} gokuARRAY;

Goku {
    layout (location = 2) vec4 gohan;
    layout (location = 4) vec4 goten;
    layout (location = 6) vec4 chichi;
} gokuARRAY;

Affects:

KHR-GL46.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_member_locations

Components: OpenGL

VK-GL-CTS issue: 703

Change-Id: I03a6a90929e28489a2507838003c62475a8a58b8

7 years agoTest struct names hiding other struct names
Piotr Byszewski [Mon, 11 Sep 2017 16:31:16 +0000 (18:31 +0200)]
Test struct names hiding other struct names

Test if names are correctly hidden when a level of nesting is
involved.

Components: OpenGL

VK-GL-CTS issue: 14

Affects:
KHR-GLES3.shaders.name_hiding.*

Change-Id: I3eb83bfcf6d10fcb15abaa6c086ecd5f9c3d0b36

7 years agoSerialize region copies for YCbCr copy tests
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

7 years agoFixed invalid OpPtrAccessChain usage in access chain tests.
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)

7 years agoFixed invalid OpPtrAccessChain usage in access chain tests.
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

7 years agoAvoid overflow on shift left operator in subgroups ballot
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

7 years agoSpirV tests for Vulkan 1.1
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

7 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 29 Sep 2017 08:25:58 +0000 (10:25 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I4c1d225bf9a0698f79e7bad1ac7d628e388cc836

7 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 29 Sep 2017 07:48:32 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I30c4ce6bb0c528b6afbc6a37a947e9e5ffaa1c0e

7 years agoTest BLOCK_INDEX of uniform inside block array
Piotr Byszewski [Wed, 13 Sep 2017 07:56:42 +0000 (09:56 +0200)]
Test BLOCK_INDEX of uniform inside block array

Uniform blocks declared in an array are considered active
if any member of the array would otherwise be considered
active.

Components: OpenGL

VK-GL-CTS issue: 13

Affects:
KHR-GL43.program_interface_query.uniform-block-array
KHR-GLES31.core.program_interface_query.uniform-block-array

Change-Id: Iaa67be6f23f168e35e5ddc3965342756dc2c59ed

7 years agoAllow min/max/clamp to flush subnormals only during comparison
Nicolai Hähnle [Wed, 20 Sep 2017 20:26:44 +0000 (22:26 +0200)]
Allow min/max/clamp to flush subnormals only during comparison

An implementation may follow the rule that subnormals are flushed
to zero for all arithmetic operations (including comparisons), but
never for mere copies.

In this case, if the input to min/max/clamp contains more than one
subnormal number (including +/-0.0), the returned value may be any
of the subnormal numbers and not really the true minimum/maximum/
clamped value.

This does not hurt real applications, since any subsequent use of
the result will flush it to zero anyway, and it does seem to be
implicitly allowed by the GLSL ES spec.

Change the implementation of min/max/clamp to explicitly handle
the subnormal case in the comparison.

Components: AOSP

VK-GL-CTS issue: 705

Affects:
dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.*
dEQP-GLES3.functional.shaders.builtin_functions.precision.max.*
dEQP-GLES3.functional.shaders.builtin_functions.precision.min.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.max.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.min.*

Change-Id: I9a5bed9d78e311f96fe03b689299d777050ea063

7 years agoAdd CTS_ARB_gl_spirv test specification proposal
Adam Czupryna [Thu, 29 Jun 2017 14:50:53 +0000 (16:50 +0200)]
Add CTS_ARB_gl_spirv test specification proposal

This is CTS_ARB_gl_spirv test specification proposal.

Components: OpenGL

VK-GL-CTS issue: 554

Change-Id: I95478228f66c27ed5ff78a9e17a0381512abbf21

7 years agoAvoid assert in dEQP-VK.tessellation.fractional_spacing
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

7 years agoInvalid API version test updated for VK 1.1
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)

7 years agoInvalid API version test updated for VK 1.1
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

7 years agoFix depth & stencil passOp for pipeline.render_to_image tests
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

7 years agoTest vkCmdBlitImage for cubemaps with layerCount=6
Paavo Pessi [Thu, 21 Sep 2017 10:08:13 +0000 (13:08 +0300)]
Test vkCmdBlitImage for cubemaps with layerCount=6

Tests were added to verify that the typical use-case of generating
mipmap levels for cubemaps with vkCmdBlitImage() works with all supported
formats.

Tests in 'from_base_level' group use the base image as a source for all
mip levels and generate all mip levels for all six image layers with a
single blit command.

Tests in 'from_previous_level' group use the previous mip level as a
source for the next mip level and generate each mip level for all
six image layers with a separate blit command with barriers between
each blit.

Existing mipmap tests cases in the
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.generate_mipmaps.*
test group were moved to
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.generate_mipmaps.*.layercount_1.*

New tests:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*.layercount_6.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.*.layercount_6.*

Components: Vulkan

VK-GL-CTS issue: 615
VK-GL-CTS public issue: 50

Change-Id: I512484434dda155b668a600c8303650d42417e0a

7 years agoCheck API version in addition to present extensions
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)

7 years agoCheck API version in addition to present extensions
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

7 years agoFix sType used with VkExternalImageFormatPropertiesKHR
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)