Alexander Galazin [Mon, 14 Dec 2020 16:37:13 +0000 (17:37 +0100)]
Support GL 4.5 in the 'negative' tests
Affects:
dEQP-GLES3*.functional.*.negative.*
Components: AOSP
Change-Id: I7c58f9151e162769742d75a043d9f5202e72ed14
Alexander Galazin [Mon, 14 Dec 2020 13:31:20 +0000 (14:31 +0100)]
Support GL 4.5 in geometry/tesselation shader tests
Components: AOSP
Affects:
dEQP-GLES3*.functional.shaders.*
Change-Id: Ia97075a0ad973307bc7b04d15e7efda0996c31e2
Alexander Galazin [Mon, 14 Dec 2020 11:51:26 +0000 (12:51 +0100)]
Support GL 4.5 context in the precision and draw tests
Affects:
dEQP-GLES3*.functional.shaders.builtin_functions.precision.*
dEQP-GLES3*.functional.draw_base_vertex.*
Components: AOSP
Change-Id: I8539b5b31bdbf206d89ef3dc1f74917f655a266b
Alexander Galazin [Mon, 14 Dec 2020 08:16:53 +0000 (09:16 +0100)]
First steps towards running ES3.1 functional tests on GL4.5 drivers
This commit creates a minimal necessary infastrcuture, e.g. the
package files, but doesn't make any functional changes to the tests.
Components: AOSP, OpenGL
Affects: dEQP-GLES31.*
Change-Id: I22c91224459d390377cdd6fbfc534522d958eb58
Alexander Galazin [Sat, 19 Dec 2020 09:30:15 +0000 (10:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: Iad7afe96f143985ee22ed08108ea3d3565a5915f
Alexander Galazin [Fri, 18 Dec 2020 16:43:18 +0000 (17:43 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Icb5e7e25ae6236ae1fd13216514d4a414dfaed44
Alexander Galazin [Fri, 18 Dec 2020 09:48:33 +0000 (10:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Ie4a7bdf8b1e7b9579112a21a4dbefec8dd20687a
Alexander Galazin [Fri, 1 Nov 2019 11:05:43 +0000 (12:05 +0100)]
Raise min CMake version to 3.10.2
Components: AOSP, Vulkan, OpenGL
Change-Id: I970fc57d8069d87269660b2ccef9df035e524693
Alexander Galazin [Fri, 18 Dec 2020 08:49:46 +0000 (09:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Ib199c6c60ed14c4549a90ad19dcb20a7a5ad1a27
Jeremy Gebben [Thu, 10 Dec 2020 20:20:09 +0000 (13:20 -0700)]
Fix Renderpass storeOp synchronization hazards
Several multisample test groups create Renderpasses where the
first subpass writes to a color attachment, followed by N
subpasses that use the same attachment as an input attachment.
The spec says: "The store operation for each sample in an attachment
happens-after any recorded command which accesses the sample in
the last subpass where the attachment is used."
To avoid SYNC-HAZARD-WRITE-RACING-WRITE or SYNC-HAZARD-WRITE-RACING-READ
errors, the Nth subpass must depend on all prior subpasses.
VK-GL-CTS Issue: 2700
Affects Tests:
dEQP-VK.pipeline.multisample.min_sample_shading.*
dEQP-VK.pipeline.multisample_shader_builtin.*
dEQP-VK.renderpass.suballocation.multisample.*
dEQP-VK.renderpass2.suballocation.multisample.*
Components: Vulkan
Change-Id: I48c1ad2c1f05010ac31e45c513e1d4920216fe52
Jeremy Gebben [Wed, 9 Dec 2020 15:12:25 +0000 (08:12 -0700)]
Fix back-to-back transfer command synchronization hazards
If 2 transfer commands use the same memory, they need a pipeline barrier
between them.
VK-GL-CTS Issue: 2693
Affects Tests:
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image.remaining_array_layers_twostep.*
dEQP-VK.pipeline.timestamp.transfer_tests.*
dEQP-VK.ycbcr.copy_dimensions.*
Components: Vulkan
Change-Id: I91bf74c63275f6e3dd6c383f59d1f4e9c1aa0982
Graeme Leese [Thu, 10 Dec 2020 11:49:36 +0000 (11:49 +0000)]
Simplify code for subgroup builtin mask tests
A lot of code was being duplicated, which is now shared. The shaders
were calculating bitCount by looping over the bits, which is less
efficient than using the intrinsic.
The new code is shorter and should be easier to understand and faster to
execute, but there is no functional change.
Components: Vulkan
Affects: dEQP-VK.subgroups.builtin_mask_var.*
Change-Id: I6ef0d607423aa5cccce17aefeaac8cc1055ec488
Jeremy Gebben [Wed, 9 Dec 2020 20:38:13 +0000 (13:38 -0700)]
Fix end of Renderpass synchronization hazards
The implicit subpass dependency at the end of a renderpass has
dstStageMask set to VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, which
prevents forming a dependency chain with specific pipeline stages.
To synchronize commands with vkCmdEndRenderPass, use either an
explict external subpass dependency or a pipeline barrier with
srcStageMask set to VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.
VK-GL-CTS Issue: 2695
Affected tests:
dEQP-VK.pipeline.multisample.sample_locations_ext.*
dEQP-VK.renderpass.suballocation.attachment_sparse_filling.*
dEQP-VK.renderpass.suballocation.subpass_dependencies.*
dEQP-VK.renderpass2.suballocation.attachment_sparse_filling.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.*
Components: Vulkan
Change-Id: I1b33c128dfdc54705f953f044db9acf1ff6e63e9
Jeremy Gebben [Mon, 7 Dec 2020 21:06:48 +0000 (14:06 -0700)]
Fix additional RenderPass loadOp/stencilLoadOp sync hazards.
Make sure test cases that use VK_LOAD_OP_LOAD have a barrier
with VK_ACCESS_INPUT_ATTACHMENT_READ_BIT or
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT in the dstAccessMask
before the RenderPass.
VK-GL-CTS Issue: 2690
Affected tests:
dEQP-VK.conditional_rendering.draw_clear.*
dEQP-VK.dynamic_state.ds_state.*
dEQP-VK.pipeline.framebuffer_attachment.*
dEQP-VK.descriptor_indexing.*
Components: Vulkan
Change-Id: I8e6df6f6aa3f63c5ad6b7396d5d395d12ad52201
Jeremy Gebben [Thu, 5 Nov 2020 00:12:27 +0000 (17:12 -0700)]
Fix RenderPass stencilLoadOp synchronization hazards.
Fix synchronization validation errors similar to:
"vkCmdBeginRenderPass: Hazard READ_AFTER_WRITE in subpass 0 for
attachment 1 aspect depth during load with loadOp VK_ATTACHMENT_LOAD_OP_LOAD.
Access info (usage: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ,
prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: ...)"
Load operations for attachments with a depth/stencil format execute in
the VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT pipeline stage.
LOAD_OP_LOAD requires VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT.
VK-GL-CTS Issue: 2690
Affected tests:
dEQP-VK.dynamic_state.rs_state.*
dEQP-VK.geometry.layered.*
dEQP-VK.multiview.renderpass2.depth.*
Components: Vulkan
Change-Id: I9400a50b4ed4c34cc879d1d062ac72d7ae770662
Jeremy Gebben [Tue, 3 Nov 2020 16:18:14 +0000 (09:18 -0700)]
Fix RenderPass loadOp synchronization hazards.
Fix synchronization validation errors similar to:
"vkCmdBeginRenderPass: Hazard READ_AFTER_WRITE in subpass 0 for
attachment 0 aspect color during load with loadOp
VK_ATTACHMENT_LOAD_OP_LOAD.
Access info (usage: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ,
prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: ....)"
VK_ATTACHMENT_LOAD_OP_LOAD requires VK_ACCESS_COLOR_ATTACHMENT_READ_BIT.
VK_ATTACHMENT_LOAD_OP_DONT_CARE and VK_ATTACHMENT_LOAD_OP_CLEAR require
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT.
VK-GL-CTS Issue: 2690
Affected Tests:
dEQP-VK.binding_model.descriptorset_random.*
dEQP-VK.binding_model.descriptor_update.samplerless.*
dEQP-VK.renderpass.suballocation.subpass_dependencies.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.*
Components: Vulkan
Change-Id: Ieff35623329e4993f3745dbb65e6996edd422c31
Alexander Galazin [Fri, 18 Dec 2020 08:06:05 +0000 (09:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I2321a93eaa56abbe87c87680aedd8ceb76b645e1
Mikko Tiusanen [Wed, 4 Nov 2020 08:24:34 +0000 (10:24 +0200)]
Tests for GLES3 number parsing
Added tests for number parsing in GLES3.
Includes new tests for unsigned int literals and float parsing tests
imported from Khronos WebGL Conformance Tests.
New tests:
KHR-GLES3.number_parsing.*
Components: OpenGL
VK-GL-CTS issue: 2176
Change-Id: I96c0d14431b5dd5867808319f08c5a614f40d2e0
Alexander Galazin [Thu, 17 Dec 2020 15:03:09 +0000 (16:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: If26f7fae4e13aff58e233680c755db99879644b3
Alexander Galazin [Thu, 17 Dec 2020 14:10:25 +0000 (15:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I3ed8d5f4de16750c664e4c8908b8b971f48f7593
Mikko Tiusanen [Mon, 12 Oct 2020 14:11:45 +0000 (17:11 +0300)]
Tests for multiple clears within render pass
Adds tests that perform multiple color/depth buffer clears within one
render pass.
New tests:
dEQP-VK.draw.multiple_clears_within_render_pass.*
Component: Vulkan
VK-GL-CTS issue: 2595
Change-Id: Ica79be44cfd540e83dc5c900a8cfd4e0327405a4
Alexander Galazin [Thu, 17 Dec 2020 13:21:47 +0000 (14:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I004160d9169fcb42a928c10d76b5355dd671e5a8
Alexander Galazin [Thu, 17 Dec 2020 13:20:59 +0000 (14:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Ie1ff8e21a9cffae5e0616204ff3416e490ca0637
Ricardo Garcia [Fri, 30 Oct 2020 15:41:04 +0000 (16:41 +0100)]
Enable nullDescriptor for AS ray query tests
Ray query null acceleration structure tests depend on the nullDescriptor
feature, which is not enabled in the default device. The tests need
custom devices, which implies minor design changes all over the ray
query builtin and advanced tests, due to these tests passing the global
context around and obtaining the test device from it in several
different places.
Affected tests:
dEQP-VK.ray_query.builtin.*
dEQP-VK.ray_query.advanced.*
Components: Vulkan
VK-GL-CTS issue: 2635
Change-Id: Ia5215c625b06c590d9b293e5c4d55b53c98a3e7d
Ricardo Garcia [Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)]
Avoid advertising disabled robustness2 features
Make sure getRobustness2FeaturesEXT does not advertise a feature as
enabled when, in fact, the feature has been disabled when creating the
default test device in the context. This is consistent with the behavior
that was in place for robustBufferAccess.
In addition, disable image robustness in the default device, to be
consistent with the existing behavior for robustness2 features and
robustBufferAccess.
This means robustness2 and image robustness tests needed to be modified
to stop relying on feature checks from the context, like using
getRobustness2FeaturesEXT, because those will now be reported as not
enabled. In other words, feature getters from the context report
features that are *enabled* on the default device, and not features that
are merely available.
In addition, make robustness2 and image robustness tests use separate
devices when enabling image robustness or robustness2 features, so as to
run image robustness tests without any robustness2 feature.
In addition, require and enable the scalar block layout feature, which
is used to compile every shader in this test group.
Affected tests:
dEQP-VK.robustness.robustness2.*
dEQP-VK.robustness.image_robustness.*
Components: Vulkan
VK-GL-CTS issue: 2634
VK-GL-CTS issue: 2643
Change-Id: I641c0f6f659a89bd12a36da175358d3edc2dfeae
(cherry picked from commit
cea5003e0f519dff9d9ce6805a4994ebfde5e4f2)
Piotr Byszewski [Wed, 30 Sep 2020 11:05:34 +0000 (13:05 +0200)]
Test dynamic indexing of AS
Components: Vulkan
VK-GL-CTS issue: 2577
New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.dynamic_indexing.dynamic_indexing
dEQP-VK.ray_query.acceleration_structures.dynamic_indexing.dynamic_indexing
Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*
dEQP-VK.ray_query.acceleration_structures.*
Change-Id: Icdb3e7fe1aef34199fa3fecb34f0615531df72c0
Ricardo Garcia [Tue, 10 Nov 2020 11:06:15 +0000 (12:06 +0100)]
Test dynamic indexing of ray queries
Create a new test that indexes ray queries in an array using an index
that is dynamic, changing for each invocation with different values
obtained from an SSBO.
New tests:
dEQP-VK.ray_query.misc.dynamic_indexing
Components: Vulkan
VK-GL-CTS issue: 2587
Change-Id: I2e53061ab606a86eb9985ce89b2fd44807aa3b45
Piotr Byszewski [Thu, 5 Nov 2020 08:06:17 +0000 (09:06 +0100)]
Test procedural geometry with complex BB sets
Components: Vulkan
VK-GL-CTS issue: 2594
New tests:
dEQP-VK.ray_*.procedural_geometry.*
Change-Id: Ib720452819c1139aca2bcf653333e6d423e1c139
Boris Zanin [Fri, 26 Jul 2019 10:52:46 +0000 (12:52 +0200)]
Basic tests for VK_EXT_conservative_rasterization
Implementation of basic tests for conservative rasterization.
Add tests:
* dEQP-VK.rasterization.conservative.*
Affects tests:
* dEQP-VK.rasterization.*
Components: vulkan
VK-GL-CTS issue: 1676
Change-Id: I5088f0f0eb7e3f44e36b88ba0c9ff74552b93015
(cherry picked from commit
004fb6b7d0803c58f6883c2e7771597b3e200b48)
Ari Suonpaa [Wed, 2 Dec 2020 10:40:40 +0000 (12:40 +0200)]
Add test for image copy special case
Added a specific image copy test to match a reported issue.
VK-GL-CTS Issue: 2678
New tests:
dEQP-VK.api.copy_and_blit.*.image_to_image.simple_tests.partial_image_npot_diff_format_clear
Components: Vulkan
Change-Id: If6b35a2b62b6ecb44827999d6b4116d57e7a584a
Liam Middlebrook [Wed, 9 Dec 2020 23:17:26 +0000 (15:17 -0800)]
Fix build for Unices without CLOCK_MONOTONIC_RAW
CLOCK_MONOTONIC_RAW was introduced in Linux 2.6.28 and glibc 2.12. In
order to build the CTS on non-Linux Unices or older Linux distros we
should only compile-in usage of CLOCK_MONOTONIC_RAW when it is available
at build-time.
Components: Vulkan
VK-GL-CTS issue: 2696
Affects:
dEQP-VK.pipeline.timestamp.calibrated.host_domain_test
Change-Id: I937d4ea6350fe0b70c0028d9ae48b9234e425fdf
Robert Morell [Thu, 10 Dec 2020 01:23:48 +0000 (17:23 -0800)]
vktRayTracingMiscTests.cpp: abs -> fabsf
Fixes these errors building for FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp:2248:11: error: call to 'abs' is ambiguous
if (abs(currentItem.dataChunk.at(nItem) - static_cast<float>(nRay + nItem)) > 1e-3f)
^~~
/usr/include/stdlib.h:83:6: note: candidate function
int abs(int) __pure2;
^
/usr/include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);}
^
/usr/include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
^
VK-GL-CTS issue: 2696
Components: Vulkan
Affects:
dEQP-VK.ray_tracing_pipeline.misc.callableshaderstress*
Change-Id: I0be12116f368d02251a7b1d6a560d1ff898f78dd
Mikko Tiusanen [Fri, 13 Nov 2020 14:13:30 +0000 (16:13 +0200)]
Add tests for GLES3 vector construction from other types
Added tests for GLES3 vector construction from compatible data types with
more than one component.
Components: OpenGL
New tests: KHR-GLES3.shaders.glsl_constructors.*
VK-GL-CTS issue: 2178
Change-Id: If7fab5d0e950cc6c9d1dc39c32413e176df06e2f
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain
To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.
Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
int exitStatus = EXIT_SUCCESS;
^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
exitStatus = EXIT_FAILURE;
^
Components: OpenGL
VK-GL-CTS issue: 2696
Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048
(cherry picked from commit
a3087b1818e7310757304574da1e021e9578438b)
Alexander Galazin [Thu, 10 Dec 2020 14:07:11 +0000 (15:07 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I90d7ded1d0fb76225a2f07354b76f1111bca7e2b
Alexander Galazin [Thu, 10 Dec 2020 13:30:11 +0000 (14:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Ifc19d39f8f561171fabb3598587dec9822e37dc2
Alexander Galazin [Thu, 10 Dec 2020 11:25:34 +0000 (12:25 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: I26d8e8bb5762056542f865c62fb4e09fe2d9df8b
Alexander Galazin [Thu, 10 Dec 2020 11:04:34 +0000 (12:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I71fc9c2f2a1132010379b79b0ca2445f57c5055c
Alexander Galazin [Thu, 10 Dec 2020 10:19:36 +0000 (11:19 +0100)]
Remove cov-fold-div-uniform-by-zero
The test relies on undefined behavior
Components: Vulkan
VK-GL-CTS issue: 2691
Affects: dEQP-VK.graphicsfuzz.cov-fold-div-uniform-by-zero
Change-Id: Id5703afdf8aeb544b601184b91463a5cf0a7c532
Alexander Galazin [Thu, 10 Dec 2020 09:30:44 +0000 (10:30 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ib50bbe4e7c82ff147376432d2bf474348e38d952
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain
To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.
Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
int exitStatus = EXIT_SUCCESS;
^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
exitStatus = EXIT_FAILURE;
^
Components: OpenGL
VK-GL-CTS issue: 2696
Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048
Alexander Galazin [Wed, 9 Dec 2020 17:12:11 +0000 (18:12 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: Ic90f2a909e9eda6abcd8bdd5f714ae385e6027d7
Joerg Wagner [Sat, 5 Dec 2020 12:12:10 +0000 (13:12 +0100)]
Fix instance creation
Pass parameters in the right order when
creating a temporary instance to allow
tests to be skipped when features are not
supported.
Affects: dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Components: Vulkan
VK-GL-CTS issue: 2689
Change-Id: Iba9490debc4870f158b30295930783e2291c4f77
Alexander Galazin [Wed, 9 Dec 2020 12:37:57 +0000 (13:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Id23124bcd500db5ddbc6da9beb2f94239d52cd55
Alexander Galazin [Wed, 9 Dec 2020 09:57:03 +0000 (10:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Icdf3698545ae26c2b9c2bcbd1d7adcfc2a14fc28
Alexander Galazin [Wed, 9 Dec 2020 08:54:46 +0000 (09:54 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Id9f7774598b101e0f88ce933f347aadffcd7c73d
Alexander Galazin [Wed, 9 Dec 2020 08:52:05 +0000 (09:52 +0100)]
Remove travis.yml
Components: Framework
Change-Id: I14bcef09f4c198dc14c56c304cbc1199b4110ce2
Ari Suonpaa [Wed, 18 Nov 2020 12:28:18 +0000 (14:28 +0200)]
Add drawing tests for Android hardware buffer based color buffer
These new tests cover drawing to a color buffer imported from
an Android hardware buffer. Both single layer and multi layer
variants have been added.
VK-GL-CTS Issue: 2623
New tests:
dEQP-VK.draw.ahb.triangle_list*
Components: Vulkan
Change-Id: Ia859803a11aeb934dfa41f45b2b912051c8925e2
Ricardo Garcia [Wed, 18 Nov 2020 09:58:43 +0000 (10:58 +0100)]
Test data spilling and unspilling around RT shader calls
The new test group contains tests that check different types of data can be
accessed before and after a shader call instruction. This includes:
* Integers and floats in different sizes and formats, and pointers to them.
* Structures and pointers to them.
* Images, samplers, sampled images and pointers to them.
* OpImageTexelPointers.
* Values containing OpNullConstant and OpUndef.
* Shader interfaces (ray payloads, callable data and hit attributes).
* Shader Record Buffer objects.
New tests:
dEQP-VK.ray_tracing_pipeline.data_spill.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2388
Change-Id: Idfe48314154585a7ac1d3bb4a29c10075a826f5d
Dominik Witczak [Mon, 12 Oct 2020 11:49:43 +0000 (13:49 +0200)]
Add new tests that verify IgnoreIntersection/TerminateRay corner cases.
New tests:
dEQP-VK.ray_tracing_pipeline.misc.Op*
Components: Vulkan
VK-GL-CTS issue: 2607
Change-Id: Iee671f0e3f9036d477e2f30d96a1ccfcf55fe831
Ricardo Garcia [Tue, 17 Nov 2020 09:16:50 +0000 (10:16 +0100)]
Test maxPipelineRayRecursionDepth can be zero
Make sure implementations support passing zero as the
maxPipelineRayRecursionDepth parameter when creating a ray tracing
pipeline.
New tests:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces_*_0
Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces_*
Components: Vulkan
VK-GL-CTS issue: 2426
Change-Id: I8c72c9cd5ce427e490e8826bc6b3da47de8e0413
Graeme Leese [Wed, 25 Nov 2020 11:46:13 +0000 (11:46 +0000)]
Enable YCbCr filtering tests for non-separable chroma
These tests were added in order to test implementations which did not
support separate chroma filters, but they were not run on those
implementations.
Components: Vulkan
VK-GL-CTS issue: 2239
Affects: dEQP-VK.ycbcr.filtering.*
Change-Id: Id6be0148517f2384179f3544a32d478c165b802b
Alexander Galazin [Tue, 8 Dec 2020 09:10:35 +0000 (10:10 +0100)]
Remove cov-fold-div-variable-by-zero
The test relies on undefined behavior
Components: Vulkan
VK-GL-CTS issue: 2691
Affects: dEQP-VK.graphicsfuzz.cov-fold-div-variable-by-zero
Change-Id: I56f7e34bb237184b53c60b8074d19e16c400fff7
Slawomir Cygan [Mon, 7 Dec 2020 17:19:25 +0000 (18:19 +0100)]
Fix clang 10.0 build of ray tracing control flow tests
The build fails due to -Werror,-Wunused-const-variable warning.
the PUSH_CONSTANTS_COUNT constant is used only in debug builds.
Components: Vulkan
Change-Id: I6ee3920619109024cb9ba29c0d22722d0069d91d
(cherry picked from commit
d64576958e0195bb9029ac7ffab9717afb9ddffa)
Slawomir Cygan [Mon, 7 Dec 2020 17:19:25 +0000 (18:19 +0100)]
Fix clang 10.0 build of ray tracing control flow tests
The build fails due to -Werror,-Wunused-const-variable warning.
the PUSH_CONSTANTS_COUNT constant is used only in debug builds.
Components: Vulkan
Change-Id: I6ee3920619109024cb9ba29c0d22722d0069d91d
Slawomir Cygan [Mon, 7 Dec 2020 14:31:05 +0000 (15:31 +0100)]
Remove merge conflict markers from mandatory_features.txt
Also fixes same spacing.
Components: Vulkan, Framework
Change-Id: Ia1822f58ed05dc6348b72f2b0711fd60b62beedf
Jan Mroczkowski [Thu, 12 Mar 2020 12:33:50 +0000 (13:33 +0100)]
Vulkan Portability support
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: I90aac5ec24b4a47063d5d0faaa9f68edd65f1d58
Piotr Byszewski [Mon, 23 Nov 2020 09:48:06 +0000 (10:48 +0100)]
Disable conflicting fragment shading rate features
Features of VK_EXT_fragment_density_map and VK_NV_shading_rate_image cannot
be enabled at the same time as features of VK_KHR_fragment_shading_rate.
Instead if the VK_KHR_fragment_shading_rate features are enabled then
disable the VK_EXT_fragment_density_map and VK_NV_shading_rate_image features
and use a temporary device with them enabled for testing.
Components: Vulkan, Framework
VK-GL-CTS Issue: 2665
Affects: *
Change-Id: I544c021ed963bd453635283282a6a272383e448e
Tony Zlatinski [Tue, 1 Dec 2020 23:54:21 +0000 (17:54 -0600)]
Select SPIR-V for the robustness' compute shaders
Use SPIR-V v1.3 instead of SPIR-V v1.4 ShaderBuildOptions
for the compute shaders of the robustness tests using 64-bit formats.
Apparently, SPIR-V v1.4 is not required for those shaders.
Otherwise, the SPIR-V validation fails on Vulkan v1.1 devices
such as Android.
For tests that do not require/test 64-bit formats,
fall back to using SPIR-V v1.0.
Components: Vulkan
VK-GL-CTS issue: 2679
Affects:
dEQP-VK.robustness.*.comp
Change-Id: I6054682e7dbc4460595a8264338a04ee36f9e3d1
(cherry picked from commit
9f0afc24c74fa608e1993f7ec342053949f152d8)
Ricardo Garcia [Thu, 26 Nov 2020 16:35:07 +0000 (17:35 +0100)]
Fix buffer offsets in push descriptor tests
This commit fixes push descriptor tests that were updating storage
buffer descriptors using offset values that may not have been multiples
of minStorageBufferOffsetAlignment.
In addition, it fixes image layout problems with some of these tests
that were causing validation errors.
Finally, it introduces the de::gcd and de::lcm functions to calculate
the greatest common divisor and least common multiple of two numbers.
These are useful when calculating alignments that need to meet several
base alignment requirements.
Affected tests:
dEQP-VK.pipeline.push_descriptor.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2661
Change-Id: I36bcaf6114994ec5b42bcd5acc11340f079823dd
(cherry picked from commit
0f25191c03f324762437615d961bad978b9d5e15)
Alexander Galazin [Mon, 7 Dec 2020 13:47:52 +0000 (14:47 +0100)]
Update Vulkan headers
Components: Vulkan
Change-Id: Ic1bb4c95c106a29b966997bfcd8b6d7054983ecf
Tony Zlatinski [Tue, 1 Dec 2020 23:54:21 +0000 (17:54 -0600)]
Select SPIR-V for the robustness' compute shaders
Use SPIR-V v1.3 instead of SPIR-V v1.4 ShaderBuildOptions
for the compute shaders of the robustness tests using 64-bit formats.
Apparently, SPIR-V v1.4 is not required for those shaders.
Otherwise, the SPIR-V validation fails on Vulkan v1.1 devices
such as Android.
For tests that do not require/test 64-bit formats,
fall back to using SPIR-V v1.0.
Components: Vulkan
VK-GL-CTS issue: 2679
Affects:
dEQP-VK.robustness.*.comp
Change-Id: I6054682e7dbc4460595a8264338a04ee36f9e3d1
Ricardo Garcia [Thu, 26 Nov 2020 16:35:07 +0000 (17:35 +0100)]
Fix buffer offsets in push descriptor tests
This commit fixes push descriptor tests that were updating storage
buffer descriptors using offset values that may not have been multiples
of minStorageBufferOffsetAlignment.
In addition, it fixes image layout problems with some of these tests
that were causing validation errors.
Finally, it introduces the de::gcd and de::lcm functions to calculate
the greatest common divisor and least common multiple of two numbers.
These are useful when calculating alignments that need to meet several
base alignment requirements.
Affected tests:
dEQP-VK.pipeline.push_descriptor.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2661
Change-Id: I36bcaf6114994ec5b42bcd5acc11340f079823dd
Ricardo Garcia [Fri, 30 Oct 2020 14:04:56 +0000 (15:04 +0100)]
Destroy deferred ops before destroying devices
Many ray tracing tests were creating deferred operations with
vkCreateDeferredOperationKHR but not destroying them after being used. To fix
that, operations are created using the createDeferredOperationsKHR wrapper that
returns vk::Move objects.
Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*_dho*
dEQP-VK.ray_tracing_pipeline.build.cpuht_*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht.*
dEQP-VK.ray_query.acceleration_structures.*.cpu_built.*
dEQP-VK.ray_tracing_pipeline.*.cpu_built.*
Components: Vulkan
VK-GL-CTS issue: 2639
Change-Id: I0ce4e18548fdcf93e3363754c534b1dd6676aed9
(cherry picked from commit
75334af0029ec95fea2f7eaee2d79a07b5473a82)
Ricardo Garcia [Fri, 30 Oct 2020 14:04:56 +0000 (15:04 +0100)]
Destroy deferred ops before destroying devices
Many ray tracing tests were creating deferred operations with
vkCreateDeferredOperationKHR but not destroying them after being used. To fix
that, operations are created using the createDeferredOperationsKHR wrapper that
returns vk::Move objects.
Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*_dho*
dEQP-VK.ray_tracing_pipeline.build.cpuht_*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht.*
dEQP-VK.ray_query.acceleration_structures.*.cpu_built.*
dEQP-VK.ray_tracing_pipeline.*.cpu_built.*
Components: Vulkan
VK-GL-CTS issue: 2639
Change-Id: I0ce4e18548fdcf93e3363754c534b1dd6676aed9
Ilkka Saarelainen [Fri, 4 Dec 2020 12:39:38 +0000 (14:39 +0200)]
Fix slow run time of OpPhi wide test
dEQP-VK.spirv_assembly.instruction.compute.opphi.wide was using 1024
arguments for OpPhi SpirV instruction. This was causing very slow
run/compile time on some devices and therefore failing the test due to
timeout.
This CL halves the number of arguments given to the OpPhi instruction to
avoid timeouts.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.wide
VK-GL-CTS Issue: 2681
Components: Vulkan
Change-Id: Ice41e983b8da866916e07c1b52d7ccfd65001077
leiche02 [Wed, 11 Nov 2020 06:42:14 +0000 (14:42 +0800)]
Use shader to calculate sample point
The test's sampling point is taking from interpolated varying, the inaccuracy
of interpolation may cause wrong sampling, use gl_FragCoord in fragment
shader to calcuate sample point directly.
Component: OpenGL
Affected tests: KHR-GLES32.core.nearest_edge.offset_*
VK-GL-CTS issue: 2651
Change-Id: Ib91595ca07a2b146059c51f2d68ebf086c10553c
(cherry picked from commit
3d55f6adbf38215ce3c4e2986a2a2e8a91086f08)
Alexander Galazin [Thu, 3 Dec 2020 19:54:00 +0000 (20:54 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: Ibc55de32e46466b701b8999a0dad6da6588dc21d
Eric Werness [Wed, 25 Nov 2020 22:46:16 +0000 (14:46 -0800)]
Only use AABBs for the shader record tests
AABBS_AND_TRIANGLES uses the instanceSBTOffset to pick between shader hit
groups, but the test only defines one shader hit group. Just using AABBs
still exercises all shaders but fits the shader groups defined by the test.
Affects: dEQP-VK.ray_tracing_pipeline.misc.shaderRecord*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: Ic718c22e9ef4176763179b084019a3a83ed7c584
(cherry picked from commit
11b863aca0d3eb09a1d9ebd8e91c3c310578220e)
Ricardo Garcia [Fri, 30 Oct 2020 15:10:43 +0000 (16:10 +0100)]
Enable VK_KHR_ray_tracing_pipeline only if needed
This commit makes the default test device not enable the
VK_KHR_pipeline_library extension by default, which can potentially affect all
ray tracing and ray query tests.
Ray tracing pipeline tests are modified to use a custom device with the needed
features enabled, including the VK_KHR_pipeline_library extension. The tests
also check the extension is supported if VK_KHR_ray_tracing_pipeline is
supported, failing the test early if not.
Modified tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*
Affected tests:
dEQP-VK.ray_tracing_pipeline.*
dEQP-VK.ray_query.*
Components: Vulkan
VK-GL-CTS issue: 2592
Change-Id: I1494ab3ce28fdce892f0444cba9ca538caec1208
(cherry picked from commit
e5735c76c5eb51133a6c3b7763f8556cd868bfbb)
Eric Werness [Thu, 19 Nov 2020 01:16:23 +0000 (17:16 -0800)]
Simplify geometry to reduce AABB precision issues
AABBs are allowed to hit conservatively for precision reasons, which was
causing failures in some cases. Extremely simplify the geometry to make
it very unlikely that we'll get false hits.
Affects:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: Ie8a9ffde2761354a395c6367e6bca8145a22bbf3
(cherry picked from commit
756a198f6f3f5aa63a8b10c3c5fe4cf60fb3b2bb)
Eric Werness [Wed, 2 Dec 2020 02:11:40 +0000 (18:11 -0800)]
Shorten the ray so that it can't hit other cells
Affects: dEQP-VK.ray_tracing_pipeline.misc.cullmask*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: I50ecdaa97974074f8d17d7c37a6441feaf467730
(cherry picked from commit
1b87b2975e0e0a088e19b258e4ebc19b8505726e)
Alexander Galazin [Thu, 3 Dec 2020 18:56:00 +0000 (19:56 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gk-cts/vulkan-cts-1.2.5
Change-Id: I9886526c34c8db829eb6029253319d70ecc9751a
Eric Werness [Wed, 2 Dec 2020 02:11:40 +0000 (18:11 -0800)]
Shorten the ray so that it can't hit other cells
Affects: dEQP-VK.ray_tracing_pipeline.misc.cullmask*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: I50ecdaa97974074f8d17d7c37a6441feaf467730
Eric Werness [Wed, 25 Nov 2020 22:46:16 +0000 (14:46 -0800)]
Only use AABBs for the shader record tests
AABBS_AND_TRIANGLES uses the instanceSBTOffset to pick between shader hit
groups, but the test only defines one shader hit group. Just using AABBs
still exercises all shaders but fits the shader groups defined by the test.
Affects: dEQP-VK.ray_tracing_pipeline.misc.shaderRecord*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: Ic718c22e9ef4176763179b084019a3a83ed7c584
Ricardo Garcia [Fri, 30 Oct 2020 15:10:43 +0000 (16:10 +0100)]
Enable VK_KHR_ray_tracing_pipeline only if needed
This commit makes the default test device not enable the
VK_KHR_pipeline_library extension by default, which can potentially affect all
ray tracing and ray query tests.
Ray tracing pipeline tests are modified to use a custom device with the needed
features enabled, including the VK_KHR_pipeline_library extension. The tests
also check the extension is supported if VK_KHR_ray_tracing_pipeline is
supported, failing the test early if not.
Modified tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*
Affected tests:
dEQP-VK.ray_tracing_pipeline.*
dEQP-VK.ray_query.*
Components: Vulkan
VK-GL-CTS issue: 2592
Change-Id: I1494ab3ce28fdce892f0444cba9ca538caec1208
Eric Werness [Thu, 19 Nov 2020 01:16:23 +0000 (17:16 -0800)]
Simplify geometry to reduce AABB precision issues
AABBs are allowed to hit conservatively for precision reasons, which was
causing failures in some cases. Extremely simplify the geometry to make
it very unlikely that we'll get false hits.
Affects:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: Ie8a9ffde2761354a395c6367e6bca8145a22bbf3
Alexander Galazin [Thu, 3 Dec 2020 18:19:54 +0000 (19:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: If5df84170f93fcf5c31f8bc44f559c5bc98b6e50
Michal Opalka [Mon, 30 Nov 2020 07:48:36 +0000 (08:48 +0100)]
Fix test using protected features without creating a device with them enabled
The vulkan device was created without protected memory extension,
while later the tests queried physical device if the feature is supported
and based on that created protected image.
Components: Vulkan
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
VK-GL-CTS Issue: 2675
Change-Id: I6d606fb34c89474b529c0f9e0e7a93202e801521
(cherry picked from commit
fc849a80c35d31f621c0dfee74395791ed5dec75)
Ricardo Garcia [Tue, 10 Nov 2020 13:01:45 +0000 (14:01 +0100)]
Test terminateInvocation with frag shader side effects
Adds tests that check fragment shader side effects, in the form of SSBO
writes, are not removed by optimizations done when the fragment is
discarded with terminateInvocation.
New tests:
dEQP-VK.rasterization.frag_side_effects.*.terminate_invocation
Components: Framework, Vulkan
VK-GL-CTS issue: 2336
Change-Id: I34c3eac815c7176f9420c2a4ccfc50f5bbd3a8a7
Alexander Galazin [Thu, 3 Dec 2020 17:26:51 +0000 (18:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Ie115d2e00cf468c6403fae07c9f77b466c3c4380
Michal Opalka [Mon, 30 Nov 2020 07:48:36 +0000 (08:48 +0100)]
Fix test using protected features without creating a device with them enabled
The vulkan device was created without protected memory extension,
while later the tests queried physical device if the feature is supported
and based on that created protected image.
Components: Vulkan
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
VK-GL-CTS Issue: 2675
Change-Id: I6d606fb34c89474b529c0f9e0e7a93202e801521
Alexander Galazin [Thu, 3 Dec 2020 16:40:41 +0000 (17:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I9855d3d8134ac73ea00b95adde9a66a37c0a03b3
Graeme Leese [Tue, 27 Oct 2020 13:06:45 +0000 (13:06 +0000)]
Fix image cube array tests support checks
The tests were interpreting *any* failure to compile programs as being
because image variables were not supported. This meant legitimate
failures were missed and that extra time was spent compiling shaders
before deciding the test was unsupported.
Components: OpenGL
VK-GL-CTS issue: 2647
Affects: KHR-GLES31.core.texture_cube_map_array.image_op_*
KHR-GLES32.core.texture_cube_map_array.image_op_*
KHR-GLESEXT.texture_cube_map_array.image_op_*
Change-Id: I35a265e3b1ce991eb522a7db23f3825e5384faea
leiche02 [Wed, 11 Nov 2020 06:42:14 +0000 (14:42 +0800)]
Use shader to calculate sample point
The test's sampling point is taking from interpolated varying, the inaccuracy
of interpolation may cause wrong sampling, use gl_FragCoord in fragment
shader to calcuate sample point directly.
Component: OpenGL
Affected tests: KHR-GLES32.core.nearest_edge.offset_*
VK-GL-CTS issue: 2651
Change-Id: Ib91595ca07a2b146059c51f2d68ebf086c10553c
Joshua Ashton [Wed, 15 Jul 2020 03:44:27 +0000 (04:44 +0100)]
Add tests for VK_EXT_4444_formats
Components: Vulkan
New tests:
dEQP-VK.*.a4b4g4r4*
dEQP-VK.*.a4r4g4b4*
Change-Id: I5d597a718246e4bc0af3c6acee1c0d3d0787997b
Ricardo Garcia [Fri, 27 Nov 2020 09:55:04 +0000 (10:55 +0100)]
Enable random writes for storage texel buffers
In the descriptor set random tests, enable random writes when the
descriptor type is a storage texel buffer.
In addition, this commit fixes a problem with storage image barriers.
Affected tests with random writes:
dEQP-VK.binding_model.descriptorset_random.*outimgtexlow*
dEQP-VK.binding_model.descriptorset_random.*lowimgsingletex*
dEQP-VK.binding_model.descriptorset_random.*storageimghigh*
Affected tests:
dEQP-VK.binding_model.descriptorset_random.*
VK-GL-CTS issue: 1973
Components: Vulkan
Change-Id: I5a407ebc239cca48cee56c5901f45bd4118b3c3b
Ricardo Garcia [Wed, 18 Nov 2020 15:12:52 +0000 (16:12 +0100)]
Test reading primitive id from frag shader after tessellation
Add a test that tries to read the primitive id from the fragment shader
in a pipeline that has tessellation shaders but no geometry shaders.
The new test has been grouped together with the existing Amber vertex
only test in a single group containing miscellaneous pipeline tests.
New test:
dEQP-VK.pipeline.misc.primitive_id_from_tess
Renamed test:
-dEQP-VK.pipeline.vertex_only.position_to_ssbo
+dEQP-VK.pipeline.misc.position_to_ssbo
Components: Vulkan
VK-GL-CTS issue: 2654
Change-Id: Ied0fef78916ee83960c689bfd2a7e48dc4b4cfd0
Paul Thomson [Fri, 27 Nov 2020 11:29:42 +0000 (11:29 +0000)]
Add a batch of GraphicsFuzz tests
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.spv-stable-bifurcation-Os-mutate-var-vector-shuffle
dEQP-VK.graphicsfuzz.spv-stable-collatz-O-mutate-composite-construct-extract
dEQP-VK.graphicsfuzz.spv-stable-colorgrid-modulo-O-move-block-down
dEQP-VK.graphicsfuzz.spv-stable-maze-flatten-copy-composite
dEQP-VK.graphicsfuzz.spv-stable-mergesort-O-prop-up-mutate-var
dEQP-VK.graphicsfuzz.spv-stable-mergesort-flatten-selection-dead-continues
dEQP-VK.graphicsfuzz.spv-stable-mergesort-func-inline-mutate-var
dEQP-VK.graphicsfuzz.spv-stable-orbit-O-mutate-variable
dEQP-VK.graphicsfuzz.spv-stable-orbit-Os-access-chain-mutate-pointer
dEQP-VK.graphicsfuzz.spv-stable-pillars-O-op-select-to-op-phi
dEQP-VK.graphicsfuzz.spv-stable-quicksort-mat-func-param
dEQP-VK.graphicsfuzz.spv-stable-rects-Os-mutate-var-push-through-var
Change-Id: I3399fd06647e764e1e1851db26d7c361e9bfa632
Antto Mäkinen [Fri, 20 Nov 2020 15:48:57 +0000 (17:48 +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-access-array-dot
dEQP-VK.graphicsfuzz.cov-apfloat-negative-step-func
dEQP-VK.graphicsfuzz.cov-apfloat-undefined-matrix-mul
dEQP-VK.graphicsfuzz.cov-const-folding-bitfieldinsert-div-one
dEQP-VK.graphicsfuzz.cov-const-folding-mod-one-one-lte
dEQP-VK.graphicsfuzz.cov-constants-combine-add-sub
dEQP-VK.graphicsfuzz.cov-dag-combiner-glf_color
dEQP-VK.graphicsfuzz.cov-dag-combiner-loop-bitfieldreverse
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-determinant
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-increase-negative
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-neg-func-arg
dEQP-VK.graphicsfuzz.cov-inst-combine-and-or-xor-pack-unpack
dEQP-VK.graphicsfuzz.cov-inst-combine-and-or-xor-switch
dEQP-VK.graphicsfuzz.cov-inst-combine-and-or-xor-xor-add
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-combine-select-uaddcarry
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-isnan
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-ldexp
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-ternary-vector-access
dEQP-VK.graphicsfuzz.cov-inst-combine-shifts-bitfield-bitcount
dEQP-VK.graphicsfuzz.cov-inst-combine-shifts-mix-mix-clamp
dEQP-VK.graphicsfuzz.cov-instr-info-det-mat-min
dEQP-VK.graphicsfuzz.cov-instructions-for-if-less-than-equal
dEQP-VK.graphicsfuzz.cov-machine-scheduler-for-if-pow
dEQP-VK.graphicsfuzz.cov-register-coalescer-live-intervals-target-instr-info-for-discard-for-discard
dEQP-VK.graphicsfuzz.cov-scaled-number-nested-loops-array-access
dEQP-VK.graphicsfuzz.cov-simplify-for-bitwise-condition
dEQP-VK.graphicsfuzz.cov-simplify-right-shift-greater-than-zero
dEQP-VK.graphicsfuzz.cov-tail-duplicator-for-for-for
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-machine-value-type-uint-to-float
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-selection-dag-struct-array-clamp-index
Change-Id: Idde9e994c12f93e9ede51f23fe3a75592d81c528
Matthew Netsch [Wed, 2 Dec 2020 20:41:16 +0000 (15:41 -0500)]
Fixes descriptor indexing tests cache issue
Tests were not invalidating the results
buffer data before verifying.
Components: Vulkan
VK-GL-CTS Issue: 2682
Affects:
dEQP-VK.descriptor_indexing.*
Change-Id: Ia2afa6697d12fd3f4ebc8ef29ae01d166f290a7f
Liam Middlebrook [Sun, 29 Nov 2020 22:24:05 +0000 (14:24 -0800)]
Add memory include in vktRayTracingMiscTests.cpp
std::unique_ptr is defined in the `memory` header, so that header must
be included in order to use it. This resolves build failures which I was
hitting with my local copy of GCC.
Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.*
Components: Vulkan
VK-GL-CTS issue: 2674
Change-Id: Ibd2c143711e60c6c60477ab39595a5c4429277bb
Piers Daniell [Wed, 25 Nov 2020 21:53:32 +0000 (14:53 -0700)]
Update AccessInstance::verifyResult() to support 64-bit types
When 64-bit support was added to the
dEQP-VK.robustness.buffer_access.through_pointers.* tests in
https://gerrit.khronos.org/#/c/5835/ the AccessInstance::verifyResult()
function was not updated to take the new 8 byte element sizes.
It assumed all accesses were in units of 4 bytes, which doesn't
work for 64-bit types which have accesses in units of 8 bytes.
Affects:
dEQP-VK.robustness.buffer_access.through_pointers.*
Components: Vulkan
VK-GL-CTS issue: 2670
Change-Id: I4656376f127bc4cf6eeaa80ed71aaa3f265e0aac
(cherry picked from commit
96ce07e58b7a6ec199c9e4b01de43f5b610a5461)
Piers Daniell [Wed, 25 Nov 2020 21:53:32 +0000 (14:53 -0700)]
Update AccessInstance::verifyResult() to support 64-bit types
When 64-bit support was added to the
dEQP-VK.robustness.buffer_access.through_pointers.* tests in
https://gerrit.khronos.org/#/c/5835/ the AccessInstance::verifyResult()
function was not updated to take the new 8 byte element sizes.
It assumed all accesses were in units of 4 bytes, which doesn't
work for 64-bit types which have accesses in units of 8 bytes.
Affects:
dEQP-VK.robustness.buffer_access.through_pointers.*
Components: Vulkan
VK-GL-CTS issue: 2670
Change-Id: I4656376f127bc4cf6eeaa80ed71aaa3f265e0aac
Alexander Galazin [Thu, 26 Nov 2020 19:26:55 +0000 (20:26 +0100)]
Allow Vulkan CTS 1.2.5.0
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: Ifc3feae574078230200538b0f81b0a91b4614cad
Greg Grebe [Tue, 10 Mar 2020 17:29:46 +0000 (13:29 -0400)]
Add dEQP-VK.pipeline.creation_cache_control.*
Add new test groups:
dEQP-VK.pipeline.creation_cache_control.graphics_pipelines.*
dEQP-VK.pipeline.creation_cache_control.compute_pipelines.*
Add new tests:
*.single_pipeline_no_compile
*.batch_pipelines_early_return
*.duplicate_single_recreate_explicit_caching
*.duplicate_single_recreate_no_caching
*.duplicate_single_recreate_derivative
*.duplicate_batch_pipelines_explicit_cache
*.duplicate_batch_pipelines_no_cache
*.duplicate_batch_pipelines_derivative_index
VK_EXT_pipeline_creation_cache_control adds the ability for
vkCreate*Pipeline calls to fail rather compile when requested by the
application. These tests use both single and batch pipeline creation
with the most common methods of caching: explicit caching, no cache/
implicit caching, and pipeline derivatives.
This ensures that drivers are responsive to the needs of an application
using this extension by not only checking the output but the time taken
to execute the vkCreate*Pipeline call.
The tests explicitly fail in the following cases:
- Any result other than SUCCESS or PIPELINE_COMPILE_REQUIRED.
- An invalid pipeline handle returned when created without
FAIL_ON_PIPELINE_COMPILE_REQUIRED.
- A valid pipeline is returned sequentially following a failed
pipeline with the flag EARLY_RETURN_ON_FAILURE set during batch
pipeline creation.
Failures due to timing will only be QUALITY warnings.
The shaders used contain random constant values baked into the GLSL in
an attempt to force the need to compile pipelines through fuzzing. Any
unexpectedly successful pipeline creations (such as due to accidental
cache hits) will raise a COMPATIBILITY warning.
Affects no existing tests.
Components: Framework, Vulkan
Vulkan issue: 2013
Change-Id: I90dec48293a5c8ece66fc871a13c6d6f0e3002ff
(cherry picked from commit
26cb99a1eb50332a93bc329a4d34a5d9239a5667)
Joshua Ashton [Wed, 15 Jul 2020 03:34:34 +0000 (04:34 +0100)]
Add support for ABGR texture formats
Needed for VK_EXT_4444_formats
Components: Vulkan Framework
Affects: *
Change-Id: I1f4a4e555d69da3d14df2ce34ad46526cb570911
Alexander Galazin [Thu, 26 Nov 2020 17:52:12 +0000 (18:52 +0100)]
Disable VK_KHR_fragment_shading_rate
This is a temporarrry solution to the issue that
this extension brings in features that are disallowed
in combination with certain feeeatures exposed by
VK_NV_shading_rate_image and VK_EXT_fragment_density_map.
A complete fix will come in CL 6376.
Compoenents: Vulkan
VK-GL-CTS issue: 2665
Change-Id: I62d1ee0e9760ac6d7911d435b2811d16d1adf342
Alexander Galazin [Thu, 26 Nov 2020 19:06:47 +0000 (20:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Change-Id: Ic297aa295cadb7a95eae99aede64da5788abcdcd
Alexander Galazin [Thu, 26 Nov 2020 18:29:20 +0000 (19:29 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Ia429349d7b0b35eb29243833dd471406bd7adc87