platform/upstream/VK-GL-CTS.git
6 years agoFix dEQP-GLES3.functional.fbo.multiview.*
Fei Yang [Mon, 2 Jul 2018 08:48:40 +0000 (16:48 +0800)]
Fix dEQP-GLES3.functional.fbo.multiview.*

When the width of render target is an odd value, these tests failed.

The reason is these tests set default sample parameters and sample from
a 512x512 surface, where the left/right views have different colors.
When the width of render target is an odd value, the color of central
line is undefined.

As these tests' purpose is mainly want to verify whether the left/right
views have the different color, but not exactly care what the central
line is, a simple solution is just skip the check of central line.

Components: OpenGL

VK-GL-CTS issue: 1256

Affects: dEQP-GLES3.functional.fbo.multiview.*

Change-Id: I62c86dc7269864a3919b11a331178bfc54d65ab0

6 years agoLoosen threshold in Texture3D tests
Yabin Zheng [Tue, 22 May 2018 03:02:27 +0000 (11:02 +0800)]
Loosen threshold in Texture3D tests

The verification function should consider both src and dst formats
when computing allowed error threshold.

Components: OpenGL

Affects:
KHR-GLES2.texture_3d.sub_image.*

VK-GL-CTS issue: 1243

Change-Id: Ie53aed63724aa75a0da697e30e7625a309acf76b

6 years agoSome glCopyTexSubImage3D related tests conflict with GLES3.2 spec
Yabin Zheng [Fri, 22 Jun 2018 01:50:06 +0000 (09:50 +0800)]
Some glCopyTexSubImage3D related tests conflict with GLES3.2 spec

According to the GLES3.2 spec,  An INVALID_OPERATION error is generated if the
component sizes of internalformat do not exactly match the corresponding
component sizes of the source buffer's effective internal format when call the
glCopyTExSubImage3D function.

The test format is GL_RGBA8, while different config ID will result in different
format in the render buffer. The number of channel bits of some format are not
equal to GL_RGBA8. So we should add a new FBO to restrict the test behavior.

Components: OpenGL

Affects: KHR-GLES2.texture_3d.copy_sub_image.*

VK-GL-CTS issue: 1240

Change-Id: I35c066fce990038e95da1e04197d659929fd8e86

6 years agoFix swap_buffers_with_damage.resize* hang on X11
Lujin Wang [Tue, 26 Jun 2018 18:47:39 +0000 (11:47 -0700)]
Fix swap_buffers_with_damage.resize* hang on X11

In SwapBuffersWithDamageTest, the second time setSurfaceSize() was
called, because the size values were the same as the first call, the
test would hang with XNextEvent() in XlibWindow::setDimensions() waiting
for a ConfigureNotify event that Xserver would not deliver in
ConfigureWindow() if size was not changed.

Changing the if conditions causes size values to change for neighboring
setSurfaceSize calls and resolves the hang.

Affects:
dEQP-EGL.functional.swap_buffers_with_damage.resize*

Components: egl

VK-GL-CTS issue: 1238

Change-Id: I78177ffbef4f7f380d850ad43d83317f82401c7b

6 years agoCorrect getProcAddress() handling in robustness tests
Oliver Wohlmuth [Fri, 6 Jul 2018 12:19:17 +0000 (14:19 +0200)]
Correct getProcAddress() handling in robustness tests

The below robustness tests don't use the OpenGL ES extension name when
calling getProcAddress() in an OpenGL ES environment. This change fixes
it by removing the getProcAddress() calls and use gl.XXX() to call these
functions. gl.XXX() takes care of the context it is running in.

Affects:
KHR-NoContext.*.robustness.no_reset_notification
KHR-NoContext.*.robustness.getnuniform
KHR-NoContext.*.robustness.readnpixels

Components: OpenGL
VK-GL-CTS issue: 1267

Change-Id: I4ed18990626f1dd744eebf6b99c18a60a29dad5f

6 years agoRemove shaders.negative.unused_uniform_precision_matching
Tate Hornbeck [Wed, 27 Jun 2018 16:53:11 +0000 (12:53 -0400)]
Remove shaders.negative.unused_uniform_precision_matching

The GLSL spec was updated to "the types, precisions and any location
specifiers of all statically used uniform variables with the same name
must match across shaders that are linked into a single program."

which makes the unused_uniform_precision_matching test invalid.

Updating this test to use statically used uniforms would be
redundant to used_uniform_precision_matching.

Components: OpenGL
VK-GL-CTS issue: 1249

Affects:
KHR-GLES32.shaders.negative.unused_uniform_precision_matching

Change-Id: I6a60c9355144f1d539a6463d913844129e6dfc8d

6 years agoShaders Derivate Tests: fix threshold
Juan A. Suarez Romero [Mon, 25 Jun 2018 15:22:48 +0000 (17:22 +0200)]
Shaders Derivate Tests: fix threshold

Derivate tests are calculating the threshold used for validating results
by taking in account a scale. Apparently this is incorrect, and is
causing some tests to fail.

A similar situation happened in Vulkan, and the proper fix was to do not
take in account the scale for the threshold calculation. Hence, applying
the same fix here fixes all the failing tests.

Affects:
dEQP-GLES3.functional.shaders.derivate.*
dEQP-GLES31.functional.shaders.derivate.*

Components: OpenGL

VK-GL-CTS issue: 1237

Change-Id: I106e36a708a6f75768c15ccdb4b064eb562cb28f

6 years agoExclude tests causing OOM
Alexander Galazin [Wed, 27 Jun 2018 07:59:49 +0000 (09:59 +0200)]
Exclude tests causing OOM

Components: OpenGL

Affects:
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_combined_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_1000x1000_drawcount_5000

VK-GL-CTS issue: 1241

Change-Id: I3bc753391e2739387879ca117e9da29c98286cec

6 years agoAllow glReadPixels() differences due precision errors
Juan A. Suarez Romero [Tue, 19 Jun 2018 07:23:13 +0000 (07:23 +0000)]
Allow glReadPixels() differences due precision errors

When comparing the results from glReadPixels() passing user-space memory
and using a PBO, there could be differences due drivers implementation
following different paths, and thus generating differences because of
precision errors.

Like in dEQP-GLES3.functional.read_pixels.* tests, add a threshold under
which the differences are acceptable.

Affects:
dEQP-GLES3.functional.pbo.*

Components: OpenGL

VK-GL-CTS issue: 1228

Change-Id: I7c9ac5de359cff8deba039b010357eae0da3eaaf

6 years agoRobust_buffer_access_behavior.texel_fetch relies on undefined behavior
Yabin Zheng [Thu, 21 Jun 2018 01:41:20 +0000 (09:41 +0800)]
Robust_buffer_access_behavior.texel_fetch relies on undefined behavior

The failed test behavior is :
Create a mipmap texture as a dst texture and attach its level 1 texture
to the framebuffer colorattachment0 as render target. Create a mipmap
texture as a src texture and fill some data to its level 1 texture.
Use "texelFetch" in the fragment shader to sample level 1 source
texture(mipmap) and draw it to the dst texture.

According to the GLES3.2 spec:
The results of texelFetch builtins are undefined if the computed level
of detail is not the texture's base level and the texture's minification
filter is NEAREST or LINEAR.

Modify the test for the mipmap case.

Components: OpenGL

Affects:
KHR-NoContext.es32.robust_buffer_access_behavior.texel_fetch

VK-GL-CTS issue: 1236

Change-Id: Id67ea894a3dd423bba611ccc11a131b80d38fc64

6 years agoIncrease threshold GLES3 blend tests
Juan A. Suarez Romero [Wed, 20 Jun 2018 16:37:58 +0000 (18:37 +0200)]
Increase threshold GLES3 blend tests

The threshold used in dEQP-GLES3.functional.fragment_ops.blend.* is
computed using a non-scientific ad hoc formula.

As stated in a comment, when using few color bits, the blend operations
brings extra inaccuracy, which requires to increase the threshold.

Apparently, the current threshold value is not enough when using a RGB565
configuration, and it should be increased.

Moreover, the threshold used in GLES2 blend tests is a bit bigger, and
using this threshold for the GLES3 blend tests fixes the problems with
RGB565.

Thus this commit applies the GLES2 blend tests threshold to GLES3 tests.

Affects:
dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.*

Components: OpenGL

VK-GL-CTS issue: 1230

Change-Id: I7269768a9591fc70532312d8cc13481252a6f6e2

6 years agoDo not fail if no config is available
Juan A. Suarez Romero [Fri, 8 Jun 2018 08:27:33 +0000 (08:27 +0000)]
Do not fail if no config is available

If the backend does not support any EGL config with the required
attributes, make the test UnSupported rather than Fail.

Affects:
dEQP-EGL.functional.wide_color.*

Components: OpenGL

VK-GL-CTS issue: 1210

Change-Id: Ic3c37e68530b4ac0fac72e713023542645bd8288

6 years agoGet an EGLConfig supporting pbuffers
Juan A. Suarez Romero [Wed, 6 Jun 2018 14:29:37 +0000 (14:29 +0000)]
Get an EGLConfig supporting pbuffers

Several tests create pbuffer surfaces, but they are asking for EGL
configuration that supports windows, instead of pbuffers.

Affected tests:
dEQP-EGL.functional.multicontext.*
dEQP-EGL.functional.sharing.gles2.multithread.*

Components: OpenGL

VK-GL-CTS issue: 1204

Change-Id: Ifcee406eb37cbf5fb16ffba851247772909992b6

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Alexander Galazin [Sun, 8 Jul 2018 12:45:02 +0000 (14:45 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5

Change-Id: I7c25701183541186be93af679e622f169f5d37e1

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Sun, 8 Jul 2018 12:44:59 +0000 (14:44 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: Ice7c3e12cfbc1982ab7d9e363670d81c77c6e7e4

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agowayland: search for GLESv1 toggle DEQP_SUPPORT_GLES1 on if found
Juan A. Suarez Romero [Tue, 29 May 2018 15:03:13 +0000 (15:03 +0000)]
wayland: search for GLESv1 toggle DEQP_SUPPORT_GLES1 on if found

Some tests require GLES1 support and report test failure if support
has not been built.

Search for GLES1 libraries and enable it.

Components: Framework

VK-GL-CTS issue: 1161

Change-Id: Iea0bb9f9362a4529cbf452efddd06b417cd74c76

6 years agogeneratemipmap_zero_level_array_compressed may reuse stale object
Yabin Zheng [Wed, 6 Jun 2018 03:09:25 +0000 (11:09 +0800)]
generatemipmap_zero_level_array_compressed may reuse stale object

The test should add a new individual texture object for this sub-test.

Components: OpenGL

Affects:
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed

VK-GL-CTS issue: 1206

Change-Id: I3af22e04c110f7e08a90596c198a9ae3da76fcdc

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Alexander Galazin [Fri, 1 Jun 2018 09:22:21 +0000 (11:22 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5

Change-Id: Ie074683ba2b3818d0ceff54719c40e259deb3e71

6 years agoSkip BC/DXT formats in Texture3D tests
Juan A. Suarez Romero [Mon, 14 May 2018 15:24:04 +0000 (15:24 +0000)]
Skip BC/DXT formats in Texture3D tests

These formats only supports 2D images.

Affects:
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_sub_image

Components: OpenGL

VK-GL-CTS issue: 1163

Change-Id: I806dccfdbb2969b51c0ee9a1010c04107154733a
(cherry picked from commit a0b8363a7837546c73e4d30a6c6d37da21ea8645)

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Wed, 16 May 2018 11:01:52 +0000 (11:01 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 in GLES2 should fail unless proper
extensions are supported.

But the OpenGL ES context created can be either 2.0 or an upper version,
and upper versions (3.0+) supports this format without extensions.

Thus, if OpenGL ES 3.0+ context is returned, this test should assume
that rendering is possible.

This is an extension of fix done in Change-ID
Ibb95736959ff9d5b0ff972ccf3983abc98795be3.

Affectd tests:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: I733a8595b1eba7756787cde4a6bca2391dc345d7
(cherry picked from commit dd951adf61b3b6ad6cdab92b26b00c6931235681)

6 years agoFix gl_FragData[u_index] test in OpenGL ES 3.x context
Yabin Zheng [Wed, 21 Mar 2018 01:38:40 +0000 (09:38 +0800)]
Fix gl_FragData[u_index] test in OpenGL ES 3.x context

The test is valid if GL_EXT_draw_buffers or GL_NV_draw_buffers
is supported

Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers

Components: OpenGL

VK-GL-CTS issue: 1168

Change-Id: I44b41330ca37614920ed1cb0d6d021a8bc1e0fa3

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Thu, 19 Apr 2018 15:35:40 +0000 (15:35 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 format in RenderBuffer should fail
for OpenGL ES 2.0 because it is not supported in the specification,
unless either EXT_sRGB or EXT_sRGB_write_control are implemented, as
they add this format as supported.

But when creating the OpenGL context, it can be either 2.0 or an upper
version. If 3.0+ is returned, this version supports this format without
those extensions, and thus the test should pass.

So this change ensures that if OpenGL ES 3.0+ context is returned, then
the use of GL_SRGB8_ALPHA8 in RenderBuffer should work.

Affected tests:
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: Ibb95736959ff9d5b0ff972ccf3983abc98795be3
(cherry picked from commit a72652c15bbb6bbeed3fdf357630166095c44d91)

6 years agoRemove some problematic texture_functions tests
James Glanville [Tue, 24 Apr 2018 21:26:17 +0000 (22:26 +0100)]
Remove some problematic texture_functions tests

Some of the tests in dEQP-GLES3.functional.shaders.texture_functions
are overly sensitive to rounding modes and precision of the CPU
reference implementation. For this reason they were removed from
AOSP. This change removes them from mustpass to match.

VK-GL-CTS issue: 1146
Components: OpenGL

Affects:
dEQP-GLES3.functional.shaders.texture_functions.texturelodoffset.usampler2darray_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.isampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler3d_bias_fixed_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler3d_bias_float_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.isampler3d_bias_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.usampler3d_bias_fragment

Change-Id: Id6bfc025a350deb0914d27151e0bae88b42710b6

6 years agoMove unspecified-precision tests from ES2/ES3 to ES3.1
Chris Forbes [Wed, 2 May 2018 23:31:10 +0000 (16:31 -0700)]
Move unspecified-precision tests from ES2/ES3 to ES3.1

Got significant pushback from vendors about enforcing these tests on
ES2/ES3 -- ends up being a vendor choice between breaking shipping
content or failing CTS.

Moved all of these tests to ES3.1 only as a compromise.

Change-Id: I5a827064472f73908b01fa85e0097bda21038136
Components: AOSP
(cherry picked from commit 047891af31d1c8827a84e49e81b5b526ee5ee485)

6 years agoRemove line expression tests
Juan A. Suarez Romero [Thu, 10 May 2018 16:54:21 +0000 (16:54 +0000)]
Remove line expression tests

Using #line directive with an expression is considered as undefined
behaviour. Thus, remove these tests.

Removed:
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_expression_fragment
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_expression_vertex
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_expression_fragment
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_expression_vertex
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_fragment
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_vertex
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_fragment
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_vertex

Components: OpenGL

VK-GL-CTS issue: 1145

Change-Id: Ib8cb58a8e712397114eb33d8d36c1957b3f5e9b0

6 years agoFix window size issues in several new tests
Mark Adams [Mon, 16 Apr 2018 20:39:06 +0000 (16:39 -0400)]
Fix window size issues in several new tests

Some of the new tests added in the last 6 months fail when run with
non-default window sizes. In two cases, the tests were hardcoded to use
64x64 without checking the underlying size and thus could end up
with corruption if the window size was smaller.

In another case, the test changes the framebuffer to zero mid-test
instead of to the default framebuffer, resulting in invalid results
with deqp-surface-type=fbo.

Finally, the generated texture data's alpha is intended to always
be 1.0, but it can vary slightly due to numerical instability
depending on the window size. It is now hardcoded to ensure we
get the intended result.

VK-GL-CTS issue: 1126

Components: OpenGL

Affects:
KHR-GL*.internalformat.renderbuffer.*
KHR-GL*.internalformat.texture2d.*
KHR-GLES*.shaders.aggressive_optimizations.*

Change-Id: I3c1779cc7818ba5b1a798ec683af2780eeb9c9f4

6 years agoRe-remove negative ES2 tests
Mark Adams [Mon, 23 Apr 2018 16:27:14 +0000 (12:27 -0400)]
Re-remove negative ES2 tests

As per previous WG decision.

Components: OpenGL

Affects:
dEQP-GLES2.functional.shaders.texture_functions.invalid.texture2d_bias_in_vertex
dEQP-GLES2.functional.shaders.texture_functions.invalid.texturecube_bias_in_vertex
dEQP-GLES2.functional.shaders.texture_functions.invalid.texture2dlod_in_fragment
dEQP-GLES2.functional.shaders.constant_expressions.invalid.precision_specifier

Change-Id: I9c2640fd30b52c3d0aa7e957ea52249e213b2096

6 years agoGLES 2/3: Fix masked color clear tests.
Jamie Madill [Mon, 16 Apr 2018 17:26:06 +0000 (13:26 -0400)]
GLES 2/3: Fix masked color clear tests.

This corrects the generating truth table to use the proper flags
for using a non-scissored masked clear.

Components: OpenGL

Affects:
dEQP-GLES2.functional.color_clear.masked_rgb
dEQP-GLES2.functional.color_clear.masked_rgba
dEQP-GLES3.functional.color_clear.masked_rgb
dEQP-GLES3.functional.color_clear.masked_rgba

Google bug: b/78103598
VK-GL-CTS issue: 1125

Change-Id: I8b9e6db49ddfd76b887d1d7825caa005ab0bbb0c

6 years agoUse layered image bindings correctly
Graeme Leese [Mon, 16 Apr 2018 15:04:07 +0000 (16:04 +0100)]
Use layered image bindings correctly

Where the shader uses, for example, image3d the image binding in the API
must be layered, otherwise behaviour is undefined.

Components: OpenGL
Affects:    KHR-GLES31.shaders.layout_location.*
VK-GL-CTS Issue: 1123

Change-Id: I8267428d847d426945f1356bd654fb4f6c374881

6 years agoAdd OpenGL ES CTS 3.2.5.x mustpass
Alexander Galazin [Thu, 12 Apr 2018 10:21:17 +0000 (12:21 +0200)]
Add OpenGL ES CTS 3.2.5.x mustpass

Components: OpenGL

Change-Id: I860e4f6ee17c854066868f6b00e3cb0f41fb357b

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Thu, 12 Apr 2018 08:15:01 +0000 (10:15 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: I312b8f9df9f294a1bd5a63a7d5bba8bd5ae6da22

6 years agoPrefer KHR entrypoints instead of EXT for robustness tests
Tapani Pälli [Thu, 5 Apr 2018 05:13:46 +0000 (08:13 +0300)]
Prefer KHR entrypoints instead of EXT for robustness tests

When resolving function entrypoints, framework resolves EXT
entrypoints after KHR to the same pointers. There are drivers that
implement only KHR entrypoints, prefer KHR over EXT so that KHR
entrypoints will be the ones used if both extensions are supported
by the driver.

Components: OpenGL ES
VK-GL-CTS issue: 1107

Affects:
KHR-NoContext.es32.robustness.getnuniform
KHR-NoContext.es32.robustness.readnpixels

Change-Id: Iec5f7cbdd53061e105b3445f7613ee41fccc4553
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
6 years agoFix GCC 7 implicit fallthrough warnings
Mika Väinölä [Tue, 20 Mar 2018 11:40:57 +0000 (13:40 +0200)]
Fix GCC 7 implicit fallthrough warnings

GCC 7 with -Wextra or -Wimplicit-fallthrough enabled warns when
a switch case falls through. For cases where this is intentional
the warning can be suppressed with a comment. Breaks and returns
were also added for cases which end in DE_FATAL.

Removing a fallthrough in vktSparseResourcesShaderIntrinsics.cpp
resulted in new test cases.

Affects: *

New tests:
dEQP-VK.sparse_resources.shader_intrinsics.3d_sparse_fetch.*

Components: Framework, Vulkan, OpenGL

VK-GL-CTS issue: 1067

Change-Id: I0306f96cf3a50e85144b4dd22a9a88cd908607d3

6 years agoRequire protectedMemory feature for non-zero queue create flags
Slawomir Cygan [Fri, 9 Mar 2018 17:53:43 +0000 (18:53 +0100)]
Require protectedMemory feature for non-zero queue create flags

Protected memory feature is required for using
VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT.

Components: Vulkan

VK-GL-CTS Issue: 1068

Affects:
dEQP-VK.api.device_init.create_device_queue2_unmatched_flags

Change-Id: I0a83fd3aaf2ab20836ab706adc9a62534ac56864

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Wed, 11 Apr 2018 08:48:52 +0000 (10:48 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I945204f314bc75c95e8b6c4056b01d24911bb92c

6 years agoFix resource buffers used for the Op?Convert graphics tests
Piers Daniell [Fri, 6 Apr 2018 17:16:47 +0000 (11:16 -0600)]
Fix resource buffers used for the Op?Convert graphics tests

I didn't catch this when reviewing CL 2240. The "graphics"
variants of the OpUConvert/OpSConvert/OpFConvert tests are
writing the shader results to a UBO instead of an SSBO. UBOs
are read-only and writing to one has undefined results.

This CL simply changes the resources to use SSBOs rather than
UBOs, which follows the same template of most of the other
dEQP-VK.spirv_assembly.instruction.graphics.* tests.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.sconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.uconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*

Change-Id: Iab4014e6ca5e1482f74ff6d8bec7f04793b0e69d
Components: Vulkan

6 years agoRelease info script without spir-v tools fix
Jari Komppa [Tue, 10 Apr 2018 09:59:55 +0000 (12:59 +0300)]
Release info script without spir-v tools fix

This fix (based on work by imirkin) checks whether the spir-v tools
source files are available before trying to use them to generate the
release info include file.

Affects:

None

Components: Framework

VK-GL-CTS issue: 1114

Change-Id: I6764a469738a8e6a7797746d963da197b8380301

6 years agoUse the subgroups 'supportedCheck' helpers
Graeme Leese [Wed, 21 Mar 2018 12:10:34 +0000 (12:10 +0000)]
Use the subgroups 'supportedCheck' helpers

This function exists in each test module but was only being used by one
out of the two places that the code is needed.

Components: Vulkan
Affects: dEQP-VK.subgroups.*

Change-Id: Idec5bf036b44b384c1c404d0a7d68805981a4ae4

6 years agoFix stack overflow on vkGetPhysicalDeviceSparseImageFormatProperties
Slawomir Cygan [Tue, 27 Mar 2018 14:41:33 +0000 (16:41 +0200)]
Fix stack overflow on vkGetPhysicalDeviceSparseImageFormatProperties

Function may return random number of structs overwriting
the sparseImageFormatProperties variable.

Components: Vulkan

VK-GL-CTS Issue: 1103

Affects: dEQP-VK.texture.*.sparse_*

Change-Id: I101b72360145c23cef14cfeb50c7f9cd02e62e2f

6 years agoTest using gl_ViewportIndex in tessellation shader
Caio Marcelo de Oliveira Filho [Mon, 5 Mar 2018 23:20:18 +0000 (15:20 -0800)]
Test using gl_ViewportIndex in tessellation shader

Needs VK_EXT_shader_viewport_index_layer extension. Test works by
setting up N viewports forming a grid and each pair of triangles is
assigned to one of the viewports. Colors are used to distinguish each
pair, and by consequence, each cell in the grid.

It reuses most of parts from the similar test for vertex shader.

New tests:
dEQP-VK.draw.shader_viewport_index.tessellation_shader_*

VK-GL-CTS issue: 1043

Components: Vulkan

Change-Id: Ie55be3e188f5ded3c8aafb90b97af8cf3af3f243

6 years agoUpdate Vulkan Readme
Alexander Galazin [Fri, 6 Apr 2018 08:16:25 +0000 (10:16 +0200)]
Update Vulkan Readme

Update Vulkan Readme with the new CTS version

Components: Vulkan

Change-Id: I4bbb541c3924efe32986e30051a4e82a2aaca50e

6 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master"
Alexander Galazin [Fri, 6 Apr 2018 08:15:15 +0000 (04:15 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master"

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 6 Apr 2018 07:47:50 +0000 (09:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Iece73f9d69d002433e394ed5f9ed472ccad037e9

6 years agoUpdate spriv-tools
Alexander Galazin [Mon, 26 Mar 2018 12:34:28 +0000 (14:34 +0200)]
Update spriv-tools

Change-Id: I7d24e707b2e0ef8b9591db20897c3c813664b41d

6 years agoUpdate Vulkan Readme
Alexander Galazin [Thu, 5 Apr 2018 19:21:04 +0000 (21:21 +0200)]
Update Vulkan Readme

Update Vulkan Readme to reflect the current CTS version

Components: Vulkan

Change-Id: I1e69df3934e2d35a072823e7bf9e5d2d03b011fe

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Thu, 5 Apr 2018 17:24:12 +0000 (10:24 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Ib9e725f708993d7561a5251d4d3d3e8aa982bc00

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Thu, 5 Apr 2018 16:50:52 +0000 (09:50 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: Ibfcf52370db2296033a396dce933808c325fe645

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 15:46:12 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ie5c0fcea75496b342059629bb3c34c64c9f73226

6 years agoDo not fail display tests when there is no display
Damien Leone [Mon, 30 Oct 2017 23:15:25 +0000 (16:15 -0700)]
Do not fail display tests when there is no display

Instead, we should mark these tests as not supported. It is valid per the
Vulkan spec to have the extension report 0 displays connected.

Affects: dEQP-VK.wsi.display.*

Component: Vulkan

VK-GL-CTS issue: 1105

Change-Id: Idfe09ec588be7b4c6c782e306e7bf1506d78808f

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 12:02:09 +0000 (14:02 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ice19bfdd5c995157824851fa183611a84d9b4c0a

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 12:02:08 +0000 (14:02 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: Ie3f6aca2d39bc1c7c1600d3ba4d809c39ed91efa

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Thu, 5 Apr 2018 12:02:04 +0000 (14:02 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: Id621f75848b554dc234d3b489a8a80773ac437bd

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 08:34:26 +0000 (10:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I84a639633f77095edfd99f1d5873b77896f35c97

6 years agoDrop linear filter requirement from YCbCr tests
Jarred Davies [Thu, 5 Apr 2018 09:51:23 +0000 (10:51 +0100)]
Drop linear filter requirement from YCbCr tests

Remove requirement for YCbCr base formats to support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT from
format_properties tests.

The standard does not require support for this feature
from any YCbCr format.

Affects:

dEQP-VK.api.info.format_properties.g8_b8_r8_3plane_420_unorm
dEQP-VK.api.info.format_properties.g8_b8r8_2plane_420_unorm

Components: Vulkan

VK-GL-CTS issue: 1090

Change-Id: I6fa1c6c7a7f9768c2001972ae1f04173310aa652

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 5 Apr 2018 07:58:39 +0000 (09:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Idaa7c167a7485b1cc290dab87fab146e922887e9

6 years agoUse common utility function for render pass begin and end
Ari Suonpaa [Fri, 9 Mar 2018 12:06:11 +0000 (14:06 +0200)]
Use common utility function for render pass begin and end

Render pass begin and end are used in almost every test case. Some test
groups already implement an utility function for these. Others do it
inline. These are now replaced with common utility functions.

Affects:

dEQP-VK.glsl.*
dEQP-VK.api.*
dEQP-VK.device_group.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.rasterization.*
dEQP-VK.renderpass.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.texture.*
dEQP-VK.wsi.*
dEQP-VK.ubo.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1056

Change-Id: If69a7bde883f7abfd1fd1362562abf1a5c550bd5

6 years agoAdd tests for freeing descriptor sets followed by pool reset
Slawomir Cygan [Wed, 14 Feb 2018 17:30:48 +0000 (18:30 +0100)]
Add tests for freeing descriptor sets followed by pool reset

This change adds new test cases for resetting a descriptor set pool
which is created with VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
flag and already has some descriptor sets freed.

VK-GL-CTS Issue: 1020

Component: Vulkan

Affects: dEQP-VK.api.descriptor_pool.*

Change-Id: I791bfafc4b5bf85454e33e5d5de5d153b4b6a5ed

6 years agoAdd tests for checking YCbCr format enums in Vulkan 1.1
Slawomir Cygan [Wed, 7 Mar 2018 17:02:56 +0000 (18:02 +0100)]
Add tests for checking YCbCr format enums in Vulkan 1.1

Check that YCbCr format enums added in Vulkan 1.1 are
recognized by implementation, even when samplerYcbcrConversion
feature is not supported.

This change splits 'checkYcrbrConversionSupport' into:
- API support (if VkFormats are recognized by the implementation)
- the actual conversion support.

YCbCr feature check tests are run always when API is supported,
even if YCbCr conversion it not. However, support for format properties
and image format properties is still not required, if YCBCr conversion feature is
not supported.

Component: Vulkan

VK-GL-CTS Issue: 1059

Affects:
dEQP-VK.api.info.format_properties.*
dEQP-VK.api.info.*image_format_properties*

Change-Id: I84280eaa481a566e05ce028b9e4ec407f2d27599

6 years agoTest viewport with zero height
Paavo Pessi [Fri, 16 Mar 2018 13:33:05 +0000 (15:33 +0200)]
Test viewport with zero height

New tests were added to verify that the driver does not crash and that
triangle primitives are not drawn when using a viewport with zero
height.

New tests:

dEQP-VK.draw.zero_viewport_height.*

Components: Vulkan

VK-GL-CTS issue: 1048

Change-Id: I886f604944ad6224e31eb70a72917e505d4e11c5

6 years agoAlignment tests of 16bit types in structs
Arkadiusz Sarwa [Wed, 28 Feb 2018 16:52:10 +0000 (17:52 +0100)]
Alignment tests of 16bit types in structs

Add tests:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16struct_to_32struct.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_32struct_to_16struct.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_16struct_to_32struct.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_32struct_to_16struct.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.struct_mixed_types.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.struct_mixed_types.*

Components: Vulkan

VK-GL-CTS issue: 1061

Change-Id: I9f206431cd313c736bc12b4b8a002426ffbf6398

6 years agoFix: Use correct format/type for RGB9_E5 internalformat
Yunchao He [Fri, 16 Mar 2018 03:26:58 +0000 (11:26 +0800)]
Fix: Use correct format/type for RGB9_E5 internalformat

According to GLES 3.* specifications (say Table 8.3 in ES32 spec),
the original internalformat/format/type combination for RGB9_E5 is
not correct. The texture storage is not allocated at all.
So the followed test case can not verify what it really want to
test. This small change revises the format/type and make it to be
a correct combination for RGB9_E5.

Components: OpenGL

Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.texture.copytexsubimage2d_texture_internalformat

Change-Id: I529f4aaed1f507f67d3dc5806eb5cb0e6c27d858

6 years agoFix improper use of vkCmdWaitEvents
Peter Quayle [Wed, 28 Mar 2018 17:18:28 +0000 (18:18 +0100)]
Fix improper use of vkCmdWaitEvents

dEQP-VK.synchronization.smoke.events was calling vkCmdWaitEvents inside
a render-pass, which is not allowed if the event is later triggerd using
vkSetEvent. Additionally, the test was only waiting 1ns to determine if
a queue had made forward progress, which is too short to give the
implementation a chance to do any work.

Affects:

dEQP-VK.synchronization.smoke.events

Components: Vulkan

VK-GL-CTS issue: 1089

Change-Id: I6d9c9a635d82840f49fd3d9ed3736f91c4b6f88d

6 years agoFix random shader generator
Graeme Leese [Thu, 1 Mar 2018 17:48:57 +0000 (17:48 +0000)]
Fix random shader generator

Put parentheses around the RHS when converting L == R into
abs(L - R) < 0.001.

Affects: dEQP-GLES2.functional.shaders.random.*
         dEQP-GLES3.functional.shaders.random.*

Components: OpenGL

VK-GL-CTS issue: 286

Change-Id: I95d43ed40944c2815d7ce464ac4dc4993f87a4e9

6 years agoAdd missing SConvert, FConvert and UConvert tests
Mikael Tuomisalo [Wed, 7 Feb 2018 14:45:36 +0000 (16:45 +0200)]
Add missing SConvert, FConvert and UConvert tests

Different variations of SConvert, FConvert and UConvert weren't properly
tested in compute and graphics shaders.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*

New tests:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.int32_to_*int16
dEQP-VK.spirv_assembly.instruction.compute.sconvert.int64_to_*
dEQP-VK.spirv_assembly.instruction.compute.sconvert.uint*
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*vec*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint32_to_uint16
dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint64_to_*
dEQP-VK.spirv_assembly.instruction.compute.fconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.sconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.uconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*

Components: Vulkan

VK-GL-CTS issue: 880

Change-Id: Id84c7a20749cd15e84a9c85993c1e6574712889e

6 years agoAdded shader cache to speed up runtime
Jari Komppa [Mon, 29 Jan 2018 11:57:57 +0000 (13:57 +0200)]
Added shader cache to speed up runtime

Added shader cache which hashes incoming shader sources and saves the
resulting binaries on disk, avoiding unneccessary recompilation.

On testing it was found that the conformance suite calls shader
compilation about 500k times while only about 30k shaders are unique.
When all shaders are prebuilt on disk, complete runtime is reduced by
about 30%.

The shader cache also affects vk-build-programs. If shaders already
exist and shader validation is not enabled, vk-build-programs runs about
95% faster.

The timings above are based on debug builds on a desktop PC. Release
builds get less benefit, but this may be helpful on mobile platforms.

The shader cache does not affect targets which do not include spir-v
tools.

Affects:

dEQP-VK.*

Components: Framework, Vulkan

VK-GL-CTS issue: 899

Change-Id: I9b1ea915b3c9d94be85adb17161c12f453175d78

6 years agoConsider rounding mode differences in mipmap tests
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests

The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.

Affects:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear

Components: Vulkan

VK-GL-CTS issue: 1106

Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4

6 years agoAdd GL_ARB_draw_indirect extension
Juan A. Suarez Romero [Tue, 20 Mar 2018 16:29:11 +0000 (17:29 +0100)]
Add GL_ARB_draw_indirect extension

Add wrapper functions defined by this extension.

Components: Framework

VK-GL-CTS issue: 1087

Affects:
GTF-GL3*.gtf31.GL3Tests.primitive_restart.primitive_restart_draw_elements
GTF-GL3*.gtf32.GL3Tests.vertex_array_bgra.vertex_array_bgra_draw_calls

Change-Id: I0e13535a099b6599be3127685c473cbab120b0d4

6 years agoFix glTransformFeedbackBufferRange defintion
asokolow [Mon, 12 Mar 2018 07:45:11 +0000 (08:45 +0100)]
Fix glTransformFeedbackBufferRange defintion

There is a mismatch between TransformFeedbackBufferRange
definitions in test and OpenGL spec.

The last parameter type is GLsizeiptr accoding
to spec (and XML registry).

Components: OpenGL

VK-GL-CTS Issue: 1093

Affects:
KHR-GL45.direct_state_access.xfb_buffers

Change-Id: Iaf688016234de106b642593d9808d88c7d765edd

6 years agoTest for return values of vkGet*ProcAddr
Marcin Rogucki [Mon, 29 Jan 2018 14:23:42 +0000 (15:23 +0100)]
Test for return values of vkGet*ProcAddr

This change tests vkGet*ProcAddr. It also removes special
case for vkGetDeviceProcAddr which now is considered by a
framework as a device-level function.

Components: Framework, Vulkan

VK-GL-CTS issue: 948

Affects:
dEQP-VK.api.version_check.entry_points
dEQP-VK.*

Change-Id: I629bceaae25534e5eff9550034e7af0ab2668aa9

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 30 Mar 2018 16:38:50 +0000 (18:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I4ebb0dcf96e37806528ee00bb78c586706224680

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 30 Mar 2018 16:38:40 +0000 (18:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I752717cf0180806e0745a0a7d055e3471a2b203b

6 years agoRequest proper features in spirv_asembly tests
Piotr Byszewski [Thu, 8 Mar 2018 13:12:15 +0000 (14:12 +0100)]
Request proper features in spirv_asembly tests

image_sampler and ubo_padding tests used stores to SSBOs without
requesting proper features. In this change implementation of
ShaderTestUtil was modified to enable possibility to create test
for individual stages. Now proper features could be requested
before performing the tests for specified stages.

Components: Vulkan

VK-GL-CTS issue: 1049

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.*
dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.*
dEQP-VK.spirv_assembly.instruction.graphics.*

Change-Id: I03441b385097340faa72b18e17f09a07eba49efb

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Thu, 29 Mar 2018 20:27:19 +0000 (13:27 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I93f0ba87fc282346c4d7bd6b4521b105826328aa

6 years agoTest QueueSubmit with null SubmitInfo and fence
Mika Väinölä [Fri, 23 Feb 2018 14:40:28 +0000 (16:40 +0200)]
Test QueueSubmit with null SubmitInfo and fence

This test matches
VkLayerTest.TwoQueueSubmitsOneQueueNullQueueSubmitWithFence found in
layer validation tests which fails on some shipping drivers.

New tests:

dEQP-VK.api.command_buffers.submit_two_buffers_one_buffer_null_with_fence

Components: Vulkan

VK-GL-CTS issue: 836

Change-Id: I57eb96bb724406dafc522041c95ac99fd0e103b4

6 years agoAdd glu::BufferOffsetAsPointer utility
Jesse Hall [Tue, 27 Mar 2018 23:49:03 +0000 (16:49 -0700)]
Add glu::BufferOffsetAsPointer utility

Clang 6.x adds a warning that doing arithmetic involving a NULL
pointer is a GNU extension. This affects the common GL pattern
    (deUint8*)DE_NULL + offset
used to pass an offset into a bound buffer object as a client pointer
parameter.

This change replaces that pattern with a call to a new utility
function glu::BufferOffsetAsPointer(), which will hopefully be
warning-free on all compilers.

Change-Id: I8be939297b02c44091441c71ae75e45ceab30639
Components: Framework, OpenGL, AOSP

6 years agoAdd tests for VK_EXT_post_depth_coverage
Igor Ostrowski [Wed, 6 Dec 2017 14:52:40 +0000 (15:52 +0100)]
Add tests for VK_EXT_post_depth_coverage

Additional tests for sample mask with depth test without extension

New tests:
dEQP-VK.pipeline.multisample.sample_mask_with_depth_test.*

Components: Vulkan
VK-GL-CTS issue: 888

Change-Id: I2cecb9f9db52ca471fea9a8630923dab68730e59

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Wed, 28 Mar 2018 10:54:36 +0000 (12:54 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ia97d8543cbf11fa2a525cdb96d4c23a644645a61

6 years agoBackported invalid test removal to gles-cts 3.2.4
Oliver Wohlmuth [Wed, 28 Mar 2018 14:54:15 +0000 (16:54 +0200)]
Backported invalid test removal to gles-cts 3.2.4

Invalid random shader tests have been removed from master mustpass
in commit 1bb2c97165cdd13bea670fb2d39cd63019d69265
This patchset applies the same changes to gles-cts 3.2.4 so they
can be cherry picked.

Affects:
dEQP-GLES2.functional.shaders.random.all_features.fragment.16
dEQP-GLES2.functional.shaders.random.all_features.fragment.56

Components: OpenGL
VK-GL-CTS issue: 1100

Change-Id: I976504d1246e9f025aec47f4f13b047428ad007d

6 years agoMerge "Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master"
Alexander Galazin [Wed, 28 Mar 2018 10:40:00 +0000 (06:40 -0400)]
Merge "Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master"

6 years agoMerge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 27 Mar 2018 13:06:33 +0000 (15:06 +0200)]
Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ibf1a7adea71d5d7c94205bcc83e5200b6c86b91c

6 years agovktApiFeatureInfo.cpp: fix one 'Wshadow' warning on GCC
Slawomir Cygan [Tue, 27 Mar 2018 11:29:35 +0000 (13:29 +0200)]
vktApiFeatureInfo.cpp: fix one 'Wshadow' warning on GCC

Components: Vulkan

VK-GL-CTS Issue: 1101

Affects: None

Change-Id: Iba44a66378f12543d54967afba25f496f6bc3ab4

6 years agoMerge "Require GL_EXT_sRGB_write_control for GL_FRAMEBUFFER_SRGB enable/disable"...
Kenneth Graunke [Wed, 28 Mar 2018 00:35:29 +0000 (00:35 +0000)]
Merge "Require GL_EXT_sRGB_write_control for GL_FRAMEBUFFER_SRGB enable/disable" into oreo-mr1-cts-dev
am: c6b5415220

Change-Id: I36d5a70037b66e27342c76a050fadc7607906531

6 years agoMerge "Require GL_EXT_sRGB_write_control for GL_FRAMEBUFFER_SRGB enable/disable"...
Treehugger Robot [Wed, 28 Mar 2018 00:32:19 +0000 (00:32 +0000)]
Merge "Require GL_EXT_sRGB_write_control for GL_FRAMEBUFFER_SRGB enable/disable" into oreo-mr1-cts-dev

6 years agoFixes cap check for 16bit storage stress test
Matthew Netsch [Tue, 27 Mar 2018 21:55:58 +0000 (14:55 -0700)]
Fixes cap check for 16bit storage stress test

Missing cap check for StorageUniformBufferBlock16

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_16.stress_test

Components: Vulkan

VK-GL-CTS issue: 1091

Change-Id: Ifaf31eab31ca2b8fe9cf23c94087cf25542bd8ed

6 years agoUse common utility function for command buffer begin and end
Ari Suonpaa [Mon, 5 Mar 2018 08:16:19 +0000 (10:16 +0200)]
Use common utility function for command buffer begin and end

Command buffer begin and end is used in almost every test case. Some test
groups already implement an utility function for these. Others do it
inline. These are now replaced with common utility functions.

Affects:

dEQP-VK.compute.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.renderpass.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.clipping.*
dEQP-VK.ycbcr.query.*
dEQP-VK.glsl.*
dEQP-VK.api.*
dEQP-VK.device_group.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.robustness.*
dEQP-VK.ssbo.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.texture.*
dEQP-VK.wsi.*
dEQP-VK.ycbcr.*
dEQP-VK.rasterization.*
dEQP-VK.ubo.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1022

Change-Id: I84bec62fb2d0a5ce408a85cd243e7f629acc5867

6 years agoFix off indentation in vktApiFeatureInfo.cpp
Slawomir Cygan [Tue, 27 Mar 2018 10:46:35 +0000 (12:46 +0200)]
Fix off indentation in vktApiFeatureInfo.cpp

Components: Vulkan

VK-GL-CTS Issue: 1102

Affects: None

Change-Id: Id05617e0bc2895de1ae67ea3925f4300c5d55d3f

6 years agoFixed rounding issue in spirv_assembly tests
Dae Kim [Tue, 27 Mar 2018 09:54:23 +0000 (10:54 +0100)]
Fixed rounding issue in spirv_assembly tests

The test assumes that the host system and the device use the same
rounding mode. When this is not the case, the derived rounding errors
make the test fail unexpectedly. By rounding the input values down we
avoid differences in the test output caused by the rounding modes in
use.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite

Components: Vulkan

VK-GL-CTS issue: 1097

Change-Id: I3678e38cbe5c6d57cecef91e7398df0d04763851

6 years agoFixes to EGL.functional.hdr_metadata.* tests
Tapani Pälli [Mon, 26 Mar 2018 12:10:16 +0000 (15:10 +0300)]
Fixes to EGL.functional.hdr_metadata.* tests

- Adjust given values to fit uint16_t (range used in smpte2086
  and cta861.3 specs).

- Allow EGL_BAD_PARAMETER error happen when setting parameters,
  per spec this means values passed are not supported by the
  implementation. Output attribute and given values in this
  case for debugging purposes.

v2: skip unsupported but check supported attributes (Courtney)

Change-Id: I1f386b414c95e65d3532bf10719dc7671e826489
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Mon, 26 Mar 2018 12:01:52 +0000 (14:01 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: Id1abb58d7a7c93277531a74ca38eaf5d5e6d7550

6 years agoFix regression after adding run time report (4758c8d4)
Slawomir Cygan [Mon, 19 Mar 2018 11:56:50 +0000 (12:56 +0100)]
Fix regression after adding run time report (4758c8d4)

qpXmlWriter_endDocument was not called after the end of test
case timing XML block, leaving XML writer in bad state.

This causes assert on subsequent XML blocks being started.

VK-GL-CTS Issue: 1086

Components: Framework

Change-Id: I8bf2fd48517a5389671389dcb0883e168a587da7
Affects: all

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Mon, 26 Mar 2018 08:50:18 +0000 (10:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ibcd4407ae531a32d85f7e6f6fc263247a1f25da3

6 years agoMove khr_debug tests to NoContext
Michael Chock [Thu, 8 Mar 2018 19:41:05 +0000 (11:41 -0800)]
Move khr_debug tests to NoContext

As implemented, the KHR-GL4*.khr_debug.* tests can terminate the EGL
display used by other tests. As recommended, move these tests to the
KHR-NoContext.* group.

Since the test names are already changing, fix the spelling of
'receiving' in one test case.

Components: OpenGL

VK-GL-CTS Issue: 1062

Renamed tests:
KHR-GL4*.khr_debug.* -> KHR-NoContext.gl43.khr_debug.*

Change-Id: I766131f77206cad1cb34955426a81cf10b50e159

6 years agoFix SSBO tests that assume VS is invocated once per vertex
Tate Hornbeck [Mon, 22 Jan 2018 16:41:46 +0000 (11:41 -0500)]
Fix SSBO tests that assume VS is invocated once per vertex

Some implementations may execute vs shaders more than
once per vertex as allowed per spec.

Affects:
KHR-GLES31.core.shader_storage_buffer_object.advanced-usage-sync-vsfs
KHR-GLES31.core.shader_storage_buffer_object.basic-atomic-case3-vsfs
KHR-GLES31.core.shader_storage_buffer_object.basic-atomic-case4-vsfs

Components: OpenGL ES
VK-GL-CTS issue: 949

Change-Id: I40d4ef540c9868db43554f898b92c333a79eac18

6 years agoFix compute shader in KHR-NoContext.es32.robustness.getnuniform
Tapani Pälli [Mon, 26 Feb 2018 09:53:33 +0000 (11:53 +0200)]
Fix compute shader in KHR-NoContext.es32.robustness.getnuniform

Patch removes unnecessary difference in compute shader between
desktop and ES profiles, now both output to SSBO in same manner.

Problem with the shader on ES was that some compilers detected
declared shared variables as dead and optimized them away which
made uniforms inactive.

Components: OpenGL ES
VK-GL-CTS issue: 1036

Affects:
KHR-NoContext.es32.robustness.getnuniform

Change-Id: I8a4aeed926faa03a62c7973fe21ef979fb61bf53

6 years agoRGB10_A2UI renderbuffer case requires integer data
Juan A. Suarez Romero [Fri, 23 Feb 2018 17:27:35 +0000 (17:27 +0000)]
RGB10_A2UI renderbuffer case requires integer data

Most of the cases in KHR-GL40.internalformat.renderbuffer.* test are
float-based, and thus the shaders as well as the functions used to read
the pixels are based on floats.

But for this specific format, we need to use integer data, both when the
shader writes out the colors as well as when we read it back with
readPixels(). And later we need to convert the results to floats in
order to compare with the expected results (which are float-based
values).

Components: OpenGL

VK-GL-CTS issue: 1001

Affects:
KHR-GLES*.core.internalformat.renderbuffer.*
KHR-GL*.internalformat.renderbuffer.*

Change-Id: I44c051817672614fb1ed6ed1927f917afcaadc96

6 years agoTry to use a separated FBO for copy operation
Juan A. Suarez Romero [Tue, 27 Feb 2018 15:59:15 +0000 (15:59 +0000)]
Try to use a separated FBO for copy operation

If the FBO can not be created because the format under testing does not
allow it (FBO not complete), then the copy will be done from the main
FBO.

Components: OpenGL

VK-GL-CTS issue: 1000

Affects:
KHR-GLES*.core.internalformat.copy_tex_image.*
KHR-GL*.internalformat.copy_tex_image.*

Change-Id: I64f05a9d542abcc2abbeb865e5d638bfa64a0ad3

6 years agoAdd tests for OpSwitch operator
Juan A. Suarez Romero [Wed, 7 Feb 2018 16:47:54 +0000 (16:47 +0000)]
Add tests for OpSwitch operator

This create tests for SPIR-V OpSwitch with different integer types.

It provides tests using 32-bit and 64-bit signed and unsigned integers.
But it is designed to easily extend to other types, like 16-bit
integers.

New tests:
dEQP-VK.spirv_assembly.type.scalar.*.switch_*

VK-GL-CTS issue: 995

Components: Vulkan

Change-Id: I4940f5853c81dff0191c3d352ddbf439eb0ea560