platform/upstream/VK-GL-CTS.git
3 years agoAllow Vulkan CTS 1.2.5.2
Alexander Galazin [Fri, 19 Feb 2021 07:57:06 +0000 (08:57 +0100)]
Allow Vulkan CTS 1.2.5.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: If42924ce4919dfc372e5e107dc8e9e86d27bbe2b

3 years agoDo not use image index and semaphore when vkAcquireNextImageKHR fails
Sławomir Cygan [Mon, 15 Feb 2021 14:35:21 +0000 (15:35 +0100)]
Do not use image index and semaphore when vkAcquireNextImageKHR fails

This change follows d9763f6a0, where vkAcquireNextImageKHR was allowed
to fail with VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT error.
However, the (not) acquired image index and semaphore was still used,
causing fauilure when validating the index.

This change skips using the image index and semaphore, when image was
not acquired.

Moreover, failure to acquire the image is logged as quality warning.

VK-GL-CTS Issue: 2792

Affects: dEQP-VK.wsi.*.full_screen_exclusive.*

Components: Vulkan
Change-Id: I7c970289769fd56c9f46ac27cc6d23180e847d74

3 years agoAllow failure of creating swapchain with application controlled full-screen exclusive...
Sławomir Cygan [Wed, 10 Feb 2021 15:48:43 +0000 (16:48 +0100)]
Allow failure of creating swapchain with application controlled full-screen exclusive mode

The spec says:
"""
In some cases, swapchain creation may fail if exclusive full-screen mode is
requested for application control, but for some implementation-specific reason
exclusive full-screen access is unavailable for the particular combination of
parameters provided. If this occurs, VK_ERROR_INITIALIZATION_FAILED will be returned.
"""

This modifies the test to allow VK_ERROR_INITIALIZATION_FAILED error from
vkCreateSwapchain, when VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
mode is requested.  QalityWarning result is returned if swapchain creation fails.

Components: Vulkan

VK-GL-CTS Issues: 2787

Affects: dEQP-VK.wsi.win32.full_screen_exclusive.*
Change-Id: I78f976b9d08338c49a81199410aecc50089ffce3

3 years agoWorkaround for entrypoints tests requiring vendor entrypoints while checking KHR...
Sławomir Cygan [Tue, 16 Feb 2021 15:39:46 +0000 (16:39 +0100)]
Workaround for entrypoints tests requiring vendor entrypoints while checking KHR extension

This is a workaround for dEQP-VK.api.version_check.entry_points test
requiring vkCmdWriteBufferMarker2AMD and vkGetQueueCheckpointData2NV
entrypoints when checking the VK_KHR_synchronization2 extension.

The true problem is full dependency information is not available to code
generating scripts, which only source vulkan_core.h. (vulkan_core.h seems to
have 1:1 mapping from extenions to entrypoints, having above NV and AMD
entrypoint listed under  VK_KHR_synchronization2).

Such information is encoded in registry XML, currently not used by the code
generating script.

As a workaround do not generate code for entrypoints that have different
vendor suffix than the extension they belong to.

Affects: dEQP-VK.api.version_check.entry_points

VK-GL-CTS Issue: 2795

Components: Vulkan
Change-Id: I5b345c36a49c585263d309ed4645b16a144c327e

3 years agoFix extended dynamic state to not access out of bounds memory
Sławomir Cygan [Wed, 10 Feb 2021 13:40:11 +0000 (14:40 +0100)]
Fix extended dynamic state to not access out of bounds memory

The test assumed const size (4096) of the storage backing the
vectors of vertices. It looks like the vector of 'reversed' vertices
was fully populated only when TRIANGLES topology was used,
so the test may crash on other topologies.

Components: Vulkan

VK-GL-CTS Issue: 2786

Affects: dEQP-VK.pipeline.extended_dynamic_state.*
Change-Id: Ic56d3125335d2eef0c97028d855b27eae25da24f

3 years agoFix out of memory error on 32bit driver builds
Marcin Kantoch [Wed, 3 Feb 2021 18:47:17 +0000 (19:47 +0100)]
Fix out of memory error on 32bit driver builds

Limit the ammount of RT invocations on 32 bit
driver builds, so that the result buffer does
not exceed 2GB.

Components: Vulkan

VK-GL-CTS issue: 2716

Affects:
dEQP-VK.ray_tracing_pipeline.misc.maxrtinvocations_*

Change-Id: I73711e45c5bc589c1d5e5e742da817c11b3215fa

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 18 Feb 2021 20:02:43 +0000 (21:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I86306b5aa0993a5d552f777fa3320d2ab288e2b6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 18 Feb 2021 16:34:52 +0000 (17:34 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I766af2bb2951e57b4425b3b948d0f2773fe1fb6d

3 years agoFixes cubic filtering rgb9e5 tests
Matthew Netsch [Wed, 3 Feb 2021 22:28:29 +0000 (17:28 -0500)]
Fixes cubic filtering rgb9e5 tests

Test was causing overflows

Components: Framework
VK-GL-CTS Issue: 2771

Affects:
*

Change-Id: I3367d18dab3207442d93adb757db24c16543f6d8

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 18 Feb 2021 13:21:22 +0000 (14:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ib6563915d7ca253c6d1275b08134d63df7f58204

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 18 Feb 2021 12:41:44 +0000 (13:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I3e2556116ad51d257d5605321813461dc3096df1

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 18 Feb 2021 11:59:20 +0000 (12:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ic40e8dc5399b4abedbc4663d67431e5dee093d29

3 years agoRemove renderingComplete test
Anders Pedersen [Thu, 10 Dec 2020 09:36:01 +0000 (10:36 +0100)]
Remove renderingComplete test

There is no guarantee that two consecutive frames with
no frame dependencies will not complete out of order.

Components: EGL
Affects: dEQP-EGL.functional.get_frame_timestamps
Test: atest CtsDeqpTestCases
Bug: https://issuetracker.google.com/174941611

Change-Id: Ia70b92be27e301e94e936d9465a6e9dc9ec38928

3 years agoTest new pipeline stages from synchronization2
Piotr Byszewski [Fri, 27 Nov 2020 10:44:40 +0000 (11:44 +0100)]
Test new pipeline stages from synchronization2

With this change some of SynchronizationOperations
will use new pipeline stages when they are executed
for synchronization2. Additionaly few new operations
were added to cover new stages.

Components: Vulkan

VK-GL-CTS issue: 2663

Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*

Change-Id: I6ccfbc9ec28d70035369c6f064a786c408c3afdd

3 years agoGeneralize SynchronizationOperations for sync2
Piotr Byszewski [Fri, 27 Nov 2020 10:44:40 +0000 (11:44 +0100)]
Generalize SynchronizationOperations for sync2

This change generalize all barriers executed in
SynchronizationOperations that were missed while adding
support for VK_KHR_synchronization2.

Components: Vulkan

VK-GL-CTS issue: 2365

Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*

Change-Id: I67f6e2753373bd34d0aef0f3313c1d8993a60169

3 years agoUse MemoryBarrier2 in SubpassDependency2 chain
Piotr Byszewski [Fri, 20 Nov 2020 15:49:14 +0000 (16:49 +0100)]
Use MemoryBarrier2 in SubpassDependency2 chain

VK_KHR_synchronization2 allows VkMemoryBarrier2KHR to be
provided in the pNext chain of a VkSubpassDependency2.

Components: Vulkan

VK-GL-CTS issue: 2365

New tests:
dEQP-VK.renderpass2.suballocation.subpass_dependencies.external_subpass.*_sync_2

Affects:
dEQP-VK.renderpass*

Change-Id: I0f7a7cb76064b0e6e565e1f716e2acd0e17c7041

3 years agoNew tests for VK_KHR_synchronization2
Piotr Byszewski [Fri, 3 Jul 2020 10:26:21 +0000 (12:26 +0200)]
New tests for VK_KHR_synchronization2

This change adds none_stage tests that exercise PIPELINE_STAGE_NONE
as well as MEMORY_ACCESS_READ|WRITE_BIT and new generic layouts.

Event tests were also extends to test GPU-only scenarios using new
VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR.

Components: Vulkan

VK-GL-CTS issue: 2365

New tests:
dEQP-VK.synchronization2.basic.event.*_device_only
dEQP-VK.synchronization2.none_stage.*

Affects:
dEQP-VK.synchronization*

Change-Id: I86e056054a6541526140fd15fb53bef9359b6b28

3 years agoSynchronization2 - fix set/wait event usage
Piotr Byszewski [Thu, 30 Jul 2020 10:57:44 +0000 (12:57 +0200)]
Synchronization2 - fix set/wait event usage

CmdWaitEvents2KHR valid usage states that: "For any element i of
pEvents, if that event is signaled by vkCmdSetEvent2KHR, that
commands dependencyInfo parameter must be exactly equal to the
ith element of pDependencyInfos".

Components: Vulkan

VK-GL-CTS issue: 2365

Affects:
dEQP-VK.synchronization*.op.single_queue.event.*
dEQP-VK.synchronization*.basic.event.single_submit_multi_command_buffer

Change-Id: Id9a4b5270ddb3ae9cb582e084e65c41c18c9c5c7

3 years agoGeneralize synchronization tests
Alexander Galazin [Mon, 15 Feb 2021 19:07:27 +0000 (20:07 +0100)]
Generalize synchronization tests

This change adds SynchronizationWrapper utility class that enables to
execute most of synchronization tests for both legacy synchronization
and for functionality changes introduced by VK_KHR_synchronization2.

Components: Vulkan

VK-GL-CTS issue: 2365

Affects:
dEQP-VK.synchronization*

Change-Id: Ibc12c144387cb6c45f6545963183a9cf6c00988d

3 years agoFix for primitiveOffset calculation
Marcin Kantoch [Wed, 3 Feb 2021 15:06:01 +0000 (16:06 +0100)]
Fix for primitiveOffset calculation

PrimitiveOffset should be an offset in bytes into the memory
where primitive data is defined.

Components: Vulkan

VK-GL-CTS issue: 2765

Affects:
dEQP-VK.ray_tracing_pipeline.indirect.build_structure

Change-Id: I03da8a69f042f6f21556dc23ae992495fda5cff4

3 years agoProperly handle VK_OPERATION_NOT_DEFERRED_KHR
Sławomir Cygan [Mon, 8 Feb 2021 15:45:00 +0000 (16:45 +0100)]
Properly handle VK_OPERATION_NOT_DEFERRED_KHR

According to spec, any operation that is requested to be deferred can return
VK_OPERATION_NOT_DEFERRED_KHR if an implementation "chooses not to
defer any of the requested operations and instead executesall of them
immediately"

This fixes the test to properly handle the VK_OPERATION_NOT_DEFERRED_KHR status,
by immediately checking the operation status and returning, skipping invalid check
for max concurency being greater than 0 and skipping not needed thread joins.

Components: Vulkan

VK-GL-CTS Issue: 2780

Affects:
dEQP-VK.ray_tracing_pipeline.*host_threading*
dEQP-VK.ray_query.*host_threading*
dEQP-VK.ray_tracing_pipeline.*cpuht*

Change-Id: If72351e2deada8d03c3e7b2c642cb641ae69febd

3 years agoProcess Windows messages after showing a window
Sławomir Cygan [Tue, 9 Feb 2021 15:33:58 +0000 (16:33 +0100)]
Process Windows messages after showing a window

This makes sure all window messages are delivered and processed
when showing / hiding a window or making it topmost.

Affects: dEQP-VK.wsi.win32.full_screen_exclusive.*

VK-GL-CTS Issue: 2784

Components: Vulkan, Framework
Change-Id: Idcf677d7ea22695e7548fcaf31f75814e4b5e15e

3 years agoFix buffer size in manual zeroing Workgroup aliased memory
Caio Marcelo de Oliveira Filho [Fri, 29 Jan 2021 04:33:37 +0000 (20:33 -0800)]
Fix buffer size in manual zeroing Workgroup aliased memory

The buffer A needs to be large enough to fit the largest case when
using the smallest type, which is an array of uint8_t to cover an
array of 4 struct {dvec4, dvec4}.  Update the buffer size to properly
cover the entire array.

Component: Vulkan
VK-GL-CTS Issue: 2524

Affected tests:
- dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*

Change-Id: I098b037314fb87fbe03769a0a4fe79edcf46143e

3 years agoFix missing check for Float64 in manual zeroing Workgroup aliased memory
Caio Marcelo de Oliveira Filho [Fri, 29 Jan 2021 04:27:51 +0000 (20:27 -0800)]
Fix missing check for Float64 in manual zeroing Workgroup aliased memory

Test was relying on useType() helper, but it was not filling
needsFloat64 properly.  The other tests using the helper are not
affected.

Component: Vulkan
VK-GL-CTS Issue: 2524

Affected tests:
- dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*

Change-Id: I87f718988da5091860c98cbe0708d4d4c1d72b9d

3 years agoAdd VK_KHR_workgroup_memory_explicit_layout OpCopyMemory tests
Caio Marcelo de Oliveira Filho [Wed, 13 Jan 2021 22:14:33 +0000 (14:14 -0800)]
Add VK_KHR_workgroup_memory_explicit_layout OpCopyMemory tests

Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.copy_memory.*

Change-Id: I78287969904b67df21cf4f8f56935961a22cd6eb

3 years agoAdd VK_KHR_workgroup_memory_explicit_layout maximum size tests
Caio Marcelo de Oliveira Filho [Sat, 5 Dec 2020 05:08:57 +0000 (20:08 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout maximum size tests

Dynamic generation of shaders based on properties reported by devices
is not allowed in the CTS, and in this case we can't use a
specialization constant as the array size.  So the test have a few
variants with common maximum values.

Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.size.*

Change-Id: Ic960d22277b0a7bff428eae99e1f3107d9b4c85e

3 years agoAdd VK_KHR_workgroup_memory_explicit_layout padding tests
Caio Marcelo de Oliveira Filho [Thu, 3 Dec 2020 05:14:34 +0000 (20:14 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout padding tests

Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.padding.*

Change-Id: I81d46940a785913faddb5e78dae986e2de9f73ee

3 years agoAdd VK_KHR_workgroup_memory_explicit_layout zeroing aliased block tests
Caio Marcelo de Oliveira Filho [Tue, 1 Dec 2020 22:07:37 +0000 (13:07 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout zeroing aliased block tests

Components: Vulkan, Framework
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*

Change-Id: I935ddc9f2a8d79e0c454a70f07e1f355d1236fc9

3 years agoAdd VK_KHR_workgroup_memory_explicit_layout type aliasing tests
Caio Marcelo de Oliveira Filho [Tue, 4 Aug 2020 04:34:34 +0000 (21:34 -0700)]
Add VK_KHR_workgroup_memory_explicit_layout type aliasing tests

Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*

Change-Id: I17ebda4ca8fd750aa5e64f750220c91f8c789dbc

3 years agoAdd new ShaderBuildOption to enable Workgroup scalar offsets
Caio Marcelo de Oliveira Filho [Thu, 4 Feb 2021 19:28:32 +0000 (11:28 -0800)]
Add new ShaderBuildOption to enable Workgroup scalar offsets

This need to be explicitly set in the SPIR-V validator and it is
independent of the use of scalar offsets in other storage classes.
Equivalent to --workgroup-scalar-block-layout option in spirv-val.

Components: Vulkan

Affects: dEQP-VK.*

Change-Id: I903d4c700a08d7b03ccbd3f82274379c6bd6455e
(cherry picked from commit 147bbb57041f6e243966e18d67887eac3baf9b4f)

3 years agoVK_KHR_zero_initialize_workgroup_memory tests
Alan Baker [Wed, 10 Jun 2020 19:07:24 +0000 (15:07 -0400)]
VK_KHR_zero_initialize_workgroup_memory tests

* New tests for VK_KHR_zero_initialize_workgroup_memory tests

Component: Vulkan

VK-GL-CTS Issue: 2415

New Tests: dEQP-VK.compute.zero_initialize_workgroup_memory.*

Change-Id: If775749596cedb1a5d4937d084d5e191c2707152
(cherry picked from commit 2b917b4caa105f4c7fd69a95ab9ea72a9d140068)

3 years agoAdd tests for VK_EXT_4444_formats
Joshua Ashton [Wed, 15 Jul 2020 03:44:27 +0000 (04:44 +0100)]
Add tests for VK_EXT_4444_formats

Components: Vulkan

New tests:
dEQP-VK.*.a4b4g4r4*
dEQP-VK.*.a4r4g4b4*

Change-Id: I5d597a718246e4bc0af3c6acee1c0d3d0787997b

3 years agoAdd support for ABGR texture formats
Joshua Ashton [Wed, 15 Jul 2020 03:34:34 +0000 (04:34 +0100)]
Add support for ABGR texture formats

Needed for VK_EXT_4444_formats

Components: Vulkan Framework

Affects: *

Change-Id: I1f4a4e555d69da3d14df2ce34ad46526cb570911

3 years agoUpdate glslang
Alexander Galazin [Wed, 3 Feb 2021 14:13:17 +0000 (15:13 +0100)]
Update glslang

Components: Framework

Change-Id: Icc780bd3e4ebe3448db0a917920b4be91c3696de
(cherry picked from commit 5ea40881588ca29706ffae7f5eb52374cd615e19)

3 years agoFix memory scope in OpControlBarrier tests
Piotr Byszewski [Wed, 27 Jan 2021 13:40:25 +0000 (14:40 +0100)]
Fix memory scope in OpControlBarrier tests

Workgroup Memory Scope is not allowed in TessellationControl
execution model (VUID-StandaloneSpirv-None-04639). This change
replaces Workgroup memory scope with Invocation scope.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.barrier.*

Change-Id: Icf2e950a68528f1959a2fefd86dffdde97e150c5
(cherry picked from commit e2d8f37eae4ae9a798690ac677b1e865438d76a9)

3 years agoUpdate Vulkan headers
Alexander Galazin [Thu, 4 Feb 2021 11:13:21 +0000 (12:13 +0100)]
Update Vulkan headers

Components: Vulkan

Change-Id: I602e747504df841f7100b1638a0011bb10a6a4ca
(cherry picked from commit 53245fa58703ebbbd59ac06dffdb0c3052308d36)

3 years agoAllow geometry shader to reorder vertices in dEQP-VK.ray_query.acceleration_structure...
Slawomir Cygan [Thu, 28 Jan 2021 15:06:30 +0000 (16:06 +0100)]
Allow geometry shader to reorder vertices in dEQP-VK.ray_query.acceleration_structures test

This fixes the geometry shader used in the test to allow gl_in[] to start from
arbitrary vertex from the triangle primitive.

According to spec:

"""
24.1. Geometry Shader Input Primitives
...
Vertices may be in a different absolute order to that specified by the topology,
but must adhere to the specified winding order.
"""

The test does some ray query computation in geometry shader, using elements
of gl_in[] as inputs, and storing the outputs in consecutive pixels of storage image.
The test than verifies the image contents using some predefined vertex order.
As gl_in is not queranteed to follow this order, vertex index from vertex shader is now
used to calculate starting index, from which gl_in is iterated.

Components: Vulkan

VK-GL-CTS Issue: 2764

Change-Id: I1b6b8df3166d40132747a7315366c427e32b0007
Affects: dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Fri, 12 Feb 2021 11:30:41 +0000 (12:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ib86e71eaf31e327f0f2ebc1951dd3d155f9c5fa6

3 years agoFix size calculation for compressed 3D textures
Charles Johnston [Thu, 28 Jan 2021 13:48:26 +0000 (08:48 -0500)]
Fix size calculation for compressed 3D textures

Affected tests:
dEQP-VK.texture.compressed_3D.*

Components: vulkan
VK-GL-CTS issue: 2761

Change-Id: I2d062233a5bb3611bc9c24697da198a4710dc0e1

3 years agoSet correct access flags for buffer copy synchronization.
Bas Nieuwenhuizen [Mon, 1 Feb 2021 19:05:03 +0000 (20:05 +0100)]
Set correct access flags for buffer copy synchronization.

Since the copy depends on the result of the blit, we should make
the results visible to the copy with VK_ACCESS_TRANSFER_WRITE_BIT.

Components: Vulkan
Affects: dEQP-VK.drm_format_modifiers.export_import.*

Change-Id: I8a9a94657203472ca8842db0cc164c71c087a48c

3 years agoAllow Vulkan CTS 1.2.5.1
Alexander Galazin [Thu, 28 Jan 2021 19:40:35 +0000 (20:40 +0100)]
Allow Vulkan CTS 1.2.5.1

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I7ca8bb2937e1e601f58fe5a7220138a1a06a2ca5

3 years agoFixed dEQP-VK.wsi.*.full_screen_exclusive.* tests
Marcin Kańtoch [Thu, 14 Jan 2021 18:11:49 +0000 (19:11 +0100)]
Fixed dEQP-VK.wsi.*.full_screen_exclusive.* tests

Full list of fixes described in the issue.

Components: Vulkan

VK-GL-CTS issue: 2746

Affects:
dEQP-VK.wsi.*.full_screen_exclusive.*

Change-Id: I787fb775a1b3a88c6308d1ab8a7f37d11fa9a049

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 28 Jan 2021 13:17:50 +0000 (14:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ia3c9ad282501c58a5d05b8b28163babe42686dcf

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 28 Jan 2021 10:53:33 +0000 (11:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I57c045028692ccdead9ceecdc0f6421874413a11

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 28 Jan 2021 10:02:12 +0000 (11:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I866350c03d9b27e87b39653aef4415f326e2510a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 28 Jan 2021 08:20:40 +0000 (09:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Id4b318d832da2ccfbc5a72523454eb39a23d2a2c

3 years agoAccount for aliasing exceptions in codegen
Alastair Donaldson [Wed, 1 Apr 2020 15:48:46 +0000 (16:48 +0100)]
Account for aliasing exceptions in codegen

Fixes a problem where functions for which aliasing exceptions are in
place (at present this is just glRenderbufferStorageMultisampleEXT)
were not being treated properly in code generation -- their aliased
names were being erroneously used.

Component: Framework

Affects: dEQP-GLES*multisample*

VK-GL-CTS issue: 2291

Change-Id: I5e9caf8828b192d15bb3c91f53a9d09aa9442129

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Tue, 19 Jan 2021 08:43:57 +0000 (09:43 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ib85f3f1d09837872f49aac5a12faa47711f85c60

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Tue, 19 Jan 2021 07:52:28 +0000 (08:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: If89eb86767d45eebe9d5b2009d7e3e8d34c549d4

3 years agoVK_KHR_fragment_shading_rate tests
Jeff Bolz [Tue, 23 Jun 2020 04:11:08 +0000 (23:11 -0500)]
VK_KHR_fragment_shading_rate tests

New tests: dEQP-VK.fragment_shading_rate.*
Affects: dEQP-VK.fragment_shader_interlock.*

Components: Vulkan
VK-GL-CTS Issue: 2397

Change-Id: I776d80f671e14610f9206bc2e1e696d3a49cc121
(cherry picked from commit f04111312c90f2e3db79bc3eacc692ab2fe028b0)

3 years agoDisable conflicting fragment shading rate features
Piotr Byszewski [Mon, 23 Nov 2020 09:48:06 +0000 (10:48 +0100)]
Disable conflicting fragment shading rate features

Features of VK_EXT_fragment_density_map and VK_NV_shading_rate_image cannot
be enabled at the same time as features of VK_KHR_fragment_shading_rate.

Instead if the VK_KHR_fragment_shading_rate features are enabled then
disable the VK_EXT_fragment_density_map and VK_NV_shading_rate_image features
and use a temporary device with them enabled for testing.

Components: Vulkan, Framework

VK-GL-CTS Issue: 2665

Affects: *

Change-Id: I544c021ed963bd453635283282a6a272383e448e
(cherry picked from commit 05c7485f7970f363e0fd2781cec980b95c3d3714)

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 7 Dec 2020 13:47:52 +0000 (14:47 +0100)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ic1bb4c95c106a29b966997bfcd8b6d7054983ecf
(cherry picked from commit b904bd812fcb17f0810b8e6203db1f9c367c39e0)

3 years agoMove image to optimal layout before using it in renderpass in synchronization tests
Slawomir Cygan [Mon, 28 Dec 2020 14:48:20 +0000 (15:48 +0100)]
Move image to optimal layout before using it in renderpass in synchronization tests

This fixes 'write_clear_attachments' operation, where newly created image, while
still being in UNDEFINED layout was used in renderpass, that starts from
DEPTH_STENCIL_OPTIMAL layout.

This fixes regression introduced in 2e2e79bd.

Components: Vulkan

VK-GL-CTS Issue: 2709

Affects: dEQP-VK.synchronization.*write_clear_attachments*

Change-Id: I2e2f587ce5fbe928b6146f349cd37a645661645f

3 years agoFix indexing of SBT entries in dEQP-VK.ray_tracing_pipeline.shader_binding_table...
Slawomir Cygan [Wed, 23 Dec 2020 14:15:54 +0000 (15:15 +0100)]
Fix indexing of SBT entries in dEQP-VK.ray_tracing_pipeline.shader_binding_table test

There are few variants of this test ("hit", 'miss", "call"). Only "hit" and "call" variants prepare
per-geometry-instance shader hit groups, while "miss" variant prepares only
one hit group in the shader binding table.

At the same time, in the accelleration strucures, all variants advance
instanceShaderBindingTableRecordOffset per instance of geometry. This makes "miss" variant
to index incorrect records in the shader binding table.

Specification says:
"The application must organize the contents of the shader binding table’s memory in
 a way that application of the indexing rules will lead to correct records."

To avoid overrunning the shader binding table, instanceShaderBindingTableRecordOffset should
be always 0 in "miss" test variant.

VK-GL-CTS Issue: 2706

Affects: dEQP-VK.ray_tracing_pipeline.shader_binding_table.*

Components: Vulkan

Change-Id: I72870fc6ac6627522aaaa0fd9d2a3736001f44c1

3 years agoFix heap read out of bounds in RenderPass tests.
Charles Johnston [Thu, 7 Jan 2021 15:00:48 +0000 (10:00 -0500)]
Fix heap read out of bounds in RenderPass tests.

Pass the correct size of the buffer to uploadBufferData.

Affected tests:
dEQP-VK.renderpass*.attachment_allocation.*
dEQP-VK.renderpass*.suballocation.*

Components: Vulkan
VK-GL-CTS issue: 2708

Change-Id: Ib498be09f1c8437e8080c5b5f3a12d8b7a25a262

3 years agoAllow geometry shader to reorder vertices in dEQP-VK.ray_query.ray_flags.geometry_sha...
Slawomir Cygan [Wed, 23 Dec 2020 16:31:06 +0000 (17:31 +0100)]
Allow geometry shader to reorder vertices in dEQP-VK.ray_query.ray_flags.geometry_shader.* test

This fixes the geometry shader used in the test to allow gl_in[] to start from
arbitrary vertex from the triangle primitive.

According to spec:

"""
24.1. Geometry Shader Input Primitives
...
Vertices may be in a different absolute order to that specified by the topology,
but must adhere to the specified winding order.
"""

The test does some ray query computation in geometry shader, using elements
of gl_in[] as inputs, and storing the outputs in consecutive pixels of storage image.
The test than verifies the image contents using some predefined vertex order.
As gl_in is not queranteed to follow this order, vertex index from vertex shader is now
used to calculate starting index, from which gl_in is iterated.

Components: Vulkan

VK-GL-CTS Issue: 2707

Affects: dEQP-VK.ray_query.ray_flags.geometry_shader.*

Change-Id: I81029d88f5b1f3462a8c5058298ee8a850020d06

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Fri, 18 Dec 2020 16:43:18 +0000 (17:43 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Icb5e7e25ae6236ae1fd13216514d4a414dfaed44

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Fri, 18 Dec 2020 09:48:33 +0000 (10:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ie4a7bdf8b1e7b9579112a21a4dbefec8dd20687a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 18 Dec 2020 08:49:46 +0000 (09:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ib199c6c60ed14c4549a90ad19dcb20a7a5ad1a27

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 18 Dec 2020 08:06:05 +0000 (09:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I2321a93eaa56abbe87c87680aedd8ceb76b645e1

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 17 Dec 2020 15:03:09 +0000 (16:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If26f7fae4e13aff58e233680c755db99879644b3

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 17 Dec 2020 14:10:25 +0000 (15:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I3ed8d5f4de16750c664e4c8908b8b971f48f7593

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 17 Dec 2020 13:21:47 +0000 (14:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I004160d9169fcb42a928c10d76b5355dd671e5a8

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 17 Dec 2020 13:20:59 +0000 (14:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Ie1ff8e21a9cffae5e0616204ff3416e490ca0637

3 years agoAvoid advertising disabled robustness2 features
Ricardo Garcia [Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)]
Avoid advertising disabled robustness2 features

Make sure getRobustness2FeaturesEXT does not advertise a feature as
enabled when, in fact, the feature has been disabled when creating the
default test device in the context. This is consistent with the behavior
that was in place for robustBufferAccess.

In addition, disable image robustness in the default device, to be
consistent with the existing behavior for robustness2 features and
robustBufferAccess.

This means robustness2 and image robustness tests needed to be modified
to stop relying on feature checks from the context, like using
getRobustness2FeaturesEXT, because those will now be reported as not
enabled. In other words, feature getters from the context report
features that are *enabled* on the default device, and not features that
are merely available.

In addition, make robustness2 and image robustness tests use separate
devices when enabling image robustness or robustness2 features, so as to
run image robustness tests without any robustness2 feature.

In addition, require and enable the scalar block layout feature, which
is used to compile every shader in this test group.

Affected tests:
dEQP-VK.robustness.robustness2.*
dEQP-VK.robustness.image_robustness.*

Components: Vulkan
VK-GL-CTS issue: 2634
VK-GL-CTS issue: 2643

Change-Id: I641c0f6f659a89bd12a36da175358d3edc2dfeae
(cherry picked from commit cea5003e0f519dff9d9ce6805a4994ebfde5e4f2)

3 years agoFix build for Unices without CLOCK_MONOTONIC_RAW
Liam Middlebrook [Wed, 9 Dec 2020 23:17:26 +0000 (15:17 -0800)]
Fix build for Unices without CLOCK_MONOTONIC_RAW

CLOCK_MONOTONIC_RAW was introduced in Linux 2.6.28 and glibc 2.12. In
order to build the CTS on non-Linux Unices or older Linux distros we
should only compile-in usage of CLOCK_MONOTONIC_RAW when it is available
at build-time.

Components: Vulkan

VK-GL-CTS issue: 2696

Affects:
dEQP-VK.pipeline.timestamp.calibrated.host_domain_test

Change-Id: I937d4ea6350fe0b70c0028d9ae48b9234e425fdf

3 years agovktRayTracingMiscTests.cpp: abs -> fabsf
Robert Morell [Thu, 10 Dec 2020 01:23:48 +0000 (17:23 -0800)]
vktRayTracingMiscTests.cpp: abs -> fabsf

Fixes these errors building for FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp:2248:11: error: call to 'abs' is ambiguous
                                                if (abs(currentItem.dataChunk.at(nItem) - static_cast<float>(nRay + nItem)) > 1e-3f)
                                                    ^~~
/usr/include/stdlib.h:83:6: note: candidate function
int      abs(int) __pure2;
         ^
/usr/include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/usr/include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^

VK-GL-CTS issue: 2696

Components: Vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.misc.callableshaderstress*

Change-Id: I0be12116f368d02251a7b1d6a560d1ff898f78dd

3 years agooglcts-runner: Include cstdlib in glcTestRunnerMain
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain

To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.

Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
        int exitStatus = EXIT_SUCCESS;
                         ^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
                                        exitStatus = EXIT_FAILURE;
                                                     ^

Components: OpenGL

VK-GL-CTS issue: 2696

Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048
(cherry picked from commit a3087b1818e7310757304574da1e021e9578438b)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 10 Dec 2020 14:07:11 +0000 (15:07 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I90d7ded1d0fb76225a2f07354b76f1111bca7e2b

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 10 Dec 2020 13:30:11 +0000 (14:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ifc19d39f8f561171fabb3598587dec9822e37dc2

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 10 Dec 2020 11:04:34 +0000 (12:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I71fc9c2f2a1132010379b79b0ca2445f57c5055c

3 years agoRemove cov-fold-div-uniform-by-zero
Alexander Galazin [Thu, 10 Dec 2020 10:19:36 +0000 (11:19 +0100)]
Remove cov-fold-div-uniform-by-zero

The test relies on undefined behavior

Components: Vulkan

VK-GL-CTS issue: 2691

Affects: dEQP-VK.graphicsfuzz.cov-fold-div-uniform-by-zero

Change-Id: Id5703afdf8aeb544b601184b91463a5cf0a7c532

3 years agoFix instance creation
Joerg Wagner [Sat, 5 Dec 2020 12:12:10 +0000 (13:12 +0100)]
Fix instance creation

Pass parameters in the right order when
creating a temporary instance to allow
tests to be skipped when features are not
supported.

Affects: dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
VK-GL-CTS issue: 2689

Change-Id: Iba9490debc4870f158b30295930783e2291c4f77

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 9 Dec 2020 12:37:57 +0000 (13:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Id23124bcd500db5ddbc6da9beb2f94239d52cd55

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 9 Dec 2020 09:57:03 +0000 (10:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Icdf3698545ae26c2b9c2bcbd1d7adcfc2a14fc28

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 9 Dec 2020 08:54:46 +0000 (09:54 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Id9f7774598b101e0f88ce933f347aadffcd7c73d

3 years agoRemove travis.yml
Alexander Galazin [Wed, 9 Dec 2020 08:52:05 +0000 (09:52 +0100)]
Remove travis.yml

Components: Framework

Change-Id: I14bcef09f4c198dc14c56c304cbc1199b4110ce2

3 years agoRemove cov-fold-div-variable-by-zero
Alexander Galazin [Tue, 8 Dec 2020 09:10:35 +0000 (10:10 +0100)]
Remove cov-fold-div-variable-by-zero

The test relies on undefined behavior

Components: Vulkan

VK-GL-CTS issue: 2691

Affects: dEQP-VK.graphicsfuzz.cov-fold-div-variable-by-zero

Change-Id: I56f7e34bb237184b53c60b8074d19e16c400fff7

3 years agoFix clang 10.0 build of ray tracing control flow tests
Slawomir Cygan [Mon, 7 Dec 2020 17:19:25 +0000 (18:19 +0100)]
Fix clang 10.0 build of ray tracing control flow tests

The build fails due to -Werror,-Wunused-const-variable warning.
the PUSH_CONSTANTS_COUNT constant is used only in debug builds.

Components: Vulkan

Change-Id: I6ee3920619109024cb9ba29c0d22722d0069d91d
(cherry picked from commit d64576958e0195bb9029ac7ffab9717afb9ddffa)

3 years agoSelect SPIR-V for the robustness' compute shaders
Tony Zlatinski [Tue, 1 Dec 2020 23:54:21 +0000 (17:54 -0600)]
Select SPIR-V for the robustness' compute shaders

Use SPIR-V v1.3 instead of SPIR-V v1.4 ShaderBuildOptions
for the compute shaders of the robustness tests using 64-bit formats.
Apparently, SPIR-V v1.4 is not required for those shaders.
Otherwise, the SPIR-V validation fails on Vulkan v1.1 devices
such as Android.
For tests that do not require/test 64-bit formats,
fall back to using SPIR-V v1.0.

Components: Vulkan

VK-GL-CTS issue: 2679

Affects:
dEQP-VK.robustness.*.comp

Change-Id: I6054682e7dbc4460595a8264338a04ee36f9e3d1
(cherry picked from commit 9f0afc24c74fa608e1993f7ec342053949f152d8)

3 years agoFix buffer offsets in push descriptor tests
Ricardo Garcia [Thu, 26 Nov 2020 16:35:07 +0000 (17:35 +0100)]
Fix buffer offsets in push descriptor tests

This commit fixes push descriptor tests that were updating storage
buffer descriptors using offset values that may not have been multiples
of minStorageBufferOffsetAlignment.

In addition, it fixes image layout problems with some of these tests
that were causing validation errors.

Finally, it introduces the de::gcd and de::lcm functions to calculate
the greatest common divisor and least common multiple of two numbers.
These are useful when calculating alignments that need to meet several
base alignment requirements.

Affected tests:
dEQP-VK.pipeline.push_descriptor.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2661

Change-Id: I36bcaf6114994ec5b42bcd5acc11340f079823dd
(cherry picked from commit 0f25191c03f324762437615d961bad978b9d5e15)

3 years agoDestroy deferred ops before destroying devices
Ricardo Garcia [Fri, 30 Oct 2020 14:04:56 +0000 (15:04 +0100)]
Destroy deferred ops before destroying devices

Many ray tracing tests were creating deferred operations with
vkCreateDeferredOperationKHR but not destroying them after being used. To fix
that, operations are created using the createDeferredOperationsKHR wrapper that
returns vk::Move objects.

Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*_dho*
dEQP-VK.ray_tracing_pipeline.build.cpuht_*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht.*
dEQP-VK.ray_query.acceleration_structures.*.cpu_built.*
dEQP-VK.ray_tracing_pipeline.*.cpu_built.*

Components: Vulkan
VK-GL-CTS issue: 2639

Change-Id: I0ce4e18548fdcf93e3363754c534b1dd6676aed9
(cherry picked from commit 75334af0029ec95fea2f7eaee2d79a07b5473a82)

3 years agoFix slow run time of OpPhi wide test
Ilkka Saarelainen [Fri, 4 Dec 2020 12:39:38 +0000 (14:39 +0200)]
Fix slow run time of OpPhi wide test

dEQP-VK.spirv_assembly.instruction.compute.opphi.wide was using 1024
arguments for OpPhi SpirV instruction. This was causing very slow
run/compile time on some devices and therefore failing the test due to
timeout.

This CL halves the number of arguments given to the OpPhi instruction to
avoid timeouts.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opphi.wide

VK-GL-CTS Issue: 2681

Components: Vulkan
Change-Id: Ice41e983b8da866916e07c1b52d7ccfd65001077

3 years agoOnly use AABBs for the shader record tests
Eric Werness [Wed, 25 Nov 2020 22:46:16 +0000 (14:46 -0800)]
Only use AABBs for the shader record tests

AABBS_AND_TRIANGLES uses the instanceSBTOffset to pick between shader hit
groups, but the test only defines one shader hit group. Just using AABBs
still exercises all shaders but fits the shader groups defined by the test.

Affects: dEQP-VK.ray_tracing_pipeline.misc.shaderRecord*

Components: Vulkan
VK-GL-CTS issue: 2444

Change-Id: Ic718c22e9ef4176763179b084019a3a83ed7c584
(cherry picked from commit 11b863aca0d3eb09a1d9ebd8e91c3c310578220e)

3 years agoEnable VK_KHR_ray_tracing_pipeline only if needed
Ricardo Garcia [Fri, 30 Oct 2020 15:10:43 +0000 (16:10 +0100)]
Enable VK_KHR_ray_tracing_pipeline only if needed

This commit makes the default test device not enable the
VK_KHR_pipeline_library extension by default, which can potentially affect all
ray tracing and ray query tests.

Ray tracing pipeline tests are modified to use a custom device with the needed
features enabled, including the VK_KHR_pipeline_library extension. The tests
also check the extension is supported if VK_KHR_ray_tracing_pipeline is
supported, failing the test early if not.

Modified tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*

Affected tests:
dEQP-VK.ray_tracing_pipeline.*
dEQP-VK.ray_query.*

Components: Vulkan
VK-GL-CTS issue: 2592

Change-Id: I1494ab3ce28fdce892f0444cba9ca538caec1208
(cherry picked from commit e5735c76c5eb51133a6c3b7763f8556cd868bfbb)

3 years agoSimplify geometry to reduce AABB precision issues
Eric Werness [Thu, 19 Nov 2020 01:16:23 +0000 (17:16 -0800)]
Simplify geometry to reduce AABB precision issues

AABBs are allowed to hit conservatively for precision reasons, which was
causing failures in some cases. Extremely simplify the geometry to make
it very unlikely that we'll get false hits.

Affects:

dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces*

Components: Vulkan
VK-GL-CTS issue: 2444

Change-Id: Ie8a9ffde2761354a395c6367e6bca8145a22bbf3
(cherry picked from commit 756a198f6f3f5aa63a8b10c3c5fe4cf60fb3b2bb)

3 years agoShorten the ray so that it can't hit other cells
Eric Werness [Wed, 2 Dec 2020 02:11:40 +0000 (18:11 -0800)]
Shorten the ray so that it can't hit other cells

Affects: dEQP-VK.ray_tracing_pipeline.misc.cullmask*

Components: Vulkan
VK-GL-CTS issue: 2444

Change-Id: I50ecdaa97974074f8d17d7c37a6441feaf467730
(cherry picked from commit 1b87b2975e0e0a088e19b258e4ebc19b8505726e)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gk-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 3 Dec 2020 18:56:00 +0000 (19:56 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gk-cts/vulkan-cts-1.2.5

Change-Id: I9886526c34c8db829eb6029253319d70ecc9751a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 3 Dec 2020 18:19:54 +0000 (19:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: If5df84170f93fcf5c31f8bc44f559c5bc98b6e50

3 years agoFix test using protected features without creating a device with them enabled
Michal Opalka [Mon, 30 Nov 2020 07:48:36 +0000 (08:48 +0100)]
Fix test using protected features without creating a device with them enabled

The vulkan device was created without protected memory extension,
while later the tests queried physical device if the feature is supported
and based on that created protected image.

Components: Vulkan

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

VK-GL-CTS Issue: 2675

Change-Id: I6d606fb34c89474b529c0f9e0e7a93202e801521
(cherry picked from commit fc849a80c35d31f621c0dfee74395791ed5dec75)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 3 Dec 2020 17:26:51 +0000 (18:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ie115d2e00cf468c6403fae07c9f77b466c3c4380

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 3 Dec 2020 16:40:41 +0000 (17:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I9855d3d8134ac73ea00b95adde9a66a37c0a03b3

3 years agoFixes descriptor indexing tests cache issue
Matthew Netsch [Wed, 2 Dec 2020 20:41:16 +0000 (15:41 -0500)]
Fixes descriptor indexing tests cache issue

Tests were not invalidating the results
buffer data before verifying.

Components: Vulkan
VK-GL-CTS Issue: 2682

Affects:
dEQP-VK.descriptor_indexing.*

Change-Id: Ia2afa6697d12fd3f4ebc8ef29ae01d166f290a7f

3 years agoAdd memory include in vktRayTracingMiscTests.cpp
Liam Middlebrook [Sun, 29 Nov 2020 22:24:05 +0000 (14:24 -0800)]
Add memory include in vktRayTracingMiscTests.cpp

std::unique_ptr is defined in the `memory` header, so that header must
be included in order to use it. This resolves build failures which I was
hitting with my local copy of GCC.

Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.*

Components: Vulkan
VK-GL-CTS issue: 2674

Change-Id: Ibd2c143711e60c6c60477ab39595a5c4429277bb

3 years agoUpdate AccessInstance::verifyResult() to support 64-bit types
Piers Daniell [Wed, 25 Nov 2020 21:53:32 +0000 (14:53 -0700)]
Update AccessInstance::verifyResult() to support 64-bit types

When 64-bit support was added to the
dEQP-VK.robustness.buffer_access.through_pointers.* tests in
https://gerrit.khronos.org/#/c/5835/ the AccessInstance::verifyResult()
function was not updated to take the new 8 byte element sizes.
It assumed all accesses were in units of 4 bytes, which doesn't
work for 64-bit types which have accesses in units of 8 bytes.

Affects:

dEQP-VK.robustness.buffer_access.through_pointers.*

Components: Vulkan

VK-GL-CTS issue: 2670

Change-Id: I4656376f127bc4cf6eeaa80ed71aaa3f265e0aac
(cherry picked from commit 96ce07e58b7a6ec199c9e4b01de43f5b610a5461)

3 years agoAllow Vulkan CTS 1.2.5.0
Alexander Galazin [Thu, 26 Nov 2020 19:26:55 +0000 (20:26 +0100)]
Allow Vulkan CTS 1.2.5.0

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: Ifc3feae574078230200538b0f81b0a91b4614cad

3 years agoDisable VK_KHR_fragment_shading_rate
Alexander Galazin [Thu, 26 Nov 2020 17:52:12 +0000 (18:52 +0100)]
Disable VK_KHR_fragment_shading_rate

This is a temporarrry solution to the issue that
this extension brings in features that are disallowed
in combination with certain feeeatures exposed by
VK_NV_shading_rate_image and VK_EXT_fragment_density_map.

A complete fix will come in CL 6376.

Compoenents: Vulkan

VK-GL-CTS issue: 2665

Change-Id: I62d1ee0e9760ac6d7911d435b2811d16d1adf342

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Thu, 26 Nov 2020 19:06:47 +0000 (20:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: Ic297aa295cadb7a95eae99aede64da5788abcdcd

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 26 Nov 2020 18:29:20 +0000 (19:29 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ia429349d7b0b35eb29243833dd471406bd7adc87

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 26 Nov 2020 17:42:40 +0000 (18:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I66f05ed7be1361806de4ea2d8e17ea6472bb93cb