platform/upstream/VK-GL-CTS.git
2 years agoFix signed integer overflow in shader precision tests
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

2 years agoframework: unify TestPackage behaviour between ES 3.1 and 3.2
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

2 years agoImprove and fix quad randomization in vertex array test
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

2 years agoAvoid division by zero in cube map coordinates
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

2 years agoAvoid shifting by more than bit width
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

2 years agoPad out glClearBufferuiv value
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

2 years agoAdd missing extension requirement
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

2 years agoFix signed integer overflow in vertex array tests
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

2 years agoFix signed integer overflow
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

2 years agoFix glcPackedPixelsTests to properly account for skip images
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

2 years agoFix out-of-bounds stack read
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

2 years agoAvoid OOB params access in call log wrapper
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

2 years agoFix array iteration range
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

2 years agoFix source data size in SSBO array length tests
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

2 years agoRemove few EGL robustness tests
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

2 years agoGCC 11 build fixes for opengl-es-cts
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

3 years agox11_egl: only append library path if it's not empty
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

3 years agoUse GL_FRAMEBUFFER instead of GL_[DRAW|READ]_FRAMEBUFFER with GLES2
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

3 years agoFix vector access in EGL partial update tests
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

3 years agoCheck for integer texture support in negative teximage tests
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

3 years agoAdd a glMemoryBarrier between buffer write and read
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

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

3 years agoRemove in-repo verify_submission scripts
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)

3 years agoUpdate Vulkan/GL Readme
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)

3 years agoRevise the render_list string of angle vulkan waiver
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

3 years agoFix precision issue in NearestEdgeTests shaders
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)

3 years agoUpdate Vulkan/GL Readme
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)

3 years agoAllow wildcards in waiver vendor strings
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)

3 years agoDisable dithering in nearest edge test cases
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)

3 years agoReturn a valid format when GL_RGB8 is not treated as GL_RGBA8
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

3 years agoUnicode and Python3 fixes for verification scripts
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

3 years agoThreshold Consistency for ES2 FBO Tests
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)

3 years agoFix ReadPixels format
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)

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

3 years agooglcts-runner: Include cstdlib in glcTestRunnerMain
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

3 years agoUse shader to calculate sample point
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)

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
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

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

3 years agoReset texture data to 0 after each 16 iterations to avoid overflow
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)

3 years agoframework: fix deinitSession when using waiver xml
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>
4 years agoANGLE waiver for GLES XFB array element capture
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)

4 years agoModify/add GLES XFB tests without element capture
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)

4 years agoWaiver for wide-line attribute interpolation
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

4 years agoAdd support for waiver mechanism to cts-runner
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

4 years agoAmend OpenGL/ES Conformance Submission Package Requirements
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

4 years agoFix broken layout binding tests
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)

4 years agoFix some egl robustness tests
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)

4 years agoTweak matrix input values to avoid small determinants
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

4 years agoAdd formats support in nearest_edge tests
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)

4 years agoOffset tris from fragments for triangle tests
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

4 years agoAccount for aliasing exceptions in codegen
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

4 years agoFix pixel pack/unpack in nearest edge tests
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)

4 years agoStop 10bit formats requiring GL_SRGB encoding
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

4 years agoCheck presence of WGL_EXT_colorspace before use
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

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

4 years agoFix the sorting order in eglChooseConfig test
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)

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

4 years agoAdd texture specification test for GL_OES_texture_half_float.
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)

4 years agoFix uninitialized index array
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)

4 years agoLimit dimensionality of arrays-of-arrays in random SSBO tests
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

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
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

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
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

4 years agoUpdate Vulkan headers
Alexander Galazin [Fri, 15 May 2020 15:10:48 +0000 (17:10 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I545a33bdcfbd332d0646e35d1815cc84f2fe645d

4 years agoWhitelist Vulkan CTS 1.2.2.1
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
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

4 years agoAdd missing barrier to HOST in memory_barrier test
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

4 years agoFix wide line rasterization tests
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

4 years agoGLES 3.1 negative framebuffer texture2D test fails
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)

4 years agoOpenGL ES: Use shader storage alignment
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)

4 years agoRemove illegal parameter use in fbo.completeness
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)

4 years agoFix use of invalid HALF_FLOAT enum
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)

4 years agoFix invalid combinations for texture/copy on ES2 driver
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)

4 years agoUse unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_textu...
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)

4 years agoFix invalid parameter for GLES 2.0
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)

4 years agoFix invalid combinations for texture/copy on ES2 driver
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)

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
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

4 years agoMigrate deRoundUp32 to deInt32.h
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
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

4 years agoNon-strict line interpolation and rasterization
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

4 years agoSuppress -Werror=array-bounds for latest GCC
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

4 years agoExtend Android Hardware Buffer external memory format tests
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

4 years agoEnsure alphabetical order of xml attributes
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)

4 years agoEnsure alphabetical order of xml attributes
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
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

4 years agofix input dependency for renderpass depth/stencil format tests
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

4 years agoAvoid exceeding maxPerStageResources in descriptor_indexing tests
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

4 years agoSplit subgroupBroadcast tests
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

4 years agoTest variableMultisampleRate with non-empty framebuffer
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

4 years agoAdded a fourth batch of coverage tests found by GraphicsFuzz
Ari Suonpaa [Wed, 29 Apr 2020 09:21:54 +0000 (12:21 +0300)]
Added a fourth batch of coverage tests found by GraphicsFuzz

New tests:

dEQP-VK.graphicsfuzz.cov-const-folding-ceil-vec4
dEQP-VK.graphicsfuzz.cov-const-folding-det-identity
dEQP-VK.graphicsfuzz.cov-const-folding-same-condition
dEQP-VK.graphicsfuzz.cov-const-folding-sinh-inf
dEQP-VK.graphicsfuzz.cov-dag-combiner-neg-div-pow2
dEQP-VK.graphicsfuzz.cov-dag-combiner-same-cond-nested
dEQP-VK.graphicsfuzz.cov-increment-inside-clamp
dEQP-VK.graphicsfuzz.cov-loop-findmsb-findlsb
dEQP-VK.graphicsfuzz.cov-max-clamp-same-minval
dEQP-VK.graphicsfuzz.cov-selection-dag-same-cond-twice
dEQP-VK.graphicsfuzz.cov-simplify-clamp-max-itself
dEQP-VK.graphicsfuzz.cov-simplify-component-uniform-idx
dEQP-VK.graphicsfuzz.cov-simplify-div-by-uint-one
dEQP-VK.graphicsfuzz.cov-simplify-ldexp-exponent-zero
dEQP-VK.graphicsfuzz.cov-simplify-mul-identity
dEQP-VK.graphicsfuzz.cov-simplify-not-less-than-neg
dEQP-VK.graphicsfuzz.cov-simplify-select-fragcoord
dEQP-VK.graphicsfuzz.cov-simplify-sign-cosh
dEQP-VK.graphicsfuzz.cov-simplify-smoothstep-undef
dEQP-VK.graphicsfuzz.cov-value-tracking-const-dfdy
dEQP-VK.graphicsfuzz.cov-value-tracking-inclusive-or
dEQP-VK.graphicsfuzz.cov-value-tracking-uniform-incident

Components: Vulkan
Change-Id: If6d0803f73424c2e1fcc922e738803fac8b7cf60

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 18:13:23 +0000 (20:13 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I98e6a4466dad826eb55fb9cf99d81d217f610123

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 14:21:38 +0000 (16:21 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I209deda6936efa25b41d98bbefcca889fa9f1906

4 years agoMake ImageSamplingInstance loop over pNexts
Joshua Ashton [Fri, 17 Apr 2020 03:17:07 +0000 (04:17 +0100)]
Make ImageSamplingInstance loop over pNexts

We need this to potentially support multiple pNexts.

Affected tests:
dEQP-VK.pipeline.sampler.*

Components: Vulkan
VK-GL-CTS issue: 2331

Change-Id: Ia38f9a6f2a2ffafe1d71c8169bb8f20f8cde1da5

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 7 May 2020 07:09:13 +0000 (09:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I0e426c55c733847803339048389c18163350ef4f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 7 May 2020 07:09:12 +0000 (09:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I37ceae996c069a640b7c9c67177bc6b0fe6ee5ee