Alexander Galazin [Fri, 9 Jul 2021 11:23:57 +0000 (13:23 +0200)]
Use [u]int64_t in the framework
This change replaces deUint64/deInt64 with uint64_t/int64_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I76b24fbfadbd3fb31c9a20b172c021e0305290c2
Graeme Leese [Tue, 6 Jul 2021 13:12:43 +0000 (14:12 +0100)]
Extend image tests to support formats with no formats
Unless the test actually needs a SPIR-V format token, allow testing of
Vulkan formats for which there is no corresponding SPIR-V token. At the
moment this functionality is not used, but tests will soon be added that
exercise it.
Components: Framework, Vulkan
Affects (trivially): dEQP-VK.image.*
Change-Id: I11e16b6951ca40444131fa1e8d5e7bce6b075f85
Graeme Leese [Tue, 6 Jul 2021 14:28:17 +0000 (15:28 +0100)]
Define a framework function for getting SPIR-V format tokens
These are used in a couple of different tests, so it doesn't make sense
to define the format tokens in two places.
Components: Framework, Vulkan
Affects (trivially): dEQP-VK.image.*
Change-Id: Icffd8ac4b0d78e5dab076780e0221af3f358d74c
Piotr Byszewski [Thu, 11 Mar 2021 14:00:38 +0000 (15:00 +0100)]
Test blitting from compressed formats
This change extends existing tests to also test blitting of BC*,
ETC and EAC compressed formats onto all compatible uncompressed
formats.
Functionality from PipelineImageUtil is reused in blit tests
to generate random compressed data that is also stored in
uncompressed version. Compressed data is used to do the blit
on GPU while uncompressed version is used for verification on CPU.
VK-GL-CTS issue: 2366
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.*
Change-Id: Ifab885dc09b2d663d95b49e25458873c2eb0b0c4
Samuel Iglesias Gonsálvez [Wed, 19 May 2021 15:33:01 +0000 (17:33 +0200)]
Add test of vkCmdCopyImage with both layers and mipmaps
Components: Vulkan
VK-GL-CTS issue: 2983
Added:
dEQP-VK.api.copy_and_blit.*.image_to_image.array.array_to_array_whole_mipmap*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I1f949e6065a125ffc2703abc2667e04e7df465a9
Ricardo Garcia [Fri, 2 Jul 2021 10:56:47 +0000 (12:56 +0200)]
Test dynamic topology with tessellation shaders
Add new test variants to the extended dynamic state tests to check using
dynamic topology with tessellation shaders works as expected.
New tests:
dEQP-VK.pipeline.extended_dynamic_state.*topology_patch*
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 2965
Change-Id: I40a3928e986b83c5a22c3d36431b5d272aa8617e
Graeme Leese [Tue, 6 Jul 2021 14:20:18 +0000 (15:20 +0100)]
Remove extended image format capabilities from more tests
The extended storage formats capability is mandatory, so simplify the
code by using ti all the time, instead of trying to determine when it is
required.
Also, change the method of determining when 64 bit support is required
to be consistent with the image.extend_operands_spirv1p4 tests.
Components: Framework, Vulkan
Affects: dEQP-VK.image.mismatched_write_op.*
Change-Id: Ia9cc474977e71a8682c886f2f6cd852be38f06c4
Graeme Leese [Tue, 6 Jul 2021 13:59:13 +0000 (14:59 +0100)]
Simplify image extend operand tests for extended formats
It is always valid to use the StorageImageExtendedFormats capability in
Vulkan, so simplify the tests by using it unconditionally, rather than
tracking when it would need to be turned on.
Components: Vulkan
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: I5f0cc3c89f392965f72b07a79846000abb4bc5b1
Alexander Galazin [Fri, 9 Jul 2021 11:21:21 +0000 (13:21 +0200)]
Use [u]int16_t in the framework
This change replaces deUint16/deInt16 with uint16_t/int16_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I96948614f5cab64fff5fd65a7879660dfb7365d6
Alexander Galazin [Fri, 9 Jul 2021 11:17:38 +0000 (13:17 +0200)]
Use [u]int8_t in the framework
This change replaces deUint8/deInt8 with uint8_t/int8_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I5cadb68a7f34f054bdb76559ad393234c7d8c22a
Alexander Galazin [Thu, 8 Jul 2021 07:39:25 +0000 (09:39 +0200)]
Use [u]int32_t in the framework
This change replaces deUint32/deInt32 with uint32_t/int32_t
in the framework files
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS issue: 2963
Change-Id: I05be456ba7f1e6bf33990b971e56e21d2123b8e8
Alexander Galazin [Thu, 8 Jul 2021 08:36:16 +0000 (10:36 +0200)]
Require to enable implicit layers
Components: Vulkan
Affects: none
Vulkan issue: 2517
Change-Id: I11beee411ecb11c0d9ee140103a80c4ba7a39966
James Jones [Wed, 7 Jul 2021 20:59:12 +0000 (13:59 -0700)]
Fix FreeBSD build of VK_EXT_physical_device_drm tests
Linux defines the major() and minor() macros in
the sys/sysmacros.h header, but FreeBSD does not
have this header and instead defines them in
sys/types.h.
Components: Vulkan
Affects: dEQP-VK.api.device_drm_properties.*
Change-Id: I0bed149d24241e152437f530f5eb137738c46122
Alexander Galazin [Fri, 9 Jul 2021 09:47:09 +0000 (11:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Change-Id: I82b3571c78ae0430172528a3642a78869b1272a3
Alexander Galazin [Thu, 8 Jul 2021 06:55:33 +0000 (08:55 +0200)]
Deprecation notice for Vulkan CTS 1.2.3.x
Components: Vulkan
Change-Id: Ic85d29ecd9da9b8bd10cb8b79b0b936d1b01e189
Samuel Iglesias Gonsálvez [Thu, 24 Jun 2021 13:41:41 +0000 (15:41 +0200)]
Added tests to check ignored Vk*PipelineCreateInfo members
Components: Vulkan
VK-GL-CTS issue: 2980
Added tests:
dEQP-VK.api.pipeline.pipeline_invalid_pointers_unused_structs.*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ib36f9557a693f5481b73803a079a0d6acd7fb8fe
Ricardo Garcia [Thu, 8 Jul 2021 14:06:22 +0000 (16:06 +0200)]
Accept per-sample shading in multiple interpolation tests
When using the sample decoration in one of the fragment shader input
variables, some implementations may switch to per-sample shading mode,
producing results which are different from the per-fragment shading
results but which are allowed by the spec.
This commit enables sample shading with rate 1.0 as an alternative valid
result for multiple interpolation tests in implementations supporting
the sampleRateShading feature.
Affected tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2993
Change-Id: Id5d33df38b8c7179a0686b615578871aea8d8f22
Ricardo Garcia [Tue, 6 Jul 2021 15:55:14 +0000 (17:55 +0200)]
Single color buffer in multiple interpolation tests
The multiple interpolation tests were requiring 5 color attachments to
run the main fragment shader, when the spec requires implementations to
support at least 4.
Instead of checking the number of supported color attachments and
marking the tests as not supported in those cases, this commit changes
the main fragment shader to use only one color attachment and selects
one of the multiple interpolations using push constants.
The tests run a bit slower because they use multiple pipelines and
render passes in sequence instead of a single one, but they can be run
on any implementation.
Affected tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2986
Change-Id: I14f0aacd8e134bbcbf027f46ed6c18076bae09f5
James Fitzpatrick [Mon, 5 Jul 2021 12:43:10 +0000 (13:43 +0100)]
Set point size in subgroup size control tests
The subgroup size control tests were not correctly setting the point
size flag when initialising their std programs leading to point size
being uninitialised when shaderTessellationAndGeometryPointSize is
supported.
Affects:
dEQP-VK.subgroups.size_control.*
Components: Vulkan
VK-GL-CTS issue: 2988
Change-Id: I26fe7807093d12c69f0214be8c75bd9356cbce2a
Mohankumar Nekkarakalaya [Fri, 2 Jul 2021 17:48:19 +0000 (10:48 -0700)]
Fix Protected context constructor initialization list order
Changed the initilization order of the Protected Context constructor
members because m_allocator depends on m_device and m_deviceDriver.
This was causing the allocator to be created with an uninitialized
device.
Affected tests: dEQP-VK.protected_memory.*
Components: Vulkan
VK-GL-CTS issue: 2990
Change-Id: I921c18aec1c4ba1e8335f6e62b8df2e9cc5f2b39
James Fitzpatrick [Mon, 5 Jul 2021 13:57:30 +0000 (14:57 +0100)]
Update Imagination waiver #229
vulkan-cts-1.2.7.0 introduced new tests to validate that an
implementation clamps the most negative snorm values to -1.0 when
using linear filtering.
There is an existing waiver that covers some Imagination GPUs which do
not correctly round negative snorm values.
Update this waiver to apply to the newly added tests.
Affects
dEQP-VK.texture.conversion.snorm_clamp_linear.*
VK-GL-CTS issue: 229
VK-GL-CTS issue: 2989
Change-Id: Ic23f0a042f7489bcfd9fb838260e920f7d19f2c6
Alexander Galazin [Thu, 8 Jul 2021 19:39:44 +0000 (21:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I3fa99a90ec8944344b87a18c1ce2a01b93531c92
Alexander Galazin [Thu, 8 Jul 2021 19:01:12 +0000 (21:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I8cfb44dac31df4a46280d3c050e561c5f9c84538
Alexander Galazin [Thu, 8 Jul 2021 18:08:17 +0000 (20:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I41d5f00d649218e1418c13591f50885858624198
Alexander Galazin [Thu, 8 Jul 2021 17:09:43 +0000 (19:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I166b558acc75b2d9259620be5fb8ba89eaa10841
Alexander Galazin [Thu, 8 Jul 2021 16:27:33 +0000 (18:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Ic61d3218b466b8fd2c50127867a0cfdb77c07637
Alexander Galazin [Thu, 8 Jul 2021 15:37:58 +0000 (17:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I7c0abe6efdeab69b5928cc0e67a6365f15b1e5c5
Ricardo Garcia [Tue, 29 Jun 2021 14:41:59 +0000 (16:41 +0200)]
Check required extension core versions
This commit adds a new test that verifies the core version requirement
of each supported extension is met.
New tests:
dEQP-VK.api.info.extension_core_versions.extension_core_versions
VK-GL-CTS issue: 2960
Components: Vulkan
Change-Id: I6c2b70c3173285dc02e3e63742ebd14ae989b30a
Ricardo Garcia [Tue, 29 Jun 2021 11:33:59 +0000 (13:33 +0200)]
Test more dynamic vertex input variants
This commit reworks the vertex input part of the extended dynamic state
tests to make it more flexible and adds a couple more test variants
checking more complex setups of bindings and attributes.
In addition, it fixes logic op tests so the output image format matches
the output framgent shader interface.
Also, it fixes feature checks for dynamic vertex input, which were only
requiring VK_EXT_vertex_input_dynamic_state while also using features
from VK_EXT_extended_dynamic_state.
New tests:
dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input_no_dyn_stride
dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input_multiple_bindings
Removed test (due to VUID-vkCmdBindVertexBuffers2EXT-pStrides-03363):
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.vertex_input
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 2943
Change-Id: I7da95804ffa156c9b32e304457c40c99158ef63c
Ricardo Garcia [Wed, 16 Jun 2021 09:13:44 +0000 (11:13 +0200)]
Improve tests checking sign extension with images
Changes the existing sign extension operand tests:
* Operands are now checked independently on read and write operations.
* 64-bit formats are also checked when supported.
Parts of the framework have been modified to improve 64-bit format
support and to properly check 64-bit output pixel values.
This commit replaces the dEQP-VK.image.extend_operands_spirv1p4 test
group with new variants.
New tests and removed tests:
dEQP-VK.image.extend_operands_spirv1p4.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2885
Change-Id: Ia6b3c06b81347d7b007a1adb49a80b04dda5db83
Mohankumar Nekkarakalaya [Wed, 7 Jul 2021 23:00:03 +0000 (16:00 -0700)]
Call computeFixedPointError only for fixed point case
Calling computeFixedPointError for integer case (numAccurateBits=32)
is incorrect and causes crash.
Added assert to make sure numAccurateBits is in legal range.
Affected tests: dEQP-VK.sparse_resources.image_sparse_residency.*
Components: Vulkan
VK-GL-CTS issue: 2994
Change-Id: Ib357cbbbda0f7980ec2d7115053cabc6825a18d3
Alexander Galazin [Wed, 7 Jul 2021 09:13:05 +0000 (11:13 +0200)]
Exclude cov-function-with-nested-loops-called-from-nested-loops
This excludes dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
from the mustpass. The test was failing for one of the IHVs and was merged by mistake
Components: Vulkan
Affects:
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
Change-Id: I2547da87b0924b9e0661f6930504702f793c3b95
Iago Toral Quiroga [Tue, 6 Jul 2021 09:10:04 +0000 (11:10 +0200)]
Avoid overflowing arrays in GLSL atomic tests
Tilers may need to execute vertex pipeline stages more than once,
leading to additional shader invocations. This is a problem for atomic
tests, since their result depends on the number of shader invocations
executed.
This is already handled properly for vertex shaders but not for other
vertex pipeline stages.
Affected tests:
dEQP-VK.glsl.atomic_operations.*
Components: Vulkan
VK-GL-CTS issue: 2987
Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Iab08e3fb2ef40fc29dcf073817e5fd5dd49e7875
Alexander Galazin [Mon, 5 Jul 2021 14:18:18 +0000 (16:18 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I6000ca21cc306130dd546887e68d1cecd4dc0e1f
michal_jakubek [Wed, 12 May 2021 08:53:39 +0000 (10:53 +0200)]
Update bottom AS's addresses during top AS deserialization
SerialStorage class has been adorned with an additional constructor
which allows to serialize or deserialize a deep copy of top-level
acceleration structure, it means top-level AS together with bottom-level
acceleration structures that it owns. In other words it reconstructs all
stuff that has been stored during serialization process.
A deserializing from SerialStorage created this way updates bottom-level
acceleration structure addresses in the top-level AS's header.
New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.header_bottom_address.*
Components: Vulkan
VK-GL-CTS issue: 2830
Change-Id: I2e92e6a83dc9dcba67fa74b12fbfcafb4ae4c0c6
Alexander Galazin [Thu, 1 Jul 2021 17:02:21 +0000 (19:02 +0200)]
Allow Vulkan CTS 1.2.7.0
Affects: dEQP-VK.api.driver_properties.properties
Components: Vulkan
Change-Id: I4a690af61ea6e8cb752751d0282a7771b11f3b36
Alexander Galazin [Thu, 1 Jul 2021 16:14:03 +0000 (18:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: Ie5ff780b4e0951acc82541cdd7a914e892789f8f
michal_jakubek [Fri, 16 Apr 2021 09:09:43 +0000 (11:09 +0200)]
Handle vkGetDeviceAccelerationStructureCompabilityKHR function.
New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.device_compability_khr.*
Components: Vulkan
VK-GL-CTS issue: 2822
Change-Id: Iaf8556f44942d44bda19a104fc3c393b8101201e
Graeme Leese [Thu, 17 Sep 2020 17:47:23 +0000 (18:47 +0100)]
Drop subgroup size requirement for uniform control
The uniform control tests were using a required subgroup size without
checking for support. In fact, the only requirement is that the two
shaders in each test run with the same subgroup size. This is guaranteed
for all pipelines unless the varying size feature is enabled, so the
required subgroup size is not needed.
Components: Vulkan
VK-GL-CTS issue: 2576
Affects: dEQP-VK.subgroups.subgroup_uniform_control_flow.*control.*
Change-Id: Id1bf77a040ca6183b1ce237ae5f3bcda909c716c
(cherry picked from commit
dbd42247ae8f885470fde4dbb3efccdb8c2e1134)
Samuel Iglesias Gonsálvez [Thu, 24 Jun 2021 09:48:16 +0000 (11:48 +0200)]
Check support for triangle fan primitive topology on rasterization tests
If VK_KHR_portability_subset is supported, check for triangle fan
support in the tests that use that primitive topology.
Component: Vulkan
Fix issue: KhronosGroup#246
VK-GL-CTS issue: 2978
Affected test:
dEQP-VK.rasterization.*triangle_fan
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I98a4ab5caee2bf6f07c610822b8166b3a1803e52
Boris Zanin [Wed, 2 Jun 2021 11:06:00 +0000 (13:06 +0200)]
Revert initial layout for depth/stencil attachment in makeRenderPass
Return back previous initial depth/stencil attachment
layout, i.e. set it to
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL only
if loadOperation is VK_ATTACHMENT_LOAD_OP_LOAD.
Otherwise keep it undefined.
Setting vast range of affected tests, because it is
hard to determine which of the tests are using
affected by this function.
Affected tests:
* dEQP-VK.*
Components: Framework
VK-GL-CTS public issue: 272
Change-Id: Ie96c8125144904fde5e2db6294f52947ff979424
Antto Mäkinen [Mon, 7 Jun 2021 13:13:05 +0000 (16:13 +0300)]
Add a batch of GraphicsFuzz coverage tests
This commit adds a batch of GraphicsFuzz coverage tests.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.cov-apfloat-module-small-number
dEQP-VK.graphicsfuzz.cov-determinant-uninitialized-matrix-never-chosen
dEQP-VK.graphicsfuzz.cov-divide-matrix-transpose-by-constant
dEQP-VK.graphicsfuzz.cov-fragcoord-bitwise-not
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
dEQP-VK.graphicsfuzz.cov-loop-break-floor-nan-never-executed
dEQP-VK.graphicsfuzz.cov-missing-return-value-function-never-called
dEQP-VK.graphicsfuzz.cov-modulo-zero-never-executed
dEQP-VK.graphicsfuzz.cov-read-matrix-push-constant
dEQP-VK.graphicsfuzz.cov-reinitialize-matrix-after-undefined-value
dEQP-VK.graphicsfuzz.cov-sampler-as-function-argument
dEQP-VK.graphicsfuzz.cov-transpose-multiply
dEQP-VK.graphicsfuzz.cov-trunc-fract-always-zero
dEQP-VK.graphicsfuzz.cov-uninitialized-values-passed-to-function-never-executed
dEQP-VK.graphicsfuzz.cov-unused-access-past-matrix-elements
Change-Id: I06f80169893fcc92d154d0da386568a177416426
Alexander Galazin [Thu, 1 Jul 2021 15:12:58 +0000 (17:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Iffe181f31ff661ead2142e7e7f0abb314bf1a2e1
Sławomir Cygan [Fri, 25 Jun 2021 14:08:23 +0000 (16:08 +0200)]
Fix semaphore leak in image atomic operations test
The class 'Image', being base class for `SparseImage` class needs to be
marked as virtual, so objects of SparseImage type can be owned and
destroyed through a pointer of `Image` type. Without that the implicit
destructor of `SparseImage` class is never called.
As SparseImage class has a semaphore member, this fixes the
semaphore VK object leak.
Components: Vulkan
VK-GL-CTS Issue: 2981
Change-Id: Ice24f7018cf9144f4c1adbb8987b730d5f1ca2aa
Affects: dEQP-VK.image.atomic_operations.*
Lars-Ivar Hesselberg Simonsen [Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)]
Fix use of binary semaphore in signaled state
Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.
This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.
In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.
Components: Vulkan
Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue
VK-GL-CTS Issue: 2910
Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5
(cherry picked from commit
a017db3c0d1fbf89f30253254d57fb869f57a430)
Piotr Byszewski [Wed, 30 Jun 2021 12:03:40 +0000 (14:03 +0200)]
Fix compilation issue in float_controls
Two assertions in float_controls tests used conditions of type:
(x!=a || x!=b) which are always true and started triger compilation
errors on some platforms.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: I2df613acaf2cc089df29cdc8172d50f3174c6456
Jari Komppa [Thu, 25 Mar 2021 14:09:44 +0000 (16:09 +0200)]
Add sample decorator to interpolation tests
Adds the sample decorator to tests that compare
other interpolator decorations.
Affects:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2733
Change-Id: I6964f9c8595dd616da22ba42c974676c864e9e8a
James Jones [Fri, 8 Jan 2021 17:53:43 +0000 (09:53 -0800)]
Add VK_EXT_device_drm_properties tests
Verifies the basic API functionality works by
locating the device nodes associated with a Vulkan
device by matching them against the major and
minor device IDs reported by the extension.
Rather than assume the location of DRM device
nodes on the filesystem, these tests look them up
using libdrm's drmGetDevices[2]() function. This
requires some supporting code to properly load the
libraries, but should be more portable than simply
walking /dev/dri/*.
Components: Vulkan
New tests:
dEQP-VK.api.device_drm_properties.*
Change-Id: If9436e1595ad1132d5f542629c372a02fc3ed9e2
Alexander Galazin [Wed, 30 Jun 2021 09:51:11 +0000 (11:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: I458f9b2ab7d0aa30c4e04228605934da9345ce36
Alexander Galazin [Wed, 30 Jun 2021 09:04:21 +0000 (11:04 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Change-Id: I9aa118f273dc5ea3eb65f16c40a47b3d9a658574
Graeme Leese [Tue, 29 Jun 2021 16:03:53 +0000 (17:03 +0100)]
Add uniform control flow extension to allowed list
Components: Vulkan
Affects: dEQP-VK.info.device_extensions
Change-Id: I2fe13e778dd160ce0fd842ccddc9ed8f1d129772
Ricardo Garcia [Thu, 10 Jun 2021 09:55:16 +0000 (11:55 +0200)]
Add VK_EXT_multi_draw tests
This commits adds a new test group with VK_EXT_multi_draw tests. The new
tests check the new API functions, the DrawIndex builtin and several
combinations of instance counts, strides, vertex offsets and number of
batched draw calls.
New tests:
dEQP-VK.draw.multi_draw.*
Affected tests:
dEQP-VK.info.device_mandatory_features
Components: Framework, Vulkan
VK-GL-CTS issue: 2897
Change-Id: Ifa6a92bd34c9f3509e82f6c346cc7eb5fd894bbc
Samuel Iglesias Gonsálvez [Tue, 1 Jun 2021 10:46:49 +0000 (12:46 +0200)]
Fix wait semaphore count value
Components: Vulkan
VK-GL-CTS issue: 2949
Fixes:
a47665a6e "Generalize synchronization tests"
Affected tests:
dEQP-VK.synchronization.op.single_queue.binary_semaphore.*
Change-Id: I14bb0d79b67e444b20683a766b769ce3a94a3222
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
(cherry picked from commit
bfe111789be62a974f403d452073ba30b24e5632)
Alexander Galazin [Tue, 29 Jun 2021 07:53:40 +0000 (09:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: Ia535b31670d1d6eb509f75508ac1b6f639714999
Alexander Galazin [Tue, 29 Jun 2021 07:24:05 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I820d94d27c30ea492dd04637b805dd78db2353d8
Alexander Galazin [Wed, 9 Jun 2021 11:45:47 +0000 (13:45 +0200)]
Update extension dependencies
Affects:
dEQP-VK.info.device_extensions
Components: Vulkan
Change-Id: I8be1c95646a6f0c2b8ddc27cc27c6679346c51c7
Samuel Iglesias Gonsálvez [Tue, 8 Jun 2021 15:20:24 +0000 (17:20 +0200)]
Improve existing cull distance tests
Previously the tests were just writing a constant value to
gl_CullDistance[i] in the vertex shader and copying that value in
the rest of the geometry stages.
This commit does the following:
- The last shader writting to gl_CullDistance assigns 0 if
gl_Position.y < 0 and 0.5f otherwise. That way we can test the
interpolation of gl_CullDistance in the fragment shader.
- In case there are multiple geometry shaders, all except the last one
write a different value to gl_CullDistance[i] and checks the value
written by the previous shader stage. Therefore we check the values
are properly propagated between stages and they are overwritten as
well.
Components: Vulkan
VK-GL-CTS issue: 2961
Affected tests:
dEQP-VK.clipping.*.clip_cull_distance*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I213cc0469e72d82a8eda814e770aac2b825286fc
Samuel Iglesias Gonsálvez [Mon, 14 Jun 2021 14:07:01 +0000 (16:07 +0200)]
Add tests checking Input and Resolve attachments can be the same attachment in a subpass
Components: Vulkan
VK-GL-CTS issue: 2931
Added test:
dEQP-VK.pipeline.framebuffer_attachment.resolve_input_same_attachment
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I12e3741d219118c1b65b921a4b81b10d3c6d1c71
Ricardo Garcia [Tue, 22 Jun 2021 09:16:34 +0000 (11:16 +0200)]
Fix 64-bit atomics mandatory feature checks
Require shaderBufferInt64Atomics from VkPhysicalDeviceVulkan12Features
if the same feature from VkPhysicalDeviceShaderAtomicInt64FeaturesKHR is
supported.
Require shaderInt64 if any of the 64-bit integer atomic features is
supported.
Affected tests:
dEQP-VK.info.device_mandatory_features
VK-GL-CTS issue: 2976
Components: Vulkan
Change-Id: I95b2e90aec2d8d04bdbbfcdf60989c78a952a9da
Jason Ekstrand [Mon, 21 Jun 2021 20:35:36 +0000 (15:35 -0500)]
Fix tessellation SPIR-V tests use of Restrict
Their usage of Restrict violates the SPIR-V spec which requires that it
only got on variables, not types or struct members.
Affected tests:
dEQP-VK.tessellation.*
Components: Vulkan
VK-GL-CTS issue: 2975
Change-Id: Ifbde1b493bf56d1ee6454a4ab54e98bcd05f839b
Graeme Leese [Fri, 4 Jun 2021 13:50:34 +0000 (14:50 +0100)]
Fix buffer copy extents in blit tests
The buffer extents of copies to/from compressed images should account
for the extra size of the compressed block that might not fit in the
actual image but it was not.
Component: Vulkan
Affects: dEQP-VK.api.copy_and_blit.*
Change-Id: Ia4a47554078722b3cd4548df413bcdb62451cba5
Alexander Galazin [Fri, 18 Jun 2021 08:17:32 +0000 (10:17 +0200)]
Allow the use of the standard types
Removes the script that enforces the use of
the de-wrappers instead of the standard types.
VK-GL-CTS issue: 2963
Components: Framework
Change-Id: I5e2ff38a2b2cbc63a3c756a1e0260833ecd9381e
Sławomir Cygan [Tue, 15 Jun 2021 09:22:47 +0000 (11:22 +0200)]
Allocate memory for reference buffer
This fixes regression from 2236dd2.
m_referenceMem was not allocated leading to assert
in vk::Allocation::getHostPtr() and later crash.
VK-GL-CTS Issue: 2970
Components: Vulkan
Affects:
dEQP-VK.glsl.constants.*
dEQP-VK.glsl.constant_expressions.*
Change-Id: Ia798a72f348cc235b2a2ff18b3614f50713abd91
Graeme Leese [Thu, 10 Jun 2021 12:57:42 +0000 (13:57 +0100)]
Fix YCbCr linear filtering support check
The code was incorrectly checking the CONVERSION_LINEAR bit, which
determines whether a chromaFilter of linear is allowed, instead of the
more generic FILTER_LINEAR bit.
See vulkan/vulkan!4623
Component: Vulkan
Affects: dEQP-VK.ycbcr.*
Change-Id: Ifcacde146c10c24401e9efcc6095f5d0c5c8c519
Graeme Leese [Fri, 4 Jun 2021 16:23:28 +0000 (17:23 +0100)]
Don't run _concurrent sync tests on 1 queue devices
The tests are testing synchronisation primitives in combination with
images marked as SHARING_MODE_CONCURRENT but this is not possible on
deivces that only support a single queue family. Because creating an
image with concurrent sharing requires two distinct queue families, it
is not supported on these devices.
Component: Vulkan
Affects: dEQP-VK.synchronization*.multi_queue.*_concurrent
Change-Id: I30a05bb085eef9e3087adfa12377a4909942f9c3
Graeme Leese [Fri, 4 Jun 2021 16:33:56 +0000 (17:33 +0100)]
Fix stage flags for INPUT_ATTACHMENT descriptors
These are required to be accessible only in the fragment stage.
Component: Vulkan
Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory
Change-Id: I63f874c366b45160dcb360b0b13d7932139676de
Graeme Leese [Fri, 4 Jun 2021 17:00:24 +0000 (18:00 +0100)]
Remove spurious feature dependencies in 1.2 tests
The vulkan1.2 features do not depend on having descriptorIndexing
enabled.
Component: Vulkan
Affects: dEQP-VK.api.info.vulkan1p2.feature_bits_influence
Change-Id: I7076f6046384c392e1066fdd1175d6183a848200
Graeme Leese [Fri, 4 Jun 2021 16:50:36 +0000 (17:50 +0100)]
Fix feature dependency in vulkan1.2 test
Variable pointers requires that the storage buffer feature also be
enabled.
Component: Vulkan
Affects: dEQP-VK.api.info.vulkan1p2.feature_bits_influence
Change-Id: Ifb7a7831c609b0b52f408ac65a01b67e7eb0bf34
Graeme Leese [Thu, 3 Jun 2021 16:30:39 +0000 (17:30 +0100)]
Fix image aspect handling in fragdepth tests
The tests were creating a view which only used the depth aspect, but one
layout transition was incorrectly including the stencil aspect, leading
to validation errors.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin_var.fragdepth.*
Change-Id: Ib2c1bcbce239968dfa21cc9ce5ef93c018189be9
Graeme Leese [Thu, 3 Jun 2021 15:44:05 +0000 (16:44 +0100)]
Fix output components limit in fragment input tests
The number of outputs components is 4 higher than the number of fragment
inputs because gl_Position needs to be counted as well.
Component: Vulkan
Affects: dEQP-VK.glsl.limits.near_max.fragment_input.*
Change-Id: Ic1cd888c04c8877312af104f5bcd3afc607480f8
Piers Daniell [Thu, 17 Jun 2021 23:36:54 +0000 (17:36 -0600)]
Retry lesser FBO sample counts if UNSUPPORTED
On some of our implementations we return GL_FRAMEBUFFER_UNSUPPORTED
when the no-attachment maximum width, height and samples are all
used in combination. This is because the combination goes beyond
some of our hardware limits. It would be fine to use either
maximum width/height or maximum samples, but not all
together.
Since GL_FRAMEBUFFER_UNSUPPORTED is a valid FBO status for
implementation-defined reasons, the test should recognize this
and try again with lesser limits until the FBO is complete.
Affects:
dEQP-GL45.functional.fbo.no_attachments.maximums.all
Components: OpenGL
VK-GL-CTS issue: 2973
Change-Id: I8db2e9f802b3f4d1ee59bbfbfa1935bbe3cc6d00
Alexander Galazin [Fri, 18 Jun 2021 10:22:26 +0000 (12:22 +0200)]
Move two GL groups to single config
Move enhanced_layouts and arrays_of_arrays_gl to the single config group
since these tests do not depend on the default framebuffer
Components: OpenGL
VK-GL-CTS issue: 2969
Removed tests:
KHR-GL*.arrays_of_arrays_gl.*
KHR-GL*.enhanced_layouts.*
Added tests:
KHR-Single-GL*.arrays_of_arrays_gl.*
KHR-Single-GL*.enhanced_layouts.*
Change-Id: I2ae554c0d92c9959d71232052c3f177265a715a7
Piers Daniell [Tue, 15 Jun 2021 03:33:35 +0000 (21:33 -0600)]
Change GLSL->SPIR-V mapping of notEqual to OpFUnordNotEqual not OpFOrdNotEqual
The glslang compiler was changed in https://github.com/KhronosGroup/glslang/pull/2260
to generate OpFUnordNotEqual rather than OpFOrdNotEqual for a!=b.
Without this change the
KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test
test generates an InternalError because it can't find the
expected mapping.
Affects:
KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test
Change-Id: Ieda8dc02c0be90a7985b15ca28dbefb1a45cc7c1
Components: OpenGL
Alexander Galazin [Mon, 28 Jun 2021 09:06:20 +0000 (11:06 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: Ie5d0cb8afc3633ffca1b8ab8fbd712bc9819a23c
Piers Daniell [Fri, 11 Jun 2021 19:41:59 +0000 (13:41 -0600)]
Fix the default GL_IMAGE_BINDING_FORMAT for desktop OpenGL
The default texture format for desktop OpenGL is GL_R8 not GL_R32UI,
like it is for OpenGL ES.
See table 23.45 on page 627 of the OpenGL 4.6 core spec vs
table 21.33 on page 479 of the OpenGL ES 3.2 spec.
Affects:
KHR-GL46.shader_image_load_store.*
Change-Id: I1f5f8be422ddb358fba6df6bc450d3da702467bc
Components: OpenGL
Alexander Galazin [Mon, 21 Jun 2021 11:25:34 +0000 (13:25 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I8c55cf4b0e5ecca25207143501372d8ea43b8d66
Ricardo Garcia [Mon, 7 Jun 2021 08:23:16 +0000 (10:23 +0200)]
Check shader image atomic mandatory features
Make sure implementations expose shaderImage*Atomics if
sparseImage*Atomics is supported.
Affected tests:
dEQP-VK.info.device_mandatory_features
Components: Vulkan
VK-GL-CTS issue: 2957
Change-Id: I7d07f807d5afddf9979f862d455029d23fa6c904
Antto Mäkinen [Mon, 7 Jun 2021 14:45:27 +0000 (17:45 +0300)]
Add a batch of GraphicsFuzz coverage tests
This commit adds a batch of GraphicsFuzz coverage tests.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.cov-clamp-vector-component-condition-using-matrix
dEQP-VK.graphicsfuzz.cov-color-output-undefined-in-unexecuted-branch
dEQP-VK.graphicsfuzz.cov-empty-loop-minus-one-modulo-variable-one
dEQP-VK.graphicsfuzz.cov-float-array-init-pow
dEQP-VK.graphicsfuzz.cov-fract-asin-undefined-never-used
dEQP-VK.graphicsfuzz.cov-function-fragcoord-condition-always-return
dEQP-VK.graphicsfuzz.cov-global-loop-counter-squared-comparison
dEQP-VK.graphicsfuzz.cov-isnan-asinh-clamp-always-zero
dEQP-VK.graphicsfuzz.cov-loop-dfdx-constant-divide
dEQP-VK.graphicsfuzz.cov-loop-integer-half-minus-one
dEQP-VK.graphicsfuzz.cov-min-intbitstofloat-undefined-never-used
dEQP-VK.graphicsfuzz.cov-pow-identical-value-sqrt
dEQP-VK.graphicsfuzz.cov-pow-undefined-result-condition-with-always-true
dEQP-VK.graphicsfuzz.cov-struct-float-array-mix-uniform-vectors
dEQP-VK.graphicsfuzz.cov-switch-fallthrough-variable-from-first-case
Change-Id: I239e7263068ddb6216f97c447e733cc2857fecfd
Samuel Iglesias Gonsálvez [Wed, 2 Jun 2021 13:18:44 +0000 (15:18 +0200)]
Add timestamp query test variants with availability bit
There was missing vkCmdCopyQueryPoolResults() and
vkGetQueryPoolResults() variants with availability bit flag.
Components: Vulkan
VK-GL-CTS issue: 2950
Added tests:
dEQP-VK.pipeline.timestamp.*with_availability_bit
Modified tests:
dEQP-VK.pipeline.timestamp.*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I7e6fbb9d6e6f3b4b8c7ae1559a9bd7b23120d241
Sebastiano Cucinotta [Mon, 14 Jun 2021 15:15:40 +0000 (17:15 +0200)]
Properly enable Sample Shading in Fragment Shading Rate tests
Vulkan spec states:
> Sample shading is enabled for a graphics pipeline:
>
> * If the interface of the fragment shader entry point of the graphics
> pipeline includes an input variable decorated with SampleId or
> SamplePosition. In this case minSampleShadingFactor takes the value
> 1.0.
> * Else if the sampleShadingEnable member of the
> VkPipelineMultisampleStateCreateInfo structure specified when
> creating the graphics pipeline is set to VK_TRUE. In this case
> minSampleShadingFactor takes the value of
> VkPipelineMultisampleStateCreateInfo::minSampleShading.
>
> Otherwise, sample shading is considered disabled.
This change ensures that sample shading is properly enabled in the
Fragment Shading Rate tests relying on it by using gl_SampleId.
Components: Vulkan
Affects:
dEQP-VK.fragment_shading_rate.sampleshadinginput.*
VK-GL-CTS Issue: 2966
Change-Id: I7fad0ed7694a2d26ef7db9ea268fa5d6f93264a6
Alexander Galazin [Wed, 16 Jun 2021 09:38:56 +0000 (11:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: I5c61c18e70c4065effbf14c1e74b6f5b4b45c358
Alexander Galazin [Wed, 16 Jun 2021 08:16:56 +0000 (10:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I2e92c964d1df15e5abfc47567f8a914892fc7cd9
Alexander Galazin [Wed, 16 Jun 2021 07:43:06 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I01d6cedef0b807be928ba68d3aab64fd3d045d8d
Antto Mäkinen [Fri, 26 Feb 2021 10:10:57 +0000 (12:10 +0200)]
Add a GraphicsFuzz test
Adds a GraphicsFuzz test which has been separated by request.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store
Change-Id: I506e7460f4fc472638a168a30c572d159f46a3c7
Antto Mäkinen [Fri, 23 Apr 2021 14:40:30 +0000 (17:40 +0300)]
Add a batch of GraphicsFuzz coverage tests
This commit adds a batch of GraphicsFuzz coverage tests.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.cov-array-copies-loops-with-limiters
dEQP-VK.graphicsfuzz.cov-bitfieldreverse-loop-limit-underflow
dEQP-VK.graphicsfuzz.cov-condition-loop-index-bitwise-not
dEQP-VK.graphicsfuzz.cov-descending-loop-min-max-always-zero
dEQP-VK.graphicsfuzz.cov-global-loop-bound-true-logical-or
dEQP-VK.graphicsfuzz.cov-global-loop-counter-multiply-one-minus
dEQP-VK.graphicsfuzz.cov-loop-condition-double-negate
dEQP-VK.graphicsfuzz.cov-loop-increment-matrix-element-break-after-first-iteration
dEQP-VK.graphicsfuzz.cov-loop-logical-xor
dEQP-VK.graphicsfuzz.cov-nested-functions-accumulate-global-matrix
dEQP-VK.graphicsfuzz.cov-nested-loop-undefined-smoothstep-never-executed
dEQP-VK.graphicsfuzz.cov-one-minus-clamp-always-one-cast-to-int
Change-Id: Ic3a4703622da470b4551fb5d5836c146897ec7bc
Ricardo Garcia [Wed, 9 Jun 2021 11:28:55 +0000 (13:28 +0200)]
Fix dEQP-VK.info.device_extensions not working
The test is using the list of extension dependencies for instances
instead of devices, so it's actually not checking anything in most
cases.
Affected tests:
dEQP-VK.info.device_extensions
Components: Vulkan
VK-GL-CTS issue: 2959
Change-Id: I8ee2ea10f98e1dd45590edc2b5cc8e0c3e21890b
Ricardo Garcia [Wed, 9 Jun 2021 10:11:56 +0000 (12:11 +0200)]
SPIR-V 1.4 test fixes
This commit fixes a couple of SPIR-V 1.4 tests that had inconsistent
requirements in the Amber script and in the CTS side. In one case we're
dropping the requirement from Amber and in the other one we're adding
the requirement to CTS.
Affected tests:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.variable_pointers_vars_wg_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.member_decorate_string
Components: Vulkan
VK-GL-CTS issue: 2958
Change-Id: If1e58bc028ce3756623a241bb259024ef077c815
Ricardo Garcia [Tue, 8 Jun 2021 10:16:39 +0000 (12:16 +0200)]
Skip unsupported allocations in invariance test
dEQP-VK.api.invariance.random is a test that performs a high number of
memory allocations (1000 as of this commit). Some of them may throw a
not supported exception that wasn't being caught and would result in the
whole test being marked as unsupported.
This change catches the exception and only returns "not supported" if
none of the allocations were supported. Otherwise, it runs all possible
allocations and checks results for the supported ones.
Affected tests:
dEQP-VK.api.invariance.random
Components: Vulkan
VK-GL-CTS issue: 2110
Change-Id: I92163c42e33671291dd9fc0c753dc43b4a058796
Alexander Galazin [Wed, 16 Jun 2021 06:52:23 +0000 (08:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I89ac6a1c9b0b7d908be65033c47371f60cc880cb
Slawomir Cygan [Wed, 19 May 2021 15:18:48 +0000 (17:18 +0200)]
Do not exceed heap size when allocating memory
It is invalid to make larger allocations than heap size.
Components: Vulkan
VK-GL-CTS Issue: 2927
Change-Id: I738356254d95a152a2bb89d711eb6b3f047b405c
Affects: dEQP-VK.memory.mapping
Jeff Bolz [Mon, 1 Jun 2020 17:23:26 +0000 (12:23 -0500)]
Subgroup and workgroup reconvergence tests.
These tests run shaders with randomly-generated control
flow and use subgroup operations to check whether subgroups
reconverge when control flow merges. The non-experimental
tests exercise the
VK_KHR_shader_subgroup_uniform_control_flow extension,
and the experimental tests go further and exercise maximal
reconvergence (and also increase the number of tests).
New Tests: dEQP-VK.reconvergence.*
New Tests: dEQP-VK-experimental.reconvergence.*
Component: Vulkan
Change-Id: I83136ad1aca6daece4a612a58d93aa175a2c5184
(cherry picked from commit
09f8fc2e7ecbbf97a2a30eeb4c6ce2c4e0ecb160)
Alan Baker [Tue, 2 Jun 2020 19:49:54 +0000 (15:49 -0400)]
Tests for VK_KHR_shader_subgroup_uniform_control_flow
* Updates Amber a version that supports VK_EXT_subgroup_size_control
* Change Amber testcases to use the asm option's SPIR-V version for
glslang compiles
Components: Vulkan
VK-GL-CTS Issue: 2395
New tests: dEQP-VK.subgroups.subgroup_uniform_control_flow.*
Change-Id: I4140385d6326d6b99e259fcd77e807f33b778031
(cherry picked from commit
74f61853ec0a94aeed6fa9443beeeb2c67b99070)
Alexander Galazin [Tue, 15 Jun 2021 15:35:42 +0000 (17:35 +0200)]
Update glslang, SPIR-V Tools and headers
Components: Framework
Change-Id: I71f4cf039e865f45086596beb7cd192c2d02fd53
Antto Mäkinen [Thu, 25 Feb 2021 13:44:28 +0000 (15:44 +0200)]
Shared memory layout tests
Vulkan leaves it to implementations to determine the layout of shared memory.
This test ensures that the fields in the shared memory won't end up
overlapping each other.
This commit also does a minor clean up for the framework core and adds
util functions for comparing types which are common for this and the SSBO tests.
VK-GL-CTS issue: 2372
New Tests:
dEQP-VK.memory_model.shared.*
Components: Vulkan
Change-Id: I4ac0a03f91a5ce699fe03f3c43943fb8eac88850
Slawomir Cygan [Tue, 11 May 2021 14:53:20 +0000 (16:53 +0200)]
Optimize the AS build tests to not use host uncached memory
Use userspace host memory for scratch buffer (instead mapped device memory)
and try using HOST_CACHED memory (if supported) for the accelleration structure.
Components: Vulkan
VK-GL-CTS Issue: 2922
Affects:
dEQP-VK.ray_tracing_pipeline.build.*
dEQP-VK.ray_tracing_pipeline.*
Change-Id: I7592c3f93f2e10766cd1276f37ca51924e1cc16f
Sławomir Cygan [Fri, 4 Jun 2021 15:49:38 +0000 (17:49 +0200)]
Add missing cull flags when counting intersections of rays with triangle-based cubes
Add a cull flags, so each convex geometry is counted once, instead of twice.
Components: Vulkan
VK-GL-CTS Issue: 2890
Affects:
dEQP-VK.ray_tracing_pipeline.misc.*stress*
dEQP-VK.ray_tracing_pipeline.misc.cullmask*
dEQP-VK.ray_tracing_pipeline.misc.mixedPrimTL
Change-Id: Ie2e74149be8bb710c7ae3afb77f5854dca247aca
Slawomir Cygan [Fri, 4 Jun 2021 15:45:39 +0000 (15:45 +0000)]
Revert "Move the hit counting from any hit to closest hit shader stage"
The problem with this test was in cull flags, rather than counting
in 'any hit' shader stage.
This reverts commit
2f33c7beac25308ef85a1856032d7a5936197f83.
VK-GL-CTS Issue: 2890
Change-Id: I066fac55a80ff4f4a93748425517785df8777d06
Affects: dEQP-VK.ray_tracing_pipeline.misc.*stress*
Samuel Iglesias Gonsálvez [Wed, 26 May 2021 11:22:09 +0000 (13:22 +0200)]
Add VK_FORMAT_B10G11R11_UFLOAT_PACK32 vertex input tests
Added tests:
dEQP-VK.pipeline.vertex_input.*.*as_b10g11r11_ufloat_pack32*
Components: Vulkan
VK-GL-CTS issue: 2946
Change-Id: Ibb0d97819d96548cacfca3e8eca966ecb7774e99
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Ricardo Garcia [Thu, 13 May 2021 10:20:45 +0000 (12:20 +0200)]
Test null fragment shading rate attachment pointers
The new variants check passing a null fragment shading rate attachment
pointer has the same effect as not specifying a fragment shading rate
attachment info pointer at all.
New tests:
dEQP-VK.fragment_shading_rate.*.noattachmentptr.*
Components: Vulkan
VK-GL-CTS issue: 2904
Change-Id: If593170f5a0295772a0bab1ea4378a06c2a7864c
Samuel Iglesias Gonsálvez [Wed, 2 Jun 2021 14:41:30 +0000 (16:41 +0200)]
Check resource limits properly
The tests were not checking the resource limits per stage when
creating the shaders, which could create potential issues on
some drivers. Specially the random generated tests.
Affected tests:
dEQP-VK.ssbo.layout.*
Components: Vulkan
VK-GL-CTS issue: 2953
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I7509dce38b849a0dd26f9e47d7f74e637930d897