Alexander Galazin [Fri, 13 Aug 2021 07:30:29 +0000 (09:30 +0200)]
Merge pull request #276 from Ella-0/master
Test behaviour of color write enable with colorWriteMask
Ilkka Saarelainen [Thu, 12 Aug 2021 05:06:20 +0000 (08:06 +0300)]
Add missing items to android cts mustpass list
Some tests were missing from Android vk-master-2021-03-01 test list.
This CL adds those tests to the list.
Components: Vulkan
VK-GL-CTS issue: 3050
Change-Id: I973508a169e70d203dd465e9f22c41405c1c24a7
SoroushIMG [Mon, 26 Jul 2021 13:36:56 +0000 (14:36 +0100)]
Fix bug in compressed PixelStorageModes tests
Compressed pixel storage modes are tested by using the extension
ARB_compressed_texture_pixel_storage.
ARB_compressed_texture_pixel_storage is a core extension since
OpenGL 4.2. Therefore, the cases testing this behaviour need to
check for its support in GL context versions before 4.2.
Without this check drivers that do not provide this extension,
will fail this test instead of being marked as not supported.
This CL adds the mentioned extension checking.
Affects:
KHR-GL33.pixelstoragemodes.compressedteximage2d.*
KHR-GL33.pixelstoragemodes.compressedteximage3d.*
Components: OpenGL
VK-GL-CTS issue: 3020
Change-Id: Ib9a4edeb57995582c07aa11c7db11c6e7bbe1984
David Emett [Mon, 26 Jul 2021 16:33:03 +0000 (16:33 +0000)]
Work around bogus GCC 9 warnings
Bogus warning can be seen with this example:
#include <stddef.h>
long broken()
{
struct
{
long a, b;
} value;
for (size_t i = 0; i < sizeof(long); ++i)
{
((char *)&value.a)[i] = (char)0xde;
((char *)&value.b)[i] = (char)0xde;
}
return value.b;
}
Compiled with -O3 -Warray-bounds GCC 9 warns:
In function 'long int broken()':
cc1plus: warning: 'void* __builtin_memset(void*, int, long unsigned int)' offset [9, 16] from the object at 'value' is out of the bounds of referenced subobject 'broken()::<unnamed struct>::a' with type 'long int' at offset 0 [-Warray-bounds]
It looks like GCC is recognising the loop as two memsets, merging them,
then forgetting that it has done this.
It seems this can be worked around by just using memset rather than
implementing it manually, which is also simpler and produces better
code.
The example compiles without warning on GCC 10+ (you can try on
https://godbolt.org/), so presumably this bug has been fixed in later
versions of gcc.
Change-Id: I09799d6dd833b1fba8608cddaa36a32e555cf861
Antto Mäkinen [Mon, 2 Aug 2021 12:00:27 +0000 (15:00 +0300)]
Fix a GraphicsFuzz coverage test
This commit simplifies the result verification at the end of cov-apfloat-module-small-number.
Affects: dEQP-VK.graphicsfuzz.cov-apfloat-module-small-number
Components: Vulkan
VK-GL-CTS issue: 3035
Change-Id: Ia0e0347880cbddc2433cd3867c96a09645c5a35d
Ari Suonpaa [Tue, 23 Mar 2021 05:45:48 +0000 (07:45 +0200)]
Added layered AHB EGL tests
Added new EGL image format tests for using Android Native
Hardware buffers with layers. They are mapped as 2D texture
arrays using EGL image API.
EGL internal test filter was also removed as the EGL AHB
tests are now using public Android API.
VK-GL-CTS Issue: 2671
New tests:
dEQP-EGL.functional.image.*android_native*
Components: EGL, Framework
Change-Id: I34a7560703bb06b75be276dc8ba5247c3763877a
Ricardo Garcia [Wed, 21 Jul 2021 10:33:51 +0000 (12:33 +0200)]
Improve buffer to buffer copy tests
Buffer to buffer copy tests were filling the source and destination
buffers with the same contents, using functions that were both used for
images and buffers.
When filling source buffers, a linear memory allocation of R32_UINT
elements was filled with color red, which resulted in all bytes
containing value 255.
When filling destination buffers, the same procedure was followed using
color white. However, due to R32_UINT only having one component, this
also resulted in every buffer byte containing value 255.
The copy operation that followed could fail (e.g. with the
implementation not doing anything) and the test could still pass. This
commit makes the destination buffer be filled with zeros so as to verify
regions are being interpreted correctly.
Affected tests:
dEQP-VK.api.copy_and_blit.*buffer_to_buffer*
Components: Vulkan
VK-GL-CTS issue: 3008
Change-Id: I49e5ea5a4843540e57be22c67107db82b7903da2
Alexander Galazin [Thu, 5 Aug 2021 08:29:18 +0000 (10:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Change-Id: Ie8036c780cda38f67032afa000852326c57b7860
Alexander Galazin [Thu, 5 Aug 2021 07:23:15 +0000 (09:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I2ac7dec5e1cd15b13dec902ceeff581992d2678c
Ricardo Garcia [Thu, 15 Jul 2021 10:19:46 +0000 (12:19 +0200)]
Test multiview with VK_EXT_multi_draw
Add new VK_EXT_multi_draw test variants that check multi_draws together
with multiview.
New, affected and removed tests:
dEQP-VK.draw.multi_draw.*
Components: Vulkan
VK-GL-CTS issue: 2985
Change-Id: I0e2b36efa912629b3f6457913f3c3b6d9eeebfe8
Piotr Byszewski [Thu, 8 Jul 2021 15:37:09 +0000 (17:37 +0200)]
Add sample mask test for FSR
This change adds single test that uses pipelineFragmentShadingRate
with fragmentSize {2,2}, 4xMSAA and a sample mask of 0x9.
After drawing random triangles there is a check that samples are
written only to samples present in the sample mask.
VK-GL-CTS issue: 2397
Components: Vulkan
Affects:
dEQP-VK.fragment_shading_rate.misc_tests.*
Change-Id: I38bbddeb2f8d7e8aac1c3803b171ec5be2f0c21a
Daniel Koch [Tue, 27 Jul 2021 21:14:02 +0000 (17:14 -0400)]
Fix transform_feedback.simple.multiquery* tests
Tests were using host query reset which may not be present pre-VK 1.2.
Change tests to use device query reset (there are other dedicated tests which test HOST_QUERY_RESET).
Components: Vulkan
VK-GL-CTS Issue: 2866
Affects:
dEQP-VK.transform_feedback.simple.multiquery*
Change-Id: Ib8c943a53542f4e21167f6afb0005200043477c6
Connor Abbott [Mon, 26 Jul 2021 13:48:27 +0000 (15:48 +0200)]
Fix depth/stencil subpass dependencies in renderpass allocation tests
This seems like a copy/paste error, but the last subpass should have
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT and the current subpass
should have VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, analagous to
the color attachment case.
Affects:
dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.input_output.*
Components: Vulkan
VK-GL-CTS Issue: 3019
Change-Id: I0f46316f9c5147d2391c6f0f2a37fb1e56420078
Vihanakangas [Fri, 28 May 2021 11:01:39 +0000 (14:01 +0300)]
Remove fallback and unify testing for image clearing tests
Image clearing tests were previously using render pass
to pre-clear an image. This commit removes the use of
render pass as a clearing method and instead uses a buffer
to clear the image.
Affects:
dEQP-VK.api.image_clearing.core.*
Components: Vulkan
VK-GL-CTS issue: 2604
Change-Id: I82b6ac6cb6f8a2d79e4f7ffa12abc636bc5a961a
Piotr Byszewski [Tue, 3 Aug 2021 10:22:10 +0000 (12:22 +0200)]
Portability: fix osx target
Currently cts can be be build on MacOS using default target
this CL adds missing libraries also to osx target.
Components: Framework
VK-GL-CTS public issue: 277
Affects:
*
Change-Id: Ic890bea33bd90240e84dd71b985cf146a1a4df0c
Ella Stanforth [Thu, 22 Jul 2021 11:35:39 +0000 (11:35 +0000)]
Test behaviour of color write enable with colorWriteMask
This commit adds new tests to test the interaction of color write enable and
color write mask.
New and affected tests:
dEQP-VK.pipeline.color_write_enable.*
Components: Vulkan
Reviewed-by: Ricardo Garcia <rgarcia@igalia.com>
Graeme Leese [Wed, 16 Jun 2021 15:47:04 +0000 (16:47 +0100)]
Add more tests for YCbCr plane compatibility
The only existing tests are using other UNORM formats, and a validation
layer change to allow compatible formats here has shown that this isn't
working properly on some drivers. This extends the tests that were added
as part of #1630 (CL 7356).
Components: Vulkan
VK-GL-CTS issue: 1630
New tests: dEQP-VK.ycbcr.plane_view.*_compatible_format_*int
Affects: dEQP-VK.ycbcr.plane_view.*_compatible_format_*
Change-Id: Ia14357fc8873566333ea888ef18a2155ffa6ef51
Graeme Leese [Wed, 7 Jul 2021 10:15:41 +0000 (11:15 +0100)]
Remove invalid reserved keywords tests
These identifiers are not listed as reserved in any spec that I can
find.
Components: OpenGLES
Removed Tests: dEQP-GLES3.functional.shaders.keywords.reserved_keywords.image*Shadow_*
Change-Id: I444d9a8a49d3dda7402faa50b79859aaef0ee690
Ricardo Garcia [Tue, 20 Jul 2021 10:36:05 +0000 (12:36 +0200)]
Test line stipple factor is ignored if not used
This commit adds a few extra line test variants that check
lineStippleFactor in VkPipelineRasterizationLineStateCreateInfoEXT is
ignored when stippledLineEnable is false. The new tests use both zero
and a large number to check everything continues to work.
New tests:
dEQP-VK.rasterization.primitives.no_stipple.*factor_0
dEQP-VK.rasterization.primitives.no_stipple.*factor_large
Affected tests:
dEQP-VK.rasterization.primitives*
Components: Vulkan
VK-GL-CTS issue: 3009
Change-Id: I6e329e8572cb0bae043119553bd4ea8d5682f660
Ricardo Garcia [Tue, 20 Jul 2021 14:20:50 +0000 (16:20 +0200)]
Test zero-size unused specialization constants
According to the spec for VkSpecializationMapEntry
> If a constantID value is not a specialization constant ID used in the
> shader, that map entry does not affect the behavior of the pipeline.
So it should be legal to use VkSpecializationMapEntry structures
indicating size zero for a given constant as long as the constant is not
used in the shaders.
This commits adds new test variants that verify implementations handle
such cases.
New tests:
dEQP-VK.pipeline.spec_constant.*.basic.*unused_*
Affected tests:
dEQP-VK.pipeline.spec_constant.*
Components: Vulkan
VK-GL-CTS issue: 3011
Change-Id: I2a8439368722e6caaa828fd91e061cfd5e2be61d
Sławomir Cygan [Thu, 22 Jul 2021 14:51:11 +0000 (16:51 +0200)]
Fix build on CLang failing due to -Wunused-private-field
Dereference a member uses only in Debug builds.
VK-GL-CTS Issue: 3013
Components: Vulkan
Change-Id: I7a607328bf033b24c1bba877f78c3fa4fd24e9e1
Vihanakangas [Thu, 10 Jun 2021 12:39:02 +0000 (15:39 +0300)]
SwiftShader script improvements
This commit applies varying fixes proposed in the issue.
VK-GL-CTS issue: 2956
Change-Id: I6f73bea9f5ab875b8d40990649fb1f9d9a2d603d
Alexander Galazin [Wed, 28 Jul 2021 06:54:34 +0000 (08:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Change-Id: I4bf831e86123de179132f435a7c7bf838d0c89d3
Alexander Galazin [Tue, 27 Jul 2021 18:59:06 +0000 (20:59 +0200)]
Update glslang, SPIR-V Tools, headers
Components: Framework
Change-Id: Ie259277466b22ba816843c362da272a4284fcb93
Jason Ekstrand [Wed, 26 Aug 2020 22:47:24 +0000 (17:47 -0500)]
Add tests for VK_EXT_shader_atomic_float2
New tests:
dEQP-VK.glsl.atomic_operations.*float16*
dEQP-VK.glsl.atomic_operations.min_float*
dEQP-VK.glsl.atomic_operations.max_float*
dEQP-VK.image.atomic_operations.min*r32f*
dEQP-VK.image.atomic_operations.max*r32f*
Affects:
dEQP-VK.glsl.atomic_operations.*float*
dEQP-VK.image.atomic_operations.add*r32f*
dEQP-VK.image.atomic_operations.exchange*r32f*
Components: Vulkan
VK-GL-CTS issue: 2566
Change-Id: I7462cc74e799c2245407220fa9db7e5b659f86f4
(cherry picked from commit
ca4e5aff66bccbbe88935c10e2c55a3147c1fc03)
Ricardo Garcia [Mon, 19 Apr 2021 13:56:11 +0000 (15:56 +0200)]
Tests for VK_KHR_present_id and VK_KHR_present_wait
Add tests for VK_KHR_present_id and VK_KHR_present_wait. This commit
also refactors some code so it can be reused in several places, hence
marking all WSI tests as affected.
Affected tests:
dEQP-VK.info.device_mandatory_features
dEQP-VK.wsi.*
New tests:
dEQP-VK.wsi.*.present_id_wait.*
Components: Vulkan
VK-GL-CTS issue: 2098
VK-GL-CTS issue: 2099
Change-Id: I1c95fbf031d651773a9fff1c10a23038d73f6e53
(cherry picked from commit
8bf210fd592883b3adebb57c3d6cc49188d1758e)
Alexander Galazin [Tue, 27 Jul 2021 10:57:27 +0000 (12:57 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: Id59fb9125cac9068d68a8e5f219c3dc53a093ad0
Alexander Galazin [Tue, 27 Jul 2021 14:12:00 +0000 (16:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I8f8c8aba438300565a896d21d27c2892eef477df
Alexander Galazin [Tue, 27 Jul 2021 11:34:05 +0000 (13:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I1e865999cbff46e84b9045400eb2dde830296094
Alexander Galazin [Tue, 27 Jul 2021 10:25:19 +0000 (12:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I22fcd718aadfed74408323615cc4bf58618d979a
Alexander Galazin [Tue, 27 Jul 2021 09:29:33 +0000 (11:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: If23bb885846d42651d7ac77b375b6c44ea02fa93
Alexander Galazin [Tue, 27 Jul 2021 08:01:37 +0000 (10:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: If1bb9f63d56815c3ced2ac72d17d4e55ec090f39
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 10:15:09 +0000 (12:15 +0200)]
Fix early destruction of VkPipelineLayout
Components: Vulkan
VK-GL-CTS issue: 3004
Affected:
dEQP-VK.sparse_resources.shader_intrinsics.*
Change-Id: Id5508fac89961c5bb934005257d2caa26d32f2dd
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Ari Suonpaa [Wed, 9 Sep 2020 11:27:26 +0000 (14:27 +0300)]
Fix validation errors in AHB tests
AHB protected memory tests were also removed as the test
tried to use protected memory without creating a device
and queue that would support protected operations.
VK-GL-CTS Issue: 2508
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.*
Components: Vulkan
Change-Id: I307e7450d06d20b6497f2a529e5724ae0538e5a9
Piotr Byszewski [Thu, 9 Apr 2020 11:41:09 +0000 (13:41 +0200)]
Clean ExternalMemoryUtil
This change separates choosing of memory type from
allocateExportableMemory utility function. This makes
use of this functions more clear.
Previous implementation needed to be done ASAP and
involved passing of non-const reference to
allocateExportableMemory which was then filled.
This workaround made code unnecessarily hard to follow.
Components: Vulkan
VK-GL-CTS issue: 587
Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.synchronization.signal_order.*
dEQP-VK.synchronization.cross_instance.*
Change-Id: I781388db390f13c7c03785dd0ae34ae0128ec31c
Jin Zhou [Thu, 17 Jun 2021 02:11:46 +0000 (22:11 -0400)]
Fix uninitialized local variables in generated shader.
There is uninitialized variable which is used as texture sampler's
coordinate. The behavior is undefined according to spec.
Affects:
dEQP-GLES3.functional.shaders.random.*
Components: Framework, OpenGL
VK-GL-CTS issue: 2972
Change-Id: I3e68a1a2158d248b24c927c481ecba4001496b3f
Samuel Iglesias Gonsálvez [Fri, 16 Jul 2021 08:28:02 +0000 (10:28 +0200)]
Fix most dEQP-VK.sparse_resources.shader_intrinsics.* validation errors
The majority of the validation errors were due to creating sparse
images before the derived class had the opportunity to check
the feature support of the format for the respective tests.
Change it to check that before anything else.
Components: Vulkan
VK-GL-CTS issue: 3006
Affected:
dEQP-VK.sparse_resources.shader_intrinsics.*
Change-Id: I37308d4a2650cf5cc45ecbffb86a934e6fd182cc
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Ricardo Garcia [Mon, 12 Jul 2021 14:02:41 +0000 (16:02 +0200)]
Additional dynamic depth bias tests
Additional tests to make sure the depth bias dynamic state is not
ignored and works properly, also when used in conjunction with the
dynamic depth bias enable state.
New tests:
dEQP-VK.dynamic_state.rs_state.nonzero_depth_bias*
dEQP-VK.pipeline.extended_dynamic_state.*dynamic_bias_params
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*.depth_bias*
Components: Vulkan
VK-GL-CTS issue: 2965
Change-Id: Ic2b4428d112547ca054161728b8e1d403f6394b4
Ricardo Garcia [Tue, 13 Jul 2021 14:14:51 +0000 (16:14 +0200)]
Test VK_EXT_multi_draw with geometry and tessellation shaders
This commit adds new VK_EXT_multi_draw test variants that use geometry
and tessellation shaders in the pipeline to make sure they do not break
with VK_EXT_multi_draw.
New and affected tests:
dEQP-VK.draw.multi_draw.*
Components: Vulkan
VK-GL-CTS issue: 3000
Change-Id: Idfaa6e49895c9d94e484c89d7097af9599b4ed51
Graeme Leese [Wed, 7 Jul 2021 10:41:34 +0000 (11:41 +0100)]
Remove unused test cases from gen-keywords script
The script generated test cases for double underscore in identifiers,
but they were not included in the checked-in copy of the generated
output. The tests appear incorrect, so remove them from the script.
Components: OpenGLES
Affects: None
Change-Id: If301f22afac06a147f1ff58156bcf0ea4cb3b037
Hans-Kristian Arntzen [Tue, 6 Jul 2021 10:01:04 +0000 (12:01 +0200)]
Test dynamic vertex stride of 0.
Goes beyond existing specification and tests if we can use stride 0 as
well.
Components: Vulkan
Vulkan issue: 2742
Added tests:
dEQP-VK.pipeline.extended_dynamic_state.*.zero_stride_with_offset
Change-Id: I4838b60321f27dd4b4546b1e42ed2f6043aec5c1
Graeme Leese [Tue, 6 Jul 2021 13:50:30 +0000 (14:50 +0100)]
Add Image Store tests to BGRA images
These are said to be an important usecase for storage without format but
they're not currently tested. Add tests for these formtas. Only store
tests are currently supported because of limitations in the underlying
test structure.
Components: Vulkan
New tests: dEQP-VK.image.store.without_format.*.b8g8r8a8_*
dEQP-VK.image.format_reinterpret.*.b8g8r8a8_*
Change-Id: I243a14681b262941d95e08e0b5a87ca9ccee9d43
Piotr Byszewski [Mon, 28 Jun 2021 13:54:48 +0000 (15:54 +0200)]
Test fragment shading rate limits and rates
This change verifies all limits for VK_KHR_fragment_shading_rate
and tests vkGetPhysicalDeviceFragmentShadingRatesKHR.
VK-GL-CTS issue: 2397
Components: Vulkan
Affects:
dEQP-VK.fragment_shading_rate.misc.*
Change-Id: I81332ec819009817b1ca0580058617bbc07a53e2
Samuel Iglesias Gonsálvez [Tue, 15 Jun 2021 11:19:12 +0000 (13:19 +0200)]
Add more test related to early fragment tests
- Added tests for EarlyFragmentTest followed by a shader which
discards. Then check that depth buffer is updated but the color
buffer and other outputs are not.
- Added tests that write to gl_SampleMask and checked that do not affect
the depth values written to the depth buffer.
Components: Vulkan
VK-GL-CTS issue: 2968
Added tests:
dEQP-VK.fragment_operations.early_fragment.discard*
dEQP-VK.fragment_operations.early_fragment.samplemask*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I4a0bd49ab9319747e8c92aaa26f64a4e077fa8a5
Alexander Galazin [Fri, 16 Jul 2021 10:55:30 +0000 (12:55 +0200)]
Remove replacement of bool32
Components: Vulkan
VK-GL-CTS issue: 2963
Affects: none
Change-Id: I4ccb580ba8b142e6425373d1395443ac747172f1
Alexander Galazin [Fri, 16 Jul 2021 09:54:16 +0000 (11:54 +0200)]
Replace DWORD with uint32_t
This change replaces DWORD with uint32_t instead of deUint32
Components: Vulkan
Affects: dEQP-VK.api.*create_win32*
VK-GL-CTS issue: 2963
Change-Id: I32e958863508e4641f769feebd450c25bfc95492
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 10:15:09 +0000 (12:15 +0200)]
Fix early destruction of VkPipelineLayout
Components: Vulkan
VK-GL-CTS issue: 3004
Affected:
dEQP-VK.sparse_resources.shader_intrinsics.*
Change-Id: Id5508fac89961c5bb934005257d2caa26d32f2dd
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Mikko Tiusanen [Fri, 9 Jul 2021 12:28:20 +0000 (15:28 +0300)]
Reorder vulkan enum elements
Reorders lines in linear vulkan enums so that *_LAST is placed
after all unique values, followed by equivalence enums and
*_MAX_VALUE (last).
VK-GL-CTS issue: 2684
Components: Vulkan
Change-Id: I129a0b0afe3574a91ccc860ed6ea8de27671f9ff
Alexander Galazin [Mon, 19 Jul 2021 13:25:26 +0000 (15:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Change-Id: I97026a16399e415525246d8f9a0be895f2d101be
Alexander Galazin [Fri, 9 Jul 2021 11:34:20 +0000 (13:34 +0200)]
Use uintptr_t in the framework
This change replaces deUintptr with uintptr_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: Ic9bc75782e4b8825030044459b5ff90f78711eb3
Liam Middlebrook [Fri, 9 Jul 2021 17:38:28 +0000 (10:38 -0700)]
Change initializer for array of structures to avoid GCC bug
Works around the following gcc 4.8.4 internal compiler error:
vktReconvergenceTests.cpp:1169:35: internal compiler error: in gimplify_init_constructor, at gimplify.c:4271
SubgroupState stateStack[10] = {};
Components: Vulkan
Affected tests: dEQP-VK.reconvergence.*
VK-GL-CTS issue: 3001
Change-Id: I42ec5aa978351f84ad41aae4af9f4977d3263461
James Jones [Wed, 7 Jul 2021 20:59:12 +0000 (13:59 -0700)]
Fix FreeBSD build of VK_EXT_physical_device_drm tests
Linux defines the major() and minor() macros in
the sys/sysmacros.h header, but FreeBSD does not
have this header and instead defines them in
sys/types.h.
Components: Vulkan
Affects: dEQP-VK.api.device_drm_properties.*
Change-Id: I0bed149d24241e152437f530f5eb137738c46122
Alexander Galazin [Fri, 16 Jul 2021 08:55:49 +0000 (10:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I3e12f2ef494b16c16e6aa957c99c543a057a7003
Alexander Galazin [Fri, 9 Jul 2021 11:23:57 +0000 (13:23 +0200)]
Use [u]int64_t in the framework
This change replaces deUint64/deInt64 with uint64_t/int64_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I76b24fbfadbd3fb31c9a20b172c021e0305290c2
Graeme Leese [Tue, 6 Jul 2021 13:12:43 +0000 (14:12 +0100)]
Extend image tests to support formats with no formats
Unless the test actually needs a SPIR-V format token, allow testing of
Vulkan formats for which there is no corresponding SPIR-V token. At the
moment this functionality is not used, but tests will soon be added that
exercise it.
Components: Framework, Vulkan
Affects (trivially): dEQP-VK.image.*
Change-Id: I11e16b6951ca40444131fa1e8d5e7bce6b075f85
Graeme Leese [Tue, 6 Jul 2021 14:28:17 +0000 (15:28 +0100)]
Define a framework function for getting SPIR-V format tokens
These are used in a couple of different tests, so it doesn't make sense
to define the format tokens in two places.
Components: Framework, Vulkan
Affects (trivially): dEQP-VK.image.*
Change-Id: Icffd8ac4b0d78e5dab076780e0221af3f358d74c
Alexander Galazin [Fri, 16 Jul 2021 07:01:36 +0000 (09:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I73e4fbe8f154f15a77498121181c6a48028203fe
Sławomir Cygan [Thu, 15 Jul 2021 13:22:26 +0000 (15:22 +0200)]
Remove tests with too many overlapping instances in the accelleration structure
These tests generate a grid of random triangles and assign them to the large
number of instances in the acceleration structure. Because of the randomness,
all instances overlap with each other and the accelleration structure is extremely
slow to trace - as each ray must traverse through all instances.
This change removes some tests cases with 65536 instances and tests cases with
1048576 instances to avoid device timeouts.
The tests apply only to implementations with host accelleration structure builds
supported.
Components: Vulkan
VK-GL-CTS Issue: 3005
Change-Id: I94bcde596cd097672cf8e00c6fe018328998cb37
Affects: dEQP-VK.ray_tracing_pipeline.build.*
Piotr Byszewski [Thu, 11 Mar 2021 14:00:38 +0000 (15:00 +0100)]
Test blitting from compressed formats
This change extends existing tests to also test blitting of BC*,
ETC and EAC compressed formats onto all compatible uncompressed
formats.
Functionality from PipelineImageUtil is reused in blit tests
to generate random compressed data that is also stored in
uncompressed version. Compressed data is used to do the blit
on GPU while uncompressed version is used for verification on CPU.
VK-GL-CTS issue: 2366
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.*
Change-Id: Ifab885dc09b2d663d95b49e25458873c2eb0b0c4
Samuel Iglesias Gonsálvez [Wed, 19 May 2021 15:33:01 +0000 (17:33 +0200)]
Add test of vkCmdCopyImage with both layers and mipmaps
Components: Vulkan
VK-GL-CTS issue: 2983
Added:
dEQP-VK.api.copy_and_blit.*.image_to_image.array.array_to_array_whole_mipmap*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I1f949e6065a125ffc2703abc2667e04e7df465a9
Ricardo Garcia [Fri, 2 Jul 2021 10:56:47 +0000 (12:56 +0200)]
Test dynamic topology with tessellation shaders
Add new test variants to the extended dynamic state tests to check using
dynamic topology with tessellation shaders works as expected.
New tests:
dEQP-VK.pipeline.extended_dynamic_state.*topology_patch*
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 2965
Change-Id: I40a3928e986b83c5a22c3d36431b5d272aa8617e
Graeme Leese [Tue, 6 Jul 2021 14:20:18 +0000 (15:20 +0100)]
Remove extended image format capabilities from more tests
The extended storage formats capability is mandatory, so simplify the
code by using ti all the time, instead of trying to determine when it is
required.
Also, change the method of determining when 64 bit support is required
to be consistent with the image.extend_operands_spirv1p4 tests.
Components: Framework, Vulkan
Affects: dEQP-VK.image.mismatched_write_op.*
Change-Id: Ia9cc474977e71a8682c886f2f6cd852be38f06c4
Graeme Leese [Tue, 6 Jul 2021 13:59:13 +0000 (14:59 +0100)]
Simplify image extend operand tests for extended formats
It is always valid to use the StorageImageExtendedFormats capability in
Vulkan, so simplify the tests by using it unconditionally, rather than
tracking when it would need to be turned on.
Components: Vulkan
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: I5f0cc3c89f392965f72b07a79846000abb4bc5b1
Alexander Galazin [Fri, 9 Jul 2021 11:21:21 +0000 (13:21 +0200)]
Use [u]int16_t in the framework
This change replaces deUint16/deInt16 with uint16_t/int16_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I96948614f5cab64fff5fd65a7879660dfb7365d6
Alexander Galazin [Fri, 9 Jul 2021 11:17:38 +0000 (13:17 +0200)]
Use [u]int8_t in the framework
This change replaces deUint8/deInt8 with uint8_t/int8_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I5cadb68a7f34f054bdb76559ad393234c7d8c22a
Alexander Galazin [Thu, 8 Jul 2021 07:39:25 +0000 (09:39 +0200)]
Use [u]int32_t in the framework
This change replaces deUint32/deInt32 with uint32_t/int32_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I05be456ba7f1e6bf33990b971e56e21d2123b8e8
Alexander Galazin [Thu, 8 Jul 2021 08:36:16 +0000 (10:36 +0200)]
Require to enable implicit layers
Components: Vulkan
Affects: none
Vulkan issue: 2517
Change-Id: I11beee411ecb11c0d9ee140103a80c4ba7a39966
James Jones [Wed, 7 Jul 2021 20:59:12 +0000 (13:59 -0700)]
Fix FreeBSD build of VK_EXT_physical_device_drm tests
Linux defines the major() and minor() macros in
the sys/sysmacros.h header, but FreeBSD does not
have this header and instead defines them in
sys/types.h.
Components: Vulkan
Affects: dEQP-VK.api.device_drm_properties.*
Change-Id: I0bed149d24241e152437f530f5eb137738c46122
Alexander Galazin [Fri, 9 Jul 2021 09:47:09 +0000 (11:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Change-Id: I82b3571c78ae0430172528a3642a78869b1272a3
Alexander Galazin [Thu, 8 Jul 2021 06:55:33 +0000 (08:55 +0200)]
Deprecation notice for Vulkan CTS 1.2.3.x
Components: Vulkan
Change-Id: Ic85d29ecd9da9b8bd10cb8b79b0b936d1b01e189
Samuel Iglesias Gonsálvez [Thu, 24 Jun 2021 13:41:41 +0000 (15:41 +0200)]
Added tests to check ignored Vk*PipelineCreateInfo members
Components: Vulkan
VK-GL-CTS issue: 2980
Added tests:
dEQP-VK.api.pipeline.pipeline_invalid_pointers_unused_structs.*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ib36f9557a693f5481b73803a079a0d6acd7fb8fe
Ricardo Garcia [Thu, 8 Jul 2021 14:06:22 +0000 (16:06 +0200)]
Accept per-sample shading in multiple interpolation tests
When using the sample decoration in one of the fragment shader input
variables, some implementations may switch to per-sample shading mode,
producing results which are different from the per-fragment shading
results but which are allowed by the spec.
This commit enables sample shading with rate 1.0 as an alternative valid
result for multiple interpolation tests in implementations supporting
the sampleRateShading feature.
Affected tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2993
Change-Id: Id5d33df38b8c7179a0686b615578871aea8d8f22
Ricardo Garcia [Tue, 6 Jul 2021 15:55:14 +0000 (17:55 +0200)]
Single color buffer in multiple interpolation tests
The multiple interpolation tests were requiring 5 color attachments to
run the main fragment shader, when the spec requires implementations to
support at least 4.
Instead of checking the number of supported color attachments and
marking the tests as not supported in those cases, this commit changes
the main fragment shader to use only one color attachment and selects
one of the multiple interpolations using push constants.
The tests run a bit slower because they use multiple pipelines and
render passes in sequence instead of a single one, but they can be run
on any implementation.
Affected tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2986
Change-Id: I14f0aacd8e134bbcbf027f46ed6c18076bae09f5
James Fitzpatrick [Mon, 5 Jul 2021 12:43:10 +0000 (13:43 +0100)]
Set point size in subgroup size control tests
The subgroup size control tests were not correctly setting the point
size flag when initialising their std programs leading to point size
being uninitialised when shaderTessellationAndGeometryPointSize is
supported.
Affects:
dEQP-VK.subgroups.size_control.*
Components: Vulkan
VK-GL-CTS issue: 2988
Change-Id: I26fe7807093d12c69f0214be8c75bd9356cbce2a
Mohankumar Nekkarakalaya [Fri, 2 Jul 2021 17:48:19 +0000 (10:48 -0700)]
Fix Protected context constructor initialization list order
Changed the initilization order of the Protected Context constructor
members because m_allocator depends on m_device and m_deviceDriver.
This was causing the allocator to be created with an uninitialized
device.
Affected tests: dEQP-VK.protected_memory.*
Components: Vulkan
VK-GL-CTS issue: 2990
Change-Id: I921c18aec1c4ba1e8335f6e62b8df2e9cc5f2b39
James Fitzpatrick [Mon, 5 Jul 2021 13:57:30 +0000 (14:57 +0100)]
Update Imagination waiver #229
vulkan-cts-1.2.7.0 introduced new tests to validate that an
implementation clamps the most negative snorm values to -1.0 when
using linear filtering.
There is an existing waiver that covers some Imagination GPUs which do
not correctly round negative snorm values.
Update this waiver to apply to the newly added tests.
Affects
dEQP-VK.texture.conversion.snorm_clamp_linear.*
VK-GL-CTS issue: 229
VK-GL-CTS issue: 2989
Change-Id: Ic23f0a042f7489bcfd9fb838260e920f7d19f2c6
Alexander Galazin [Thu, 8 Jul 2021 19:39:44 +0000 (21:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I3fa99a90ec8944344b87a18c1ce2a01b93531c92
Alexander Galazin [Thu, 8 Jul 2021 19:01:12 +0000 (21:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I8cfb44dac31df4a46280d3c050e561c5f9c84538
Alexander Galazin [Thu, 8 Jul 2021 18:08:17 +0000 (20:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I41d5f00d649218e1418c13591f50885858624198
Alexander Galazin [Thu, 8 Jul 2021 17:09:43 +0000 (19:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I166b558acc75b2d9259620be5fb8ba89eaa10841
Alexander Galazin [Thu, 8 Jul 2021 16:27:33 +0000 (18:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Ic61d3218b466b8fd2c50127867a0cfdb77c07637
Alexander Galazin [Thu, 8 Jul 2021 15:37:58 +0000 (17:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I7c0abe6efdeab69b5928cc0e67a6365f15b1e5c5
Ricardo Garcia [Tue, 29 Jun 2021 14:41:59 +0000 (16:41 +0200)]
Check required extension core versions
This commit adds a new test that verifies the core version requirement
of each supported extension is met.
New tests:
dEQP-VK.api.info.extension_core_versions.extension_core_versions
VK-GL-CTS issue: 2960
Components: Vulkan
Change-Id: I6c2b70c3173285dc02e3e63742ebd14ae989b30a
Ricardo Garcia [Tue, 29 Jun 2021 11:33:59 +0000 (13:33 +0200)]
Test more dynamic vertex input variants
This commit reworks the vertex input part of the extended dynamic state
tests to make it more flexible and adds a couple more test variants
checking more complex setups of bindings and attributes.
In addition, it fixes logic op tests so the output image format matches
the output framgent shader interface.
Also, it fixes feature checks for dynamic vertex input, which were only
requiring VK_EXT_vertex_input_dynamic_state while also using features
from VK_EXT_extended_dynamic_state.
New tests:
dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input_no_dyn_stride
dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input_multiple_bindings
Removed test (due to VUID-vkCmdBindVertexBuffers2EXT-pStrides-03363):
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.vertex_input
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 2943
Change-Id: I7da95804ffa156c9b32e304457c40c99158ef63c
Ricardo Garcia [Wed, 16 Jun 2021 09:13:44 +0000 (11:13 +0200)]
Improve tests checking sign extension with images
Changes the existing sign extension operand tests:
* Operands are now checked independently on read and write operations.
* 64-bit formats are also checked when supported.
Parts of the framework have been modified to improve 64-bit format
support and to properly check 64-bit output pixel values.
This commit replaces the dEQP-VK.image.extend_operands_spirv1p4 test
group with new variants.
New tests and removed tests:
dEQP-VK.image.extend_operands_spirv1p4.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2885
Change-Id: Ia6b3c06b81347d7b007a1adb49a80b04dda5db83
Mohankumar Nekkarakalaya [Wed, 7 Jul 2021 23:00:03 +0000 (16:00 -0700)]
Call computeFixedPointError only for fixed point case
Calling computeFixedPointError for integer case (numAccurateBits=32)
is incorrect and causes crash.
Added assert to make sure numAccurateBits is in legal range.
Affected tests: dEQP-VK.sparse_resources.image_sparse_residency.*
Components: Vulkan
VK-GL-CTS issue: 2994
Change-Id: Ib357cbbbda0f7980ec2d7115053cabc6825a18d3
Alexander Galazin [Wed, 7 Jul 2021 09:13:05 +0000 (11:13 +0200)]
Exclude cov-function-with-nested-loops-called-from-nested-loops
This excludes dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
from the mustpass. The test was failing for one of the IHVs and was merged by mistake
Components: Vulkan
Affects:
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
Change-Id: I2547da87b0924b9e0661f6930504702f793c3b95
Iago Toral Quiroga [Tue, 6 Jul 2021 09:10:04 +0000 (11:10 +0200)]
Avoid overflowing arrays in GLSL atomic tests
Tilers may need to execute vertex pipeline stages more than once,
leading to additional shader invocations. This is a problem for atomic
tests, since their result depends on the number of shader invocations
executed.
This is already handled properly for vertex shaders but not for other
vertex pipeline stages.
Affected tests:
dEQP-VK.glsl.atomic_operations.*
Components: Vulkan
VK-GL-CTS issue: 2987
Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Iab08e3fb2ef40fc29dcf073817e5fd5dd49e7875
Alexander Galazin [Mon, 5 Jul 2021 14:18:18 +0000 (16:18 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I6000ca21cc306130dd546887e68d1cecd4dc0e1f
michal_jakubek [Wed, 12 May 2021 08:53:39 +0000 (10:53 +0200)]
Update bottom AS's addresses during top AS deserialization
SerialStorage class has been adorned with an additional constructor
which allows to serialize or deserialize a deep copy of top-level
acceleration structure, it means top-level AS together with bottom-level
acceleration structures that it owns. In other words it reconstructs all
stuff that has been stored during serialization process.
A deserializing from SerialStorage created this way updates bottom-level
acceleration structure addresses in the top-level AS's header.
New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.header_bottom_address.*
Components: Vulkan
VK-GL-CTS issue: 2830
Change-Id: I2e92e6a83dc9dcba67fa74b12fbfcafb4ae4c0c6
Alexander Galazin [Thu, 1 Jul 2021 17:02:21 +0000 (19:02 +0200)]
Allow Vulkan CTS 1.2.7.0
Affects: dEQP-VK.api.driver_properties.properties
Components: Vulkan
Change-Id: I4a690af61ea6e8cb752751d0282a7771b11f3b36
Alexander Galazin [Thu, 1 Jul 2021 16:14:03 +0000 (18:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: Ie5ff780b4e0951acc82541cdd7a914e892789f8f
michal_jakubek [Fri, 16 Apr 2021 09:09:43 +0000 (11:09 +0200)]
Handle vkGetDeviceAccelerationStructureCompabilityKHR function.
New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.device_compability_khr.*
Components: Vulkan
VK-GL-CTS issue: 2822
Change-Id: Iaf8556f44942d44bda19a104fc3c393b8101201e
Graeme Leese [Thu, 17 Sep 2020 17:47:23 +0000 (18:47 +0100)]
Drop subgroup size requirement for uniform control
The uniform control tests were using a required subgroup size without
checking for support. In fact, the only requirement is that the two
shaders in each test run with the same subgroup size. This is guaranteed
for all pipelines unless the varying size feature is enabled, so the
required subgroup size is not needed.
Components: Vulkan
VK-GL-CTS issue: 2576
Affects: dEQP-VK.subgroups.subgroup_uniform_control_flow.*control.*
Change-Id: Id1bf77a040ca6183b1ce237ae5f3bcda909c716c
(cherry picked from commit
dbd42247ae8f885470fde4dbb3efccdb8c2e1134)
Samuel Iglesias Gonsálvez [Thu, 24 Jun 2021 09:48:16 +0000 (11:48 +0200)]
Check support for triangle fan primitive topology on rasterization tests
If VK_KHR_portability_subset is supported, check for triangle fan
support in the tests that use that primitive topology.
Component: Vulkan
Fix issue: KhronosGroup#246
VK-GL-CTS issue: 2978
Affected test:
dEQP-VK.rasterization.*triangle_fan
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I98a4ab5caee2bf6f07c610822b8166b3a1803e52
Boris Zanin [Wed, 2 Jun 2021 11:06:00 +0000 (13:06 +0200)]
Revert initial layout for depth/stencil attachment in makeRenderPass
Return back previous initial depth/stencil attachment
layout, i.e. set it to
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL only
if loadOperation is VK_ATTACHMENT_LOAD_OP_LOAD.
Otherwise keep it undefined.
Setting vast range of affected tests, because it is
hard to determine which of the tests are using
affected by this function.
Affected tests:
* dEQP-VK.*
Components: Framework
VK-GL-CTS public issue: 272
Change-Id: Ie96c8125144904fde5e2db6294f52947ff979424
Antto Mäkinen [Mon, 7 Jun 2021 13:13:05 +0000 (16:13 +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-apfloat-module-small-number
dEQP-VK.graphicsfuzz.cov-determinant-uninitialized-matrix-never-chosen
dEQP-VK.graphicsfuzz.cov-divide-matrix-transpose-by-constant
dEQP-VK.graphicsfuzz.cov-fragcoord-bitwise-not
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
dEQP-VK.graphicsfuzz.cov-loop-break-floor-nan-never-executed
dEQP-VK.graphicsfuzz.cov-missing-return-value-function-never-called
dEQP-VK.graphicsfuzz.cov-modulo-zero-never-executed
dEQP-VK.graphicsfuzz.cov-read-matrix-push-constant
dEQP-VK.graphicsfuzz.cov-reinitialize-matrix-after-undefined-value
dEQP-VK.graphicsfuzz.cov-sampler-as-function-argument
dEQP-VK.graphicsfuzz.cov-transpose-multiply
dEQP-VK.graphicsfuzz.cov-trunc-fract-always-zero
dEQP-VK.graphicsfuzz.cov-uninitialized-values-passed-to-function-never-executed
dEQP-VK.graphicsfuzz.cov-unused-access-past-matrix-elements
Change-Id: I06f80169893fcc92d154d0da386568a177416426
Alexander Galazin [Thu, 1 Jul 2021 15:12:58 +0000 (17:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Iffe181f31ff661ead2142e7e7f0abb314bf1a2e1
Sławomir Cygan [Fri, 25 Jun 2021 14:08:23 +0000 (16:08 +0200)]
Fix semaphore leak in image atomic operations test
The class 'Image', being base class for `SparseImage` class needs to be
marked as virtual, so objects of SparseImage type can be owned and
destroyed through a pointer of `Image` type. Without that the implicit
destructor of `SparseImage` class is never called.
As SparseImage class has a semaphore member, this fixes the
semaphore VK object leak.
Components: Vulkan
VK-GL-CTS Issue: 2981
Change-Id: Ice24f7018cf9144f4c1adbb8987b730d5f1ca2aa
Affects: dEQP-VK.image.atomic_operations.*
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
(cherry picked from commit
a017db3c0d1fbf89f30253254d57fb869f57a430)