Matthew Netsch [Fri, 7 Jan 2022 20:04:32 +0000 (20:04 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Change-Id: I06c1710694fe646df5e3d6002091931d1b94f9d1
Tapani Pälli [Sat, 11 Dec 2021 07:58:58 +0000 (09:58 +0200)]
Fix compilation issues with ShaderLibraryCase assert
This assert was causing issues with some compilers/options.
Components: Framework, OpenGL
VK-GL-CTS issue: 3399
Fixes:
a590d9ab4 ("Add check for ES compatibility extensions with Desktop OpenGL")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I070d82e7e9c0a4aafbda21cabd18a2d37b5b2cf0
Tapani Pälli [Tue, 21 Dec 2021 06:19:46 +0000 (08:19 +0200)]
Query default FBO Depth, Stencil only when format requires
Earlier commit removed DSA usage but introduced a problem with
framebuffer parameter type and size queries in some configs.
Without DSA, we get errors if querying for attachment that does
not exist in framebuffer. Patch introduces a check to make sure
we do not query for separate depth/stencil attachment if that
would not exist in format.
VK-GL-CTS issue: 3092
Affects:
KHR-*.internalformat.renderbuffer.*
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I65ba7f74e5abd3a5bff17cd74ca4abcdf3f0ab53
Tapani Pälli [Thu, 9 Dec 2021 12:40:31 +0000 (14:40 +0200)]
Fix OpenGL implicit conversions tests
This change removes following tests:
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es32.*
The problem with these tests was generated data for the tests
required OpenGL ES extension. Instead we import new generated
data for gl45 and utilize that creating following tests for
OpenGL 4.5:
dEQP-GL45.functional.shaders.implicit_conversions.gl45.*
Affects:
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es32.*
dEQP-GL45.functional.shaders.implicit_conversions.gl45.*
Components: OpenGL
VK-GL-CTS issue: 3399
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ib2b6bc35183f05a351b5a33e98a93ef0cdf7fdc6
Matthew Netsch [Fri, 7 Jan 2022 16:11:44 +0000 (11:11 -0500)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: Iae02aca2a7dd84bd487dcee93145327f4507d558
Yuly Novikov [Tue, 30 Nov 2021 00:38:44 +0000 (19:38 -0500)]
Fix MSVC C++17 build
"std::unary_function" is deprecated in C++11 and removed in C++17
Components: OpenGL
Change-Id: I96df678a518ab439e6e6d09e57bde90a2a034552
Tapani Pälli [Fri, 26 Nov 2021 08:30:37 +0000 (10:30 +0200)]
GCC 11 build fixes for opengl-es-cts-3.2.7 branch
Add missing limits header to misc files to fix compilation.
Components: Vulkan
VK-GL-CTS issue: 3365
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I8d39b4fb61befba08445aa2085b1bbae674983f4
Matthew Netsch [Thu, 6 Jan 2022 22:46:42 +0000 (22:46 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I0523a6848ab1ac052c1df7a64f52016f6f0df60d
Jari Komppa [Fri, 26 Nov 2021 11:25:55 +0000 (13:25 +0200)]
Make texel conversion ignore unused channels
The convertNormalizedUnsignedFixedPoint function applied conversion to
all channels, even those with 0 bit width, causing a bunch of division
by zeros. The change skips all non-used channels.
Affects:
KHR-GLES3.copy_tex_image_conversions.*
Components: OpenGL
VK-GL-CTS issue: 3354
Change-Id: I88bf9748bd7226c8c41ea44a1df9fabf0f648cfa
Ari Suonpaa [Mon, 13 Dec 2021 12:10:09 +0000 (14:10 +0200)]
Fix negative shift in bitfieldExtract tests
Reference calculation was using a negative shift when the
number of bits for bitfieldExtract was zero. This is
undefined behavior so now the bits = 0 case is handled
separately.
VK-GL-CTS Issue: 3333
Affects:
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.*
Components: OpenGL ES
Change-Id: I7691962d7ffd8ceed4dc1267d6730f1a6cb3e564
Ari Suonpaa [Mon, 13 Dec 2021 09:20:41 +0000 (11:20 +0200)]
Fix signed integer overflow in shader operator tests
32bit integer reference value calculation had possible
signed integer overflows which are undefined. Now the
references are calculated using 64bit integers.
VK-GL-CTS Issue: 3335
Affects:
dEQP-GLES3.functional.shaders.operator.binary_operator.*
Components: OpenGL ES
Change-Id: I18e5eec98a7b93375c075a833bdf68534353c634
Ari Suonpaa [Thu, 9 Dec 2021 08:24:18 +0000 (10:24 +0200)]
Fix division by zero errors
Projection calculation had zero divisor in some cases that
didn't use the results. This division is now bypassed for
these cases to avoid UBSAN errors.
VK-GL-CTS Issue: 3352
Affects:
dEQP-GLES*.functional.shaders.texture_functions.*
Components: OpenGL ES
Change-Id: I64e5c53c668646dbdc915c2b3619700d83793009
Ari Suonpaa [Thu, 9 Dec 2021 12:36:54 +0000 (14:36 +0200)]
Fix signed integer overflow in shader precision tests
32bit integer reference value calculation had possible
signed integer overflows which are undefined. Now the
references are calculated using 64bit integers.
VK-GL-CTS Issue: 3336
Affects:
dEQP-GLES3.functional.shaders.precision.*
Components: OpenGL ES
Change-Id: I682a8d790f1ceaaf5c2caf67a87655835a0aaef8
Tapani Pälli [Wed, 17 Nov 2021 13:16:38 +0000 (15:16 +0200)]
framework: unify TestPackage behaviour between ES 3.1 and 3.2
Main issue seen here was that ES 3.2 did not reset context state when
initializing TestCaseWrapper, this was causing different behaviour in
following tests:
KHR-GLES31.core.draw_buffers_indexed.blending
KHR-GLES32.core.draw_buffers_indexed.blending
Patch also fixes few other differences spotted.
Components: Framework, OpenGL
VK-GL-CTS issue: 3318
Affects:
glcts
cts-runner
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ie5848e41eba64c3b76b526738e8612c8bebdfbfc
Matthew Netsch [Wed, 5 Jan 2022 15:36:38 +0000 (10:36 -0500)]
Notice of withdrawal of Vulkan CTS 1.2.5.x
Change-Id: I7fc87c5a5e137bb12f6cea6a103f2b0f3075ea66
Components: Vulkan
Antto Mäkinen [Fri, 26 Nov 2021 15:12:06 +0000 (17:12 +0200)]
Add a batch of GraphicsFuzz coverage tests
This commit adds a batch of GraphicsFuzz coverage tests.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.cov-do-while-negative-iterator-nested-loops-increment-array-element
dEQP-VK.graphicsfuzz.cov-fragcoord-conditions-never-return-index-array-using-uniform
dEQP-VK.graphicsfuzz.cov-function-loop-condition-uniform-shift-right
dEQP-VK.graphicsfuzz.cov-function-nested-loops-break-early-never-discard
dEQP-VK.graphicsfuzz.cov-function-two-loops-limit-using-arguments-array-element-copies
dEQP-VK.graphicsfuzz.cov-global-loop-counter-set-array-element-once-index-using-findmsb
dEQP-VK.graphicsfuzz.cov-integer-minus-one-increased-before-indexing-array
dEQP-VK.graphicsfuzz.cov-loop-array-element-copy-index-clamp-sign
dEQP-VK.graphicsfuzz.cov-loop-start-from-one-switch-case-never-executed
dEQP-VK.graphicsfuzz.cov-loop-two-iterators-increment-array-empty-do-while
dEQP-VK.graphicsfuzz.cov-nested-functions-compare-fragcood-length-zero-vector
dEQP-VK.graphicsfuzz.cov-nested-loops-decrease-vector-component-by-matrix-element-global-loop-counter
dEQP-VK.graphicsfuzz.cov-nested-loops-global-counter-func-set-struct-field
dEQP-VK.graphicsfuzz.cov-repeating-conditions-fract-unused
Change-Id: I6e6377a60a134b59d3afd40015d282821b429a2a
Ricardo Garcia [Tue, 30 Nov 2021 18:30:04 +0000 (19:30 +0100)]
Fix dot product with saturation tests
This commit fixes an issue that prevented some valid results from being
verified in a variety of cases, and fixes the in-software dot-product
calculation so it will not rely on undefined truncation of signed
integers.
Also, it adjusts the pseudorandom numeric range in some tests to more
easily test cases of saturating and non-saturating operations.
Finally, the unsigned dot product operations have been separated in
saturating and non-saturating cases to more easily check both
conditions.
Affected and new tests:
dEQP-VK.spirv_assembly.instruction.compute.opudot*
dEQP-VK.spirv_assembly.instruction.compute.opsdot*
dEQP-VK.spirv_assembly.instruction.compute.opsudot*
Components: Vulkan
VK-GL-CTS issue: 3366
Change-Id: If058fd13705290472eef369167506a35cf7bba91
Piotr Byszewski [Tue, 9 Nov 2021 13:43:40 +0000 (14:43 +0100)]
Add dynamic rendering to attachment rate tests
Affects:
dEQP-VK.fragment_shading_rate.*.attachment_rate.*
Components: Vulkan
VK-GL-CTS issue: 3283
Change-Id: Id2cf3d17c076c58b13f84b9ecf9b238f4989dcb3
Ricardo Garcia [Thu, 4 Nov 2021 15:58:22 +0000 (16:58 +0100)]
Further VK_NV_mesh_shader test variants and fixes
* Add local_size/vertices/primitives maximization cases.
* Add task, mesh and fragment interface variable tests.
* Increase glslang NV mesh shader built-in limits (they need to be as
big as exposed by other interesting implementations like RADV and used
in some tests).
* Replace tcu::nothing<T> with tcu::Nothing in misc tests.
New and affected tests:
dEQP-VK.mesh_shader.nv.*
Components: Vulkan
VK-GL-CTS issue: 2991
Change-Id: I5eead8177b6315a44bb95c820af4549028ba5572
Piers Daniell [Thu, 28 Oct 2021 21:48:19 +0000 (15:48 -0600)]
Fix and enable dynamic rendering multivew coverage
Coverage for dynamic rendering multi-draw multiview was
disabled in CL 8340 because it was broken, and also disabled
in vulkan-cts-1.3.0.
This CL reenables the coverage and fixes a couple of bugs
to make it work.
New tests:
dEQP-VK.draw.dynamic_rendering.multi_draw.*.multiview.*
Affects:
dEQP-VK.draw.dynamic_rendering.multi_draw.*
Components: Vulkan
VK-GL-CTS issue: 3258
Change-Id: Iacdc11ca0d8bbc5d0b706236ae31ad8afe30bb46
Matthew Netsch [Sat, 11 Dec 2021 08:28:22 +0000 (08:28 +0000)]
Merge "Merge dev/VK_EXT_depth_clip_control into master"
Ari Suonpaa [Fri, 26 Nov 2021 09:00:58 +0000 (11:00 +0200)]
Fix integer overflow in Random::getInt()
Random integer generation was having a signed integer overflow
when calculating a range between min and max values.
When casting an overflowed value to unsigned int the result
by most (if not all) implementations would produce expected
results due to modulo wraparound. However, this is not guaranteed
to happen as signed integer overflow is regarded as undefined
behavior.
This change casts the min and max values to unsigned int which
has defined under- and overflow behavior.
VK-GL-CTS Issue: 3353
VK-GL-CTS Issue: 3355
VK-GL-CTS Issue: 3356
Affects: *
Components: Framework, Vulkan, OpenGL
Change-Id: I8dff7bf9517433e1699acfe1f6973ea8fb25e4f7
Juha Heiskanen [Mon, 22 Nov 2021 13:15:31 +0000 (15:15 +0200)]
TRANSIENT_ATTACHMENT_BIT store/load op test
Series of tests covering the load and store operations when
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is enabled. Color, depth and
stencil values are tested separately.
Components: Vulkan
VK-GL-CTS Issue: 3204
New Tests: dEQP-VK.fragment_operations.transient*
Change-Id: I499ff68d243b2fc76660545d12e9b0c64a9d9906
Matthew Netsch [Sat, 11 Dec 2021 07:10:20 +0000 (07:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Change-Id: Idd1ae81cc934e52485f2a79745c9ffa46951390a
Shih-Hsin Li [Wed, 24 Nov 2021 00:32:38 +0000 (16:32 -0800)]
Pick correct memoryTypeIndex for AHB
Pick the right memoryTypeIndex for protected allocations so that
protected memory is allocated when createFlag has protected bit
set. This fixed some bindImageMemory failure caused by binding
non-protected memory in testAndroidHardwareBufferImageFormat.
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Components: Vulkan
Change-Id: Ib50a97d248930b6cc6538d1c7b84e84cddfde40e
Ari Suonpaa [Fri, 3 Dec 2021 09:21:46 +0000 (11:21 +0200)]
Improve and fix quad randomization in vertex array test
Minimum quad size for fixed point format was larger
than the maximum value range, causing only extremely
large quads to be used. Also the quad randomization
relied on a loop with fixed number of attempts to
produce proper quads. Now the randomization ranges
are selected so that the quads can be accepted without
multiple attempts.
VK-GL-CTS Issue: 3376
Affects:
dEQP-GLES3.functional.vertex_arrays.*
Components: OpenGL ES
Change-Id: I648f2218aa9b661969c7b78c2f81b5e120ae9275
Matthew Netsch [Fri, 10 Dec 2021 05:37:33 +0000 (05:37 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I78d891204952b8252760e6442750617a199ee80e
Piotr Byszewski [Wed, 8 Dec 2021 16:07:35 +0000 (17:07 +0100)]
Update kc-cts version
Version of kc-cts was updated to include fix for inl dependency.
Components: OpenGL
VK-GL-CTS issue: 3400
Change-Id: Ic28275604849506de4139c0bbda20278a2431ca1
Mohankumar Nekkarakalaya [Tue, 9 Nov 2021 17:56:08 +0000 (09:56 -0800)]
Create command pool with command buffer reset in RT tests
-When command pool was created either command buffer reset
bit should have been set or command buffer should have
reset pool before using for VU.
-Fix is to create command pool with reset bit set.
Components: Vulkan
VK-GL-CTS Issue: 3288
Affected tests: dEQP-VK.ray_tracing_pipeline.acceleration_structures.device_compability_khr.*
Change-Id: Ie21926cd53c505e46da0d03a6082e689d45d5d2a
Tapani Pälli [Thu, 9 Dec 2021 08:20:11 +0000 (10:20 +0200)]
Add check for ES compatibility extensions with Desktop OpenGL
Affects:
dEQP-GL45.functional.shaders.functions.es31.*
dEQP-GL45.functional.shaders.arrays.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.uniform_block.es31.*
Components: Framework, OpenGL
VK-GL-CTS issue: 3399
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ife97fee3d2e5c433050142e9ba9e330bfe3cbde9
Matthew Netsch [Fri, 10 Dec 2021 01:43:38 +0000 (01:43 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I5dbe2d36f399ebb391471963192be42243fa8111
Matthew Netsch [Fri, 10 Dec 2021 00:58:10 +0000 (00:58 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I4cf772a9f2ed1e270a2205750dcfa2427e7f5026
Matthew Netsch [Thu, 9 Dec 2021 21:48:40 +0000 (21:48 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ieb1fae87f77e29275d42ffaa193d0732b57c56ff
Jari Komppa [Wed, 24 Nov 2021 17:34:46 +0000 (19:34 +0200)]
Avoid division by zero in cube map coordinates
Cube map coordinates are calculated from 3-dimensional uv coordinates by
scaling two of the coordinates by the third. In case of using 0,0,0 as
the coordinates, a division by zero occurs. The result is undefined
behavior.
This change detects the division by zero event and returns uv
coordinates as 0,0. Since the behavior is undefined, it doesn't matter
what we return, but after this change the result should at least be
consistent.
Affects:
dEQP-GL*cube*
Components: Framework
VK-GL-CTS issue: 3351
Change-Id: I094a98f790a28bdf7b26ccb170888f2ea9c1e64c
Matthew Netsch [Thu, 9 Dec 2021 21:38:24 +0000 (16:38 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I47865d6ee717c8b8837c428fd782663de9ff7d07
s.fricke [Fri, 12 Nov 2021 21:54:10 +0000 (13:54 -0800)]
Add Samsung Driver ID
The enum value was added in the 1.2.199 Vulkan Headers
VK-GL-CTS issue: 3384
Components: Vulkan
Affects:
dEQP-VK.api.driver_properties.driver_id_match
Change-Id: Id04c20b5fe8ad90350a588fd0e7de0c498ebe5b6
Paul Thomson [Fri, 3 Dec 2021 17:53:24 +0000 (17:53 +0000)]
Update Android test lists for Broadcom waiver
VK-GL-CTS issue: 2804
Components: Vulkan, Android
Google bug: b/
206833783
Change-Id: I51fcc3ce1617dc5a980e893bfc5915e8fc789c74
Matthew Netsch [Thu, 9 Dec 2021 20:24:07 +0000 (20:24 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I203412c11bcd738613884e733e75c26d34ea9309
Matthew Netsch [Thu, 9 Dec 2021 18:53:25 +0000 (18:53 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I84ed64d567499da4d7e3792fd484f95e89ef27f3
Matthew Netsch [Thu, 9 Dec 2021 17:41:52 +0000 (17:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I837a41fd83ac421e799900ff74df8b4daa549ecc
Aleksy Sokolowski [Wed, 8 Dec 2021 11:45:20 +0000 (12:45 +0100)]
Improve max image samples check in KHR-GL46.multi_bind test
The test uses fillMSTexture method to fill a shader image
using imageStore()-s. However, the test does not check if
the number of samples in the image is less than MAX_IMAGE_SAMPLES
- what may lead to invalid access on store, when MAX_IMAGE_SAMPLES
is 1.
It looks like the test needs at least 2 samples in the multisampled
image, so this change switches the texture target to non-multisampled
when MAX_IMAGE_SAMPLES is less than 2.
According to the spec:
"""
Invalid image stores will have no effect. (Invalid image atomics will
not update any texture bound to the image unit and will return zero.(...)
An access is considered invalid if: (...)
• the image has more samples than the implementation-dependent value of
MAX_IMAGE_SAMPLES.
"""
Components: OpenGL
VK-GL-CTS Issue: 3402
Affects: KHR-GL46.multi_bind.dispatch_bind_image_textures
Change-Id: I9915849f1cd3c708ae86deee40f1b94ec75d5fea
Jari Komppa [Wed, 8 Dec 2021 14:10:04 +0000 (16:10 +0200)]
Reduce complexity of some random cases
This change adds a complexity heuristics to some random cases and
reduces the final nested array size to avoid complexity explosion.
In practice only 18 test cases out of 1576 are affected.
Affects:
dEQP-VK.ubo.random.*
Components: Vulkan
VK-GL-CTS issue: 3389
Change-Id: If108ce2f04272b7bae9799daffa3682d1fb3aa52
Ari Suonpaa [Wed, 8 Dec 2021 07:02:37 +0000 (09:02 +0200)]
Merge dev/VK_EXT_depth_clip_control into master
VK-GL-CTS Issue: 3350
New tests:
dEQP-VK.pipeline.depth.depth_clip_control.*
dEQP-VK.transform_feedback.simple.depth_clip_control_*
Components: Framework, Vulkan
Change-Id: I179e077d43447b14e1be7c45307491401a2e05fa
Matthew Netsch [Mon, 6 Dec 2021 23:09:47 +0000 (18:09 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Change-Id: Ife6b1f3d1cf99c215645df4a590bfa1e4ed808f4
Iago Toral Quiroga [Mon, 22 Nov 2021 07:29:50 +0000 (08:29 +0100)]
Allow rounding error when reading back Z buffer
The early fragment test produces Z values <= 0.5 and uses a shader
to write 0.75 that it expects to be ignored due to early fragment
tests, which it verifies by reading back the Z buffer and testing
that all values are <= 0.5.
On our platform, we observe that on storing 0.5 we retrieve
0.500008, which makes us fail the test incorrectly. Fix this
by adding a small room for rounding error, like we do for
other verification paths in these tests.
While we are doing this, lower the tolerance admited for
the late fragment test case as well.
Components: Vulkan
VK-GL-CTS Issue: 3340
Affects:
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.discard_no_early_fragment_tests_depth
Change-Id: I8e1782b81d0e74a4a5af3e3cac40c9679f543ac6
Jari Komppa [Mon, 15 Nov 2021 08:25:36 +0000 (10:25 +0200)]
Fix amber vs cts device feature requirements
This change unifies the device requirements between cts and amber for
the affected tests.
Affects:
dEQP-VK.glsl.builtin.precision_fp16_storage16b.*
Components: Vulkan
VK-GL-CTS issue: 3304
Change-Id: I93f840751b40d145f89f847612e36733a18ac971
Piotr Byszewski [Mon, 22 Nov 2021 14:38:35 +0000 (15:38 +0100)]
Fix extended_dynamic_state tests
On vulkan-cts-1.2.8 branch extended_dynamic_state tests were
extended compared to the same group but in vulkan-cts-1.2.6 branch
(new tests were added). After updates to vulkan-cts-1.2.6 were
merged back to vulkan-cts-1.2.8 some of those new tests started
to fail as they did not have required changes.
This change makes sure that triangle strips are used in
the new tests to.
Components: Vulkan
VK-GL-CTS issue: 3327
Affects:
dEQP-VK.pipeline.extended_dynamic_state.*
Change-Id: I4fc19e40f6938d39be4428e8d9d98db4a74c0a5d
Matthew Netsch [Fri, 3 Dec 2021 22:20:44 +0000 (17:20 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I32494f04eda888304de0c56aec916eaa9f9ad011
Mika Väinölä [Tue, 30 Nov 2021 11:13:52 +0000 (13:13 +0200)]
Suppress GCC 11 conversion warning
On GCC 11 with UBSan enabled deHalfIsIEEENaN produces warnings due to
right shift promoting the result of an expression to an int, which is
then assigned to a deUint16.
Components: Framework
VK-GL-CTS issue: 3371
Change-Id: I48526b61ead69ee14b3253fa29737499253e62bc
Arkadiusz Sarwa [Wed, 17 Nov 2021 15:43:24 +0000 (16:43 +0100)]
Fix allocation of system memory.
Allocation of system memory which have been used as reference data can fail.
VK-GL-CTS issue: 3319
Components: Vulkan
Affects:
dEQP-VK.reconvergence.*
Change-Id: Icf9e6a2ad15912109aee2b6ea693a17650579087
Piotr Byszewski [Wed, 13 Oct 2021 12:17:14 +0000 (14:17 +0200)]
Generate inl files at build time
Inl files are no longer checked into the repo instead they are
generation at build time.
VK-GL-CTS issue: 3197
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: I526ed3d8dc8cc54860e44937a5048e499248a3c6
Piotr Byszewski [Tue, 19 Oct 2021 09:19:58 +0000 (11:19 +0200)]
Add Vulkan-Docs to fetch sources
Header files that are used to generate inl files are no longer
checked into the repo. Headers are now generated in Vulkan-Docs
which are now fetched from the gitlab. Generation is done
by gen_framework.py.
VK-GL-CTS issue: 3197
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: I4291848910b03180d4dc5514f8d8e5943c36e9b2
Matthew Netsch [Fri, 3 Dec 2021 19:36:13 +0000 (19:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I595a859be296c7f35cca35d7aa70278434ff8715
Brandon Schade [Tue, 28 Sep 2021 19:28:20 +0000 (12:28 -0700)]
Remove few EGL robustness tests
Components: EGL
Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.*
VK-GL-CTS issue: 257
Change-Id: I9edb2e577fb14b98d83bb16dc31188d3a901606d
(cherry picked from commit
39c99a7ece4b6618cde30c6c621bd3036801bd4b)
Mohd Faisal [Mon, 22 Nov 2021 14:58:37 +0000 (14:58 +0000)]
Fix use a device with protected memory enabled
Test is trying to allocate memory from protected memory heap using
default device which doesn't have protected memory enabled. Change
checks if the protected memory supported, if it is create a custom
device with protected memory enabled.
Affects:
dEQP-VK.memory.mapping.*.full.variable.implicit_unmap
Components: Vulkan
VK-GL-CTS issue: 3292
Change-Id: I74897e3dd7f1cada0044036ba27ad8764754ed23
YiHsing Shen [Tue, 9 Nov 2021 02:03:40 +0000 (02:03 +0000)]
Throttling CTS producing frame speed
CTS checks the present time of the frame 6 frames ago. However, if
the default buffer count of BufferQueue is more than 7, CTS could
produce frames continuously in a short time. In this case, the frame
6 frames ago might be not presented yet then CTS fails. To prevent
this situation, CTS produces frames at the speed according to
compositeInterval.
Component: EGL
Affected tests:
dEQP-EGL.functional.get_frame_timestamps.*
Change-Id: I1ac15974a6c4147ee2546ad21dea1fb3e6bf38f9
Matthew Netsch [Fri, 3 Dec 2021 16:56:42 +0000 (16:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Id6db90adac07dce6a8806cf1175547fbee2cd482
Matthew Netsch [Fri, 3 Dec 2021 16:54:49 +0000 (11:54 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Idca0d19e2d98e5b2045c43588c24220a87eb1fa8
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes
Some files used std::numeric_limits without including <limits> and
failed to compile.
VK-GL-CTS issue: 2842
Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
(cherry picked from commit
c686fd7ddf13d9ec51c84aea044d36ef3dd69c68)
Matthew Netsch [Fri, 3 Dec 2021 16:51:10 +0000 (11:51 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I0adccdf3f29176238bd4ca92fe8c9aa380986f43
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation
Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.
Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.
VK-GL-CTS issue: 3257
Affects:
dEQP-VK.memory.allocation.random.*
Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes
Some files used std::numeric_limits without including <limits> and
failed to compile.
VK-GL-CTS issue: 2842
Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
Ilkka Saarelainen [Thu, 18 Nov 2021 06:31:30 +0000 (08:31 +0200)]
Add missing feature check to MS copy tests
Some of the multisample copy and resolve tests require fragmentStoresAndAtomics
feature, but the feature is not checked in "checkSupport" function.
This CL adds the feature check for those tests.
Affects:
dEQP-VK.api.copy_and_blit.*.resolve_image.*
Components: Vulkan
VK-GL-CTS issue: 3317
Change-Id: I7dba8b9f1e8090416a00ade6cd4e0acaf9e43e68
Jesse Archer [Tue, 30 Nov 2021 18:11:29 +0000 (10:11 -0800)]
Update Android API and permissions for OpenGL
Remove the popups asking for write permissions and to check
for updates due to using an older Android API version when
running OpenGL and OpenGL ES CTS on Android.
Update the GL&ES Android manifest to include recent changes made
to the Vulkan Android manifest:
Remove <uses-sdk ...> from AndroidManifest.xml. It is already added in
build_apk.py. Update the instructions in external/openglcts/README.md
to add "-g" to the ADB install command.
Adds foreground permissions to be consistent with Vulkan.
Changes are from these commits modifying package/AndroidManifest.xml:
6a23a69a78d940661f29de84b68a17f800014cea
358348221857f3d518bbb56f40fd8c9f7dd37bf0
Components: Android, Framework
Change-Id: I014456120422ee419c4bd7af5b0b6db5ab54315d
Antto Mäkinen [Thu, 25 Nov 2021 14:00:00 +0000 (16:00 +0200)]
Test no-op image layout transitions in VK_KHR_synchronization2
VK_KHR_synchronization2 allows applications to specify
oldLayout==newLayout in image barriers to skip the layout transition.
It's also allowed when oldLayout and newLayout are both UNDEFINED even
though the normal behaviour for UNDEFINED -> ANYTHING is to perform
a discard.
This commit adds a test which ensures that image contents are preserved
when doing a transition like this.
VK-GL-CTS issue: 3045
New Tests:
dEQP-VK.synchronization2.layout_transition.no_op
Components: Vulkan
Change-Id: I022ca662ad50e910d7813713e591f2f6f9600d1f
Antto Mäkinen [Wed, 27 Oct 2021 08:33:35 +0000 (11:33 +0300)]
Ensure that compute shaders have a subgroup size that is uniform in command scope
If the pipeline was created with the VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
flag the SubgroupSize may vary in the shader stage but it must be uniform with command scope.
VK-GL-CTS issue: 3036
New Tests:
dEQP-VK.subgroups.multiple_dispatches.uniform_subgroup_size
Components: Vulkan
Change-Id: I55a082af6e1b325be7b29c50d49bcb822d81c33e
Matthew Netsch [Fri, 3 Dec 2021 05:02:41 +0000 (05:02 +0000)]
Merge "Merge vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access into vk-gl-cts/master"
Juha Heiskanen [Fri, 12 Nov 2021 13:09:02 +0000 (15:09 +0200)]
Missing coverage for vkCmdCopyQueryPoolResults
Cover stride 0 and query count 1 for vkCmdCopyQueryPoolResult.
Components: Vulkan
VK-GL-CTS Issue: 3286
New tests: dEQP-VK.query_pool.occlusion_query.*stride_0_*
Change-Id: I033acd4927f3de45ce7584c610c73e33ac9c7a16
Jari Komppa [Tue, 16 Nov 2021 13:17:58 +0000 (15:17 +0200)]
Add suite of div by zero tests
This change adds a amber tests that execute various explicit and
implicit division by zero operations, which should not crash or fail the
rendering operation.
New test:
dEQP-VK.glsl.crash_test.divbyzero_frag
dEQP-VK.glsl.crash_test.divbyzero_comp
Components: Vulkan
VK-GL-CTS issue: 869
Change-Id: I7b180805d85461a536252d71a80151d9a626f665
Ari Suonpaa [Fri, 19 Nov 2021 11:47:20 +0000 (13:47 +0200)]
Enable packed formats for border swizzle tests
Packed formats were previously commented out in
border swizzle tests. A small modification to the
random clear color code allowed to enable these
formats.
VK-GL-CTS Issue: 3253
New tests:
dEQP-VK.pipeline.sampler.border_swizzle.*pack*
Components: Vulkan
Change-Id: I7c1fa3fd08b6193309e5b723726464362316540b
Piotr Byszewski [Thu, 18 Nov 2021 09:42:23 +0000 (10:42 +0100)]
Add portability_subset to extensions_data.txt
With this change VK_KHR_portability_subset extension
is being recognized as permitted Vulkan extension.
Components: Vulkan
VK-GL-CTS issue: 3268, 2879
Affects:
dEQP-VK.info.device_extensions
Change-Id: Iec9a9bbae684cd83eb13cb8cadb9eac8a853df4f
Lionel Landwerlin [Tue, 16 Nov 2021 10:17:19 +0000 (12:17 +0200)]
Verify that timeline semaphores cannot import/export SYNC_FD
Component: Vulkan
Affects: dEQP-VK.api.external.semaphore.*.info*
Change-Id: I17dd8e0fd172cffc785642b8d7b3f93cdd966e1b
Piotr Byszewski [Wed, 24 Nov 2021 09:52:48 +0000 (10:52 +0100)]
Execute FDM tests with dynamic rendering
VK_EXT_fragment_density_map tests are also executed
using dynamic rendering.
Affects:
dEQP-VK.dynamic_rendering.fragment_density_map.*
dEQP-VK.renderpass*.fragment_density_map.*
Components: Vulkan
VK-GL-CTS issue: 3246
Change-Id: I0603b40876ffdfa19ccdd0a4f10d23ffa079fe71
Piotr Byszewski [Fri, 19 Nov 2021 08:56:55 +0000 (09:56 +0100)]
Execute FDM tests with legacy renderpass
VK_EXT_fragment_density_map tests used only renderpass2,
this change executes them also with legacy renderpass.
Additionally this change removes duplication of
depth_stencil_resolve and multiple_subpasses_multiple_command_buffers
groups that were added to both renderpass and renderpass2 groups
despite supporting only one renderpass type.
Affects:
dEQP-VK.renderpass*.fragment_density_map.*
dEQP-VK.renderpass*
Components: Vulkan
VK-GL-CTS issue: 3247
Change-Id: Ic7e73689a6a5dd28fd23038546acace412614d22
Shahbaz Youssefi [Mon, 22 Nov 2021 20:30:26 +0000 (15:30 -0500)]
Fix shader operator tests' precision expectation
es3fShaderOperatorTests.cpp takes the reported precision for lowp and
mediump (through glGetShaderPrecisionFormat) and tests that that many
bits are actually supported by the type.
glGetShaderPrecisionFormat is a legacy function that's not very
meaningful on modern hardware (see Vulkan issue #2931), and there is no
equivalent for its functionality in Vulkan.
This relevant tests are changed such that the test now verifies that _at
least_ that many bits are used in lowp and mediump operations, rather
than _exactly_. This aligns with the semantics of RelaxedPrecision in
SPIR-V.
Affected tests:
dEQP-GLES3.functional.shaders.operator.*
Components: OpenGL ES
VK-GL-CTS issue: 3344
Change-Id: I88a38d6ee067de8313f25327578c6666c257dc8b
Matthew Netsch [Fri, 3 Dec 2021 00:23:26 +0000 (00:23 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Change-Id: I428d33d66bfad3ea511cab97a717315cf297feed
Matthew Netsch [Thu, 2 Dec 2021 22:41:14 +0000 (22:41 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I43ff786b98dd9bc2d5edcab4f04b3d9de4432520
Matthew Netsch [Thu, 2 Dec 2021 21:03:40 +0000 (21:03 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ie280369845ce69510359b85012a6b29de83c34cc
Ari Suonpaa [Wed, 24 Nov 2021 13:52:28 +0000 (15:52 +0200)]
Avoid shifting by more than bit width
Half float mantissa calculation was sometimes using
shift larger than a bit width. This change sets the
mantissa to zero in those cases.
VK-GL-CTS Issue: 3346
VK-GL-CTS Issue: 3349
Affects:
KHR-GLES*.core.internalformat.texture2d.*half_float*
KHR-GLES3.packed_pixels.*16f
Components: OpenGL ES
Change-Id: Ib91082fab530f6ff9e7cd5b6346ad7d433543a47
Mika Väinölä [Fri, 12 Nov 2021 11:41:54 +0000 (13:41 +0200)]
Pad out glClearBufferuiv value
The test calls glClearBufferuiv with GL_COLOR and a pointer to a
single GLuint when four components are expected.
Affects: KHR-GLES31.core.framebuffer_no_attachments.render
Components: OpenGL
VK-GL-CTS issue: 3295
Change-Id: I0ce2512cc619410c91104b083ab7bb7b9d667c4c
Jari Komppa [Thu, 4 Nov 2021 11:40:07 +0000 (13:40 +0200)]
Add missing extension requirement
This change adds the missing #extension line in the shader for the
fragdata.draw_buffers test if extension is supported.
Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers
Components: OpenGL
VK-GL-CTS issue: 3259
Change-Id: Id644e83b938fd3f2e22769faf727043bee88f62d
Ari Suonpaa [Wed, 1 Dec 2021 07:27:16 +0000 (09:27 +0200)]
Fix signed integer overflow in vertex array tests
Random quad calculation in some of the vertex array tests were
calculating ranges for allowed quad sizes using signed integers,
and there was a chance for an overflow, which is undefined behavior.
Now the quad calculation randomizes only coordinates instead of
coordinates and the quad size. This lets us avoid the calculation
of the range.
Some bug fixes to the quad randomization code were also added.
VK-GL-CTS Issue: 3357
Affects:
dEQP-GLES3.functional.vertex_arrays.*
Components: OpenGL ES
Change-Id: I651ac6cef94e15d3fc0bc322ea8d65cbd96a4c2d
Ralph Potter [Tue, 9 Nov 2021 12:45:38 +0000 (12:45 +0000)]
Mirror existing ANGLE waiver for Samsung devices
Some Samsung devices utilize an extended ANGLE implementation, with
a Samsung vendor string.
Components: OpenGL ES
VK-GL-CTS issue: 3255
Change-Id: I6e49ae571ee38ea8dace36103f9d62055151b520
(cherry picked from commit
34d6d68ab3bd13117d936869fae70d16cc7c1297)
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation
Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.
Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.
VK-GL-CTS issue: 3257
Affects:
dEQP-VK.memory.allocation.random.*
Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183
Ari Suonpaa [Wed, 24 Nov 2021 15:03:44 +0000 (17:03 +0200)]
Fix signed integer overflow
VK-GL-CTS Issue: 3347
Affects:
KHR-GLES31.core.shader_bitfield_operation.bitfieldExtract.*
Components: OpenGL ES
Change-Id: Ifa35375cc20b54b9e2ff4950d519d0b0dad68812
Ari Suonpaa [Wed, 24 Nov 2021 12:15:57 +0000 (14:15 +0200)]
Merge master to VK_EXT_depth_clip_control
Change-Id: Ib44c3bb6635ce23a66228e585625365bd9771c1f
Matthew Netsch [Tue, 23 Nov 2021 16:38:20 +0000 (11:38 -0500)]
Merge vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access into vk-gl-cts/master
Change-Id: Id470d3d2f789914446f0e70c0a251ea70fea509a
Matthew Netsch [Tue, 23 Nov 2021 16:36:10 +0000 (11:36 -0500)]
Merge vk-gl-cts/master into vk-gl-cts/dev/VK_ARM_rasterization_order_attachment_access
Change-Id: I59256586a0a8a75f224a9b0c458293634d905f98
Matthew Netsch [Sat, 20 Nov 2021 03:26:14 +0000 (03:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Change-Id: I5d20f6d4bce3d0ea56a5135193470ab13c6efcdb
Piotr Byszewski [Fri, 12 Nov 2021 18:40:12 +0000 (19:40 +0100)]
Portability: fix border_swizzle tests
When the test itself has nothing to do with triangle fans,
(just uses them to perform rendering) then use triangle strips
instead so that tests also work for portability.
Components: Vulkan
VK-GL-CTS issue: 3266
Affects:
dEQP-VK.pipeline.sampler.border_swizzle.*
Change-Id: I217af02ccb7ad2fc06c686714e65ee28a3ac0284
Ricardo Garcia [Fri, 12 Nov 2021 16:19:38 +0000 (17:19 +0100)]
Fix post-clear barrier in depth/stencil descriptor tests
After clearing the color and depth/stencil image, the tests were using a
barrier to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT with an access mask of 0.
This commit fixes that barrier to use VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
and an access mask covering all uses of these descriptors in the render
pass.
Affected tests:
dEQP-VK.image.depth_stencil_descriptor.*
Components: Vulkan
VK-GL-CTS issue: 3305
Change-Id: I7d8c41b3dbbe69f3a613ba1bd09a0482f77133f2
Matthew Netsch [Sat, 20 Nov 2021 01:41:45 +0000 (01:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I5a712babbcd6a60c58a58845624b7b2b60896b99
Mika Väinölä [Tue, 16 Nov 2021 12:11:34 +0000 (14:11 +0200)]
Zero initialize XFB counter buffer
Implementations that don't zero initialize buffers on allocation will
fail these tests when reading uninitialized counter buffers with
vkCmdBeginTransformFeedbackEXT.
Affects: dEQP-VK.rasterization.provoking_vertex.transform_feedback.*
Components: Vulkan
VK-GL-CTS issue: 3311
Change-Id: I3cd9a82aed94e55b5e37cbd287e159c2e5fc69d2
Matthew Netsch [Fri, 19 Nov 2021 20:11:48 +0000 (20:11 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I800d219e0b2d87e0a690bd535b00e377d7c13b5c
Tomasz Owczarek [Tue, 9 Nov 2021 16:53:02 +0000 (16:53 +0000)]
Disable depth clamp for graphics pipeline creation tests.
Not all GPUs does support depth clamp feature.
Disable depth clamp in pipeline creation tests as it's not used
by tests itself and isn't required to test pipeline creation.
Affects:
dEQP-VK.pipeline.creation_cache_control.graphics_pipelines.*
Components: Vulkan
VK-GL-CTS issue: 3297
Change-Id: I59ed04bfcd1e5fc4b79dae31e254ff48c3410a5b
Matthew Netsch [Fri, 19 Nov 2021 17:27:35 +0000 (17:27 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I2cbe3e52c8373027ab109a6dbaefa6a34f25dd05
Sławomir Cygan [Wed, 14 Apr 2021 16:12:12 +0000 (18:12 +0200)]
Fix 'implicit-fallthrough' build error on GCC 9.3.0
It seems the existing comment was not hitting the regular
expression used by the GCC compiler when reading user comments
before case switch fallthrough.
The warning is triggered by -Wextra, which on GCC enables
'-Wimplicit-fallthrough=3'.
Another way to avoid the warning would be to use
[[fallthrough]] statement, but it's from C++17, which does not seem
to be enabled.
Components: Vulkan
Change-Id: Ica52e88f94f4f1c303511d8462938856cb676146
(cherry picked from commit
3cbdbc5564b6684d4737c61d4bcfccd516e14ce7)
Ari Suonpaa [Wed, 10 Nov 2021 06:06:13 +0000 (08:06 +0200)]
Add tests for buffer size requirements
This change extends the existing buffer requirements tests
to verify the buffer memory size requirement is less than
or equal to the aligned size of the buffer.
Also fixed a typo in an existing test group name.
VK-GL-CTS Issue: 3287
New tests:
dEQP-VK.api.buffer_memory_requirements.*size_req*
Components: Vulkan
Change-Id: Id02d31d17a22bfd5e37b63f921d0d6fa12c0f022
Jari Komppa [Fri, 12 Nov 2021 08:43:38 +0000 (10:43 +0200)]
Extend interpolateAt* tests
These tests decorate input and then re-interpolate the values with their
corresponding functions, checking if the result is the same.
New tests:
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_centroid
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_sample
Components: Vulkan
VK-GL-CTS issue: 3271
Change-Id: I51cce91b076393c526df2a5d123c072e45354c6a
Jari Komppa [Fri, 12 Nov 2021 11:12:15 +0000 (13:12 +0200)]
Add power of two checks for physical device limits
This change adds power of two checks for the physical device limits
minTexelBufferOffsetAlignment, minUniformBufferOffsetAlignment,
minStorageBufferOffsetAlignment, nonCoherentAtomSize,
optimalBufferCopyOffsetAlignment and optimalBuffercopyRowPitchAlignment.
Affects:
dEQP-VK.info.device_properties
Components: Vulkan
VK-GL-CTS issue: 3291
Change-Id: I09fbf054262a351eca489f1bf66bf26f6aa177a6