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

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 17 Apr 2020 09:20:25 +0000 (11:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: Ia79a8ea06da0fcb366ebb66e99a1285d2b0019b7

4 years agoImprove image logging in some renderpass tests
Ricardo Garcia [Tue, 7 Apr 2020 16:11:01 +0000 (18:11 +0200)]
Improve image logging in some renderpass tests

Some renderpass tests have a reference buffer where some of the "pixel
components" are set to have a boolean value and some of them are left unset
(this means 3 possible values: unset, set to false, set to true). When writing
to real images in a variety of formats, they store either 0.0 (for "false") or
1.0 (for "true"), no matter the actual pixel format because it works in any
case. But when logging those images, they are translated to RGBA8 PNG format
using the logging facilities, which do not adapt well to this case.

In particular, unnormalized formats have their component value ranges checked
dynamically and adapted to an approximation if needed, which sometimes means
the reference image and the output image look nothing like each other even when
the test passes.

This commit does a small image color translation for both the result image and
the reference buffer only for the purpose of logging, without affecting the
tests themselves. All images are transformed to RGBA8, unsigned
normalized format prior to logging. Unset component values are
translated to a 3x3 grid with values 0.0 and 0.25, component values set
to false are translated to 0.5 and component values set to true are
translated to 1.0, providing clear visual separation between all 3
possibilities while unifying the representation of the reference buffer
and the output image.

In addition, to minimize the cost of that translation and reducing CPU impact
in general, this commit stops logging images when tests pass.

No test results should be affected by these changes.

Affected tests:
dEQP-VK.renderpass*.*allocation.simple.*
dEQP-VK.renderpass*.*allocation.formats.*
dEQP-VK.renderpass*.*allocation.attachment.*
dEQP-VK.renderpass*.*allocation.attachment_allocation.*
dEQP-VK.renderpass*.*allocation.attachment_write_mask.*

Components: Vulkan
VK-GL-CTS issue: 2299

Change-Id: I1f85b7576de7987ab980555ad095064208164a33

4 years agoFix framework for R64 int images test
Arkadiusz Sarwa [Tue, 7 Apr 2020 11:04:40 +0000 (13:04 +0200)]
Fix framework for R64 int images test

Affects:
dEQP-VK.api.info.*r64_*int
dEQP-VK.api.buffer_view.create.*.r64_*int
dEQP-VK.api.granularity*r64_*int

Components: Framework, Vulkan

VK-GL-CTS Issue: 2286

Change-Id: I675cbf34cd59733f5a73d987c16c3b3d323fd170

4 years agoCheck vkGetInstanceProcAddr works with NULL instance
Ricardo Garcia [Tue, 24 Mar 2020 16:31:31 +0000 (17:31 +0100)]
Check vkGetInstanceProcAddr works with NULL instance

This commit makes sure vkGetInstanceProcAddr can resolve itself when
used with a NULL instance, being a platform function.

In addition, vkEnumerateInstanceVersion is always checked, when present
in the corresponding API table, to work as a platform function returning
a function pointer when called with a NULL instance.

Affected tests:
dEQP-VK.api.version_check.entry_points

Components: Vulkan
VK-GL-CTS issue: 2278

Change-Id: Ia6e23b8aa2328646003ada8e4d5947656566ccaf

4 years agoAdd Mandatory extension features
s.fricke [Wed, 1 Apr 2020 17:21:04 +0000 (10:21 -0700)]
Add Mandatory extension features

Along with adding new feature checks, had to add logic to allow
OR cases where at least 1 feature for an extension needs to be
supported.

https://gitlab.khronos.org/vulkan/vulkan/merge_requests/3685
This CL updates the test to align with the MR.

Components: Vulkan

Affects: dEQP-VK.info.device_mandatory_features

VK-GL-CTS issue: 2287

Change-Id: I4e8a04f30cf15d016072252cf137fc16e3c28a34

4 years agoAdd missing extensions VK_GOOGLE
Arkadiusz Sarwa [Thu, 9 Apr 2020 12:35:29 +0000 (14:35 +0200)]
Add missing extensions VK_GOOGLE

Add:
VK_GOOGLE_decorate_string
VK_GOOGLE_hlsl_functionality1

Affects:
dEQP-VK.api.info.android.no_unknown_extensions

Components: Vulkan
VK-GL-CTS issue: 2304

Change-Id: I794ddd1821dccf1d4b5c5e22bbcb0e4c3388d9ae

4 years agoFix format features required with samplerYcbcrConversion
s.fricke [Fri, 3 Apr 2020 19:42:35 +0000 (12:42 -0700)]
Fix format features required with samplerYcbcrConversion

According to the #formats-requiring-sampler-ycbcr-conversion section
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT is not checked for any
format required of samplerYcbcrConversion

Components: Vulkan

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

VK-GL-CTS issue: 2290

Change-Id: Ie7da73e9a763b060511d2cd3b809bfc723d01e10

4 years agoFix number of pipelines/framebuffers/renderpasses created in dynamic offset tests
Samuel Iglesias Gonsálvez [Fri, 3 Apr 2020 08:10:29 +0000 (10:10 +0200)]
Fix number of pipelines/framebuffers/renderpasses created in dynamic offset tests

Tests need a pipeline/framebuffer/renderpass per command buffer to be
executed. For the single command buffer case, we were creating an extra
one that is unused.

However, it will produce crashes if we ever add tests with more than
two command buffers, as it is using the command buffer index to get
the respective pipeline/framebuffer/renderpass element to bind.

Components: Vulkan
VK-GL-CTS issue: 2293

Affected tests:

  dEQP-VK.pipeline.dynamic_offset.*

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

4 years agoExplicitly use -A Win32 platform in CMake Visual Studio 2019 builds
Slawomir Cygan [Fri, 23 Aug 2019 12:33:19 +0000 (14:33 +0200)]
Explicitly use -A Win32 platform in CMake Visual Studio 2019 builds

There is a new CMake switch "-A" for selecting a platform in
Visual Studion CMake generators.

It was set only for 64-bit builds (to x64), however it seems it does not
default to Win32 - so it must be set also for 32-bit builds.

Components: Framework

VK-GL-CTS Issue: 1950

Change-Id: I4d0e9f1a9c8dd0f3060e138f613c8e5326b6fc9f
(cherry picked from commit a653debe1b4bc8a6d0c94c774aad4f3fcdda1595)

4 years agoAdd support for building with Visual Studio 2019
Slawomir Cygan [Tue, 9 Jul 2019 10:19:26 +0000 (12:19 +0200)]
Add support for building with Visual Studio 2019

Components: Framework

Change-Id: I52c92750e9e2874b86fd7bceea0070ad609909c1
(cherry picked from commit cab8ce57b1400c6909a555973cb8393e1036e610)

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)

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