platform/upstream/VK-GL-CTS.git
4 years agoRemove vk-default-no-waivers.txt
Alexander Galazin [Thu, 16 Apr 2020 07:33:51 +0000 (09:33 +0200)]
Remove vk-default-no-waivers.txt

Components: Vulkan

Change-Id: I759f074a5bce975b18f1194541eaba14be883466

4 years agoNotice of withdrawal of Vulkan CTS 1.1.4.x
Alexander Galazin [Thu, 9 Apr 2020 08:31:08 +0000 (10:31 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.4.x

Components: Vulkan

Change-Id: Ie42fa8b4cee043d78b0a793bd339026c47e2324e

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 14 Apr 2020 07:44:46 +0000 (09:44 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I31504aced573483a63d0ded9c314a14a1250e711

4 years agoHandle gcc 7 warnings
Caio Marcelo de Oliveira Filho [Thu, 22 Feb 2018 01:54:57 +0000 (17:54 -0800)]
Handle gcc 7 warnings

- "-Wimplicit-fallthrough" warns on case conditions that
  fallthrough. GCC does have a way to accept conditions that have a
  comment about falling through inside the cases, but the codebase has
  other cases where a single comment explains the fallthrough for the
  whole switch. This warning is being ignored. It was not possible to
  use "-Wno-error=WARNING" because older GCCs fail -- but they do
  accept "-Wno-WARNING" where WARNING is unknown (since at least gcc
  4.6.4).

- "-Wint-in-bool-context" warns (among other things) about result of
  multiplication being used in boolean context. Code was changed to
  use de::max() instead.

- "-Wmaybe-uninitialized" warned about some attributes of a struct not
  being initialized depending on the case. Code was changed to
  initialize the struct in question.

Components: Framework, Vulkan

Change-Id: Iabb26f01e047353c6e2a704ab27b673e85b185be
(cherry picked from commit f1ee9253e64f7434cdba7c8ac048c0e9baccc133)

4 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
(cherry picked from commit 884a93c6b9bc5dc8a7fea9392b37b8fd5ea04d7b)

4 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
(cherry picked from commit 05d98991304fce712732124e5e12fb670ee5a799)

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Mon, 13 Apr 2020 13:10:46 +0000 (15:10 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Iff877c6f06ecb020dd393311530c2706325a9d02

4 years agoAdd VK_AMD_shader_image_load_store_lod tests
Samuel Iglesias Gonsálvez [Mon, 10 Feb 2020 12:33:14 +0000 (13:33 +0100)]
Add VK_AMD_shader_image_load_store_lod tests

Updated spirv-tools and glslang to support the extension.

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

Added tests:

   dEQP-VK.image.load_store_lod.*

Modified tests:

   dEQP-VK.image.*

Change-Id: I344b1d15437d9c32aed218e28826843a107048ef

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Sun, 12 Apr 2020 14:40:11 +0000 (16:40 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Iecdf1903394046e459101b1f1e88cfc4756e081b

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Sun, 12 Apr 2020 13:23:52 +0000 (15:23 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: I5c292b5227c3e6c22910fce671a0dca1eaf7be64

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

Change-Id: Ib04e5c0c04f5049f6008215035996157e9beaf86

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

Change-Id: I2e8f17214a381fb9d486dd5a29173cc068ee4bd7

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Sat, 11 Apr 2020 16:21:59 +0000 (18:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I20237be63b00f950377fa287c1d58eb332601ea4

4 years agoUpdate SPIR-V Tools, Headers
Alexander Galazin [Fri, 10 Apr 2020 19:52:19 +0000 (21:52 +0200)]
Update SPIR-V Tools, Headers

Components: Framework

Change-Id: I6d98100cd0b007cd0ddfef2679d232c7a418ab83

4 years agoFix invalid SPIR-V in GraphicsFuzz tests
Alastair Donaldson [Tue, 26 Nov 2019 14:17:11 +0000 (14:17 +0000)]
Fix invalid SPIR-V in GraphicsFuzz tests

Components: Vulkan

VK-GL-CTS Issue: 2122

Affected tests:

dEQP-VK.graphicsfuzz.continue-and-merge
dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.discard-continue-return
dEQP-VK.graphicsfuzz.fragcoord-control-flow-2
dEQP-VK.graphicsfuzz.fragcoord-control-flow
dEQP-VK.graphicsfuzz.loop-call-discard
dEQP-VK.graphicsfuzz.mat-array-deep-control-flow
dEQP-VK.graphicsfuzz.mat-array-distance
dEQP-VK.graphicsfuzz.return-in-loop-in-function
dEQP-VK.graphicsfuzz.unreachable-continue-statement

Change-Id: Iaa7448ee4a815d9e3a1c8a5582214ecd599ac143
(cherry picked from commit 46bcbf639d7bd79f630587fdc951dfa2ee8507af)

4 years agoremove opconstantnull physical storage pointer tests
Jeff Bolz [Mon, 7 Oct 2019 14:39:02 +0000 (09:39 -0500)]
remove opconstantnull physical storage pointer tests

These are no longer considered valid after recent spec changes.

Components: Vulkan
Affects: Removes dEQP-VK.spirv_assembly.*phys*opconstantnull*
Change-Id: I79566387a8f5a1f12dbd2ab5996ad69d43079ea2
(cherry picked from commit 35898f102a2d92398cdb2c54db68cbd359ba6d2a)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Fri, 10 Apr 2020 19:49:03 +0000 (21:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Id686986377496ddc1a859c9ddecfea0e7322775d

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 10 Apr 2020 19:49:00 +0000 (21:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I588d3c0cb5f9505d56f32809c1119c725a6c1233

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 10 Apr 2020 19:48:58 +0000 (21:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If55ee66532b61481f5c3b61e1cdb1361d66fe14f

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Fri, 10 Apr 2020 19:48:56 +0000 (21:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I650592e9a9c662777a664983d375a385f4f6c164

4 years agoEnable MSAAx16 non-stict wide lines rasterization tests
Slawomir Cygan [Mon, 23 Mar 2020 15:27:41 +0000 (16:27 +0100)]
Enable MSAAx16 non-stict wide lines rasterization tests

Components: Vulkan

VK-GL-CTS Issue: 1024, 2943

Affects:
dEQP-VK.rasterization.interpolation_multisample_16_bit.lines_wide
dEQP-VK.rasterization.interpolation_multisample_16_bit.non_strict_lines_wide
dEQP-VK.rasterization.primitives_multisample_16_bit.no_stipple.non_strict_lines_wide

Change-Id: I51a76685f54121de0e5a046cc841ab31e07ef1d4

4 years agoWaiver mechanism
Piotr Byszewski [Tue, 3 Mar 2020 13:51:54 +0000 (14:51 +0100)]
Waiver mechanism

Components: Framework, OpenGL, Vulkan

Affects:
 dEQP-VK.*
 cts-runner

VK-GL-CTS issue: 2222

Change-Id: I7d23400d4251f79ae3ffda80553878e95b34a5db

4 years agoTest nearest sampling edge cases
Ricardo Garcia [Mon, 2 Mar 2020 11:03:56 +0000 (12:03 +0100)]
Test nearest sampling edge cases

Add more exact sampling cases to check texel coordinates are properly
truncated when sampling near the edge of a texel.

Affected and new tests:
dEQP-VK.pipeline.sampler.exact_sampling.*

Components: Vulkan
VK-GL-CTS issue: 2240

Change-Id: Ifc9b18c7b02eeb11e5ae005842f97ed1319d7460

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 9 Apr 2020 14:56:44 +0000 (16:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ie58763e28c3506b96af71f5081affb7120c5525e

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

Change-Id: I766b629816aa831928068978bb5a8498e9a94750

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 9 Apr 2020 12:02:46 +0000 (14:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I7ac92f125386c947f5ce09f0129c4678809e73a2

4 years agoUpdate Amber
Alexander Galazin [Thu, 9 Apr 2020 08:55:24 +0000 (10:55 +0200)]
Update Amber

Components: Framework

Change-Id: Idb5925b6c977062221e63ca088eb50f2c6f8fbaa

4 years agogl4cComputeShaderTests: correct conversion
Andres Gomez [Thu, 23 May 2019 16:34:13 +0000 (18:34 +0200)]
gl4cComputeShaderTests: correct conversion

Bug 13124 - gl45 conformance: Fix GL45-CTS.compute_shader.max to work with giant numbers
and
Bug 13582 - Checking values from glGet* incorrectly
didn't complete the job of avoiding conversion problems.

Now, we make sure that the comparison is done in the type that won't
cause a problem.

Components: OpenGL

VK-GL-CTS public issue: 149

Affects:

KHR-GLES31.core.compute_shader.dispatch-indirect
KHR-GLES31.core.compute_shader.max
KHR-GL43.compute_shader.dispatch-indirect
KHR-GL43.compute_shader.max

Change-Id: I69047d95ca4418a84f138ac9bfa7818fea45cc64

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 9 Apr 2020 10:02:27 +0000 (12:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I758092828fa1c8cf4398dd34630ba40de3ca4399

4 years agoUpdate vulkan_core.h
Alexander Galazin [Thu, 9 Apr 2020 08:44:04 +0000 (10:44 +0200)]
Update vulkan_core.h

Components: Vulkan

Change-Id: I8bdf4eeffd0291e146eb42c5c79b403d776e86d8

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 9 Apr 2020 08:33:32 +0000 (10:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ie94ff317fc6fc42057ce607e751d774529af844f

4 years agoAdd tool to view TestResults.qpa images
Ricardo Garcia [Wed, 25 Mar 2020 16:43:42 +0000 (17:43 +0100)]
Add tool to view TestResults.qpa images

This commit adds a self-contained, single-page web app to view images
contained in TestResults.qpa files, usually saved there when a test
fails.

To use it, just open the HTML file with a web browser.

VK-GL-CTS issue: 2281

Change-Id: I40fa637037a2b6ea5aef140055a749a2ed440edf

4 years agoRemove TODO, FIXME that were left behind
Samuel Iglesias Gonsálvez [Thu, 2 Apr 2020 09:00:26 +0000 (11:00 +0200)]
Remove TODO, FIXME that were left behind

After checking pending TODOs and FIXMEs, found some that were
added when writing the tests and I forgot to remove them before
submitting the tests for review.

Components: Vulkan

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

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

Change-Id: I7771bb8031b5cf0d28faf840bfc4fa9d8e6c3828

4 years agoHalf-float texture interpolation tolerance is too small.
Yanjun Zhang [Fri, 20 Mar 2020 22:30:37 +0000 (15:30 -0700)]
Half-float texture interpolation tolerance is too small.

Need to increase the precision tolerance for VSI mobile GPUs.

Components: Vulkan

Affects: dEQP-VK.texture.explicit_lod.2d.*

VK-GL-CTS issue: 2273

Change-Id: I957f8af87dd7413d6a4e50f2141cc777f5e292d6

4 years agoFramework definitions for VK_KHR_ray_tracing
Boris Zanin [Fri, 18 Oct 2019 13:38:32 +0000 (15:38 +0200)]
Framework definitions for VK_KHR_ray_tracing

Initial commit required to build VK_KHR_ray_tracing.
Also contains framework definitions for wrappers used
to run CTS with VK_NV_ray_tracing extention.

Components: Framework, Vulkan

VK-GL-CTS issue: 2143

Change-Id: I5fa7556f72fd0155f3eadfb0eaf2c8c84c540791

4 years agodEQP-VK.graphicsfuzz.switch-loop-switch-if
Paul Thomson [Thu, 16 Jan 2020 16:12:53 +0000 (16:12 +0000)]
dEQP-VK.graphicsfuzz.switch-loop-switch-if

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.switch-loop-switch-if

Change-Id: I8d7a1c11802bf6be62e641681eef143f597155a1

4 years agoAdd test case for negative int div and
Jari Komppa [Wed, 25 Mar 2020 13:47:14 +0000 (15:47 +0200)]
Add test case for negative int div and

Test for a case where negative integer is divided and then and:ed.

New tests:
dEQP-VK.glsl.combined_operations.negintdivand

Components: Vulkan
VK-GL-CTS issue: 2279

Change-Id: I9838ec66d48cbedb555c75ab82a2228287d63436

4 years agoAvoid fragment shader in some depth/stencil tests
Ricardo Garcia [Mon, 30 Mar 2020 13:04:37 +0000 (15:04 +0200)]
Avoid fragment shader in some depth/stencil tests

This commit makes depth/stencil tests with no color attachments have no
fragment shader at all, instead of an empty fragment shader.

In addition, make stencil export tests keep the stencil value when
running with color attachments.

Affected tests:
dEQP-VK.pipeline.stencil.nocolor.*
dEQP-VK.pipeline.depth.nocolor.*
dEQP-VK.pipeline.shader_stencil_export.*

Components: Vulkan
VK-GL-CTS issue: 2235

Change-Id: Ic6090d140f247f79bb59425cb6db1db59a193114

4 years agoTest large indirect draw count and small parameter
Ricardo Garcia [Tue, 31 Mar 2020 14:45:54 +0000 (16:45 +0200)]
Test large indirect draw count and small parameter

Indirect draw count commands have two limits specified as the maximum
number of draw calls. The first one is the maxDrawCount command
parameter and the second one is the count stored in the count buffer.

CTS was lacking coverage for testing the command parameter was being
honored and could act as the upper limit for the number of draws. This
commits adds new test combinations to check that.

In addition, several validation problems have been fixed in the indirect
draw tests, hence marking all indirect draw tests as affected.

New tests:
dEQP-VK.draw.indirect_draw.*param_count*

Affected tests:
dEQP-VK.draw.indirect_draw.*

Components: Vulkan
VK-GL-CTS issue: 2276

Change-Id: I3b2ce5c87ee5ba21e6dacfa360daaf546528c2cb

4 years agoAdded tests for line continuity
Ari Suonpaa [Fri, 6 Mar 2020 08:19:59 +0000 (10:19 +0200)]
Added tests for line continuity

The current tests verify line rasterization results
quite loosely because of differences in implementations.
However a line with missing pixels were still passing
the tests. This adds separate tests that catch such
rasterization errors.

Amber has been updated to add polygon mode support.

New tests:

dEQP-VK.rasterization.line_continuity.line-strip
dEQP-VK.rasterization.line_continuity.polygon-mode-lines

VK-GL-CTS issue: 2024

Components: Vulkan
Change-Id: Ibad1deb85f3a5bbc169723f0d8c00c3192447917

4 years agoAdd test api.tooling_info.validate_instance_layers
Arkadiusz Sarwa [Tue, 28 Jan 2020 11:29:27 +0000 (12:29 +0100)]
Add test api.tooling_info.validate_instance_layers

New Tests:
dEQP-VK.api.tooling_info.validate_instance_layers

Affects:
dEQP-VK.api.tooling_info.validate_tools_properties

Components: Vulkan

VK-GL-CTS issue: 2182

Change-Id: I6edcba92cbc27e6e0e08070a26abba36a6ea6965
(cherry picked from commit 7cf039b21291b46521a1c6a135479a8cb7cd7c32)

4 years agoTest execution modes set only in Tess Control Shader
Piotr Byszewski [Tue, 28 Jan 2020 15:43:42 +0000 (16:43 +0100)]
Test execution modes set only in Tess Control Shader

This change adds 9 tests that set execution modes just in Control
Shader and check if TessCoord builtin has correct value in Evaluation
shader.

Components: Vulkan

VK-GL-CTS issue: 2194

Affects:
dEQP-VK.tessellation.tesscoord.*_execution_mode_in_tesc

Change-Id: I5d7aaf04e867ddeef6e7cdd77775bb967d4189bb

4 years agoAdd tests for VK_EXT_tooling_info
Marcin Kańtoch [Tue, 26 Nov 2019 19:54:48 +0000 (20:54 +0100)]
Add tests for VK_EXT_tooling_info

New Tests:
dEQP-VK.api.tooling_info.*

Components: Vulkan

VK-GL-CTS issue: 2182

Change-Id: I96044ae014bb0cb5d5e89471ef0b7d21baac91d8
(cherry picked from commit 058ba3e5f06cb5bec6fbb6a473347bd7a97b2f43)

4 years agodEQP-VK.graphicsfuzz.two-loops-mat-add
Paul Thomson [Tue, 14 Jan 2020 16:50:51 +0000 (16:50 +0000)]
dEQP-VK.graphicsfuzz.two-loops-mat-add

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.two-loops-mat-add

Change-Id: I1b4e62970655366801e0c5b37693d60fe6d45260

4 years agoTest ViewportIndex SPIR-V builtin in frag shaders
Ricardo Garcia [Thu, 12 Mar 2020 14:52:13 +0000 (15:52 +0100)]
Test ViewportIndex SPIR-V builtin in frag shaders

Add new tests checking the ViewportIndex SPIR-V builtin, when used as
gl_ViewportIndex from GLSL, works properly in fragment shaders.

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

Affected tests:
dEQP-VK.draw.shader_viewport_index.*

Components: Vulkan
VK-GL-CTS issue: 2262

Change-Id: Ib66326bab17177d59bbc0802e1cdc7534d825a93

4 years agoAdd tests covering variableMultisampleRate
Ricardo Garcia [Mon, 23 Mar 2020 10:28:29 +0000 (11:28 +0100)]
Add tests covering variableMultisampleRate

This commit adds a new set of tests to check variableMultisampleRate
works as expected, by creating a render pass with no attachments and
multiple subpasses that use a different sample count each.

Due to the render pass and pipeline not having attachments, coverage
results are saved to a storage buffer, per sample.

Subpass results are compared to single-subpass render passes with the
same sample counts.

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

Components: Vulkan
VK-GL-CTS issue: 2152

Change-Id: I7dde8069c42f6a028754ef04a734ac980e9acf65

4 years agoFix 16bit_storage dependency in some spirv instruction fp16 tests
Samuel Iglesias Gonsálvez [Tue, 17 Mar 2020 20:39:29 +0000 (21:39 +0100)]
Fix 16bit_storage dependency in some spirv instruction fp16 tests

Some tests were ignoring the m_useStorageExt flag when creating the
shaders. Other tests were always saving the fp16 results in a fp16 SSBO
when it is not actually needed.

Finally added more conversion tests that don't need 16bit_storage.

Components: Vulkan
VK-GL-CTS issue: 1877

Added:

   dEQP-VK.spirv_assembly.instruction.*.fconvert.float64_to_float16_no_storage*

Modified:

   dEQP-VK.spirv_assembly.instruction.*float16*

Change-Id: I14897cc30a9ba2eec05ed71b25bca22ed5ef832d

4 years agoTest Stream, XfbBuffer and XfbStride decorations on structs
Ricardo Garcia [Fri, 7 Feb 2020 12:10:31 +0000 (13:10 +0100)]
Test Stream, XfbBuffer and XfbStride decorations on structs

This commit modifies the QUERY_GET transform feedback basic tests to use
an output interface block instead of a standalone output variable, so as
to test applying the Stream, XfbBuffer and XfbStride SPIR-V decorations
on struct members. Other basic transform feedback tests remain unchanged
and use the existing interfaces.

Due to glslang applying those decorations, when specified, to the output
block directly instead of struct members, the new shader is written in
manually-tuned SPIR-V assembly.

Affected tests:
dEQP-VK.transform_feedback.simple.query*

Components: Vulkan
VK-GL-CTS issue: 2211

Change-Id: I9c615c431783872f1c823c10da9a157795989e85

4 years agoUse vkBindImageMemory2 to bind disjoint images
Marc Alcala Prieto [Wed, 1 Apr 2020 13:37:09 +0000 (15:37 +0200)]
Use vkBindImageMemory2 to bind disjoint images

Vulkan specification says that applications must not use
vkBindImageMemory to attach memory to a VkImage object created with
the VK_IMAGE_CREATE_DISJOINT_BIT.

Component: Vulkan

Affects: dEQP-VK.ycbcr.plane_view.memory_alias.*

VK-GL-CTS Issue: 2289

Change-Id: Icdcf802ff9da6018e71a66fd27954923600863d2

4 years agoUpdate travis config to bionic
Alexander Galazin [Thu, 2 Apr 2020 11:55:40 +0000 (13:55 +0200)]
Update travis config to bionic

Change-Id: I9f33cc14b6fd2da6cd4e45a84f0660ef0d33c3be

4 years agoAdd shaderSubgroupExtendedTypes to mandatory features
Graeme Leese [Tue, 24 Mar 2020 15:36:37 +0000 (15:36 +0000)]
Add shaderSubgroupExtendedTypes to mandatory features

This was supposed to be mandatory in Vulkan 1.2 but it was not
documented in the spec.

Change-Id: Idd494770f7b7f454356b25ca2697cbba1c20c2bf
Components: Vulkan
Affects: dEQP-VK.info.device_mandatory_features

4 years agoFix format features required with samplerYcbcrConversion
sfricke_samsung [Sun, 8 Mar 2020 12:14:24 +0000 (05:14 -0700)]
Fix format features required with samplerYcbcrConversion

According to the #formats-requiring-sampler-ycbcr-conversion section
of the Vulkan Spec VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT and
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT are checked for the
current 2 formats that are required of samplerYcbcrConversion

Components: Vulkan

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

VK-GL-CTS issue: 2264

Change-Id: I9e287c9ba9236088d40f78a8c0775488dd32da9c

4 years agoRemove duplicated code from isinf/isnan tests
Graeme Leese [Tue, 11 Jun 2019 12:41:23 +0000 (13:41 +0100)]
Remove duplicated code from isinf/isnan tests

Most of the checking code for IsNan and IsInf was written out twice,
once for each precision. Remove one of the copies.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.isinf.*
         dEQP-VK.glsl.builtin.function.common.isnan.*

Change-Id: I5c00e1757086b204a6797424c0d35eb84b3f99a8

4 years agoTest exact sampling with linear filtering over a solid color
Ricardo Garcia [Mon, 17 Feb 2020 11:10:12 +0000 (12:10 +0100)]
Test exact sampling with linear filtering over a solid color

This commit adds new test variants for exact sampling cases using solid
color textures instead of gradients, paired with samplers configured to
use linear filtering. The implementation of linear filtering may incur
precission losses but they should be minor and we should get the exact
same color when converting back to the original image format.

New tests:
dEQP-VK.pipeline.sampler.exact_sampling.*.solid_color.*

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

Components: Vulkan
VK-GL-CTS issue: 2226

Change-Id: I71800172b4826860070f5aee9bccca694557f062

4 years agoAdded a third batch of coverage tests found by GraphicsFuzz
Ari Suonpaa [Mon, 16 Mar 2020 12:46:58 +0000 (14:46 +0200)]
Added a third batch of coverage tests found by GraphicsFuzz

New tests:

dEQP-VK.graphicsfuzz.cov-analysis-reachable-from-many
dEQP-VK.graphicsfuzz.cov-apfloat-acos-ldexp
dEQP-VK.graphicsfuzz.cov-const-folding-gte-const-first
dEQP-VK.graphicsfuzz.cov-fold-negate-min-int-value
dEQP-VK.graphicsfuzz.cov-folding-merge-add-sub-uniform
dEQP-VK.graphicsfuzz.cov-folding-rules-merge-var-sub
dEQP-VK.graphicsfuzz.cov-folding-rules-mix-uniform-weight
dEQP-VK.graphicsfuzz.cov-folding-rules-negate-sub
dEQP-VK.graphicsfuzz.cov-folding-rules-vec-mix-uniform
dEQP-VK.graphicsfuzz.cov-inc-inside-switch-and-for
dEQP-VK.graphicsfuzz.cov-irbuilder-matrix-cell-uniform
dEQP-VK.graphicsfuzz.cov-mem-pass-sum-struct-members
dEQP-VK.graphicsfuzz.cov-mem-pass-unused-component
dEQP-VK.graphicsfuzz.cov-pattern-match-signum
dEQP-VK.graphicsfuzz.cov-pattern-match-single-bit
dEQP-VK.graphicsfuzz.cov-replace-copy-object
dEQP-VK.graphicsfuzz.cov-scaled-number-nested-loops
dEQP-VK.graphicsfuzz.cov-set-vector-cos-fragcoord
dEQP-VK.graphicsfuzz.cov-simplification-unused-struct
dEQP-VK.graphicsfuzz.cov-single-store-elim-assume-store
dEQP-VK.graphicsfuzz.cov-target-lowering-dfdx-cos
dEQP-VK.graphicsfuzz.cov-val-cfg-case-fallthrough
dEQP-VK.graphicsfuzz.cov-wrap-op-kill-for-loop
dEQP-VK.graphicsfuzz.cov-wrap-op-kill-two-branches

Components: Vulkan
Change-Id: I50b2813f9d7810151dbfe23170648c32db8c397c

4 years agoAdd dual-source blending tests
Samuel Iglesias Gonsálvez [Mon, 13 Jan 2020 09:37:56 +0000 (10:37 +0100)]
Add dual-source blending tests

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

Added tests:

   dEQP-VK.pipeline.blend.dual_source.*

Change-Id: I51f2660590615e4829ca45765d1f387ae575178b
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 26 Mar 2020 09:09:37 +0000 (10:09 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I8808cedf8c77bde2e9290802edb09f4225b0f00d

4 years agoSquash ext-dep-target into gen-inl-files
Boris Zanin [Wed, 18 Mar 2020 14:54:06 +0000 (15:54 +0100)]
Squash ext-dep-target into gen-inl-files

The check_build_sanity.py target gen-inl-files unites
several generation scripts and gen_ext_deps.py should be
one of them instead of having separate target.
This will reduce CI server load.

Components: Vulkan

VK-GL-CTS Issue: 1340

Change-Id: If2153fcbc9cb779bdb86934c0a3c8a6b260e6a5f

4 years agoAdd support for properly styling SPIR-V sources from XML logs
Slawomir Cygan [Fri, 28 Feb 2020 12:52:01 +0000 (13:52 +0100)]
Add support for properly styling SPIR-V sources from XML logs

This fixes missing line endings of SPIR-V sources in XSLT-ized XML logs.
I have tested that by doing XSLT in recent Chrome version.

Components: Framework

VK-GL-CTS Issue: 2246

Change-Id: Ie9ef0b7cad1c5789c35cea599c145a524d123b33

4 years agofix deqp reference texture lookup not adhearing to the ES2.0 spec language
James Hauxwell [Thu, 27 Feb 2020 14:23:12 +0000 (14:23 +0000)]
fix deqp reference texture lookup not adhearing to the ES2.0 spec language

"If the magnification filter is given by LINEAR and the minification
filter is given by NEAREST_MIPMAP_NEAREST or NEAREST_MIPMAP_LINEAR,
then c = 0.5. This is done to ensure that a minified texture does not
appear “sharper” than a magnified texture. Otherwise c = 0"

This was removed in ES3.0

The reference rasterizer is ES3, so it needs to get the version of the
device under test (DUT) and change its behaviour acordingly

Components: GLES2

VK-GL-CTS issue: #890

Affects:
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_clamp_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_mirror_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_clamp_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_etc1
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_mirror_etc1
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_etc1
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_etc1
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_clamp
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_repeat
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_nearest_linear_mirror
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_clamp
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_repeat
dEQP-GLES2.functional.texture.vertex.cube.filtering.nearest_mipmap_linear_linear_mirror

Change-Id: I43024a13e0f63eb929da60d02c9722900c46506c

4 years agoSingle random float generator for precision tests
Graeme Leese [Thu, 20 Jun 2019 16:22:37 +0000 (17:22 +0100)]
Single random float generator for precision tests

Essentially the same random generator was written out three times, once
for double, once for float and once for fp16. The FloatFormat class
already takes care of the precision requirements, etc. so the same
function can be used for all three.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*

Change-Id: I4c29eac8f8f71ddf20c2f7e12afc314eba71442d

4 years agoAdd tests for scissor constraint
Jussi Venho [Thu, 9 Jan 2020 11:02:38 +0000 (13:02 +0200)]
Add tests for scissor constraint

Test that scissor is correctly clamped to the framebuffer size.

New tests:
dEQP-VK.draw.scissor.static_scissor_framebuffer_border_in
dEQP-VK.draw.scissor.dynamic_scissor_framebuffer_border_in
dEQP-VK.draw.scissor.static_scissor_framebuffer_border_out
dEQP-VK.draw.scissor.dynamic_scissor_framebuffer_border_out
dEQP-VK.draw.scissor.static_scissor_oversized
dEQP-VK.draw.scissor.dynamic_scissor_oversized

Components: Vulkan
VK-GL-CTS issue: 2095

Change-Id: I7e15e4db12380c84cd7d7297de62bca0a7551f2e

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 25 Mar 2020 17:48:41 +0000 (18:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I9ffc85a4101eba5770a31adde44c406686b76bb2

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 25 Mar 2020 17:48:39 +0000 (18:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib397408e9bba043a187708d5d439507df3da6d14

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Wed, 25 Mar 2020 17:48:35 +0000 (18:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If3617a4a3902a2343a8efee197e8bcd895c60f49

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Wed, 25 Mar 2020 11:19:50 +0000 (12:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iff8de9b31b571ac8606d6b6530bf19b21e3c63ac

4 years agoAdded a second batch of coverage tests found by GraphicsFuzz
Ari Suonpaa [Tue, 3 Mar 2020 13:03:58 +0000 (15:03 +0200)]
Added a second batch of coverage tests found by GraphicsFuzz

New tests:

dEQP-VK.graphicsfuzz.cov-basic-block-discard-in-function
dEQP-VK.graphicsfuzz.cov-const-folding-clamp-inside-while
dEQP-VK.graphicsfuzz.cov-const-folding-clamp-vs-original
dEQP-VK.graphicsfuzz.cov-const-folding-min-as-loop-range
dEQP-VK.graphicsfuzz.cov-constant-folding-atan-over-tanh
dEQP-VK.graphicsfuzz.cov-dead-branch-func-return-arg
dEQP-VK.graphicsfuzz.cov-fold-and-in-for-loop-range
dEQP-VK.graphicsfuzz.cov-folding-clamp-cmp-const-first
dEQP-VK.graphicsfuzz.cov-folding-rules-merge-div-mul
dEQP-VK.graphicsfuzz.cov-folding-rules-merge-divs
dEQP-VK.graphicsfuzz.cov-folding-rules-merge-mul-div
dEQP-VK.graphicsfuzz.cov-folding-rules-negate-div
dEQP-VK.graphicsfuzz.cov-inline-pass-return-in-loop
dEQP-VK.graphicsfuzz.cov-machinevaluetype-one-iter-loop
dEQP-VK.graphicsfuzz.cov-vector-log2-cosh

Components: Vulkan
Change-Id: Ifcb87053f5ff52ee5b0f7460f289e3e144e31a1a

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 25 Mar 2020 10:09:47 +0000 (11:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I4e83df12355f93f835da9812a28665f434459a5d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Wed, 25 Mar 2020 09:06:35 +0000 (10:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I561526a8e0cc985c8183688ee4af633a6e91fa8b

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 25 Mar 2020 07:46:07 +0000 (08:46 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I36c436cd72ec705b74e162b7bd11aff4a684f123

4 years agoFix expected errors for some DSA functions
Piers Daniell [Mon, 23 Mar 2020 22:43:24 +0000 (16:43 -0600)]
Fix expected errors for some DSA functions

The OpenGL spec was fixed recently to correct some errors
for some DSA functions in
https://github.com/KhronosGroup/OpenGL-Registry/pull/300

This CL updates the CTS to match.

Affects:

KHR-GL46.direct_state_access.textures_buffer_errors
KHR-GL46.direct_state_access.textures_buffer_range_errors
KHR-GL46.direct_state_access.textures_parameter_setup_errors

Components: OpenGL

VK-GL-CTS issue: 2275

Change-Id: I783c4ca1924cbf6aa3af82d7ac5f49db4a94978b

4 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Mon, 23 Mar 2020 11:35:35 +0000 (12:35 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I6aa744934228c4dd877a41a50e26247baede5053

4 years agoMerge pull request #199 from aeubanks/cast
Alexander Galazin [Mon, 23 Mar 2020 11:34:36 +0000 (12:34 +0100)]
Merge pull request #199 from aeubanks/cast

Cast pointer to deUintptr instead of long

4 years agoMerge pull request #197 from baryluk/patch-1
Alexander Galazin [Mon, 23 Mar 2020 09:45:20 +0000 (10:45 +0100)]
Merge pull request #197 from baryluk/patch-1

Fix a typo for Linux run of deqp-vk

4 years agoFixes 16bit storage check in spirv_assembly tests
Matthew Netsch [Fri, 20 Mar 2020 15:16:23 +0000 (11:16 -0400)]
Fixes 16bit storage check in spirv_assembly tests

SPIRV shaders were still using 16bit storage extension
when API disabled it

Components: Vulkan
VK-GL-CTS Issue: 2272

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

Change-Id: I0135b7b6c4e84cbfc7afb050e5ecca4d5c4e82a2

4 years agoMore vertex-invocation fixes for synchronisation tests
Graeme Leese [Fri, 20 Mar 2020 13:30:31 +0000 (13:30 +0000)]
More vertex-invocation fixes for synchronisation tests

The fix for multiple vertex-shader instances was missed when the
timeline semaphore version of these tests was added. This is the fix
from https://gerrit.khronos.org/c/4451 applied to these new tests.

Components: Vulkan
VK-GL-CTS issue: 2253, 1958
Affects: dEQP-VK.synchronization.op.*.timeline_semaphore.write_indirect_buffer_draw*

Change-Id: I6013ef88a0acd362948c179416928c1d3fc064dd

4 years agoIntegrate vulkan_core.h and vulkan_beta.h into master
Boris Zanin [Thu, 19 Mar 2020 13:55:22 +0000 (14:55 +0100)]
Integrate vulkan_core.h and vulkan_beta.h into master

Integrates changes from https://github.com/KhronosGroup/Vulkan-Headers/
commit fb7f9c9bcd1d1544ea203a1f3d4253d0e90c5a90.

Components: Framework, Vulkan

VK-GL-CTS issue: 2270

Change-Id: I99990212504a64445aff5ef1023af4d1f66e4329

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 19 Mar 2020 10:20:22 +0000 (11:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I7e5f20b43320020302f9735eeda726dcabcb8b3b

4 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Thu, 19 Mar 2020 08:54:16 +0000 (09:54 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I865b9f8d9808556dfab94bdbcac5c2f8287a6e9b

4 years agoTest nearest sampling edge cases for OpenGL(ES)
Ricardo Garcia [Wed, 4 Mar 2020 11:47:47 +0000 (12:47 +0100)]
Test nearest sampling edge cases for OpenGL(ES)

Add tests to sample textures close to texel edges in GL_NEAREST mode, in
order to verify texel coordinates are properly truncated.

New tests:
KHR-GL*.nearest_edge.*

Components: OpenGL
VK-GL-CTS issue: 2240

Change-Id: If9b32e425c68eb912dda64a7c559a5f5bcdff760

4 years agoMerge pull request #196 from leix1234/astc_hdr_check
Alexander Galazin [Thu, 19 Mar 2020 08:51:38 +0000 (09:51 +0100)]
Merge pull request #196 from leix1234/astc_hdr_check

add a check about "astc_hdr"

4 years agoAdd check for YCbCr Chroma Reconstruction Explicit format support
sfricke_samsung [Sun, 8 Mar 2020 12:23:49 +0000 (05:23 -0700)]
Add check for YCbCr Chroma Reconstruction Explicit format support

If the format being queried supports
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
it must also support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT

Components: Vulkan

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

VK-GL-CTS issue: 2247

Change-Id: Id771210bb7bb0445d2ec326a7cd706f1b053f96b

4 years agoTest multiple sets with dynamic offsets
Ricardo Garcia [Fri, 6 Mar 2020 11:28:32 +0000 (12:28 +0100)]
Test multiple sets with dynamic offsets

This commit modifies the dynamic offset tests with two additional
strategies for grouping dynamic descriptors. Originally, these tests put
all descriptors in a single set.

Now, there is a second strategy in which every descriptor is put in a
separate set (at most 4 descriptors are used, so the tests never go over
maxBoundDescriptorSets in a conformant implementation).

A third strategy groups descriptors in arrays at binding zero, using one
set for dynamic descriptors and one set for nondynamic descriptors.

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

Components: Vulkan
VK-GL-CTS issue: 2248

Change-Id: I2e5d55b166f7e4424ba7ff7d6389d308da408eeb

4 years agoAdd tests for VK_AMD_shader_explicit_vertex_parameter
Samuel Iglesias Gonsálvez [Fri, 6 Mar 2020 11:31:40 +0000 (12:31 +0100)]
Add tests for VK_AMD_shader_explicit_vertex_parameter

Components: Vulkan
VK-GL-CTS issue: 2254

Added tests:

   dEQP-VK.draw.explicit_vertex_parameter.*

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

4 years agoTest not/xor SPIR-V operation sequence
Ricardo Garcia [Thu, 20 Feb 2020 15:30:51 +0000 (16:30 +0100)]
Test not/xor SPIR-V operation sequence

Add simple Amber test case to check the bitwise negation of a bitwise
xor result is properly calculated, as this combination appears to be
optimized by some implementations.

New test:
dEQP-VK.glsl.combined_operations.notxor

Components: Vulkan
VK-GL-CTS issue: 2233

Change-Id: I8cff49e47d9c8ce33174e2c0afcd3908198f3c17

4 years agoTest filtering of YCbCr formats
Piotr Byszewski [Mon, 10 Feb 2020 11:50:21 +0000 (12:50 +0100)]
Test filtering of YCbCr formats

This change ads min/mag linear filtering tests for two YCbCr formats:
g8_b8_r8_3plane_420_unorm, g8_b8r8_2plane_420_unorm.

Components: Vulkan

VK-GL-CTS issue: 2185

Affects:
dEQP-VK.ycbcr.filtering.*

Change-Id: If690b66a6d0ed982c4ea78da5073b78f0ea75dc9

4 years agoTest winding order of primitive topologies
Piotr Byszewski [Wed, 15 Jan 2020 16:14:24 +0000 (17:14 +0100)]
Test winding order of primitive topologies

Components: Vulkan

VK-GL-CTS issue: 1713

Affects:
dEQP-VK.transform_feedback.simple.winding_*

Change-Id: Ia5878614dd3e380e6b220d2be777670de2898e58

4 years agoSkip dEQP-VK.transform_feedback.fuzz.*.geometry if geometry not supported.
Hyunjun Ko [Mon, 16 Mar 2020 08:16:23 +0000 (17:16 +0900)]
Skip dEQP-VK.transform_feedback.fuzz.*.geometry if geometry not supported.

Affects: dEQP-VK.transform_feedback.fuzz.*.geometry

Components: Vulkan
VK-GL-CTS issue: 2267

Change-Id: Ifb0d29c049ccaa686132e2bb9c24fe7c797f5f6c

4 years agoFix verifyMultisampleLineGroupRasterization
Boris Zanin [Tue, 17 Mar 2020 08:28:55 +0000 (09:28 +0100)]
Fix verifyMultisampleLineGroupRasterization

Incorrect resolution has damaged verifcation function
verifyMultisampleLineGroupRasterization forcing it
to work always in strict mode causing tests to report
false failures.

Affected tests:
 * dEQP-VK.rasterization.*

Components: Vulkan

VK-GL-CTS issue: 1024

Change-Id: Id079cd4d25f9b2f21a94d8443b9dce2679fcbc8c

4 years agoCast to deUintptr instead
Arthur Eubanks [Wed, 18 Mar 2020 16:15:26 +0000 (09:15 -0700)]
Cast to deUintptr instead

4 years agoCast pointer to uintptr_t instead of long
Arthur Eubanks [Wed, 18 Mar 2020 15:58:04 +0000 (08:58 -0700)]
Cast pointer to uintptr_t instead of long

long may not be able to fit a pointer, and C++ does not allow casting
from a pointer to a smaller int.

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Tue, 17 Mar 2020 09:31:59 +0000 (10:31 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I5be459898168e3ac3c2365a970201ed738ef257a

4 years agoAllow not flusing denorms in operands
Slawomir Cygan [Fri, 28 Feb 2020 14:36:58 +0000 (15:36 +0100)]
Allow not flusing denorms in operands

This fixes tests for denorm value flush to zero in Ceil(), Log(),
 Log2(), Sqrt(), Sqrt2() operations. The test was assuming, that
operands of denormal value are flushed before the operation, however
the specification does not require that:

"If the entry point is declared with the DenormFlushToZero execution mode then for the
affected instuctions the denormalized result must be flushed to zero and the denormalized
operands **may** be flushed to zero."

VK-GL-CTS Issue: 2242

Affects: dEQP-VK.spirv_assembly.instruction.compute.float_controls.*.input_args.*_denorm_flush_to_zero

Components: Vulkan

Change-Id: Iedeb0d18fde3749a83be3262dba5efabf365aea2

4 years agoFix build for older GCCs
Joerg Wagner [Sat, 14 Mar 2020 12:42:17 +0000 (13:42 +0100)]
Fix build for older GCCs

GCC 4.9 doesn't understand aggregate initialization
syntax introduced in 3 files:

- vktBindingDescriptorUpdateTests.cpp
- vktPipelineMultisampleShaderBuiltInTests.cpp
- vktPipelineSamplerTests.cpp

Align test case constructors with the rest of
the code base by avoiding the feature.

Affects:

dEQP-VK.binding_model.descriptor_update.*
dEQP-VK.pipeline.multisample_shader_builtin.*
dEQP-VK.pipeline.sampler.*

Components: Vulkan

VK-GL-CTS issue: 2265

Change-Id: I908baf308d62586e7d9baf8d389b2ce599e8912e

4 years agoWhitelst Vulkan CTS 1.2.2.0
Alexander Galazin [Fri, 13 Mar 2020 12:43:27 +0000 (13:43 +0100)]
Whitelst Vulkan CTS 1.2.2.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I395c3a1739e770b62c63d11bb8accc4535a6767c

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 13 Mar 2020 12:40:27 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib9d2d64c02625ed43632c2a6b35afdf8d71cafcf

4 years agoAdd more tests for VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
Jeff Bolz [Mon, 24 Feb 2020 20:18:27 +0000 (14:18 -0600)]
Add more tests for VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT

Existing tests had all buffers use the same small size, and
missed bugs in our implementation. Add tests using larger,
random sizes.

New Tests: dEQP-VK.binding_model.buffer_device_address.capture_replay_stress.*
Component: Vulkan

Change-Id: I846bcac16a28502902a70886b9e0949c8c2f1575

4 years agoRemoved a test using uninitialized variable
Ari Suonpaa [Fri, 13 Mar 2020 11:58:02 +0000 (13:58 +0200)]
Removed a test using uninitialized variable

The use of uninitialized variable is being debated in
a spec issue: https://gitlab.khronos.org/spirv/SPIR-V/issues/490.

Removed dEQP-VK.graphicsfuzz.cov-reduce-load-array-replace-extract
because the spec is currently not clear if the test is correct
or not.

VK-GL-CTS issue: 2258

Components: Vulkan
Change-Id: I06736154745d73d6a914d2b814c1aa49e8bb3a86

4 years agoRequire 16-bit storage in some 8-bit storage tests
Ricardo Garcia [Mon, 9 Mar 2020 15:13:59 +0000 (16:13 +0100)]
Require 16-bit storage in some 8-bit storage tests

This commit adds uniform 16-bit storage features to the list of
requested features for 8-bit storage tests that use the SPIR-V
StorageUniform16 capability.

Affected tests:
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.storagebuffer_16_to_8.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.uniform_8_to_16.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.push_constant_8_to_16.*
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.storagebuffer_int_16_to_8.*
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.uniform_int_8_to_16.*
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.push_constant_int_8_to_16.*

Components: Vulkan
VK-GL-CTS issue: 2256

Change-Id: I12535b8529f139718d8e6a8add7e3f24231319f7