Graeme Leese [Mon, 3 Jun 2019 18:04:12 +0000 (19:04 +0100)]
Simplify precisions in GLSL precision tests
The legacy_precision functions obscured the fact that almost all of the
precisions for 32-bit are the same with the float16_int8 and without.
Preserve the switch only where there was a functioal difference in the
old code.
Also, remove some parts that are dealing with lowp. They're never used,
so they're just making the code more complicated.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*.exp.*
dEQP-VK.glsl.builtin.precision*.exp2.*
dEQP-VK.glsl.builtin.precision*.log.*
dEQP-VK.glsl.builtin.precision*.log2.*
dEQP-VK.glsl.builtin.precision*.sin.*
dEQP-VK.glsl.builtin.precision*.cos.*
dEQP-VK.glsl.builtin.precision*.acos.*
dEQP-VK.glsl.builtin.precision*.atan.*
Change-Id: I1361ffb9ca7cd7327a2511f3b53ce2986c12a038
Graeme Leese [Wed, 5 Jun 2019 14:40:41 +0000 (15:40 +0100)]
Fix random number generation in GLSL precision tests
The random number generator was producing -1.0f with a probability of
15/16.
Component: Vulkan
VK-GL-CTS issue: 1815
Affects: dEQP-VK.glsl.builtin.precision.*
Change-Id: Ic740a78656b427acbb51ad15085bc53ed45a86dd
Alexander Galazin [Thu, 6 Jun 2019 07:25:19 +0000 (09:25 +0200)]
Raise CMake required version to 3.0
SPIR-V Projects are raising CMake version to 3.0
Components: Framework
Affects: dEQP-VK.*, dEQP-GL*, dEQP-EGL.*
Change-Id: Ic281a482038684940926474a9cc0bca23d934ef9
Alexander Galazin [Fri, 7 Jun 2019 09:15:43 +0000 (11:15 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I3133019d090b8a674bb8cbeba493c65e62e768f9
Piotr Byszewski [Wed, 20 Feb 2019 14:45:18 +0000 (15:45 +0100)]
Improve VK_KHR_swapchain coverage
This change adds two tests that use two structures that were not used
till now in cts. Those structures are: VkImageSwapchainCreateInfoKHR
and VkBindImageMemorySwapchainInfoKHR.
image_swapchain_create_info test just creates swapchain images for
single device.
device_group2 test creates swapchain images for device group
consisting out of two devices. Half of each presentable imaga
is aliased to memory of diferent device in group.
Components: Vulkan
VK-GL-CTS issue: 1577
Affects:
dEQP-VK.wsi.*.swapchain.*.image_swapchain_create_info
dEQP-VK.wsi.*.swapchain.render.device_group2
Change-Id: I5927c607c808da5163655b4cc7a5fad5b595012c
Alexander Galazin [Thu, 6 Jun 2019 15:49:37 +0000 (17:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I593e042d8a7ac25a1d09b07d3a222fe51bef4ebf
Alexander Galazin [Thu, 6 Jun 2019 15:10:54 +0000 (17:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Id4adb91216cbc973009a884cf29f1d6fa4412980
Joerg Wagner [Sun, 2 Jun 2019 16:11:57 +0000 (18:11 +0200)]
Handle 1.0 vs 1.1 differences for VK_KHR_device_group
Several entry points are expected to be enabled through
VK_KHR_device_group under Vulkan 1.0 but were moved to
VK_KHR_swapchain under Vulkan 1.1
Account for the subtle difference by taking the apiVersion
into account when checking extension entry point exposure.
Affects:
dEQP-VK.api.version_check.entry_points
Components: Framework, Vulkan
VK-GL-CTS issue: 1802
Change-Id: Ic47d53cd4dcac24282d054eeae671464509235c9
Chris Forbes [Mon, 3 Jun 2019 14:38:47 +0000 (07:38 -0700)]
Check for toplevel sparse binding support bit in sparse pipeline tests
VK-GL-CTS Issue: 1806
Components: Vulkan
Bug: b/
130838280
Affects: dEQP-VK.pipeline.multisample.*sparse
Change-Id: I18f0960228e24dddcfee6d85c2c4ae647439a3c6
Ricardo Garcia [Wed, 29 May 2019 15:28:00 +0000 (17:28 +0200)]
Add smoke test with unknown extension structure
Create a smoke test that uses a non-existant dummy extension structure
as the pNext field in many API calls to draw a basic rectangle. This
extension structure must be ignored by implementations and everything
must work as if a null pointer had been passed instead.
New tests:
dEQP-VK.api.smoke.triangle_ext_structs
Components: Vulkan
VK-GL-CTS issue: 1799
Change-Id: Ie39b9ec74940e273a19e6784d82dce02c1b0c7d1
Alexander Galazin [Thu, 6 Jun 2019 13:33:21 +0000 (15:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I63bcf7eb6c51188f2098111ac80cac947e294bfa
Alexander Galazin [Thu, 6 Jun 2019 12:14:06 +0000 (14:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iacf5cbc1f08c49bf71e46b0959514ee9dcfeb21f
Alexander Galazin [Thu, 6 Jun 2019 11:25:43 +0000 (13:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Ie2fcbf82b366c324d4b48ddeaffd0b5654cf2d60
Yiwei Zhang [Tue, 4 Jun 2019 02:18:13 +0000 (19:18 -0700)]
Add a checker for vkQueuePresent returning VK_SUBOPTIMAL_KHR
Components: Vulkan
VK-GL-CTS Issue: 1811
Affects: dEQP-VK.wsi.*
Affects: dEQP-VK.protected_memory.interaction.wsi.*
Change-Id: I81320fb9fee34c6d1ec006d0a66d482eb2f8fb7c
Chris Forbes [Mon, 3 Jun 2019 17:45:28 +0000 (10:45 -0700)]
Fix more sampleShading issues in dEQP-VK.pipeline.multisample_shader_builtin.*
The `pattern` case here does not require per-sample shading, and the
request for the feature is easily disabled. The `write` case could
potentially also run without per-sample shading, but is plumbed
differently, so I have not adjusted it to run per-pixel.
All remaining cases which used per-sample shading have been
adjusted to check for the sampleShading feature efore running.
VK-GL-CTS Issue: 1807
Affects: dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.*
Components: Vulkan
Change-Id: Iab86205fa89ace6f55ad00ba3fc51e2745a28744
Alexander Galazin [Wed, 5 Jun 2019 11:18:31 +0000 (13:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I6543c42627662dc3872bef9ada5fb523f1bddd03
Alexander Galazin [Wed, 5 Jun 2019 10:38:33 +0000 (12:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Idfd64426bcfb647d1725a05becd0e0a30f59768b
Boris Zanin [Mon, 3 Jun 2019 12:14:17 +0000 (14:14 +0200)]
Python3 compatibility: Fix build_apk.py
The files build_apk need to be updated ti run under Python 3.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I0c21e7114f2f4d55ebf31353c270cadfbe98dd96
Martin Freebody [Fri, 24 May 2019 13:30:32 +0000 (14:30 +0100)]
Fix for SSBO offset alignment
Affects: dEQP-VK.ssbo.unsized_array_length.*
Components: Vulkan
VK-GL-CTS issue: 1796
Change-Id: I8953c2a58fe90a3165aa3255e542336a0c6d0a1e
(cherry picked from commit
eaa8fbf9c0e15e36e7c202947fbc13216761dbf6)
Martin Freebody [Fri, 24 May 2019 13:30:32 +0000 (14:30 +0100)]
Fix for SSBO offset alignment
Affects: dEQP-VK.ssbo.unsized_array_length.*
Components: Vulkan
VK-GL-CTS issue: 1796
Change-Id: I8953c2a58fe90a3165aa3255e542336a0c6d0a1e
Ari Suonpaa [Fri, 10 May 2019 07:11:26 +0000 (10:11 +0300)]
Compile only necessary shaders in texture tests
Some of the texture tests were compiling multiple
fragment shaders. Now only the correct one is added.
Affects:
dEQP-VK.texture.filtering.*
dEQP-VK.texture.mipmap.*
Components: Vulkan
VK-GL-CTS issue: 1749
Change-Id: Icf959b0e2ba6f95584f37f5704aa831e54901b66
Alexander Galazin [Tue, 4 Jun 2019 07:14:01 +0000 (09:14 +0200)]
Update glslang SPIR-V Tools and Headers
Components: Framework
Affects: dEQP-VK.*
Change-Id: Ifda49531bdb250276bb903991739628af1c3845b
Boris Zanin [Mon, 20 May 2019 13:23:49 +0000 (15:23 +0200)]
Python3 compatibility: fix check_build_sanity.py
Update dependend scripts to allow check_build_sanity.py to
run under python 3.
Changes:
* Fixed registry functions to avoid crashes
* Hash calculation of downloaded xml files
* Version check comparision function
After the changes check_build_sanity.py is able to run
under python 3 and generates same derivative source files
with exception of two following:
* framework/egl/wrapper/eglwEnums.inl
* framework/egl/wrapper/eglwEnumsC.inl
Five defines in these two files are different from previous.
These changes seems reasonable, because they remove
duplicated defines.
Under python 3 a lot of warnings and messages are issued by
check_build_sanity.py. These messages are not the result of
introduced changes, but a result of different handling of
badly configured logging facility in python 3. These messages
are hidden under python 2 with two oneline messages:
No handlers could be found for logger "khr_util.registry"
These messages can be revealed under python 2 by adding
following line into khr_util/registry.py:
* logging.basicConfig()
These messages are subject of another issue, probably
within OpenGL/ES subsystem.
Affects: dEQP-VK.*, dEQP-EGL.*, dEQP-GL*, builds
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I4e7eb1e90aa36c7142e824b7824bdc5e40d3e656
Jeff Bolz [Thu, 30 May 2019 01:58:08 +0000 (20:58 -0500)]
Make check_all.py run on windows/python3
This is mostly handling the more strict text vs binary file distinction
in python 3.x.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: If02ab24a825e7a5f3b2169d57a442c66f17eaf5c
Samuel Iglesias Gonsálvez [Mon, 25 Mar 2019 11:01:34 +0000 (12:01 +0100)]
Add VK_EXT_host_query_reset tests for transform feedback stream queries
New tests:
dEQP-VK.transform_feedback.simple.host_query_reset_*
Components: Vulkan
VK-GL-CTS issue: 1653
Change-Id: I9e4c6cc9aa57ed07d3ba68a56be4d5cbcddd4e6c
(cherry picked from commit
577b36b7e6e26ca9b69a8ba4eb1b72772fd074d4)
Alexander Galazin [Fri, 31 May 2019 12:04:50 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: Iede8b9b3af634f8d4c1779345aef30a1d04556c3
Alexander Galazin [Fri, 31 May 2019 09:59:41 +0000 (11:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I9d51446c4b7c61633be355ded691af9785645802
Yiwei Zhang [Thu, 16 May 2019 05:22:36 +0000 (22:22 -0700)]
Split incremental_present tests into more dimensions to avoid timeout
Components: Vulkan
VK-GL-CTS Issue: 1778
Affects: dEQP-VK.wsi.android.incremental_present.*
Bug:
132817706
Test: dEQP-VK.wsi.android.incremental_present.*
Change-Id: I54168fe61bda31654696fcfbd71b37ce29fc7ba4
Piotr Byszewski [Thu, 23 May 2019 10:13:37 +0000 (12:13 +0200)]
Autogenerate check(Device|Instance)Extensions
This change generates lists of allowed device and instance extensions.
Components: Framework
VK-GL-CTS issue: 1769
Affects:
dEQP-VK.api.info.*.extensions
Change-Id: I1e45b7367b562b28b89500ebf4242fcf6d985b0f
Mika Väinölä [Fri, 31 May 2019 07:59:54 +0000 (10:59 +0300)]
Fix build for GCC/Clang
Add missing pointSize to AlphaToCoverageColorUnusedAttachmentTest.
Affects:
dEQP-VK.pipeline.multisample.alpha_to_coverage_unused_attachment.*
Components: Vulkan
VK-GL-CTS issue: 1800
Change-Id: Ibb9ad728e774fc780021f688e2076c70eb775121
Ari Suonpaa [Thu, 9 May 2019 09:34:26 +0000 (12:34 +0300)]
Add alpha to coverage test with unused attachment
Added new tests where color output at location 0
has been set unused. Writing alpha value there
should control the coverage for pixels being
written to location 1.
New tests:
dEQP-VK.pipeline.multisample.alpha_to_coverage_unused_attachment.*
Components: Vulkan
VK-GL-CTS issue: 1586
Change-Id: If4bba7543659b08f6bdb7ff5349e1f5900e617fd
Ricardo Garcia [Fri, 5 Apr 2019 11:37:29 +0000 (13:37 +0200)]
Add tests for VK_EXT_calibrated_timestamps
Add tests to verify vkGetPhysicalDeviceCalibrateableTimeDomainsEXT and
vkGetCalibratedTimestampsEXT return reasonable values. The device time
domain is verified to be reasonable and consistent with
vkCmdWriteTimestamp, while host time domains are verified to be
reasonable and consistent with the corresponding host-native APIs.
New tests:
dEQP-VK.pipeline.timestamp.calibrated.*
Components: Vulkan
VK-GL-CTS issue: 1674
Change-Id: I3778fbd606a456a68431c6640d63b6966cdadb07
Matthew Netsch [Tue, 28 May 2019 23:37:16 +0000 (19:37 -0400)]
Fixes protected memory swapchain image format oom
Some image format test cases (like the image extent cases)
could create configs too large for the protected heap
Components: Vulkan
VK-GL-CTS Issue: 1793
Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_format
Change-Id: If98f43a85ff289d091e3bb7c75d998a666efac80
Alexander Galazin [Thu, 30 May 2019 13:01:59 +0000 (15:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I50b6ed2e152156ab2145fd5fca586655f05f32e6
Matthew Netsch [Wed, 29 May 2019 17:13:34 +0000 (13:13 -0400)]
Split compute workload into multiple submissions
Reduces workload per submission
Components: Vulkan
VK-GL-CTS Issue: 1751
Affects:
dEQP-VK.memory_model.message_passing.*
Change-Id: I4834dda74b95b802b2e39df42af9efd3c643208a
Samuel Iglesias Gonsálvez [Fri, 12 Apr 2019 11:19:17 +0000 (13:19 +0200)]
Fix vkGetPhysicalDevicePresentRectanglesKHR() call
Removed the 'if' that forced the execution of this function when
present mode was
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, so now it can
be tested on other present modes.
Affected tests:
dEQP-VK.wsi.*.surface.query_devgroup_present_modes
Components: Vulkan
VK-GL-CTS issue: 1428
Change-Id: Ife8820e4f15091e350acf60d758d983c26056e5f
Toni Merilehti [Thu, 9 May 2019 12:04:44 +0000 (15:04 +0300)]
Extend image store/load tests
This CL extends the image store, load_store and format_reinterpret
tests with the extended storage image formats.
New tests:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
Components: Vulkan
VK-GL-CTS issue: 1742
Change-Id: I000996a50cccd1f83b87ca087afb4139a9774e8a
Alexander Galazin [Thu, 30 May 2019 10:29:11 +0000 (12:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I7a134ecbc159b4f01dfbb3456ffd9c526a0d9f22
Pawel Ksiezopolski [Fri, 24 May 2019 13:08:17 +0000 (15:08 +0200)]
Add test for mandatory device features ( chapter 35.1 )
Support for some of the device features is mandatory as defined in specification ( chapter "35.1. Feature Requirements" )
New tests:
dEQP-VK.api.info.device.mandatory_features
Components: Vulkan
VK-GL-CTS issue: 1753
Change-Id: Ie5e7b502011b2e5a8ceafec05f9b1e89631df336
Toni Merilehti [Tue, 28 May 2019 10:18:53 +0000 (13:18 +0300)]
Require independentBlend in write mask tests
dEQP-VK.renderpass.*.attachment_write_mask.* tests use different
VkPipelineColorBlendAttachmentState settings for individual
attachments and therefore require independentBlend feature.
Affects:
dEQP-VK.renderpass.*.attachment_write_mask.*
Components: Vulkan
VK-GL-CTS issue: 1774
Change-Id: I6e9e6f052c76c32205c19583e47f4828e218bb51
Chris Forbes [Tue, 28 May 2019 16:32:39 +0000 (09:32 -0700)]
Require variablePointersStorageBuffer feature in pointer_parameter tests
These tests declare OpCapability VariablePointersStorageBuffer but don't
check for the feature.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.buffer_memory_variable_pointers*
VK-GL-CTS Issue: 1792
Change-Id: I81fb83b473c484b151caf212ecd2348c72494f1d
Slawomir Cygan [Mon, 27 May 2019 10:53:31 +0000 (12:53 +0200)]
Use square dimensions for CUBE_COMPATIBLE 2D images
VK-GL-CTS Issue: 1789
Components: Vulkan
Affects: dEQP-VK.api.image_clearing.core.*_attachment.cube_*
Change-Id: I17fd12d1941f44e8c7393b1e37f3c59731b1f3a0
Matthew Netsch [Thu, 23 May 2019 13:06:45 +0000 (09:06 -0400)]
Fixes precise occlusion query tests
Individual test cases were not isolated
so they interfered with each other
Components: Vulkan
VK-GL-CTS Issue: 1784
Affects:
dEQP-VK.query_pool.occlusion_query.*precise*
Change-Id: I6ad422612c80c6aa5efc90fd90e0e7ce91e9f8bb
Ilkka Saarelainen [Wed, 22 May 2019 10:25:49 +0000 (13:25 +0300)]
Unify getShaderStageName helper
Clean out helper functions used to create shader stage
and precision names.
Note: affects only the test case name generation.
Affects:
dEQP-VK.ycbcr.format.*
dEQP-VK.glsl.builtin.function.*
dEQP-VK.protected_memory.ssbo.ssbo_atomic.*
Components: Vulkan, Framework, OpenGL
VK-GL-CTS issue: 1736
Change-Id: Id326c3c241ecf1a60c0dda3ee8c31b155114fc3c
Boris Zanin [Mon, 20 May 2019 13:17:44 +0000 (15:17 +0200)]
Python3 compatibility: end-of-lines
Python 3 writing text files silently replaces \n with \r\n
under Windows. Text formatted files now need to be written
in binary mode to avoid end-of-lines modification.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I11e1521d815362b2263a809605f1e85c6dc27765
Pawel Ksiezopolski [Thu, 28 Mar 2019 12:51:08 +0000 (13:51 +0100)]
Add more tests for YCbCr samplers
Additional tests for sampler bindings greater than 0 and for arrays of samplers.
New tests:
* dEQP-VK.ycbcr.conversion.*
Affects tests:
* dEQP-VK.ycbcr.conversion.*
Components: Vulkan
VK-GL-CTS issue: 1419
Change-Id: I23cdba3013e62015d449ae6c31e1348398a65c01
Alexander Galazin [Fri, 24 May 2019 10:22:17 +0000 (12:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I3b92d27be116c6cbde9c6b5f712733aaede26c5b
Kaori Tomihara [Wed, 24 Apr 2019 09:27:39 +0000 (05:27 -0400)]
Add tests for EXT_separate_stencil_usage
This change added tests for VK_EXT_separate_stencil_usage by extending
the existing tests for sampling and input attachment.
New Tests:
dEQP-VK.pipeline.sampler.separate_stencil_usage.*
dEQP-VK.renderpass.*.multisample.separate_stencil_usage.*
dEQP-VK.renderpass2.*.multisample.separate_stencil_usage.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1691
Change-Id: Ia2b7516ef6a0bf40c17656f3b28d62e1f8ea65f8
Samuel Iglesias Gonsálvez [Fri, 17 May 2019 06:18:41 +0000 (08:18 +0200)]
Add barriers to read query data after copy
When the query pool results that were copied out to a buffer, a barrier
should be placed to ensure the data is written before the host read it,
specially if the memory allocated is non-host-coherent. The invalidation
of the mapped memory is not enough in that case.
Affected tests:
dEQP-VK.query_pool.occlusion_query.copy*
dEQP-VK.pipeline.timestamp.transfer_tests.*copy_query_pool_results*
dEQP-VK.pipeline.timestamp.misc_tests.two_cmd_buffers_primary*
Components: Vulkan
VK-GL-CTS issue: 1756
Change-Id: I115c9e62f1b369e0f1ad9a30f9a6982c876beb74
Ari Suonpaa [Fri, 3 May 2019 08:13:51 +0000 (11:13 +0300)]
Use separate filtering precision for each channel
Texture filtering tests were using the same precision
for each channel even when the channel bit depths
differed. Now the precisions are calculated based on
the depth of each channel.
Affects:
dEQP-VK.texture.explicit_lod.*.formats.*_linear
dEQP-VK.ycbcr.conversion.*
dEQP-VK.protected_memory.interaction.ycbcr.*
Components: Vulkan
VK-GL-CTS issue: 1733
Change-Id: I0af8302743732b7a8d7d4e003d50b0f8cdc2b86f
Ricardo Garcia [Fri, 26 Apr 2019 08:45:38 +0000 (10:45 +0200)]
Add tests for VK_EXT_external_memory_dma_buf
VK_EXT_external_memory_dma_buf defines a new type of external memory
corresponding to a file descriptor for a Linux dma_buf called
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT. It is similar in nature
to VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT.
New tests:
dEQP-VK.api.external.memory.dma_buf.*
Components: Vulkan
VK-GL-CTS issue: 1684
Change-Id: I368f2b7e2c8a9c63c5234d68ff01aa5f6d4355ca
Alexander Galazin [Fri, 24 May 2019 08:50:49 +0000 (10:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iaf1958f4db9588eba3ea77b4a1e7d41b4fc20c13
Alexander Galazin [Fri, 24 May 2019 07:48:11 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Ided1b0de70eddb65bb70983ed341435dc3a99621
Piotr Byszewski [Thu, 16 May 2019 10:31:20 +0000 (12:31 +0200)]
Generate all DeviceFeatures related code
This patch re-enables new DeviceFeatures and generates inl files for
vk::Context and DefaultDevice containing device features related
accessors.
Affects: dEQP-VK.*
Components: Framework
Change-Id: I71c8f5cbe2d06075e59f0c94e1c94691443d870b
Jeff Bolz [Fri, 7 Dec 2018 01:38:40 +0000 (19:38 -0600)]
Waiver for device-scope core memory model tests.
https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1356
Components: Vulkan
Affects: dEQP-VK.memory_model.*core11*.device.*
Change-Id: Ibf5d1ca0232471246ac16a9491d9ae54d87c74a8
Andres Gomez [Thu, 23 May 2019 16:34:13 +0000 (18:34 +0200)]
gl4cComputeShaderTests: correct conversion
Bug 13124 - gl45 conformance: Fix GL45-CTS.compute_shader.max to work with giant numbers
and
Bug 13582 - Checking values from glGet* incorrectly
didn't complete the job of avoiding conversion problems.
Now, we make sure that the comparison is done in the type that won't
cause a problem.
Components: OpenGL
VK-GL-CTS public issue: 149
Affects:
KHR-GLES31.core.compute_shader.dispatch-indirect
KHR-GLES31.core.compute_shader.max
KHR-GL43.compute_shader.dispatch-indirect
KHR-GL43.compute_shader.max
Change-Id: I69047d95ca4418a84f138ac9bfa7818fea45cc64
Ricardo Garcia [Thu, 9 May 2019 08:01:37 +0000 (10:01 +0200)]
Add SPIR-V unused variable tests
These tests check everything works when a shader contains references to
variables that have a binding which is not present in the pipeline
layout. For the test to be legal, the variable cannot be used from the
entry point. The tests have two variants: either the variable is simply
unused or the variable is used by a function that is not part of the
entry point call tree.
New tests:
dEQP-VK.spirv_assembly.instruction.*.unused_variables.*
Components: Vulkan
VK-GL-CTS issue: 1038
Change-Id: Ib54c79da4d164e494c0004f0cb1503783e38bc70
Boris Zanin [Mon, 20 May 2019 13:14:43 +0000 (15:14 +0200)]
Python3 compatibility: explicit imports
Python 3 require explicit import module names.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I8c373cb2b8527eeb032d6e11f00dff65e951ab3a
Boris Zanin [Mon, 20 May 2019 13:00:40 +0000 (15:00 +0200)]
Python3 compatibility: compiler requirements
Python 3 disallows mix of spaces and tabs in indent and also
needs exceptions in a new layout.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I82c596293ea500f7113cb855921f4e75c35beff8
Alexander Galazin [Wed, 22 May 2019 12:51:25 +0000 (14:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I06a76c86b0cb050bfcb9fba7c81715a313e9581e
Alexander Galazin [Wed, 22 May 2019 10:21:27 +0000 (12:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ibdcd0cae47c3eca35db283b67a62e21de81e5cf3
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
(cherry picked from commit
d4b80f34b70ae497b6bb0573859209ae28197a35)
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
(cherry picked from commit
d4b80f34b70ae497b6bb0573859209ae28197a35)
Boris Zanin [Mon, 20 May 2019 12:42:42 +0000 (14:42 +0200)]
Python3 compatibility: print function
Replace statement-style calls with function-style calls
for print python operator/function.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I46e3452f80124f37064f4b0a335e1b3201ead9dd
Alexander Galazin [Wed, 22 May 2019 07:27:33 +0000 (09:27 +0200)]
Update SPIR-V Tools/Headers, glslang
Components: Framework
Affects: dEQP-VK.*
Change-Id: I3779d9584e5cf0a4d30b95a4fb23872acbc622bf
Alexander Galazin [Wed, 22 May 2019 06:46:41 +0000 (08:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iaaff1bd558b7938a73c553c312f8271a8e288cd3
Pawel Ksiezopolski [Tue, 30 Apr 2019 13:24:37 +0000 (15:24 +0200)]
Record command line arguments in .qpa file
Command line parameters are written to .qpa file in sessionInfo section.
Components: Framework
VK-GL-CTS issue: 1666
Change-Id: If8fb1ce85408141362f046c318016039e06e228a
Ricardo Garcia [Mon, 13 May 2019 11:24:45 +0000 (13:24 +0200)]
Remove frexp tests from the list of test issues
After fixing VK-GL-CTS issue #1762, frexp function tests no longer have
any issues and should be run on every implementation.
Affected tests:
dEQP-VK.glsl.builtin.function.common.frexp.float_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec2_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec3_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec4_highp_vertex
Components: Vulkan
VK-GL-CTS issue: 1359
Change-Id: I92cf1682a50c39206171cb2698c86b793bb06214
Ricardo Garcia [Fri, 17 May 2019 12:08:59 +0000 (14:08 +0200)]
Check sampleRateShading on sample shading tests
The physical device feature sampleRateShading must be available in order
to set sampleShadingEnable to true inside
VkPipelineMultisampleStateCreateInfo structures.
Note this commit renames one of the tests for consistency.
Removed tests:
dEQP-VK.glsl.builtin_var.fragcoord_msaa.64-bit
New tests:
dEQP-VK.glsl.builtin_var.fragcoord_msaa.64_bit
Affected tests:
dEQP-VK.pipeline.multisample_shader_builtin.sample*
dEQP-VK.glsl.builtin_var.fragcoord_msaa.*
Components: Vulkan
VK-GL-CTS issue: 1462
Change-Id: I9012491d18c430c1c94091490d28d9e5f1402a68
Toni Merilehti [Wed, 15 May 2019 14:49:42 +0000 (17:49 +0300)]
Add feature checks to shader builtin tests
Some shader builtin tests use SampleId and SamplePosition BuiltIns
in shaders, which both require the SampleRateShading OpCapability
and the sampleRateShading Vulkan feature. This CL adds the missing
feature checks when required by the shaders.
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample_id.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_position.*
Components: Vulkan
VK-GL-CTS issue: 1744
Change-Id: I4557b5cd79191f7ca1202562416d12d3b1d8ce60
(cherry picked from commit
3f2ce1e5bcf568fe0a65a4ed638e0589b8694482)
Toni Merilehti [Wed, 15 May 2019 14:49:42 +0000 (17:49 +0300)]
Add feature checks to shader builtin tests
Some shader builtin tests use SampleId and SamplePosition BuiltIns
in shaders, which both require the SampleRateShading OpCapability
and the sampleRateShading Vulkan feature. This CL adds the missing
feature checks when required by the shaders.
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample_id.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_position.*
Components: Vulkan
VK-GL-CTS issue: 1744
Change-Id: I4557b5cd79191f7ca1202562416d12d3b1d8ce60
Chris Forbes [Fri, 17 May 2019 15:48:42 +0000 (08:48 -0700)]
Check for imageCubeArray feature in image tests
Components: Vulkan
Affects: dEQP-VK.image.*cube_array*
VK-GL-CTS Issue: #1781
Change-Id: Idbf3e96481336820520a46293ca3eaf74b21654d
Chris Forbes [Thu, 16 May 2019 00:18:47 +0000 (17:18 -0700)]
Check for required features in memory model tests
All of these tests expect to be able to write to storage buffers; check
for the vertexPipelineStoresAndAtomics or fragmentStoresAndAtomics
features as appropriate.
VK-GL-CTS Issue: 1777
Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: I51adeda82ba7af22368c239a6abfc481479700f1
Bas Nieuwenhuizen [Thu, 2 May 2019 21:13:14 +0000 (23:13 +0200)]
Fix image sizes for formats that need a multiple of 2.
All these have in their format definition something like
"Images in this format must be defined with a width that is a multiple
of two."
in their format definition.
This patch makes sure we actually use even sizes for images with these
formats.
It is not ideal that I have to hardcode these lists but I don't know a
better source to get them from.
Affects:
dEQP-VK.api.invariance.random
Components: Vulkan
VK-GL-CTS issue: 1766
Change-Id: Ie19583db56e7ae483136e1fb4651ae625efb9c02
Alexander Galazin [Mon, 20 May 2019 12:04:25 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I703896cbce7472a65a7cc8d87d955b6b10ea3691
Alexander Galazin [Mon, 20 May 2019 10:24:42 +0000 (12:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I7cb87c9d21e2ba725b199ee59663ece150333993
Alexander Galazin [Mon, 20 May 2019 09:40:23 +0000 (11:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I782d2f2d769d92e11f7e558cdefb56d187fe53e6
Alexander Galazin [Mon, 20 May 2019 08:58:43 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I0fd601c9fc32f66eb7e45322801a930d4f33c4dc
Alexander Galazin [Mon, 20 May 2019 08:12:17 +0000 (10:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ib38bd02e2ed4c74ee845e19eb25b8de05fb0e312
Ari Suonpaa [Tue, 30 Apr 2019 10:36:09 +0000 (13:36 +0300)]
Check for largePoints feature and add 1px test variant
Pipeline multisample tests were using point size of 3
without checking for largePoints feature. Now the feature
is checked and a 1 pixel variant is also added.
Affects:
dEQP-VK.pipeline.multisample.*.primitive_point
New tests:
dEQP-VK.pipeline.multisample.*.primitive_point_1px
Components: Vulkan
VK-GL-CTS issue: 1739
Change-Id: I0eef68b8194a1026a98b19579d1d3c1b7f9c9cc7
(cherry picked from commit
c382ec855438509b201c4aa5eff6b730534f2f3c)
Boris Zanin [Thu, 16 May 2019 15:23:19 +0000 (17:23 +0200)]
Remove incorrect unroll_dont_unroll test
According SPIR-V validator: Unroll and DontUnroll
loop controls must not both be specified.
Remove tests:
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.unroll_dont_unroll
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
VK-GL-CTS issue: 1779
Change-Id: Ib799f96a290bb08df1175f1dc6f6d212314665af
Michal Jakubek [Thu, 27 Dec 2018 09:54:56 +0000 (09:54 +0000)]
Add tests for VK_EXT_descriptor_indexing
Adds:
dEQP-VK.descriptor_indexing.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1003
Change-Id: Ia9790d6e60997aae4f448e2a0a98302cd5189bcd
(cherry picked from commit
b20c2824cd8c0fe8e6bffd70cb65062f91accee3)
Samuel Iglesias Gonsálvez [Fri, 17 May 2019 11:30:33 +0000 (13:30 +0200)]
Add tests for VK_EXT_pipeline_creation_feedback extension
Tests implement the following for both compute and graphics pipelines.
They create a pipeline cache and checks the pipeline creation feedback
for three different pipelines: first pipeline should not hit the cache,
second pipeline is the same than the first one, third pipeline is a
pipeline derivative from the first one.
Then they verify that the creation feedback for all of the pipelines is
valid, the first pipeline did not hit the cache and that first and
second pipelines are not setting
VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT as
they are not pipeline derivatives.
Also, if pPipelineStageCreationFeedbacks for each pipeline and stage is
not valid, check that none of the flags is set.
They also print to the test log the content of the
pPipelineCreationFeedback for each pipeline and, if
pPipelineStageCreationFeedbacks for each pipeline and stage is valid,
its content too.
New tests:
dEQP-VK.pipeline.creation_feedback.*
Components: Vulkan
VK-GL-CTS issue: 1671
Change-Id: I5e8b728bd83c256b3b4f084c6d0840a132afbcae
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
Boris Zanin [Thu, 14 Mar 2019 14:58:34 +0000 (15:58 +0100)]
Make validation function more robust
This change modifies validateSpirV function.
Code should expect spvBinaryToText can leave some
parameters uninitialized (at least pText).
Also expect some other functions to return
uninitialized results (spvValidatorOptionsCreate,
spvContextCreate).
Affects:
* dEQP-VK.*
Components: Framework, Vulkan
VK-GL-CTS issue: 1645
Change-Id: Ia5af2c5451d33247af2b8934fe4e5391badc8163
Chris Forbes [Wed, 15 May 2019 17:38:01 +0000 (10:38 -0700)]
Don't set sampleShadingEnable in dEQP-VK.pipeline.framebuffer_attachment.*
These tests don't need per-sample shading, and didn't check for whether
it was supported by the device.
Components: Vulkan
Affects: dEQP-VK.pipeline.framebuffer_attachment.*ms
VK-GL-CTS Issue: 1776
Change-Id: Ic8477262410e1531c1acabe494c2cf64c199dd6b
Samuel Iglesias Gonsálvez [Tue, 7 May 2019 11:11:11 +0000 (13:11 +0200)]
Add multiview tests iterating with VK_EXT_vertex_attribute_divisor
Tests are the same than the existing vertex attribute divisor ones but
adding 2 views that are rendering the same scene. Expected result is
the same for both views.
Added tests:
dEQP-VK.draw.instanced.*_multiview
Components: Vulkan
VK-GL-CTS issue: 1290
Change-Id: I1cfc3868d56c6c7ce02a3a2d7b07107acea59759
Ari Suonpaa [Tue, 30 Apr 2019 10:36:09 +0000 (13:36 +0300)]
Check for largePoints feature and add 1px test variant
Pipeline multisample tests were using point size of 3
without checking for largePoints feature. Now the feature
is checked and a 1 pixel variant is also added.
Affects:
dEQP-VK.pipeline.multisample.*.primitive_point
New tests:
dEQP-VK.pipeline.multisample.*.primitive_point_1px
Components: Vulkan
VK-GL-CTS issue: 1739
Change-Id: I0eef68b8194a1026a98b19579d1d3c1b7f9c9cc7
Ricardo Garcia [Thu, 4 Apr 2019 08:05:38 +0000 (10:05 +0200)]
Check queries unavailable with reset and copy
If running vkCmdResetQueryPool() just before using
vkCmdCopyQueryPoolResults(), the query should be unavailable. This can
be checked by asking for the availability status.
New tests:
dEQP-VK.pipeline.timestamp.misc_tests.reset_query_before_copy
dEQP-VK.query_pool.occlusion_query.copy_reset_*
dEQP-VK.query_pool.statistics_query.reset_before_copy.*
Components: Vulkan
VK-GL-CTS issue: 1721
Change-Id: I01204906c19a515b73e228ee582bbeadaed95809
Graeme Leese [Wed, 15 May 2019 17:11:47 +0000 (18:11 +0100)]
Fix spelling of "preserve" in float controls tests
Change-Id: I9995cb1aace758452eb8d677eb67080063c5c848
Graeme Leese [Wed, 8 May 2019 11:51:50 +0000 (12:51 +0100)]
Don't pass YcbcrConversion objects when not used
ImageViews created with SamplerYcbcrConversions are only allowed to be
used with immutable samplers, which these are not.
Components: Vulkan
VK-GL-CTS Issue: 1767
Affects: dEQP-VK.ycbcr.plane_view.*
Change-Id: Ibc11b09c0b063154dc32ee4bc61c6b099ea36507
Ricardo Garcia [Tue, 30 Apr 2019 14:19:54 +0000 (16:19 +0200)]
Vary vertex buffer stride in pipeline barrier tests
Pipeline barrier tests were using vertex buffers with a stride of 2
bytes, which is not supported by Vulkan Portability on Metal due to
Metal forcing the vertex stride to be a multiple of 4.
This prevented some pipeline barrier tests from being run on Vulkan
Portability on Metal, even if they were not actually testing vertex
buffers.
This commit makes vertex buffers in pipeline barrier tests be used with
both strides of 2 and 4 bytes. Tests with stride 2 can be skipped under
Vulkan Portability on Metal knowing the same pipeline barrier test will
also run with stride 4. Test coverage is not decreased because stride 2
tests are preserved.
Removed tests:
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.1024
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.8192
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.65536
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.1048576
dEQP-VK.memory.pipeline_barrier.all.1024
dEQP-VK.memory.pipeline_barrier.all.8192
dEQP-VK.memory.pipeline_barrier.all.65536
dEQP-VK.memory.pipeline_barrier.all.1048576
dEQP-VK.memory.pipeline_barrier.all_device.1024
dEQP-VK.memory.pipeline_barrier.all_device.8192
dEQP-VK.memory.pipeline_barrier.all_device.65536
dEQP-VK.memory.pipeline_barrier.all_device.1048576
New tests:
dEQP-VK.memory.pipeline_barrier.*vertex_buffer_stride*
dEQP-VK.memory.pipeline_barrier.*vertex_buffer_stride*
Components: Vulkan
VK-GL-CTS issue: 1201
Change-Id: If6ecc653085b4259977d94bb2fed3e43b9109f8a
Jari Komppa [Tue, 30 Apr 2019 12:30:35 +0000 (15:30 +0300)]
Change spir-v optimizer recipes
This change changes the spir-v optimizer recipes by removing all the
existing ones and replacing them with a set provided by spirv-opt:
optimize performance or optimize size. Other recepies can be added later
if needed.
This does not affect any tests directly as the optimizer is not used by
default. It affects all tests when in use.
Affects: none
Components: Vulkan, Framework
VK-GL-CTS issue: 1741
Change-Id: Id7278fcd479ac2511a474f19c3d25bd23d943944
Ilkka Saarelainen [Wed, 27 Mar 2019 10:52:42 +0000 (12:52 +0200)]
Fix API usage errors in subgroups.* tests
Many subgroup tests were missing gl_PointSize in vertex and geometry
shaders. Also some tests were using VK_IMAGE_LAYOUT_UNDEFINED image
layout but the command buffer expects VK_IMAGE_LAYOUT_GENERAL. These
errors were caught by validation layers.
This CL adds the missing gl_PointSizes to the shaders and transitions
the images to the correct image layout.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 1644
Change-Id: Ie0e0ab8bcfeedc4faba847e004908ce5eaadceb0
Lingfeng Yang [Fri, 8 Feb 2019 15:36:00 +0000 (07:36 -0800)]
Fix stack underflow in incremental present test
This uses the current object's m_queueFamilyIndex instead of a queue
family index that is on the stack, avoiding using a stale stack address
when the test runs.
VK-GL-CTS issue: 1585
Affects:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
Change-Id: I80228651b799d3444676cdcbf5cc845bcb195fe9
(cherry picked from commit
a268922558ed0c353a7d8b6845f8d6279b72af29)
Piotr Byszewski [Tue, 14 May 2019 13:00:56 +0000 (15:00 +0200)]
Add *_MAX_ENUM to enum definitions
Components: Framework
VK-GL-CTS issue: 1700
Affects: *
Change-Id: I9d94342c306e2fbf0914fb31fc361dec8146a7c7
Ricardo Garcia [Thu, 2 May 2019 14:25:40 +0000 (16:25 +0200)]
Fix shader common function tests
Shader common function tests were not correctly filling values on some
input buffers and not taking into account implementations may ignore the
sign of zeros when doing optimizations on the SPIR-V code.
Affected tests:
dEQP-VK.glsl.builtin.function.common.*
Components: Vulkan
VK-GL-CTS issue: 1359, 1762
Change-Id: Ic27a298e32f7e9e7a9c50ac340ee9d095f1559f9
Alexander Galazin [Fri, 10 May 2019 10:09:49 +0000 (12:09 +0200)]
Update glslang, SPIRV-Tools/Headers
Components: Framework
Affets: dEQP-VK.*
Change-Id: I6487bfa7eac58063269ca21d667ab708d63fd723
Alexander Galazin [Fri, 10 May 2019 10:06:12 +0000 (12:06 +0200)]
Update fetch_sources.py to Python 3
Components: Framework
Change-Id: I7f75a084e5128b1a19be7649a06a315e91a36688
(cherry picked from commit
9c4f100a056b084876e874a1b115192225b9a61a)
Alexander Galazin [Fri, 10 May 2019 10:06:12 +0000 (12:06 +0200)]
Update fetch_sources.py to Python 3
Components: Framework
Change-Id: I7f75a084e5128b1a19be7649a06a315e91a36688