platform/upstream/VK-GL-CTS.git
3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Thu, 19 Nov 2020 07:56:58 +0000 (08:56 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: I8e412ddc6bb6f6544f158efdc9433eef1125ed3a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 19 Nov 2020 07:56:55 +0000 (08:56 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I99cfcc0f6ef06dd1119aa4215cf9e958b2c33f49

3 years agoFixes sparse resource SNORM tests
Matthew Netsch [Wed, 18 Nov 2020 23:02:11 +0000 (18:02 -0500)]
Fixes sparse resource SNORM tests

Tests verifies value out of range

Components: Vulkan
VK-GL-CTS Issue: 2598

Affects:
dEQP-VK.sparse_resources.image_sparse_binding.*snorm*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*snorm*

Change-Id: Id11addbc60c44ca7f20f86e11dbc7c833bbe7da7

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 18 Nov 2020 20:09:06 +0000 (21:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Iaa3c6741b9d7ad77eda048ec234c59e869263182

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 18 Nov 2020 16:30:12 +0000 (17:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I0ce2eae2a8a98a50d25e9e916dd0dde8e90e3288

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Wed, 18 Nov 2020 16:29:36 +0000 (17:29 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: Ie6ac4a6779ee2dd624590df63f152f661c089223

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Wed, 18 Nov 2020 16:29:36 +0000 (17:29 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I8f4da52990ac1b7ae96414375e9bea652ddbc7d8

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 18 Nov 2020 09:27:20 +0000 (10:27 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ie294402abe02966f55089430d9557b5f0bc80c5f

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Wed, 18 Nov 2020 09:27:18 +0000 (10:27 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Icda35a4b6ca926511422ec96c4675b9012973ef1

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Wed, 18 Nov 2020 08:24:34 +0000 (09:24 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: Ie1cf28bfe3f8dcb9d0714472bb60dfc098811716

3 years agoAdd external memeory tests for the VK_EXT_device_memory_report extension
Yiwei Zhang [Thu, 11 Jun 2020 22:31:10 +0000 (15:31 -0700)]
Add external memeory tests for the VK_EXT_device_memory_report extension

This test allocates an exportable memory and grabs the native handle
from it, then it imports the native handle twice, and verifies that the
allocate/free events are still emitted for the exportable memory as well
as verifying the proper timing of import/unimport events and the
correctness of all the callback data.

Components: Vulkan

VK-GL-CTS issue: 2266

New tests: dEQP-VK.memory.device_memory_report.external_memory.*

Change-Id: I42c08f775224735f65ceb4f3c8a77ea43d3a7ed3

3 years agoEnable random writes for storage images
Ricardo Garcia [Fri, 9 Oct 2020 09:36:44 +0000 (11:36 +0200)]
Enable random writes for storage images

This commit enables random writes in the descriptor set random tests for
descriptors of type VK_DESCRIPTOR_TYPE_STORAGE_IMAGE.

Affected tests:
dEQP-VK.binding_model.descriptorset_random.*lowimgnotex*
dEQP-VK.binding_model.descriptorset_random.*lowimgsingletex*
dEQP-VK.binding_model.descriptorset_random.*storageimghigh*

Components: Vulkan
VK-GL-CTS issue: 1973

Change-Id: Ibf49692a72641ab6ca752048d71926eb975316e1

3 years agoFix depth/stencil image logging in renderpass tests
Ricardo Garcia [Thu, 5 Nov 2020 13:37:32 +0000 (14:37 +0100)]
Fix depth/stencil image logging in renderpass tests

Renderpass tests checking results in depth/stencil images containing
both depth and stencil aspects attempt to log the depth/stencil image
when the test fails (but not when the test passes).

When the logging facilities log those depth/stencil images, they convert
them to an image set with two images in order to separate the depth and
stencil views. If this image set is logged as part of another image set
in the log, the logging facilities fail an assertion because image sets
cannot contain other image sets.

Affected tests (only on failures for depth/stencil formats):
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: 2642

Change-Id: I72ba603e3b42b34730f1f51234f0b6cd64f23da2

3 years agoFix initial layout of depth stencil attachment
ajerecze [Wed, 4 Nov 2020 10:11:08 +0000 (11:11 +0100)]
Fix initial layout of depth stencil attachment

This is a fix for regression introduced in 2e2e79bd.

The test was using the makeRenderpass utility from
framework/vulkan/vkObjUtil.cpp, however this utility was changed in 2e2e79bd to use
VK_IMAGE_LAYOUT_UNDEFINED as renderpass initial layout of depth stencil attachment,
while the image used in test is in VK_IMAGE_LAYOUT_UNDEFINED layout (not changed
since the image creation).

This commit changes dEQP-VK.imageless_framebuffer.depth_stencil to use makeRenderPass function
from vktImagelessFramebufferTests.cpp, rather than affected vkObjUtil.cpp utity.

(The makeRenderpass in vkObjUtil.cpp is shared with
dEQP-VK.pipeline.cache.graphics_tests.vertex_stage_fragment_stage test, which needed the change
from 2e2e79bd)

Component: Vulkan

VK-GL-CTS Issue: 2641

Affected tests:
dEQP-VK.imageless_framebuffer.depth_stencil

Change-Id: Id2ea5803cd010831db8f4f31b1d6b25dee051825

3 years agoFix tests dEQP-VK.draw.depth_clamp
Arkadiusz Sarwa [Fri, 30 Oct 2020 13:02:54 +0000 (14:02 +0100)]
Fix tests dEQP-VK.draw.depth_clamp

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

Components: Vulkan
VK-GL-CTS issue: 2638

Change-Id: I3dced361e7ea11f78bbea00a4609ebad73054d0e

3 years agoFix results-check for floating-point intermediate atomic operations
Liam Middlebrook [Fri, 23 Oct 2020 02:09:22 +0000 (19:09 -0700)]
Fix results-check for floating-point intermediate atomic operations

This commit fixes the results checking function for a set of tests that
verify atomic operations on floating-point formats. Previously when
compiled with GCC 4.8.4 the generated code would store incorrect values
into `resultValues[i]` rather than correctly interpreting the uint32_t
input data as a float and converting to a uint32_t before storing in
`resultValues[i]`.

Affects:
dEQP-VK.image.atomic_operations.add*r32f*
dEQP-VK.image.atomic_operations.exchange*r32f*

Components: Vulkan

VK-GL-CTS issue: 2632

Change-Id: I34e55d8ef109b5a14bda86d28821a0053c874546

3 years agoAvoid advertising disabled robustness2 features
Ricardo Garcia [Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)]
Avoid advertising disabled robustness2 features

Make sure getRobustness2FeaturesEXT does not advertise a feature as
enabled when, in fact, the feature has been disabled when creating the
default test device in the context. This is consistent with the behavior
that was in place for robustBufferAccess.

In addition, disable image robustness in the default device, to be
consistent with the existing behavior for robustness2 features and
robustBufferAccess.

This means robustness2 and image robustness tests needed to be modified
to stop relying on feature checks from the context, like using
getRobustness2FeaturesEXT, because those will now be reported as not
enabled. In other words, feature getters from the context report
features that are *enabled* on the default device, and not features that
are merely available.

In addition, make robustness2 and image robustness tests use separate
devices when enabling image robustness or robustness2 features, so as to
run image robustness tests without any robustness2 feature.

In addition, require and enable the scalar block layout feature, which
is used to compile every shader in this test group.

Affected tests:
dEQP-VK.robustness.robustness2.*
dEQP-VK.robustness.image_robustness.*

Components: Vulkan
VK-GL-CTS issue: 2634
VK-GL-CTS issue: 2643

Change-Id: I641c0f6f659a89bd12a36da175358d3edc2dfeae

3 years agoFix regressions in renderpass tests
Slawomir Cygan [Thu, 1 Oct 2020 14:14:14 +0000 (16:14 +0200)]
Fix regressions in renderpass tests

Regressions were introduced in 2e2e79bd:
- reintroduce 'shrink' loop in ALLOCATIONTYPE_GROW_SHRINK test type
- fix value VkDependencyFlags
- fix logic around checking and writing to "lastUseOfAttachment" variable
- add missing access flags to exisitng subpass dependencies

VK-GL-CTS Issue: 2605

Components: Vulkan

Affects: dEQP-VK.renderpass.suballocation.attachment_allocation.input_output.*

Change-Id: Ie19ac124340e40e529997ac67418a2531a4a0319

3 years agoTests for VK_KHR_shader_terminate_invocation
Alan Baker [Tue, 9 Jun 2020 19:18:31 +0000 (15:18 -0400)]
Tests for VK_KHR_shader_terminate_invocation

* Adds tests for the extension
* Adds more amber test feature checks

Components: Vulkan

VK-GL-CTS Issue: 2396

New Tests: dEQP-VK.spirv_assembly.instruction.terminate_invocation.*

Change-Id: I3ac8dfae88f2a4bd5ec03f8e3aa2b26097eb7190
(cherry picked from commit a00b458dc43edfd3ad1b93a181d3873aaca63f4b)

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 6 Nov 2020 11:29:19 +0000 (12:29 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I9c22545388a6bc7a6493bb1f7418536799c2ff57

3 years agoReset texture data to 0 after each 16 iterations to avoid overflow
Jianle Wang [Tue, 20 Oct 2020 02:31:48 +0000 (10:31 +0800)]
Reset texture data to 0 after each 16 iterations to avoid overflow

The default precision of int in the fragment shader is mediump. The fs_out_color
in GeometryShaderMaxCombinedTextureUnitsTest::m_fragment_shader_code_body will
overflow when the number of texture unit become large, since each texture data
is equal to index of the texture units.
So reset texture data to 0 after each 16 iterations to avoid the overflow.

Component: OpenGL

Affected tests: KHR-GLES31.core.geometry_shader.limits.max_combined_texture_units

VK-GL-CTS issue: 2622

Change-Id: Icc9f2ed77a5a1cf6f315605f5f1045a60a56396c
(cherry picked from commit ccb924af7b96ee3771ce25f6d31a0b243bbddee1)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Fri, 6 Nov 2020 09:33:37 +0000 (10:33 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: Ie044c7a20d5b6d4f303c2e88118295df3293eb5e

3 years agoframework: fix deinitSession when using waiver xml
Tapani Pälli [Tue, 27 Oct 2020 10:27:37 +0000 (12:27 +0200)]
framework: fix deinitSession when using waiver xml

Take numWaived in to account when considering if run was ok, patch also
add result.numWaived to the total number of tests, otherwise we hit
following assert when running with waiver:

cts-runner: glcTestRunner.cpp:829: Unknown function:
Assertion `result.numExecuted == result.numPassed + result.numFailed +
           result.numNotSupported + result.numWarnings' failed.

Components: Framework, OpenGL

VK-GL-CTS issue: 2631

Affects:
   cts-runner

Change-Id: Iac776fd1174e5461c455282cecca208f0322358d
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
3 years agoReset texture data to 0 after each 16 iterations to avoid overflow
Jianle Wang [Tue, 20 Oct 2020 02:31:48 +0000 (10:31 +0800)]
Reset texture data to 0 after each 16 iterations to avoid overflow

The default precision of int in the fragment shader is mediump. The fs_out_color
in GeometryShaderMaxCombinedTextureUnitsTest::m_fragment_shader_code_body will
overflow when the number of texture unit become large, since each texture data
is equal to index of the texture units.
So reset texture data to 0 after each 16 iterations to avoid the overflow.

Component: OpenGL

Affected tests: KHR-GLES31.core.geometry_shader.limits.max_combined_texture_units

VK-GL-CTS issue: 2622

Change-Id: Icc9f2ed77a5a1cf6f315605f5f1045a60a56396c

3 years agoUpdate Amber to fix Clang 11 build
Mika Väinölä [Mon, 26 Oct 2020 21:19:59 +0000 (23:19 +0200)]
Update Amber to fix Clang 11 build

Building Amber with Clang 11 failed due to -Werror and several
-Wsuggest-destructor-override warnings.

Affects: dEQP-VK.*

VK-GL-CTS issue: 2628

Change-Id: Ibae8dbc955d32bb50eb6f5c26cd62579bc6967dd

3 years agoFix multisample resolve compatibility tests
Ricardo Garcia [Fri, 30 Oct 2020 10:36:16 +0000 (11:36 +0100)]
Fix multisample resolve compatibility tests

Two render passes cannot be compatible if their multisample and resolve
attachments differ in the image format. However, the existing
multisample resolve compatibility tests break this rule.

Render pass compatibility rules do specify the attachment reference can
be different, and in particular this means one of the attachments can be
unused in one render pass and used in another. This fix takes advantage
of that to test render pass compatiblity.

Affected and new tests:
dEQP-VK.renderpass*.suballocation.multisample_resolve.*.compatibility_*

Components: Vulkan
VK-GL-CTS issue: 2629

Change-Id: I9a54f9a8ffc79f89d4b2dc2179b22acdba16aab5

3 years agoCreate debug report recorder earlier
Ricardo Garcia [Fri, 23 Oct 2020 10:18:22 +0000 (12:18 +0200)]
Create debug report recorder earlier

Change debug report recorder creation so it happens before the device is
created, so any error messages reported during device creation can be
properly reported.

This commit doesn't affect normal test runs, but it could be beneficial
to detect system setup problems.

Components: Vulkan
VK-GL-CTS issue: 2627

Change-Id: Iefe7c46e2a90673e8625a541f35fbfb35c1afd8d

3 years agoAdd tests for oob access in unexecuted shader paths
Mikko Tiusanen [Mon, 19 Oct 2020 15:03:50 +0000 (18:03 +0300)]
Add tests for oob access in unexecuted shader paths

Added tests for non-robust out of bounds buffer access in unexecuted
shader code paths.

New tests:

dEQP-VK.robustness.non_robust_buffer_access.*

Components: Vulkan

VK-GL-CTS issue: 2171

Change-Id: I43ec27225ed949964d1d9783745326ff7a4dd528

3 years agoAdd subpass self dependency test with a single attachment
Ari Suonpaa [Mon, 26 Oct 2020 06:03:05 +0000 (08:03 +0200)]
Add subpass self dependency test with a single attachment

This test replicates an issue seen in an app that behaves incorrectly
on a specific driver implementation. It uses a single attachment
referenced as both an input and an output. There is also alpha blending
enabled even though it has no effect in this particular test case.
This was needed to reproduce the original bug.

VK-GL-CTS Issue: 2597

New tests:

dEQP-VK.renderpass*.suballocation.subpass_dependencies.single_attachment.*

Components: Vulkan
Change-Id: Iaf79b3937dec4eebae1b6ad7ec035c1bdf05e811

3 years agoRe-enable cube.*.mag_filter.linear test
Alexander Galazin [Sat, 24 Oct 2020 08:37:17 +0000 (10:37 +0200)]
Re-enable cube.*.mag_filter.linear test

Should now work according to
https://gitlab.khronos.org/Tracker/vulkancts/-/issues/340#note_58553

Components: Vulkan
Affects: dEQP-VK.pipeline.sampler.view_type.cube.format.r5g6b5_unorm_pack16.mag_filter.linear

Change-Id: Iffca5cd79053d1e9874beb12c9fafd8edd1cb6a8

3 years agoAdd VkDeviceMemory tests for the VK_EXT_device_memory_report extension
Yiwei Zhang [Tue, 9 Jun 2020 04:01:09 +0000 (21:01 -0700)]
Add VkDeviceMemory tests for the VK_EXT_device_memory_report extension

This test allocates and frees VkDeviceMemory explicitly and verifies the
allocate/free/allocation_failed callback events are emitted at the
proper timing as well as verifying the correctness of the callback data.

Components: Vulkan

VK-GL-CTS issue: 2266

New tests: dEQP-VK.memory.device_memory_report.vk_device_memory.*

Change-Id: I96c7973452f512bf4d6f1c819bcf53eb0101b474

3 years agoPermit not flushing operands for FP16 DenormFlushToZero add, dot, vmulm
Andrea Faulds [Thu, 5 Nov 2020 15:35:51 +0000 (16:35 +0100)]
Permit not flushing operands for FP16 DenormFlushToZero add, dot, vmulm

Where `d` is a denormal value such that `2 * d` is not denormal:

- The F16 OpFAdd tests assumed (d + d) is zero when DenormFlushToZero is
  used. This is not true if the operands (d) are not flushed to zero by
  the implementation, which is allowed by the Vulkan specification.
- The F16 OpDot test assumed dot(vec2(d, d), vec2(1, 1)) is zero. Since
  that is equivalent to (d + d), it has the same problem as OpFAdd.
- The F16 OpVectorTimesMatrix test made the same assumption as the OpDot
  test but for both columns of a 2-by-2 matrix, with the same problem.

These tests are changed to accept `2 * d` as a valid result alongside
zero, such that they will pass both on implementations which flush
operands to zero and on implementations which only flush results to
zero.

Modified tests:

    dEQP-VK.spirv_assembly.instruction.*.float_controls.fp16.input_args.denorm_*flush_to_zero*
    dEQP-VK.spirv_assembly.instruction.compute.float_controls.independence_settings.denorm_ind_*_fp16_flush_*

VK-GL-CTS Issue: 2644

Components: Vulkan

Change-Id: I0ef4a57915e3bdab100f55f52d21913f87af4927

3 years agoAvoid using intersection shaders with triangles
Ricardo Garcia [Tue, 3 Nov 2020 13:55:51 +0000 (14:55 +0100)]
Avoid using intersection shaders with triangles

dEQP-VK.ray_tracing_pipeline.misc.mixedPrimTL used a single shader group to
handle both triangles and AABBs, which resulted in intersection shaders
being used for triangles, which is forbidden by the spec.

This fix creates two shader groups: one for AABBs and one for triangles, using
instanceShaderBindingTableRecordOffset to choose between both.

In addition, it fixes a validation error related to invalidating a mapped
memory range without using a multiple of nonCoherentAtomSize for the size.

Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.*

Components: Vulkan
VK-GL-CTS issue: 2637

Change-Id: I9d181d0646cef6ab23062ebfa1e035affce05237

3 years agoFix the winding order of triangle cubes in dEQP-VK.ray_tracing_pipeline.misc.*
Jason Ekstrand [Thu, 29 Oct 2020 21:48:46 +0000 (16:48 -0500)]
Fix the winding order of triangle cubes in dEQP-VK.ray_tracing_pipeline.misc.*

This changes all the faces to have right-handed normals that point into
the cube.  This fixes a couple of test failures on Intel.

Affected tests: dEQP-VK.ray_tracing_pipeline.misc.*

Components: Vulkan
VK-GL-CTS issue: 2636

Change-Id: I70028a236cbd46d63e236a2cc57657ee251ce288

3 years agoAvoid invalid hit kinds with OpReportIntersection
Ricardo Garcia [Tue, 3 Nov 2020 08:17:17 +0000 (09:17 +0100)]
Avoid invalid hit kinds with OpReportIntersection

OpReportIntersectionKHR accepts values in the [0, 127] range for the hit kind,
while gl_HitKindFrontFacingTriangleEXT or gl_HitKindBackFacingTriangleEXT are
reserved values outside that range and should not be used with
reportIntersectionEXT() in GLSL.

Affected tests:
dEQP-VK.ray_tracing_pipeline.builtin.*
dEQP-VK.ray_tracing_pipeline.memguarantee.*
dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*

Components: Vulkan
VK-GL-CTS issue: 2626

Change-Id: Ic69abbb53968036ab56ebad4a832485fbccd8fb5

3 years agoANGLE waiver for GLES XFB array element capture
Mika Väinölä [Tue, 25 Aug 2020 06:29:07 +0000 (09:29 +0300)]
ANGLE waiver for GLES XFB array element capture

Tests waived:

dEQP-GLES3.functional.transform_feedback.array_element.*
dEQP-GLES3.functional.transform_feedback.random.*
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*
KHR-GLES31.core.program_interface_query.transform-feedback-types

Components: OpenGL ES

VK-GL-CTS issue: 2237

Change-Id: I72be7800ced02423a4ac120e5d9ce581636a6a4f
(cherry picked from commit 96fbe712c585b5955b0363cada87ab62a6e4a72b)

3 years agoCheck images can use external host memory before creating them
Ricardo Garcia [Tue, 13 Oct 2020 11:17:49 +0000 (13:17 +0200)]
Check images can use external host memory before creating them

Call vkGetPhysicalDeviceImageFormatProperties2 before creating an image
with external host memory, to verify it's safe and the implementation
does not return VK_ERROR_FORMAT_NOT_SUPPORTED.

Affected tests:
dEQP-VK.memory.external_memory_host.*

Components: Vulkan
VK-GL-CTS issue: 2620

Change-Id: Ied982d4a8b61a7ad97bac8a096f1a2827a0c0f49

3 years agoFix descriptorCount for YCbCr-related tests
Andrew Fobel [Wed, 28 Oct 2020 19:41:58 +0000 (15:41 -0400)]
Fix descriptorCount for YCbCr-related tests

Certain YCbCr tests did not behave consistently with the Vulkan spec
when creating descriptor pools.
Tests now properly query combinedImageSamplerDescriptorCount to
correctly set pool size in the event of multiplane images.

Affects:

dEQP-VK.protected_memory.interaction.ycbcr.*
dEQP-VK.ycbcr.format.*
dEQP-VK.ycbcr.plane_view.*
dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS Issue: 2386

Change-Id: I8bb261a29c7e4ce82deced447767de915cee451a

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 2 Nov 2020 14:25:06 +0000 (15:25 +0100)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ibcd4bef05a3eb6ed0c9de70765e3f50a1549ba69

3 years agoUpdate glslang and deps for latest rebase
Daniel Koch [Tue, 27 Oct 2020 22:56:01 +0000 (18:56 -0400)]
Update glslang and deps for latest rebase

Also includes support for new ignoreIntersectionEXT and terminateRayEXT terminators
and updates affected shaders.

Component: Framework, Vulkan

Affected tests:
    dEQP-VK.ray_tracing_pipeline.*
    dEQP-VK.ray_query.*

Change-Id: I9114e0637fa3d4bac3afc6af5d02f573270eb709

3 years agoCheck large instanceCustomIndex values
Ricardo Garcia [Mon, 19 Oct 2020 15:40:35 +0000 (17:40 +0200)]
Check large instanceCustomIndex values

Add a new set of tests that check the value of the
InstanceCustomIndexKHR builtin from the closest-hit, intersection and
any-hit shaders correctly matches the instanceCustomIndex value when
creating instances. The tests use large values for instanceCustomIndex,
making sure the most-significant bit when represented as a 24-bit value
is a 1 and it's not incorrectly sign-extended by the implementation when
presented as the InstanceCustomIndexKHR builtin in shaders.

This value is combined with an all-ones mask in the highest bits of the
32-bit dword.

New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.instance_index.*

Affected tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*

Components: Vulkan
VK-GL-CTS issue: 2586

Change-Id: I2af85c9e2a2c78075502ab42db451651c21e0f1a

3 years agoTest invalid pInheritanceInfo for primary command buffers
Ricardo Garcia [Wed, 14 Oct 2020 10:48:48 +0000 (12:48 +0200)]
Test invalid pInheritanceInfo for primary command buffers

When beginning a primary command buffer, the pInheritanceInfo structure
member should be ignored according to the specification. This commit
introduces a few test that set pInheritanceInfo to different invalid
values to make sure they are being ignored.

New tests:
dEQP-VK.api.command_buffers.bad_inheritance_info_*

Components: Vulkan
VK-GL-CTS issue: 2616

Change-Id: Iabd6e82b080d8cc57476dc303f19374c1a833b04

3 years agoAdd array of images copy tests
Michal Pawlowski [Tue, 20 Oct 2020 05:53:04 +0000 (07:53 +0200)]
Add array of images copy tests

This commit adds image to image, image to buffer and buffer to image array of images copy tests.

New tests:

dEQP-VK.api.copy_and_blit.core.image_to_image.array.*
dEQP-VK.api.copy_and_blit.core.image_to_buffer.array
dEQP-VK.api.copy_and_blit.core.image_to_buffer.array_tightly_sized_buffer
dEQP-VK.api.copy_and_blit.core.buffer_to_image.array
dEQP-VK.api.copy_and_blit.core.buffer_to_image.array_tightly_sized_buffer

Components: Vulkan
VK-GL-CTS Issue: 2452

Change-Id: I1f9282af60c66e4e9cd1efe6c8c22b65acf9969d

3 years agoTest extended dynamic state vertex data offsets
Ricardo Garcia [Tue, 20 Oct 2020 12:52:17 +0000 (14:52 +0200)]
Test extended dynamic state vertex data offsets

The vkCmdBindVertexBuffers2EXT function allows API users to specify the
offset of vertex input data bindings inside vertex buffers as well as
vertex data sizes inside those buffers. Both parameters are related:
the sum of offset plus size must not be greater than the buffer size.

All extended dynamic state tests were using an offset of zero. This
commit adds new tests with nonzero offsets to check those parameters are
used correctly by the implementation.

New tests:
dEQP-VK.pipeline.extended_dynamic_state.*.stride_with_offset

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

Components: Vulkan
VK-GL-CTS issue: 2459

Change-Id: I6b00769395406ff03f01553c1ff1e48a8fc7d308

3 years agoAdd push constant lifetime tests
Michal Pawlowski [Wed, 5 Aug 2020 14:18:18 +0000 (16:18 +0200)]
Add push constant lifetime tests

This commit tries to clarify the push constant lifetime uncertainty.

Components: Vulkan

New tests:
dEQP-VK.pipeline.push_constant.lifetime.*

Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.*

VK-GL-CTS issue: 2393

Change-Id: I21a4b46ae1ce00caa67d72ab593ca456f5fa5da1

3 years agoFix alpha to one tests
Iago Toral Quiroga [Tue, 27 Oct 2020 11:24:52 +0000 (12:24 +0100)]
Fix alpha to one tests

The tests were not checking that alpha is actually set to one, which
apparently, would make the tests pass always, even if the driver
doesn't actually set alpha to one. I observed this behavior with two
different drivers.

Component: Vulkan
VK-GL-CTS Issue: 2630
Affects: dEQP-VK.pipeline.multisample.alpha_to_one.*
Change-Id: I9002464c4ae731b6c2855c76ae48329cd1acd43f

3 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Sun, 25 Oct 2020 17:01:49 +0000 (18:01 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Id1b01740cb67862f257cb668234cb760a15505df

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Sun, 25 Oct 2020 09:25:21 +0000 (10:25 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Ie3a7279296c9a1bec8e0711b0efcf0265ebad249

3 years agoNotice of withdrawal of Vulkan CTS 1.1.6.x
Alexander Galazin [Sat, 24 Oct 2020 08:27:56 +0000 (10:27 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.6.x

Components: Vulkan

Change-Id: I6f5df9b2b72c4838e0721a137eb9d43d314b83fe

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Fri, 23 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: I559614f2f74c3975eba31caa8025205eea5d0816

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Fri, 23 Oct 2020 15:30:46 +0000 (17:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I48eda80e9fcd03bb5d402e94b873cb536ffb53e7

3 years agoFix validation of DRM modifier compatibility with image properties
Varvara Poskonina [Fri, 23 Oct 2020 12:23:44 +0000 (14:23 +0200)]
Fix validation of DRM modifier compatibility with image properties

Vulkan spec states that in case of image creation with list of
DRM modifiers (VkImageDrmFormatModifierListCreateInfoEXT), each
of them must be compatible with the parameters in
VkImageCreateInfo and its pNext chain.

This change adds a mandatory check for modifier compatibility with
the specified image properties by querying
vkGetPhysicalDeviceImageFormatProperties in a place where it was
missing prior to the actual image creation.

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.create_list_modifiers.*

VK-GL-CTS Issue: 2611

Change-Id: Iab5deff6c8cbe6d2c510224322f7be91c7874acf

3 years agoUpdate KC CTS reference
Alexander Galazin [Fri, 23 Oct 2020 09:30:12 +0000 (11:30 +0200)]
Update KC CTS reference

Components: Framework

Change-Id: I733864e2e41aa6ec10a444a282b105aa39925ffd

3 years agoModify/add GLES XFB tests without element capture
Mika Väinölä [Tue, 29 Sep 2020 06:58:03 +0000 (09:58 +0300)]
Modify/add GLES XFB tests without element capture

Some GLES implementations are unable to support array elements as
transform feedback varyings. Capture the full array when element
capture is not explicitly tested. Add new variants for tests where
different types of varyings are tested at the same time.

New tests:

dEQP-GLES3.functional.transform_feedback.random_full_array_capture.*
KHR-GLES31.core.program_interface_query.transform-feedback-types-full-array-capture

Affects:

dEQP-GLES3.functional.transform_feedback.random.*
KHR-GLES31.core.shader_image_size.*
KHR-GLES31.core.vertex_attrib_binding.basic-input*

Components: OpenGL ES

VK-GL-CTS issue: 2237

Change-Id: Ib6164d89bc99f8ca8287dad7cc1e0789916e3256
(cherry picked from commit 8404b33c25c7f7cf5cd49a7c18c3a63b0f1f70ae)

3 years agoANGLE waiver for GLES XFB array element capture
Mika Väinölä [Tue, 25 Aug 2020 06:29:07 +0000 (09:29 +0300)]
ANGLE waiver for GLES XFB array element capture

Tests waived:

dEQP-GLES3.functional.transform_feedback.array_element.*
dEQP-GLES3.functional.transform_feedback.random.*
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*
KHR-GLES31.core.program_interface_query.transform-feedback-types

Components: OpenGL ES

VK-GL-CTS issue: 2237

Change-Id: I72be7800ced02423a4ac120e5d9ce581636a6a4f

3 years agoWaiver for wide-line attribute interpolation
Piotr Byszewski [Wed, 7 Oct 2020 09:35:55 +0000 (11:35 +0200)]
Waiver for wide-line attribute interpolation

Wide-line attribute interpolation tests recently added to
the mustpass list cannot be passed by any hardware that
Intel has ever shipped.

Components: OpenGL

Affects:
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide
dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide
dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide
dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide
dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide

VK-GL-CTS issue: 2601

Change-Id: I7508429613e0d8cde45d6e9d6b5d07f0b17f7753

3 years agoAdd support for waiver mechanism to cts-runner
Piotr Byszewski [Wed, 7 Oct 2020 14:27:02 +0000 (16:27 +0200)]
Add support for waiver mechanism to cts-runner

Affects: cts-runner

Change-Id: I147cbb49114386b939a6563a1b4b96f620310736
Components: Framework

3 years agoFix depth/stencil resolve compatibility tests
Samuel Iglesias Gonsálvez [Fri, 9 Oct 2020 08:47:31 +0000 (10:47 +0200)]
Fix depth/stencil resolve compatibility tests

This commit fixes validation errors related to the depth/stencil resolve
attachment, making them follow validation rules. Depth/stencil resolve
attachments must match in bit size and format with their multisample
counterparts, but they can remove aspects (depth or stencil) in the
resolve operation.

Some of the existing tests did not match these rules.

Removed tests:
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d16_unorm.compatibility_*
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.x8_d24_unorm_pack32.compatibility_*
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat.compatibility_*
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.s8_uint.compatibility_*

Affected tests:
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.*.compatibility_*

Components: Vulkan
VK-GL-CTS issue: 2596

Change-Id: Ifa8d3de9ca71d9c2889a86949014774d6879e537

3 years agoFix command buffer usage flags in dEQP-VK.query_pool.performance_query tests
ajerecze [Thu, 15 Oct 2020 09:56:47 +0000 (11:56 +0200)]
Fix command buffer usage flags in dEQP-VK.query_pool.performance_query tests

The test is resubmitting command buffer few times in a loop, however it
is using beginCommandBuffer utility function, which sets the command buffer usage flag to
VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT by default. This commit changes that to
0 (no flags).

Moreover, VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag is removed, as it seems
The submits are serialized by a fence.

Additionally replaced raw vkCmdBeginCommandBuffr with beginCommandBuffer for clarity.

Components: Vulkan

VK-GL-CTS Issue: 2617

Affects:
dEQP-VK.query_pool.performance_query.query*
dEQP-VK.query_pool.performance_query.multiple_pools*

Change-Id: Iff25e4cc715582710f3ed23367a7fd8f9a23b29e

3 years agoFix validation errors in AHB tests
Ari Suonpaa [Wed, 9 Sep 2020 11:27:26 +0000 (14:27 +0300)]
Fix validation errors in AHB tests

AHB protected memory tests were also removed as the test
tried to use protected memory without creating a device
and queue that would support protected operations.

VK-GL-CTS Issue: 2508

Affects:

dEQP-VK.api.external.memory.android_hardware_buffer.*

Components: Vulkan
Change-Id: I307e7450d06d20b6497f2a529e5724ae0538e5a9

3 years agoAdd create and destroy object tests for the VK_EXT_device_memory_report extension
Yiwei Zhang [Mon, 25 May 2020 22:32:49 +0000 (15:32 -0700)]
Add create and destroy object tests for the VK_EXT_device_memory_report extension

This test creates and destroys various kinds of Vulkan objects and
verifies that all the emitted callback events are properly paired.

Components: Vulkan

VK-GL-CTS issue: 2266

New tests: dEQP-VK.memory.device_memory_report.create_and_destroy_object.*

Change-Id: I1a3e83e1bfe6f89fbcc511e9b43facbddda79b60

3 years agoAdd tests for clamping of depth values
Mikko Tiusanen [Thu, 23 Jul 2020 15:18:21 +0000 (18:18 +0300)]
Add tests for clamping of depth values

Added tests for clamping of depth values.
Includes depth bias and VK_EXT_depth_range_unrestricted tests for formats
that can support it.

New tests:

dEQP-VK.draw.depth_clamp.*

Components: Vulkan

VK-GL-CTS issue: 2312

Change-Id: Id9b27146032d6e08cbc7362aff3fd64cc9ed2556

3 years agoImplement custom border color tests
Joshua Ashton [Fri, 17 Apr 2020 04:10:55 +0000 (05:10 +0100)]
Implement custom border color tests

New Tests:
dEQP-VK.pipeline.sampler.*.all_mode_clamp_to_border_custom_*

Components: Vulkan
Vulkan issue: 2088

Change-Id: I5b8b73147aad8b3398c9ba55577397b2224d3940

3 years agoAmend OpenGL/ES Conformance Submission Package Requirements
Alexander Galazin [Thu, 22 Oct 2020 11:04:14 +0000 (13:04 +0200)]
Amend OpenGL/ES Conformance Submission Package Requirements

The current practice is that all bugfixes should be merged
into the CTS repo before being used in a submission.
This change promotes this practices to a requirement.

Components: OpenGL

Change-Id: Id5e5782c0418cbedb0ca23b0abd06051021b63ec

3 years agoAmend Vulkan Conformance Submission Package Requirements
Alexander Galazin [Thu, 22 Oct 2020 10:50:23 +0000 (12:50 +0200)]
Amend Vulkan Conformance Submission Package Requirements

The current practice is that all bugfixes should be merged
into the CTS repo before being used in a submission.
This change promotes this practices to a requirement.

Compontents: Vulkan

Change-Id: I61eef5522aecf97a3d42c49777681eb671affe87

3 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Wed, 21 Oct 2020 19:39:37 +0000 (21:39 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: Ibedf80e7b25e227e5055531a308ef3a48095bb54

3 years agoSplits long shader in memory model tests
Matthew Netsch [Wed, 21 Oct 2020 19:46:27 +0000 (15:46 -0400)]
Splits long shader in memory model tests

Components: Vulkan
VK-GL-CTS Issue: 2625

Affects:
dEQP-VK.memory_model.*

Change-Id: I8478e268fa5988b015acd2dd70cd370bfc4c082c

3 years agoFix tests to work with pre-GL4 drivers
Ilia Mirkin [Sat, 1 Feb 2020 07:34:30 +0000 (02:34 -0500)]
Fix tests to work with pre-GL4 drivers

Components: OpenGL

Affects:
  KHR-GL33.cull_distance.*
  KHR-GL33.pipeline_statistics_query_tests_ARB.*
  KHR-GL33.gpu_shader5_gl.*
  KHR-GL33.transform_feedback.api_errors_test
(cherry picked from commit e14d294a7b773e90b350b41d4cc791ea01185b29)

Change-Id: Iab1400128c644214d224b6e15daf09dbfe88951f

3 years agoSupport Python3 as well in gen_release_info.py
Eric Werness [Fri, 16 Nov 2018 21:50:40 +0000 (13:50 -0800)]
Support Python3 as well in gen_release_info.py

The CMake file version check can end up picking python3 in some cases -
making the Python code compatible with python3 seems easier than
adjusting the version check.

Components: Frameworks
Change-Id: Iab37090ab813dcb7839490225ca2a4bf2f721c12
(cherry picked from commit f1bcdd5e9df1f83cc9dc4ef7235d3da16e9f7fab)
(cherry picked from commit 506598e19e7154d58b258f61f3b8a4cf5c87d0c5)

3 years agoUpdate vk.xml revision
Alexander Galazin [Wed, 7 Oct 2020 10:28:33 +0000 (12:28 +0200)]
Update vk.xml revision

Components: Vulkan
Affects: dEQP-VK.api.info.*extensions

Change-Id: I2f47f4dfdcb83a05712a268c1e1117dc8fb571f3

3 years agoReplace incorrect undefined->transfer-dst-opt layout transfers
Lionel Landwerlin [Sat, 26 Sep 2020 12:27:56 +0000 (15:27 +0300)]
Replace incorrect undefined->transfer-dst-opt layout transfers

The additional transfer from the UNDEFINED layout right after a clear
command seem incorrect, as they can have the effect of discarding the
previous command's effect on some implementations.

Put barriers in front of the clears using the same source & destination
layouts.

Affects:

dEQP-VK.api.image_clearing.core.clear_color_image.*

Components: Vulkan

VK-GL-CTS issue: 2603

Change-Id: I57377f12968f6ffd38ac017f874324cd4bfdf3e4

3 years agoAdd cube compat. to array image copy tests
Michal Pawlowski [Sun, 4 Oct 2020 04:47:07 +0000 (06:47 +0200)]
Add cube compat. to array image copy tests

This commit adds image to image cube compatible to 2d image array and vice versa copy tests.

VK-GL-CTS Issue: 2542

New tests:

dEQP-VK.api.copy_and_blit.core.image_to_image.cube.*

Change-Id: I37d191b05c70a74f5e659018aab4c73114fc250e
Components: Vulkan

3 years agoTests for pipeline laoyut early destroy
Mikko Tiusanen [Fri, 21 Aug 2020 09:55:51 +0000 (12:55 +0300)]
Tests for pipeline laoyut early destroy

Added tests that use the created graphics pipeline after destroying
the pipeline layout used to create them.

New tests:
dEQP-VK.pipeline.early_destroy.no_cache_destroy_layout
dEQP-VK.pipeline.early_destroy.cache_destroy_layout

Affects:
dEQP-VK.pipeline.early_destroy.*

Components: Vulkan

VK-GL-CTS issue: 2362

Change-Id: Ib296b2834ea7c31891532e5c8e7102f30acc000f

3 years agoFixes cubic filter copy and blt tests
Matthew Netsch [Wed, 14 Oct 2020 20:51:51 +0000 (16:51 -0400)]
Fixes cubic filter copy and blt tests

Only 2D is supported per spec

Components: Vulkan
VK-GL-CTS Issue: 2600

Affects:
dEQP-VK.api.copy_and_blit.*3d*

Change-Id: I145ec2bf638c497e08f85b328c3e39bf6ee5c636

3 years agoFix broken layout binding tests
Timothy Arceri [Thu, 30 Apr 2020 07:31:13 +0000 (17:31 +1000)]
Fix broken layout binding tests

Some of the shaders being generated contain a misplaced ;

An example of the code being gererated is as follows:

  fragColor = vec4(float(atomicCounter(atomic0)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic1)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic2)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic3)), 1.0, 0.0, 1.0);

Affects:

KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*

Components: OpenGL

VK-GL-CTS issue: 2348

Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354
(cherry picked from commit 64d344b60bb7b4324525e08766fdeb14bf1f18c6)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Fri, 9 Oct 2020 15:32:21 +0000 (17:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: Id859c0fcaa52f04154e5686ec8a9659c75635ad2

3 years agoFix some egl robustness tests
Timothy Arceri [Sun, 3 May 2020 05:57:02 +0000 (15:57 +1000)]
Fix some egl robustness tests

Because the values of color were initially undefined an optimised
compiler can simply set all components of the vector to the value
being assigned to color[u_index] and eventually eliminate color and
u_index completely.

To avoid this we initialise color.

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders*

Components: OpenGL
VK-GL-CTS issue: 2349

Change-Id: I6eb929eec07b039afb247427af91aba65dbade9b
(cherry picked from commit 4392facc87c2da80b5065f8663b9303fb1113e16)

3 years agoAllow Vulkan CTS 1.2.4.1
Alexander Galazin [Fri, 9 Oct 2020 10:17:53 +0000 (12:17 +0200)]
Allow Vulkan CTS 1.2.4.1

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I2bef3f7c8fb106ce98d450383d3f9cec7facd800

3 years agoModify/add GLES XFB tests without element capture
Mika Väinölä [Tue, 29 Sep 2020 06:58:03 +0000 (09:58 +0300)]
Modify/add GLES XFB tests without element capture

Some GLES implementations are unable to support array elements as
transform feedback varyings. Capture the full array when element
capture is not explicitly tested. Add new variants for tests where
different types of varyings are tested at the same time.

New tests:

dEQP-GLES3.functional.transform_feedback.random_full_array_capture.*
KHR-GLES31.core.program_interface_query.transform-feedback-types-full-array-capture

Affects:

dEQP-GLES3.functional.transform_feedback.random.*
KHR-GLES31.core.shader_image_size.*
KHR-GLES31.core.vertex_attrib_binding.basic-input*

Components: OpenGL ES

VK-GL-CTS issue: 2237

Change-Id: Ib6164d89bc99f8ca8287dad7cc1e0789916e3256

3 years agoAdd a batch of GraphicsFuzz tests
Alastair Donaldson [Wed, 16 Sep 2020 20:37:51 +0000 (21:37 +0100)]
Add a batch of GraphicsFuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.spv-double-branch-to-same-block
dEQP-VK.graphicsfuzz.spv-double-branch-to-same-block2
dEQP-VK.graphicsfuzz.spv-double-branch-to-same-block3
dEQP-VK.graphicsfuzz.spv-load-from-frag-color

Change-Id: I8da268adc32c75e2cc78feb4c23040264b503e66

3 years agoFix wrong access flag for depth/stencil resolve
Samuel Iglesias Gonsálvez [Tue, 22 Sep 2020 15:28:43 +0000 (17:28 +0200)]
Fix wrong access flag for depth/stencil resolve

According to the spec:

"End-of-subpass multisample resolves are treated as color attachment
writes for the purposes of synchronization."

Affects: dEQP-VK.renderpass2.depth_stencil_resolve.*

Component: Vulkan
VK-GL-CTS issue: 2593

Change-Id: I055049fffc0fd4bdbd162c4468cf80ff0c5ca373

3 years agoFix wsi tests using disallowed image usage
Lionel Landwerlin [Wed, 30 Sep 2020 15:19:27 +0000 (18:19 +0300)]
Fix wsi tests using disallowed image usage

Even though STORAGE usage might be reported by
VkSurfaceCapabilitiesKHR::supportedUsageFlags, an application should
always verify whether for a given format the STORAGE usage is
supported through vkGetPhysicalDeviceImageFormatProperties().

This also fixes validation layer warnings
(VUID-VkSwapchainCreateInfoKHR-imageFormat-01778).

Affects:
dEQP-VK.wsi.*.swapchain.simulate_oom.image_usage

Components: Vulkan

VK-GL-CTS issue: 2602

Change-Id: I21a5faff6206bdeaf6ecd5d8c8024d17965db548

3 years agoOutput depth image in case of failure
Samuel Iglesias Gonsálvez [Thu, 24 Sep 2020 10:15:23 +0000 (12:15 +0200)]
Output depth image in case of failure

Affects:

   dEQP-VK.draw.inverted_depth_ranges.*

Components: Vulkan
VK-GL-CTS issue: 2446

Change-Id: Ic60c321d8889638af71e5ed4828bfcd007a7e8f3

3 years agoCheck SparseResidency flag before OpImageSparseRead
Karolina Palka [Thu, 24 Sep 2020 14:49:29 +0000 (16:49 +0200)]
Check SparseResidency flag before OpImageSparseRead

This patch adds check if SpvCapabilitySparseResidency
is supported before doing SpvOpImageSparseRead

Affects:
dEQP-VK.image.mismatched_formats.sparse_image_read.*

Components: Vulkan

VK-GL-CTS issue: 2591

Change-Id: I98852842285d4df9008e7e2403a4680c81b6a9f1

3 years agoFix validation of DRM modifier compatibility with image properties
Varvara Poskonina [Wed, 7 Oct 2020 13:33:57 +0000 (15:33 +0200)]
Fix validation of DRM modifier compatibility with image properties

Vulkan spec states that in case of image creation with list of
DRM modifiers (VkImageDrmFormatModifierListCreateInfoEXT), each
of them must be compatible with the parameters in
VkImageCreateInfo and its pNext chain.

This change adds a mandatory check for modifier compatibility with
the specified image properties by querying
vkGetPhysicalDeviceImageFormatProperties in a place where it was
missing prior to the actual image creation.

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.create_list_modifiers.*

VK-GL-CTS Issue: 2611

Change-Id: Iab5deff6c8cbe6d2c510224322f7be91c7874acf

3 years agoFix result checking of output location tests
Ari Suonpaa [Tue, 18 Aug 2020 12:45:29 +0000 (15:45 +0300)]
Fix result checking of output location tests

Output location tests were expecting bit accurate results
when comparing to reference values. However some of the
tests use lowp or mediump precision.  This change adds
some tolerance for the result checking. Also lowp variants
are removed as they acted identically to mediump ones.

VK-GL-CTS Issue: 2513
VK-GL-CTS Issue: 2510
VK-GL-CTS Issue: 2550

Affects:

dEQP-VK.draw.output_location.*

Components: Vulkan
Change-Id: Ic7b96a5b5be441cd78a0e50be5fcf86308c80652

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 5 Oct 2020 07:43:21 +0000 (09:43 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I476905a4d715e98b3499efe83fb0861f2f1e4a57

3 years agoNotice of withdrawal of Vulkan CTS 1.2.0.x
Alexander Galazin [Sat, 3 Oct 2020 08:45:05 +0000 (10:45 +0200)]
Notice of withdrawal of Vulkan CTS 1.2.0.x

Components: Vulkan

Change-Id: Iecc87a7a4ea482e7a0be102c1b11e72dce5f10d6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
Alexander Galazin [Fri, 2 Oct 2020 16:32:58 +0000 (18:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master

Change-Id: Icdd0f8c4935129168a8bf7d1607fc26a7fac9e32

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Fri, 2 Oct 2020 15:13:01 +0000 (17:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I0260b62c60b55364b6b0777c70ce605d36bda861

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 2 Oct 2020 11:29:44 +0000 (13:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ie884684e771f567171331f327cd6fa13f15c1fb3

3 years agoFix result checking of output location tests
Ari Suonpaa [Tue, 18 Aug 2020 12:45:29 +0000 (15:45 +0300)]
Fix result checking of output location tests

Output location tests were expecting bit accurate results
when comparing to reference values. However some of the
tests use lowp or mediump precision.  This change adds
some tolerance for the result checking. Also lowp variants
are removed as they acted identically to mediump ones.

VK-GL-CTS Issue: 2513
VK-GL-CTS Issue: 2510
VK-GL-CTS Issue: 2550

Affects:

dEQP-VK.draw.output_location.*

Components: Vulkan
Change-Id: I3d48832f3818431332421172ef97f4900e2679ed

3 years agoExperimental crash postmortem use-after-free test
Ralph Potter [Mon, 20 Jul 2020 10:07:48 +0000 (11:07 +0100)]
Experimental crash postmortem use-after-free test

Adds a tests to deliberately free a buffer before executing a compute
shader that accesses it for the purposes of deliberately triggering
device-loss.

This test is intended for experimental/investigative use by the crash
postmortem TSG, is expected to fail, and should not be included in
mustpass lists.

Added Tests:

dEQP-VK-experimental.postmortem.use_after_free.*

Components: Vulkan

Vulkan issue: 2255

Change-Id: Icb7f47a37e864932044343493057ef4882473b94

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 2 Oct 2020 10:35:42 +0000 (12:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I2104e27164b15d2f66896b1c1c4f188fe8df83e4

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 2 Oct 2020 09:58:50 +0000 (11:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: Ia15f227ae78f00e0d142f0b2ce3d966d10a09cab

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 2 Oct 2020 09:15:55 +0000 (11:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I4c86e4fe92acca4c4260ab43a492ace9f527f986

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 1 Oct 2020 11:24:44 +0000 (13:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Id37d7b8198e8d5867e4b802e638eb1e0010c2351

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 1 Oct 2020 10:02:06 +0000 (12:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I840b7caa71134a32ba49b484b716b97c31ace9ee

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 1 Oct 2020 08:57:05 +0000 (10:57 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I04485faa2b85d5af689da6143b130e3c92bd9253

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 1 Oct 2020 07:43:39 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ic81486b5b158f0edf964d29a6e084a9c6e2dee00