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
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
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
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
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
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
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
Mika Väinölä [Thu, 4 Nov 2021 13:52:05 +0000 (15:52 +0200)]
Avoid OOB params access in call log wrapper
Some negative coverage tests call glTexParameter*v and
glGetSamplerParameter*v with GL_TEXTURE_BORDER_COLOR and a pointer to
a single GLint, GLuint or GLfloat. The call log wrapper functions
attempt to log all four parameters expected for the pname and we get
OOB access for params. Avoid this by using arrays of four instead of
single values for params.
Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.texture.texparameter*
dEQP-GLES31.functional.debug.negative_coverage.*.shader.get_sampler_parameter*
dEQP-GLES31.functional.debug.error_filters.case_11
dEQP-GLES31.functional.debug.error_filters.case_18
dEQP-GLES31.functional.debug.error_filters.case_22
dEQP-GLES31.functional.debug.error_groups.case_11
Components: OpenGL
VK-GL-CTS issue: 3273
Change-Id: If244a008c9cfcc6cc443e8d5475f6ce4add1c838
Jari Komppa [Thu, 4 Nov 2021 11:25:30 +0000 (13:25 +0200)]
Fix array iteration range
The function getCompressedTexSubImage2DFormat was using function
parameter to loop through an array defined inside the function, while
these two were unrelated. The result may either not loop through the
whole array or go past the end of the array.
Affects:
dEQP-GLES2.functional.negative_api.texture.compressedtexsubimage2d_*
Components: OpenGL
VK-GL-CTS issue: 3272
Change-Id: Ie88d9330e03f56b7afe858bf51e9bf0fa41e4822
Mika Väinölä [Fri, 5 Nov 2021 11:28:04 +0000 (13:28 +0200)]
Fix source data size in SSBO array length tests
The tests were calling glBufferData with a pointer to a single
deUint32 and a size of 2 * sizeof(deUint32). Change invalidData to
an array of two deUint32s.
Affects: dEQP-GLES31.functional.ssbo.array_length.*
Components: OpenGL
VK-GL-CTS issue: 3274
Change-Id: Id318c6541bbd8b61eec6d2ca460a3404c5c887e8
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
Tapani Pälli [Tue, 26 Oct 2021 11:12:16 +0000 (14:12 +0300)]
GCC 11 build fixes for opengl-es-cts
Add missing limits header to misc files to fix compilation.
+ changes to fix following compilation warnings:
"warning: expression does not compute the number of elements in this array;
element type is ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’},
not ‘std::string [15]’ {aka ‘std::__cxx11::basic_string<char> [15]’}
[-Wsizeof-array-div]"
"warning: loop variable ‘ext’ creates a copy from type
‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]"
"warning: comparison of unsigned expression in ‘>= 0’ is always true
[-Wtype-limits]"
Components: OpenGL ES
VK-GL-CTS issue: 3245
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: If62a44d47afccf1118a6fb0986d0c6e715f78c48
Iván Briano [Mon, 11 Oct 2021 19:45:24 +0000 (12:45 -0700)]
x11_egl: only append library path if it's not empty
Pkg-config will strip out any -L if they match the default search
directory, so we ended up with a -L and no arguments to it, that would
consume whatever came next.
Components: EGL
VK-GL-CTS issue: 2726
Change-Id: Iba0f7d8e0a4ab66e5fd369f60e4d04ac5420df65
Tapani Pälli [Wed, 22 Sep 2021 12:05:48 +0000 (15:05 +0300)]
Use GL_FRAMEBUFFER instead of GL_[DRAW|READ]_FRAMEBUFFER with GLES2
Affects:
KHR-GLES2.texture_3d.copy_sub_image.negative
KHR-GLES2.texture_3d.copy_sub_image.rgba
Components: OpenGL
VK-GL-CTS issue: 3133
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ia32e16e6231b53c9f58e99d85e6178dca5b7f012
Graeme Leese [Wed, 15 Sep 2021 09:23:00 +0000 (10:23 +0100)]
Fix vector access in EGL partial update tests
The vector of damage regions was being accessed even when the vector
was empty, which is invalid.
This changes the behaviour of the test, which used to invalidate the
whole framebuffer when it found no damage regions, but not invalidates
none of it. This seems like the correct behaviour.
Components: EGL
Affects: dEQP-EGL.functional.partial_update.*
Change-Id: I8c5500a85d000d16b240359de7eadc67144fb7d3
Tapani Pälli [Thu, 23 Sep 2021 04:40:57 +0000 (07:40 +0300)]
Check for integer texture support in negative teximage tests
Affects:
KHR-GLES2.texture_3d.filtering.combinations.negative
Components: OpenGL
VK-GL-CTS issue: 3134
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I352d408a486fa12b406fadd6ec6b8d24e1cd211d
Sunny Sun [Thu, 27 May 2021 07:44:36 +0000 (15:44 +0800)]
Add a glMemoryBarrier between buffer write and read
The tests' behavior is like this:
1. Use transform feedback to write to one buffer
2. Set this buffer to texture, and then to image
3. glDispatchCompute -> use ImageLoad to read from the image
We have to add a glMemoryBarrier between step 1 and 3.
Affects:
KHR-GLES3*.core.texture_buffer.texture_buffer_operations_transform_feedback
Components: OpenGL
VK-GL-CTS issue: 2936
Change-Id: If711469a6cbf4ae1df6851e4006d937760e37ca7
Alexander Galazin [Thu, 8 Apr 2021 06:52:23 +0000 (09:52 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ia93ae886128b6368736e4dc433bbc689d80fae23
Alexander Galazin [Fri, 19 Mar 2021 11:12:55 +0000 (14:12 +0300)]
Remove in-repo verify_submission scripts
These scripts are now replaced by the CTS Tools repo:
https://github.com/KhronosGroup/VK-GL-CTS-Tools
Components: Vulkan, OpenGL
Change-Id: If0f47b4186ed10f9946852e8d37956d7328625a8
(cherry picked from commit
bdfb5d67b268ab2dba5178618cc1515f68087be3)
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme
Update the Readme files to point to the new
submission verifcation script
Components: Vulkan, OpenGL
Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit
412f5a3363eb228ca1a63be337de172a2e622571)
(cherry picked from commit
cdf7014b4bcecc17be7abe71ab604cd82f830d19)
junxu01 [Mon, 15 Mar 2021 08:07:54 +0000 (16:07 +0800)]
Revise the render_list string of angle vulkan waiver
Use 'ANGLE (*Vulkan *' to replace 'ANGLE (Vulkan*'.
Components: OpenGL ES
VK-GL-CTS issue: 2770
Change-Id: I8e5c8a86a81a538b829873a7c133a4c14b181087
Ancheng Qiao [Mon, 22 Feb 2021 10:25:25 +0000 (18:25 +0800)]
Fix precision issue in NearestEdgeTests shaders
We should also use the calculated offset in shader.
Affects:
KHR-GLES32.core.nearest_edge.*
Components: OpenGL ES
VK-GL-CTS issue: 2651
Change-Id: I9427d3a95a98e3be58dd7ea16a2bf96822f33450
(cherry picked from commit
b5328021844d8fcca5d0facc327f1e31785ed880)
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme
Update the Readme files to point to the new
submission verifcation script
Components: Vulkan, OpenGL
Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit
412f5a3363eb228ca1a63be337de172a2e622571)
Mika Väinölä [Mon, 8 Feb 2021 11:01:23 +0000 (13:01 +0200)]
Allow wildcards in waiver vendor strings
Use wildcard matching instead of exact string comparison for GL
waiver vendor attributes. Use "Google*" prefix for ANGLE XFB
waiver and remove a duplicate ANGLE waiver.
VK-GL-CTS issue: 2770
Components: Framework, OpenGL
Change-Id: I0ffc54af6aaa4c562bf1e8b5077e365da71f9a3e
(cherry picked from commit
074fc201162b347720c4ba3a013101837edf2a8d)
Ricardo Garcia [Fri, 22 Jan 2021 10:39:45 +0000 (11:39 +0100)]
Disable dithering in nearest edge test cases
This commits disables dithering in the nearest edge test cases so the
tests can correctly work with less than 8 bits per pixel.
Affected tests:
KHR-GL*.nearest_edge.*
Components: OpenGL
VK-GL-CTS issue: 2748
Change-Id: I906d7973be1a77e598135b3ed0dde5d671ba0ba7
(cherry picked from commit
671dbeb2ca8d3793f06fb9fe7838e0f02951141c)
Piers Daniell [Tue, 26 Jan 2021 17:19:30 +0000 (10:19 -0700)]
Return a valid format when GL_RGB8 is not treated as GL_RGBA8
There was a special case added to NearestEdgeTestCase::toTextureFormat()
in https://gerrit.khronos.org/c/vk-gl-cts/+/6634 to support implementations
that treat GLRGB8 internally as GL_RGBA8888. This code change had a coding
error is that for implementations that don't support GLRGB8 in this way
ended up aborting with a fatal error:
"Unable to map pixel format to texture format"
This trivial fix corrects the coding bug to simply return the
unadjusted format.
Affects:
KHR-GLES3.core.nearest_edge.offset_*
KHR-GLES31.core.nearest_edge.offset_*
Components: OpenGL
VK-GL-CTS issue: 2758
Change-Id: I639aed8bfed70941688d30edb02a770be4b05b08
Ricardo Garcia [Mon, 25 Jan 2021 15:02:01 +0000 (16:02 +0100)]
Unicode and Python3 fixes for verification scripts
Fix several issues related to running verification scripts under
different versions of Python, making sure the scripts are compatible
with both Python 2 and Python 3 and do not choke on invalid characters,
which are sometimes present in test shaders.
Components: OpenGL, Framework
VK-GL-CTS issue: 2756
Change-Id: Id472b842cb8fd6536e61489f3c01e28c462dbebd
Kyle Griffiths [Thu, 7 Jan 2021 11:38:11 +0000 (11:38 +0000)]
Threshold Consistency for ES2 FBO Tests
ES3 and 3.1 tests both use the same fuzzycompare threshold value
for their FBO tests, whereas ES2 uses a smaller value despite
having the same coarse formats that require the high threshold.
This change adjusts the ES2 FBO Render Test threshold to match
the value set for ES3 and ES3.1
Affects:
dEQP-GLES2.functional.fbo.render.*
Components: GLES2
VK-GL-CTS Issue: 2715
Change-Id: I15203e1ecf45081ec27baee59b780c5bdf5aacaf
(cherry picked from commit
34d1a2e19b9e12b6413fe61d8dc4ee752c6053e4)
Cheryl Wei [Mon, 4 Jan 2021 07:23:46 +0000 (15:23 +0800)]
Fix ReadPixels format
Pass implementation format to ReadPixels when pixel format is 8,8,8,0
because some implementations treat RGB8 as RGBA8888 which causes these
tests to fail.
Affected tests:
KHR-GLES3.core.nearest_edge.offset_*
KHR-GLES31.core.nearest_edge.offset_*
Components: OpenGL ES
VK-GL-CTS issue: 2712
Change-Id: I6ce92f19d2e329c75ca5fc6800092af623e25829
(cherry picked from commit
780408248fd9e84162f7f6ccf94677952ab0d0da)
Alexander Galazin [Thu, 10 Dec 2020 09:30:44 +0000 (10:30 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ib50bbe4e7c82ff147376432d2bf474348e38d952
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain
To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.
Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
int exitStatus = EXIT_SUCCESS;
^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
exitStatus = EXIT_FAILURE;
^
Components: OpenGL
VK-GL-CTS issue: 2696
Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048
leiche02 [Wed, 11 Nov 2020 06:42:14 +0000 (14:42 +0800)]
Use shader to calculate sample point
The test's sampling point is taking from interpolated varying, the inaccuracy
of interpolation may cause wrong sampling, use gl_FragCoord in fragment
shader to calcuate sample point directly.
Component: OpenGL
Affected tests: KHR-GLES32.core.nearest_edge.offset_*
VK-GL-CTS issue: 2651
Change-Id: Ib91595ca07a2b146059c51f2d68ebf086c10553c
(cherry picked from commit
3d55f6adbf38215ce3c4e2986a2a2e8a91086f08)
Alexander Galazin [Thu, 19 Nov 2020 08:45:53 +0000 (09:45 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I3dc4a855b6a1e8e5c9b1794b528fa433c2e7d4ff
Alexander Galazin [Thu, 19 Nov 2020 08:05:02 +0000 (09:05 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Change-Id: I4d5fd46d7f654ae13dcac771a16aca3683bfd735
Alexander Galazin [Wed, 18 Nov 2020 08:24:34 +0000 (09:24 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ie1cf28bfe3f8dcb9d0714472bb60dfc098811716
Jianle Wang [Tue, 20 Oct 2020 02:31:48 +0000 (10:31 +0800)]
Reset texture data to 0 after each 16 iterations to avoid overflow
The default precision of int in the fragment shader is mediump. The fs_out_color
in GeometryShaderMaxCombinedTextureUnitsTest::m_fragment_shader_code_body will
overflow when the number of texture unit become large, since each texture data
is equal to index of the texture units.
So reset texture data to 0 after each 16 iterations to avoid the overflow.
Component: OpenGL
Affected tests: KHR-GLES31.core.geometry_shader.limits.max_combined_texture_units
VK-GL-CTS issue: 2622
Change-Id: Icc9f2ed77a5a1cf6f315605f5f1045a60a56396c
(cherry picked from commit
ccb924af7b96ee3771ce25f6d31a0b243bbddee1)
Tapani Pälli [Tue, 27 Oct 2020 10:27:37 +0000 (12:27 +0200)]
framework: fix deinitSession when using waiver xml
Take numWaived in to account when considering if run was ok, patch also
add result.numWaived to the total number of tests, otherwise we hit
following assert when running with waiver:
cts-runner: glcTestRunner.cpp:829: Unknown function:
Assertion `result.numExecuted == result.numPassed + result.numFailed +
result.numNotSupported + result.numWarnings' failed.
Components: Framework, OpenGL
VK-GL-CTS issue: 2631
Affects:
cts-runner
Change-Id: Iac776fd1174e5461c455282cecca208f0322358d
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Mika Väinölä [Tue, 25 Aug 2020 06:29:07 +0000 (09:29 +0300)]
ANGLE waiver for GLES XFB array element capture
Tests waived:
dEQP-GLES3.functional.transform_feedback.array_element.*
dEQP-GLES3.functional.transform_feedback.random.*
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*
KHR-GLES31.core.program_interface_query.transform-feedback-types
Components: OpenGL ES
VK-GL-CTS issue: 2237
Change-Id: I72be7800ced02423a4ac120e5d9ce581636a6a4f
(cherry picked from commit
96fbe712c585b5955b0363cada87ab62a6e4a72b)
Mika Väinölä [Tue, 29 Sep 2020 06:58:03 +0000 (09:58 +0300)]
Modify/add GLES XFB tests without element capture
Some GLES implementations are unable to support array elements as
transform feedback varyings. Capture the full array when element
capture is not explicitly tested. Add new variants for tests where
different types of varyings are tested at the same time.
New tests:
dEQP-GLES3.functional.transform_feedback.random_full_array_capture.*
KHR-GLES31.core.program_interface_query.transform-feedback-types-full-array-capture
Affects:
dEQP-GLES3.functional.transform_feedback.random.*
KHR-GLES31.core.shader_image_size.*
KHR-GLES31.core.vertex_attrib_binding.basic-input*
Components: OpenGL ES
VK-GL-CTS issue: 2237
Change-Id: Ib6164d89bc99f8ca8287dad7cc1e0789916e3256
(cherry picked from commit
8404b33c25c7f7cf5cd49a7c18c3a63b0f1f70ae)
Piotr Byszewski [Wed, 7 Oct 2020 09:35:55 +0000 (11:35 +0200)]
Waiver for wide-line attribute interpolation
Wide-line attribute interpolation tests recently added to
the mustpass list cannot be passed by any hardware that
Intel has ever shipped.
Components: OpenGL
Affects:
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide
VK-GL-CTS issue: 2601
Change-Id: I7508429613e0d8cde45d6e9d6b5d07f0b17f7753
Piotr Byszewski [Wed, 7 Oct 2020 14:27:02 +0000 (16:27 +0200)]
Add support for waiver mechanism to cts-runner
Affects: cts-runner
Change-Id: I147cbb49114386b939a6563a1b4b96f620310736
Components: Framework
Alexander Galazin [Thu, 22 Oct 2020 11:04:14 +0000 (13:04 +0200)]
Amend OpenGL/ES Conformance Submission Package Requirements
The current practice is that all bugfixes should be merged
into the CTS repo before being used in a submission.
This change promotes this practices to a requirement.
Components: OpenGL
Change-Id: Id5e5782c0418cbedb0ca23b0abd06051021b63ec
Timothy Arceri [Thu, 30 Apr 2020 07:31:13 +0000 (17:31 +1000)]
Fix broken layout binding tests
Some of the shaders being generated contain a misplaced ;
An example of the code being gererated is as follows:
fragColor = vec4(float(atomicCounter(atomic0)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic1)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic2)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic3)), 1.0, 0.0, 1.0);
Affects:
KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*
Components: OpenGL
VK-GL-CTS issue: 2348
Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354
(cherry picked from commit
64d344b60bb7b4324525e08766fdeb14bf1f18c6)
Timothy Arceri [Sun, 3 May 2020 05:57:02 +0000 (15:57 +1000)]
Fix some egl robustness tests
Because the values of color were initially undefined an optimised
compiler can simply set all components of the vector to the value
being assigned to color[u_index] and eventually eliminate color and
u_index completely.
To avoid this we initialise color.
Affects:
dEQP-EGL.functional.robustness.reset_context.shaders*
Components: OpenGL
VK-GL-CTS issue: 2349
Change-Id: I6eb929eec07b039afb247427af91aba65dbade9b
(cherry picked from commit
4392facc87c2da80b5065f8663b9303fb1113e16)
Piers Daniell [Wed, 26 Aug 2020 00:08:19 +0000 (18:08 -0600)]
Tweak matrix input values to avoid small determinants
Modify the matrix test input values to better avoid
zero and close to zero determinants, which can produce
invalid inverse matrices.
Affects:
dEQP-GLES3.functional.shaders.matrix.*
Components: OpenGL
VK-GL-CTS issue: 2559
Change-Id: I2015e0f60dbe6271bc540f95dc6631928d38c108
Ancheng Qiao [Mon, 17 Aug 2020 07:02:11 +0000 (15:02 +0800)]
Add formats support in nearest_edge tests
Add RGBA_10_10_10_2 and RGBA_F16 support to pixelFormatMap
Affects:
KHR-GLES32.core.nearest_edge.*
Components: OpenGL
VK-GL-CTS issue: 2547
Change-Id: I6a96f4e5c87967b06bbfed1566df7e784009ad50
(cherry picked from commit
dea39590d12bf91ac37e66460a0aa908c5816216)
Reed Koser [Mon, 3 Aug 2020 22:58:33 +0000 (15:58 -0700)]
Offset tris from fragments for triangle tests
At some render resolutions, these tests can rely on the outcome of a
rasterizer tie-break. Since such behavior is left unspecified, we
offset the generated triangles slightly to ensure that they reliably
hit (or miss) the fragment locations we expect them to.
Affects:
KHR-GLES31.core.draw_indirect.basic-mode-drawArrays-triangle_strip_adjacency
KHR-GLES31.core.draw_indirect.basic-mode-drawArrays-triangles_adjacency
KHR-GLES31.core.draw_indirect.basic-mode-drawElements-triangle_strip_adjacency
KHR-GLES31.core.draw_indirect.basic-mode-drawElements-triangles_adjacency
Components: OpenGL ES
VK-GL-CTS issue: 2522
Change-Id: I63ab56dba99b5e6f6369aa4fd8b4538c9d01d874
Alastair Donaldson [Wed, 1 Apr 2020 15:48:46 +0000 (16:48 +0100)]
Account for aliasing exceptions in codegen
Fixes a problem where functions for which aliasing exceptions are in
place (at present this is just glRenderbufferStorageMultisampleEXT)
were not being treated properly in code generation -- their aliased
names were being erroneously used.
Component: Framework
Affects: dEQP-GLES*multisample*
VK-GL-CTS issue: 2291
Change-Id: I5e9caf8828b192d15bb3c91f53a9d09aa9442129
Dave Airlie [Mon, 1 Jun 2020 21:32:17 +0000 (07:32 +1000)]
Fix pixel pack/unpack in nearest edge tests
With certain fbconfigs and width/height combos, this would
corrupt memory due to overwriting too many bytes by 1.
Components: OpenGL
VK-GL-CTS Issue: 2496
Affects: KHR-GL46.nearest_edge.offset_*
KHR-GLES32.core.nearest_edge.offset*
Change-Id: I2b31c8791337555b0bb154cea1f676f0daf43c7e
(cherry picked from commit
9486b751ce73aa581af1c16494506569cf2e8364)
James Glanville [Thu, 2 Jul 2020 16:02:25 +0000 (17:02 +0100)]
Stop 10bit formats requiring GL_SRGB encoding
The EGL_KHR_gl_colorspace spec does not require formats that
are not SRGB8 to respect the given EGL_GL_COLORSPACE_KHR.
Components: EGL
VK-GL-CTS issue: 2288
Affects:
dEQP-EGL.functional.wide_color.window_1010102_colorspace_srgb
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_srgb
Change-Id: I1d9c502ef2f7068cf13d13564abdfe2d3c75b93b
Piers Daniell [Tue, 30 Jun 2020 18:09:19 +0000 (12:09 -0600)]
Check presence of WGL_EXT_colorspace before use
This CL fixes an issue where the WGL_COLORSPACE_EXT_attribute
pixel format query was used without checking the implementation
supports the WGL_EXT_colorspace extension.
Affects:
cts-runner initialization on WGL
glcts.exe initialization on WGL
Components: OpenGL
VK-GL-CTS issue: 2257
Change-Id: Ib4177b851c856570c4b125d537ffa476a02c04f3
Alexander Galazin [Wed, 8 Jul 2020 07:34:26 +0000 (09:34 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ib82d397035bcfd1903575e28aefd21addb29d69b
Jianle Wang [Sat, 9 May 2020 08:00:43 +0000 (16:00 +0800)]
Fix the sorting order in eglChooseConfig test
EGL_COLOR_COMPONENT_TYPE_EXT should be before EGL_COLOR_BUFFER_TYPE
in sorting.
Components: AOSP
VK-GL-CTS issue: 2370
Affects:
dEQP-EGL.functional.choose_config.color_component_type_ext.dont_care
Change-Id: Ic502f17c800dac9f889931eb71971366a5cdb392
(cherry picked from commit
137766c7c9b4f7dac80b90ebf6f9a032188afe0f)
Alexander Galazin [Tue, 2 Jun 2020 07:14:00 +0000 (09:14 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I73359af82cbc484aceffcf45628b50ee1d84f762
Nicolas Capens [Fri, 16 Mar 2018 13:51:47 +0000 (09:51 -0400)]
Add texture specification test for GL_OES_texture_half_float.
Google bug: b/
74609191
Components: AOSP
Affects: dEQP-GLES2.functional.texture.specification.*
Change-Id: I85aec3469872f2733f528ef7902427e9e87935e7
(cherry picked from commit
19dd72470bdd1a772c08474535e40874624a93b1)
Courtney Goeltzenleuchter [Thu, 21 Nov 2019 17:07:41 +0000 (10:07 -0700)]
Fix uninitialized index array
The test is doing a glDrawRangeElements using uninitialized data for
the element array. ANGLE validates that the indices fall within the
specified range. Data needs to be initialized to ensure that happens.
The spec says:
It is an error for index values (other than the primitive restart index,
when primitive restart is enabled) to lie outside the range [start, end], but
implementations are not required to check for this. Such indices will cause
implementation-dependent behavior.
Either the test needs to allow for an error or initialize the data so
as to be valid for the call.
Affected Test:
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements
Components: OpenGL ES
VK-GL-CTS issue: 2118
Change-Id: I51f8abb86f088b67990001454bb00d59313200c2
(cherry picked from commit
bf7a86af5a959c3f4ad39deabe8b396d8581470a)
James Glanville [Wed, 6 May 2020 13:01:23 +0000 (14:01 +0100)]
Limit dimensionality of arrays-of-arrays in random SSBO tests
One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.
Components: AOSP
VK-GL-CTS issue: 2355
Affects:
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays.15
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.23
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.41
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.7
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.21
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.49
Change-Id: I9211e376130014e6c1d50f4a2d843033a5219b2d
Alexander Galazin [Wed, 20 May 2020 13:26:35 +0000 (15:26 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: Ieeee1002be28bdaffed9177386edf13cd860d610
Alexander Galazin [Wed, 20 May 2020 10:11:52 +0000 (12:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I9ff5ee4471a46bfc98a96186c79bbaa79aa5d37f
Alexander Galazin [Tue, 19 May 2020 11:56:46 +0000 (13:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ie87d541785c979466d4a45dbb0c3df8b8a0f6884
Alexander Galazin [Fri, 15 May 2020 15:10:48 +0000 (17:10 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I545a33bdcfbd332d0646e35d1815cc84f2fe645d
Alexander Galazin [Wed, 13 May 2020 07:41:47 +0000 (09:41 +0200)]
Whitelist Vulkan CTS 1.2.2.1
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I8c1b46d210dec2ad6f85fbb2cd04c9969d350069
Alexander Galazin [Thu, 14 May 2020 16:50:52 +0000 (18:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I8224a74ae64ae8aafa4e0edbaab5aa7c5f2b322d
Alexander Galazin [Thu, 14 May 2020 15:13:47 +0000 (17:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I2594c8998a3e6dcc779d6fd84715ee26dddce726
Slawomir Cygan [Thu, 7 May 2020 15:47:08 +0000 (17:47 +0200)]
Add missing barrier to HOST in memory_barrier test
The test was lacking a barrier between device write access and
validation of the data on host.
Components: Vulkan
VK-GL-CTS Issue: 2359
Affects: dEQP-VK.memory_model.message_passing.*
Change-Id: Ia75277aaa2c7e25bff807cd3c6ebe14513403bfc
Matthew Netsch [Mon, 4 May 2020 18:15:49 +0000 (14:15 -0400)]
Fix wide line rasterization tests
Components: Vulkan
VK-GL-CTS Issue: 2347
Affects:
dEQP-VK.rasterization.primitives*line*wide
Change-Id: Ia27d80bfb57b9a09a631580e37d1f1277e99d365
Courtney Goeltzenleuchter [Wed, 4 Dec 2019 21:01:39 +0000 (14:01 -0700)]
GLES 3.1 negative framebuffer texture2D test fails
Test is using wrong max size when checking cube map textures.
Affected Test:
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.framebuffer_texture2d
Components: OpenGL ES
VK-GL-CTS issue: 2141
Change-Id: I35bcdcfb8181a9eb062da10234f56267c56ac188
(cherry picked from commit
40d1312085353785186aae62ef098ae5c3a2a5c5)
Courtney Goeltzenleuchter [Tue, 17 Dec 2019 14:40:46 +0000 (07:40 -0700)]
OpenGL ES: Use shader storage alignment
Affected Test:
KHR-GLES31.core.shader_storage_buffer_object.advanced-switchBuffers-vs
Components: OpenGL ES
VK-GL-CTS issue: 2151
Change-Id: If427cad30ac36cc96a29f936e2ef7a0c4a301667
(cherry picked from commit
5fd95f6e03e1a0ece7052c6d9931cac825909204)
Courtney Goeltzenleuchter [Wed, 31 Jul 2019 15:59:40 +0000 (09:59 -0600)]
Remove illegal parameter use in fbo.completeness
dEQP.GLES2.functional.fbo.completeness.renderable.texture
was calling glTexImage2D with a internalformat of GL_SRGB8
which is not valid for GLES 2.0 even with GL_EXT_sRGB.
Affects:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.srgb8
Components: AOSP
VK-GL-CTS issue: 1906
Change-Id: I97003eda10600a0a33e7212b6b5de34c5b2c8848
(cherry picked from commit
1de1dae629667dd79c896906540b1360e78d001a)
Courtney Goeltzenleuchter [Wed, 11 Sep 2019 15:01:22 +0000 (09:01 -0600)]
Fix use of invalid HALF_FLOAT enum
GLES 2.0 supports GL_HALF_FLOAT_OES via the OES_texture_half_float
extension. When the enum GL_HALF_FLOAT was added in GLES 3.0,
unfortunately it did not use the same enum value as GL_HALF_FLOAT_OES.
Technically, GL_HALF_FLOAT is not supported on a GLES 2.0 implementation
even with OES_texture_half_float. Fix GLES 2.0 tests to always use
GL_HALF_FLOAT_OES to avoid the issue.
Affects:
KHR-GLES2.core.internalformat.texture2d.*_half_float_*
KHR-GLES3*.core.internalformat.texture2d.*_half_float_*
Components: OpenGL
VK-GL-CTS issue: 1923
Change-Id: I9b43091382341798a0d62b9a4ec09153e915dc5c
(cherry picked from commit
f7ede20a9805615a3c371b786fa7407708cf612c)
Jim Hauxwell [Tue, 28 Aug 2018 16:33:48 +0000 (17:33 +0100)]
Fix invalid combinations for texture/copy on ES2 driver
OES_packed_depth_stencil describes the valid combinations available.
Texturing is only valid from it when OES_depth_texture is also present.
ES3 added depth texturing, but used different tokens than the initial
extension.
Affects:
KHR-GLES2.core.internalformat.texture2d.
depth_stencil_unsigned_int_24_8_depth24_stencil8
KHR-GLES*.core.internalformat.texture2d.
depth_stencil_unsigned_int_24_8_depth_stencil
Components: OpenGL
VK-GL-CTS issue: 1261
Change-Id: I91262c2c7eb71c9d3ff1eb59931227132b1828f9
(cherry picked from commit
33af336e530859e099df76b4c7d4acc5add3c2f7)
Tim Van Patten [Wed, 28 Aug 2019 18:15:23 +0000 (12:15 -0600)]
Use unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_texture].rgba8
These tests are using GL_RGBA8 as an internal format for TexImage2D.
Sized internal formats are not allowed for GLES 2.0.
Affects:
KHR-GLES2.texture_3d.copy_sub_image.rgba
KHR-GLES2.texture_3d.framebuffer_texture.rgba8
VK-GL-CTS issue: 1960
Change-Id: I8272e4ca0e2a9eda1161a5135e11f67b4ea5af6d
(cherry picked from commit
eec82ceff77877bdad7fc94f8ae793db09ffff46)
Courtney Goeltzenleuchter [Tue, 30 Jul 2019 16:20:29 +0000 (10:20 -0600)]
Fix invalid parameter for GLES 2.0
Test was creating a texture with format of GL_DEPTH_STENCIL and
internalformat of GL_DEPTH24_STENCIL8_OES. In ES 2.0 the format and
internalformat must match.
Added an extra case when running 3.0 or better that does allow different
values for format and internalformat.
Affects:
KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil
Components: OpenGL
VK-GL-CTS issue: 1903
Change-Id: I710975a0ea7c1d551f412590f887d9412be6f897
(cherry picked from commit
0c9f0c072d530bf378bc50265284fbc95c450e69)
James Hauxwell [Fri, 13 Jul 2018 13:52:40 +0000 (14:52 +0100)]
Fix invalid combinations for texture/copy on ES2 driver
The OES_rgb8_rgba8 extension specification only specifies
RenderbufferStorageOES for additional GL_RGB8/GL_RGBA8 tokens. ES3 spec
made these mandatory formats for texturing/copying.
Affects:
KHR-GLES2.core.internalformat.texture2d.rgb_unsigned_byte_rgb8
KHR-GLES2.core.internalformat.texture2d.rgba_unsigned_byte_rgb8
KHR-GLES2.core.internalformat.copy_tex_image.rgba8
KHR-GLES2.core.internalformat.copy_tex_image.rgb8
Components: OpenGL
VK-GL-CTS issue: 1260
Change-Id: Icbbd8882c5e623f5ac4725eebf977f535cfbfa31
(cherry picked from commit
5f7e621d6065f843651f7ca8f98989d05ca0bd65)
Alexander Galazin [Wed, 13 May 2020 16:11:23 +0000 (18:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: Ic55e8e0a9f73adb4d1c3c9a9bbd4f15932511027
Courtney Goeltzenleuchter [Fri, 20 Dec 2019 20:29:38 +0000 (13:29 -0700)]
Migrate deRoundUp32 to deInt32.h
deRoundUp32 is used in a number of places, promote to utility function.
back ported https://gerrit.khronos.org/#/c/5197 work at 3.2.5.1 tag.
Components: OpenGL ES
VK-GL-CTS issue: 2151
Change-Id: I3aaec51e0eec0e8e31e2082443d0d332bb8c3a56
Alexander Galazin [Wed, 13 May 2020 07:40:05 +0000 (09:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ib55bcc487e332625eccada5ce31be1b56c73395e
Alexander Galazin [Wed, 13 May 2020 06:33:12 +0000 (08:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I14bd589f1bd3adfabed0c7247fbef7deebe74c96
Alex Walters [Wed, 22 Apr 2020 17:03:12 +0000 (18:03 +0100)]
Non-strict line interpolation and rasterization
Firstly non-strict line rasterization (parallelogram decomposed to
triangles) is changed to use the TriangleInterpolator do determine
interpolated colours. Line endpoint attributes are duplicated to the
end vertices of parallelogram lines, which means that interpolation is
not along the normal of the line, but would be parallel to the major
axis.
For the interpolation to be calculated correctly by the
TriangleInterpolator, the triangle geometry needed to be produced with
the correct w values from the line endpoints, previously the triangle
was generated pre-projected with 1.0 for the W-coordinates. The
perspective interpolation previously was calculated separately using
the original line parameters passed to MultisampleLineInterpolator.
The second part of the change is to allow for a non-strict line 'GLES'
centric relaxation - GLES specified 1px non-antialiased lines would use
the 'diamond-exit' rule to produce bresenham lines. Vulkan only
specified parallelograms, but not all GLES implementations are able
to disable the 1px bresenham behaviour.
All changes are in verifyMultisameplLineGroupInterpolation and
verifyMultisameplLineGroupInterpolationInternal. Strict lines are not
affected.
This fixes Imaginations 1.2.2.x failures in:
dEQP-VK.rasterization.flatshading*line*
dEQP-VK.rasterization.interpolation*line*
Affects:
dEQP-VK.rasterization*line*
dEQP-GLES2.functional.rasterization*line*
dEQP-GLES3.functional.rasterization*line*
Components: Framework
VK-GL-CTS Issue: 2274
Change-Id: I0cfd496969512bdbf9d0156ea8f43e737c44512f
Yiwei Zhang [Sat, 2 May 2020 05:06:40 +0000 (22:06 -0700)]
Suppress -Werror=array-bounds for latest GCC
VK-GL-CTS Issue: 2345
Change-Id: Id2a04a13dd3a13cc159919778315218e2f136fca
Rosen Zhelev [Fri, 13 Mar 2020 16:23:13 +0000 (16:23 +0000)]
Extend Android Hardware Buffer external memory format tests
Add testing of depth and stencil Android Hardware Buffer formats.
These are added in Android API version 28 and present in the Format
Equivalence Table for VK_ANDROID_external_memory_android_hardware_buffer
Added tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d16_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.x8_d24_unorm_pack32
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d24_unorm_s8_uint
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d32_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.d32_sfloat_s8_uint
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.s8_uint
Components: Vulkan
VK-GL-CTS issue: 2280
Change-Id: Ia90efc34f600eea6a1510276f3edab668c253459
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes
Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.
See https://github.com/python/cpython/commit/
63673916464bace8e2147357395fdf3497967ecb
Components: Framework
VK-GL-CTS issue: 2358
Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85
(cherry picked from commit
b2d84418efc74c558be55c2934e14c2a93edefed)
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes
Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.
See https://github.com/python/cpython/commit/
63673916464bace8e2147357395fdf3497967ecb
Components: Framework
VK-GL-CTS issue: 2358
Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85
Alexander Galazin [Fri, 8 May 2020 17:53:59 +0000 (19:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I4769eb2ad81f29030c947fb1507fd8d3b64d385b
Alexander Galazin [Fri, 8 May 2020 16:32:19 +0000 (18:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I6f501d0a79d072f3c3178ceda69dff5dfa9f98a0
Alexander Galazin [Fri, 8 May 2020 15:25:26 +0000 (17:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: Ibebde574b312ceb0f9077bcbe13ef5594387b2eb
Connor Abbott [Mon, 4 May 2020 16:43:11 +0000 (18:43 +0200)]
fix input dependency for renderpass depth/stencil format tests
This appears to be a copy/paste mistake. The exact stage/access bits was
taken from other dependencies with an input attachment which is a
depth/stencil attachment.
Affected tests:
dEQP-VK.renderpass.*.formats.d16_unorm.input.*
dEQP-VK.renderpass.*.formats.x8_d24_unorm_pack32.input.*
dEQP-VK.renderpass.*.formats.d32_sfloat.input.*
dEQP-VK.renderpass.*.formats.d24_unorm_s8_uint.input.*
dEQP-VK.renderpass.*.formats.d32_sfloat_s8_uint.input.*
Change-Id: Ib1cde2371781cc8337905af04e0b7732b74333af
Components: Vulkan
VK-GL-CTS issue: 2351
Slawomir Cygan [Mon, 27 Apr 2020 13:14:42 +0000 (15:14 +0200)]
Avoid exceeding maxPerStageResources in descriptor_indexing tests
The 'calculateInLoop; (*_in_loop) variant of the test is using additional
uniform texel buffer descriptor binding in pipeline layout.
This binding was counted only against maxPerStageDescriptorSampledImages and
maxDescriptorSetSampledImages limits, but not maxPerStageResources.
The fix is to count it against all three limits - but do this only when needed (in
*_in_loop) tests.
Component: Vulkan
VK-GL-CTS Issue: 2333
Affects: dEQP-VK.descriptor_indexing.*
Change-Id: I1c3476cb8c50c3ed61e73ecd4c106e6e9b613022
Ari Suonpaa [Mon, 27 Apr 2020 07:06:18 +0000 (10:06 +0300)]
Split subgroupBroadcast tests
Subgroup broadcast tests with required subgroup size were
iterating the range of supported sizes in a single test.
These are now split into own test cases to prevent long
execution times of these tests and to allow the test
group to run faster when running tests in parallel.
Affects:
dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast*
Components: Vulkan
VK-GL-CTS issue: 2327
Change-Id: I5af34cebee0fd58e5e065dbdef882badcf04a90b
Ricardo Garcia [Fri, 3 Apr 2020 16:41:13 +0000 (18:41 +0200)]
Test variableMultisampleRate with non-empty framebuffer
This commits adds new test variants to the existing variable rate
multisample tests to check a non-empty framebuffer does not affect the
results, both when the subpass is still completely empty and when the
subpass contains an VK_ATTACHMENT_UNUSED attachment reference.
New tests:
dEQP-VK.pipeline.multisample.variable_rate.*_fb_*
Components: Vulkan
VK-GL-CTS issue: 2152
Change-Id: Ic8aabad6a00ca29c4eb624222548c6c607f6dec6