platform/upstream/VK-GL-CTS.git
3 years agoDon't forget to enable KHR_fragment_shading_rate
Lionel Landwerlin [Mon, 22 Feb 2021 13:02:52 +0000 (15:02 +0200)]
Don't forget to enable KHR_fragment_shading_rate

Component: Vulkan
VK-GL-CTS Issue: 2803

Affected tests: dEQP-VK.fragment_shading_rate.pixel_consistency.*

Change-Id: I1b9c0dd5e6e69642b89a0830bc1fd5639119445e

3 years agoFix compute binding storage buffer alignment
Ricardo Garcia [Mon, 22 Feb 2021 13:50:32 +0000 (14:50 +0100)]
Fix compute binding storage buffer alignment

The fix for VK-GL-CTS issue #2661 missed some compute push descriptor
binding tests that are not respecting minStorageBufferOffsetAlignment.
This commit fixes those remaining cases.

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

Components: Vulkan
VK-GL-CTS issue: 2797

Change-Id: Ic22abe8d2d4fe37b1126d1c1fd7b5851029f708f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 2 Mar 2021 12:58:46 +0000 (15:58 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I2e280bdbfd5b4e186161cfda4ed84ebc3f1f95ec

3 years agoUpdate dEQP test runner
Alastair Donaldson [Thu, 11 Feb 2021 18:12:41 +0000 (18:12 +0000)]
Update dEQP test runner

Updates the dEQP test runner to account for the
android.software.opengles.deqp.level feature flag. This generalises
the logic that previously checked whether a Vulkan test list should be
skipped depending on the value of the analogous Vulkan feature flag.

Bug: 169021525

Change-Id: I00e04b6cda698c0649e4dcd2923e87156539e5c0

3 years agoAdd Android test lists for OpenGL ES
Alastair Donaldson [Wed, 10 Feb 2021 13:00:21 +0000 (13:00 +0000)]
Add Android test lists for OpenGL ES

Adds two new test lists for each of OpenGL ES 2.0, OpenGL ES 3.0 and
OpenGL ES 3.1, corresponding to dEQP snapshots for Android
versions. The full master test lists for OpenGL ES are no longer run
by default.

Bug: 169021525

Change-Id: I86eea5263f074fa8e6b826e7ded458953ebfb17c

3 years agoFix Windows build
Yuly Novikov [Fri, 26 Feb 2021 00:02:09 +0000 (19:02 -0500)]
Fix Windows build

Missing #include for std::min in glcFramebufferCompleteness.cpp

Components: OpenGL

VK-GL-CTS issue: 2699

Change-Id: Ia00bcf77f1d5be0b9b6c3fa368f8cd14244351f2

3 years agoAdd new Vulkan test list and update test list generation
Alastair Donaldson [Tue, 9 Feb 2021 15:42:03 +0000 (15:42 +0000)]
Add new Vulkan test list and update test list generation

Adds a test list capturing the Vulkan dEQP tests frozen for Android
11, and changes the test list generator to use this list.

Due to various tests having been renamed or removed, list generation
does not yet work.

Bug: 169021525

Change-Id: Icab9e25d1acc24d121feacdf8720d14e8db69d91

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 1 Mar 2021 15:15:15 +0000 (18:15 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ifd91260d3f552ac8690d91ac3d8007362f725df0

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 25 Feb 2021 19:24:52 +0000 (20:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Idb438276e8940dbe921b2a331a58a0ebebd4ad9c

3 years agoPipeline bind point tests
Ricardo Garcia [Tue, 16 Feb 2021 15:48:23 +0000 (16:48 +0100)]
Pipeline bind point tests

Test binding different objects (sets and pipelines) to different bind
points and verify nothing breaks and each batch of work is dispatched as
expected using the right resources.

New tests:
dEQP-VK.pipeline.bind_point.*

Components: Vulkan
VK-GL-CTS issue: 2789

Change-Id: Ifab3b375724b14654f6c7f9fd95ca8c317383a4c

3 years agoAdd tests for sparseImageFloat32Atomics
Ricardo Garcia [Fri, 5 Feb 2021 14:56:21 +0000 (15:56 +0100)]
Add tests for sparseImageFloat32Atomics

This commit adds image atomic operation tests using sparse images in
order to check the sparseImageFloat32Atomics feature.

In addition, it addresses several issues with the image atomic operation
tests, related to the tests behaving differently depending on which
features the implementation supported:

* If supported, transfer operations were performed on storage images,
  with a code path containing a fallback using shaders.

* 64-bit formats always used shaders instead of transfer operations.

* When reading values back from images using shaders, if the
  implementation supported shaderResourceResidency, values were read
  back using sparseImageLoadARB instead of normal reads.

These behaviors are now encoded in the test parameters and combined,
producing a higher number of variants without losing test coverage.

Also in addition, this commit adds the de::dataOrNull function to obtain
a vector's data pointer or a null pointer when the vector is empty.
Similar functions and checks are commonly performed in many tests, but
this commit does not attempt to replace existing uses.

Affected and new tests:
dEQP-VK.image.atomic_operations.*

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

Change-Id: I5c77eb42990ad57fdd43e6e4a7e74b7c149f8e14

3 years agoFix more spurious failures in KHR-GL*.transform_feedback.api_errors_test
Eric Anholt [Wed, 3 Feb 2021 20:33:46 +0000 (12:33 -0800)]
Fix more spurious failures in KHR-GL*.transform_feedback.api_errors_test

It was checking for extensions (or not even checking!), then using the
corresponding core GLSL versions in the programs when trying to test
GS and tess.  Just skip these shader stage tests if we don't have the
core GL version necessary to compile our programs.

Fixes spurious failures on softpipe (which has GS) on the KHR-GL32
variant of the test, and on freedreno (which has tess but only GL 3.3)
on the KHR-GL33 variant.

Components: OpenGL
Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Iaccd402c0a8420a5ce698d9befd54ec05b23c869

3 years agoFix spurious failures on KHR-GL30.transform_feedback.api_errors_test
Eric Anholt [Wed, 3 Feb 2021 20:08:33 +0000 (12:08 -0800)]
Fix spurious failures on KHR-GL30.transform_feedback.api_errors_test

The list of valid prims was missing that compat contexts have GL_QUADS
as a valid prim type, so the GL30/31 tests would fail, or later
contexts that include ARB_compat by default.

This addition follows the existing model of the GS primitive types
where we always avoid them when looking for an invalid prim enum,
rather than tess's model where we make a point of picking GL_PATCHES
if the test thinks tess is unsupported.

VK-GL-CTS issue: 2717

Components: OpenGL

Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Ie8f3a554d7de9efb4ca7356fefff5028c9ffa45f

3 years agoPrint ints for pixel values instead of chars in error message
Tapani Pälli [Thu, 21 Jan 2021 12:47:31 +0000 (14:47 +0200)]
Print ints for pixel values instead of chars in error message

This changes following error output in results log:

   "Reference pixel [@, <80>, <FF>,  ] is different ..."

to better formattted:

   "Reference pixel [64, 128, 255, 32] is different ..."

VK-GL-CTS Issue: 2783

Affects:
   KHR-GLES31.core.geometry_shader.layered_framebuffer.clear_call_support

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I1807feb17fe59b162a9c40cb909536d3a4a856c1

3 years agoFix exit code for cts-runner
Thomas Spurden [Mon, 8 Feb 2021 15:30:15 +0000 (15:30 +0000)]
Fix exit code for cts-runner

The runner used m_summary.isConformant to determine the exit code after
m_summary had been cleared by TestRunner::deinit, so it was always
exiting with a failure code.

Don't clear m_summary so that isConformant is valid after deinit.

Affects:

cts-runner

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I665017f7b11985f1e639971e4a9a627045f3664a

3 years agoTests for GLES3 framebuffer completeness
Mikko Tiusanen [Mon, 4 Jan 2021 13:41:21 +0000 (15:41 +0200)]
Tests for GLES3 framebuffer completeness

Added tests for OpenGL ES 3.0 framebuffer completeness.

New tests: KHR-GLES3*.framebuffer_completeness.*

Components: OpenGL

VK-GL-CTS issue: 2699

Change-Id: If3eeda3fe39ce8ed04af9062c0013b8e9c35936b

3 years agoSupport GL 4.5 in the Program interface query tests
Alexander Galazin [Wed, 30 Dec 2020 17:07:50 +0000 (18:07 +0100)]
Support GL 4.5 in the Program interface query tests

Affects:
dEQP-GLES31.functional.program_interface_query.*
dEQP-GL45.functional.program_interface_query.*

Components: AOSP

Change-Id: Ic18132b5aacb9c0b0bd0a1259e697576123f7421

3 years agoSilence validation layers warning on missing sType
Lionel Landwerlin [Tue, 16 Feb 2021 10:12:41 +0000 (12:12 +0200)]
Silence validation layers warning on missing sType

Components: Vulkan
VK-GL-CTS issue: 2793
Affects: dEQP-VK.fragment_shading_rate.pixel_consistency.*

Change-Id: If2b4685cff734469099627795eee640766ce77bd

3 years agoAllow wildcards in waiver vendor strings
Mika Väinölä [Mon, 8 Feb 2021 11:01:23 +0000 (13:01 +0200)]
Allow wildcards in waiver vendor strings

Use wildcard matching instead of exact string comparison for GL
waiver vendor attributes. Use "Google*" prefix for ANGLE XFB
waiver and remove a duplicate ANGLE waiver.

VK-GL-CTS issue: 2770

Components: Framework, OpenGL

Change-Id: I0ffc54af6aaa4c562bf1e8b5077e365da71f9a3e

3 years agoAdd a list of unused shaders into log
Boris Zanin [Wed, 20 Jan 2021 09:43:50 +0000 (10:43 +0100)]
Add a list of unused shaders into log

Cleanly mark unused shaders during test.
Only passing tests are checked.

Components: Vulkan

VK-GL-CTS issue: 2743

Change-Id: I96c514c1ef142198d89e2979928785a1a3500bb6

3 years agoAdd concurrent transform feedback streams query tests
Boris Zanin [Tue, 12 Jan 2021 15:04:18 +0000 (16:04 +0100)]
Add concurrent transform feedback streams query tests

Add tests for concurrent VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT
queries using different indices.

Add tests:
 * dEQP-VK.transform_feedback.simple.multiquery*

Affect tests:
 * dEQP-VK.transform_feedback.simple.*

Components: Framework, Vulkan

VK-GL-CTS issue: 2581

Change-Id: Ib6e37d1b75b45d00622b8b79401e951f2bd8cb98

3 years agoFix custom device creation for synchronization2
Piotr Byszewski [Wed, 17 Feb 2021 11:07:56 +0000 (12:07 +0100)]
Fix custom device creation for synchronization2

Some synchronization tests created custom device without
enabling all used features. This change fixes that.

Components: Vulkan

VK-GL-CTS issue: 2734

Affects:
dEQP-VK.synchronization*.basic.*.multi_queu*
dEQP-VK.synchronization*.op.multi_queue.*
dEQP-VK.synchronization*.cross_instance.*

Change-Id: Ib2c062967608c5348e5b0a5edabd310574900632

3 years agoFix dEQP-VK.synchronization* to not duplicate primary command buffers in a VkSubmitInfo
Tom Cooper [Fri, 19 Feb 2021 11:45:10 +0000 (11:45 +0000)]
Fix dEQP-VK.synchronization* to not duplicate primary command buffers in a VkSubmitInfo

Several tests in dEQP-VK.synchronization* call a helper which adds a
primary command buffer to the submit info, then use a queue submit
helper which adds the same command buffer again.

Components: Vulkan

VK-GL-CTS Issue: 2798

Affects:
dEQP-VK.synchronization*.op.multi_queue.fence.*

Change-Id: Id84f9c327ff6bc54af331c4bdb95167b2958dcd0

3 years agoRemove a waiver for a non-existant device
Graeme Leese [Tue, 23 Feb 2021 18:06:33 +0000 (18:06 +0000)]
Remove a waiver for a non-existant device

The device ID was for a test design that was never released.

Change-Id: I162d8b74f806dd46b9d9cb824f480efd723820c4

3 years agoAdd tests for implicit unmap on free
Mika Väinölä [Wed, 1 Jul 2020 07:28:55 +0000 (10:28 +0300)]
Add tests for implicit unmap on free

Allocate, map and free a large amount of device memory in a loop and
attempt to catch memory leaks on implementations that fail to free
mapped device memory.

New tests:
dEQP-VK.memory.mapping.*.full.variable.implicit_unmap

Affects:
dEQP-VK.memory.mapping.*

Components: Vulkan

VK-GL-CTS issue: 2260

Change-Id: I5cebcc7efe6c422bcf237634f270ddcd2659f3e2

3 years agoFix inconsistent primitive count issue
Neslisah Torosdagli [Mon, 22 Feb 2021 23:14:50 +0000 (18:14 -0500)]
Fix inconsistent primitive count issue

Number of primitives added to the geometries were larger than number of primitives initialized in the shader. This change fixes that.

Components: Vulkan

VK-GL-CTS issue: 2800

Affects: dEQP-VK.ray_tracing_pipeline.indirect.build_structure

Change-Id: I50634a2f58281284b093c599d7fe965e347aac02

3 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Tue, 23 Feb 2021 11:10:58 +0000 (12:10 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I92a9250852d6633c9353620e81ac7469042c249a

3 years agoMerge pull request #241 from enunes/gles2-EXT_texture_rg
Alexander Galazin [Tue, 23 Feb 2021 11:06:03 +0000 (12:06 +0100)]
Merge pull request #241 from enunes/gles2-EXT_texture_rg

Fix missing TEXTURE_VALID for EXT_texture_rg

3 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 23 Feb 2021 08:02:17 +0000 (09:02 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I432c3c1fd37416a2ec4b05cf8ab7cd947260e6a2

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 19 Feb 2021 13:39:30 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I50fdc6b4f373a6d7f4da24e00a2ed62375b995cb

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 agoFix image format in memory model tests
Ilkka Saarelainen [Fri, 12 Feb 2021 11:18:51 +0000 (13:18 +0200)]
Fix image format in memory model tests

dEQP-VK.memory_model.* tests that use images were using format
R32_UINT even if the shader requires float type.

This CL changes the image and image view formats to R32_FLOAT in
tests that use float types in the shader.

Affects:
dEQP-VK.memory_model.message_passing.*
dEQP-VK.memory_model.write_after_read.*
dEQP-VK.memory_model.transitive.*

Components: Vulkan

VK-GL-CTS issue: 2781

Change-Id: Iea0d980b231c849f47fd0f9fced480b2ae2120ec

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 agoRemove RelaxedPrecision in test
Andreas Flöjt [Mon, 1 Feb 2021 14:46:09 +0000 (15:46 +0100)]
Remove RelaxedPrecision in test

It relies on full precision in the comparison, which was not previously
guaranteed.

Components: Vulkan

Affects:
dEQP-VK.graphicsfuzz.cov-bitfieldExtract-undefined

VK-GL-CTS issue: 2774

Change-Id: I36bd18ed2d63d5c5a7e7b32e912456e74b640153

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 19 Feb 2021 08:16:10 +0000 (09:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I82927bcfd12aa937e4c4c4a44b016e760664cd31

3 years agoTest variable pointers on dynamic descriptors
Ari Suonpaa [Mon, 14 Sep 2020 07:17:09 +0000 (10:17 +0300)]
Test variable pointers on dynamic descriptors

Added a variable pointer test for accessing descriptors
of dynamic type.

VK-GL-CTS Issue: 2373

New tests:

dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.dynamic_offset.*

Components: Vulkan
Change-Id: I37241cae2ba1c5870958a751de556047c3bae839

3 years agoSupport GL 4.5 in the textureGather tests
Alexander Galazin [Fri, 5 Feb 2021 09:32:51 +0000 (10:32 +0100)]
Support GL 4.5 in the textureGather tests

Componets: AOSP

Affecsts:
dEQP-GLES31.functional.texture.gather.*
dEQP-GL45.functional.texture.gather.*

Change-Id: Iea0cc9400bf3f6d10a0725ec28e68f742ad50ea6

3 years agoSupport GL 4.5 in the blend_equation_advanced tests
Alexander Galazin [Tue, 15 Dec 2020 08:20:04 +0000 (09:20 +0100)]
Support GL 4.5 in the blend_equation_advanced tests

Affects:
dEQP-GLES3*.functional.blend_equation_advanced

Change-Id: Ic25b55c01efcfa7e68bb712c04f57f327eff728e
Components: Framework

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 agoSupport GL 4.5 in the Built-in Constant Tests
Alexander Galazin [Thu, 21 Jan 2021 13:42:40 +0000 (14:42 +0100)]
Support GL 4.5 in the Built-in Constant Tests

Affects:
dEQP-GLES31.functional.shaders.builtin_constants.*
dEQP-GL45.functional.shaders.builtin_constants.*

Components: AOSP

Change-Id: I164d320ca80e96327176f8c38a8a04b2d1134a79

3 years agoAdd tests for mixing matrix packing in nested structs
Ari Suonpaa [Tue, 2 Feb 2021 05:33:19 +0000 (07:33 +0200)]
Add tests for mixing matrix packing in nested structs

Mixing different matrix packing qualifiers on top level
uniform block and a matrix inside it was not previously
tested. These new tests fill this coverage gap.

VK-GL-CTS Issue: 2180

New tests:

dEQP-GLES3.functional.ubo.single_nested_struct_mixed_matrix_packing.*

Components: OpenGL
Change-Id: I697ab62d5bb59adcb140db6ad9d84fcebc32eefa

3 years agoExtend CopyImage tests to test astc_sliced_3d
Graeme Leese [Thu, 21 Jan 2021 10:52:22 +0000 (10:52 +0000)]
Extend CopyImage tests to test astc_sliced_3d

These tests can be run for this extension, so they should be run.

Components: OpenGL
Affects: dEQP-GLES31.functional.copy_image.compressed.*astc*
         dEQP-GLES31.functional.copy_image.mixed.*astc*

Change-Id: Ibc9006678affe6bea27c6851ef7ed663cec0693e

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 agoFix undefined behavior in FloatToHalf
Mika Väinölä [Tue, 19 Jan 2021 14:00:32 +0000 (16:00 +0200)]
Fix undefined behavior in FloatToHalf

The size of the exponent and mantissa in a GLhalf is smaller than
a GLfloat. This means that small numbers (that approach 0.0) will
become 0.0. This can result in doing a right-shift by 32 or more bits,
which is undefined behavior. It works with some older compilers/CPUs,
but not with newer clang.

Affects: KHR-GLES31.core.vertex_attrib_binding.basic-input-case*

Components: OpenGL ES

VK-GL-CTS issue: 2723

Change-Id: I0b1d309c6919576ef63d19f72bca37254ca11b8f

3 years agoAdd tests for all ES 3.0 internal formats
Mikko Tiusanen [Fri, 11 Dec 2020 12:15:10 +0000 (14:15 +0200)]
Add tests for all ES 3.0 internal formats

Adds internal format tests to cover all OpenGL ES 3.0
format/type/internalformat combinations.

New Tests:
KHR-GLES3*.core.internalformat.copy_tex_image.r11f_g11f_b10f
KHR-GLES3*.core.internalformat.copy_tex_image.srgb8
KHR-GLES3*.core.internalformat.copy_tex_image.srgb8_alpha8
KHR-GLES3*.core.internalformat.renderbuffer.depth32f_stencil8
KHR-GLES3*.core.internalformat.renderbuffer.depth_component32f
KHR-GLES3*.core.internalformat.renderbuffer.srgb8_alpha8
KHR-GLES3*.core.internalformat.texture2d.depth_component_float_depth_component32f
KHR-GLES3*.core.internalformat.texture2d.depth_component_unsigned_int_depth_component16
KHR-GLES3*.core.internalformat.texture2d.depth_component_unsigned_int_depth_component24
KHR-GLES3*.core.internalformat.texture2d.depth_component_unsigned_short_depth_component16
KHR-GLES3*.core.internalformat.texture2d.depth_stencil_float_32_unsigned_int_24_8_rev_depth32f_stencil8
KHR-GLES3*.core.internalformat.texture2d.red_float_r16f
KHR-GLES3*.core.internalformat.texture2d.red_float_r32f
KHR-GLES3*.core.internalformat.texture2d.red_half_float_r16f
KHR-GLES3*.core.internalformat.texture2d.red_integer_byte_r8i
KHR-GLES3*.core.internalformat.texture2d.red_integer_int_r32i
KHR-GLES3*.core.internalformat.texture2d.red_integer_short_r16i
KHR-GLES3*.core.internalformat.texture2d.red_integer_unsigned_byte_r8ui
KHR-GLES3*.core.internalformat.texture2d.red_integer_unsigned_int_r32ui
KHR-GLES3*.core.internalformat.texture2d.red_integer_unsigned_short_r16ui
KHR-GLES3*.core.internalformat.texture2d.red_unsigned_byte_r8
KHR-GLES3*.core.internalformat.texture2d.rg_float_rg16f
KHR-GLES3*.core.internalformat.texture2d.rg_float_rg32f
KHR-GLES3*.core.internalformat.texture2d.rg_half_float_rg16f
KHR-GLES3*.core.internalformat.texture2d.rg_integer_byte_rg8i
KHR-GLES3*.core.internalformat.texture2d.rg_integer_int_rg32i
KHR-GLES3*.core.internalformat.texture2d.rg_integer_short_rg16i
KHR-GLES3*.core.internalformat.texture2d.rg_integer_unsigned_byte_rg8ui
KHR-GLES3*.core.internalformat.texture2d.rg_integer_unsigned_int_rg32ui
KHR-GLES3*.core.internalformat.texture2d.rg_integer_unsigned_short_rg16ui
KHR-GLES3*.core.internalformat.texture2d.rg_unsigned_byte_rg8
KHR-GLES3*.core.internalformat.texture2d.rgb_float_r11f_g11f_b10f
KHR-GLES3*.core.internalformat.texture2d.rgb_float_rgb16f
KHR-GLES3*.core.internalformat.texture2d.rgb_float_rgb9_e5
KHR-GLES3*.core.internalformat.texture2d.rgb_half_float_r11f_g11f_b10f
KHR-GLES3*.core.internalformat.texture2d.rgb_half_float_rgb9_e5
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_byte_rgb8i
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_int_rgb32i
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_short_rgb16i
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_unsigned_byte_rgb8ui
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_unsigned_int_rgb32ui
KHR-GLES3*.core.internalformat.texture2d.rgb_integer_unsigned_short_rgb16ui
KHR-GLES3*.core.internalformat.texture2d.rgb_unsigned_byte_srgb8
KHR-GLES3*.core.internalformat.texture2d.rgb_unsigned_int_10f_11f_11f_rev_r11f_g11f_b10f
KHR-GLES3*.core.internalformat.texture2d.rgb_unsigned_int_5_9_9_9_rev_rgb9_e5
KHR-GLES3*.core.internalformat.texture2d.rgba_byte_rgba8_snorm
KHR-GLES3*.core.internalformat.texture2d.rgba_float_rgba16f
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_byte_rgba8i
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_int_rgba32i
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_short_rgba16i
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_unsigned_byte_rgba8ui
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_unsigned_int_2_10_10_10_rev_rgb10_a2ui
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_unsigned_int_rgba32ui
KHR-GLES3*.core.internalformat.texture2d.rgba_integer_unsigned_short_rgba16ui
KHR-GLES3*.core.internalformat.texture2d.rgba_unsigned_byte_srgb8_alpha8

Affects:
KHR-GLES*.core.internalformat.*

Components: OpenGL
VK-GL-CTS issue: 2175

Change-Id: Ie51e686039509adc56093431539f8b05c0a4ec58

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Feb 2021 11:24:48 +0000 (12:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I2ee873645537faf0fd25954a8f4471978416346b

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 agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Feb 2021 08:12:31 +0000 (09:12 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I9eebea6901649f3a7fc2372fe431535e7ede4625

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 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 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 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

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 agoEnsure there is a committed ray intersection before calling rayQueryGetIntersectionIn...
Slawomir Cygan [Thu, 28 Jan 2021 14:17:58 +0000 (15:17 +0100)]
Ensure there is a committed ray intersection before calling rayQueryGetIntersectionInstanceIdEXT(..., true)

The test uses rayQueryGetIntersectionInstanceIdEXT(, true) (what corresponds
to OpRayQueryGetIntersectionInstanceIdKHR with Intersection ==OpRayQueryCommittedTypeKHR)
without actually checking if there is any committed intersection.

The  SPV_KHR_ray_query spec requires that there should be a current committed intersection:

"""
Intersection is RayQueryCommittedIntersectionKHR, there must be a current committed intersection
(see OpRayQueryCommittedTypeKHR).
"""

This change fixes that by sorrounding the rayQueryGetIntersectionInstanceIdEXT call with
the check if the curent intersection is not 'None'

Components: Vulkan

VK-GL-CTS Issue: 2762

Affects: dEQP-VK.ray_query.procedural_geometry.*

Change-Id: Ic77e2e67995775b90042ada54cdfd6b627283066

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 agoTests for image OpImageWrite on mismatched vector sizes
michal_jakubek [Fri, 8 Jan 2021 09:59:44 +0000 (10:59 +0100)]
Tests for image OpImageWrite on mismatched vector sizes

New tests:
dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*

Components: Vulkan

VK-GL-CTS issue: 2412

Change-Id: I1a6a965f603a7d7a145286ac4c17a788484b7ba9

3 years agoMix dynamic state with compute and transfer
Ricardo Garcia [Mon, 1 Feb 2021 10:36:02 +0000 (11:36 +0100)]
Mix dynamic state with compute and transfer

These tests verify setting dynamic states does not interfere or cause
issues with compute and transfer commands recorded in the same command
buffer.

New tests:
dEQP-VK.dynamic_state.compute_transfer.*

Components: Vulkan
VK-GL-CTS issue: 2740

Change-Id: I5ca470778ed2695b09ccc9edd39b0b583bf9bd6f

3 years agoTest not writing to the Position built-in
Ricardo Garcia [Fri, 29 Jan 2021 10:34:30 +0000 (11:34 +0100)]
Test not writing to the Position built-in

New set of tests to check nothing breaks if a vertex processing shader
stage does not write to the position built-in.

New tests:
dEQP-VK.pipeline.no_position.*

Components: Vulkan
VK-GL-CTS issue: 2664

Change-Id: If2bb6d704937d5bbf828f253fd5094990fc432b5

3 years agoAdd coverage for depth bias
Vihanakangas [Fri, 13 Nov 2020 10:27:24 +0000 (12:27 +0200)]
Add coverage for depth bias

dEQP-VK didn't have coverage for depth bias testing.
This change verifies that the bias is calculated correctly
with floating-point depth format and integer depth formats.
The amber files copyrights under line_continuity have also been updated.
Updated amber commit id in fetch_sources.py.

New tests:

dEQP-VK.rasterization.depth_bias.*

Components: Vulkan

VK-GL-CTS issue: 2606

Change-Id: I82bdffef879f372e03602cd091e1675258c137ea

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 agoTest FragCoord with per-sample input variable
Jeff Bolz [Thu, 21 Jan 2021 22:20:41 +0000 (16:20 -0600)]
Test FragCoord with per-sample input variable

Tests this spec language for a pipeline that doesn't use
sampleShadingEnable, but does use gl_SampleID to enable sample
shading:

'When Sample Shading is enabled, the x and y components of FragCoord
reflect the location of one of the samples corresponding to the
shader invocation.'

Component: Vulkan
Affects: dEQP-VK.glsl.builtin_var.fragcoord_msaa.*

Change-Id: Ia5d423b6310b956f721cfd9f9d069b97a8fa3319

3 years agoAdd new samplerless descriptor tests
Ilkka Saarelainen [Mon, 25 Jan 2021 09:01:44 +0000 (11:01 +0200)]
Add new samplerless descriptor tests

Some implementations seem to have issues with samplerless
texelFetch function when the image is bound using set 1.
This CL adds new test variants of samplerless descriptor
update tests that use descriptor set 1 instead of 0.

Also fixes 'VUID-VkDescriptorSetLayoutBinding-descriptorType-01510'
validation errors in following test:
dEQP-VK.binding_model.descriptor_update.samplerless.input_attachment_*

New tests:
dEQP-VK.binding_model.descriptor_update.samplerless.*_set_1

Affects:
dEQP-VK.binding_model.descriptor_update.samplerless.*

Components: Vulkan

VK-GL-CTS issue: 2750

Change-Id: Ia4a2124253b555111257e4241708332707676629

3 years agoAdd a batch of GraphicsFuzz tests
Toni Salmivalli [Thu, 26 Nov 2020 13:30:02 +0000 (15:30 +0200)]
Add a batch of GraphicsFuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.do-while-if-return
dEQP-VK.graphicsfuzz.flag-always-false-if
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-false-if-discard-loop
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-nested-if-and-conditional
dEQP-VK.graphicsfuzz.stable-collatz-push-constant-with-nested-min-max
dEQP-VK.graphicsfuzz.stable-mergesort-reversed-for-loop
dEQP-VK.graphicsfuzz.stable-triangle-array-nested-loop
dEQP-VK.graphicsfuzz.stable-triangle-nested-for-loop-and-true-if
dEQP-VK.graphicsfuzz.vec2-modf

Change-Id: Ifb56713b08c8cb0351733929c20f5b18a3f6c68e

3 years agoRename all *KHR enums and structs to core
Pawel Ksiezopolski [Mon, 8 Feb 2021 15:56:35 +0000 (16:56 +0100)]
Rename all *KHR enums and structs to core

Rename all *KHR enums and structs to its core counterparts in Vulkan framework.

Components:
Framework Vulkan

Change-Id: If02aef421648addf9e5d4a6e81b36549e0aba7df
(cherry picked from commit f4b473ed1d54634df4833e4decdb96ee178f5323)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 5 Feb 2021 09:40:00 +0000 (10:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I33232d0cd1b781f6d8fe4398d32d85da7c4820cb

3 years agoUpdate README for GL/glx.h dependency on Linux
David Neto [Wed, 13 Jan 2021 19:02:26 +0000 (14:02 -0500)]
Update README for GL/glx.h dependency on Linux

(cherry picked from commit 4260ae4481ab13888606eb8e1ebdeb3391691a57)

Change-Id: I77edfe92d9687d92748004be948e456ed8c8d613

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Fri, 5 Feb 2021 07:54:58 +0000 (08:54 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: Ib2537e0bef1cefd38400f761486efb5f84b9c3e6