David Neto [Mon, 15 Jul 2019 15:02:20 +0000 (11:02 -0400)]
Fix Float16 validation for 16bt storage tests
* Refactor interface functions to avoid arithmetic capabilities
* new string template
Components: Vulkan
VK-GL-CTS issue: 1874
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.graphics.indexing.*
Change-Id: I05198eedb59a545785a65026847885ea7fae85bf
(cherry picked from commit
6d615d59eab72e305f1f5da2b2e1dda1b48ea108)
Piotr Byszewski [Mon, 27 May 2019 13:38:04 +0000 (15:38 +0200)]
Support SPIR-V 1.5
At this point there is no support in tools therefore
some references to SPIR-V 1.5 are commented out.
Components: Vulkan, Framework
VK-GL-CTS issue: 1783
Change-Id: I27fcf14977b4b536af68ca469ff8de1db593f307
Victor Lomuller [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Allow tests to be executed with SPIR-V 1.4
Components: Framework
Change-Id: I3135d7b0d96234bec53bbc4ec0185f4c816a5dcf
Boris Zanin [Mon, 27 May 2019 11:07:02 +0000 (13:07 +0200)]
Allow optimization for SPIR-V 1.4
This commit updates function optimizeCompiledBinary with
missing optimization reciepe for SPIR-V 1.4.
Also makes supports_VK_KHR_spirv_1_4 as an optional argument of
SpirVAsmBuildOptions constructor, though defaulting it to disable
support of SPIR-V 1.4.
The change affects if run with optimization command line arguments,
i.e. --deqp-optimize-spirv=enable and --deqp-optimization-recipe=!0
Affects:
* dEQP-VK.spirv_assembly.instruction.spirv1p4.*
Components: Framework
VK-GL-CTS issue: 1636
Change-Id: If0af53ea37521e686ca7d422cab9589cc0460dc5
Pawel Ksiezopolski [Thu, 1 Aug 2019 09:51:19 +0000 (11:51 +0200)]
Add tests for Vulkan 1.2 structs defining features and properties
Adds tests for the following structures: VkPhysicalDeviceVulkan11Features,
VkPhysicalDeviceVulkan11Properties, VkPhysicalDeviceVulkan12Features and
VkPhysicalDeviceVulkan12Properties.
Affects tests:
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.api.info.get_physical_device_properties2.properties
Components: Vulkan
VK-GL-CTS issue: 1891
Change-Id: I999863acd6f633f84031c2b983b80af61e6cfd51
Piotr Byszewski [Tue, 5 Feb 2019 12:59:59 +0000 (13:59 +0100)]
Add support for Vulkan 1.2
Adds following extensions to core:
VK_KHR_image_format_list
VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_draw_indirect_count
VK_KHR_create_renderpass2
VK_KHR_8bit_storage
VK_KHR_driver_properties
VK_KHR_shader_atomic_int64
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_EXT_descriptor_indexing
VK_KHR_depth_stencil_resolve
VK_EXT_scalar_block_layout
VK_EXT_shader_viewport_index_layer
VK_EXT_buffer_device_address
VK_EXT_separate_stencil_usage
VK_EXT_sampler_filter_minmax
VK_KHR_imageless_framebuffer
VK_KHR_vulkan_memory_model
VK_KHR_shader_subgroup_extended_types
VK_KHR_spirv_1_4
VK_KHR_uniform_buffer_standard_layout
VK_EXT_host_query_reset
Components: Vulkan
Change-Id: I9a1e15caf459e981a4c1a4689a5c0dac482f4e5e
Piotr Byszewski [Mon, 22 Jul 2019 09:21:01 +0000 (11:21 +0200)]
Handle spir-v 1.4 in SpvAsmUtils
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.*
Change-Id: Ib960d1c4786c44c5c30ef9b4080e315681cb80aa
Alexander Galazin [Wed, 14 Aug 2019 17:23:52 +0000 (19:23 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I277ac1827a20a8363d4c1ed071db0081f934f764
Alexander Galazin [Wed, 14 Aug 2019 15:09:33 +0000 (17:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Idbd535ccaa0b8db6fcace470af92c29a999dede7
Alexander Galazin [Wed, 14 Aug 2019 14:11:55 +0000 (16:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I9cc0f3b31193377219058dce043d7b8a929b9eea
Alexander Galazin [Wed, 14 Aug 2019 12:04:45 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I6c972fa2e2028e4f813ab96eb565c93c440faf9d
Alexander Galazin [Wed, 14 Aug 2019 11:52:47 +0000 (13:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I7f00708e05e1cf20c6439e52287d21eacf32ca01
Ari Suonpaa [Tue, 25 Jun 2019 12:33:55 +0000 (15:33 +0300)]
Early support check for tests (part 2)
Moved feature and extension checks into checkSupport function
which gets called before initPrograms. This speeds up the
test execution in case a test is not supported.
This the second batch of changes.
Affects:
dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
Components: Vulkan
VK-GL-CTS issue: 1786
Change-Id: Ibbf0b32425cce048d937b5da324ff097b46afd23
Hsin-Hsiao Lin [Thu, 25 Jul 2019 07:13:34 +0000 (09:13 +0200)]
Provide a highp variable to MAKE_HIGH_BALLOT_RESULT
The MAKE_HIGH_BALLOT_RESULT macro assumes the input is 32bit.
Given a mediump variable, ex: gl_SubgroupSize, would produce an
undefined result when the input value is >= 16 and the computation
is in 16 bits.
Provide a highp input would ensure the computation is in 32 bits.
Affects:
dEQP-VK.subgroups.ballot_other.*
Components: vulkan
VK-GL-CTS issue: 1894
Change-Id: I22987f20be3d08444c52cb722fc23494777a5636
David Neto [Thu, 11 Jul 2019 19:12:37 +0000 (15:12 -0400)]
Float controls: compute: fix for strict 16bit storage validation
Emit definitions of float constants only if those constants
are used in the rest of the shader. In the case of 16bit
float this saves us from having to also declare a Float16 capability.
Non-storage-related use of fp16 requires Float16 capability,
and shaderFloat16 Vulkan feature from VK_KHR_shader_float16_int8.
Such uses include declaring constants, using fp16 arithmetic, etc.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
VK-GL-CTS issue: 1874
Change-Id: Ia403aac8ae32646329f67bf48d6231af233e9c20
Fabio [Thu, 25 Jul 2019 15:08:16 +0000 (17:08 +0200)]
Update device_group test to ignore VK_SUBOPTIMAL_KHR
The transform used to create the swapchain does not match the
surface rotation. This causes vkQueuePresentKHR to return
VK_SUBOPTIMAL_KHR. This return code can be ignored.
Components: Vulkan
VK-GL-CTS Issue: 1899
Affects: dEQP-VK.wsi.android.swapchain.render.device_group
Change-Id: I27d8e61007dd049b8e9cc532918056b8493a9b52
Stephen Gallimore [Wed, 31 Jul 2019 15:24:57 +0000 (16:24 +0100)]
Add result buffer invalidates to depth stencil resolve tests
Components: Vulkan
VK-GL-CTS issue: 1907
Affects: dEQP-VK.renderpass2.depth_stencil_resolve.*
Change-Id: I90920f6005b0d6a72a78c588f4c3abec81826516
Ricardo Garcia [Wed, 7 Aug 2019 14:18:53 +0000 (16:18 +0200)]
Add missing invalidates in depth/stencil resolve tests
If the driver returns a non-coherent heap then the
dEQP-VK.renderpass2.depth_stencil_resolve.* may fail unpredictably as
the verify methods do not invalidate the result buffer before reading
the contents.
Affected tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*
Components: Vulkan
VK-GL-CTS issue: 1907
Change-Id: I61c3fdc58ff521b751f1181282291ec1d941206b
Chris Forbes [Sun, 28 Jul 2019 20:34:13 +0000 (13:34 -0700)]
Add missing checks for sampleShading feature
These cases were missed in the previous pass as they were masked by the
(correct) check for fragmentStoresAndAtomics.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin_var.*
VK-GL-CTS Issue: 1901
Change-Id: I4d19c5075d14f60ead4c6df6370fffc870cde68a
Courtney Goeltzenleuchter [Wed, 10 Apr 2019 21:25:16 +0000 (15:25 -0600)]
Always dynamically lookup egl functions
Android's latest NDK includes support for EGL 1.5 functions.
However, only for API level 29. But due to unified headers
folks building for older API levels will also see the new
functions but won't be able to link. Making the egl functions
dynamic avoids build time issues.
Change-Id: I718e28c7422faf3c7b964ca70b86a1711a08ae54
Affects: EGL
Bug: 1873
James Dong [Mon, 8 Jul 2019 16:39:27 +0000 (10:39 -0600)]
Explicitly set current values before drawing
dEQP-GLES3.functional.vertex_array_objects.all_attributes was relying on
the value of disabled integer attributes. This behavior results in
undefined values, as the initial values for all vertex attributes are of
floating-point type.
Affects:
dEQP-GLES3.functional.vertex_array_objects.all_attributes
Components: AOSP
VK-GL-CTS public issue: 153
Change-Id: I8ffe4b581f100884b46fe68a751bf991cccb71e3
Graeme Leese [Wed, 10 Jul 2019 11:13:29 +0000 (12:13 +0100)]
Backport performance fix from cts-next-dev
The subgroups tests on next-dev have been changed to run on a reduced
set of workgroup sizes to improve performance, so apply that change to
master as well.
Components: Vulkan
Affects: dEQP-VK.subgroups.*
Change-Id: I4fb386b567666589688f7265e5efe6c72d5fd0cd
Graeme Leese [Wed, 10 Jul 2019 10:53:32 +0000 (11:53 +0100)]
Remove superfluous shuffle code
The supportedCheck was checking whether the case was supported but the
actual test code was checking it again.
Components: Vulkan
Affects: dEQP-VK.subgroups.shuffle.*
Change-Id: Ie98cb3aef8fe3f50068fd908feae95735b892f9c
Jeff Bolz [Thu, 8 Aug 2019 04:40:54 +0000 (23:40 -0500)]
Update Vulkan headers to 1.1.117
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions. Two minor name
remaps were necessary in gen_framework.py
Components: Vulkan
Change-Id: I44a07f3a5ccd3426c22e95c70f231a24daf0d994
Alexander Galazin [Fri, 9 Aug 2019 13:08:17 +0000 (15:08 +0200)]
Merge vk-gl-cts/gl-subgroups-dev into vk-gl-cts/master
Change-Id: Ib69ac2a513b45fbd1c3bfd72d72ae2b3ed9da046
Jeff Bolz [Mon, 15 Jul 2019 19:51:44 +0000 (14:51 -0500)]
Rename subgroup.partitioned tests
Somehow the grouping of tests got out of sync with the other subgroup
tests like arithmetic/clustered. This fixes the naming/grouping to
be consistent with those.
Components: Vulkan
Affects: dEQP-VK.subgroups.partitioned.*
Change-Id: Ia8e02fd6ea7df04b91d0d086fcfdbd4e3e265d38
Graeme Leese [Wed, 26 Jun 2019 12:14:30 +0000 (13:14 +0100)]
Use templates instead of copying code
The precision tests make heavy use of templates yet they still have code
copied rather than making use of the templates. Squash some of the test
factory code into templates.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*
Change-Id: Ic10cd7b3f65a632bd57b6f3beb01d087185e705a
David Neto [Fri, 12 Jul 2019 20:52:03 +0000 (16:52 -0400)]
Fix 16bit/8bit storage validation for workgroup memory tests
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.int8
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.uint8
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.float16
VK-GL-CTS issue: 1874
Change-Id: Ife60e90a6d190fa37b7d8055c1260b363c051e3d
David Neto [Fri, 12 Jul 2019 22:07:41 +0000 (18:07 -0400)]
Need Float16 in some derivative tests
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_1.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_2.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_4.*
VK-GL-CTS issue: 1874
Change-Id: Ia75d608568c7580c1f11137507b142e1dbd397fd
Pawel Ksiezopolski [Wed, 19 Jun 2019 09:07:37 +0000 (11:07 +0200)]
Check if the statistics query results are linear
Current tests check if query results are greater than or equal to
minimum values defined by the specification.
The task of this commit is to create additional constraint that
checks if query results do not produce some random garbage values.
In case of vertex, geometry and tesselation queries it is enough
to perform the same tests few times with varying number of
input vertices and to check if query results are linear.
Linearity of query results is estimated using Pearson correlation
coefficient.
Affects tests:
dEQP-VK.query_pool.statistics_query.*
Components: Vulkan
VK-GL-CTS issue: 876
Change-Id: Ie58b53d2a35291f565ac9c88773a4c2fa5d89656
Ricardo Garcia [Fri, 5 Jul 2019 09:44:54 +0000 (11:44 +0200)]
Test input attachments in random descriptor sets test group
Add support for input attachments in the random descriptor sets tests
group. This will improve test coverage and allow us to test
vkUpdateDescriptorSetWithTemplate with
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, which is a case known to be missing
coverage.
Note: every descriptorset_random test will get a new component in its
name with several variants.
Affected tests:
dEQP-VK.binding_model.descriptorset_random.*
Components: Vulkan
VK-GL-CTS issue: 1869
Change-Id: I64ac976f24c291884e71aafb0c058a9340b584c1
Ricardo Garcia [Tue, 16 Jul 2019 09:02:40 +0000 (11:02 +0200)]
Test buffer and image properties with external host memory
This commit adds image and buffer property checks to the existing
external host memory tests (VK_EXT_external_memory_host).
In addition, fix a couple of validation errors in the existing memory
synchronization test.
Affected tests:
dEQP-VK.memory.external_memory_host.*
Components: Vulkan
VK-GL-CTS issue: 1884
Change-Id: I95aa3701769cb97ac0aa8873db4a43a1bd9f3667
Martin Freebody [Mon, 22 Jul 2019 13:30:24 +0000 (14:30 +0100)]
Add barrier to access chain workgroup tests
These tests can complete with a failure to match expected
result in the last array element due to a race condition
with the parallel work-items.
The first work-item should set the last array element to 0
before a function to read the last array element is executed
on a parallel work-item.
Without the barrier it's possible on occasional test runs
to read uninitialised memory into the last array element.
Components: Vulkan
VK-GL-CTS issue: 1893
Affects:
dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
Change-Id: I072299f7995b8f65e26195cfddd12f49cffcc9ff
Slawomir Cygan [Tue, 6 Aug 2019 19:53:18 +0000 (21:53 +0200)]
Fix wrong image usage flags in external memory info tests
According to spec:
"If usage includes VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, usage must
also contain at least one of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT."
This change adds adds COLOR, DEPTH or INPUT usage bit alongside TRANSIENT usage.
VK-GL-CTS Issue: 1913
Components: Vulkan
Change-Id: If7d4b3889f9b8709af09d448fdb24e61d493ebde
Affects: dEQP-VK.api.external.memory*info
Ari Suonpaa [Tue, 23 Apr 2019 11:57:47 +0000 (14:57 +0300)]
Make random number usage platform independent
Generating multiple random numbers in argument
list can happen in different order depending on
implementation. This change makes these happen
in the same order with all implementations.
Affects:
dEQP-VK.api.granularity.*
dEQP-VK.draw.basic_draw.*
dEQP-VK.protected_memory.*
dEQP-VK.glsl.builtin.function.common.*
dEQP-VK.glsl.builtin.function.pack_unpack.*
dEQP-VK.glsl.texture_gather.*
dEQP-VK.spirv_assembly.*
dEQP-GLES3*.functional.shaders.builtin_functions.common.*
Components: Vulkan, OpenGL, Framework
(cherry picked from commit
0106f01209fe7abb7f4daf029318a1de17844c48)
VK-GL-CTS issue: 1591
Change-Id: Iaaff9625fd331ed7184efd50b89fc835c701ac6f
Daniel Koch [Mon, 29 Jul 2019 15:29:24 +0000 (11:29 -0400)]
Update Opengl registry files
from latest public registry
Component: OpenGL
VK-GL-CTS Issue: 1698
Change-Id: I0eda9b7af5d13689a141e67f968a697241f32e1f
Samuel Iglesias Gonsálvez [Thu, 13 Jun 2019 09:13:45 +0000 (11:13 +0200)]
Add VK_EXT_shader_subgroup_ballot gl_SubGroup*MaskARB tests
Added tests:
dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.*
Components: Vulkan
VK-GL-CTS issue: 1692
Change-Id: I2c2523ac6f8bb6ab13b084700137227dd6882850
Arkadiusz Sarwa [Wed, 24 Jul 2019 10:41:42 +0000 (12:41 +0200)]
Fixes 64bit random values for 32bit CTS build
In 32bit build a 64bit random value is assigned
to 32bit value what cause different path of execution.
Components: Vulkan
VK-GL-CTS Issue: 1895
Affects:
dEQP-VK.memory.pipeline_barrier.all.*
Change-Id: I1f51b8b30be9a70ae82326609bc382431b8f3b80
Alexander Galazin [Wed, 24 Jul 2019 10:36:32 +0000 (12:36 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Ibfac59f75f2c4cfe34f96ff9391dc82f50dfd21e
Boris Zanin [Fri, 5 Jul 2019 10:09:06 +0000 (12:09 +0200)]
Testing for sampleShadingEnable
Additional testing for sampleShadingEnable.
Add:
* dEQP-VK.pipeline.multisample.min_sample_shading_enabled.*
* dEQP-VK.pipeline.multisample.min_sample_shading_disabled.*
Components: vulkan
VK-GL-CTS issue: 1782
Change-Id: Idc7b5ab964a7f65fa6bb12a0dd9668fba2fa4bec
Alexander Galazin [Wed, 24 Jul 2019 09:11:56 +0000 (11:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Ica3065aaf5d56791205074a44bcce66bfa26f6cd
Alexander Galazin [Wed, 24 Jul 2019 06:56:55 +0000 (08:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I1e2517f737ee503fdd0f50c517270e35ed25b203
Alexander Galazin [Tue, 23 Jul 2019 18:02:50 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I4ed438d3edefade78a1602957d3d26fa777175c2
Alastair Donaldson [Thu, 4 Jul 2019 22:14:06 +0000 (23:14 +0100)]
dEQP-VK.graphicsfuzz.unreachable-loops-in-switch
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-loops-in-switch
Change-Id: If080620b03201031c0e7cf5af67fa30d0fee57d3
Alexander Galazin [Mon, 22 Jul 2019 10:08:44 +0000 (12:08 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Ie2ea3810bf5148a50fc2ef2d6c9f675ffa9be7c3
Boris Zanin [Fri, 19 Jul 2019 10:43:43 +0000 (12:43 +0200)]
Fix check-all under Windows
filter out original Vulkan header sources under Windows as well.
Change-Id: I441cc132af94c4df69d92a94f4731287d05d083c
Alexander Galazin [Fri, 19 Jul 2019 14:10:23 +0000 (16:10 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I510f56d1a706648f1b8da895436df251ffecad3d
Alastair Donaldson [Fri, 5 Jul 2019 10:39:16 +0000 (11:39 +0100)]
dEQP-VK.graphicsfuzz.return-in-loop-in-function
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.return-in-loop-in-function
Change-Id: Ibcbc14690b61bfb5694154c350643430f779eedf
Graeme Leese [Thu, 6 Jun 2019 15:16:00 +0000 (16:16 +0100)]
Increase mediump precision testing
The spec requires a relative precision of 2^-10 and a minimum exponent
of 2^-14, so use those for mediump testing. This tightens the
requirements over what was used before.
To compensate somewhat, where the float16_int8 extension previously
allowed more ULP, change the mediump tests to use that. In some cases
this means that tests are still getting slightly stricter, in some cases
slightly less strict.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision.*.mediump.*
Change-Id: I039f1eb551ff449b500972480bab961ae6ee63f6
Graeme Leese [Tue, 9 Jul 2019 10:10:51 +0000 (11:10 +0100)]
Don't generate then squash subnormal numbers
The tests don't want subnormal numbers but were explicitly generating
them and then removing them again afterwards. For mediump tests values
the values that are subnormal in 16-bit float were not being removed
again causing issues on some implementations.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision_*
Change-Id: I6201bf28870bb601dae029eefb61b6924bc60016
Alexander Galazin [Fri, 19 Jul 2019 13:26:37 +0000 (15:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I03a9826af64fb5624f7c53cb7d7880fdd19cfa45
Tony Zlatinski [Fri, 19 Jul 2019 00:04:44 +0000 (19:04 -0500)]
Fix command line parameters processing of TestLog
Change
7b7791a40f for issue 1666 has added functionality
to TestLog by adding extra parameters to the constructor.
The change, however, has patchied only one of the uses of the
class, breaking the other 3 uses of it. This has caused the
log flags to be wrong, and the new functionality introduced
by
7b7791a40f to not work, as expected.
This change fixes the rest of the locations and is adding one
more constructor for the TestLog class targeted for use by Android.
Components: Framework
VK-GL-CTS issue: 1887
Change-Id: I8d52d40ee5dffb120b8a4945b0f865c8f3e7b7dd
Alexander Galazin [Thu, 18 Jul 2019 14:12:30 +0000 (16:12 +0200)]
Include header that defines unique_ptr
Add <memory> as some compilers otherwise don't see definition of std::unique_ptr
Components: Vulkan
Affects: some builds
VK-GL-CTS issue: 1872 (follow up)
Change-Id: If3eb42daa2d1d85af7b30bbf5afeed76bb31bd4b
Samuel Iglesias Gonsálvez [Wed, 5 Jun 2019 07:24:40 +0000 (09:24 +0200)]
Add depthBounds tests for VK_EXT_depth_range_unrestricted
Added tests check that depthbounds range values outside [0.0f, 1.0f]
are properly supported by the drivers.
This test will draw the same scene two times. The first time, it will
render the points depending on if they pass the depth test and if clear
depth value passes the depthBounds test.
The second time, will render the same scene but the the point positions
will have depth buffer values from the first draw. If they pass the
depth test, then the depthBounds test will check the previous content
of the depth buffer, which is most cases, will make that the second
image differs from the first one.
Added new tests:
dEQP-VK.pipeline.depth_range_unrestricted.depthbounds.*
Components: Vulkan
VK-GL-CTS issue: 1754
Change-Id: Ica136efd9e946db63b2092914566d43214b7b641
David Neto [Wed, 10 Jul 2019 20:07:21 +0000 (16:07 -0400)]
convert{su}tof and convertfto{su} tests with float16 need Float16 capability
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_min
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_min
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m0
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_1234
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_1234
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_m0
VK-GL-CTS issue: 1874
Change-Id: Ib6cdbb56dea510feb90ce80e1f6edf0f54149e26
Jeff Bolz [Mon, 15 Jul 2019 19:58:55 +0000 (14:58 -0500)]
Use the default device in dEQP-VK.api.buffer.* tests
The default device includes a sparse queue, no need to create a new
device for it. This reduces the runtime of these tests significantly.
Components: Vulkan
Affects: dEQP-VK.api.buffer.*
Change-Id: I38db03b8ff1a69665061b555a20613c59825b4f3
Graeme Leese [Thu, 24 Jan 2019 00:27:28 +0000 (00:27 +0000)]
Cut down on repetition in the subgroup tests
Remove some of the multitude of copies of the same test code.
Components: Vulkan
Affects: dEQP-VK.subgroups.basic.*
dEQP-VK.subgroups.ballot.*
Change-Id: Ic6af3b19b7e825abf729039049c8f2e535c2c425
David Neto [Thu, 11 Jul 2019 14:43:10 +0000 (10:43 -0400)]
Fix validation VK_KHR_16bit_storage in opphi test
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16
VK-GL-CTS issue: 1874
Change-Id: Icb210558031d73da05a6cee016346bdb3f0fd239
Graeme Leese [Tue, 2 Jul 2019 17:06:37 +0000 (18:06 +0100)]
Remove duplication from YCbCrUtils
There was a massive amount more code than was needed here, which made it
really hard to understand, find the relevant part of the code, or make
fixes. Simplifying the code has shown up three possible bugs just by
inspection.
Components: Vulkan
Affects: dEQP-VK.ycbcr.*
Change-Id: I8877c3a4eaacb98955e37fa91572d87fd3c417ef
Samuel Iglesias Gonsálvez [Mon, 27 May 2019 13:52:31 +0000 (15:52 +0200)]
Add input attachment restrictions to makeCreateImageInfo()
From Vulkan spec:
"All attachments in pInputAttachments that are not VK_ATTACHMENT_UNUSED
must have formats whose features contain at least one of
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT."
Affects:
dEQP-VK.image.texel_view_compatible.graphic.basic.*.attachment_*
VK-GL-CTS issue: 1414
Components: Vulkan
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ia26a618b74a0e7cb198576a6c5872a639dc07a5e
Ricardo Garcia [Tue, 9 Jul 2019 15:03:17 +0000 (17:03 +0200)]
Test vkCmdClearAttachments with unused depth/stencil attachments
The unused attachments clear tests were missing the cases of depth and
depth/stencil attachments. This commit adds more combinations to the
test group, including all the previous tests plus combinations of them
with one depth or depth/stencil attachment, used or unused, and
depth/stencil attachments alone without color attachments.
Affected tests:
dEQP-VK.renderpass*.unused_clear_attachments.*
Components: Vulkan
VK-GL-CTS issue: 1872
Change-Id: If2fdd8ead1bd9aecec3a06757994b18b1d258522
Ricardo Garcia [Mon, 24 Jun 2019 16:14:52 +0000 (18:14 +0200)]
Test 64-bit results with transform feedback queries
Add tests so transform feedback query results are checked using both
32-bit and 64-bit numbers.
Removed tests:
dEQP-VK.transform_feedback.simple.*query*
Added tests:
dEQP-VK.transform_feedback.simple.*query*_32bits*
dEQP-VK.transform_feedback.simple.*query*_64bits*
Components: Vulkan
VK-GL-CTS issue: 1847
Change-Id: Idf4d6228af44d4d6aca85bfa30b184c11eb34aeb
Alexander Galazin [Thu, 18 Jul 2019 08:10:49 +0000 (10:10 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I873458d7f08f034b849ce96cc95ad225ec17cf79
Ricardo Garcia [Thu, 27 Jun 2019 10:49:37 +0000 (12:49 +0200)]
Test 32-bit stat queries with vkGetQueryPoolResults
Extend the current set of pipeline statistic query tests using
vkGetQueryPoolResults to request both 32-bit and 64-bit results in order
to improve test coverage.
Removed tests:
dEQP-VK.query_pool.statistics_query.*
Added tests:
dEQP-VK.query_pool.statistics_query.*32bits*
dEQP-VK.query_pool.statistics_query.*64bits*
Components: Vulkan
VK-GL-CTS issue: 1854
Change-Id: I278535ffad79c9116b3bedbd837567437e8a50c1
Graeme Leese [Fri, 28 Jun 2019 08:52:09 +0000 (09:52 +0100)]
Further tidy up the subgroup vote sources
Use functions rather than recalculate the same things for different test
sets and make the shader source easier to read by using temporary
variables.
Components: Vulkan
Affects: dEQP-VK.subgroups.vote.*
Change-Id: Ie256807064d0486f6268e02db8768d88791c0349
Graeme Leese [Wed, 10 Jul 2019 09:57:12 +0000 (10:57 +0100)]
Backport non-extension subgroup changes from next-dev
The subgroup extended types made quite a few changes to the framework
that make it a bit nicer in general. Backport these to master to improve
things now and to make it easier to integrate changes between the two
branches.
Components: Vulkan
Affects: dEQP-VK.subgroups.*
Change-Id: I5f0be4f4a605af393f8bb997472cd23a132d905a
Panagiotis Apostolou [Fri, 12 Jul 2019 09:25:43 +0000 (11:25 +0200)]
Pipeline barriers flushing buffer data to host
Adds pipeline barriers after vkCmdDispatch which essentially flushes gpu
caches and the buffer data becomes visible to the host.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.*
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop_opquantize.*
Components: Vulkan
VK-GL-CTS issue: 1880
Change-Id: Ib99a4ed9a1a2d57b286dea2251b3bc4a67002dfb
Alexander Galazin [Wed, 17 Jul 2019 14:56:33 +0000 (16:56 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Id12a00bbda70fad868cca67e2b94959c35a99554
Alexander Galazin [Wed, 17 Jul 2019 13:59:49 +0000 (15:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I7511a56dec3ae742774a2f6d76f103410e81eb94
Alexander Galazin [Tue, 16 Jul 2019 16:34:23 +0000 (18:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ic5126bd75b2616bdd9525d65eca95dc170475ced
Igor Ostrowski [Mon, 15 Apr 2019 07:56:39 +0000 (09:56 +0200)]
Add compatible memory type check for given handle
Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*
Components: Vulkan
VK-GL-CTS issue: 1866
Change-Id: I982bcd2e2ac15aa5cae403fcec859b28bcaf7999
Alexander Galazin [Tue, 16 Jul 2019 11:54:24 +0000 (13:54 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: Ica01d13044d1c2a570bd692742327b096d80e9b3
Jeff Bolz [Mon, 15 Jul 2019 15:57:10 +0000 (10:57 -0500)]
Update Vulkan headers to 1.1.115
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions.
Components: Vulkan
Change-Id: I9ed667ccf4eba57b057ff30d7117832516feb380
Alexander Galazin [Mon, 15 Jul 2019 11:34:07 +0000 (13:34 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I84e7ad3f3b21dfd8aaf4a5cda04946ba274a0d14
Samuel Iglesias Gonsálvez [Mon, 3 Jun 2019 10:57:58 +0000 (12:57 +0200)]
Add tests for VK_EXT_shader_subgroup_ballot
Add tests for read*InvocationsARB() and other defines added by
VK_EXT_shader_subgroup_ballot extension.
Tests are based on the existing ones for subgroup's ballot feature but
adapted to the extension.
These tests don't check the gl_SubGroup*MaskARB variables, they will
be added in other CL.
New tests:
dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.*
Components: Vulkan
VK-GL-CTS issue: 1692
Change-Id: Ic694c371245ebde5883f507c26cd6caead15ed87
Alexander Galazin [Fri, 12 Jul 2019 16:20:31 +0000 (18:20 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Ic48b694d4bd7df7cb8f593479a9b750320b9d2e2
Slawomir Cygan [Fri, 12 Jul 2019 13:02:16 +0000 (15:02 +0200)]
Fix image layouts in descriptor indexing tests
This is a fix for regression introduced in
4301d73b3
- in fact this is a partial revert of that change.
After
4301d73b3, the current image layout (READ_ONLY_OPTIMAL) was
different than image layout used in descriptor set bindings
(GENERAL), what is invalid.
As some of these descriptor set binding are used for STORAGE_IMAGEs,
which require images in GENERAL layout, the simplest fix was to revert
back to using GENERAL layouts.
Components: Vulkan
VK-GL-CTS Issue: 1881
Change-Id: Idac940135bafe6be6e456d0ec554d5cc3c3fc8e7
Affects: dEQP-VK.descriptor_indexing.*
Alexander Galazin [Fri, 12 Jul 2019 10:27:44 +0000 (12:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Idbcbb73a767b6d267c0c2215d6bdc9739b2096eb
Alexander Galazin [Fri, 12 Jul 2019 09:00:34 +0000 (11:00 +0200)]
Update KC CTS
Components: Framework
Affects: dEQP-GL.*
Change-Id: I213498330f160e0d1b8e8c2bdd58d8b521a10be7
Graeme Leese [Wed, 19 Jun 2019 14:14:45 +0000 (15:14 +0100)]
Fix random generation for isinf/isnan tests
There were two copies of the generator that were essentially the same,
so I've used a function for it. No normal values were ever being
generated that had the top bit of the exponent set or that had the top
bit of the mantissa unset. This meant that silly errors like testing the
wrong set of bits might not be caught by the tests.
The new generator still only generates quiet Nans, which may be a
mistake.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.isinf.*
dEQP-VK.glsl.builtin.function.common.isnan.*
Change-Id: I7ca64dbcb327b4bbf6687ebb2d61a47c328d514b
Samuel Iglesias Gonsálvez [Mon, 13 May 2019 08:31:44 +0000 (10:31 +0200)]
Add QueryIndexed tests when streamId is zero
In the case where streamID==0, it is legal to use cmdBeginQuery paired
with cmdEndQueryIndexedEXT (and vice versa).
Added tests:
dEQP-VK.transform_feedback*queryindexed*
Components: Vulkan
VK-GL-CTS issue: 1772
Change-Id: I701916c4dc38826e9874976649f4ae57cac42614
Alexander Galazin [Fri, 12 Jul 2019 08:56:38 +0000 (10:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I3ee381095ae5e6ffe4c3d581fd4de06cf1f7c8ec
Alexander Galazin [Fri, 12 Jul 2019 07:47:09 +0000 (09:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I01ed4686a43801a91df0459b821fd047f4858940
Boris Zanin [Mon, 8 Jul 2019 13:27:50 +0000 (15:27 +0200)]
Remove conformance version test from Android
Removes conformance version tests from android CTS.
Split tests designed to validate VK_KHR_driver_properties
into several smaller tests.
Add three more records into knownDriverIds.
Add:
* dEQP-VK.api.driver_properties.*
Remove:
* dEQP-VK.api.driver_properties
Components: vulkan
VK-GL-CTS issue: 1839
Change-Id: I9b591778c9833fd890c9af46cb87d9f5eb695dbd
Mike Byrne [Mon, 1 Jul 2019 10:53:36 +0000 (11:53 +0100)]
Fix Android WSI incremental present image tests
The pipeline for Android WSI incremental present image tests was not
provided with a valid scissor rect. This caused the tests to perform
incorrectly (and violates Vulkan requirements).
Affects: dEQP-VK.wsi.android.incremental_present.*
VK-GL-CTS Issue: 1867
Change-Id: I257ab8ae59a13e24fb299b6b47e925f3c105aecb
Components: Vulkan, AOSP
David Neto [Thu, 11 Jul 2019 15:21:43 +0000 (11:21 -0400)]
Update glslang
Pulls in https://github.com/KhronosGroup/glslang/pull/1832:
Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions
aren't enabled.
Glslang commit is protected by tag
https://gitlab.khronos.org/GLSL/glslang/tags/GL_EXT_shader_subgroup_extended_types-2019-07-11
Change-Id: Ib90fd91d5b14d441bae07de13200cf8951dbb2fb
Paul Thomson [Mon, 1 Jul 2019 14:16:09 +0000 (15:16 +0100)]
dEQP-VK.graphicsfuzz.color-write-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.color-write-in-loop
Change-Id: I1f5450fbfa7d421eb61d2b0ed9d4fbb90e126137
Paul Thomson [Mon, 1 Jul 2019 14:12:19 +0000 (15:12 +0100)]
dEQP-VK.graphicsfuzz.matrices-and-return-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.matrices-and-return-in-loop
Change-Id: I17a8ccf8ea2c5e8f1914d27fa7bc0d3bceb130ad
Alex Walters [Thu, 11 Jul 2019 14:17:53 +0000 (15:17 +0100)]
Exclude dEQP-VK.ssbo.layout.random.scalar.75
Remove dEQP-VK.ssbo.layout.random.scalar.75 from mustpass, added to
excluded test list. The shader length is quite extreme resulting in an
overly high runtime where certain devices can easily hit the watchdog.
Affects:
dEQP-VK.ssbo.layout.random.scalar.75
Components: Vulkan
VK-GL-CTS Issue: 1829
Change-Id: I57627fc895ed4a0e023e9f81e0cc6cdc203d2485
Paul Thomson [Mon, 1 Jul 2019 14:17:58 +0000 (15:17 +0100)]
dEQP-VK.graphicsfuzz.early-return-and-barrier
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.early-return-and-barrier
Change-Id: I72818ac38bb0552f286a70b82f23907ada8a7059
Paul Thomson [Mon, 1 Jul 2019 14:08:31 +0000 (15:08 +0100)]
dEQP-VK.graphicsfuzz.if-and-switch
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.if-and-switch
Change-Id: Ifc16e1b2a77c8ca2b564d31d7ba30c23b615c4b9
Ricardo Garcia [Tue, 2 Jul 2019 15:30:19 +0000 (17:30 +0200)]
Test DMA buffers as external image memory
Enable external image memory tests for DMA buffers.
New tests:
dEQP-VK.api.external.memory.dma_buf.*.image.*
Components: Vulkan
VK-GL-CTS issue: 1863
Change-Id: I62037a64aad24638ff52ac664505837ab1e4af3b
Paul Thomson [Mon, 1 Jul 2019 14:41:35 +0000 (15:41 +0100)]
dEQP-VK.graphicsfuzz.dead-barriers-in-loops
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.dead-barriers-in-loops
Change-Id: I74a9f7375bef8d59b9948f7c94237c6ec6e2a40f
Paul Thomson [Mon, 1 Jul 2019 13:07:03 +0000 (14:07 +0100)]
dEQP-VK.graphicsfuzz.barrier-in-loop-with-break
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.barrier-in-loop-with-break
Change-Id: I862dc3cbf2f739123c2f0628159e92db2f8fd748
Ricardo Garcia [Tue, 25 Jun 2019 11:46:25 +0000 (13:46 +0200)]
Test 32-bit timestamp query results
Obtain timestamp query results as both 32-bit and 64-bit numbers, using
both vkCmdCopyQueryPoolResults() and vkGetQueryPoolResults(). Verify all
results match and the lower 32 bits of the 64-bit results match the
32-bit results.
In addition, add a missing barrier in one of the timestamp tests and
refactor the way the timestamp validity bits are checked across
different tests.
New tests:
dEQP-VK.pipeline.timestamp.misc_tests.consistent_results
Components: Vulkan
VK-GL-CTS issue: 1849
Change-Id: I76769e8a3cf9fbfa5de9beefbc0993ffb2f2bef9
Samuel Iglesias Gonsálvez [Mon, 3 Jun 2019 10:57:58 +0000 (12:57 +0200)]
Add tests for VK_EXT_shader_subgroup_ballot
Add tests for read*InvocationsARB() and other defines added by
VK_EXT_shader_subgroup_ballot extension.
Tests are based on the existing ones for subgroup's ballot feature but
adapted to the extension.
These tests don't check the gl_SubGroup*MaskARB variables, they will
be added in other CL.
New tests:
dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.*
Components: Vulkan
VK-GL-CTS issue: 1692
Change-Id: Ic694c371245ebde5883f507c26cd6caead15ed87
Ricardo Garcia [Thu, 20 Jun 2019 15:48:33 +0000 (17:48 +0200)]
Test vkCmdCopyQueryPoolResults with transform feedback queries
Add tests to get transform feedback query results using
vkCmdCopyQueryPoolResults in addition to vkGetQueryPoolResults.
New tests:
dEQP-VK.transform_feedback.simple.query_copy*
Components: Vulkan
VK-GL-CTS issue: 1840
Change-Id: Ia5f5737be68a3af6ded71f0a93b3a398a7f99a97
Alexander Galazin [Thu, 11 Jul 2019 09:29:37 +0000 (11:29 +0200)]
Update glslang
Components: Framework
Affects: dEQP-VK.*
Change-Id: I7b26c3f09bf33797b511dc127c878222f0a1c815
Robert Tray [Fri, 7 Jun 2019 20:48:08 +0000 (14:48 -0600)]
Fix for windows heights that are not a multiple of 4
Adjust the number of rows in the buffer comparison to avoid going
too far when the window height is not a multiple of 4.
Components: OpenGL ES
VK-GL-CTS issue: 1823
Affects : KHR-GLES31.core.draw_indirect.advanced-primitiveRestart-elements
Change-Id: I61d4ec93546171a45b17c5861996646023956eb3
Jeff Bolz [Thu, 16 May 2019 04:27:53 +0000 (23:27 -0500)]
VK_EXT_fragment_shader_interlock tests
Components: Vulkan
New Tests: dEQP-VK.fragment_shader_interlock.*
VK-GL-CTS issue: 1856
Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24