Matthew Netsch [Thu, 9 Jun 2022 17:14:49 +0000 (17:14 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Iea933cfe50d4538966618000204b04bc2f60ba1e
Matthew Netsch [Thu, 9 Jun 2022 16:42:55 +0000 (16:42 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I5a907b609b2763a74587533edac269be72027909
Ari Suonpaa [Wed, 25 May 2022 12:11:11 +0000 (15:11 +0300)]
Fix signed integer overflow in random indirect draw tests
VK-GL-CTS Issue: 3331
Affects:
dEQP-GLES31.functional.draw_indirect.random.*
Components: OpenGL ES
Change-Id: I75a57a0ee14f00d049e0c27628017c86b7078174
Ari Suonpaa [Wed, 18 May 2022 11:33:13 +0000 (14:33 +0300)]
Fix signed integer overflow in random shader tests
VK-GL-CTS Issue: 3334
Affects:
dEQP-GLES3.functional.shaders.random.*
Components: OpenGL ES, Framework
Change-Id: I8a0ea222ba62c08180244d34adc0f4f0b5e4db9e
Thomas Spurden [Mon, 11 Apr 2022 13:00:17 +0000 (14:00 +0100)]
Allow not supporting separate depth/stencil with combined formats
Components: OpenGL
Affects: dEQP-GLES3.functional.fbo.*
Change-Id: I2eb2433921b3d8f7da30d5d546c07da46bebb343
Andy Candet [Sat, 16 Apr 2022 20:16:53 +0000 (21:16 +0100)]
Fix extension checks for EGL external image tests
Commit 2090c97 extended dEQP-EGL.functional.image.modify.* with new
actions to test sampling from an external image. The actions implement
getRequiredExtension, so they were likely intended to be skipped if
GL_OES_EGL_image_external is not available.
However, extension checks are only performed for actions invoked through
ImageFormatCase. These actions are invoked one level down the call
stack, through RenderTryAll.
The result is that 22 tests in dEQP-EGL.functional.image.modify.* fail
during shader compilation if the extension is not available.
This commit adds an extension check to RenderTryAll::invokeGLES. Actions
will be skipped if the check fails. This is probably what was intended
in the first place, since RenderTryAll ignores NotSupported results.
Affects: dEQP-EGL.functional.image.modify.*
Components: EGL
Change-Id: Id1106d69fbe71d39695fc32513d80d23f1e94b40
Matthew Netsch [Thu, 2 Jun 2022 20:51:45 +0000 (20:51 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Ib621fd1a176f1921e3b12c8e9df7f51f552df695
Matthew Netsch [Thu, 2 Jun 2022 20:14:29 +0000 (20:14 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I6edc6c1598e5a0e4d92c1e3d5aeb7baa1688c888
Ari Suonpaa [Wed, 18 May 2022 10:14:47 +0000 (13:14 +0300)]
Fix sample mask calculation
Sample mask calculation path was executed even when sample
was -1, causing a large number to be used for a shift. Now
a sample mask of zero is chosen instead.
VK-GL-CTS Issue: 3329
Affects:
dEQP-GLES31.functional.texture.multisample.*.sample_mask_and_alpha_to_coverage
Components: OpenGL ES
Change-Id: Ie5600ead5a5b0228a3ed255d7e4cc49a314a7ba6
Ari Suonpaa [Mon, 16 May 2022 12:17:47 +0000 (15:17 +0300)]
Fix division by zero
Fixed format threshold calculation caused division by zero
whenever less than four channels were used by the format.
This change uses threshold zero for the empty channels.
VK-GL-CTS Issue: 3332
Affects:
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.*
Components: OpenGL ES
Change-Id: Ib6c8ee6ee0fa82d1f0514b639938c61ed7762381
Erik Faye-Lund [Thu, 24 Mar 2022 15:23:45 +0000 (16:23 +0100)]
allow non-preferred line interpolation for gles
The OpenGL ES 3.2 spec, section 13.6.2.1 ("Wide Lines") says the
following:
Change-Id: I1cff239a9cc712b9e8677966f7b3b1adfe72499a
---8<---
The preferred method of attribute interpolation for a wide line is to
generate the same attribute values for all fragments in the row or
column described above, as if the adjusted line were used for
interpolation and those values replicated to the other fragments,
except for gl_FragCoord which is interpolated as usual. An
implementation may instead interpolate each fragment according to the
formula in "Basic Line Segment Rasterization", using the original
line segment endpoints.
---8<---
However, the code that verified the interpolation only checked against
the preferred interpolation.
Luckily, we have code that does the right checking. By marking the ES2
and ES3 line-rasterization tests with a bit to allow this, we can hook
this up as appropriate.
Components: OpenGL ES, Framework
VK-GL-CTS public Issue: 273
Affected Tests:
dEQP-GLES2.functional.rasterization.interpolation.*_wide
dEQP-GLES3.functional.rasterization.interpolation.line_wide
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide
Change-Id: Iacd493416dc945711410eb08f73f9e234b78ec61
Matthew Netsch [Mon, 28 Mar 2022 14:18:47 +0000 (14:18 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Ie3bbc30b0ff206922ea5c2640467cf5b6dc219ba
Matthew Netsch [Mon, 28 Mar 2022 14:18:36 +0000 (14:18 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I52ff340b949967f446fd61423f6294f09106e492
Peter Kohaut [Mon, 28 Mar 2022 11:53:49 +0000 (13:53 +0200)]
Fix Zlib depedency
Use newer version of Zlib as older is no longer available to download from the zlib.net page
Components: Framework
Affects:
None
VK-GL-CTS Issue: 3587
Change-Id: Ie166dc897b0d1318c1ae73434bfa19687b579691
(cherry picked from commit
ec1804831b654ac55bd2a7a5dd27a556afe05030)
Matthew Netsch [Mon, 14 Mar 2022 14:08:56 +0000 (14:08 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: I9dbfb6be27277508e01e4d79583afc5f970353e2
Matthew Netsch [Thu, 10 Mar 2022 21:58:48 +0000 (21:58 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I216b8bf396d0ff5d4ceaa890d5b4dd9283c73040
Thomas Spurden [Tue, 15 Feb 2022 11:12:00 +0000 (11:12 +0000)]
Update FBO tests to handle separate depth stencil in ES3
Extends FBO blit tests as they did not have cases for separate depth
stencil at all (as they are ES3 only).
Components: OpenGL
Affects: dEQP-GLES3.functional.fbo.*
Change-Id: Icc6dcd047db3b9c29baed0c5691766fb30242e31
Ari Suonpaa [Mon, 17 Jan 2022 05:46:33 +0000 (07:46 +0200)]
Fix build issues with older NDKs
EGL AHB tests were relying on using NDK version higher than
what was required in readme. With this change the same tests
can be compiled with and older NDK.
Now AHardwareBuffer_isSupported function is only used if available,
removing a requirement for API version 29.
Runtime version checks were also restored to make sure the
device supports the AHB API version used during compile time.
VK-GL-CTS Issue: 3443
Affects:
dEQP-EGL.functional.image.*android_native*
Components: EGL, Framework
Change-Id: I0839070dfb0152c3d5d27921c806ee7c00b96e9a
Matthew Netsch [Fri, 14 Jan 2022 00:27:33 +0000 (00:27 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: I528b855678ff57681aae956eda0d05e267a1ebcf
Matthew Netsch [Thu, 13 Jan 2022 22:25:39 +0000 (22:25 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Icdb26f1240a661c1021c0da146ca4c02d0ab086c
Jari Komppa [Tue, 4 Jan 2022 14:53:26 +0000 (16:53 +0200)]
Avoid division by zero in calculateThreshold
The es31fCopyImageTests.cpp calculateThreshold function was written in a
too clever way, leading to division by zero in cases where texture
format did not include all channels.
Affects:
dEQP-GLES31.functional.copy_image.*_renderbuffer
Components: OpenGL
VK-GL-CTS issue: 3328
Change-Id: Iaf6b0d80f7427fee3567365603ba8dbd375f206d
Matthew Netsch [Fri, 7 Jan 2022 05:29:58 +0000 (00:29 -0500)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: If3b065dc955b18faf0416d7aaf2535e833c88631
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
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 [Thu, 9 Dec 2021 23:16:34 +0000 (23:16 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Id1b139246ddad0322fbf5819ddbe397c1e721cd7
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 [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
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
Jari Komppa [Sat, 13 Nov 2021 18:45:18 +0000 (20:45 +0200)]
Modify dual source blend tests to use discard
This change adds discard to the shaders when testing dual source blend
shading. The reference renderer does not support discard, so the
reference image is updated after rendering to cover for this.
Affects:
dEQP-VK.pipeline.blend.dual_source.*
Components: Vulkan
VK-GL-CTS issue: 3230
Change-Id: I06b9b7fb904bc2efbd5d8758a1c5ed5b5f76b4e5
Juha Heiskanen [Tue, 2 Nov 2021 11:46:23 +0000 (13:46 +0200)]
Add fragment operations occlusion query tests
New occlusion query tests are covering scissored draws, depth and
stencil.
Components: Vulkan
VK-GL-CTS Issue: 3082
New tests: dEQP-VK.fragment_operations.occlusion_query.*
Change-Id: I64aa6788d163f88654977138c48209e8b1d82e59
Mohd Faisal [Thu, 11 Nov 2021 11:34:09 +0000 (11:34 +0000)]
Fix wrong conversion from shared pointer to int.
Dereference the correct pointer to object and converting to int (flag)
via implicit converter.
Affects:
dEQP-VK.api.buffer_memory_requirements.*
Components: Vulkan
VK-GL-CTS issue: 3300
Change-Id: Id38991211b0dd65166dec3e75cf5f5f96309e1ff
Arkadiusz Sarwa [Mon, 15 Nov 2021 13:34:48 +0000 (14:34 +0100)]
Enable anisotropic tests for mipmap images
Affects:
dEQP-VK.texture.filtering_anisotropy.mipmap.*
Components: Vulkan
VK-GL-CTS issue: 3309
Change-Id: Ie6ac2604f757598d25c972f569c942850849ab58
Jason Ekstrand [Fri, 12 Nov 2021 18:23:17 +0000 (12:23 -0600)]
Remove invalid semaphore import/export tests
VUID-VkSemaphoreGetFdInfoKHR-handleType-03253:
If handleType refers to a handle type with copy payload transference
semantics, semaphore must have been created with a VkSemaphoreType
of VK_SEMAPHORE_TYPE_BINARY
These tests are explicitly testing semaphore FD export with
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD which has copy payload
transference semantics. We need to throw out the timeline semaphore
version.
Component: Vulkan
Removes:
- dEQP-VK.synchronization.cross_instance.*timeline_semaphore_fence_fd
- dEQP-VK.synchronization2.cross_instance.*timeline_semaphore_fence_fd
Change-Id: I5dc5643c34cf9f06adf29545bcefcb5c577aaaef
Matthew Netsch [Thu, 18 Nov 2021 23:23:49 +0000 (23:23 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I70424be31ee8dc38327b852c6d8dec9137f4294d
Matthew Netsch [Thu, 18 Nov 2021 21:53:34 +0000 (21:53 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ib23ae3a63fd65ec4aae8385d92ffd09a114c32da
Antto Mäkinen [Fri, 12 Nov 2021 11:45:46 +0000 (13:45 +0200)]
Fix glcPackedPixelsTests to properly account for skip images
RectangleTest::makeGradient in glcPackedPixelsTests does not
properly account for skip images. This commit prevents it
writing over the end of an array.
Affects:
KHR-GL33.packed_pixels.*
Components: OpenGL ES
VK-GL-CTS Issue: 3275
Change-Id: I9d8a47b59c000512926c3bfc85b6c6dc66eee213
Ari Suonpaa [Fri, 12 Nov 2021 05:08:39 +0000 (07:08 +0200)]
Fix out-of-bounds stack read
glBufferData was given a pointer to a C struct, but
a wrong struct type was used for sizeof.
VK-GL-CTS Issue: 3294
Affects:
KHR-GLES31.core.draw_indirect.negative-noV*arrays
Components: OpenGL
Change-Id: If02916683e0fee46b05dd4774b56f7fe335cc80f