platform/upstream/VK-GL-CTS.git
2 years agoRaise glsl version to 410 core for shaders with GL_ARB_shader_atomic_counters
Alexander Galazin [Wed, 26 May 2021 07:20:59 +0000 (09:20 +0200)]
Raise glsl version to 410 core for shaders with GL_ARB_shader_atomic_counters

Components: OpenGL

Affects: KHR*.shader_subroutine.*

VK-GL-CTS public issue: 270

Change-Id: Ifed270991a1b18fb88514d6f0b96f0802498fb56

2 years agoRemove shaders.switch from the Khronos mustpasses
Alexander Galazin [Tue, 25 May 2021 09:51:18 +0000 (11:51 +0200)]
Remove shaders.switch from the Khronos mustpasses

Components: OpenGL

VK-GL-CTS issue: 2540

Affects: KHR*.shaders.switch.*

Change-Id: I41867656e67adc5077527a6d78791b06cee52c2f

2 years agoAdd a test for VK_EXT_global_priority_query
Yiwei Zhang [Wed, 10 Mar 2021 21:58:44 +0000 (21:58 +0000)]
Add a test for VK_EXT_global_priority_query

Components: Vulkan

VK-GL-CTS Issue: 2840

New tests: dEQP-VK.api.device_init.create_device_global_priority_query

Change-Id: I5245711e6db62f5fac06c146e868dfa4e88ab918
(cherry picked from commit 9c2b7bd961ac5f0394011930be9a4b58be37f217)

2 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 7 Jun 2021 07:02:53 +0000 (09:02 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I357b284202a389ca269891938630e95edab57124

2 years agoFix validation errors in ASTC decode mode tests
Ilkka Saarelainen [Mon, 31 May 2021 12:10:38 +0000 (15:10 +0300)]
Fix validation errors in ASTC decode mode tests

The tests were trying to compare the raw contents of each ASTC
block contents between the tested and reference images via UINT and
SINT image views, but the type of the image view must be compatible
with the image format.

This CL changes the test to compare individual sampled texel
values instead of raw ASTC texel block values. The generated
images now contain valid ASTC blocks instead of random values.

Affects:
dEQP-VK.image.astc_decode_mode.*

Components: Vulkan

VK-GL-CTS issue: 2820

Change-Id: I38113725692f754c5de4393b5fad5d333cf99533

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 3 Jun 2021 18:02:42 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I070c88e5936fddc054050484c28fd892c6fb8a3a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 3 Jun 2021 15:15:02 +0000 (17:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Id8117502d12cca36e3a414da3df7b8a3bb661cf5

2 years agoStatic code analysis fix for bounding box test
Jari Komppa [Tue, 18 May 2021 12:25:07 +0000 (15:25 +0300)]
Static code analysis fix for bounding box test

After closer analysis turns out the mistake in the code
was using xmin twice; changed to use xmin and xmax.

Affects:
dEQP-GLES31.functional.primitive_bounding_box.call_order.*

Change-Id: I307126c3558e4b8700d3ed808e24c7d85bcb50dc
Components: OpenGL

2 years agoAdd timer query handle reuse test for opengl es
Jari Komppa [Tue, 11 May 2021 06:52:45 +0000 (09:52 +0300)]
Add timer query handle reuse test for opengl es

This change adds base class for disjoint_timer_query tests
as well as test for handle reuse which was ported from the
GL4+ version.

New test: KHR-GLESEXT.disjoint_timer_query.handle_reuse

Components: OpenGL
VK-GL-CTS issue: 2911

Change-Id: I44421813a5de510e52fb6e1109fb2863856351c6

2 years agoInvalid VkPipelineRasterizationLineStateCreateInfoEXT chained
Boris Zanin [Thu, 27 May 2021 13:36:30 +0000 (15:36 +0200)]
Invalid VkPipelineRasterizationLineStateCreateInfoEXT chained

Some tests get the structure empty (and implementations most
likely ignore it), other tests get the structure with fields
inadequate to the test.

Update tests:
 * dEQP-VK.rasterization.*

Components: Vulkan

VK-GL-CTS issue: 2942

Change-Id: Ie485ad55266a53e64c74eab3db31a51d781c9d57

2 years agoFix vertex count calculation in XFB query tests
Mika Väinölä [Tue, 25 May 2021 07:21:53 +0000 (10:21 +0300)]
Fix vertex count calculation in XFB query tests

The primitive to vertex count calculation for
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY was
`(primCount + 4u) * 2u` when it should be `primCount * 2u + 4u`.

This change affects the bufferSize parameter passed to the tests.
The vertex count returned by this function is part of the test name
so the affected test cases are also renamed.

Affects:
dEQP-VK.transform_feedback.simple.query*
dEQP-VK.transform_feedback.simple.host_query_reset*

Components: Vulkan

VK-GL-CTS issue: 2934

Change-Id: I59e95a3240c6c45f8caf0dd4dc5b61c593059304

2 years agoSet the recursion depth for chit and miss cases
Piers Daniell [Mon, 17 May 2021 19:04:21 +0000 (13:04 -0600)]
Set the recursion depth for chit and miss cases

In the new dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_tracing.*
group of tests the "chit" and "miss" variants the shaders
generate additional rays, which means their recursion depth needs to be
greater than 1. In both cases "2" covers it.

Affects:

dEQP-VK.binding_model.descriptor_update.acceleration_structure.*

Components: Vulkan

VK-GL-CTS issue: 2924

Change-Id: I7acb1eda10f0ad6c7f2754deaa8451c317b4841b

2 years agoAdd depth-stencil tests that do vkCmdCopyImage() with both image aspects
Samuel Iglesias Gonsálvez [Wed, 19 May 2021 11:25:48 +0000 (13:25 +0200)]
Add depth-stencil tests that do vkCmdCopyImage() with both image aspects

Added tests:

   dEQP-VK.api.copy_and_blit.*_depth_stencil_aspects*

Components: Vulkan
VK-GL-CTS issue: 2926

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I9673674035d7a3fbd1947819305ea9dcb8dede6a

2 years agoTest for fragment shading rate in FragCoord.zw
marz [Thu, 22 Apr 2021 07:44:52 +0000 (09:44 +0200)]
Test for fragment shading rate in FragCoord.zw

Expansion of cases in pixel consistency test with varying shading rate
applied using zw fragment coordinates.

VK-GL-CTS issue: 2850

Components: Vulkan

Affects:
dEQP-VK.fragment_shading_rate.pixel_consistency.*

Change-Id: I8ba67a603a8b8b3b53f85207b5adae3bbc9ba51b

2 years agoAdd tests for vkCmdCopyQueryPoolResults and pipeline statistics
Samuel Iglesias Gonsálvez [Fri, 21 May 2021 08:30:32 +0000 (10:30 +0200)]
Add tests for vkCmdCopyQueryPoolResults and pipeline statistics

Added tests:

   dEQP-VK.query_pool.statistics_query.*cmdcopyquerypoolresults*

Modified tests:

   dEQP-VK.query_pool.statistics_query.multiple_queries.*

Renamed tests:
   dEQP-VK.query_pool.statistics_query.*dstoffset* to
   dEQP-VK.query_pool.statistics_query.*dstoffset_cmdcopyquerypoolresults*

Components: Vulkan
VK-GL-CTS issue: 2656

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I9cb6f4671f772834ca43f24a342323a42266c581

2 years agoUpdate glslang, SPIR-V Tools/Headers
Alexander Galazin [Wed, 2 Jun 2021 07:40:04 +0000 (09:40 +0200)]
Update glslang, SPIR-V Tools/Headers

Components: Framework

Change-Id: I88d7d3fb789c667261db76b143979cb7e7a87f30

2 years agoCheck return code for vkGetAndroidHardwareBufferPropertiesANDROID
Yiwei Zhang [Fri, 28 May 2021 06:47:29 +0000 (06:47 +0000)]
Check return code for vkGetAndroidHardwareBufferPropertiesANDROID

Components: Vulkan

VK-GL-CTS Issue: 2944

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

Change-Id: I2da2fe29ae34bd78c3bf2d4e37b002ef58828c12

2 years agoAdd script for comparing dEQP SwiftShader runs
Vihanakangas [Wed, 3 Feb 2021 10:07:19 +0000 (12:07 +0200)]
Add script for comparing dEQP SwiftShader runs

This submit adds a new script to vk-gl-cts/scripts that checks
for differences/regression in two different deqp-vk runs using regres and SwiftShader.
The script outputs a log of found differences from
the two different runs.

Change-Id: I9bfcc74e581c939a7b541fb7bb2a7141f0b9aeed

2 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Mon, 31 May 2021 07:24:28 +0000 (09:24 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: Ia2f1289fc2d08e1238e0278067d1cf884e1b8287

2 years agoMerge pull request #258 from asimiklit/fix/arrayed-tests
Alexander Galazin [Mon, 31 May 2021 07:23:56 +0000 (09:23 +0200)]
Merge pull request #258 from asimiklit/fix/arrayed-tests

Disable explicit location tests for `arrayed` block members

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Sat, 29 May 2021 08:00:26 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I7627d6a95d9d8fccff9da037851bd3f11eddc7b5

2 years agoUpdate OpenGL mustpass
Alexander Galazin [Fri, 28 May 2021 14:51:16 +0000 (16:51 +0200)]
Update OpenGL mustpass

Components: OpenGL

Change-Id: I0ecc800bfa213c4567354afc5c5cc7c0b96dd00b

2 years agoFix several issues in swapchain tests
Ricardo Garcia [Fri, 28 May 2021 11:53:56 +0000 (13:53 +0200)]
Fix several issues in swapchain tests

This commit fixes the following issues found in the swapchain tests:

- The initial image layout in some render passes did not match the
  actual image layout when starting the render pass.

- image_swapchain_create_info tests were using VK_KHR_bind_memory2
  functions without activating the extension on the device or making
  sure it was core in the used Vulkan API version.

- Many devices were being created with the wrong instance, using the
  context instance instead of the custom instance created for the tests.

- Several tests using VK_SHARING_MODE_CONCURRENT did not check for the
  availability of two queues or were always using one, which is invalid.

- VkDeviceGroupSwapchainCreateInfoKHR had a wrong sType.

- Swapchain resize tests were calling vkBeginCommandBuffer() on active
  command buffers without waiting for them to complete execution.

- Typos and other minor issues.

Affected tests:
dEQP-VK.wsi.*.swapchain.*

Components: Vulkan
VK-GL-CTS issue: 2941

Change-Id: I54d5f46cbcb76617260439a59bf3aef4028309bb

2 years agoAdd AOSP tests to the GL4.5 mustpass
Alexander Galazin [Thu, 13 May 2021 08:56:22 +0000 (10:56 +0200)]
Add AOSP tests to the GL4.5 mustpass

Components: OpenGL

Change-Id: I947a22b7e1f74f343e3b9eed2866a122756ef260

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 28 May 2021 08:37:34 +0000 (10:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ia66e6fb7a5444ffd1f1a5f14ef456c5129e0fd8f

2 years agoFix surfaceless platform for Android
Paul Thomson [Tue, 18 May 2021 10:54:54 +0000 (11:54 +0100)]
Fix surfaceless platform for Android

Fix Vulkan library path on Android and fix config selection when
glu::RenderConfig::DONT_CARE is used.

Affected tests:
dEQP-VK.*

Components: Framework
Change-Id: I8809dd691e144223991a693aa9b90c03cd829a63

2 years agoCheck supportedAlpha is never zero
Ricardo Garcia [Thu, 13 May 2021 11:50:34 +0000 (13:50 +0200)]
Check supportedAlpha is never zero

According to the spec, the value of supportedAlpha must contain at least
one valid VkDisplayPlaneAlphaFlagBitsKHR bit.

Affected tests:
dEQP-VK.wsi.display.get_display_plane_capabilities

Components: Vulkan
VK-GL-CTS issue: 2718

Change-Id: I4bdba857c8571d38a41bf8d69b10acc2bb5065ee

2 years agoDo not clamp ambiguous snorms values on vkCmdCopy*() functions
Samuel Iglesias Gonsálvez [Mon, 17 May 2021 08:04:01 +0000 (10:04 +0200)]
Do not clamp ambiguous snorms values on vkCmdCopy*() functions

As per Vulkan WG agreed, these functions perform a bit-for-bit copy
of the values, even if the result is unrepresentable.

Reverts:

* "Fixes sparse resource SNORM tests"
  -> 00e745999e771df2a604bf24d85594a69ad441fe

* "copies_and_blitting: fix ambiguous signed normalized 1.0 value"
  -> bce4ec47056a0473ccce9cf7951023da80c3b745

Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.*.r32_sfloat.a8b8g8r8_snorm_pack32*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.*.r32_sfloat.r8g8b8a8_snorm.*
dEQP-VK.sparse_resources.image_sparse_binding.*snorm*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*snorm*

VK-GL-CTS issue: 2917
Componentes: Vulkan

Change-Id: I5878379aa78e68ac7452a83c1a64abf01c9472c8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoAdd writing to invalid multisample indices tests
Juha Heiskanen [Tue, 11 May 2021 13:02:55 +0000 (16:02 +0300)]
Add writing to invalid multisample indices tests

In these new tests, we check that writes to invalid sample indices are
correctly discarded.

Components: Vulkan

VK-GL-CTS Issue: 2310

New tests:
dEQP-VK.texture.multisample.invalid_sample_index.*

Change-Id: I1feb6f8d44c6cdc526eb5b3ab1d045cd3a181b17

2 years agoAdd GL_EXT_texture_sRGB_RG8 support
Alexey Knyazev [Mon, 10 May 2021 12:16:20 +0000 (16:16 +0400)]
Add GL_EXT_texture_sRGB_RG8 support

Affects:

dEQP-GLES3.functional.texture.format.sized.*.srgb_rg8*
dEQP-GLES3.functional.texture.filtering.*.formats.srgb_rg8*
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srg8*
dEQP-GLES31.functional.texture.format.sized.cube_array.srgb_rg8*
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srg8.*

Components: OpenGL, AOSP

Change-Id: I5194f06dbfedc375ade3e8b4fc2e84aa65868df1

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Mon, 12 Apr 2021 11:26:09 +0000 (14:26 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-cast-float-to-int-and-back
dEQP-VK.graphicsfuzz.cov-clamp-vector-element-ceil-negative
dEQP-VK.graphicsfuzz.cov-clear-yz-inside-condition
dEQP-VK.graphicsfuzz.cov-conditional-discard-inside-loop
dEQP-VK.graphicsfuzz.cov-continue-break-discard-return-in-loop
dEQP-VK.graphicsfuzz.cov-cosh-clamped-to-one
dEQP-VK.graphicsfuzz.cov-double-if-true-in-loop
dEQP-VK.graphicsfuzz.cov-for-loop-min-increment-array-element
dEQP-VK.graphicsfuzz.cov-if-true-discard-in-do-while-never-reached
dEQP-VK.graphicsfuzz.cov-increment-float-in-loop-abs
dEQP-VK.graphicsfuzz.cov-increment-vector-component-with-matrix-copy
dEQP-VK.graphicsfuzz.cov-matching-conditions-break
dEQP-VK.graphicsfuzz.cov-matching-if-always-true-inside-loop
dEQP-VK.graphicsfuzz.cov-rcp-negative-int
dEQP-VK.graphicsfuzz.cov-return-after-first-iteration

Change-Id: I0dd986b855b4ce4c14fe653cfb069f1d038f6cdc

2 years agoAdd permutations of different cases on existing test
Vihanakangas [Fri, 7 May 2021 14:33:38 +0000 (17:33 +0300)]
Add permutations of different cases on existing test

A test for copying a partial image with npot dimensions,
differing format from source to destination and clearing
of image was previously added. This commit adds different variations
of said test.

New tests:

dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear

Affects:

dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear

Components: Vulkan

VK-GL-CTS issue: 2683

Change-Id: Ib82339d66e451e34a633e45f50ed8981db21731a

2 years agoAdd multiple statistics query tests
Samuel Iglesias Gonsálvez [Wed, 5 May 2021 10:35:49 +0000 (12:35 +0200)]
Add multiple statistics query tests

Add tests for different query operations:

* Multiple statistics query flags enabled but only input assembly
  vertices and primitives together with vertex or fragment shader
  invocations.
* Partial queries.
* Add tests with/without wait flag.
* Getting query values with vkCmdCopyQueryPoolResults() and
vkGetQueryPoolResults()
  - Usage of dstOffset in vkCmdCopyQueryPoolResults().

Components: vulkan, framework
VK-GL-CTS issue: 2909

Added tests:

   dEQP-VK.query_pool.statistics_query.multiple_queries.*

Change-Id: I2dd5412e20268c7997a870dd33a1f3c0a1779600
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoUse arrays of pointers with non-identity matrices
Ricardo Garcia [Tue, 20 Apr 2021 07:05:03 +0000 (09:05 +0200)]
Use arrays of pointers with non-identity matrices

Ray tracing tests were lacking coverage for using non-identity matrices
while instanceData.arrayOfPointers is set to true. This commit modifies
ray direction tests, notable for using non-identity matrices, so every
other case uses arrays of pointers for both instance data and the
ppGeometries build geometry info structure when creating the top level
acceleration structure.

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

Components: Vulkan
VK-GL-CTS issue: 2881

Change-Id: I6464673a3d62f2b77ae3ad428de09d30be123ea7

2 years agoRemove empty subtest
Mikko Tiusanen [Thu, 22 Apr 2021 09:06:45 +0000 (12:06 +0300)]
Remove empty subtest

Removed subtest function definitions and empty (always passing,
test not run) implementation for integer_constant_expression.

Affects:
KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_FragmentShader

Components: OpenGL, OpenGL ES
VK-GL-CTS issue: 2232

Change-Id: I42fa99f09895d00adeb25123e26c4dbaefeb498f

2 years agoLower vector constructor test shader version
Mikko Tiusanen [Mon, 10 May 2021 07:32:09 +0000 (10:32 +0300)]
Lower vector constructor test shader version

Changed shaders in GLSL vector constructor tests
to require version tag matching the OpenGL 3.0
specification.

Affects:

KHR-GL30.shaders30.glsl_constructors.*

Components: OpenGL

VK-GL-CTS issue: 2892

Change-Id: I2fdff3de489bfa20115270e542104d06aeb65b0f

2 years agoTest framebuffer completeness when layered rendering
Mikko Tiusanen [Tue, 16 Mar 2021 08:16:05 +0000 (10:16 +0200)]
Test framebuffer completeness when layered rendering

Added OpenGL ES tests for rendering to layered (cube map) framebuffer.

VK-GL-CTS issue: 2801

Components: OpenGL
Change-Id: I1cede4806af33520612b7335d553df7da119520e

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Wed, 26 May 2021 10:40:11 +0000 (12:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: Ie5c97143a71df2572ed345e6bddf2937e81e4573

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Wed, 26 May 2021 10:03:17 +0000 (12:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I693041c49bff85c924472119584f938c958ea7eb

2 years agoAllow false positive hits from build-in AABBs intersector
Slawomir Cygan [Wed, 19 May 2021 16:04:58 +0000 (18:04 +0200)]
Allow false positive hits from build-in AABBs intersector

This extends the fix from 7ff1f9cd to 'mixed' tests, which
also use AABBs.

This change allows the test to execute any hit shader,
in case of AABB geometry is used and the ray falsely 'intersects'
it.

This is needed, as the test does not calculate the proper
intersection in 'intersection' stage - it uses a shader that always
reports TRUE. Hence the test relies on build-in AABB
intersector, which may report false positives according to the
specification.

VK-GL-CTS Issue: 2848

Components: Vulkan

Affects: dEQP-VK.ray_tracing_pipeline.build.*mix*

Change-Id: Ia962992df866b68f84714dcb6429a1a90499d9b6

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 26 May 2021 09:15:08 +0000 (11:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I5a38303ad269d39786584512a105e0e4b636eca1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 26 May 2021 08:45:36 +0000 (10:45 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I2182f671aa88657e150c9d987713b93920377b23

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 26 May 2021 07:43:38 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I6a05c3d94da3f1f6397b029997d6d43db2439548

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 26 May 2021 07:01:29 +0000 (09:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib9e1ec8639e95a5bda7c361e1db102b5f4f94194

2 years agoFixes ycbcr copy tests using NaNs
Matthew Netsch [Fri, 26 Feb 2021 19:51:41 +0000 (11:51 -0800)]
Fixes ycbcr copy tests using NaNs

Removes NaNs from the source images

Components: Vulkan
VK-GL-CTS issue: 2772

Affects:
dEQP-VK.ycbcr.copy.*

Change-Id: I52d279633e081ecce0ef93681c4d199296de6107

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 21 May 2021 15:29:56 +0000 (17:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I8f74d90e51fc450a85239f6c65fcc792e8e370b6

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 21 May 2021 13:36:11 +0000 (15:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: If63af4526f72fc1f214b60c4c9d891718bf2b440

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Fri, 21 May 2021 12:12:54 +0000 (14:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I768331416f61a0a76c6bff504e0fedd545080f22

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Fri, 21 May 2021 11:34:48 +0000 (13:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I9ac48fcdfe6e253139ccde50371b9dbfa31ce437

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 21 May 2021 10:05:50 +0000 (12:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I9a085c6867ee119951a839b0d5eecb7fcf351029

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 21 May 2021 09:18:08 +0000 (11:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I575ea750c7a89ec9f8306537a4bc3f7fbb64a619

2 years agoFix precision issue in ShaderMatrixTest
fred jin [Fri, 2 Apr 2021 07:39:07 +0000 (15:39 +0800)]
Fix precision issue in ShaderMatrixTest

According to the Spec, the compiler is free to promote computation
precisions, and such promotion depends on the specific shader
content or compiler.

When tests use the lowp or mediump precision in the shaders, It
can't confirm the final computation precision. Now the precision
of the shader inputs is highp, if the real computing precision in
GPU HW is lowp or mediump. It can easily get the comparison failure.
So it's better to adjust the precision of the inputs as the expected
precision in the specific tests.

Affects:

dEQP-GLES3.functional.shaders.matrix.*

Components: OpenGL

VK-GL-CTS issue: 2863

Change-Id: I30af699da12bf88596e7046922b2f1f00d5d3f06

2 years agoRemove unused check
Boris Zanin [Sun, 16 May 2021 18:04:30 +0000 (20:04 +0200)]
Remove unused check

This check is useless here. Remove it.

Also a year later there was a specification issue #1222 "Should
requiresDedicatedAllocation imply requiresDedicatedAllocation?"

That clarified this question and specification now contains
following paragraph totally invalidating this check:

When the implementation sets requiresDedicatedAllocation to VK_TRUE,
it must also set prefersDedicatedAllocation to VK_TRUE.

Update tests:
 * dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
 * dEQP-VK.memory.requirements.dedicated_allocation.image.*

Components: Vulkan

VK-GL-CTS issue: 391

VK-GL-CTS public issue: 267

Change-Id: I557d3c0fac752ec2f42db7e6dcd78787a0c69a26

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 23 Apr 2021 11:32:43 +0000 (14:32 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-atan-trunc-vec4
dEQP-VK.graphicsfuzz.cov-bitwise-inverse-uniform-condition
dEQP-VK.graphicsfuzz.cov-clamp-loop-limit-increment-float-array
dEQP-VK.graphicsfuzz.cov-clamp-lower-limit-from-always-false
dEQP-VK.graphicsfuzz.cov-function-vec2-never-discard
dEQP-VK.graphicsfuzz.cov-global-loop-counter-float-accumulate-matrix
dEQP-VK.graphicsfuzz.cov-int-div-round-to-zero
dEQP-VK.graphicsfuzz.cov-loop-abs-multiply-offset
dEQP-VK.graphicsfuzz.cov-loop-increment-or-divide-by-loop-index
dEQP-VK.graphicsfuzz.cov-matrix-double-transpose
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-do-while-accumulate-float
dEQP-VK.graphicsfuzz.cov-set-output-color-function-call-nested-loop
dEQP-VK.graphicsfuzz.cov-texel-double-negation
dEQP-VK.graphicsfuzz.cov-unused-matrix-copy-inside-loop
dEQP-VK.graphicsfuzz.cov-vector-illegal-index-never-executed

Change-Id: I26425024458bb5e080647194e90a87cc7e8512d8

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Thu, 20 May 2021 06:51:53 +0000 (08:51 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I37c6ded86ee2b7242e2146185b7683147fcdf234

3 years agoAdd XFB tests for VK_EXT_provoking_vertex
Mika Väinölä [Thu, 29 Oct 2020 12:06:09 +0000 (14:06 +0200)]
Add XFB tests for VK_EXT_provoking_vertex

Test that the positions of provoking vertices are preserved in
transform feedback when transformFeedbackPreservesProvokingVertex
is advertised.

New tests:
dEQP-VK.rasterization.provoking_vertex.transform_feedback.*

Affects:
dEQP-VK.rasterization.provoking_vertex.*

Components: Vulkan

VK-GL-CTS issue: 2615

Change-Id: Id9cc1884487d204f1993aab0c8a0f618f32eb7c4
(cherry picked from commit 16663f3d6416027a00decc9810a4cfbd1d0457eb)

3 years agoAdd tests for VK_EXT_provoking_vertex
Mika Väinölä [Thu, 12 Dec 2019 11:12:16 +0000 (13:12 +0200)]
Add tests for VK_EXT_provoking_vertex

Replace VkScript-based provoking vertex tests with one file that tests
both the default Vulkan provoking vertex convention and different
provoking vertex modes provided by VK_EXT_provoking_vertex.

New tests:
dEQP-VK.rasterization.provoking_vertex.default.*
dEQP-VK.rasterization.provoking_vertex.first.*
dEQP-VK.rasterization.provoking_vertex.last.*
dEQP-VK.rasterization.provoking_vertex.per_pipeline.*

Affects:
dEQP-VK.rasterization.provoking_vertex.*

Components: Vulkan

VK-GL-CTS issue: 2092

Change-Id: I472c8c15ca1c0ad51a2dcc16ef9fa3d5f6ba5fa7
(cherry picked from commit 2d23e0e1a180c4dc8b5bcde8a4713527b7ef50b9)

3 years agoStatic code analysis fixes for GL cts
Jari Komppa [Tue, 27 Apr 2021 12:27:51 +0000 (15:27 +0300)]
Static code analysis fixes for GL cts

This change contains multiple static code analysis fixes,
including uninitialized member variables, initialization
order and buffer overruns.

In theory these changes shouldn't change the tests, but
due to the nature of the changes, some behavior changes
may occur.

Due to the large number of files changed, the affects
mask is over-wide.

Affects:
dEQP-GL*
KHR-*

Change-Id: I57518c38fca9775691f02edfc0cbeee28294bc1e
Components: Framework, OpenGL

3 years agoAdd tests for multidimensional atomic counter array
Ari Suonpaa [Fri, 23 Apr 2021 12:44:35 +0000 (15:44 +0300)]
Add tests for multidimensional atomic counter array

VK-GL-CTS Issue: 1916

New tests:

KHR-GLES31.core.shader_atomic_counters.advanced-usage-multidim-array*

Components: OpenGL ES
Change-Id: Ic3013a5be424238afca0f20e16ef94d3076acfdb

3 years agoRevert "Remove too long ray_tracing.build tests"
Slawomir Cygan [Thu, 13 May 2021 12:00:14 +0000 (12:00 +0000)]
Revert "Remove too long ray_tracing.build tests"

This reverts commit 6e14c25f5d049cb0dadebdd8a48392721b8a4d0b.

This reinstates long ray_tracing.build tests

VK-GL-CTS Issue: 2896

Components: Vulkan

Change-Id: I1b0ecaa3eeb63f5ca82d7bffe790979e21d08b7c
Affects: dEQP-VK.ray_tracing_pipeline.build.*

3 years agoAdd missing vertex pipeline stores check with ray queries
Ricardo Garcia [Wed, 12 May 2021 14:53:19 +0000 (16:53 +0200)]
Add missing vertex pipeline stores check with ray queries

Several tests related to ray queries were performing image stores from
vertex pipeline shader stages without checking support for vertex
pipeline stores and atomics support.

Affected tests:
dEQP-VK.ray_query.watertightness.*.vert.*
dEQP-VK.ray_query.watertightness.*.tesc.*
dEQP-VK.ray_query.watertightness.*.tese.*
dEQP-VK.ray_query.watertightness.*.geom.*
dEQP-VK.ray_query.builtin.*.vert.*
dEQP-VK.ray_query.builtin.*.tesc.*
dEQP-VK.ray_query.builtin.*.tese.*
dEQP-VK.ray_query.builtin.*.geom.*
dEQP-VK.ray_query.advanced.*.vert.*
dEQP-VK.ray_query.advanced.*.tesc.*
dEQP-VK.ray_query.advanced.*.tese.*
dEQP-VK.ray_query.advanced.*.geom.*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*vert*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tesc*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tese*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*geom*

Components: Vulkan
VK-GL-CTS issue: 2907

Change-Id: I1d13c227bb52dfad393c9b52681083598bff2f80

3 years agoAdd vkCmdCopyQueryPoolResults() tests with dstOffset != 0
Samuel Iglesias Gonsálvez [Thu, 29 Apr 2021 08:37:42 +0000 (10:37 +0200)]
Add vkCmdCopyQueryPoolResults() tests with dstOffset != 0

Components: Vulkan
VK-GL-CTS issue: 2909

Added tests:

   dEQP-VK.query_pool.*dstoffset*

Change-Id: Ib8b7173a58f370f0f7bb48a5d6a7de07621be096

3 years agoVK_VALVE_mutable_descriptor_type tests
Ricardo Garcia [Wed, 5 May 2021 10:35:29 +0000 (12:35 +0200)]
VK_VALVE_mutable_descriptor_type tests

This commit adds a new group of tests to check the
VK_VALVE_mutable_descriptor_type extension. The extension allows
applications to use a new type of descriptor that doesn't have a fixed
type and can mutate among several actual descriptor types.

In addition, the extension also allows creating descriptor pools and
sets that reside entirely in host memory. They can be used as the source
for descriptor copies but cannot be bound in a command buffer.

The new tests mix mutable descriptors with nonmutable ones, arrays of
them, descriptor writes, descriptor copies, host-only and normal pool
and sets, update-after-bind, different shader stages, etc.

New tests:
dEQP-VK.binding_model.mutable_descriptor.*

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

Change-Id: I19b00c2e0f56ce547a615cb39d50965f513c74db

3 years agoAdd new multi-planar format tests
Ilkka Saarelainen [Wed, 28 Apr 2021 09:47:03 +0000 (12:47 +0300)]
Add new multi-planar format tests

Adds new multi-planar format tests with per-plane views using compatible
formats taken from the table "Compatible Formats".

New tests:
dEQP-VK.ycbcr.plane_view.*_compatible_format_*

Affects:
dEQP-VK.ycbcr.plane_view.*

Components: Vulkan

VK-GL-CTS issue: 1630

Change-Id: Ib9a75e77990fe5c817a20b605a265f5ad326597a

3 years agoUpdate Vulkan headers
Alexander Galazin [Fri, 14 May 2021 18:19:53 +0000 (20:19 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I0256daab1e697718a061db6eff68eb01a1cb6196

3 years agoDisable explicit location tests for `arrayed` block members
Andrii Simiklit [Tue, 13 Apr 2021 16:41:42 +0000 (19:41 +0300)]
Disable explicit location tests for `arrayed` block members

According to the OpenGL 4.5 and Open GLES 3.2 specs these tests
aren't correct:

From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.50 spec:
  "For some blocks declared as arrays, the location can only be applied
   at the block level: When a block is declared as an array where
   additional locations are needed for each member for each block array
   element, it is a compile-time error to specify locations on the block
   members. That is, when locations would be under specified by applying
   them on block members, they are not allowed on block members. For
   arrayed interfaces (those generally having an extra level of
   arrayness due to interface expansion), the outer array is stripped
   before applying this rule"

From Section 4.4.1 (Input Layout Qualifiers) of the GLSL ES 3.20 spec
  "If an input is declared as an array of blocks, excluding per-vertex-arrays
   as required for tessellation, it is an error to declare a member of
   the block with a location qualifier"

From Section 1.1.3 (Changes from GLSL ES 3.2 revision 3) of the GLSL ES 3.20 spec:
  "Arrayed blocks cannot have layout location qualifiers on members"

Here is commit related to it https://github.com/KhronosGroup/VK-GL-CTS/commit/b1e32845c7a95cf2f4b5cd59f7ddaa3c655da626
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_struct_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_struct_explicit_location

dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_struct_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_struct_explicit_location

Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
3 years agoPortability: handle vertex input stride
Piotr Byszewski [Sat, 1 May 2021 10:27:00 +0000 (12:27 +0200)]
Portability: handle vertex input stride

KHR_portability_subset provides minVertexInputBindingStrideAlignment
property that indicates the minimum alignment for vertex input strides.
This change fixes all cases where vertex attribute offsets exceeded
vertex buffer stride on MacOS.

Note that minVertexInputBindingStrideAlignment has value of 4 on MacOS
and becouse of that check for this was not added to all 250 places in
cts code that use VkVertexInputBindingDescription. All those places
currently use stride that is multiple of 4. Check was only added to
haderrender, shaderexecutor and in spirv_assembly module.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.*

Change-Id: Ia7d74b9950e8af88c2d7a8462a830c3a6469538f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 14 May 2021 07:10:41 +0000 (09:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I3054cedfdc424f2dd8024a5c62bc5de89aaf109e

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 13 May 2021 18:24:40 +0000 (20:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ice572c5618871869c8dfea2d78f9d02b8125fc9c

3 years agoAdd test for PBO bounds
Juha Heiskanen [Fri, 30 Apr 2021 08:36:51 +0000 (11:36 +0300)]
Add test for PBO bounds

This new test is making sure the bounds are calculated correctly when
some of the pixels are skipped.

Components: OpenGL ES

VK-GL-CTS issue: 2166

New Tests:
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.pbo_bounds_2d

Change-Id: Ied58af29e6b27cd6fa5842d8ac647e265569f87e

3 years agoFix Windows MSVC build regression from GitHub!261
Piers Daniell [Wed, 12 May 2021 17:28:01 +0000 (11:28 -0600)]
Fix Windows MSVC build regression from GitHub!261

The change to add MinGW support to CTS broke the build for
MSVC on Windows.

https://github.com/KhronosGroup/VK-GL-CTS/pull/261

Components: Framework

Affects: No tests, just compile with MSVC.
GitHub issue: 125

https://github.com/KhronosGroup/VK-GL-CTS/issues/125

Change-Id: I060d5625461cb2d831585b32fe5f1c9336aeea8f

3 years agoPortability: use triangle strips in amber tests
Piotr Byszewski [Fri, 7 May 2021 10:11:04 +0000 (12:11 +0200)]
Portability: use triangle strips in amber tests

Triangle fans are under feature flag in VK_KHR_portability_subset.
This was handled in CTS but since then some new tests were added
with triangle fans. This change converts triangle fans to triangle
strips in all cases that failed for that reason on MacOS. Those
tests didn't test triangle fans and could be modified.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.draw.output_location.*
dEQP-VK.rasterization.depth_bias.*

Change-Id: Ia108c40d1e9cfeb3669de4192f6df95b26c5a50f

3 years agoPortability: handle mutableComparisonSamplers
Piotr Byszewski [Fri, 23 Apr 2021 14:47:56 +0000 (16:47 +0200)]
Portability: handle mutableComparisonSamplers

In portability compareEnabled in VkSamplerCreateInfo
can be set to true only when mutableComparisonSamplers
feature is set to true. This change verifies that
in tests that set compareEnabled to true.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.*
dEQP-VK.glsl.texture_functions.*
dEQP-VK.glsl.texture_gather.*

Change-Id: I2ff3b6484621bffc5617b11abd71061df604fa19

3 years agoRequire geometry shaders for adjacency topologies
Sean Risser [Fri, 30 Apr 2021 17:02:57 +0000 (13:02 -0400)]
Require geometry shaders for adjacency topologies

Clipping tests would use adjacency topologies with drivers that didn't
support geometry shaders.

Components: Vulkan

Affects: dEQP-VK.clipping.clip_volume.depth_clip.*
VK-GL-CTS Issue: 2906

Change-Id: I7a41e62dcbcdcab46ce4f8b04bfe322c688fbcac

3 years agoStatic code analysis fixes
Jari Komppa [Fri, 16 Apr 2021 08:42:53 +0000 (11:42 +0300)]
Static code analysis fixes

This change contains multiple static code analysis fixes,
including uninitialized member variables, initialization
order, buffer overruns, value use before value check,
copy-paste mistakes like repeated identical checks.

In theory the changes should not change test behavior, as
the biggest changes to behavior are largely about error
handling.

Due to large number of files touched, affects mask is
over-wide.

Affects:
dEQP-VK.*

Change-Id: Ie18811d60b0b1f1165895e4c1cbf00084382a47a
Components: Vulkan

3 years agoFix inconsistent ray payloads in RT barrier tests
Ricardo Garcia [Fri, 30 Apr 2021 08:27:31 +0000 (10:27 +0200)]
Fix inconsistent ray payloads in RT barrier tests

Ray payload declarations (outgoing and incoming) were not consistent
across all ray shader stages in the ray tracing pipeline barrier tests.

In addition, this commit fixes payload and callable data names to make
it clear they are not used.

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

VK-GL-CTS issue: 2900
Components: Vulkan

Change-Id: If764cf3cde9effb5868a7c03a0b2200cf9d90cb8

3 years agoNew SSBO corner case test
Toni Salmivalli [Thu, 18 Feb 2021 12:52:07 +0000 (14:52 +0200)]
New SSBO corner case test

Added a new SSBO corner case test based on a reported compiler crash on
a certain implementation.

New test:

dEQP-VK.ssbo.corner_case.long_shader_bitwise_and

Components: Vulkan

VK-GL-CTS issue: 2725

Change-Id: I8e1f730d073c20e4fa35863b608b0c6ce0adfce9

3 years agoAdd more spir-v tests with empty structs
Samuel Iglesias Gonsálvez [Wed, 21 Apr 2021 11:02:30 +0000 (13:02 +0200)]
Add more spir-v tests with empty structs

Added tests to check empty structs as:

* Function argument.
* Function return type.
* Global variable (including shared).
* Local variable.

Added tests:

   dEQP-VK.spirv_assembly.instruction.compute.empty_struct.function.*

Components: Vulkan

VK-GL-CTS issue: 2737

Change-Id: I3b2e0f48f52c66b0d50637186684d4323be979de
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFixes image sparse tests
Matthew Netsch [Thu, 6 May 2021 19:30:22 +0000 (15:30 -0400)]
Fixes image sparse tests

Tests use sparseImageLoadARB in shader
but not checking for sparse_residency

Components: Vulkan
VK-GL-CTS Issue: 2913

Affects:
dEQP-VK.image.mismatched_formats.sparse_image_read*

Change-Id: I6896c7cec530a69be8ea172205d9155ff71873f9

3 years agoFix GL compatbility mustpass file names
Alexander Galazin [Thu, 13 May 2021 09:43:02 +0000 (11:43 +0200)]
Fix GL compatbility mustpass file names

Components: OpenGL

Change-Id: If83075da35ddcf3e32acf0309a86d0459f0914a8

3 years agoAdd dynamic indexing test using gl_VertexID
Ari Suonpaa [Fri, 30 Apr 2021 12:40:41 +0000 (15:40 +0300)]
Add dynamic indexing test using gl_VertexID

VK-GL-CTS Issue: 2173

New tests:

KHR-*.shaders.indexing.tmp_array.vertexid

Components: OpenGL ES
Change-Id: I8a978b71a77dab09e127f52459b780d30b4d8541

3 years agoFix to GL 4.5 geometry shading provoking vertex tests
Tapani Pälli [Fri, 9 Apr 2021 09:50:36 +0000 (12:50 +0300)]
Fix to GL 4.5 geometry shading provoking vertex tests

Change modifies GL_LAYER_PROVOKING_VERTEX query to support all
parameters specified in OpenGL 4.6 core spec chapter "Layer and
Viewport Selection".

Components: AOSP

VK-GL-CTS Issue: 2870

Affects:
dEQP-GL45.functional.geometry_shading.*

Fixes: db1c767f7 ("Support GL 4.5 in the geometry shading tests")
Change-Id: I080e70c14e0f45c325de35d6da865440e4bb8317

3 years agoSupport GL 4.5 in the Linkage Tests
Alexander Galazin [Tue, 20 Apr 2021 09:48:49 +0000 (12:48 +0300)]
Support GL 4.5 in the Linkage Tests

Components: AOSP

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

Change-Id: I2576b06653303416d443847e7eeef9b585c15c31

3 years agoSupport GL 4.5 in the Arrays of Arrays Tests
Alexander Galazin [Wed, 31 Mar 2021 08:25:24 +0000 (11:25 +0300)]
Support GL 4.5 in the Arrays of Arrays Tests

Components: AOSP

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

Change-Id: Ib431818f389c7f4853571a4fa6a41eb4b9d7dc18

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 21 Jan 2021 08:37:10 +0000 (10:37 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-array-accesses-clamp
dEQP-VK.graphicsfuzz.cov-bitcount
dEQP-VK.graphicsfuzz.cov-cumulate-loops-unreachable
dEQP-VK.graphicsfuzz.cov-exp2-two
dEQP-VK.graphicsfuzz.cov-for-array-initializing-modulo
dEQP-VK.graphicsfuzz.cov-for-switch-fallthrough
dEQP-VK.graphicsfuzz.cov-fragcoord-multiply
dEQP-VK.graphicsfuzz.cov-if-switch-fallthrough
dEQP-VK.graphicsfuzz.cov-increment-array-element-in-loop
dEQP-VK.graphicsfuzz.cov-increment-global-counter-loop-function
dEQP-VK.graphicsfuzz.cov-increment-multiple-integers
dEQP-VK.graphicsfuzz.cov-increment-vector-array-matrix-element
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-ldexp
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-pre-increase
dEQP-VK.graphicsfuzz.cov-inst-combine-shifts-left-shift-for
dEQP-VK.graphicsfuzz.cov-left-shift-array-access
dEQP-VK.graphicsfuzz.cov-left-shift-right-shift-compare
dEQP-VK.graphicsfuzz.cov-loop-with-two-integers
dEQP-VK.graphicsfuzz.cov-matrix-square-mul-with-vector
dEQP-VK.graphicsfuzz.cov-max-min-less-than
dEQP-VK.graphicsfuzz.cov-mod-uint-bits-float
dEQP-VK.graphicsfuzz.cov-nir-array-access
dEQP-VK.graphicsfuzz.cov-nir-opt-large-constants-for-clamp-vector-access
dEQP-VK.graphicsfuzz.cov-nir-opt-loop-unroll-if-if-if-if-do-while
dEQP-VK.graphicsfuzz.cov-packhalf-unpackunorm
dEQP-VK.graphicsfuzz.cov-reciprocal-var-minus-one
dEQP-VK.graphicsfuzz.cov-sample-texture-hundred-iterations
dEQP-VK.graphicsfuzz.cov-sign-array-access-uaddcarry
dEQP-VK.graphicsfuzz.cov-sin-mul-mat-mat-mul-vec-mat
dEQP-VK.graphicsfuzz.cov-step-sinh
dEQP-VK.graphicsfuzz.cov-uniform-vector-copy
dEQP-VK.graphicsfuzz.cov-variable-copy-in-function-tex-sample
dEQP-VK.graphicsfuzz.cov-x86-instr-info-determinant-min

Change-Id: Ibf771c0401354d0525fc1a9820fbb30a3bc34792

3 years agoUpdate Amber
Ilkka Saarelainen [Mon, 3 May 2021 09:41:34 +0000 (12:41 +0300)]
Update Amber

Amber was causing validation errors in some tests because VK_WHOLE_SIZE
as the buffer range and dynamic offsets were used together in
uniform/storage buffer bindings, which is not allowed.

This issue is fixed in the latest version of Amber.

VK-GL-CTS issue: 2873

Affects: All Amber tests

Components: Vulkan, Framework
Change-Id: I79a003adeebc4718b1c794573fa476a4288f17c5

3 years agoFix use of binary semaphore in signaled state
Lars-Ivar Hesselberg Simonsen [Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)]
Fix use of binary semaphore in signaled state

Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.

This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.

In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.

Components: Vulkan

Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue

VK-GL-CTS Issue: 2910

Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5

3 years agoFix condition for checking support of XFB streams other than 0
Sławomir Cygan [Tue, 27 Apr 2021 10:36:17 +0000 (12:36 +0200)]
Fix condition for checking support of XFB streams other than 0

This fixed the  condition checking for `transformFeedbackRasterizationStreamSelect` property,
so the test does not throw NotSupported when the property is supported.

Components: Vulkan

VK-GL-CTS Issue: 2902

Change-Id: I7e08fe7ad838ed262444fb0db6092c566e7000c0
Affect: dEQP-VK.transform_feedback.*

3 years agoMake sure minImportedHostPointerAlignment in a power of 2
Samuel Iglesias Gonsálvez [Tue, 27 Apr 2021 11:02:55 +0000 (13:02 +0200)]
Make sure minImportedHostPointerAlignment in a power of 2

Affected tests:

   dEQP-VK.memory.external_memory_host.*

Components: Vulkan
VK-GL-CTS issue: 2901

Change-Id: Iaf0de2eb803410b30edcfd394d427e90e20be2fc
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFix crash issue when AHB extension is not supported
Yuxiang Qian [Fri, 30 Apr 2021 03:22:04 +0000 (03:22 +0000)]
Fix crash issue when AHB extension is not supported

The Ahb test doesn't check if the vulkan extension
VK_ANDROID_external_memory_android_hardware_buffer is supported and
called AHB function directly, then it crashes when the extension is not
supported.
This patch will let the test first check if this extension is supported.

Affects:

dEQP-VK.draw.ahb.*

Components: Vulkan

VK-GL-CTS issue: 2915

Change-Id: Id470caef3e034f10d08cfa3bad6e9ec705104b53

3 years agoFixes sparse image padding tests
Matthew Netsch [Fri, 7 May 2021 15:40:31 +0000 (11:40 -0400)]
Fixes sparse image padding tests

Tests were attempting to verify the
values inside the padding X bits of
formats like 10x6, where spec says
they are undefined.

Components: Vulkan
VK-GL-CTS Issue: 2916

Affects:
dEQP-VK.sparse_resources.image_sparse_binding.2d*

Change-Id: Ic785fba111ecebb5a030673642b78872c404d925

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 7 May 2021 05:36:34 +0000 (08:36 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: Idf1ac33809ccda552b758c8eae75a0c253b1a925

3 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Thu, 6 May 2021 15:52:27 +0000 (17:52 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I6386631e8b4e6b1d6738cb1bb2fa50b4c8fbe7be

3 years agoMerge pull request #261 from Joshua-Ashton/mingw-support
Alexander Galazin [Thu, 6 May 2021 15:51:24 +0000 (18:51 +0300)]
Merge pull request #261 from Joshua-Ashton/mingw-support

Implement MinGW build support

3 years agoAdd TexSubImage2D format compatibility tests
Juha Heiskanen [Fri, 9 Apr 2021 10:26:37 +0000 (13:26 +0300)]
Add TexSubImage2D format compatibility tests

Add tests to exercise glTexSubImage with different (but compatible)
client format than was passed to glTexImage.

Components: OpenGL

VK-GL-CTS issue: 871

New Tests: KHR-GLES32.core.texture_compatibility.texsubimage_format*

Change-Id: Ia1182c278d4dbcfa7a5448f121b86dfe2e4f45d7

3 years agoRename all OperationId enum values
Piotr Byszewski [Wed, 21 Apr 2021 11:25:49 +0000 (13:25 +0200)]
Rename all OperationId enum values

O_TRUNC value in OperationId enum collides with the macro O_TRUNC
defined in the POSIX header fnctl.h. To avoid the collision 'O_'
prefix was replaced with 'OID_' in all values.

VK-GL-CTS issue: 2891

Components: Vulkan

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

Change-Id: Ide7fee0197ac14b2292f4b34d450b4adcaff42e9

3 years agoFix validation error 'InputNotProduced' in Amber tests
Juha Heiskanen [Wed, 21 Apr 2021 12:46:43 +0000 (15:46 +0300)]
Fix validation error 'InputNotProduced' in Amber tests

Fragment shader consumes uint value from input location 0, but vertex
shader didn't have this kind of variable. New vertex shader created
to replace the vertex passthrough shader.

Components: Vulkan

VK-GL-CTS issue: 2875

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.decorate_string

Change-Id: I0da35bf3ee54c36c74e26a5c5233a6b8949f6b9b

3 years agoDecrease 3D image size in image atomic op tests
Ricardo Garcia [Fri, 16 Apr 2021 11:38:06 +0000 (13:38 +0200)]
Decrease 3D image size in image atomic op tests

A slight decrease in image size does not affect the nature of the test
and allows the maximum used image dimensions to fall below the
maxImageDimension3D limit.

Affected tests:
dEQP-VK.image.atomic_operations.*.3d.*

Components: Vulkan
VK-GL-CTS issue: 2883

Change-Id: I717b117ff0fd8f596fafa92ede07ac864a75ab87

3 years agoFix interfaceTypeMismatch validation errors in Amber tests
Vihanakangas [Tue, 20 Apr 2021 12:51:08 +0000 (15:51 +0300)]
Fix interfaceTypeMismatch validation errors in Amber tests

Number of elements inside builtin block differed between stages.
(Vertex shader 3 vs geometry shader 4).
This commit removes the unneeded CullDistance element from the
geometry shader.

Affects:

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_pc_entry_point
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_ssbo_entry_point
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_ubo_entry_point

Components: Vulkan

VK-GL-CTS issue: 2874

Change-Id: Ic85d89296239f09f6108483096a3f1a044c05de8

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 16 Apr 2021 13:16:22 +0000 (16:16 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-and-even-numbers-from-fragcoord
dEQP-VK.graphicsfuzz.cov-clamp-vector-variable-negative-offset
dEQP-VK.graphicsfuzz.cov-derivative-uniform-vector-global-loop-count
dEQP-VK.graphicsfuzz.cov-global-loop-counter-main-function-call
dEQP-VK.graphicsfuzz.cov-if-true-continue
dEQP-VK.graphicsfuzz.cov-increment-int-loop-counter-mod-array
dEQP-VK.graphicsfuzz.cov-int-full-bits-divide-by-two-loop
dEQP-VK.graphicsfuzz.cov-loop-clamp-to-one-empty-condition
dEQP-VK.graphicsfuzz.cov-loop-returns-behind-true-and-false
dEQP-VK.graphicsfuzz.cov-min-nested-loop-same-value-for-variables
dEQP-VK.graphicsfuzz.cov-multiple-one-iteration-loops-global-counter-write-matrices
dEQP-VK.graphicsfuzz.cov-return-partly-undefined-vector-from-array
dEQP-VK.graphicsfuzz.cov-sum-uniform-vector-components-round
dEQP-VK.graphicsfuzz.cov-unpack-unorm-mix-always-one
dEQP-VK.graphicsfuzz.cov-write-past-matrix-elements-unused

Change-Id: I5862c90e856a7dfda639f9300d6904456d7110c9