platform/upstream/VK-GL-CTS.git
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

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

Change-Id: I2a9e7765fb9f8fd160fe57074aaba10f661a6761

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

Change-Id: I1facde6f3a64f114648ab39432dd4a811e9cfb13

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

Change-Id: Icb8ab043f942c02aa8571ffdd8f92ebd1ff606e1

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

Change-Id: I8b23066dbc167b851f506efcfdfe4fcf87d7e00b

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

Change-Id: Ieb2b1e6bc78c052aab00f2e519afc897b12809f8

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

Change-Id: I738103ad40372749d96b5357726361812828d3ef

4 years agoFix of a build failure on QNX
Lujin Wang [Wed, 29 Apr 2020 23:58:07 +0000 (16:58 -0700)]
Fix of a build failure on QNX

Hit a build failure on QNX for vktPipelineTimestampTests.cpp.
  error: 'CLOCK_MONOTONIC_RAW' was not declared in this scope

Do not use CLOCK_MONOTONIC_RAW on QNX.

Affects:
OpenGLES CTS 3.2.6.1 build on QNX

Components: Vulkan

VK-GL-CTS issue: 2340

Change-Id: I44c131610860fda7f2fba7e8e32dcfc401fcf800

4 years agoUpdate SPIR-V Tools
Alexander Galazin [Tue, 5 May 2020 19:00:58 +0000 (21:00 +0200)]
Update SPIR-V Tools

Components: Framework

Change-Id: If475ce30568c3c50ab4eaaa874bb8fbe7454d6d5

4 years agoAdds geometry shader check for test
Matthew Netsch [Wed, 28 Aug 2019 16:31:19 +0000 (12:31 -0400)]
Adds geometry shader check for test

Components: Vulkan
VK-GL-CTS Issue: 1900

Affects:
dEQP-VK.query_pool.statistics_query.input_assembly*.primary.*adjacency

Change-Id: I6aeb72143231d59711cb1d6ea98bc2cc0264bc84
(cherry picked from commit c4416209513122ba8f21ca1d9c016a07d65bb7ba)

4 years agoStop 10bit formats requiring GL_SRGB encoding
James Glanville [Fri, 17 Apr 2020 10:54:40 +0000 (11:54 +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: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3
(cherry picked from commit c90d90d4b1b006d0b39c04e7517b7252564bf2e0)

4 years agoAdjust framework to removal of non-API enums
Piotr Byszewski [Mon, 4 May 2020 11:40:32 +0000 (13:40 +0200)]
Adjust framework to removal of non-API enums

BEGIN_RANGE, END_RANGE and RANGE_SIZE enums were
removed from the Vulkan headers and XML. This change
simplifies gen_framework script.

Components: Vulkan, Framework

VK-GL-CTS issue: 2250

Affects:
dEQP-VK.*

Change-Id: Id8847e78afbbb4cd5ad1a3b5bacda408a8693188

4 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 4 May 2020 10:53:37 +0000 (12:53 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I421c4d4f3d785bbb9af2170a92f463cfc4511a34

4 years agoUpdate glslang
Alexander Galazin [Mon, 4 May 2020 10:37:50 +0000 (12:37 +0200)]
Update glslang

Components: Framework, Vulkan, OpenGL

Change-Id: Iae3ab66b64114a79b0ef28b4c4efa610dcdd1ff7

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Mon, 4 May 2020 08:24:17 +0000 (10:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I91b40f209e7574f9779151ce3637d1431bfc6f5b

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

Change-Id: I613d3f387390bcbd261f305cd0b03a1b041c4e76

4 years agoRoll glslang forward to 02c70ad10e1f9dc88ae4ee509f26fe5f9fb31843
Chris Forbes [Fri, 1 May 2020 18:50:43 +0000 (11:50 -0700)]
Roll glslang forward to 02c70ad10e1f9dc88ae4ee509f26fe5f9fb31843

This includes fixes for newer compilers, including the official toolchain for the upcoming Android release.

For example, modern clang currently complains:

In file included from
external/deqp-deps/glslang/OGLCompilersDLL/InitializeDll.cpp:42:
external/deqp-deps/glslang/OGLCompilersDLL/../glslang/Include/PoolAlloc.h:307:54:
error: 'operator=' is a private member of 'glslang::TPoolAllocator'
    void setAllocator(TPoolAllocator* a) { allocator = *a; }
                                               ~~~~~~~~~ ^

Affects: dEQP-VK.*
Components: Vulkan
VK-GL-CTS Issue: 2344

Change-Id: I85e94fea0621c3b72e6f30e7e68377c41449be99

4 years agoStop 10bit formats requiring GL_SRGB encoding
James Glanville [Fri, 17 Apr 2020 10:54:40 +0000 (11:54 +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: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3

4 years agoReplace LAST with MAX_ENUM in mapBorderColor
Joshua Ashton [Fri, 17 Apr 2020 02:53:47 +0000 (03:53 +0100)]
Replace LAST with MAX_ENUM in mapBorderColor

Fixes compilation errors with the newer headers.

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

Components: Vulkan
VK-GL-CTS issue: 2332

Change-Id: I757017612045666de53b8a09691eed27587503df

4 years agoMake checkSupportImageSamplingInstance loop through pNexts
Joshua Ashton [Fri, 17 Apr 2020 02:51:34 +0000 (03:51 +0100)]
Make checkSupportImageSamplingInstance loop through pNexts

We need this to support multiple potential pNexts in the future.

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

Components: Vulkan
VK-GL-CTS issue: 2331

Change-Id: I076e864d4b842d3993fdfa9bbd5925765870f6f7

4 years agodEQP-VK.graphicsfuzz.one-sized-array
Vihanakangas [Tue, 14 Apr 2020 08:13:31 +0000 (11:13 +0300)]
dEQP-VK.graphicsfuzz.one-sized-array

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.one-sized-array

Change-Id: I845305554a5c43c9f7bc6d7c964e6011f7560b96

4 years agoTest mixed sample count in empty subpass and framebuffer
Ricardo Garcia [Thu, 26 Mar 2020 18:15:14 +0000 (19:15 +0100)]
Test mixed sample count in empty subpass and framebuffer

This commit adds a new set of tests that check the sample count of a
subpass with no attachments or an unused attachment is not affected by
the presence of a framebuffer using a different sample rate.

Due to some code refactoring, the variable rate tests are marked as
affected.

Affected tests:
dEQP-VK.pipeline.multisample.variable_rate.*

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

Components: Vulkan
VK-GL-CTS issue: 2284

Change-Id: I37c0b434c82ad79d7d74a51aee360784dfeee8ca

4 years agoUpdate glslang
Alexander Galazin [Thu, 30 Apr 2020 06:59:55 +0000 (08:59 +0200)]
Update glslang

Components: Framework

Change-Id: Id19b7361f49ce46a47d87e0bc1f52b8eaaca047e

4 years agoAdd vk platform to nullws
Daniele Castagna [Wed, 1 Apr 2020 00:19:06 +0000 (20:19 -0400)]
Add vk platform to nullws

This CL adds supprt for Vulkan to nullws platform.
In this way deqp-vk can be run on platforms without WSI.

Change-Id: I13d7bc307deeeda3a228b9fa930f7c20950d8ff0

4 years agoFix verification in multisample image store tests
Graeme Leese [Wed, 22 Apr 2020 13:40:26 +0000 (14:40 +0100)]
Fix verification in multisample image store tests

The results were being verified for each sample but they were all being
stored to the same pixel in the (single-sample) result image, meaning
that only the last sample was actually checked.

Have the shader calculate the correct result for the whole pixel before
writing it out.

Component: Vulkan
VK-GL-CTS issue: 2310
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.image_write_sample.*

Change-Id: Ibe1383d7922073af0661f818ebf8bfe9ab20b9fe

4 years agoAllow RTZ rounding in spv_assembly*writes_two_buffers* tests
Kyle Griffiths [Fri, 17 Apr 2020 11:26:54 +0000 (12:26 +0100)]
Allow RTZ rounding in spv_assembly*writes_two_buffers* tests

Because the tests perform an add operation, mismatch of the CPU and GPU
rounding modes can cause the tests to incorrectly fail.
This change modifies the verification to allow up to 1 ULP difference
between the output and the expected result, which covers the maximum
difference between RNE and RTZ rounding modes.

Components: Vulkan

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

VK-GL-CTS issue: 2320

Change-Id: Ic76942add1382c23885118f806ac593cc730eb73

4 years agoUse mandatory formats in stencil export tests
Ricardo Garcia [Mon, 6 Apr 2020 12:32:37 +0000 (14:32 +0200)]
Use mandatory formats in stencil export tests

Stencil export tests were using VK_FORMAT_S8_UINT, which is not a
mandatory format. This commit adds more test variants using mandatory
stencil image formats for 2D images, guaranteeing these tests can run on
more implementations.

Existing tests have been renamed and other variants have been added.

Affected and new tests:
dEQP-VK.pipeline.shader_stencil_export.*

Components: Vulkan
VK-GL-CTS issue: 2292

Change-Id: Ied82c9958d3126fcb1b72716b3c4fdc109fe2e87

4 years agoFixes pixelformat utils for RGB10_A2
Matthew Netsch [Thu, 21 Dec 2017 15:47:02 +0000 (07:47 -0800)]
Fixes pixelformat utils for RGB10_A2

Some asserts were firing and the math
wasn't adding up for RGB10_A2 configs.

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

Affects:
KHR-GLES31.core.blend_equation_advanced.*
Others

Change-Id: Idf3709f71bf7de915a4390c3e8efcda902f2143f
(cherry picked from commit bd631f4725dece3390890c9099f6ecab1ae88560)

4 years agoAdd specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation
Yabin Zheng [Fri, 31 Aug 2018 07:35:16 +0000 (15:35 +0800)]
Add specific RGB10A2 data for BlendHSLHue and BlendHSLSaturation

Some original input test data will cause divide by 0 issue. This issue
is not handled by spec, but the test should assure the valid data.

Affects: KHR-GLES31.core.blend_equation_advanced.*

VK-GL-CTS issue: 919

Components: OpenGL

Change-Id: I6278ed77de0a38aede7d840bac7b7ec57e869110
(cherry picked from commit 436e28f9d9d6e5c58ffba4bc72122650ce0ee903)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Tue, 28 Apr 2020 07:00:56 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I0d3faba4abc2cd2d52ecf26f1cad4e3e17584cab

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Tue, 28 Apr 2020 07:00:53 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I06c7c486ac9b4a2193c4ba3ac1e26b53e70e0bd8

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Tue, 28 Apr 2020 07:00:50 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I7003461a2e0d865d5fcd837b5a5db8d12cfcba07

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Tue, 28 Apr 2020 07:00:44 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I24b7b71b378f93a21ee8d5074517cdf88950cb26

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Tue, 28 Apr 2020 07:00:40 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ibf71699514dcc482235457301c8cb591e5ef4ac2

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Tue, 28 Apr 2020 07:00:35 +0000 (09:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Ia8887f2f979ea8f5cdf2013c2016b78a150d9d53

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Mon, 27 Apr 2020 18:21:35 +0000 (20:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I147ae97908fe69487a55770d3c3e7dd9b29f6356

4 years agoRemove event tests which use illegal behaviour
Peter Quayle [Thu, 5 Dec 2019 11:34:25 +0000 (11:34 +0000)]
Remove event tests which use illegal behaviour

Two event tests were relying on being able to wait on the device for
an event to be set on the host. This behaviour is not allowed.

Affects:

dEQP-VK.synchronization.smoke.events
dEQP-VK.synchronization.basic.event.host_set_device_wait

Components: Vulkan

VK-GL-CTS issue: 2108

Change-Id: Idbb8b4e2468d617b3e47d5055622789a2dd3eb00
(cherry picked from commit b45f4268074897cb4ee7da4b81a17b310301d77b)
(cherry picked from commit 8be9e27df3c1e1d9f50e549d7293bc202072d80d)

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Mon, 27 Apr 2020 13:20:19 +0000 (15:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I88785d64ee5ce89b2ddcc47e317c39a09cf36c8b

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Mon, 27 Apr 2020 13:18:36 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I189c31ffefea426737af0c4560b94dbf54dec55d

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Mon, 27 Apr 2020 13:18:34 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: I6263ae46427e5dcd439e26cb08e33c9e0c36dddd

4 years agoRemove event tests which use illegal behaviour
Peter Quayle [Thu, 5 Dec 2019 11:34:25 +0000 (11:34 +0000)]
Remove event tests which use illegal behaviour

Two event tests were relying on being able to wait on the device for
an event to be set on the host. This behaviour is not allowed.

Affects:

dEQP-VK.synchronization.smoke.events
dEQP-VK.synchronization.basic.event.host_set_device_wait

Components: Vulkan

VK-GL-CTS issue: 2108

Change-Id: I3e3185d4b6ca3be94609b1d5d218e0d46076243d
(cherry picked from commit b45f4268074897cb4ee7da4b81a17b310301d77b)

4 years agoInitialize gl_PointSize if the test draws points
Amy Liu [Tue, 14 Jan 2020 08:34:30 +0000 (16:34 +0800)]
Initialize gl_PointSize if the test draws points

From GLSL specification: "If gl_PointSize is not written to,
its value is undefined in subsequent pipe stages"

Affects:

dEQP-GLES3.functional.primitive_restart.basic.points.*
dEQP-GLES3.functional.fragment_ops.scissor.partial_points

Components: AOSP

VK-GL-CTS issue: 2161

Change-Id: I3016287f7e55331522d6a7a8d562d8b57ab27e43
(cherry picked from commit 434240bf67d226947a3ccb73b10ea8e685f7aaaf)

4 years agoFix some bugs for EGL cases
Jian Li [Mon, 9 Dec 2019 05:24:05 +0000 (13:24 +0800)]
Fix some bugs for EGL cases

eglTerminate() wasn't called in proper sequence.
Resource wasn't released properly for not supported cases.

Affects:

dEQP-EGL.functional.image.*
dEQP-EGL.functional.resize.*
dEQP-EGL.functional.buffer_age.*
dEQP-EGL.functional.partial_update.*

Components: AOSP

VK-GL-CTS issue: 2153

Change-Id: Ic0a82aa176b9a8344f757916d61ea8f64c58eca5
(cherry picked from commit 53bfacd3d71753cda3448735e56ad249848c2460)

4 years agoCorrect Flush(/Invalidate)MappedMemoryRange
Piotr Byszewski [Tue, 17 Mar 2020 15:15:45 +0000 (16:15 +0100)]
Correct Flush(/Invalidate)MappedMemoryRange

This change replaces memory mapping calls that used calculated or
constant size with flushAlloc/invalidateAlloc helper functions.
Dedicated memory mapping tests were not affected by this change
same as tests that for memory mapping already used VK_WHOLE_SIZE
and tests that calculated mapping size basing on nonCoherentAtomSize.

Components: Vulkan

VK-GL-CTS issue: 78

Affects:
dEQP-VK.*

Change-Id: Idc20719e0c3a942459290b7c5cbea6ac1d5a2588

4 years agoAdd fp16 float control tests without 16bit_storage requirement
Samuel Iglesias Gonsálvez [Thu, 19 Mar 2020 19:57:26 +0000 (20:57 +0100)]
Add fp16 float control tests without 16bit_storage requirement

This CL adds new tests that don't require VK_KHR_16bit_storage
extension support to read float16 inputs or write float16 outputs.

It required to modify the fp16 output buffer size to hold an
unsigned 32-bits integer, whose 16 MSB are going to be unused
by the verification function but are needed to avoid requiring
VK_KHR_16bit_storage extension support.

A new userData member was added to the Resource class in order to
facilitate the selection of the verification function when we have
multiple outputs with different sizes (see checkMixedFloats()
function in vktSpvAsmFloatControlsTests.cpp).

Added tests:

   dEQP-VK.spirv_assembly.instruction.*.float_controls.*nostorage*

Modified tests:

   dEQP-VK.spirv_assembly.instruction.*.float_controls.*

Components: Vulkan
VK-GL-CTS issue: 1877

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ice7a6129ee7cfe8a8813115530584bb6dde607ba

4 years agodEQP-VK.graphicsfuzz.stable-binarysearch-tree-with-loop-read-write-global
Paul Thomson [Thu, 2 Apr 2020 17:32:35 +0000 (18:32 +0100)]
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-with-loop-read-write-global

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.stable-binarysearch-tree-with-loop-read-write-global

Change-Id: I5d66ac543665a3db993122861aee070e74d1c025

4 years agodEQP-VK.graphicsfuzz.frag-coord-func-call-and-ifs
Paul Thomson [Mon, 6 Apr 2020 15:31:47 +0000 (16:31 +0100)]
dEQP-VK.graphicsfuzz.frag-coord-func-call-and-ifs

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.frag-coord-func-call-and-ifs

Change-Id: Ic28b0c96f8df99096e34b429e99e8b30a5b3a01c

4 years agoEnable EGL 1.4 fence sync tests without reusable sync extension
Tomek Bury [Mon, 6 Apr 2020 10:27:20 +0000 (11:27 +0100)]
Enable EGL 1.4 fence sync tests without reusable sync extension

EGL_KHR_reusable_sync is not required for for testing other sync
extensions. The SyncTest::hasRequiredEGLExtensions() tests for
the presence of 3 extensions while testing only one of them at the time.
Especially the availability of EGL_KHR_reusable_sync is additionally
checked before any reusable sync test.

Components: EGL
VK-GL-CTS issue: 2295
Affects: dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.*
Affects: dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.*
Affects: dEQP-EGL.functional.fence_sync.*
Affects: dEQP-EGL.functional.reusable_sync.*

Change-Id: Ib12bfc728e3b404d584c6467ab114a6d6418554e

4 years agodEQP-VK.graphicsfuzz.do-while-false-loops
Alastair Donaldson [Fri, 6 Dec 2019 14:28:43 +0000 (14:28 +0000)]
dEQP-VK.graphicsfuzz.do-while-false-loops

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.do-while-false-loops

Change-Id: I3119ec665c41690c7215abb04fad52c3001341e7

4 years agoTest interpolation functions with single components
Ricardo Garcia [Tue, 10 Mar 2020 12:44:34 +0000 (13:44 +0100)]
Test interpolation functions with single components

This commits adds new variants to some multisample interpolation tests
to check single-component versions of interpolation functions, when the
component is accessed both as a constant and a non-constant expression
in the form of shader push constants.

New and affected tests:
dEQP-VK.pipeline.multisample_interpolation.*

Components: Vulkan
VK-GL-CTS issue: 2259

Change-Id: Ic1e825c850ac085a6f2d9ee5fa572918c144805b

4 years agodEQP-VK.graphicsfuzz.arr-value-set-to-arr-value-squared
Vihanakangas [Fri, 27 Mar 2020 09:03:05 +0000 (11:03 +0200)]
dEQP-VK.graphicsfuzz.arr-value-set-to-arr-value-squared

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.arr-value-set-to-arr-value-squared

Change-Id: I85e315042aa432c17ff170a076bcb64935113615

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 22 Apr 2020 07:14:47 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I266d5a83c01f3762cd4251b081c2095a7df0b85e

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 22 Apr 2020 07:14:45 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I90dcb868bcb96ae0af9e5eab684f37253c9cdf29

4 years agoFixes FDM subsampled tests
Matthew Netsch [Fri, 10 Apr 2020 14:54:53 +0000 (10:54 -0400)]
Fixes FDM subsampled tests

Test relying on undefined behavior

Components: Vulkan
VK-GL-CTS Issue: 2306

Affects:
dEQP-VK.renderpass2.fragment_density_map.static_nonsubsampled*

Change-Id: I1ffda224eef7570471e4a71df9c76ad1ab64796e

4 years agoActually create a waiver mechanism for gles3 tests
Thomas Spurden [Mon, 20 Apr 2020 14:00:07 +0000 (15:00 +0100)]
Actually create a waiver mechanism for gles3 tests

Change-Id: I980ac6ad5c6f0d940c58fd642d47dbe2def844a9

4 years agoAdd tests for VK_AMD_shader_trinary_minmax
Ricardo Garcia [Tue, 25 Feb 2020 16:09:45 +0000 (17:09 +0100)]
Add tests for VK_AMD_shader_trinary_minmax

Test trinary min/max/mid operations from SPV_AMD_shader_trinary_minmax
with integers, unsigned integers and floats of different sizes using
single scalars as well as vectors.

New tests:
dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2238

Change-Id: Ib50205d87ec7af2487cb207a36fb5de98455ffb8

4 years agoTest OpCompositeInsert with OpUndef
Ari Suonpaa [Mon, 30 Mar 2020 11:35:17 +0000 (14:35 +0300)]
Test OpCompositeInsert with OpUndef

Expanded composite insert tests to operate on
temporary variables generated by OpUndef.

VK-GL-CTS Issue: 1153

New tests:

dEQP-VK.spirv_assembly.*.composite_insert.undef_*

Components: Vulkan
Change-Id: I5907fc864d2aa95d8638bb76f03ceab948addf67

4 years agoTest strided stores in SSBOs
Ricardo Garcia [Tue, 17 Mar 2020 16:37:03 +0000 (17:37 +0100)]
Test strided stores in SSBOs

This commit adds new test variants to SSBO layout tests, using
per-column stores in matrix storage sections to test both strided and
contiguous stores work properly.

New tests:
dEQP-VK.ssbo.*_store_cols

Affected tests:
dEQP-VK.ssbo.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2269

Change-Id: I653984c597fbae8f69135d6583c44114ab70fac6

4 years agoAdd a batch of GraphicsFuzz tests
Vihanakangas [Fri, 6 Mar 2020 11:52:09 +0000 (13:52 +0200)]
Add a batch of GraphicsFuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.array-idx-multiplied-by-for-loop-idx
dEQP-VK.graphicsfuzz.assign-array-value-to-another-array-2
dEQP-VK.graphicsfuzz.assign-array-value-to-another-array
dEQP-VK.graphicsfuzz.cosh-return-inf-unused
dEQP-VK.graphicsfuzz.create-color-in-do-while-for-loop
dEQP-VK.graphicsfuzz.do-while-with-if-condition
dEQP-VK.graphicsfuzz.find-msb-from-lsb
dEQP-VK.graphicsfuzz.function-with-float-comparison
dEQP-VK.graphicsfuzz.increment-value-in-nested-for-loop
dEQP-VK.graphicsfuzz.nested-for-loops-switch-fallthrough
dEQP-VK.graphicsfuzz.return-mat2x3-value-from-func
dEQP-VK.graphicsfuzz.set-color-in-one-iteration-while-loop
dEQP-VK.graphicsfuzz.struct-array-data-as-loop-iterator
dEQP-VK.graphicsfuzz.switch-with-fall-through-cases
dEQP-VK.graphicsfuzz.vector-values-multiplied-by-fragcoord

Change-Id: I9297ba4a1b18b686ba6dea503adedaa80aa2a4a0

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Mon, 20 Apr 2020 08:00:17 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I421ee5c5e818b583840535a4f38876c870e14c31

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Mon, 20 Apr 2020 08:00:15 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib7ba759444bd834bd1be1e6094c075b48653afb6

4 years agoPrevent odd width single plane 422 images in dEQP-VK.ycbcr.query.*
Stephen Gallimore [Tue, 14 Apr 2020 13:12:26 +0000 (14:12 +0100)]
Prevent odd width single plane 422 images in dEQP-VK.ycbcr.query.*

It is invalid for 422 sampled image formats to have odd widths,
but this was only being enforced in the tests for multi-plane not
single plane formats.

Component: Vulkan

Affects: dEQP-VK.ycbcr.query.*

VK-GL-CTS Issue: 2309

Change-Id: Ie23eb77686ac2e6ab51367af92181a3f967d55d9

4 years agoAuto-generate deviceFeatures2 test
Piotr Byszewski [Wed, 25 Mar 2020 15:39:18 +0000 (16:39 +0100)]
Auto-generate deviceFeatures2 test

Components: Vulkan

VK-GL-CTS issue: 1581

Affects:
dEQP-VK.api.info.get_physical_device_properties2.features

Change-Id: Ifb76899735d452173e1df6782d1a3f934ef871f6

4 years agoFix validation problems with renderpass tests
Ricardo Garcia [Mon, 13 Apr 2020 10:17:42 +0000 (12:17 +0200)]
Fix validation problems with renderpass tests

This commit fixes several problems found while running the set of
renderpass tests with an up-to-date version of the validation layers.

* Stencil aspects of some images were not being properly transitioned to
  the expected layout used later in some tests.

* Fixed reported interface mismatch between vertex and geometry shaders.

* Invalid flush size for the vertex buffer in some tests, caused by not
  properly honoring nonCoherentAtomSize.

* In the same case as above, the allocation offset was being rounded up
  to the nearest multiple of nonCoherentAtomSize instead of being
  rounded down, which means some vertices could be left unflushed.

In addition, de::roundUp and de::roundDown are introduced by the commit
as they are somewhat frequent operations in some tests, but only updates
the affected renderpass tests to use them.

Affected tests:
dEQP-VK.renderpass.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2307

Change-Id: Ic78b2fe4707c4ddb0ade91d85e124190e94a1ed2

4 years agoAdd waiver info to log sessionInfo
Piotr Byszewski [Mon, 30 Mar 2020 16:47:30 +0000 (18:47 +0200)]
Add waiver info to log sessionInfo

Writing of session info was separated from log constructor.
It is now possible for test package to specify additional
session info content.

Components: Framework, OpenGL, Vulkan

VK-GL-CTS issue: 2222

Affects:
 dEQP-VK.*
 cts-runner

Change-Id: Id03855a72a0690fcac2eaff645abf04893ad80f6

4 years agoClean ExternalMemoryUtil
Piotr Byszewski [Thu, 9 Apr 2020 11:41:09 +0000 (13:41 +0200)]
Clean ExternalMemoryUtil

This change separates choosing of memory type from
allocateExportableMemory utility function. This makes
use of this functions more clear.
Previous implementation needed to be done ASAP and
involved passing of non-const reference to
allocateExportableMemory which was then filled.
This workaround made code unnecessarily hard to follow.

Components: Vulkan

VK-GL-CTS issue: 587

Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.synchronization.signal_order.*
dEQP-VK.synchronization.cross_instance.*

Change-Id: I781388db390f13c7c03785dd0ae34ae0128ec31c

4 years agoQueries test should handle devices with disabled inheritedQueries
Tomasz Owczarek [Wed, 8 Apr 2020 08:38:17 +0000 (09:38 +0100)]
Queries test should handle devices with disabled inheritedQueries

Avoid test failure by checking device support of "inheritedQueries"
feature and not using functinalities that are not supported.

Affects:
dEQP-VK.query_pool.concurrent_queries.secondary_command_buffer

Components: Vulkan

VK-GL-CTS issue: 2302

Change-Id: I304d2c025cbbdcabb1ebd03241964f14e0cdad1b

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Mon, 20 Apr 2020 07:16:33 +0000 (09:16 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I7797e4c314090d89a6d1ef52067b67630583796d

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Sun, 19 Apr 2020 13:00:16 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I0693b85b8559ca902240f0f8996278f02f205dca

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Sun, 19 Apr 2020 13:00:14 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I4a155c0a5fc48e0fb3d93b2bf822a3d33c03929b

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Sun, 19 Apr 2020 08:24:02 +0000 (10:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I124ba8b68acbe803453bda223ac02e26d90a6255

4 years agoTest memory leaks in vkEnumeratePhysicalDevices
Piotr Byszewski [Fri, 3 Apr 2020 08:45:27 +0000 (10:45 +0200)]
Test memory leaks in vkEnumeratePhysicalDevices

This change adds dedicated test that checks if vkEnumeratePhysical-
Devices does same amount of memory frees as it does allocations.
Additionally alloc_callback_fail tests were changed so that if
object construction was not successful with given number of
allocations it is attempted one more time with 10000 allowed
allocations. This will mainly affect instance and device
creation tests as they require many allocations and with
this we will be able to detect possible memory leaks.

Components: Vulkan

VK-GL-CTS issue: 149

Affects:
dEQP-VK.api.device_init.enumerate_devices_alloc_leak
dEQP-VK.api.object_management.alloc_callback_fail.*

Change-Id: Ic64054a0753a4ba4fdf3e7ef3104787bf5d2a72b

4 years agoAdd memory barrier to fragment shader interlock tests.
Szymon Szczyrbak [Tue, 14 Jan 2020 12:40:51 +0000 (13:40 +0100)]
Add memory barrier to fragment shader interlock tests.

Image or buffer written by GPU are copied to host-visible buffer used to
verify test's results.
Added a TRANSFER_WRITE/HOST_READ pipeline barrier to make sure that the data
accessed by host is up-to-date.

Component: Vulkan

Affects: dEQP-VK.fragment_shader_interlock.basic.*

VK-GL-CTS Issue: 2165

Change-Id: I6d458b2e650a3813e62948d670b8a53e864aed37
(cherry picked from commit 1f1f54995a1a32ad4b7f9f357a39c19d3c1c0a7c)

4 years agoApply nonUniformEXT after constructing a combined image/sampler
Jeff Bolz [Mon, 16 Mar 2020 18:46:17 +0000 (13:46 -0500)]
Apply nonUniformEXT after constructing a combined image/sampler

nonUniformEXT doesn't propagate through constructors, so apply it
after constructing a combined image sampler. Also, update the glslang
commit to include a fix that allows nonuniform sampler constructors.

Component: Vulkan
Affects: dEQP-VK.descriptor_indexing.*
VK-GL-CTS Issue: 2268

Change-Id: Icd3cc0d47dc39aa3e61c4ebff99e254b9296230c