Graeme Leese [Wed, 22 Apr 2020 13:40:26 +0000 (14:40 +0100)]
Fix verification in multisample image store tests
The results were being verified for each sample but they were all being
stored to the same pixel in the (single-sample) result image, meaning
that only the last sample was actually checked.
Have the shader calculate the correct result for the whole pixel before
writing it out.
Component: Vulkan
VK-GL-CTS issue: 2310
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.image_write_sample.*
Change-Id: Ibe1383d7922073af0661f818ebf8bfe9ab20b9fe
Kyle Griffiths [Fri, 17 Apr 2020 11:26:54 +0000 (12:26 +0100)]
Allow RTZ rounding in spv_assembly*writes_two_buffers* tests
Because the tests perform an add operation, mismatch of the CPU and GPU
rounding modes can cause the tests to incorrectly fail.
This change modifies the verification to allow up to 1 ULP difference
between the output and the expected result, which covers the maximum
difference between RNE and RTZ rounding modes.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics*
VK-GL-CTS issue: 2320
Change-Id: Ic76942add1382c23885118f806ac593cc730eb73
Ricardo Garcia [Mon, 6 Apr 2020 12:32:37 +0000 (14:32 +0200)]
Use mandatory formats in stencil export tests
Stencil export tests were using VK_FORMAT_S8_UINT, which is not a
mandatory format. This commit adds more test variants using mandatory
stencil image formats for 2D images, guaranteeing these tests can run on
more implementations.
Existing tests have been renamed and other variants have been added.
Affected and new tests:
dEQP-VK.pipeline.shader_stencil_export.*
Components: Vulkan
VK-GL-CTS issue: 2292
Change-Id: Ied82c9958d3126fcb1b72716b3c4fdc109fe2e87
Alexander Galazin [Tue, 28 Apr 2020 07:00:56 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I0d3faba4abc2cd2d52ecf26f1cad4e3e17584cab
Alexander Galazin [Tue, 28 Apr 2020 07:00:53 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I06c7c486ac9b4a2193c4ba3ac1e26b53e70e0bd8
Alexander Galazin [Tue, 28 Apr 2020 07:00:50 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I7003461a2e0d865d5fcd837b5a5db8d12cfcba07
Alexander Galazin [Tue, 28 Apr 2020 07:00:44 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I24b7b71b378f93a21ee8d5074517cdf88950cb26
Alexander Galazin [Tue, 28 Apr 2020 07:00:40 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ibf71699514dcc482235457301c8cb591e5ef4ac2
Alexander Galazin [Tue, 28 Apr 2020 07:00:35 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Ia8887f2f979ea8f5cdf2013c2016b78a150d9d53
Alexander Galazin [Mon, 27 Apr 2020 18:21:35 +0000 (20:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I147ae97908fe69487a55770d3c3e7dd9b29f6356
Peter Quayle [Thu, 5 Dec 2019 11:34:25 +0000 (11:34 +0000)]
Remove event tests which use illegal behaviour
Two event tests were relying on being able to wait on the device for
an event to be set on the host. This behaviour is not allowed.
Affects:
dEQP-VK.synchronization.smoke.events
dEQP-VK.synchronization.basic.event.host_set_device_wait
Components: Vulkan
VK-GL-CTS issue: 2108
Change-Id: Idbb8b4e2468d617b3e47d5055622789a2dd3eb00
(cherry picked from commit
b45f4268074897cb4ee7da4b81a17b310301d77b)
(cherry picked from commit
8be9e27df3c1e1d9f50e549d7293bc202072d80d)
Alexander Galazin [Mon, 27 Apr 2020 13:20:19 +0000 (15:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I88785d64ee5ce89b2ddcc47e317c39a09cf36c8b
Alexander Galazin [Mon, 27 Apr 2020 13:18:36 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: I189c31ffefea426737af0c4560b94dbf54dec55d
Alexander Galazin [Mon, 27 Apr 2020 13:18:34 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I6263ae46427e5dcd439e26cb08e33c9e0c36dddd
Peter Quayle [Thu, 5 Dec 2019 11:34:25 +0000 (11:34 +0000)]
Remove event tests which use illegal behaviour
Two event tests were relying on being able to wait on the device for
an event to be set on the host. This behaviour is not allowed.
Affects:
dEQP-VK.synchronization.smoke.events
dEQP-VK.synchronization.basic.event.host_set_device_wait
Components: Vulkan
VK-GL-CTS issue: 2108
Change-Id: I3e3185d4b6ca3be94609b1d5d218e0d46076243d
(cherry picked from commit
b45f4268074897cb4ee7da4b81a17b310301d77b)
Amy Liu [Tue, 14 Jan 2020 08:34:30 +0000 (16:34 +0800)]
Initialize gl_PointSize if the test draws points
From GLSL specification: "If gl_PointSize is not written to,
its value is undefined in subsequent pipe stages"
Affects:
dEQP-GLES3.functional.primitive_restart.basic.points.*
dEQP-GLES3.functional.fragment_ops.scissor.partial_points
Components: AOSP
VK-GL-CTS issue: 2161
Change-Id: I3016287f7e55331522d6a7a8d562d8b57ab27e43
(cherry picked from commit
434240bf67d226947a3ccb73b10ea8e685f7aaaf)
Jian Li [Mon, 9 Dec 2019 05:24:05 +0000 (13:24 +0800)]
Fix some bugs for EGL cases
eglTerminate() wasn't called in proper sequence.
Resource wasn't released properly for not supported cases.
Affects:
dEQP-EGL.functional.image.*
dEQP-EGL.functional.resize.*
dEQP-EGL.functional.buffer_age.*
dEQP-EGL.functional.partial_update.*
Components: AOSP
VK-GL-CTS issue: 2153
Change-Id: Ic0a82aa176b9a8344f757916d61ea8f64c58eca5
(cherry picked from commit
53bfacd3d71753cda3448735e56ad249848c2460)
Piotr Byszewski [Tue, 17 Mar 2020 15:15:45 +0000 (16:15 +0100)]
Correct Flush(/Invalidate)MappedMemoryRange
This change replaces memory mapping calls that used calculated or
constant size with flushAlloc/invalidateAlloc helper functions.
Dedicated memory mapping tests were not affected by this change
same as tests that for memory mapping already used VK_WHOLE_SIZE
and tests that calculated mapping size basing on nonCoherentAtomSize.
Components: Vulkan
VK-GL-CTS issue: 78
Affects:
dEQP-VK.*
Change-Id: Idc20719e0c3a942459290b7c5cbea6ac1d5a2588
Samuel Iglesias Gonsálvez [Thu, 19 Mar 2020 19:57:26 +0000 (20:57 +0100)]
Add fp16 float control tests without 16bit_storage requirement
This CL adds new tests that don't require VK_KHR_16bit_storage
extension support to read float16 inputs or write float16 outputs.
It required to modify the fp16 output buffer size to hold an
unsigned 32-bits integer, whose 16 MSB are going to be unused
by the verification function but are needed to avoid requiring
VK_KHR_16bit_storage extension support.
A new userData member was added to the Resource class in order to
facilitate the selection of the verification function when we have
multiple outputs with different sizes (see checkMixedFloats()
function in vktSpvAsmFloatControlsTests.cpp).
Added tests:
dEQP-VK.spirv_assembly.instruction.*.float_controls.*nostorage*
Modified tests:
dEQP-VK.spirv_assembly.instruction.*.float_controls.*
Components: Vulkan
VK-GL-CTS issue: 1877
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ice7a6129ee7cfe8a8813115530584bb6dde607ba
Paul Thomson [Thu, 2 Apr 2020 17:32:35 +0000 (18:32 +0100)]
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-with-loop-read-write-global
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-with-loop-read-write-global
Change-Id: I5d66ac543665a3db993122861aee070e74d1c025
Paul Thomson [Mon, 6 Apr 2020 15:31:47 +0000 (16:31 +0100)]
dEQP-VK.graphicsfuzz.frag-coord-func-call-and-ifs
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.frag-coord-func-call-and-ifs
Change-Id: Ic28b0c96f8df99096e34b429e99e8b30a5b3a01c
Tomek Bury [Mon, 6 Apr 2020 10:27:20 +0000 (11:27 +0100)]
Enable EGL 1.4 fence sync tests without reusable sync extension
EGL_KHR_reusable_sync is not required for for testing other sync
extensions. The SyncTest::hasRequiredEGLExtensions() tests for
the presence of 3 extensions while testing only one of them at the time.
Especially the availability of EGL_KHR_reusable_sync is additionally
checked before any reusable sync test.
Components: EGL
VK-GL-CTS issue: 2295
Affects: dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.*
Affects: dEQP-EGL.functional.fence_sync.*
Affects: dEQP-EGL.functional.reusable_sync.*
Change-Id: Ib12bfc728e3b404d584c6467ab114a6d6418554e
Alastair Donaldson [Fri, 6 Dec 2019 14:28:43 +0000 (14:28 +0000)]
dEQP-VK.graphicsfuzz.do-while-false-loops
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.do-while-false-loops
Change-Id: I3119ec665c41690c7215abb04fad52c3001341e7
Ricardo Garcia [Tue, 10 Mar 2020 12:44:34 +0000 (13:44 +0100)]
Test interpolation functions with single components
This commits adds new variants to some multisample interpolation tests
to check single-component versions of interpolation functions, when the
component is accessed both as a constant and a non-constant expression
in the form of shader push constants.
New and affected tests:
dEQP-VK.pipeline.multisample_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2259
Change-Id: Ic1e825c850ac085a6f2d9ee5fa572918c144805b
Vihanakangas [Fri, 27 Mar 2020 09:03:05 +0000 (11:03 +0200)]
dEQP-VK.graphicsfuzz.arr-value-set-to-arr-value-squared
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.arr-value-set-to-arr-value-squared
Change-Id: I85e315042aa432c17ff170a076bcb64935113615
Alexander Galazin [Wed, 22 Apr 2020 07:14:47 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I266d5a83c01f3762cd4251b081c2095a7df0b85e
Alexander Galazin [Wed, 22 Apr 2020 07:14:45 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I90dcb868bcb96ae0af9e5eab684f37253c9cdf29
Matthew Netsch [Fri, 10 Apr 2020 14:54:53 +0000 (10:54 -0400)]
Fixes FDM subsampled tests
Test relying on undefined behavior
Components: Vulkan
VK-GL-CTS Issue: 2306
Affects:
dEQP-VK.renderpass2.fragment_density_map.static_nonsubsampled*
Change-Id: I1ffda224eef7570471e4a71df9c76ad1ab64796e
Thomas Spurden [Mon, 20 Apr 2020 14:00:07 +0000 (15:00 +0100)]
Actually create a waiver mechanism for gles3 tests
Change-Id: I980ac6ad5c6f0d940c58fd642d47dbe2def844a9
Ricardo Garcia [Tue, 25 Feb 2020 16:09:45 +0000 (17:09 +0100)]
Add tests for VK_AMD_shader_trinary_minmax
Test trinary min/max/mid operations from SPV_AMD_shader_trinary_minmax
with integers, unsigned integers and floats of different sizes using
single scalars as well as vectors.
New tests:
dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2238
Change-Id: Ib50205d87ec7af2487cb207a36fb5de98455ffb8
Ari Suonpaa [Mon, 30 Mar 2020 11:35:17 +0000 (14:35 +0300)]
Test OpCompositeInsert with OpUndef
Expanded composite insert tests to operate on
temporary variables generated by OpUndef.
VK-GL-CTS Issue: 1153
New tests:
dEQP-VK.spirv_assembly.*.composite_insert.undef_*
Components: Vulkan
Change-Id: I5907fc864d2aa95d8638bb76f03ceab948addf67
Ricardo Garcia [Tue, 17 Mar 2020 16:37:03 +0000 (17:37 +0100)]
Test strided stores in SSBOs
This commit adds new test variants to SSBO layout tests, using
per-column stores in matrix storage sections to test both strided and
contiguous stores work properly.
New tests:
dEQP-VK.ssbo.*_store_cols
Affected tests:
dEQP-VK.ssbo.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2269
Change-Id: I653984c597fbae8f69135d6583c44114ab70fac6
Vihanakangas [Fri, 6 Mar 2020 11:52:09 +0000 (13:52 +0200)]
Add a batch of GraphicsFuzz tests
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.array-idx-multiplied-by-for-loop-idx
dEQP-VK.graphicsfuzz.assign-array-value-to-another-array-2
dEQP-VK.graphicsfuzz.assign-array-value-to-another-array
dEQP-VK.graphicsfuzz.cosh-return-inf-unused
dEQP-VK.graphicsfuzz.create-color-in-do-while-for-loop
dEQP-VK.graphicsfuzz.do-while-with-if-condition
dEQP-VK.graphicsfuzz.find-msb-from-lsb
dEQP-VK.graphicsfuzz.function-with-float-comparison
dEQP-VK.graphicsfuzz.increment-value-in-nested-for-loop
dEQP-VK.graphicsfuzz.nested-for-loops-switch-fallthrough
dEQP-VK.graphicsfuzz.return-mat2x3-value-from-func
dEQP-VK.graphicsfuzz.set-color-in-one-iteration-while-loop
dEQP-VK.graphicsfuzz.struct-array-data-as-loop-iterator
dEQP-VK.graphicsfuzz.switch-with-fall-through-cases
dEQP-VK.graphicsfuzz.vector-values-multiplied-by-fragcoord
Change-Id: I9297ba4a1b18b686ba6dea503adedaa80aa2a4a0
Alexander Galazin [Mon, 20 Apr 2020 08:00:17 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I421ee5c5e818b583840535a4f38876c870e14c31
Alexander Galazin [Mon, 20 Apr 2020 08:00:15 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Ib7ba759444bd834bd1be1e6094c075b48653afb6
Stephen Gallimore [Tue, 14 Apr 2020 13:12:26 +0000 (14:12 +0100)]
Prevent odd width single plane 422 images in dEQP-VK.ycbcr.query.*
It is invalid for 422 sampled image formats to have odd widths,
but this was only being enforced in the tests for multi-plane not
single plane formats.
Component: Vulkan
Affects: dEQP-VK.ycbcr.query.*
VK-GL-CTS Issue: 2309
Change-Id: Ie23eb77686ac2e6ab51367af92181a3f967d55d9
Piotr Byszewski [Wed, 25 Mar 2020 15:39:18 +0000 (16:39 +0100)]
Auto-generate deviceFeatures2 test
Components: Vulkan
VK-GL-CTS issue: 1581
Affects:
dEQP-VK.api.info.get_physical_device_properties2.features
Change-Id: Ifb76899735d452173e1df6782d1a3f934ef871f6
Ricardo Garcia [Mon, 13 Apr 2020 10:17:42 +0000 (12:17 +0200)]
Fix validation problems with renderpass tests
This commit fixes several problems found while running the set of
renderpass tests with an up-to-date version of the validation layers.
* Stencil aspects of some images were not being properly transitioned to
the expected layout used later in some tests.
* Fixed reported interface mismatch between vertex and geometry shaders.
* Invalid flush size for the vertex buffer in some tests, caused by not
properly honoring nonCoherentAtomSize.
* In the same case as above, the allocation offset was being rounded up
to the nearest multiple of nonCoherentAtomSize instead of being
rounded down, which means some vertices could be left unflushed.
In addition, de::roundUp and de::roundDown are introduced by the commit
as they are somewhat frequent operations in some tests, but only updates
the affected renderpass tests to use them.
Affected tests:
dEQP-VK.renderpass.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2307
Change-Id: Ic78b2fe4707c4ddb0ade91d85e124190e94a1ed2
Piotr Byszewski [Mon, 30 Mar 2020 16:47:30 +0000 (18:47 +0200)]
Add waiver info to log sessionInfo
Writing of session info was separated from log constructor.
It is now possible for test package to specify additional
session info content.
Components: Framework, OpenGL, Vulkan
VK-GL-CTS issue: 2222
Affects:
dEQP-VK.*
cts-runner
Change-Id: Id03855a72a0690fcac2eaff645abf04893ad80f6
Piotr Byszewski [Thu, 9 Apr 2020 11:41:09 +0000 (13:41 +0200)]
Clean ExternalMemoryUtil
This change separates choosing of memory type from
allocateExportableMemory utility function. This makes
use of this functions more clear.
Previous implementation needed to be done ASAP and
involved passing of non-const reference to
allocateExportableMemory which was then filled.
This workaround made code unnecessarily hard to follow.
Components: Vulkan
VK-GL-CTS issue: 587
Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.synchronization.signal_order.*
dEQP-VK.synchronization.cross_instance.*
Change-Id: I781388db390f13c7c03785dd0ae34ae0128ec31c
Tomasz Owczarek [Wed, 8 Apr 2020 08:38:17 +0000 (09:38 +0100)]
Queries test should handle devices with disabled inheritedQueries
Avoid test failure by checking device support of "inheritedQueries"
feature and not using functinalities that are not supported.
Affects:
dEQP-VK.query_pool.concurrent_queries.secondary_command_buffer
Components: Vulkan
VK-GL-CTS issue: 2302
Change-Id: I304d2c025cbbdcabb1ebd03241964f14e0cdad1b
Alexander Galazin [Mon, 20 Apr 2020 07:16:33 +0000 (09:16 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I7797e4c314090d89a6d1ef52067b67630583796d
Alexander Galazin [Sun, 19 Apr 2020 13:00:16 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I0693b85b8559ca902240f0f8996278f02f205dca
Alexander Galazin [Sun, 19 Apr 2020 13:00:14 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I4a155c0a5fc48e0fb3d93b2bf822a3d33c03929b
Alexander Galazin [Sun, 19 Apr 2020 08:24:02 +0000 (10:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I124ba8b68acbe803453bda223ac02e26d90a6255
Piotr Byszewski [Fri, 3 Apr 2020 08:45:27 +0000 (10:45 +0200)]
Test memory leaks in vkEnumeratePhysicalDevices
This change adds dedicated test that checks if vkEnumeratePhysical-
Devices does same amount of memory frees as it does allocations.
Additionally alloc_callback_fail tests were changed so that if
object construction was not successful with given number of
allocations it is attempted one more time with 10000 allowed
allocations. This will mainly affect instance and device
creation tests as they require many allocations and with
this we will be able to detect possible memory leaks.
Components: Vulkan
VK-GL-CTS issue: 149
Affects:
dEQP-VK.api.device_init.enumerate_devices_alloc_leak
dEQP-VK.api.object_management.alloc_callback_fail.*
Change-Id: Ic64054a0753a4ba4fdf3e7ef3104787bf5d2a72b
Szymon Szczyrbak [Tue, 14 Jan 2020 12:40:51 +0000 (13:40 +0100)]
Add memory barrier to fragment shader interlock tests.
Image or buffer written by GPU are copied to host-visible buffer used to
verify test's results.
Added a TRANSFER_WRITE/HOST_READ pipeline barrier to make sure that the data
accessed by host is up-to-date.
Component: Vulkan
Affects: dEQP-VK.fragment_shader_interlock.basic.*
VK-GL-CTS Issue: 2165
Change-Id: I6d458b2e650a3813e62948d670b8a53e864aed37
(cherry picked from commit
1f1f54995a1a32ad4b7f9f357a39c19d3c1c0a7c)
Jeff Bolz [Mon, 16 Mar 2020 18:46:17 +0000 (13:46 -0500)]
Apply nonUniformEXT after constructing a combined image/sampler
nonUniformEXT doesn't propagate through constructors, so apply it
after constructing a combined image sampler. Also, update the glslang
commit to include a fix that allows nonuniform sampler constructors.
Component: Vulkan
Affects: dEQP-VK.descriptor_indexing.*
VK-GL-CTS Issue: 2268
Change-Id: Icd3cc0d47dc39aa3e61c4ebff99e254b9296230c
Alexander Galazin [Fri, 17 Apr 2020 09:20:25 +0000 (11:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: Ia79a8ea06da0fcb366ebb66e99a1285d2b0019b7
Ricardo Garcia [Tue, 7 Apr 2020 16:11:01 +0000 (18:11 +0200)]
Improve image logging in some renderpass tests
Some renderpass tests have a reference buffer where some of the "pixel
components" are set to have a boolean value and some of them are left unset
(this means 3 possible values: unset, set to false, set to true). When writing
to real images in a variety of formats, they store either 0.0 (for "false") or
1.0 (for "true"), no matter the actual pixel format because it works in any
case. But when logging those images, they are translated to RGBA8 PNG format
using the logging facilities, which do not adapt well to this case.
In particular, unnormalized formats have their component value ranges checked
dynamically and adapted to an approximation if needed, which sometimes means
the reference image and the output image look nothing like each other even when
the test passes.
This commit does a small image color translation for both the result image and
the reference buffer only for the purpose of logging, without affecting the
tests themselves. All images are transformed to RGBA8, unsigned
normalized format prior to logging. Unset component values are
translated to a 3x3 grid with values 0.0 and 0.25, component values set
to false are translated to 0.5 and component values set to true are
translated to 1.0, providing clear visual separation between all 3
possibilities while unifying the representation of the reference buffer
and the output image.
In addition, to minimize the cost of that translation and reducing CPU impact
in general, this commit stops logging images when tests pass.
No test results should be affected by these changes.
Affected tests:
dEQP-VK.renderpass*.*allocation.simple.*
dEQP-VK.renderpass*.*allocation.formats.*
dEQP-VK.renderpass*.*allocation.attachment.*
dEQP-VK.renderpass*.*allocation.attachment_allocation.*
dEQP-VK.renderpass*.*allocation.attachment_write_mask.*
Components: Vulkan
VK-GL-CTS issue: 2299
Change-Id: I1f85b7576de7987ab980555ad095064208164a33
Arkadiusz Sarwa [Tue, 7 Apr 2020 11:04:40 +0000 (13:04 +0200)]
Fix framework for R64 int images test
Affects:
dEQP-VK.api.info.*r64_*int
dEQP-VK.api.buffer_view.create.*.r64_*int
dEQP-VK.api.granularity*r64_*int
Components: Framework, Vulkan
VK-GL-CTS Issue: 2286
Change-Id: I675cbf34cd59733f5a73d987c16c3b3d323fd170
Ricardo Garcia [Tue, 24 Mar 2020 16:31:31 +0000 (17:31 +0100)]
Check vkGetInstanceProcAddr works with NULL instance
This commit makes sure vkGetInstanceProcAddr can resolve itself when
used with a NULL instance, being a platform function.
In addition, vkEnumerateInstanceVersion is always checked, when present
in the corresponding API table, to work as a platform function returning
a function pointer when called with a NULL instance.
Affected tests:
dEQP-VK.api.version_check.entry_points
Components: Vulkan
VK-GL-CTS issue: 2278
Change-Id: Ia6e23b8aa2328646003ada8e4d5947656566ccaf
s.fricke [Wed, 1 Apr 2020 17:21:04 +0000 (10:21 -0700)]
Add Mandatory extension features
Along with adding new feature checks, had to add logic to allow
OR cases where at least 1 feature for an extension needs to be
supported.
https://gitlab.khronos.org/vulkan/vulkan/merge_requests/3685
This CL updates the test to align with the MR.
Components: Vulkan
Affects: dEQP-VK.info.device_mandatory_features
VK-GL-CTS issue: 2287
Change-Id: I4e8a04f30cf15d016072252cf137fc16e3c28a34
Arkadiusz Sarwa [Thu, 9 Apr 2020 12:35:29 +0000 (14:35 +0200)]
Add missing extensions VK_GOOGLE
Add:
VK_GOOGLE_decorate_string
VK_GOOGLE_hlsl_functionality1
Affects:
dEQP-VK.api.info.android.no_unknown_extensions
Components: Vulkan
VK-GL-CTS issue: 2304
Change-Id: I794ddd1821dccf1d4b5c5e22bbcb0e4c3388d9ae
s.fricke [Fri, 3 Apr 2020 19:42:35 +0000 (12:42 -0700)]
Fix format features required with samplerYcbcrConversion
According to the #formats-requiring-sampler-ycbcr-conversion section
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT is not checked for any
format required of samplerYcbcrConversion
Components: Vulkan
Affects: dEQP-VK.api.info.format_properties.*
VK-GL-CTS issue: 2290
Change-Id: Ie7da73e9a763b060511d2cd3b809bfc723d01e10
Samuel Iglesias Gonsálvez [Fri, 3 Apr 2020 08:10:29 +0000 (10:10 +0200)]
Fix number of pipelines/framebuffers/renderpasses created in dynamic offset tests
Tests need a pipeline/framebuffer/renderpass per command buffer to be
executed. For the single command buffer case, we were creating an extra
one that is unused.
However, it will produce crashes if we ever add tests with more than
two command buffers, as it is using the command buffer index to get
the respective pipeline/framebuffer/renderpass element to bind.
Components: Vulkan
VK-GL-CTS issue: 2293
Affected tests:
dEQP-VK.pipeline.dynamic_offset.*
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ie1b2fb80f4fdff56c9e7879c9b1382f61c4ee622
Slawomir Cygan [Fri, 23 Aug 2019 12:33:19 +0000 (14:33 +0200)]
Explicitly use -A Win32 platform in CMake Visual Studio 2019 builds
There is a new CMake switch "-A" for selecting a platform in
Visual Studion CMake generators.
It was set only for 64-bit builds (to x64), however it seems it does not
default to Win32 - so it must be set also for 32-bit builds.
Components: Framework
VK-GL-CTS Issue: 1950
Change-Id: I4d0e9f1a9c8dd0f3060e138f613c8e5326b6fc9f
(cherry picked from commit
a653debe1b4bc8a6d0c94c774aad4f3fcdda1595)
Slawomir Cygan [Tue, 9 Jul 2019 10:19:26 +0000 (12:19 +0200)]
Add support for building with Visual Studio 2019
Components: Framework
Change-Id: I52c92750e9e2874b86fd7bceea0070ad609909c1
(cherry picked from commit
cab8ce57b1400c6909a555973cb8393e1036e610)
Peter Quayle [Thu, 5 Dec 2019 11:34:25 +0000 (11:34 +0000)]
Remove event tests which use illegal behaviour
Two event tests were relying on being able to wait on the device for
an event to be set on the host. This behaviour is not allowed.
Affects:
dEQP-VK.synchronization.smoke.events
dEQP-VK.synchronization.basic.event.host_set_device_wait
Components: Vulkan
VK-GL-CTS issue: 2108
Change-Id: Idbb8b4e2468d617b3e47d5055622789a2dd3eb00
(cherry picked from commit
b45f4268074897cb4ee7da4b81a17b310301d77b)
Alexander Galazin [Thu, 16 Apr 2020 07:33:51 +0000 (09:33 +0200)]
Remove vk-default-no-waivers.txt
Components: Vulkan
Change-Id: I759f074a5bce975b18f1194541eaba14be883466
Alexander Galazin [Thu, 9 Apr 2020 08:31:08 +0000 (10:31 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.4.x
Components: Vulkan
Change-Id: Ie42fa8b4cee043d78b0a793bd339026c47e2324e
Alexander Galazin [Tue, 14 Apr 2020 07:44:46 +0000 (09:44 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I31504aced573483a63d0ded9c314a14a1250e711
Caio Marcelo de Oliveira Filho [Thu, 22 Feb 2018 01:54:57 +0000 (17:54 -0800)]
Handle gcc 7 warnings
- "-Wimplicit-fallthrough" warns on case conditions that
fallthrough. GCC does have a way to accept conditions that have a
comment about falling through inside the cases, but the codebase has
other cases where a single comment explains the fallthrough for the
whole switch. This warning is being ignored. It was not possible to
use "-Wno-error=WARNING" because older GCCs fail -- but they do
accept "-Wno-WARNING" where WARNING is unknown (since at least gcc
4.6.4).
- "-Wint-in-bool-context" warns (among other things) about result of
multiplication being used in boolean context. Code was changed to
use de::max() instead.
- "-Wmaybe-uninitialized" warned about some attributes of a struct not
being initialized depending on the case. Code was changed to
initialize the struct in question.
Components: Framework, Vulkan
Change-Id: Iabb26f01e047353c6e2a704ab27b673e85b185be
(cherry picked from commit
f1ee9253e64f7434cdba7c8ac048c0e9baccc133)
Mika Väinölä [Tue, 20 Mar 2018 11:40:57 +0000 (13:40 +0200)]
Fix GCC 7 implicit fallthrough warnings
GCC 7 with -Wextra or -Wimplicit-fallthrough enabled warns when
a switch case falls through. For cases where this is intentional
the warning can be suppressed with a comment. Breaks and returns
were also added for cases which end in DE_FATAL.
Removing a fallthrough in vktSparseResourcesShaderIntrinsics.cpp
resulted in new test cases.
Affects: *
New tests:
dEQP-VK.sparse_resources.shader_intrinsics.3d_sparse_fetch.*
Components: Framework, Vulkan, OpenGL
VK-GL-CTS issue: 1067
Change-Id: I0306f96cf3a50e85144b4dd22a9a88cd908607d3
(cherry picked from commit
884a93c6b9bc5dc8a7fea9392b37b8fd5ea04d7b)
Jesse Hall [Tue, 27 Mar 2018 23:49:03 +0000 (16:49 -0700)]
Add glu::BufferOffsetAsPointer utility
Clang 6.x adds a warning that doing arithmetic involving a NULL
pointer is a GNU extension. This affects the common GL pattern
(deUint8*)DE_NULL + offset
used to pass an offset into a bound buffer object as a client pointer
parameter.
This change replaces that pattern with a call to a new utility
function glu::BufferOffsetAsPointer(), which will hopefully be
warning-free on all compilers.
Change-Id: I8be939297b02c44091441c71ae75e45ceab30639
Components: Framework, OpenGL, AOSP
(cherry picked from commit
05d98991304fce712732124e5e12fb670ee5a799)
Alexander Galazin [Mon, 13 Apr 2020 13:10:46 +0000 (15:10 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: Iff877c6f06ecb020dd393311530c2706325a9d02
Samuel Iglesias Gonsálvez [Mon, 10 Feb 2020 12:33:14 +0000 (13:33 +0100)]
Add VK_AMD_shader_image_load_store_lod tests
Updated spirv-tools and glslang to support the extension.
Components: Vulkan, Framework
VK-GL-CTS issue: 2159
Added tests:
dEQP-VK.image.load_store_lod.*
Modified tests:
dEQP-VK.image.*
Change-Id: I344b1d15437d9c32aed218e28826843a107048ef
Alexander Galazin [Sun, 12 Apr 2020 14:40:11 +0000 (16:40 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: Iecdf1903394046e459101b1f1e88cfc4756e081b
Alexander Galazin [Sun, 12 Apr 2020 13:23:52 +0000 (15:23 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I5c292b5227c3e6c22910fce671a0dca1eaf7be64
Alexander Galazin [Sun, 12 Apr 2020 12:16:07 +0000 (14:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ib04e5c0c04f5049f6008215035996157e9beaf86
Alexander Galazin [Sun, 12 Apr 2020 07:51:50 +0000 (09:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I2e8f17214a381fb9d486dd5a29173cc068ee4bd7
Alexander Galazin [Sat, 11 Apr 2020 16:21:59 +0000 (18:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I20237be63b00f950377fa287c1d58eb332601ea4
Alexander Galazin [Fri, 10 Apr 2020 19:52:19 +0000 (21:52 +0200)]
Update SPIR-V Tools, Headers
Components: Framework
Change-Id: I6d98100cd0b007cd0ddfef2679d232c7a418ab83
Alastair Donaldson [Tue, 26 Nov 2019 14:17:11 +0000 (14:17 +0000)]
Fix invalid SPIR-V in GraphicsFuzz tests
Components: Vulkan
VK-GL-CTS Issue: 2122
Affected tests:
dEQP-VK.graphicsfuzz.continue-and-merge
dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.discard-continue-return
dEQP-VK.graphicsfuzz.fragcoord-control-flow-2
dEQP-VK.graphicsfuzz.fragcoord-control-flow
dEQP-VK.graphicsfuzz.loop-call-discard
dEQP-VK.graphicsfuzz.mat-array-deep-control-flow
dEQP-VK.graphicsfuzz.mat-array-distance
dEQP-VK.graphicsfuzz.return-in-loop-in-function
dEQP-VK.graphicsfuzz.unreachable-continue-statement
Change-Id: Iaa7448ee4a815d9e3a1c8a5582214ecd599ac143
(cherry picked from commit
46bcbf639d7bd79f630587fdc951dfa2ee8507af)
Jeff Bolz [Mon, 7 Oct 2019 14:39:02 +0000 (09:39 -0500)]
remove opconstantnull physical storage pointer tests
These are no longer considered valid after recent spec changes.
Components: Vulkan
Affects: Removes dEQP-VK.spirv_assembly.*phys*opconstantnull*
Change-Id: I79566387a8f5a1f12dbd2ab5996ad69d43079ea2
(cherry picked from commit
35898f102a2d92398cdb2c54db68cbd359ba6d2a)
Alexander Galazin [Fri, 10 Apr 2020 19:49:03 +0000 (21:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Id686986377496ddc1a859c9ddecfea0e7322775d
Alexander Galazin [Fri, 10 Apr 2020 19:49:00 +0000 (21:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I588d3c0cb5f9505d56f32809c1119c725a6c1233
Alexander Galazin [Fri, 10 Apr 2020 19:48:58 +0000 (21:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: If55ee66532b61481f5c3b61e1cdb1361d66fe14f
Alexander Galazin [Fri, 10 Apr 2020 19:48:56 +0000 (21:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I650592e9a9c662777a664983d375a385f4f6c164
Slawomir Cygan [Mon, 23 Mar 2020 15:27:41 +0000 (16:27 +0100)]
Enable MSAAx16 non-stict wide lines rasterization tests
Components: Vulkan
VK-GL-CTS Issue: 1024, 2943
Affects:
dEQP-VK.rasterization.interpolation_multisample_16_bit.lines_wide
dEQP-VK.rasterization.interpolation_multisample_16_bit.non_strict_lines_wide
dEQP-VK.rasterization.primitives_multisample_16_bit.no_stipple.non_strict_lines_wide
Change-Id: I51a76685f54121de0e5a046cc841ab31e07ef1d4
Piotr Byszewski [Tue, 3 Mar 2020 13:51:54 +0000 (14:51 +0100)]
Waiver mechanism
Components: Framework, OpenGL, Vulkan
Affects:
dEQP-VK.*
cts-runner
VK-GL-CTS issue: 2222
Change-Id: I7d23400d4251f79ae3ffda80553878e95b34a5db
Ricardo Garcia [Mon, 2 Mar 2020 11:03:56 +0000 (12:03 +0100)]
Test nearest sampling edge cases
Add more exact sampling cases to check texel coordinates are properly
truncated when sampling near the edge of a texel.
Affected and new tests:
dEQP-VK.pipeline.sampler.exact_sampling.*
Components: Vulkan
VK-GL-CTS issue: 2240
Change-Id: Ifc9b18c7b02eeb11e5ae005842f97ed1319d7460
Alexander Galazin [Thu, 9 Apr 2020 14:56:44 +0000 (16:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ie58763e28c3506b96af71f5081affb7120c5525e
Alexander Galazin [Thu, 9 Apr 2020 13:15:06 +0000 (15:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I766b629816aa831928068978bb5a8498e9a94750
Alexander Galazin [Thu, 9 Apr 2020 12:02:46 +0000 (14:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I7ac92f125386c947f5ce09f0129c4678809e73a2
Alexander Galazin [Thu, 9 Apr 2020 08:55:24 +0000 (10:55 +0200)]
Update Amber
Components: Framework
Change-Id: Idb5925b6c977062221e63ca088eb50f2c6f8fbaa
Andres Gomez [Thu, 23 May 2019 16:34:13 +0000 (18:34 +0200)]
gl4cComputeShaderTests: correct conversion
Bug 13124 - gl45 conformance: Fix GL45-CTS.compute_shader.max to work with giant numbers
and
Bug 13582 - Checking values from glGet* incorrectly
didn't complete the job of avoiding conversion problems.
Now, we make sure that the comparison is done in the type that won't
cause a problem.
Components: OpenGL
VK-GL-CTS public issue: 149
Affects:
KHR-GLES31.core.compute_shader.dispatch-indirect
KHR-GLES31.core.compute_shader.max
KHR-GL43.compute_shader.dispatch-indirect
KHR-GL43.compute_shader.max
Change-Id: I69047d95ca4418a84f138ac9bfa7818fea45cc64
Alexander Galazin [Thu, 9 Apr 2020 10:02:27 +0000 (12:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I758092828fa1c8cf4398dd34630ba40de3ca4399
Alexander Galazin [Thu, 9 Apr 2020 08:44:04 +0000 (10:44 +0200)]
Update vulkan_core.h
Components: Vulkan
Change-Id: I8bdf4eeffd0291e146eb42c5c79b403d776e86d8
Alexander Galazin [Thu, 9 Apr 2020 08:33:32 +0000 (10:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ie94ff317fc6fc42057ce607e751d774529af844f
Ricardo Garcia [Wed, 25 Mar 2020 16:43:42 +0000 (17:43 +0100)]
Add tool to view TestResults.qpa images
This commit adds a self-contained, single-page web app to view images
contained in TestResults.qpa files, usually saved there when a test
fails.
To use it, just open the HTML file with a web browser.
VK-GL-CTS issue: 2281
Change-Id: I40fa637037a2b6ea5aef140055a749a2ed440edf
Samuel Iglesias Gonsálvez [Thu, 2 Apr 2020 09:00:26 +0000 (11:00 +0200)]
Remove TODO, FIXME that were left behind
After checking pending TODOs and FIXMEs, found some that were
added when writing the tests and I forgot to remove them before
submitting the tests for review.
Components: Vulkan
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ic6c93886208127934814184561ff02c05c95d1e2
Alexander Galazin [Thu, 9 Apr 2020 07:20:20 +0000 (09:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I7771bb8031b5cf0d28faf840bfc4fa9d8e6c3828
Yanjun Zhang [Fri, 20 Mar 2020 22:30:37 +0000 (15:30 -0700)]
Half-float texture interpolation tolerance is too small.
Need to increase the precision tolerance for VSI mobile GPUs.
Components: Vulkan
Affects: dEQP-VK.texture.explicit_lod.2d.*
VK-GL-CTS issue: 2273
Change-Id: I957f8af87dd7413d6a4e50f2141cc777f5e292d6
Boris Zanin [Fri, 18 Oct 2019 13:38:32 +0000 (15:38 +0200)]
Framework definitions for VK_KHR_ray_tracing
Initial commit required to build VK_KHR_ray_tracing.
Also contains framework definitions for wrappers used
to run CTS with VK_NV_ray_tracing extention.
Components: Framework, Vulkan
VK-GL-CTS issue: 2143
Change-Id: I5fa7556f72fd0155f3eadfb0eaf2c8c84c540791
Paul Thomson [Thu, 16 Jan 2020 16:12:53 +0000 (16:12 +0000)]
dEQP-VK.graphicsfuzz.switch-loop-switch-if
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.switch-loop-switch-if
Change-Id: I8d7a1c11802bf6be62e641681eef143f597155a1
Jari Komppa [Wed, 25 Mar 2020 13:47:14 +0000 (15:47 +0200)]
Add test case for negative int div and
Test for a case where negative integer is divided and then and:ed.
New tests:
dEQP-VK.glsl.combined_operations.negintdivand
Components: Vulkan
VK-GL-CTS issue: 2279
Change-Id: I9838ec66d48cbedb555c75ab82a2228287d63436
Ricardo Garcia [Mon, 30 Mar 2020 13:04:37 +0000 (15:04 +0200)]
Avoid fragment shader in some depth/stencil tests
This commit makes depth/stencil tests with no color attachments have no
fragment shader at all, instead of an empty fragment shader.
In addition, make stencil export tests keep the stencil value when
running with color attachments.
Affected tests:
dEQP-VK.pipeline.stencil.nocolor.*
dEQP-VK.pipeline.depth.nocolor.*
dEQP-VK.pipeline.shader_stencil_export.*
Components: Vulkan
VK-GL-CTS issue: 2235
Change-Id: Ic6090d140f247f79bb59425cb6db1db59a193114
Ricardo Garcia [Tue, 31 Mar 2020 14:45:54 +0000 (16:45 +0200)]
Test large indirect draw count and small parameter
Indirect draw count commands have two limits specified as the maximum
number of draw calls. The first one is the maxDrawCount command
parameter and the second one is the count stored in the count buffer.
CTS was lacking coverage for testing the command parameter was being
honored and could act as the upper limit for the number of draws. This
commits adds new test combinations to check that.
In addition, several validation problems have been fixed in the indirect
draw tests, hence marking all indirect draw tests as affected.
New tests:
dEQP-VK.draw.indirect_draw.*param_count*
Affected tests:
dEQP-VK.draw.indirect_draw.*
Components: Vulkan
VK-GL-CTS issue: 2276
Change-Id: I3b2ce5c87ee5ba21e6dacfa360daaf546528c2cb
Ari Suonpaa [Fri, 6 Mar 2020 08:19:59 +0000 (10:19 +0200)]
Added tests for line continuity
The current tests verify line rasterization results
quite loosely because of differences in implementations.
However a line with missing pixels were still passing
the tests. This adds separate tests that catch such
rasterization errors.
Amber has been updated to add polygon mode support.
New tests:
dEQP-VK.rasterization.line_continuity.line-strip
dEQP-VK.rasterization.line_continuity.polygon-mode-lines
VK-GL-CTS issue: 2024
Components: Vulkan
Change-Id: Ibad1deb85f3a5bbc169723f0d8c00c3192447917