platform/upstream/VK-GL-CTS.git
4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Mon, 1 Jun 2020 19:44:38 +0000 (21:44 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: Ica3d55e39a49e7a37e9acd65335e37e932b42796

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Mon, 1 Jun 2020 16:16:59 +0000 (18:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ia2eea8ae5927bcf40465a4c09126fdcb46c969c4

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Mon, 1 Jun 2020 15:11:42 +0000 (17:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I01f6039531fa5655110e271f30104569a04805d4

4 years agoUpdate KC CTS
Alexander Galazin [Mon, 1 Jun 2020 11:28:54 +0000 (13:28 +0200)]
Update KC CTS

Components: Framework

Affects: dEQP-GL.*

Change-Id: I129379863364046344ec9299822721d27acdce65

4 years agoAdd SampleMask write tests
Ricardo Garcia [Fri, 15 May 2020 07:50:52 +0000 (09:50 +0200)]
Add SampleMask write tests

This commit adds a new set of tests that verify writing values to
SampleMask from fragment shaders work and effectively prevent or allow
writing to specific samples.

New tests:
dEQP-VK.pipeline.multisample_shader_builtin.write_sample_mask.*

Components: Vulkan
VK-GL-CTS issue: 2363

Change-Id: Ief5db73977c28571eb301fa9a7d756a38ba2b51b

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Mon, 1 Jun 2020 12:38:53 +0000 (14:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I6cf7fcf5c0fab0a28a09b7fd25fcaa89b02e7973

4 years agoFix Windows build
Yuly Novikov [Fri, 29 May 2020 22:50:33 +0000 (18:50 -0400)]
Fix Windows build

Missing #include for std::max in glcPixelStorageModesTests.cpp

Components: OpenGL
Change-Id: I484553e4a04124116ab20090211648001190f902

4 years agoAdd drm format modifiers tests
Lionel Landwerlin [Fri, 8 Mar 2019 18:31:04 +0000 (18:31 +0000)]
Add drm format modifiers tests

This CL adds two VK_EXT_image_drm_format_modifier tests.
The tests will be enabled when an implementation supports
VK_EXT_image_drm_format_modifier.

The two tests in this CL will test listing the supported modifiers
given a format, and creating images with a list of supported
modifiers.

In particular, they test these parts of the extension:
- VkGetImageDrmFormatModifierPropertiesEXT
- VkDrmFormatModifierPropertiesListEXT
- VkPhysicalDeviceImageDrmFormatModifierInfoEXT
- VkImageDrmFormatModifierListCreateInfoEXT

This CL is extracted from https://gerrit.khronos.org/#/c/3709/

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.*

Change-Id: I031d72a2b8756577cd8d576caa91cfcd77f808db

4 years agoCorrect few pipeline_barrier tests
Piotr Byszewski [Thu, 21 May 2020 16:45:23 +0000 (18:45 +0200)]
Correct few pipeline_barrier tests

In pipeline barrier tests there is findMaxBufferSize util function.
It consists of two parts. First part checks if we can create buffer
that requires as much space as we want to test, and second, used when
first part fails, searches for maximal buffer that we can create
within that limit. Since test values are multiply of 1024 the second
part of this function was never hit by most of implementations.
It was hit by implementation that overalocates buffers and this
revealed that classes operating on ubo and ssbo were not handling
buffer sizes that are not multiple of 16 in case of ssbo and multiple
of 1024 in case of ubo (rest of RenderPassCommands are handling that
case). Note that this can be tested by just commenting first part of
findMaxBufferSize function.
This change make sure that ubo and ssbo tests work on smaller buffers
but with limitation that last modulo 16 values from those buffers are
not used in tests.

Components: Vulkan

VK-GL-CTS public issue: 206

Affects:
dEQP-VK.memory.pipeline_barrier.*uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.*storage_buffer.*

Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7

4 years agoDo not use 2D array d/s attachment created from 3D texture
Slawomir Cygan [Fri, 22 May 2020 14:03:20 +0000 (16:03 +0200)]
Do not use 2D array d/s attachment created from 3D texture

Spec says, on VkFramebufferCreateInfo
"""
If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each
element of pAttachments that is a 2D or 2D array image view taken from a 3D
image must not be a depth/stencil format
"""

This change changes image type to be 2D array, instead of 3D

Components: Vulkan

VK-GL-CTS Issue: 2379

Affects: dEQP-VK.geometry.layered.*.readback

Change-Id: Icd957c6badb17a0fcef82015c1ab2fba0896923b

4 years agoUpdate Android API levels and grant permissions
Mika Väinölä [Wed, 3 Apr 2019 13:16:32 +0000 (16:16 +0300)]
Update Android API levels and grant permissions

Remove <uses-sdk ...> from AndroidManifest.xml; instead, add it in
build_apk.py via aapt. Add "--min-api" option that defaults to 22.
Change target API level to 28. Add "-g" to the ADB install command to
automatically grant all runtime permissions. Update the instructions in
external/vulkancts/README.md.

Components: Android, Framework

VK-GL-CTS issue: 650

Change-Id: I76963ccd43f9c1598e5f1c925347dc68dbc644c3

4 years agoFix overflow in VK_EXT_subgroup_size_control tests.
Bas Nieuwenhuizen [Mon, 18 May 2020 01:28:21 +0000 (03:28 +0200)]
Fix overflow in VK_EXT_subgroup_size_control tests.

Hit this with maxComputeWorkgroupSubgroups = UINT32_MAX. The overflow
combined with the signed min result in some very large workgroups.

Affected tests:

  dEQP-VK.subgroups.size_control.*.required_subgroup_size_*

Components: Vulkan
VK-GL-CTS issue: 2369

Change-Id: I0abd69331c8f9b93c7717f253b618293bc223b12

4 years agoAdd conformance tests for new buffer offset rules
J.D. Rouan [Mon, 24 Feb 2020 18:00:07 +0000 (10:00 -0800)]
Add conformance tests for new buffer offset rules

As described in vulkan#1701 and specified in vulkan!3444, the
bufferOffset requirement can be relaxed if the queue family supports
VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.

Component: Vulkan
VK-GL-CTS issue: 2100

New tests:
dEQP-VK.api.copy_and_blit.*.image_to_buffer.buffer_offset_relaxed
dEQP-VK.api.copy_and_blit.*.buffer_to_image.buffer_offset_relaxed

Change-Id: I278b81de35cbd73779060fcfb51ac8131e173db3

4 years agoImprove Wayland protocol version selection.
Tomek Bury [Tue, 3 Mar 2020 14:41:50 +0000 (14:41 +0000)]
Improve Wayland protocol version selection.

VK-GL-CTS issue: 2252

Requesting specifically version 3 of the protocol makes the
wl_surface_damage_buffer() API unavailable to the client, even if
the compositor supports it. This may effectively disable
the EGL_EXT_swap_buffers_with_damage extension in the EGL implementation.

The wl_compositor protocol version 4 was released in Wayland 1.10
in february 2016. It contains a new define:

#define WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION 4

and a new API:

wl_surface_damage_buffer(struct wl_surface *wl_surface,
    int32_t x, int32_t y, int32_t width, int32_t height);

Requesting "at least version 3" is still backwards compatible with older
compositors, but doesn't block the newer ones from providing version 4
with the wl_surface_damage_buffer() API. This API can be used by EGL
to implement the EGL_EXT_swap_buffers_with_damage extension.

Affects:
    dEQP-EGL.functional.swap_buffers_with_damage.*

Change-Id: I621524328a90b2d629baad8c96d3a18e1eb2cf76

4 years agoFix broken layout binding tests
Timothy Arceri [Thu, 30 Apr 2020 07:31:13 +0000 (17:31 +1000)]
Fix broken layout binding tests

Some of the shaders being generated contain a misplaced ;

An example of the code being gererated is as follows:

  fragColor = vec4(float(atomicCounter(atomic0)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic1)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic2)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic3)), 1.0, 0.0, 1.0);

Affects:

KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*

Components: OpenGL

VK-GL-CTS issue: 2348

Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354

4 years agoRemove non-compute variants of common function tests
Graeme Leese [Wed, 6 May 2020 13:36:25 +0000 (14:36 +0100)]
Remove non-compute variants of common function tests

Previous agreement was that we should only test simple non-stage-
specific functions in compute shaders, so simplify the code by removing
all the other tests.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.*
         (mostly removed)

Change-Id: I98e9ee5944565847dafef79f08c80ebf07083d7f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 27 May 2020 17:25:47 +0000 (19:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: If6741ff28f453979aa2d7ca74a830aac8f0ef071

4 years agoAllow RTZ rounding in spv_assembly*writes_two_buffers* tests
Kyle Griffiths [Fri, 17 Apr 2020 11:26:54 +0000 (12:26 +0100)]
Allow RTZ rounding in spv_assembly*writes_two_buffers* tests

Because the tests perform an add operation, mismatch of the CPU and GPU
rounding modes can cause the tests to incorrectly fail.
This change modifies the verification to allow up to 1 ULP difference
between the output and the expected result, which covers the maximum
difference between RNE and RTZ rounding modes.

Components: Vulkan

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

VK-GL-CTS issue: 2320

Change-Id: Ic76942add1382c23885118f806ac593cc730eb73
(cherry picked from commit 49c720ff8c7b0bc397aeae7c9ee7e3e9c40b12f3)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 27 May 2020 09:36:06 +0000 (11:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Iff733440c976f4ecb95dc9ebdfe7d9b25eac2bdd

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 27 May 2020 07:07:24 +0000 (09:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I61ab1faa6fe2da61d2a9192160665f4bea82aa7f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Tue, 26 May 2020 18:51:43 +0000 (20:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If852bb48bdfbf7cc5168d68c6f296fc98bdb7f3c

4 years agoUpdate glslang
Alexander Galazin [Mon, 4 May 2020 10:37:50 +0000 (12:37 +0200)]
Update glslang

Components: Framework, Vulkan, OpenGL

Change-Id: Iae3ab66b64114a79b0ef28b4c4efa610dcdd1ff7

4 years agoForce Popen to text mode
Alexander Galazin [Sun, 24 May 2020 12:34:12 +0000 (14:34 +0200)]
Force Popen to text mode

Components: Framework

Change-Id: Idee7eee4e4f0cd2255c384f447ffe743f09d5a0b
(cherry picked from commit 68eda3f13422a8faac7c46da087132d7c021fe18)

4 years agoEnsure alphabetical order of xml attributes
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes

Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.

See https://github.com/python/cpython/commit/63673916464bace8e2147357395fdf3497967ecb

Components: Framework

VK-GL-CTS issue: 2358

Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85
(cherry picked from commit b2d84418efc74c558be55c2934e14c2a93edefed)

4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Mon, 25 May 2020 07:19:19 +0000 (09:19 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: I2255a42b0b78750cf078b7f429f7b1381d3310a9

4 years agoForce Popen to text mode
Alexander Galazin [Sun, 24 May 2020 12:34:12 +0000 (14:34 +0200)]
Force Popen to text mode

Components: Framework

Change-Id: Idee7eee4e4f0cd2255c384f447ffe743f09d5a0b

4 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Sat, 23 May 2020 17:49:18 +0000 (19:49 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I0635691bfac2eed84c6e4704d6802b5fbd41b0d0

4 years agoMerge "Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing" into vk_khr_ray_tracing
Alexander Galazin [Sat, 23 May 2020 17:48:54 +0000 (13:48 -0400)]
Merge "Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing" into vk_khr_ray_tracing

4 years agoMerge pull request #195 from sigexp/pixelstoragemodes
Alexander Galazin [Sat, 23 May 2020 17:47:38 +0000 (19:47 +0200)]
Merge pull request #195 from sigexp/pixelstoragemodes

Add tests for usage of pixel storage modes

4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Sat, 23 May 2020 13:09:59 +0000 (15:09 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: If6fa58f063c431f0050146de3a7a288fbb22f239

4 years agoTest gl_RayFlagsSkipTrianglesEXT and gl_RayFlagsSkipAABBEXT
Boris Zanin [Wed, 29 Apr 2020 11:38:46 +0000 (13:38 +0200)]
Test gl_RayFlagsSkipTrianglesEXT and gl_RayFlagsSkipAABBEXT

Test support for following GLSL flags:
 * gl_RayFlagsSkipTrianglesEXT
 * gl_RayFlagsSkipAABBEXT
as well as pipeline creation flags:
 * VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
 * VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR

Update and refreshes tests:
 * dEQP-VK.ray_tracing.builtin.incomingrayflagsext.*

Components: Vulkan

VK-GL-CTS issue: 2337, 2199

Change-Id: Ic8d944618cda035511c7cafac4f02df4d9051a2c

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Fri, 22 May 2020 18:46:19 +0000 (20:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I00f85ff8e2e090a76aadd10873a9e5f2c97a99c6

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 22 May 2020 13:27:00 +0000 (15:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib92cff43028341f5341b62242d909d5a6437a03a

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 22 May 2020 12:18:06 +0000 (14:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I670536e7c9c657dc578a76ad7964df03fefe592e

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 22 May 2020 11:49:31 +0000 (13:49 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Ief430387884ceddd9750e1d92a65b97a4d062f36

4 years agoLimit dimensionality of arrays-of-arrays in random SSBO tests
James Glanville [Wed, 6 May 2020 13:01:23 +0000 (14:01 +0100)]
Limit dimensionality of arrays-of-arrays in random SSBO tests

One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.

Components: AOSP

VK-GL-CTS issue: 2355

Affects:

dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays.15
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.23
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.41
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.7
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.21
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.49

Change-Id: I9211e376130014e6c1d50f4a2d843033a5219b2d

4 years agoFix Fedora 32 gcc/clang warnings
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Fix Fedora 32 gcc/clang warnings

Component: AOSP, OpenGL, Vulkan

VK-GL-CTS issue: 2350

Affects:
KHR*direct_state_access.vertex_arrays*
KHR*core.arrays_of_arrays.sized_declarations_invalid*
dEQP-VK.geometry.*

Change-Id: I55680ac671d0610917d45f7187deec6e883dd6b7
(cherry picked from commit a4ccc4a84710123839a4f4a9409e93af9ed1ddbc)

4 years agoFix Fedora 32 gcc/clang warnings
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Fix Fedora 32 gcc/clang warnings

Component: AOSP, OpenGL, Vulkan

VK-GL-CTS issue: 2350

Affects:
KHR*direct_state_access.vertex_arrays*
KHR*core.arrays_of_arrays.sized_declarations_invalid*
dEQP-VK.geometry.*

Change-Id: I55680ac671d0610917d45f7187deec6e883dd6b7

4 years agoSplit spirv_assembly tests workload
Mike Byrne [Mon, 18 Nov 2019 12:30:23 +0000 (12:30 +0000)]
Split spirv_assembly tests workload

The dEQP-VK.spirv_assembly.* tests should allow the render workload to
be split into multiple submissions if required to prevent GPU timeouts
encountered in some tests.

An additional flag is added to allow specific test groups to request
that the test workload is split.

Affects: dEQP-VK.spirv_assembly.*

VK-GL-CTS Issue: 2294

Components: Vulkan

Change-Id: I9295f675c06b3b966d89afae98334ebb5c9530c8

4 years agoAdd --deqp-print-validation-errors cmd line option
Ricardo Garcia [Tue, 12 May 2020 13:05:32 +0000 (15:05 +0200)]
Add --deqp-print-validation-errors cmd line option

This commit adds a new --deqp-print-validation-errors command-line
option to be able to print validation errors to stderr as soon as they
are generated by the layers, making it easier to both quickly see
validation errors without using the test log and use the printing line
as a breakpoint to debug validation error causes.

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

Change-Id: I32b79ede82c9b7d6f0c369ff4cfcc47f5992440c

4 years agoTest using ViewportIndex from frag shaders only
Ricardo Garcia [Wed, 29 Apr 2020 13:52:03 +0000 (15:52 +0200)]
Test using ViewportIndex from frag shaders only

This commits adds a new test to check the viewport index can be
correctly read from the fragment shader even when not set by a previous
vertex processing shader stage. In that case, the implicit value is 0.

New test:
dEQP-VK.draw.shader_viewport_index.fragment_shader_implicit

Components: Vulkan
VK-GL-CTS issue: 2339

Change-Id: Idb994d3b5bd87f3ee3e2413c38ec61493a39c529

4 years agoAdd tests for traversal control in VK_KHR_ray_query
Pawel Ksiezopolski [Fri, 17 Apr 2020 15:28:41 +0000 (17:28 +0200)]
Add tests for traversal control in VK_KHR_ray_query

Tests verify behaviour of ray query traversal functions e.g.
rayQueryProceedEXT(), rayQueryTerminateEXT(), rayQueryGenerateIntersectionEXT(),
rayQueryConfirmIntersectionEXT() and others.

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

Components: Vulkan

VK-GL-CTS issue: 2319

Change-Id: I64ff2bd2f1202aa7e7276fc9de469998873c838d

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 21 May 2020 08:51:18 +0000 (10:51 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: If73e9fb2ab24139f72bca734f252fb0cab8f0828

4 years agoTest OpArrayLength with stride larger than element size
Ari Suonpaa [Thu, 7 May 2020 12:48:53 +0000 (15:48 +0300)]
Test OpArrayLength with stride larger than element size

This new test is similar to
dEQP-GLES31.functional.compute.basic.write_multiple_unsized_arr_*
but an array stride is changed. This verifies that OpArrayLength
implementation calculates the array size correctly even
when an array element size and a stride don't match.

VK-GL-CTS Issue: 2236

New tests:

dEQP-VK.spirv_assembly.instruction.compute.oparraylength.array-stride-larger-than-element-size

Change-Id: I5b96391a3935f039996cc28efd6717f379757100
Components: Vulkan

4 years agoAdd an Amber test which uses textureOffset()
Brian Watling [Fri, 8 May 2020 17:42:15 +0000 (13:42 -0400)]
Add an Amber test which uses textureOffset()

This test exercises textureOffset() to confirm correct behaviour.

New tests:

dEQP-VK.graphicsfuzz.texel_offset

Components: Vulkan

Change-Id: Ib5827039ab25fc6a9de0778139ab668ea41306af

4 years agoTest negative value conversion to b10g11r11 float format.
Ari Suonpaa [Sat, 9 May 2020 08:28:09 +0000 (11:28 +0300)]
Test negative value conversion to b10g11r11 float format.

Added a test that verifies negative values are converted
correctly to b10g11r11 packed float format. These values
need to be clamped to zero.

Also moved texture subgroup LOD Amber test files to
a common directory shared by the new test.

VK-GL-CTS Issue: 2271

New tests:

dEQP-VK.texture.conversion.b10g11r11-negative-values

Components: Vulkan
Change-Id: Ide52844f1467f1e7c23d7510ba951d398a8814ac

4 years agoFix some egl robustness tests
Timothy Arceri [Sun, 3 May 2020 05:57:02 +0000 (15:57 +1000)]
Fix some egl robustness tests

Because the values of color were initially undefined an optimised
compiler can simply set all components of the vector to the value
being assigned to color[u_index] and eventually eliminate color and
u_index completely.

To avoid this we initialise color.

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders*

Components: OpenGL
VK-GL-CTS issue: 2349

Change-Id: I6eb929eec07b039afb247427af91aba65dbade9b

4 years agoFix epsilon calculation for RGB10_A2 pixel format
Aleksy Sokolowski [Tue, 28 Apr 2020 15:52:02 +0000 (17:52 +0200)]
Fix epsilon calculation for RGB10_A2 pixel format

10 bit precision epsilon was used for test cases
which support only 8-bit precision (due to 8 bit texture
format used or pixel transfers using 8 bit data types).

Components: OpenGL

VK-GL-CTS Issue: 2335

Affects:
KHR-GL46.texture_gather.plain-gather-float-2d-srgb-alpha
KHR-GL46.compute_shader.pipeline-compute-chain

Change-Id: Ic40eb6caae4106fd55b62253aaaafa84237b03fa

4 years agoFix warnings found by compiling with MS VC++ 2019
Piotr Byszewski [Thu, 14 May 2020 13:26:18 +0000 (15:26 +0200)]
Fix warnings found by compiling with MS VC++ 2019

This change resolves all found warnings including 'nodiscard'
warnings mentioned in the issue description.

Components: Vulkan, OpenGL, EGL

VK-GL-CTS public issue: 188

Affects:
*

Change-Id: I962f02a1a7e55dcc5141e1cbdf2497482972e02a

4 years agoCorrect few tests from indirect_dispatch group
Piotr Byszewski [Wed, 13 May 2020 16:25:24 +0000 (18:25 +0200)]
Correct few tests from indirect_dispatch group

All test instances that were part of gen_in_compute group used
descriptor set layout that was created and stored localy - in helper
function. This change stores it as a class attribute.

Components: Vulkan

VK-GL-CTS public issue: 205

Affects:
dEQP-VK.compute.indirect_dispatch.gen_in_compute.*

Change-Id: Ie54b33f145d6aa54acd62b3a074938eedd1ac3f3

4 years agoCorrect sparse_image_format_properties2 tests
Piotr Byszewski [Tue, 12 May 2020 10:48:47 +0000 (12:48 +0200)]
Correct sparse_image_format_properties2 tests

numCoreProperties and numExtProperties were initialized to ~0 and
this value was not checked later which led CTS to alocate 2^32-1
element vectors. This causes a bad alloc exception.

Components: Vulkan

VK-GL-CTS public issue: 135

Affects:
dEQP-VK.api.info.sparse_image_format_properties2.*

Change-Id: Iaf402069ca52bec5f7ba569b223e76d2ccc72316

4 years agoClarify integer formats conversions in blit_image tests
Piotr Byszewski [Tue, 12 May 2020 17:00:30 +0000 (19:00 +0200)]
Clarify integer formats conversions in blit_image tests

This change just updates comments to make code clear.
It was not clear if getTextureChannelClass identified how values are
stored or how they are sampled but it was specified in description of
TextureChannelClass. This change clarifies description of
getTextureChannelClass and comments in blit tests to avoid confusion
in future.

Components: Vulkan

VK-GL-CTS public issue: 174

Change-Id: I49944508337d2950eb8066bf8e3b9ff3db855668

4 years agoCorrect external_memory_host tests
Piotr Byszewski [Mon, 11 May 2020 15:12:29 +0000 (17:12 +0200)]
Correct external_memory_host tests

Images and buffers that will be bound to imported memory must be
created with a VkExternalMemory(Buffer/Image)CreateInfo.

Components: Vulkan

VK-GL-CTS public issue: 193

Affects:
dEQP-VK.memory.external_memory_host.*

Change-Id: I8a28e2ca25eb478c664474140ea5e36120b8463f

4 years agoCorrect opatomic_storage_buffer_volatile tests
Piotr Byszewski [Mon, 11 May 2020 10:33:30 +0000 (12:33 +0200)]
Correct opatomic_storage_buffer_volatile tests

numWorkGroups used in volatile atomics tests was higher than minimal
value that should be supported by implementation. This change reduces
it to minimal value of maxComputeWorkGroupCount. Note that in this
case we can't query limit properties as we don't have access to
Context at shader construction level.

Components: Vulkan

VK-GL-CTS public issue: 203

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

Change-Id: Ibf91e5629431525a195a2221ee65371ed1ba8809

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Wed, 20 May 2020 13:26:35 +0000 (15:26 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Ieeee1002be28bdaffed9177386edf13cd860d610

4 years agoTest all query values in VK_KHR_ray_query
Boris Zanin [Mon, 27 Apr 2020 12:21:05 +0000 (14:21 +0200)]
Test all query values in VK_KHR_ray_query

Add ray query tests for query values.

Add tests:
 * dEQP-VK.ray_query.builtin.*

Components: Vulkan

VK-GL-CTS issue: 2317

Change-Id: I1316a72ca6a31c63206f17590ae6220a886a43b8

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Wed, 20 May 2020 10:11:52 +0000 (12:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: I9ff5ee4471a46bfc98a96186c79bbaa79aa5d37f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Tue, 19 May 2020 11:56:46 +0000 (13:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ie87d541785c979466d4a45dbb0c3df8b8a0f6884

4 years agoUpdate Vulkan headers
Alexander Galazin [Fri, 15 May 2020 15:10:48 +0000 (17:10 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I545a33bdcfbd332d0646e35d1815cc84f2fe645d

4 years agoWhitelist Vulkan CTS 1.2.2.1
Alexander Galazin [Wed, 13 May 2020 07:41:47 +0000 (09:41 +0200)]
Whitelist Vulkan CTS 1.2.2.1

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I8c1b46d210dec2ad6f85fbb2cd04c9969d350069

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 14 May 2020 16:50:52 +0000 (18:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I8224a74ae64ae8aafa4e0edbaab5aa7c5f2b322d

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 14 May 2020 15:13:47 +0000 (17:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I2594c8998a3e6dcc779d6fd84715ee26dddce726

4 years agoAdd missing barrier to HOST in memory_barrier test
Slawomir Cygan [Thu, 7 May 2020 15:47:08 +0000 (17:47 +0200)]
Add missing barrier to HOST in memory_barrier test

The test was lacking a barrier between device write access and
validation of the data on host.

Components: Vulkan

VK-GL-CTS Issue: 2359

Affects: dEQP-VK.memory_model.message_passing.*

Change-Id: Ia75277aaa2c7e25bff807cd3c6ebe14513403bfc

4 years agoFix wide line rasterization tests
Matthew Netsch [Mon, 4 May 2020 18:15:49 +0000 (14:15 -0400)]
Fix wide line rasterization tests

Components: Vulkan
VK-GL-CTS Issue: 2347

Affects:
dEQP-VK.rasterization.primitives*line*wide

Change-Id: Ia27d80bfb57b9a09a631580e37d1f1277e99d365

4 years agoGLES 3.1 negative framebuffer texture2D test fails
Courtney Goeltzenleuchter [Wed, 4 Dec 2019 21:01:39 +0000 (14:01 -0700)]
GLES 3.1 negative framebuffer texture2D test fails

Test is using wrong max size when checking cube map textures.

Affected Test:
   dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.framebuffer_texture2d

Components: OpenGL ES
VK-GL-CTS issue: 2141

Change-Id: I35bcdcfb8181a9eb062da10234f56267c56ac188
(cherry picked from commit 40d1312085353785186aae62ef098ae5c3a2a5c5)

4 years agoOpenGL ES: Use shader storage alignment
Courtney Goeltzenleuchter [Tue, 17 Dec 2019 14:40:46 +0000 (07:40 -0700)]
OpenGL ES: Use shader storage alignment

Affected Test:
  KHR-GLES31.core.shader_storage_buffer_object.advanced-switchBuffers-vs

Components: OpenGL ES
VK-GL-CTS issue: 2151

Change-Id: If427cad30ac36cc96a29f936e2ef7a0c4a301667
(cherry picked from commit 5fd95f6e03e1a0ece7052c6d9931cac825909204)

4 years agoRemove illegal parameter use in fbo.completeness
Courtney Goeltzenleuchter [Wed, 31 Jul 2019 15:59:40 +0000 (09:59 -0600)]
Remove illegal parameter use in fbo.completeness

dEQP.GLES2.functional.fbo.completeness.renderable.texture
was calling glTexImage2D with a internalformat of GL_SRGB8
which is not valid for GLES 2.0 even with GL_EXT_sRGB.

Affects:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.srgb8

Components: AOSP

VK-GL-CTS issue: 1906

Change-Id: I97003eda10600a0a33e7212b6b5de34c5b2c8848
(cherry picked from commit 1de1dae629667dd79c896906540b1360e78d001a)

4 years agoFix use of invalid HALF_FLOAT enum
Courtney Goeltzenleuchter [Wed, 11 Sep 2019 15:01:22 +0000 (09:01 -0600)]
Fix use of invalid HALF_FLOAT enum

GLES 2.0 supports GL_HALF_FLOAT_OES via the OES_texture_half_float
extension. When the enum GL_HALF_FLOAT was added in GLES 3.0,
unfortunately it did not use the same enum value as GL_HALF_FLOAT_OES.
Technically, GL_HALF_FLOAT is not supported on a GLES 2.0 implementation
even with OES_texture_half_float. Fix GLES 2.0 tests to always use
GL_HALF_FLOAT_OES to avoid the issue.

Affects:

KHR-GLES2.core.internalformat.texture2d.*_half_float_*
KHR-GLES3*.core.internalformat.texture2d.*_half_float_*

Components: OpenGL

VK-GL-CTS issue: 1923

Change-Id: I9b43091382341798a0d62b9a4ec09153e915dc5c
(cherry picked from commit f7ede20a9805615a3c371b786fa7407708cf612c)

4 years agoFix invalid combinations for texture/copy on ES2 driver
Jim Hauxwell [Tue, 28 Aug 2018 16:33:48 +0000 (17:33 +0100)]
Fix invalid combinations for texture/copy on ES2 driver

OES_packed_depth_stencil describes the valid combinations available.
Texturing is only valid from it when OES_depth_texture is also present.
ES3 added depth texturing, but used different tokens than the initial
extension.

Affects:

KHR-GLES2.core.internalformat.texture2d.
  depth_stencil_unsigned_int_24_8_depth24_stencil8
KHR-GLES*.core.internalformat.texture2d.
  depth_stencil_unsigned_int_24_8_depth_stencil

Components: OpenGL
VK-GL-CTS issue: 1261

Change-Id: I91262c2c7eb71c9d3ff1eb59931227132b1828f9
(cherry picked from commit 33af336e530859e099df76b4c7d4acc5add3c2f7)

4 years agoUse unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_textu...
Tim Van Patten [Wed, 28 Aug 2019 18:15:23 +0000 (12:15 -0600)]
Use unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_texture].rgba8

These tests are using GL_RGBA8 as an internal format for TexImage2D.
Sized internal formats are not allowed for GLES 2.0.

Affects:
KHR-GLES2.texture_3d.copy_sub_image.rgba
KHR-GLES2.texture_3d.framebuffer_texture.rgba8

VK-GL-CTS issue: 1960

Change-Id: I8272e4ca0e2a9eda1161a5135e11f67b4ea5af6d
(cherry picked from commit eec82ceff77877bdad7fc94f8ae793db09ffff46)

4 years agoFix invalid parameter for GLES 2.0
Courtney Goeltzenleuchter [Tue, 30 Jul 2019 16:20:29 +0000 (10:20 -0600)]
Fix invalid parameter for GLES 2.0

Test was creating a texture with format of GL_DEPTH_STENCIL and
internalformat of GL_DEPTH24_STENCIL8_OES. In ES 2.0 the format and
internalformat must match.
Added an extra case when running 3.0 or better that does allow different
values for format and internalformat.

Affects:

KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil

Components: OpenGL

VK-GL-CTS issue: 1903

Change-Id: I710975a0ea7c1d551f412590f887d9412be6f897
(cherry picked from commit 0c9f0c072d530bf378bc50265284fbc95c450e69)

4 years agoFix invalid combinations for texture/copy on ES2 driver
James Hauxwell [Fri, 13 Jul 2018 13:52:40 +0000 (14:52 +0100)]
Fix invalid combinations for texture/copy on ES2 driver

The OES_rgb8_rgba8 extension specification only specifies
RenderbufferStorageOES for additional GL_RGB8/GL_RGBA8 tokens.  ES3 spec
made these mandatory formats for texturing/copying.

Affects:

KHR-GLES2.core.internalformat.texture2d.rgb_unsigned_byte_rgb8
KHR-GLES2.core.internalformat.texture2d.rgba_unsigned_byte_rgb8
KHR-GLES2.core.internalformat.copy_tex_image.rgba8
KHR-GLES2.core.internalformat.copy_tex_image.rgb8

Components: OpenGL
VK-GL-CTS issue: 1260

Change-Id: Icbbd8882c5e623f5ac4725eebf977f535cfbfa31
(cherry picked from commit 5f7e621d6065f843651f7ca8f98989d05ca0bd65)

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Wed, 13 May 2020 16:11:23 +0000 (18:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: Ic55e8e0a9f73adb4d1c3c9a9bbd4f15932511027

4 years agoMigrate deRoundUp32 to deInt32.h
Courtney Goeltzenleuchter [Fri, 20 Dec 2019 20:29:38 +0000 (13:29 -0700)]
Migrate deRoundUp32 to deInt32.h

deRoundUp32 is used in a number of places, promote to utility function.
back ported https://gerrit.khronos.org/#/c/5197 work at 3.2.5.1 tag.

Components: OpenGL ES
VK-GL-CTS issue: 2151

Change-Id: I3aaec51e0eec0e8e31e2082443d0d332bb8c3a56

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 13 May 2020 07:40:05 +0000 (09:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ib55bcc487e332625eccada5ce31be1b56c73395e

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 13 May 2020 06:33:12 +0000 (08:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I14bd589f1bd3adfabed0c7247fbef7deebe74c96

4 years agoNon-strict line interpolation and rasterization
Alex Walters [Wed, 22 Apr 2020 17:03:12 +0000 (18:03 +0100)]
Non-strict line interpolation and rasterization

Firstly non-strict line rasterization (parallelogram decomposed to
triangles) is changed to use the TriangleInterpolator do determine
interpolated colours. Line endpoint attributes are duplicated to the
end vertices of parallelogram lines, which means that interpolation is
not along the normal of the line, but would be parallel to the major
axis.

For the interpolation to be calculated correctly by the
TriangleInterpolator, the triangle geometry needed to be produced with
the correct w values from the line endpoints, previously the triangle
was generated pre-projected with 1.0 for the W-coordinates. The
perspective interpolation previously was calculated separately using
the original line parameters passed to MultisampleLineInterpolator.

The second part of the change is to allow for a non-strict line 'GLES'
centric relaxation - GLES specified 1px non-antialiased lines would use
the 'diamond-exit' rule to produce bresenham lines. Vulkan only
specified parallelograms, but not all GLES implementations are able
to disable the 1px bresenham behaviour.

All changes are in verifyMultisameplLineGroupInterpolation and
verifyMultisameplLineGroupInterpolationInternal. Strict lines are not
affected.

This fixes Imaginations 1.2.2.x failures in:

dEQP-VK.rasterization.flatshading*line*
dEQP-VK.rasterization.interpolation*line*

Affects:

dEQP-VK.rasterization*line*
dEQP-GLES2.functional.rasterization*line*
dEQP-GLES3.functional.rasterization*line*

Components: Framework

VK-GL-CTS Issue: 2274

Change-Id: I0cfd496969512bdbf9d0156ea8f43e737c44512f

4 years agoSuppress -Werror=array-bounds for latest GCC
Yiwei Zhang [Sat, 2 May 2020 05:06:40 +0000 (22:06 -0700)]
Suppress -Werror=array-bounds for latest GCC

VK-GL-CTS Issue: 2345

Change-Id: Id2a04a13dd3a13cc159919778315218e2f136fca

4 years agoTest data formats of GPU built acceleration structures
Pawel Ksiezopolski [Thu, 30 Apr 2020 10:59:16 +0000 (12:59 +0200)]
Test data formats of GPU built acceleration structures

Vertex and index data formats for acceleration structures
were verified using host functions only.
Now also device functions will be added to the test set.

Affects tests:
dEQP-VK.ray_tracing.acceleration_structures.format.*

New tests:
dEQP-VK.ray_tracing.acceleration_structures.format.gpu_built.*

Components: Vulkan

VK-GL-CTS issue: 2341

Change-Id: Id51819e39f6d99d033bac5021a1c0abc0a4cb7f7

4 years agoExtend Android Hardware Buffer external memory format tests
Rosen Zhelev [Fri, 13 Mar 2020 16:23:13 +0000 (16:23 +0000)]
Extend Android Hardware Buffer external memory format tests

Add testing of depth and stencil Android Hardware Buffer formats.
These are added in Android API version 28 and present in the Format
Equivalence Table for VK_ANDROID_external_memory_android_hardware_buffer

Added tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d16_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.x8_d24_unorm_pack32
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d24_unorm_s8_uint
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d32_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d32_sfloat_s8_uint
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.s8_uint

Components: Vulkan

VK-GL-CTS issue: 2280

Change-Id: Ia90efc34f600eea6a1510276f3edab668c253459

4 years agoTests for VK_KHR_deferred_host_operations
Boris Zanin [Wed, 15 Apr 2020 14:19:17 +0000 (16:19 +0200)]
Tests for VK_KHR_deferred_host_operations

Implementation of deferred host operations tests for:
 * vkCreateRayTracingPipelinesKHR
 * vkBuildAccelerationStructureKHR
 * vkCopyAccelerationStructureToMemoryKHR

Add tests:
 * dEQP-VK.ray_tracing.large_shader_set.cpu_ht_*
 * dEQP-VK.ray_tracing.build.cpuht_*
 * dEQP-VK.ray_tracing.acceleration_structures.host_threading.*

Affects tests:
 * dEQP-VK.ray_tracing.large_shader_set.gpu*
 * dEQP-VK.ray_tracing.large_shader_set.cpu_ht.*
 * dEQP-VK.ray_tracing.build.gpu_cpu.*
 * dEQP-VK.ray_tracing.build.gpu_cpuht.*
 * dEQP-VK.ray_tracing.acceleration_structures.*

Components: Vulkan

VK-GL-CTS issue: 2308

Change-Id: I9d0ba23b9badd24afc4efe944cde686bd07e9c74

4 years agoRay tracing build tests
Boris Zanin [Sun, 15 Dec 2019 18:51:06 +0000 (19:51 +0100)]
Ray tracing build tests

Run ray tracing tests by building accelaration structures:
 * on GPU and CPU
 * on GPU and CPU using host threading
and comparing build results.

Add tests:
 * dEQP-VK.ray_tracing.build.gpu_cpu.*
 * dEQP-VK.ray_tracing.build.gpu_cpuht.*

Components: Framework, Vulkan

VK-GL-CTS issue: 2133

Change-Id: I7775b4490eff2efe88e89f5cc4d30d6fc7df30cb

4 years agoEnsure alphabetical order of xml attributes
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes

Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.

See https://github.com/python/cpython/commit/63673916464bace8e2147357395fdf3497967ecb

Components: Framework

VK-GL-CTS issue: 2358

Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85
(cherry picked from commit b2d84418efc74c558be55c2934e14c2a93edefed)

4 years agoEnsure alphabetical order of xml attributes
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes

Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.

See https://github.com/python/cpython/commit/63673916464bace8e2147357395fdf3497967ecb

Components: Framework

VK-GL-CTS issue: 2358

Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85

4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Sat, 9 May 2020 11:37:44 +0000 (13:37 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: I141bdc0fcf8bca78001153a5969945a28fb5ef30

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Fri, 8 May 2020 17:53:59 +0000 (19:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I4769eb2ad81f29030c947fb1507fd8d3b64d385b

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 8 May 2020 16:32:19 +0000 (18:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I6f501d0a79d072f3c3178ceda69dff5dfa9f98a0

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 8 May 2020 15:25:26 +0000 (17:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: Ibebde574b312ceb0f9077bcbe13ef5594387b2eb

4 years agofix input dependency for renderpass depth/stencil format tests
Connor Abbott [Mon, 4 May 2020 16:43:11 +0000 (18:43 +0200)]
fix input dependency for renderpass depth/stencil format tests

This appears to be a copy/paste mistake. The exact stage/access bits was
taken from other dependencies with an input attachment which is a
depth/stencil attachment.

Affected tests:
dEQP-VK.renderpass.*.formats.d16_unorm.input.*
dEQP-VK.renderpass.*.formats.x8_d24_unorm_pack32.input.*
dEQP-VK.renderpass.*.formats.d32_sfloat.input.*
dEQP-VK.renderpass.*.formats.d24_unorm_s8_uint.input.*
dEQP-VK.renderpass.*.formats.d32_sfloat_s8_uint.input.*

Change-Id: Ib1cde2371781cc8337905af04e0b7732b74333af
Components: Vulkan
VK-GL-CTS issue: 2351

4 years agoAvoid exceeding maxPerStageResources in descriptor_indexing tests
Slawomir Cygan [Mon, 27 Apr 2020 13:14:42 +0000 (15:14 +0200)]
Avoid exceeding maxPerStageResources in descriptor_indexing tests

The 'calculateInLoop; (*_in_loop) variant of the test is using additional
uniform texel buffer descriptor binding in pipeline layout.

This binding was counted only against maxPerStageDescriptorSampledImages and
maxDescriptorSetSampledImages limits, but not maxPerStageResources.

The fix is to count it against all three limits - but do this only when needed (in
*_in_loop) tests.

Component: Vulkan

VK-GL-CTS Issue: 2333

Affects: dEQP-VK.descriptor_indexing.*

Change-Id: I1c3476cb8c50c3ed61e73ecd4c106e6e9b613022

4 years agoSplit subgroupBroadcast tests
Ari Suonpaa [Mon, 27 Apr 2020 07:06:18 +0000 (10:06 +0300)]
Split subgroupBroadcast tests

Subgroup broadcast tests with required subgroup size were
iterating the range of supported sizes in a single test.
These are now split into own test cases to prevent long
execution times of these tests and to allow the test
group to run faster when running tests in parallel.

Affects:

dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast*

Components: Vulkan

VK-GL-CTS issue: 2327

Change-Id: I5af34cebee0fd58e5e065dbdef882badcf04a90b

4 years agoTest variableMultisampleRate with non-empty framebuffer
Ricardo Garcia [Fri, 3 Apr 2020 16:41:13 +0000 (18:41 +0200)]
Test variableMultisampleRate with non-empty framebuffer

This commits adds new test variants to the existing variable rate
multisample tests to check a non-empty framebuffer does not affect the
results, both when the subpass is still completely empty and when the
subpass contains an VK_ATTACHMENT_UNUSED attachment reference.

New tests:
dEQP-VK.pipeline.multisample.variable_rate.*_fb_*

Components: Vulkan
VK-GL-CTS issue: 2152

Change-Id: Ic8aabad6a00ca29c4eb624222548c6c607f6dec6

4 years agoAdded a fourth batch of coverage tests found by GraphicsFuzz
Ari Suonpaa [Wed, 29 Apr 2020 09:21:54 +0000 (12:21 +0300)]
Added a fourth batch of coverage tests found by GraphicsFuzz

New tests:

dEQP-VK.graphicsfuzz.cov-const-folding-ceil-vec4
dEQP-VK.graphicsfuzz.cov-const-folding-det-identity
dEQP-VK.graphicsfuzz.cov-const-folding-same-condition
dEQP-VK.graphicsfuzz.cov-const-folding-sinh-inf
dEQP-VK.graphicsfuzz.cov-dag-combiner-neg-div-pow2
dEQP-VK.graphicsfuzz.cov-dag-combiner-same-cond-nested
dEQP-VK.graphicsfuzz.cov-increment-inside-clamp
dEQP-VK.graphicsfuzz.cov-loop-findmsb-findlsb
dEQP-VK.graphicsfuzz.cov-max-clamp-same-minval
dEQP-VK.graphicsfuzz.cov-selection-dag-same-cond-twice
dEQP-VK.graphicsfuzz.cov-simplify-clamp-max-itself
dEQP-VK.graphicsfuzz.cov-simplify-component-uniform-idx
dEQP-VK.graphicsfuzz.cov-simplify-div-by-uint-one
dEQP-VK.graphicsfuzz.cov-simplify-ldexp-exponent-zero
dEQP-VK.graphicsfuzz.cov-simplify-mul-identity
dEQP-VK.graphicsfuzz.cov-simplify-not-less-than-neg
dEQP-VK.graphicsfuzz.cov-simplify-select-fragcoord
dEQP-VK.graphicsfuzz.cov-simplify-sign-cosh
dEQP-VK.graphicsfuzz.cov-simplify-smoothstep-undef
dEQP-VK.graphicsfuzz.cov-value-tracking-const-dfdy
dEQP-VK.graphicsfuzz.cov-value-tracking-inclusive-or
dEQP-VK.graphicsfuzz.cov-value-tracking-uniform-incident

Components: Vulkan
Change-Id: If6d0803f73424c2e1fcc922e738803fac8b7cf60

4 years agoHost Serialization values are being overwritten
Aaron Hagan [Thu, 7 May 2020 01:09:32 +0000 (21:09 -0400)]
Host Serialization values are being overwritten

When serialize / deserialize on the host, the topBlasSerialSize /
bottomBlasSerialSize are getting overwritten.
Check if build type is VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR
before calling getQueryPoolResults.

Affects tests:
 * dEQP-VK.ray_tracing.acceleration_structures.operations.serialization.cpu_built.*

Components: Vulkan

VK-GL-CTS issue: 2356

Change-Id: Id7789ddefac1f591562f59a364580ae2832f6a6e

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 18:13:23 +0000 (20:13 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I98e6a4466dad826eb55fb9cf99d81d217f610123

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 14:21:38 +0000 (16:21 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I209deda6936efa25b41d98bbefcca889fa9f1906

4 years agoMake ImageSamplingInstance loop over pNexts
Joshua Ashton [Fri, 17 Apr 2020 03:17:07 +0000 (04:17 +0100)]
Make ImageSamplingInstance loop over pNexts

We need this to potentially support multiple pNexts.

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

Components: Vulkan
VK-GL-CTS issue: 2331

Change-Id: Ia38f9a6f2a2ffafe1d71c8169bb8f20f8cde1da5

4 years agoMemory model ordering guarantees
Boris Zanin [Mon, 6 Apr 2020 14:25:26 +0000 (16:25 +0200)]
Memory model ordering guarantees

Test memory model ordering guarantees:
 * Stores before a repack are visible after
   a repack with no explicit synchronization
 * Use memory barrier with ShaderCallKHR scope
   to synchronize between caller and callee

Add tests:
 * dEQP-VK.ray_tracing.memguarantee.*

Components: Vulkan

VK-GL-CTS issue: 2212

Change-Id: I6a1fbefa8cbeb926540ba6b42d11de138ca42263

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 07:09:13 +0000 (09:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I0e426c55c733847803339048389c18163350ef4f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 7 May 2020 07:09:12 +0000 (09:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I37ceae996c069a640b7c9c67177bc6b0fe6ee5ee