platform/upstream/VK-GL-CTS.git
3 years agoFix missing barrier in texture buffer test
Shahbaz Youssefi [Fri, 19 Feb 2021 19:44:01 +0000 (14:44 -0500)]
Fix missing barrier in texture buffer test

The test does:

- Draw with transform feedback
- Dispatch using the same buffer as imageBuffer

This is a WaR hazard that needs a glMemoryBarrier.

VK-GL-CTS issue: 2809

Affects:
KHR-GLES31.core.texture_buffer.texture_buffer_operations_transform_feedback

Change-Id: Id092229708421002fe1b8df38028f9c6a359c242

3 years agoReplace libUI with native Android AHB API
Ari Suonpaa [Fri, 19 Feb 2021 13:42:56 +0000 (15:42 +0200)]
Replace libUI with native Android AHB API

EGL AHB tests were using libUI which isn't accessible
using public Android builds. This change maps to the
public AHB API in a similar way Vulkan CTS is already
doing.

The supported AHB formats differ from the libUI ones,
so the tested formats have also changed.

VK-GL-CTS Issue: 2785

Affects:

dEQP-EGL.functional.image.*

Components: EGL, Framework
Change-Id: Ieb9e88106c3a4c42e516f71a0c48d99ca8a59a90

3 years agoAdd a waiver for depth bias on some Broadcom GPUs
Graeme Leese [Tue, 23 Feb 2021 18:12:28 +0000 (18:12 +0000)]
Add a waiver for depth bias on some Broadcom GPUs

VK-GL-CTS issue: 2804

Components: Vulkan

Change-Id: I85498d58d5701d6c86392efd9eb0a189e26eea54

3 years agoUpdate Vulkan/GL Readme
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme

Update the Readme files to point to the new
submission verifcation script

Components: Vulkan, OpenGL

Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c

3 years agoUpdate Amber
Ari Suonpaa [Mon, 22 Feb 2021 12:30:21 +0000 (14:30 +0200)]
Update Amber

Amber was updated to include a fix for Vulkan pointer
loading that broke CTS when using Vulkan 1.0 device.

VK-GL-CTS Issue: 2802

Affects: All Amber tests

Components: Vulkan, Framework
Change-Id: I2ceaa8b569112f2e32e8a3a4e74d82ef1e4d0a67

3 years agoAdd a batch of Graphicsfuzz tests
Toni Salmivalli [Thu, 26 Nov 2020 12:44:05 +0000 (14:44 +0200)]
Add a batch of Graphicsfuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.stable-binarysearch-tree-fragcoord-less-than-zero
dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-double-always-false-discard
dEQP-VK.graphicsfuzz.stable-mergesort-for-always-false-if-discard

Change-Id: I684c033f23f167334a6f3b69653ac8450c936eb0

3 years agoRay query hitT direction length tests
Ricardo Garcia [Tue, 2 Mar 2021 12:17:20 +0000 (13:17 +0100)]
Ray query hitT direction length tests

Add tests to check the hit distance is proportional to length of the
direction vector specified when using ray queries.

New tests:
dEQP-VK.ray_query.direction_length.*

Components: Vulkan
VK-GL-CTS issue: 2776

Change-Id: If83b97a5f32a565d6000904f4a70483e3d5b6445

3 years agoVerify submit with wait on timeline semaphore with 0 value
Lionel Landwerlin [Thu, 11 Feb 2021 21:17:37 +0000 (23:17 +0200)]
Verify submit with wait on timeline semaphore with 0 value

We have test that verifies a vkWaitSemaphores() on a timeline
semaphore value of 0. Because a timeline semaphore always has a 0
value initially, the wait should return immediately.

We can also verify that a vkQueueSubmit on the same semaphore value is
not blocked on anything.

VK-GL-CTS Issue: 1827

Affects: dEQP-VK.synchronization.timeline_semaphore.device_host.misc.initial_value

Change-Id: Ifcfe053206e9f5f836aa25c7b6edd8fa7fdfb540

3 years agoTest timeline semaphore with two threads
Piotr Byszewski [Thu, 18 Feb 2021 16:25:07 +0000 (17:25 +0100)]
Test timeline semaphore with two threads

This test waits for timeline semaphore on first thread
and signals it from second thread. Next this is repeated
but other way around.

Components: Vulkan

VK-GL-CTS issue: 2514

New test:
dEQP-VK.synchronization.basic.timeline_semaphore.two_threads

Change-Id: I6df83b03683ecb0115110c229da5e758591c5198

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Sat, 6 Mar 2021 10:02:20 +0000 (13:02 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Ia5144460255a06cadbf70faa9f7f30d00526a8e9

3 years agoSupport GL 4.5 in the Texture Filtering Tests
Alexander Galazin [Fri, 5 Feb 2021 10:45:31 +0000 (11:45 +0100)]
Support GL 4.5 in the Texture Filtering Tests

Components: AOSP

Affects:
dEQP-GLES31.functional.texture.filtering.*
dEQP-GL45.functional.texture.filtering.*

Change-Id: I2951a60bc628ee891e410091a7ee7e1eb6d6b00b

3 years agoSupport GL 4.5 in the sRGB skip decode tests
Alexander Galazin [Fri, 5 Feb 2021 10:32:07 +0000 (11:32 +0100)]
Support GL 4.5 in the sRGB skip decode tests

Components: AOSP

Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
dEQP-GL45.functional.srgb_texture_decode.skip_decode.*

Change-Id: Ica1dcf5ddf61b104f749b10c84501cc2182768f7

3 years agoUse SPV_KHR_physical_storage_buffer extension
Ilkka Saarelainen [Thu, 25 Feb 2021 07:29:33 +0000 (09:29 +0200)]
Use SPV_KHR_physical_storage_buffer extension

dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*
tests were using SPV_EXT_physical_storage_buffer extension, while
SPV_KHR_physical_storage_buffer should be used instead. Using the old
EXT-version causes validation errors, because the related Vulkan
extension VK_EXT_buffer_device_address is not enabled.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*

Components: Vulkan

VK-GL-CTS issue: 2808

Change-Id: Ic870fe32a81f6dbacb72c4f0d95e8f62e6e72ee3

3 years agoFix build indirect structure tests
Boris Zanin [Thu, 11 Feb 2021 12:31:20 +0000 (13:31 +0100)]
Fix build indirect structure tests

Incorrect number of instances has been specified for
top level structure.

Affected tests:
 * dEQP-VK.ray_tracing_pipeline.indirect.build_structure

Components: Vulkan

VK-GL-CTS issue: 2767

Change-Id: I11f9c42dd5d1b919c8de250abdae426c9c584a69

3 years agoFix reordering vertices in geometry shader in ray_query AS test
Sławomir Cygan [Fri, 26 Feb 2021 12:34:23 +0000 (13:34 +0100)]
Fix reordering vertices in geometry shader in ray_query AS test

This fixes the shader to write reordered vertice data into sequential
(unordered) store image indices

The change from 48f12336 was incomplete and misses the change to
the image store indices.

Components: Vulkan

VK-GL-CTS Issue: 2764

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

3 years agoFix source blit image size
Marcin Kańtoch [Thu, 25 Feb 2021 16:23:31 +0000 (17:23 +0100)]
Fix source blit image size

Changed the way source blit image size is calculated,
so that in all circumstances width > 0 and height > 0.

Affects:
dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.1024

Components: Vulkan

VK-GL-CTS issue: 2816

Change-Id: Id23a8e613b013e9e40b0075822b80c78b9ca418c

3 years agoFix wrong semaphore type being queried
Sean Risser [Fri, 26 Feb 2021 19:46:50 +0000 (14:46 -0500)]
Fix wrong semaphore type being queried

Signal order tests were always checking for external timeline
semaphore support even for binary semaphore tests.

Affects:

dEQP-VK.synchronization.signal_order.*

Components: Vulkan
Google bug: 180025687
VK-GL-CTS public issue: 242

Change-Id: Ic15cb246a5cf8919282c16568bac2ec109c5fdbc

3 years agoFix fragment shading rate validation errors
Ricardo Garcia [Fri, 26 Feb 2021 09:26:13 +0000 (10:26 +0100)]
Fix fragment shading rate validation errors

The depth/stencil attachment was not being transitioned properly to
VK_IMAGE_LAYOUT_GENERAL.

Affected tests:
dEQP-VK.fragment_shading_rate.fragdepth.*
dEQP-VK.fragment_shading_rate.fragstencil.*

Components: Vulkan
VK-GL-CTS issue: 2815

Change-Id: Id2a64d79c9368227dc137863f66be6293c3d6aba

3 years agoFix missing check for supported device features
Mohd Faisal [Thu, 18 Feb 2021 16:53:53 +0000 (16:53 +0000)]
Fix missing check for supported device features

This change add the feature check for shaderInt64 which was missing.
Adding capability and types for Int64 only for 64 bit images.
Removed the float64 capability and types, not used.

VK-GL-CTS Issue: 2807

Affects: dEQP-VK.image.mismatched_write_op.*

Components: Vulkan
Change-Id: I82d7b6a2f629147156fc15884286e6c085043177

3 years agoAllow OOM for maxImageExtent swapchain cases
Tom Cooper [Fri, 19 Feb 2021 15:11:50 +0000 (15:11 +0000)]
Allow OOM for maxImageExtent swapchain cases

Do not report a quality warning for swapchain creation failure with OOM
when the swapchain extent is VkSurfaceCapabilitiesKHR::maxImageExtent.

This aligns dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent with
dEQP-VK.wsi.*.swapchain.create.image_extent changes from
https://gerrit.khronos.org/c/vk-gl-cts/+/4084.

Affects: dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent

Components: Vulkan

VK-GL-CTS issue: 2806

Change-Id: I38ebb72a2121734d4917de630efeb7e445556940

3 years agoDecrease required subgroup size
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.

This CL lowers the required subgroup size to 4.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point

Components: Vulkan

VK-GL-CTS issue: 2698

Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d

3 years agoAdd needed extension and feature checks in mismatched_write_op test
Sławomir Cygan [Wed, 17 Feb 2021 16:32:38 +0000 (17:32 +0100)]
Add needed extension and feature checks in mismatched_write_op test

This change adds required extension and feature checks for the extensions
and capabilites used by the shader in this test.

Moreover, this change removes enabling of SPV_EXT_shader_image_int64
extension where not needed, so some test cases would run on implementations
not supporting it.

VK-GL-CTS Issue: 2796

Affects: dEQP-VK.image.mismatched_write_op.*

Components: Vulkan
Change-Id: I8cd908048e97c65f667b50f7fd9b52d937184608

3 years agoFix decoration_group tests
Piotr Byszewski [Mon, 15 Feb 2021 13:37:45 +0000 (14:37 +0100)]
Fix decoration_group tests

Specification states that: Variable decorated with Invariant must
only be identified with the Input or Output storage class in Vulkan
environment. Purpose of the test wasn't to test invariance, but to
use three decorations on group3. This change replaces Invariant
with Flat decoration so that validation error is not triggered.

Components: Vulkan

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

Change-Id: I460b54988f2991e007fee27f1e96c39dbbcec74e

3 years agoRemove dubious const-casting in mismatched_write_ops tests
Graeme Leese [Thu, 25 Feb 2021 17:53:04 +0000 (17:53 +0000)]
Remove dubious const-casting in mismatched_write_ops tests

The upload function was changing the layout of the image, so having the
function called const and casting the const away seems dodgy.

Components: Vulkan
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*

Change-Id: Ie31b63a72ff3c28029b628fca2f3f92d5df0f78a

3 years agoIncluding testing zw components with fragcoord_msaa tests
Piers Daniell [Wed, 17 Feb 2021 20:18:22 +0000 (13:18 -0700)]
Including testing zw components with fragcoord_msaa tests

This extends the fragcoord_msaa coverage added in
https://gerrit.khronos.org/c/vk-gl-cts/+/6761 to also include
testing of the gl_FragCoord.z and gl_FragCoord.w components.

Coverage includes both explicitly enabled per-sample shading
and implicit per-sample input shading.

Component: Vulkan

Change-Id: I834f6a273b26dd889a7bba8e8b8bd373808b8844
Affects: dEQP-VK.glsl.builtin_var.fragcoord_msaa*

3 years agoRay tracing hitT direction length tests
Ricardo Garcia [Mon, 22 Feb 2021 09:57:14 +0000 (10:57 +0100)]
Ray tracing hitT direction length tests

Add tests to check the hit distance is proportional to length of the
direction vector specified when tracing rays.

New tests:
dEQP-VK.ray_tracing_pipeline.direction_length.*

Components: Vulkan
VK-GL-CTS issue: 2776

Change-Id: I3fd0eec54acbbd9b19b7d932708aab4fa00886e0

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)