platform/upstream/VK-GL-CTS.git
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 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 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

3 years agoRemove GLES-only tests from the GL 4.5 package
Alexander Galazin [Thu, 21 Jan 2021 10:16:07 +0000 (11:16 +0100)]
Remove GLES-only tests from the GL 4.5 package

Removed tests:
dEQP-GL45.functional.default_vertex_array_object.*
dEQP-GL45.functional.android_extension_pack.*

Components: AOSP

Change-Id: I9d62b404803ab734f1e672534d98dee38e24ae43

3 years agoSupport GL 4.5 in the Separate shader tests
Alexander Galazin [Thu, 21 Jan 2021 09:37:51 +0000 (10:37 +0100)]
Support GL 4.5 in the Separate shader tests

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

Components: AOSP

Change-Id: I8e46a4730162ffd4c7b385dd44435fa2a8bab2e5

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

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

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

Components: Framework

Change-Id: Icc780bd3e4ebe3448db0a917920b4be91c3696de

3 years agoChange gradient generator for pipeline image tests
Ari Suonpaa [Tue, 26 Jan 2021 09:30:04 +0000 (11:30 +0200)]
Change gradient generator for pipeline image tests

Pipeline image tests were initializing images with a
gradient generator which used a single image dimension
per channel (i.e. red channel depending only on x).
This was problematic when testing formats that were not
using all the channels. For example layer tests were
still passing for R16 formats even when sampling was
forced to always use layer 0 because the layer index
was encoded in a missing blue channel.

There was another gradient generator available that
encoded all coordinates into each channel solving
this problem.

VK-GL-CTS Issue: 2525

Affects:

dEQP-VK.pipeline.image.*

Components: Vulkan
Change-Id: Ie5ff0ddc5c373577952a4240bd10e10b9f25507b

3 years agoAdd tests for multisample texture size
Graeme Leese [Fri, 8 Jan 2021 12:48:00 +0000 (12:48 +0000)]
Add tests for multisample texture size

textureSize was not being tested for multisample, sampled images so add
some simple tests. These are copied from the single-sample textureSize
tests and will try out a few different size textures for each supported
sample count.

Components: Vulkan
VK-GL-CTS issue: 2730
New tests: dEQP-VK.glsl.texture_functions.query.texturesizems.*

Change-Id: I26a9d0310b8acc79acc59879a1ef8f6143ca463a

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

3 years agoVK_KHR_fragment_shading_rate pixel consistency
Marcin Kańtoch [Tue, 11 Aug 2020 13:43:15 +0000 (15:43 +0200)]
VK_KHR_fragment_shading_rate pixel consistency

Pixel selection consistency tests

New tests:
dEQP-VK.fragment_shading_rate.pixel_consistency*

Components: Vulkan
VK-GL-CTS Issue: 2397

Change-Id: I3a1b10da7ef3a0897d78c9352c5373f6d4e5fae0

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

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

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

Change-Id: I8a9a94657203472ca8842db0cc164c71c087a48c

3 years agoFix missing TEXTURE_VALID for EXT_texture_rg
Erico Nunes [Sun, 31 Jan 2021 15:18:02 +0000 (16:18 +0100)]
Fix missing TEXTURE_VALID for EXT_texture_rg

EXT_texture_rg is based on GLES 2.0 and allows GL_R8 and GL_RG8 to be
used as texture formats.
Without this fix, GLES 2.0 drivers with EXT_texture_rg report:
  Unsupported texture format * requires any of the extensions or
  combinations: - GLES3 compatible context

Affects:
  dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.r8
  dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.rg8

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
3 years agoAdjust texture data and threshold
liruoyu [Tue, 3 Nov 2020 08:31:17 +0000 (16:31 +0800)]
Adjust texture data and threshold

Affects:
dEQP-GLES3.functional.texture.wrap.*
dEQP-GLES2.functional.texture.wrap.*

Components: OpenGL

VK-GL-CTS issue: 2589

Root cause:
We treat all variable which have relaxed precision decoration as half precision value.
1. When run in repeat&linear mode, sampling texture edge will get an
unexpect result.
2. When run in nearest mode, threshold is 2/256, but texture gradient is
2/255. so, if target texel's deviation more then 1, will get a fail
result.

Solution:
1. Adjust texture data, make the difference between two adjacent texel under 2/256
in per-channel.
2. Adjust threshold to 2/255 in RGBA_8888 mode, adjust threshold to (1 + 256/16) in RGBA_4444 mode.
3. Adjust texture data, make the texture gradient like a pyramid in
repeat mode.

Change-Id: I2382d36bdeb227e81d0d0b8f76f61d26a00f0fcd

3 years agoFix validation in mismatched format tests
Ricardo Garcia [Fri, 22 Jan 2021 15:40:00 +0000 (16:40 +0100)]
Fix validation in mismatched format tests

This commit fixes several issues:

* The sparse image was being created before checking if that was
  possible.

* The image was not correctly transferred to the general layout before
  being used.

* Avoid creating a color image view for depth and depth/stencil images.

Affected tests:
dEQP-VK.image.mismatched_formats.*

Components: Vulkan
VK-GL-CTS issue: 2751

Change-Id: Ia5496c77f2b6275afdf381238751fc9c0e4bcb20

3 years agoTest descriptor set layout binding ordering
Vihanakangas [Wed, 16 Sep 2020 10:58:39 +0000 (13:58 +0300)]
Test descriptor set layout binding ordering

This change verifies that when vkCreateDescriptorSetLayout()
specifies binding number N+M before binding N,
for dynamic buffers, the offsets are applied correctly.
The second part of this change tests that if dstBinding has fewer than
descriptorCount array elements remaining starting from dstArrayElement,
then the remainder will be used to update the subsequent binding.

New tests:

dEQP-VK.api.descriptor_set.descriptor_set_layout_binding.update_subsequent_binding
dEQP-VK.api.descriptor_set.descriptor_set_layout_binding.layout_binding_order

Components: Vulkan

VK-GL-CTS issue: 2334

Change-Id: I447e51e62f224e3a50b018266915a1bbaba7fb5e

3 years agoAdd descriptor update stress test
Ari Suonpaa [Mon, 18 Jan 2021 11:31:54 +0000 (13:31 +0200)]
Add descriptor update stress test

A new test is added where descriptor writes are randomly
generated between draw calls.

VK-GL-CTS Issue: 2728

New tests: dEQP-VK.binding_model.descriptor_update.random.uniform_buffer

Components: Vulkan
Change-Id: I1f7e1b13d111d62890b030093d9795a86975afaa

3 years agoCoverage tests for undefined values
Antto Mäkinen [Tue, 19 Jan 2021 11:13:41 +0000 (13:13 +0200)]
Coverage tests for undefined values

A batch of tests from GraphicsFuzz that achieve extra coverage
on various targets, and that specifically invoke operations that
can produce undefined results, but don't lead to undefined behavior.
In each case, the outcome of the test does not depend on the result
of an undefined value.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-apfloat-mix-nan
dEQP-VK.graphicsfuzz.cov-apfloat-mod-zero
dEQP-VK.graphicsfuzz.cov-apfloat-sinh-negative-log2
dEQP-VK.graphicsfuzz.cov-asin-undefined-smoothstep
dEQP-VK.graphicsfuzz.cov-bitfieldExtract-undefined
dEQP-VK.graphicsfuzz.cov-bitfieldinsert-undefined
dEQP-VK.graphicsfuzz.cov-bitfieldreverse-left-shift-findmsb
dEQP-VK.graphicsfuzz.cov-const-folding-pow-large-exp
dEQP-VK.graphicsfuzz.cov-dag-combiner-clamp-undefined-access-array
dEQP-VK.graphicsfuzz.cov-fract-smoothstep-undefined
dEQP-VK.graphicsfuzz.cov-fragcoord-clamp-array-access
dEQP-VK.graphicsfuzz.cov-ldexp-undefined-mat-vec-multiply
dEQP-VK.graphicsfuzz.cov-pow-undefined
dEQP-VK.graphicsfuzz.cov-sinh-ldexp
dEQP-VK.graphicsfuzz.cov-undefined-inversesqrt-reflect
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-determinant-exp-acos

Change-Id: Iec0a643fd19806b52c77bd570a52b7ce849cd2bb