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
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
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
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
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
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
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 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
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
Alexander Galazin [Thu, 26 Nov 2020 17:42:40 +0000 (18:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I66f05ed7be1361806de4ea2d8e17ea6472bb93cb
Ricardo Garcia [Thu, 22 Oct 2020 07:36:48 +0000 (09:36 +0200)]
Force thread count in deferred host operations
Several ray tracing tests use deferred host operations with a non-zero number
of threads to check the implementation works as expected. Thread counts are
usually 1, 2, 3, 4, 8 or "max". "max" thread counts are not unlimited. They use
the implementation-defined concurrency limit for a given operation, capped to
at most 256 threads.
In other cases, the implementation-defined concurrency limit for a given
operation was checked to be at least as big as the number of target threads for
the test. Otherwise, the test performed a late-exit with a "not supported"
result, which is unusual.
Tests with 1 thread were always supposed to run because the implementation can
only return zero when the operation has already completed.
Tests with the "max" limit would always run as described above.
This commit removes the concurrency limit check for intermediate values of
thread counts. The rationale is that, no matter if the implementation supports
that level of concurrency for a given operation or not, the spec allows us to
create any number of threads and make them join the deferred operation:
> Applications can join any number of threads to the deferred operation and
> expect it to eventually complete, though excessive joins may return
> VK_THREAD_DONE_KHR immediately, performing no useful work.
This change allows every test to always run, increases coverage and avoids the
late exit with "not supported" status.
Affected tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.host_threading.*
dEQP-VK.ray_query.acceleration_structures.host_threading.*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht*
dEQP-VK.ray_tracing_pipeline.build.*
dEQP-VK.ray_tracing_pipeline.pipeline_library.*
Components: Vulkan
VK-GL-CTS issue: 2585
Change-Id: I9b4fd8d06793b0916e61f9e3c2fd8f416d4735f1
Eric Werness [Tue, 24 Nov 2020 20:40:44 +0000 (12:40 -0800)]
Zero out the hit stride for miss SBT tests
The test was relying on a zero sbtRecordStride to not index the hit
groups, but that's only multiplied by the geometryIndex, not the
instanceShaderBindingTableRecordOffset, causing the hit group to
index out of bounds on the miss test
Affects:
dEQP-VK.ray_tracing_pipeline.shader_binding_table.*miss*
Components: Vulkan
VK-GL-CTS issue: 2444
Change-Id: I01868190a4901f87a5c536b70ae9ee0989280b47
Ari Suonpaa [Tue, 24 Nov 2020 12:24:43 +0000 (14:24 +0200)]
Fix validation errors in terminate invocation tests
There were some validation errors in terminate invocation tests.
The problem was mainly about signedness mismatch between buffer
data format and what was used in SPIR-V shaders. Also some of
the tests needed fragmentStoresAndAtomics feature requirement.
VK-GL-CTS Issue: 2667
Affects:
dEQP-VK.spirv_assembly.instruction.terminate_invocation.*
Components: Vulkan
Change-Id: I3948d0b771336731e88d9583274812aa67fc0326
Tomasz Owczarek [Mon, 3 Aug 2020 15:36:46 +0000 (16:36 +0100)]
Add sliced 3D compressed texture test
New tests:
dEQP-VK.texture.compressed_3D.*
VK-GL-CTS issue: 2567
Components: Vulkan
Change-Id: Iaad7ba69361cbfa8ef46a907ce36646450e7e6b7
Alexander Galazin [Thu, 26 Nov 2020 17:09:51 +0000 (18:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I3966e7e1ab45fa815f85def0edaab713e6e16f80
Ricardo Garcia [Thu, 30 Jan 2020 10:39:29 +0000 (11:39 +0100)]
Loosen basic subgroup elect test vertex checks
This commit takes into account any shader in the vertex pipeline may run
multiple times per vertex when checking results in the basic subgroup
elect test.
In addition, it contains a few indentation fixes as well as fixes for
several validation errors in the whole test group.
Affected tests:
dEQP-VK.subgroups.basic.*
Components: Vulkan
VK-GL-CTS issue: 2162
Change-Id: Ib0aaf929bca5ce4939a3e2fd98a69a0812f1aa0b
Samuel Iglesias Gonsálvez [Thu, 25 Jul 2019 13:34:26 +0000 (15:34 +0200)]
Add tests for VK_EXT_subgroup_size_control
For compute and graphics pipelines:
* Check the required subgroup size set by the tests is honored by the
driver (including for full subgroups and allow varying cases for
computer shaders).
* Check that enabling allow varying subgroup size reports a subgroup
size that falls within the limits of the driver.
* For compute pipeline, check that require full subgroups works as
expected.
On top of that, added requiredSubgroupSize case for subgroup's compute
shader tests that check all possible required subgroup sizes announced
by the driver.
Also there is a test that checks subgroup size control limits sanity.
Affected tests:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 1864
Change-Id: Ia48deb9318420889754bd97545045f85b3c6fed7
Piers Daniell [Wed, 25 Nov 2020 20:13:57 +0000 (13:13 -0700)]
Initialize resourceImgLayout before use for all code paths
Without this fix when updateDescriptorSet() is called in
BarrierTestInstance::iterate() debug builds for Vulkan CTS will
complain that resourceImgLayout is used without being initialized.
Affects:
dEQP-VK.ray_tracing_pipeline.barrier.*
Components: Vulkan
VK-GL-CTS issue: 2669
Change-Id: If320ac561cf278a9697ca33d302a1130db29fdb7
Marcin Kańtoch [Tue, 17 Nov 2020 10:23:15 +0000 (11:23 +0100)]
ExtensionUse variable not set for 1D and 3D images
Fix for KHR_copy_commands2 tests do not set extensionUse
variable for 1D and 3D images.
Component: Vulkan
VK-GL-CTS Issue: 2660
Affected tests:
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.*.1d.*
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.*.3d.*
Change-Id: I5dccb2ea016853fd9dc29b30cdcf40e2dc18e7c1
Alexander Galazin [Thu, 26 Nov 2020 14:08:17 +0000 (15:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Change-Id: Icbe4097c08aebcad8ac5e401faad4b014aa4a820
Alexander Galazin [Thu, 26 Nov 2020 13:34:12 +0000 (14:34 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I2808d8556ad4cef552466af67361d30722fd9b91
Ricardo Garcia [Tue, 10 Nov 2020 11:45:36 +0000 (12:45 +0100)]
Test vkCmdBindVertexBuffers2EXT with size and offset
Test both the size and offset parameters in the new vertex binding
function are used properly.
The new tests create vertex buffers which have the proper vertex data in
the middle of them, with wrong data before and after them. If any
implementation were to read data out of the precise range, the new tests
should not pass.
New tests:
dEQP-VK.pipeline.extended_dynamic_state.*.stride_with_offset_and_padding
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 2646
Change-Id: I97f385934fcd41e19b2448a54e4f28f8a8a9c24c
Ricardo Garcia [Wed, 18 Nov 2020 15:04:47 +0000 (16:04 +0100)]
Test SPIR-V switch case jumping to the merge block
Add new case that tests OpSwitch containing a case that jumps directly
to the merge block.
New test:
dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.switch-case-to-merge-block
Components: Vulkan
VK-GL-CTS issue: 2657
Change-Id: Ibfabc4341dd35b96795aac8cf9bd8ce5fa61ebe6
Alexander Galazin [Thu, 26 Nov 2020 12:52:17 +0000 (13:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Idb3171db18746b59d7c91297bd6ab3c00be455ae
Alexander Galazin [Thu, 26 Nov 2020 12:03:17 +0000 (13:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I2cdeeb0ab92e4533ee38ef0d2c39a2845b03379a
Matthew Netsch [Wed, 18 Nov 2020 20:42:16 +0000 (15:42 -0500)]
Fixes texture filter cubic mipmap tests
Tests using wrong miplevel to verify
Components: Vulkan
VK-GL-CTS Issue: 2662
Affects:
dEQP-VK.texture.filtering.*.cubic
Change-Id: I65ca120bdcaf460ce4addf15bc5ed15bbc3bc7b4
Andrew Fobel [Wed, 28 Oct 2020 19:41:58 +0000 (15:41 -0400)]
Fix descriptorCount for YCbCr-related tests
Certain YCbCr tests did not behave consistently with the Vulkan spec
when creating descriptor pools.
Tests now properly query combinedImageSamplerDescriptorCount to
correctly set pool size in the event of multiplane images.
Affects:
dEQP-VK.ycbcr.filtering.*
Components: Vulkan
VK-GL-CTS Issue: 2386
Change-Id: Idd700bee41eec7546f903326c31fbc928c7e7ecb
Graeme Leese [Mon, 16 Nov 2020 11:15:01 +0000 (11:15 +0000)]
Fixes for image format properties tests
* Non-chroma-subsampled formats are allowed to support cosited chroma.
(In fact, until a recent spec clarification it was required).
* Apply checks of YCbCr properties to all formats. Any format can be
used with YCbCr, so they should all be subject to the same checks.
(This is what covered up the previous issue).
* Only ban non-YCbCr usage for YCbCr formats that require a
SamplerYCbCrConversion object. There were a few odd formats added
with that extension for which this is not required.
Components: Vulkan
VK-GL-CTS issue: 2624
Affects: dEQP-VK.api.info.format_properties.*
Change-Id: I17d1058e7a4cf1b1a17fb30d37fc0c4a9757c4d4
Karolina Palka [Mon, 21 Sep 2020 07:19:59 +0000 (09:19 +0200)]
Add tests for YCbCr chromaFilter linear filtering
New tests:
dEQP-VK.ycbcr.filtering.linear_sampler_with_chroma_linear_filtering_g8_b8_r8_3plane_420_unorm
dEQP-VK.ycbcr.filtering.linear_sampler_with_chroma_linear_filtering_g8_b8r8_2plane_420_unorm
Components: Vulkan
VK-GL-CTS issue: 2239
Change-Id: I43c83ce3401e35ffbec9200b18ae112b491b4c6c
Graeme Leese [Wed, 29 Jul 2020 10:40:01 +0000 (11:40 +0100)]
Add ArrayStride decorations in TerminateInvocation tests
The tests are using OpPtrAccessChain which requires types decorated with
ArrayStride.
Components: Vulkan
VK-GL-CTS issue: 2512
Affects:
dEQP-VK.spirv_assembly.instruction.terminate_invocation.*.no_out_of_bounds_*
Change-Id: I6d1b4a5a9d5207ed00cbddf8deb5a8f52cc909ff
(cherry picked from commit
98563858e62d73f675ad7c6849407c9f455c181e)
Boris Zanin [Tue, 28 Apr 2020 07:39:34 +0000 (09:39 +0200)]
Add ray tracing extensions to list of known extensions
Adds following extensions to a list of enabled Khronos extensions:
* VK_KHR_ray_tracing_pipeline
* VK_KHR_ray_query
* VK_KHR_acceleration_structure
* VK_KHR_pipeline_library
* VK_KHR_deferred_host_operations
Affected tests:
* dEQP-VK.info.device_extensions
Components: Framework, Vulkan
VK-GL-CTS issue: 2143
Change-Id: Ib008304c210ade78569a9c2c27ce61c3aefa0df4
Alexander Galazin [Tue, 24 Nov 2020 12:36:56 +0000 (13:36 +0100)]
Merge vk-gl-cts/vk_khr_ray_tracing into vk-gl-cts/master
Change-Id: I49438e55593ce166519553b90b55ecaf7ec57063
Alexander Galazin [Tue, 24 Nov 2020 07:56:48 +0000 (08:56 +0100)]
Update glslang, SPIR-V headers, tools
Components: Framework
Change-Id: Ic1f961bdcc133c5222ace8e004c11fe706eef486
Arkadiusz Sarwa [Wed, 8 Jul 2020 08:55:49 +0000 (10:55 +0200)]
Add sparse tests shader_image_atomic_int64
Components: Vulkan, Framework
VK-GL-CTS issue: 2392
New Tests:
dEQP-VK.sparse_resources.*r64*
Affects:
dEQP-VK.sparse_resources.*
Change-Id: I550b52d36cb435ac955dc72e1accd0dcb6e5a125
(cherry picked from commit
4b8977bef3075f62d3898510d24c6540146f2eff)