Samuel Iglesias Gonsálvez [Thu, 26 Sep 2019 13:41:43 +0000 (15:41 +0200)]
Reduce number of created pipelines in compute subgroups tests
Some drivers are taking too much time to execute compute subgroups
tests, mostly because they need to build N times the same pipeline
where the only difference is the local size values passed via
specialization constants.
As there are drivers that don't take advantage of pipeline derivatives,
reducing the number of pipeline creations helps to reduce execution time.
Affected tests:
dEQP-VK.subgroups.*compute*
Components: Vulkan
VK-GL-CTS issue: 2019
Change-Id: Ie3ccbc53390bdba691c16d51c173b0a8a16119d9
Jari Komppa [Mon, 23 Sep 2019 12:35:11 +0000 (15:35 +0300)]
Added script to list changed tests
Added script which reads git log and lists changed tests since specified
version or date.
Affects: none
Change-Id: I64e6403ed9a3bd9531c01ddb0007139950e4dda0
Components: Framework
Samuel Iglesias Gonsálvez [Fri, 28 Jun 2019 07:20:39 +0000 (09:20 +0200)]
Add tests for VK_EXT_blend_operation_advanced
There at three types of tests:
* Ops: they check that all the defined operations work
for a different set of source and destination colors, iterating over
(non)premultiplied colors and uncorrelate/disjoint/conjoint alpha
values. The tests run on different number of color attachment as well.
* Independent: it checks that color attachments with different depth
operations do not affect the others.
* Coherent: it checks if (non)coherent blend operations work as
expected. It creates two pipelines with 2 different advanced blend ops,
first draw clears the pixel with a specified destination color and do
the blending; the second draw reuses the result of the first one as
destination color and do blending on top. In the case of noncoherent
blending, it adds a memory dependency between both advanced blend
operations.
Added tests:
dEQP-VK.pipeline.blend_operation_advanced.*
Components: Vulkan
VK-GL-CTS issue: 1673
Change-Id: I4417e6a22e0c2882849f8bf59233c266c60e45c6
Pawel Ksiezopolski [Wed, 24 Apr 2019 16:09:08 +0000 (18:09 +0200)]
Add tests for sparse images using YCbCr formats
Sparse image tests include YCbCr image formats including multiplanar
formats and a group of previously ommited non-YCbCr image formats.
Affects tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.*
New tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.storage_image_write.*
Components: Vulkan Framework
VK-GL-CTS issue: 1419
VK-GL-CTS issue: 1084
Change-Id: I3e335840efbbabc2fc320629f5a165becdbb4f26
Piotr Byszewski [Fri, 11 Oct 2019 09:43:19 +0000 (11:43 +0200)]
Handle LPCWSTR in framework
Components: Framework
VK-GL-CTS issue: 1703
Affects:
dEQP-VK.*
Change-Id: I2061de4eac657aa9453bc3143306d1670eb271aa
Graeme Leese [Wed, 9 Oct 2019 09:31:55 +0000 (10:31 +0100)]
Reenable checking for core ballot functions
All the subgroup ballot tests were mistakenly created as extension
tests, so none of them were testing the core functionality.
Components: Vulkan
Affect: dEQP-VK.subgroups.ballot.framebuffer.*
Change-Id: I2876ed3e04c831e90d7d605019cdcfd8ecb8e375
Graeme Leese [Mon, 30 Sep 2019 16:51:41 +0000 (17:51 +0100)]
Use buildOptions consistently
Backport the changes to buildOptions. This makes it easier to change the
build options for all the tests at the same time.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.*
Change-Id: Idf75d3fac002da85e800634078c11f1797ba4812
Alexander Galazin [Thu, 17 Oct 2019 19:15:25 +0000 (21:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: Iae396c7a296389d754c462f1047329a70d619a7a
Alexander Galazin [Thu, 17 Oct 2019 18:31:35 +0000 (20:31 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ib3cab2c6bc13dee32caf2403b9dc52492f660082
Alexander Galazin [Thu, 17 Oct 2019 17:58:35 +0000 (19:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I2aa94658d6c8b6543fd9c4899f7da481ba1120a1
Alexander Galazin [Thu, 17 Oct 2019 15:46:59 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I0954d6799d7b0e4a527cd0fbbdcf61237ca7e9a7
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests
SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*
Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def
(cherry picked from commit
436d6dd5e7a0c0811bf1b6059542d1cdbccb9566)
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests
SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*
Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def
Alex Walters [Mon, 14 Oct 2019 16:32:12 +0000 (17:32 +0100)]
Make texture aniso basic self tests less sensitive
The tests cases first check with a fuzzy diff that the images are more
or less the same.
The second diff then checks with a standard image comparison + tolerance
that the images are not identical.
Some of IMG's implementations produce a closer image than the test is
currently expecting - we need to lower the tolerance from 0.05 to 0.02
in order for the diff algorithm to detect that the images are
different 'enough'.
Though there is no actual spec requirement, it is 'generally going to
be the case', for any implementation, that the images will have some
amount of difference. It is potentially useful to still have this test
inplace to check againsty aniso being accidently disabled in the tested
implementation, rather than remove it altogether.
Affects:
dEQP-VK.texture.filtering_anisotropy.basic.*
Components: Vulkan
VK-GL-CTS Issue: 2047
Change-Id: Ia9148e12172ac1c4757f5007e57b3a2b3a3434eb
Matthew Netsch [Fri, 4 Oct 2019 18:57:40 +0000 (14:57 -0400)]
Relaxes line rasterization tolerances
Components: Framework
VK-GL-CTS Issue: 2033
Affects:
dEQP-VK.rasterization.*
Change-Id: Ib41552b1bb6d9aa2b25d0cbc6f02d51ce997f4e3
Alexander Galazin [Thu, 17 Oct 2019 15:11:04 +0000 (11:11 -0400)]
Revert "Fixes VS num instances assumption"
This reverts commit
bac8df251bb6103d7844bfeacbb29bf14011b7cb.
Change-Id: I60aa83d860b0b11ec7fc58fb97806635a1eebdca
Alejandro Piñeiro [Fri, 11 Oct 2019 09:40:16 +0000 (11:40 +0200)]
Remove tests that check non-zero values for reservedMustBeZero on all APIs
Although initially it was agreed to keep them for the APIs that still
include that field as reserved, and only remove them when the API
defines the field (baseInstance), in the end it was agreed to remove
it completely, as it is testing an undefined behaviour.
Components: OpenGL, OpenGL ES
VK-GL-CTS issue: 2029
Affects:
KHR-GL40.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL40.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL41.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL41.draw_indirect.misc-reservedMustBeZero-elements
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-elements
Change-Id: Iafe3e711107da818a392ebcdfe50379cf3790d17
Alexander Galazin [Thu, 17 Oct 2019 10:45:38 +0000 (06:45 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master"
Alejandro Piñeiro [Wed, 25 Sep 2019 08:15:36 +0000 (10:15 +0200)]
Replace imageAtomicExchange with imageAtomicCompSwap in vertex shader
Recently the test was changed in order to replace a imageAtomicAdd for
a imageAtomicExchange, as the test can't assume that the vertex shader
will be executed exactly one per vertex shader (see VK-GL-CTS issue
1910).
But imageAtomicExchange is also problematic because in some
architecture/driver, specially tile-based, the test can't also assume
that all the vertex shader executions would finish before
rasterization starts (so fragment shader execution). So when using
imageAtomicExchange could happend that a vertex shader execution would
override the value that the fragment shader already started to update.
Due this two restrictions, this patch changes the atomic operation on
the vertex shader to imageAtomicCompSwap, that sets the value of the
image at the vertex shader only if it is the initial value (so
zero). That would prevent any possible execution when the
rasterization already started to override the value of such image.
This patch also adds a comment on the code explaining the situation,
to avoid any possible future change to a simpler atomic operation by
mistake.
Components: OpenGL ES
VK-GL-CTS issue: 1997
Affects:
KHR-GLES31.core.shader_image_load_store.advanced-allStages-oneImage
Change-Id: Icbc34662f33839a1ced9f728cee45a1198e4b495
Courtney Goeltzenleuchter [Wed, 11 Sep 2019 15:01:22 +0000 (09:01 -0600)]
Fix use of invalid HALF_FLOAT enum
GLES 2.0 supports GL_HALF_FLOAT_OES via the OES_texture_half_float
extension. When the enum GL_HALF_FLOAT was added in GLES 3.0,
unfortunately it did not use the same enum value as GL_HALF_FLOAT_OES.
Technically, GL_HALF_FLOAT is not supported on a GLES 2.0 implementation
even with OES_texture_half_float. Fix GLES 2.0 tests to always use
GL_HALF_FLOAT_OES to avoid the issue.
Affects:
KHR-GLES2.core.internalformat.texture2d.*_half_float_*
KHR-GLES3*.core.internalformat.texture2d.*_half_float_*
Components: OpenGL
VK-GL-CTS issue: 1923
Change-Id: I9b43091382341798a0d62b9a4ec09153e915dc5c
Alexander Galazin [Thu, 17 Oct 2019 08:58:26 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I2df30e7152844ece359dd9d4bfb90eca990a1bd8
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure
If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).
Affects:
dEQP-VK.*
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
(cherry picked from commit
cfa72a70ef8371eab29da003dbb4d932adba189a)
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure
If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).
Affects:
dEQP-VK.*
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
Venni Ihanakangas [Wed, 18 Sep 2019 09:40:43 +0000 (12:40 +0300)]
dEQP-VK.graphicsfuzz.always-false-if-with-discard-return
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.always-false-if-with-discard-return
Change-Id: Ib49084f32085d7a620e305637a8e75e062d7ad83
Jari Komppa [Wed, 18 Sep 2019 10:22:44 +0000 (13:22 +0300)]
Postpone .amber file parsing
All .amber files were parsed during test indexing, so they were parsed
even if none of the tests were executed. This wasn't a big performance
hit yet, but we're likely to increase the use of amber.
Due to some chicken-and-egg issues part of the capability check was
moved to the start of iterate, but since that throws InternalError if
the check fails this shouldn't be a performance issue.
The tests themselves have not changed, just the order of when to parse
the file.
Affects: None
Components: Vulkan, Framework
VK-GL-CTS issue: 899
Change-Id: Iacdfd9a61d439e3f5dec952b2426386a2eb3451c
Ricardo Garcia [Thu, 19 Sep 2019 16:31:25 +0000 (18:31 +0200)]
Test VkCopyDescriptorSet with inline uniform blocks
Use VkCopyDescriptorSet to copy data between inline uniform blocks
during vkUpdateDescriptorSets if VK_EXT_inline_uniform_block is
supported by the implementation.
New tests:
dEQP-VK.binding_model.descriptor_copy.*.inline_uniform_block_*
dEQP-VK.binding_model.descriptor_copy.*.mix_3
dEQP-VK.binding_model.descriptor_copy.*.mix_array1
Components: Vulkan
VK-GL-CTS issue: 2012
Change-Id: I3898f5c2f236ef62a392409791a870633b572e12
Ricardo Garcia [Tue, 24 Sep 2019 15:45:37 +0000 (17:45 +0200)]
Add tests for VK_EXT_display_surface_counter
This commit adds tests for VK_EXT_display_surface_counter that try to
verify vkGetPhysicalDeviceSurfaceCapabilities2EXT returns the same set
of capabilities as vkGetPhysicalDeviceSurfaceCapabilitiesKHR and the
supportedSurfaceCounters field has coherent values for display surfaces
and non-display surfaces.
Affected tests:
dEQP-VK.wsi.display.create_display_plane_surface
New tests:
dEQP-VK.wsi.*.surface.query_surface_counters
dEQP-VK.wsi.display.surface_counters
Components: Vulkan
VK-GL-CTS issue: 1683
Change-Id: I7754411c7b458201e9a7f5e8a99dfada388124d7
Venni Ihanakangas [Wed, 25 Sep 2019 10:44:48 +0000 (13:44 +0300)]
dEQP-VK.graphicsfuzz.switch-with-empty-if-false
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.switch-with-empty-if-false
Change-Id: I42790dbee5975b301126a268c801c6a616aab721
Mika Väinölä [Thu, 3 Oct 2019 13:02:09 +0000 (16:02 +0300)]
dEQP-VK.graphicsfuzz.unreachable-return-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-return-in-loop
Change-Id: I339de39006859f5396dc7397b722323f56a2222d
Mika Väinölä [Thu, 3 Oct 2019 13:17:43 +0000 (16:17 +0300)]
dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop
Change-Id: I87cbd5e5f9b0d27f9d875a1ca31d3c7aa12cb433
Alan Baker [Fri, 4 Oct 2019 19:15:15 +0000 (15:15 -0400)]
Disentangle storage and arithmetic from conversions
Remove the requirement for 16-bit storage from float16 conversions
tests. Add f16 -> f32 and f32 -> f16 tests using only 16-bit storage.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.*.fconvert.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftou.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftos.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertutof.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertstof.*float16*
Change-Id: I993bdb7a6313cf19ce59b5fa43645f5168ea3cbc
Alexander Galazin [Thu, 17 Oct 2019 07:28:06 +0000 (09:28 +0200)]
Whitelist VK_KHR_shader_subgroup_extended_types
Components: Vulkan
Change-Id: Ie68fd0fd2606aac29ddf1e1a0c6668504a42a91a
Alexander Galazin [Wed, 16 Oct 2019 14:02:09 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I7a8febada6ebf7ad2de0f9727a5efbbcc729c3d0
Alexander Galazin [Wed, 16 Oct 2019 13:00:14 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I3b96cb8cde6cbfc585d717a94f2164739887726f
Alexander Galazin [Wed, 16 Oct 2019 11:44:00 +0000 (13:44 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Iea7706e036758d8a648ef7938b3d08e21321a087
Bas Nieuwenhuizen [Fri, 11 Oct 2019 01:50:02 +0000 (03:50 +0200)]
Use the correct imageType for image support checks.
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.depth_stencil.{1d,3d}*
VK-GL-CTS issue: 2050
Change-Id: If73d9ff3e026ae4c32fd00fcc546734eebf9990e
Joerg Wagner [Wed, 9 Oct 2019 18:53:46 +0000 (20:53 +0200)]
Fix wrong wait stage mask
The wait stage mask wasn't accounting for the
stages the readers actually operate in, hence
being effectless.
Track the union of the reader's stage masks
and use that to block execution on the semaphore.
Affects:
dEQP-VK.synchronization.signal_order.*
Components: Vulkan
VK-GL-CTS issue: 2044
Change-Id: Ia4d5c7bcb9dd6eec25e7245dc41754acccd1b995
Panagiotis Apostolou [Thu, 10 Oct 2019 13:33:32 +0000 (15:33 +0200)]
Fix in shadercacheLoad
There is a slim chance that function shadercacheLoad() can pass a null
pointer into the std::string constructor, causing an exception. This can
happen in the case there is a mismatch between the calculated hash and
the one stored in the cache file.
This commit makes the code more robust, handling this case as a miss.
Components: Vulkan
VK-GL-CTS issue: 2052
Change-Id: I84a382dec51f487314304ec9057cefdff22920c3
Pawel Ksiezopolski [Tue, 15 Oct 2019 10:09:27 +0000 (12:09 +0200)]
Fixed mandatory caselist for parallel CTS run
Duplicate tests listed in deqp-fraction-mandatory-caselist-file
command line option are now skipped during test tree parsing,
when parallel CTS run is configured.
Components: Framework
VK-GL-CTS issue: 2053
Change-Id: I4ce2b6f33fd22c7ddc3aba0adbe9f7e761237e51
Alexander Galazin [Tue, 15 Oct 2019 07:14:46 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: If68c0cb9516bb0bb1f441c9fde8bfd5456cee76d
Alexander Galazin [Fri, 11 Oct 2019 10:39:11 +0000 (12:39 +0200)]
Remove superfluous call to createCustomDevice
Components: Vulkan
Change-Id: I7982ff1203b8eaeccfdd4b3a6b9bc3ab0b688721
Alexander Galazin [Fri, 11 Oct 2019 09:58:07 +0000 (11:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ife971c6779bf35094b5a72a87abaa47a6901530b
Alexander Galazin [Fri, 11 Oct 2019 09:52:19 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ibb2b736bbe1c62688044aa21dc75205f6fa32f1c
Alexander Galazin [Fri, 11 Oct 2019 09:50:16 +0000 (11:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I79fdf16146cf659aeae510fb6fb2ad72f641ba3e
Alexander Galazin [Fri, 11 Oct 2019 09:48:34 +0000 (11:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Ia0d88c0631e427241c7795931a834d9baf43e5a3
Graeme Leese [Mon, 7 Oct 2019 17:23:10 +0000 (18:23 +0100)]
RelaxedPrecision tests for image extend operands
Where the decoration makes sense (that is, for images with fewer than 16
bits per channel), add test that use the RelaxedPrecision decoration.
Components: Vulkan
VK-GL-CTS issue: 2038
New tests: dEQP-VK.image.extend_operands_spirv1p4.*_relaxed_*
Change-Id: I26e42a1d7bb807616ac50ce461dd37a55effd6f8
(cherry picked from commit
aaf3d22fa09cc800af076dd2d47124dd1659bcd1)
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type
OpUConvert where the operand type is a signed integer type.
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
* dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 1876
Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e
(cherry picked from commit
b0eda2776125d76c3ef3df394d6c224271f90f95)
Graeme Leese [Mon, 7 Oct 2019 12:43:19 +0000 (13:43 +0100)]
Add tests for SignExtend with 'unsigned' types
SPIR-V wants to allow 'unsigned' as meaning 'unknown-signedness', in
which case a signed access will have an unsigned SampledType and the
SignExtend operand. Add tests for this combination.
Components: Vulkan
VK-GL-CTS issue: 2038
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: Icd2ea0f41fcaab36d03ea3cff919449db3bd469a
(cherry picked from commit
b76f0d042c3587221daa77fef55b2642204a7ca3)
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type
OpUConvert where the operand type is a signed integer type.
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
* dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 1876
Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit
fd915c2d0ec7b544b670192447223061fe4b6cf3)
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit
fd915c2d0ec7b544b670192447223061fe4b6cf3)
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests
When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.
The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.
Afffected tests:
dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 1747
Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194
(cherry picked from commit
300b27043f8c93dcce4b3c788b33688ab59867af)
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests
When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.
The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.
Afffected tests:
dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 1747
Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194
Boris Zanin [Fri, 4 Oct 2019 09:52:09 +0000 (11:52 +0200)]
Remove uses of strstr in vktSpvAsmFloatControlsTests.cpp
Add flags to detect usage of types and/or constants using bit
flags instead of expensive string lookup operations (like strstr).
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
* dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Components: vulkan
VK-GL-CTS issue: 1927
Change-Id: I9635c81c056a8c8d83a832eddf2e371d1fcec885
(cherry picked from commit
4e2e58f4f53df69a295182a837f385ea8f8d1929)
Boris Zanin [Fri, 4 Oct 2019 09:52:09 +0000 (11:52 +0200)]
Remove uses of strstr in vktSpvAsmFloatControlsTests.cpp
Add flags to detect usage of types and/or constants using bit
flags instead of expensive string lookup operations (like strstr).
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
* dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Components: vulkan
VK-GL-CTS issue: 1927
Change-Id: I9635c81c056a8c8d83a832eddf2e371d1fcec885
Alejandro Piñeiro [Thu, 26 Sep 2019 10:52:41 +0000 (12:52 +0200)]
Remove tests that check non-zero values for reservedMustBeZero after GL 4.2
draw_indirect.misc-reservedMustBeZero-arrays and
draw_indirect.misc-reservedMustBeZero-elements tests that the driver
doesn't crash or emit any error if the reserved field at
DrawArraysIndirectCommand and DrawEelementsIndirectCommand is
different to zero.
But that field become defined on GL 4.2 (it became baseInstance), so
after 4.2 those tests doesn't make sense.
Components: OpenGL
VK-GL-CTS issue: 2023
Affects:
KHR-GL42.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL42.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL43.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL43.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL44.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL44.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL45.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL45.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL46.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL46.draw_indirect.misc-reservedMustBeZero-elements
Change-Id: I6c9872efd4f161179da157f6f5f26731a2032372
Juan A. Suarez Romero [Fri, 24 Nov 2017 11:36:19 +0000 (11:36 +0000)]
Set swap interval to 0
By default, when swapping front and back frame buffers, this is in sync
with v-blank, which prevents tearing.
So this means the tests does not run at is maximum allowed speed, but it
is restricted somewhat by the attached screen.
When running in a window and X realizes the is no monitor attached, the
server's Present code will vsync at 1 FPS, which artificially slow down
the tests a ton.
To avoid this issue, and also because we want to run things as fast as
possible, set the swap interval to 0, which basically deactivate the
sync.
Test: cmake .. -DDEQP_TARGET=x11_egl
Change-Id: I04bcb814fb289d58f8788e90f5118db0b7175777
Piers Daniell [Thu, 5 Sep 2019 18:19:24 +0000 (12:19 -0600)]
Limit the apiVersion of the instance within the CTS framework
This CL allows older CTS tests to run on implementations that
support a newer instance version not supported by this version
of CTS.
The dEQP-VK.api.version_check.version test was modified to
fail if this version of CTS is run on an implementation
it does not support. This is to stop old CTS from passing
on newer implementations, where the newer CTS should have
been used.
Affects:
dEQP-VK.api.version_check.version
dEQP-VK.*
Components: Vulkan
VK-GL-CTS issue: 1979
Change-Id: I97cd17b0aae9b3cba7c2e000d21636ad37c1fd80
Alexander Galazin [Fri, 11 Oct 2019 08:45:43 +0000 (10:45 +0200)]
Fix SEMAPHORE_TYPE_TIMELINE enum
Components: Vulkan
Change-Id: Id4949383bed578436e321c621a8ff495157da895
Alexander Galazin [Fri, 11 Oct 2019 08:32:13 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I6597defb9bda8c8e6393033bf444befd4b9301fb
John Corbally [Wed, 2 Oct 2019 16:31:55 +0000 (17:31 +0100)]
Fix relaxed precision and no perspective dEQP tests
In the RelaxedPrecision case, change epsilon to 2e-3 for a 16-bit float.
In the NoPerspective case, change epsilon to 3e-7 for a 32-bit float.
The epsilon is now relative to the correct value.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.*
Components: Vulkan
VK-GL-CTS issue: 1818
Change-Id: Id21382ce4b1cb58458ec3fb521630ab75e1910a3
Alexander Galazin [Thu, 10 Oct 2019 15:31:00 +0000 (17:31 +0200)]
Update glslang
Affects: dEQP-VK.binding_model.buffer_device_address.*
Components: Vulkan
VK-GL-CTS issue: 2046
Change-Id: I60e3579df3bb3f81732fec0c46803a97fc00953a
Peter Quayle [Wed, 9 Oct 2019 16:43:32 +0000 (17:43 +0100)]
Fixed flags used to select queue in dEQP-VK.synchronization.op.multi_queue
getDefaultQueue takes a VkQueueFlags argument and returns an appropriate VkQueue.
This function was being called with inappropriate arguments
causing the wrong queue to be returned. This could ultimately lead to work
being submitted to a queue which lacked support for it (e.g. graphics work
on a sparse queue).
Affects:
dEQP-VK.synchronization.op.multi_queue*
Components: Vulkan
VK-GL-CTS issue: 2043
Change-Id: I7887d1b4da8c916aed032433c6634c99b723f285
(cherry picked from commit
1bd32d3221dd65087de14ae061f798b78ac7ce0d)
Peter Quayle [Tue, 8 Oct 2019 16:35:04 +0000 (17:35 +0100)]
Fix semaphore creation in smoke tests
The test was calling createSemaphore instead of createSemaphoreType,
meaning that the semaphoreType value would incorrectly be interpreted
as a VkSemaphoreCreateFlags.
Additionally, the VkTimelineSemaphoreSubmitInfo struct was not being
added into the pNext chain of the submits. This probably went unnoticed
because the first bug could cause the test to use binary semaphores
even if semaphoreType was TIMELINE.
Affects:
dEQP-VK.synchronization.smoke.binary_semaphores
dEQP-VK.synchronization.smoke.timeline_semaphores
Components: Vulkan
VK-GL-CTS issue: 2041
Change-Id: I6936013b7f5a7e25f4af1fb4776d4d7273243d7a
(cherry picked from commit
a8238c0aa023c121f79f09c6565875e235292f27)
Mike Byrne [Mon, 30 Sep 2019 13:57:05 +0000 (14:57 +0100)]
Split descriptor set indexing render pass workload
The render pass workload for descriptor set indexing tests should be
split into multiple submissions to prevent timeouts observed in tests
for the VK_DESCRIPTOR_TYPE_SAMPLER,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER and
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE descriptor types.
Affects: dEQP-VK.descriptor_indexing*
Components: Vulkan
VK-GL-CTS Issue: 2026
Change-Id: I3b4876ec204fe1c1ebf174e06328653f0a5532d3
Alexander Galazin [Thu, 10 Oct 2019 13:46:35 +0000 (15:46 +0200)]
Whitelist Vulkan CTS 1.1.6.0
Also removes withdrawn versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: Ic020380e4bf25083692d99f83da747ea23aabba8
Alexander Galazin [Thu, 10 Oct 2019 13:37:50 +0000 (15:37 +0200)]
Whitelist VK_KHR_spirv_1_4
Compontents: Vulkan
Change-Id: I4f0a15b8dda5f556308f75b3f81aaade4d33db90
Marcin Kańtoch [Fri, 13 Sep 2019 14:42:54 +0000 (16:42 +0200)]
Fix indexing a push constant array member
gl_VertexIndex is used to index a push constant array member.
Vulkan spec says: Any member of a push constant block that is
declared as an array must only be accessed with dynamically
uniform indices. But gl_VertexIndex is not dynamically uniform.
Changed the test to use dynamically uniform indexing.
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.vert_pc_entry_point
Components: Vulkan
VK-GL-CTS issue: 2000
Change-Id: I767aacfe0fde27e083f7b4a82f808cb99fb31d16
(cherry picked from commit
30b013b2ba0dfd5eabd3f7a0412135a1c8be8038)
Marcin Kańtoch [Wed, 11 Sep 2019 14:23:07 +0000 (16:23 +0200)]
Change vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
Change the vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
in spirv1p4.entrypoint* tests to make the tests pass, while
waiting on a fix in Amber.
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint*
Components: Vulkan
VK-GL-CTS issue: 1992
Change-Id: Icb97b7328c2e1a61c1e1c20d7dda0449738619e1
(cherry picked from commit
6e78f208fc1eee97369363c846272e983a36c28e)
Reed Koser [Thu, 5 Sep 2019 20:48:11 +0000 (13:48 -0700)]
Fix undersized buffer use in extend operands tests
Prior to this patch, the dEQP.image.extend_operands_spirv1p4.* tests
used the size of the input image as the buffer size. Since the tests
reuse the buffer to read back the output image (which is potentially
much larger, due to the unconditional use of R32G32B32A32_*INT formats),
this resulted in corruption of device memory.
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Components: Vulkan
VK-GL-CTS issue: 1980
Change-Id: I8d07cd7d54cc305635b9674074a7eafa52bf6dfa
(cherry picked from commit
b38bedda7faf25272716ee234812d432637972e3)
Alan Baker [Tue, 3 Sep 2019 15:01:57 +0000 (11:01 -0400)]
Remove input blocks from SPIR-V 1.4 compute shaders
Split input blocks in compute shaders into flat variables.
Component: Vulkan
VK-GL-CTS Issue: 1967
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.ssbo_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.wg_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.ssbo_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.wg_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.ssbo_comparisons_diff
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.wg_comparisons_diff
Change-Id: I228583843148e36a33d7f469cb90f628eb432c37
(cherry picked from commit
b976f5430158a62e03fe46500e25133e7a6113f2)
Piotr Byszewski [Mon, 2 Sep 2019 10:59:03 +0000 (12:59 +0200)]
Fix check support for (Sign|Zero)Extend tests
Components: Vulkan
Affects:
dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: I5c546afcfdc533957fbb7d78a0a98f8845a56a1b
(cherry picked from commit
aa2226758650dee8239d0b36035c41b65ec1382d)
Piotr Byszewski [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Test SPIR-V 1.4 SignExtend and ZeroExtend
SPIR-V 1.4 has 2 new extra image operands (SignExtend and ZeroExtend)
indicating if the resulting texel of the operation should be sign
or zero extended.
Components: Vulkan
Affects:
dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: Ie0ca0125d4f536c318428fc95ebaf000c3f7136f
(cherry picked from commit
6c4f066ef6aac566e8ec400e4343de86a089143c)
Victor Lomuller [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Allow tests to be executed with SPIR-V 1.4
Components: Framework
Change-Id: I3135d7b0d96234bec53bbc4ec0185f4c816a5dcf
(cherry picked from commit
9b4c4d1645edb2e09d8357fa62b810df5ba3b9ec)
Boris Zanin [Mon, 27 May 2019 11:07:02 +0000 (13:07 +0200)]
Allow optimization for SPIR-V 1.4
This commit updates function optimizeCompiledBinary with
missing optimization reciepe for SPIR-V 1.4.
Also makes supports_VK_KHR_spirv_1_4 as an optional argument of
SpirVAsmBuildOptions constructor, though defaulting it to disable
support of SPIR-V 1.4.
The change affects if run with optimization command line arguments,
i.e. --deqp-optimize-spirv=enable and --deqp-optimization-recipe=!0
Affects:
* dEQP-VK.spirv_assembly.instruction.spirv1p4.*
Components: Framework
VK-GL-CTS issue: 1636
Change-Id: If0af53ea37521e686ca7d422cab9589cc0460dc5
(cherry picked from commit
b0d7da5045419b469a45c766194da1f0e026e824)
Piotr Byszewski [Mon, 22 Jul 2019 09:21:01 +0000 (11:21 +0200)]
Handle spir-v 1.4 in SpvAsmUtils
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.*
Change-Id: Ib960d1c4786c44c5c30ef9b4080e315681cb80aa
(cherry picked from commit
72cf3abff6b587712e27f38bdabf4927900c51b1)
Alan Baker [Thu, 20 Jun 2019 17:46:57 +0000 (13:46 -0400)]
Extra tests for SPIR-V 1.4
New tests
* OpPtrEqual and OpPtrNotEqual comparisons against different buffers
* NonWritable on a function variable in a non-entrypoint function
* Select between arrays
* Select between nested arrays and structs
* Select between pointers
* Selet between vectors with vector condition
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*
VK-GL-CTS issue: 1855
Change-Id: Ie49d7a914cd7346d7da83d02f515a2772ae5bf94
(cherry picked from commit
fbd39ed4f897735c22bb3472c18eed7756a476bb)
David Neto [Wed, 27 Mar 2019 00:45:28 +0000 (20:45 -0400)]
Add more SPIR-V 1.4 tests based on Amber
Tests:
- New instructions: OpPtrDiff, OpPtrEqual, OpPtrNotEqual,
OpDecorateString
- New decorations: UniformId, NonWritable, UserSemantic, CounterBuffer,
NoSignedWrap, NoUnsignedWrap
- OpCopyMemory can have two sets of memory access operands
- OpEntryPoint lists all module-scope variables
- New loop controls
- New cases for OpSelect
- UConvert in OpSpecConstantOp for Shader modules
Local fixes:
- Update Amber to newer version that handles push constants.
With MSVC, force Amber to use shared C Runtime DLL
- Modified the entrypoint tessellation control and evaluation tests to
set TessLevelInner and TessLevelOuter.
- Modified the tessellation control tests to fix typos and apply Patch
decoration.
- Artificially make all values within a buffer the same type, to
accommodate a new Amber limitation.
See https://github.com/google/amber/issues/497
- Loop control tests:
- Reduce iteration count to match sample data, adjust loop control
values
- Make loop control match test file name
- Use int data instead of float, so we can read int iteration count
from storage.
- Fix comment on all loop control tests
- Use StorageBuffer/Block instead of Uniform/BufferBlock
- Modify to use binding 0:
comp_pc_entry_point.amber,
wg_comparisons_equal.amber
wg_comparisons_not_equal.amber
- Fix typo for TessLevelOuter builtin
- Fix method name on call to vkt::Context::getVariablePointersFeatures
- Fix whitespace issues in C++ code
- variable_pointers_vars_ssbo_2_diff.amber only needs
VariablePointersStorageBuffer
- Fetch newer amber, fixing invalid requirement for fragment shader
https://github.com/google/amber/issues/553
Extend vkt::AmberTestCase so it can track instance extensions, device
extensions, and feature bits.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.loop_control.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopymemory.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uconvert.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uniformid.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.wrap.*
VK-GL-CTS issue: 1705
Change-Id: I1e0adde2258a4c5a313609f7f1d7b2b51be1a373
(cherry picked from commit
94804dca849178b5e222d9d9d53a2a54fd21e8a3)
Boris Zanin [Wed, 12 Jun 2019 10:29:26 +0000 (12:29 +0200)]
Fix same_struct_two_ids amber test
Due to 1.4 has removed some features and the test mentioned below
requires SPIR-V 1.4 the test fails with InternalError reporting:
2nd operand of Decorate: operand BufferBlock(3) requires SPIR-V
version 1.3 or earlier.
Replace BufferBlock with Block and use StorageBuffer instead of Uniform.
Updates:
* dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.same_struct_two_ids
Components: Framework
VK-GL-CTS issue: 1817
Change-Id: Ia80923fc6f717729712017904773c015c17168ec
(cherry picked from commit
facb3d6815f678c7d25d25919fca7e33cea931df)
David Neto [Sat, 2 Mar 2019 18:03:38 +0000 (13:03 -0500)]
Add VK_KHR_spirv_1_4 OpCopyLogical tests
Requires a version of Amber that knows how to check a recipe's instance and
device extensions.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.*
VK-GL-CTS issue: 1637
Change-Id: I19e91470e66a10b6809654aae81a507dc15ac948
(cherry picked from commit
4d7ed7d89ba8214eab1d740bbcf8a219d6a13b91)
David Neto [Fri, 29 Mar 2019 15:23:49 +0000 (11:23 -0400)]
VK_KHR_spirv_1_4 enables SPIR-V 1.4 modules
In Vulkan 1.1, VK_KHR_spirv_1_4 enables SPIR-V 1.4 modules for assembly
and validation. This is true even if the underlying Vulkan version doesn't
natively support SPIR-V 1.4.
Deprecates vk::getMaxSpirvVersionForGlsl and vk::getMaxSpirvVersionForAsm
in favour of unified vk::getMaxSpirvVersionForVulkan.
Components: Vulkan
VK-GL-CTS issue: 1712, 1711
Change-Id: I850ab4ec3a0d88485e838d4263d751b2d6e18c08
(cherry picked from commit
a7db98c20a6dd4e2366e4fc3ddd368a1fa08b98e)
(cherry picked from commit
0d79d48c0d39989393062af77b475771bba97f80)
Alexander Galazin [Thu, 10 Oct 2019 09:20:16 +0000 (11:20 +0200)]
Update vulkan_core.h
Components: Vulkan
Change-Id: Ibcc182d94ae731ab7bd396d450705f6d4f4b8b8e
Alexander Galazin [Thu, 10 Oct 2019 11:23:47 +0000 (13:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I1a867149d7386c7820597e092d2f04f2d7395f46
Alexander Galazin [Thu, 10 Oct 2019 11:21:55 +0000 (13:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I288a90fcda0d3cbd7fbb1f8d622dee03f6b74f62
Alexander Galazin [Thu, 10 Oct 2019 09:38:02 +0000 (11:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I45e2e3c52d89424f714c43c76fc2dd9aea2a793d
Alexander Galazin [Tue, 26 Mar 2019 12:32:57 +0000 (13:32 +0100)]
Enable explicit_lod tests
Updates filtering precision to 7 fractional bits
for sample in the case if the normal
filtering precision for 16 bit float texture fails.
VK-GL-CTS issue: 2009
Affects: dEQP-VK.texture.explicit_lod.*
Components: Vulkan
Change-Id: Idb6892686805145bcbdb5e520ca6fade58317a13
Chris Forbes [Wed, 25 Sep 2019 23:51:40 +0000 (16:51 -0700)]
Add feature requirements to existing amber files
Updates the amber files themselves to mirror the constraints enforced on the C++ side.
Components: Vulkan
Change-Id: I698a39732b02cb99fe1aeb369f1054ac9a769bfb
VK-GL-CTS: 1965
Chris Forbes [Thu, 29 Aug 2019 04:31:39 +0000 (21:31 -0700)]
Add variable pointers requirement for vktSpvAsmPtrAccessChainTests
These tests did not check for the variablePointers feature they need.
Components: Vulkan
VK-GL-CTS Issue: 1965
Affects: dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
Change-Id: Ied75a1c5661755549cc599b2397a18345bc727f9
Ricardo Garcia [Thu, 3 Oct 2019 08:51:00 +0000 (10:51 +0200)]
Fix buffer alignment in dynamic offset tests
The compute dynamic offset tests were using uniform or storage buffers
as input, depending on the test, while always using storage buffers as
output. Alignment requirements, however, were always being taken from
the input buffers, which could be wrong for the output buffer.
Affected tests:
dEQP-VK.pipeline.dynamic_offset.*
Components: Vulkan
VK-GL-CTS issue: 1746
Change-Id: Idb503139a5107959ebdfee27ad36ae86eb306cf7
Graeme Leese [Wed, 11 Sep 2019 12:40:06 +0000 (13:40 +0100)]
Fix broadcastFirst tests
Half of each broadcastFirst test was broken and not providing any useful
coverage. This fixes the tests to do what they were originally intended
to do.
Components: Vulkan
VK-GL-CTS issue: 1991
Affects: dEQP-VK.subgroups.ballot_broadcast.*.subgroupbroadcastfirst_*
Change-Id: I60bbfc9469cd71506aa913e09202393621c33bff
Matthew Netsch [Fri, 4 Oct 2019 21:09:39 +0000 (17:09 -0400)]
Fixes VS num instances assumption
Components: Vulkan
VK-GL-CTS Issue: 2022
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes*
Change-Id: Ie1d784733774ae357698cf8a5672fcccdb0c1e1e
Alexander Galazin [Wed, 9 Oct 2019 19:46:15 +0000 (21:46 +0200)]
Update SPIR-V Tools
Components: Framework
Affects: dEQP-VK.*
Change-Id: I84a18fe6c29279f7acce7b081300475f83e76c80
Alexander Galazin [Wed, 9 Oct 2019 08:22:19 +0000 (10:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I3a4370f43b25316f8cf4abf013eb08d0831dca91
Samuel Iglesias Gonsálvez [Fri, 27 Sep 2019 09:43:10 +0000 (11:43 +0200)]
Add pipeline derivatives to compute subgroup tests
Affected tests:
dEQP-VK.subgroups.*compute*
Components: Vulkan
VK-GL-CTS issue: 2019
Change-Id: I8b4b52945e32d488fc986687e0ba4d6d5676d584
Change-Id: Ib9aadba5d74daea5f9679b006ec1efa093174dd8
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Test all quad broadcasts in one test
Make them like the full-subgroup broadcast tests, rather than having a
separate test for broadcasting from each lane index.
Components: Vulkan
Affects: dEQP-VK.subgroups.quad.*.subgroupquadbroadcast*
(Tests are also renamed to remove the lane ID from the test name)
Change-Id: I1c22b9683acdce0c37b8a3fba3cae620e2d06adf
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Use a single test source for quad tests
Rather than repeat this through all the various combinations, just keep
one copy of the test source, so that changing it is not such a massive
pain.
Also, use a single source for the extension enables in the tests.
Components: Vulkan
Affects: dEQP-VK.subgroups.quad.*
Change-Id: I26ca2b035483aa47e021de7aefb3c94879c497d0
Alexander Galazin [Wed, 9 Oct 2019 07:12:17 +0000 (09:12 +0200)]
Remove unnecessary initializers
Components: Vulkan
Affects: dEQP-VK.glsl.shader_clock.*
Change-Id: I4526c05cdd5464f26450bba67f573b467881f4ff
Igor Ostrowski [Thu, 26 Sep 2019 13:09:28 +0000 (15:09 +0200)]
Check timeline semaphore features only when used.
Affects:
dEQP-VK.synchronization.op.multi_queue.*
Components: Vulkan
VK-GL-CTS issue: 2025
Change-Id: I8c586bcb0199ab00fe6fffb9290abd2b06523916
(cherry picked from commit
c20bf2e3023cb209ae3ec04b6e6339f8c3930dfb)
Alexander Galazin [Tue, 8 Oct 2019 17:28:47 +0000 (19:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I44be4e273707047428a95e8243734259c859fe0a