platform/upstream/VK-GL-CTS.git
4 years agoFix undersized buffer use in extend operands tests
Reed Koser [Thu, 5 Sep 2019 20:48:11 +0000 (13:48 -0700)]
Fix undersized buffer use in extend operands tests

Prior to this patch, the dEQP.image.extend_operands_spirv1p4.* tests
used the size of the input image as the buffer size. Since the tests
reuse the buffer to read back the output image (which is potentially
much larger, due to the unconditional use of R32G32B32A32_*INT formats),
this resulted in corruption of device memory.

Affects: dEQP-VK.image.extend_operands_spirv1p4.*

Components: Vulkan

VK-GL-CTS issue: 1980

Change-Id: I8d07cd7d54cc305635b9674074a7eafa52bf6dfa
(cherry picked from commit b38bedda7faf25272716ee234812d432637972e3)

4 years agoRemove input blocks from SPIR-V 1.4 compute shaders
Alan Baker [Tue, 3 Sep 2019 15:01:57 +0000 (11:01 -0400)]
Remove input blocks from SPIR-V 1.4 compute shaders

Split input blocks in compute shaders into flat variables.

Component: Vulkan

VK-GL-CTS Issue: 1967

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.ssbo_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.wg_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.ssbo_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.wg_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.ssbo_comparisons_diff
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.wg_comparisons_diff

Change-Id: I228583843148e36a33d7f469cb90f628eb432c37
(cherry picked from commit b976f5430158a62e03fe46500e25133e7a6113f2)

4 years agoFix check support for (Sign|Zero)Extend tests
Piotr Byszewski [Mon, 2 Sep 2019 10:59:03 +0000 (12:59 +0200)]
Fix check support for (Sign|Zero)Extend tests

Components: Vulkan

Affects:
dEQP-VK.image.extend_operands_spirv1p4.*

Change-Id: I5c546afcfdc533957fbb7d78a0a98f8845a56a1b
(cherry picked from commit aa2226758650dee8239d0b36035c41b65ec1382d)

4 years agoTest SPIR-V 1.4 SignExtend and ZeroExtend
Piotr Byszewski [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Test SPIR-V 1.4 SignExtend and ZeroExtend

SPIR-V 1.4 has 2 new extra image operands (SignExtend and ZeroExtend)
indicating if the resulting texel of the operation should be sign
or zero extended.

Components: Vulkan

Affects:
dEQP-VK.image.extend_operands_spirv1p4.*

Change-Id: Ie0ca0125d4f536c318428fc95ebaf000c3f7136f
(cherry picked from commit 6c4f066ef6aac566e8ec400e4343de86a089143c)

4 years agoAllow tests to be executed with SPIR-V 1.4
Victor Lomuller [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Allow tests to be executed with SPIR-V 1.4

Components: Framework

Change-Id: I3135d7b0d96234bec53bbc4ec0185f4c816a5dcf
(cherry picked from commit 9b4c4d1645edb2e09d8357fa62b810df5ba3b9ec)

4 years agoAllow optimization for SPIR-V 1.4
Boris Zanin [Mon, 27 May 2019 11:07:02 +0000 (13:07 +0200)]
Allow optimization for SPIR-V 1.4

This commit updates function optimizeCompiledBinary with
missing optimization reciepe for SPIR-V 1.4.

Also makes supports_VK_KHR_spirv_1_4 as an optional argument of
SpirVAsmBuildOptions constructor, though defaulting it to disable
support of SPIR-V 1.4.

The change affects if run with optimization command line arguments,
i.e. --deqp-optimize-spirv=enable and --deqp-optimization-recipe=!0

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

Components: Framework

VK-GL-CTS issue: 1636

Change-Id: If0af53ea37521e686ca7d422cab9589cc0460dc5
(cherry picked from commit b0d7da5045419b469a45c766194da1f0e026e824)

4 years agoHandle spir-v 1.4 in SpvAsmUtils
Piotr Byszewski [Mon, 22 Jul 2019 09:21:01 +0000 (11:21 +0200)]
Handle spir-v 1.4 in SpvAsmUtils

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.*

Change-Id: Ib960d1c4786c44c5c30ef9b4080e315681cb80aa
(cherry picked from commit 72cf3abff6b587712e27f38bdabf4927900c51b1)

4 years agoExtra tests for SPIR-V 1.4
Alan Baker [Thu, 20 Jun 2019 17:46:57 +0000 (13:46 -0400)]
Extra tests for SPIR-V 1.4

New tests
 * OpPtrEqual and OpPtrNotEqual comparisons against different buffers
 * NonWritable on a function variable in a non-entrypoint function
 * Select between arrays
 * Select between nested arrays and structs
 * Select between pointers
 * Selet between vectors with vector condition

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*

VK-GL-CTS issue: 1855

Change-Id: Ie49d7a914cd7346d7da83d02f515a2772ae5bf94
(cherry picked from commit fbd39ed4f897735c22bb3472c18eed7756a476bb)

4 years agoAdd more SPIR-V 1.4 tests based on Amber
David Neto [Wed, 27 Mar 2019 00:45:28 +0000 (20:45 -0400)]
Add more SPIR-V 1.4 tests based on Amber

Tests:
- New instructions: OpPtrDiff, OpPtrEqual, OpPtrNotEqual,
  OpDecorateString
- New decorations: UniformId, NonWritable, UserSemantic, CounterBuffer,
  NoSignedWrap, NoUnsignedWrap
- OpCopyMemory can have two sets of memory access operands
- OpEntryPoint lists all module-scope variables
- New loop controls
- New cases for OpSelect
- UConvert in OpSpecConstantOp for Shader modules

Local fixes:
- Update Amber to newer version that handles push constants.
  With MSVC, force Amber to use shared C Runtime DLL
- Modified the entrypoint tessellation control and evaluation tests to
  set TessLevelInner and TessLevelOuter.
- Modified the tessellation control tests to fix typos and apply Patch
  decoration.
- Artificially make all values within a buffer the same type, to
  accommodate a new Amber limitation.
  See https://github.com/google/amber/issues/497
- Loop control tests:
  - Reduce iteration count to match sample data, adjust loop control
  values
  - Make loop control match test file name
  - Use int data instead of float, so we can read int iteration count
    from storage.
  - Fix comment on all loop control tests
- Use StorageBuffer/Block instead of Uniform/BufferBlock
- Modify to use binding 0:
   comp_pc_entry_point.amber,
   wg_comparisons_equal.amber
   wg_comparisons_not_equal.amber
- Fix typo for TessLevelOuter builtin
- Fix method name on call to vkt::Context::getVariablePointersFeatures
- Fix whitespace issues in C++ code
- variable_pointers_vars_ssbo_2_diff.amber only needs
  VariablePointersStorageBuffer
- Fetch newer amber, fixing invalid requirement for fragment shader
  https://github.com/google/amber/issues/553

Extend vkt::AmberTestCase so it can track instance extensions, device
extensions, and feature bits.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.loop_control.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopymemory.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uconvert.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uniformid.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.wrap.*

VK-GL-CTS issue: 1705

Change-Id: I1e0adde2258a4c5a313609f7f1d7b2b51be1a373
(cherry picked from commit 94804dca849178b5e222d9d9d53a2a54fd21e8a3)

4 years agoFix same_struct_two_ids amber test
Boris Zanin [Wed, 12 Jun 2019 10:29:26 +0000 (12:29 +0200)]
Fix same_struct_two_ids amber test

Due to 1.4 has removed some features and the test mentioned below
requires SPIR-V 1.4 the test fails with InternalError reporting:

    2nd operand of Decorate: operand BufferBlock(3) requires SPIR-V
    version 1.3 or earlier.

Replace BufferBlock with Block and use StorageBuffer instead of Uniform.

Updates:
 * dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.same_struct_two_ids

Components: Framework

VK-GL-CTS issue: 1817

Change-Id: Ia80923fc6f717729712017904773c015c17168ec
(cherry picked from commit facb3d6815f678c7d25d25919fca7e33cea931df)

4 years agoAdd VK_KHR_spirv_1_4 OpCopyLogical tests
David Neto [Sat, 2 Mar 2019 18:03:38 +0000 (13:03 -0500)]
Add VK_KHR_spirv_1_4 OpCopyLogical tests

Requires a version of Amber that knows how to check a recipe's instance and
device extensions.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.*

VK-GL-CTS issue: 1637

Change-Id: I19e91470e66a10b6809654aae81a507dc15ac948
(cherry picked from commit 4d7ed7d89ba8214eab1d740bbcf8a219d6a13b91)

4 years agoVK_KHR_spirv_1_4 enables SPIR-V 1.4 modules
David Neto [Fri, 29 Mar 2019 15:23:49 +0000 (11:23 -0400)]
VK_KHR_spirv_1_4 enables SPIR-V 1.4 modules

In Vulkan 1.1, VK_KHR_spirv_1_4 enables SPIR-V 1.4 modules for assembly
and validation.  This is true even if the underlying Vulkan version doesn't
natively support SPIR-V 1.4.

Deprecates vk::getMaxSpirvVersionForGlsl and vk::getMaxSpirvVersionForAsm
in favour of unified vk::getMaxSpirvVersionForVulkan.

Components: Vulkan

VK-GL-CTS issue: 1712, 1711

Change-Id: I850ab4ec3a0d88485e838d4263d751b2d6e18c08
(cherry picked from commit a7db98c20a6dd4e2366e4fc3ddd368a1fa08b98e)
(cherry picked from commit 0d79d48c0d39989393062af77b475771bba97f80)

4 years agoUpdate vulkan_core.h
Alexander Galazin [Thu, 10 Oct 2019 09:20:16 +0000 (11:20 +0200)]
Update vulkan_core.h

Components: Vulkan

Change-Id: Ibcc182d94ae731ab7bd396d450705f6d4f4b8b8e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Thu, 10 Oct 2019 11:23:47 +0000 (13:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I1a867149d7386c7820597e092d2f04f2d7395f46

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 10 Oct 2019 11:21:55 +0000 (13:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I288a90fcda0d3cbd7fbb1f8d622dee03f6b74f62

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 10 Oct 2019 09:38:02 +0000 (11:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I45e2e3c52d89424f714c43c76fc2dd9aea2a793d

4 years agoEnable explicit_lod tests
Alexander Galazin [Tue, 26 Mar 2019 12:32:57 +0000 (13:32 +0100)]
Enable explicit_lod tests

Updates filtering precision to 7 fractional bits
for sample in the case if the normal
filtering precision for 16 bit float texture fails.

VK-GL-CTS issue: 2009
Affects: dEQP-VK.texture.explicit_lod.*

Components: Vulkan

Change-Id: Idb6892686805145bcbdb5e520ca6fade58317a13

4 years agoAdd feature requirements to existing amber files
Chris Forbes [Wed, 25 Sep 2019 23:51:40 +0000 (16:51 -0700)]
Add feature requirements to existing amber files

Updates the amber files themselves to mirror the constraints enforced on the C++ side.

Components: Vulkan
Change-Id: I698a39732b02cb99fe1aeb369f1054ac9a769bfb
VK-GL-CTS: 1965

4 years agoAdd variable pointers requirement for vktSpvAsmPtrAccessChainTests
Chris Forbes [Thu, 29 Aug 2019 04:31:39 +0000 (21:31 -0700)]
Add variable pointers requirement for vktSpvAsmPtrAccessChainTests

These tests did not check for the variablePointers feature they need.

Components: Vulkan

VK-GL-CTS Issue: 1965

Affects: dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*

Change-Id: Ied75a1c5661755549cc599b2397a18345bc727f9

4 years agoFix buffer alignment in dynamic offset tests
Ricardo Garcia [Thu, 3 Oct 2019 08:51:00 +0000 (10:51 +0200)]
Fix buffer alignment in dynamic offset tests

The compute dynamic offset tests were using uniform or storage buffers
as input, depending on the test, while always using storage buffers as
output. Alignment requirements, however, were always being taken from
the input buffers, which could be wrong for the output buffer.

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

Components: Vulkan
VK-GL-CTS issue: 1746

Change-Id: Idb503139a5107959ebdfee27ad36ae86eb306cf7

4 years agoFix broadcastFirst tests
Graeme Leese [Wed, 11 Sep 2019 12:40:06 +0000 (13:40 +0100)]
Fix broadcastFirst tests

Half of each broadcastFirst test was broken and not providing any useful
coverage. This fixes the tests to do what they were originally intended
to do.

Components: Vulkan
VK-GL-CTS issue: 1991
Affects: dEQP-VK.subgroups.ballot_broadcast.*.subgroupbroadcastfirst_*

Change-Id: I60bbfc9469cd71506aa913e09202393621c33bff

4 years agoFixes VS num instances assumption
Matthew Netsch [Fri, 4 Oct 2019 21:09:39 +0000 (17:09 -0400)]
Fixes VS num instances assumption

Components: Vulkan
VK-GL-CTS Issue: 2022

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

Change-Id: Ie1d784733774ae357698cf8a5672fcccdb0c1e1e

4 years agoUpdate SPIR-V Tools
Alexander Galazin [Wed, 9 Oct 2019 19:46:15 +0000 (21:46 +0200)]
Update SPIR-V Tools

Components: Framework

Affects: dEQP-VK.*

Change-Id: I84a18fe6c29279f7acce7b081300475f83e76c80

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Wed, 9 Oct 2019 08:22:19 +0000 (10:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I3a4370f43b25316f8cf4abf013eb08d0831dca91

4 years agoAdd pipeline derivatives to compute subgroup tests
Samuel Iglesias Gonsálvez [Fri, 27 Sep 2019 09:43:10 +0000 (11:43 +0200)]
Add pipeline derivatives to compute subgroup tests

Affected tests:

   dEQP-VK.subgroups.*compute*

Components: Vulkan
VK-GL-CTS issue: 2019
Change-Id: I8b4b52945e32d488fc986687e0ba4d6d5676d584

Change-Id: Ib9aadba5d74daea5f9679b006ec1efa093174dd8

4 years agoTest all quad broadcasts in one test
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Test all quad broadcasts in one test

Make them like the full-subgroup broadcast tests, rather than having a
separate test for broadcasting from each lane index.

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

(Tests are also renamed to remove the lane ID from the test name)

Change-Id: I1c22b9683acdce0c37b8a3fba3cae620e2d06adf

4 years agoUse a single test source for quad tests
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Use a single test source for quad tests

Rather than repeat this through all the various combinations, just keep
one copy of the test source, so that changing it is not such a massive
pain.

Also, use a single source for the extension enables in the tests.

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

Change-Id: I26ca2b035483aa47e021de7aefb3c94879c497d0

4 years agoRemove unnecessary initializers
Alexander Galazin [Wed, 9 Oct 2019 07:12:17 +0000 (09:12 +0200)]
Remove unnecessary initializers

Components: Vulkan

Affects: dEQP-VK.glsl.shader_clock.*

Change-Id: I4526c05cdd5464f26450bba67f573b467881f4ff

4 years agoCheck timeline semaphore features only when used.
Igor Ostrowski [Thu, 26 Sep 2019 13:09:28 +0000 (15:09 +0200)]
Check timeline semaphore features only when used.

Affects:
dEQP-VK.synchronization.op.multi_queue.*

Components: Vulkan
VK-GL-CTS issue: 2025

Change-Id: I8c586bcb0199ab00fe6fffb9290abd2b06523916
(cherry picked from commit c20bf2e3023cb209ae3ec04b6e6339f8c3930dfb)

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 8 Oct 2019 17:28:47 +0000 (19:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I44be4e273707047428a95e8243734259c859fe0a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Tue, 8 Oct 2019 14:24:57 +0000 (16:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ifd05cb161b5f393a1d5539f18a1d521482a2039f

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

4 years agodEQP-VK.graphicsfuzz.unreachable-continue-statement
Venni Ihanakangas [Mon, 30 Sep 2019 09:28:14 +0000 (12:28 +0300)]
dEQP-VK.graphicsfuzz.unreachable-continue-statement

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.unreachable-continue-statement

Change-Id: Ic74b02597a27ad0c433675698035d3d5be35092a

4 years agoDon't check color outcome for tests that expect undefined behaviour
Alejandro Piñeiro [Thu, 26 Sep 2019 09:55:49 +0000 (11:55 +0200)]
Don't check color outcome for tests that expect undefined behaviour

draw_indirect.misc-reservedMustBeZero-elements and its arrays
equivalent for both OpenGL and OpenGL ES tests the following paragraph
from the spec:

  "Results are undefined if reservedMustBeZero is non-zero, but must
   not lead to GL interruption or termination."

So it should check if there is no errors or crashes. But right now
those tests are also expecting a given color, that doesn't make sense
if the expected behaviour by spec is undefined.

This seems a C&P error from other tests.

Components: OpenGL, OpenGL ES

VK-GL-CTS issue: 2023

Affects:
KHR-GL41.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL41.draw_indirect.misc-reservedMustBeZero-elements
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-elements

Change-Id: I3e9a5d04893eec9359b55ea6c5130e940c943cf2

4 years agoGL43: Use zero for DrawArraysIndirectCommand reserved field
Alejandro Piñeiro [Thu, 26 Sep 2019 09:29:42 +0000 (11:29 +0200)]
GL43: Use zero for DrawArraysIndirectCommand reserved field

The test negative-gshIncompatible-arrays is using a non-zero value for
the DrawArraysIndirectCommand reserved field, but quoting its Title,
Purpose and Method:

 "Negative: incompatible the input primitive type of gsh - glDrawArrayIndirect";

 "Verify that a driver sets error and no driver crash occurred";

 "1. Bind non-zero buffer"
 "2. Set data"
 "3. Set wrong geometry shader"
 "4. Call glDrawArrayIndirect"

Testing non-zero values for the reserved field is not one of its
objectives. This seems a C&P error.

Components: OpenGL

VK-GL-CTS issue: 2023

Affects:
KHR-GL43.draw_indirect.negative-gshIncompatible-arrays

Change-Id: I8f0676b3a82266fa41becdfb720b04893720b6fc

4 years agoFix random bool generation in GL subgroup tests
Graeme Leese [Wed, 18 Sep 2019 10:48:16 +0000 (11:48 +0100)]
Fix random bool generation in GL subgroup tests

This is a port of https://gerrit.khronos.org/c/4594/ to the GL version
of the subgroups tests.

Components: OpenGL
VK-GL-CTS issue: 1998
Affects: KHR-Single-*.subgroups.*_bool*
         KHR-Single-*.subgroups.*_bvec*

Change-Id: I89e9e6bca667043f32ee2698064b16b7dbd2e4a0

4 years agoTrivial changes to shader code formatting
Graeme Leese [Tue, 1 Oct 2019 16:43:35 +0000 (17:43 +0100)]
Trivial changes to shader code formatting

These changes should have no functional effect (they're mostly in
comments), but they mess the bracket matching of my editor up.

Components: Vulkan

Change-Id: I306af082b7e839a53c9064cc6385ca8905c91a12

4 years agoWhitelist newly supported VK_KHR* extensions in CTS 1.1.5
Piers Daniell [Fri, 4 Oct 2019 21:15:21 +0000 (15:15 -0600)]
Whitelist newly supported VK_KHR* extensions in CTS 1.1.5

The following extensions are now supported by
vulkan-cts-1.1.5.2:
 - VK_KHR_timeline_semaphore
 - VK_KHR_shader_clock

Affects:

dEQP-VK.api.info.device.extensions

Change-Id: I6fc4bbc5ab95557ac83c8ff8172679a343d46b23
Components: Vulkan

4 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

4 years agotcuThreadUtil: fix data races on m_status
Tapani Pälli [Tue, 27 Aug 2019 10:50:09 +0000 (13:50 +0300)]
tcuThreadUtil: fix data races on m_status

Fixes data race where m_status is being read by Thread::getStatus() and
simultaneously written by Thread::run(). There are multiple instances of
these errors during dEQP-EGL.functional.sharing.gles2.multithread.*
tests.

 ==14810== Possible data race during write of size 4 at 0x5E79E30 by thread #4
 ==14810== Locks held: none
 ==14810==    at 0x7214AF: tcu::ThreadUtil::Thread::run()
 ==14810==    by 0x74F348: de::threadFunc(void*)
 ==14810==    by 0x756B89: startThread
 ==14810==    by 0x483F76D: mythread_wrapper (hg_intercepts.c:389)
 ==14810==    by 0x4A195A1: start_thread (in /usr/lib64/libpthread-2.29.so)
 ==14810==    by 0x4ED8022: clone (in /usr/lib64/libc-2.29.so)
 ==14810==
 ==14810== This conflicts with a previous read of size 4 by thread #1
 ==14810== Locks held: none
 ==14810==    at 0x48E076: tcu::ThreadUtil::Thread::getStatus() const
 ==14810==    by 0x47E911: deqp::egl::GLES2SharingRandomTest::iterate()
 ==14810==    by 0x45F044: deqp::egl::TestCaseWrapper::iterate(tcu::TestCase*)
 ==14810==    by 0x6F7829: tcu::TestSessionExecutor::iterateTestCase(tcu::TestCase*)
 ==14810==    by 0x6F6854: tcu::TestSessionExecutor::iterate()
 ==14810==    by 0x6C84C2: tcu::App::iterate()
 ==14810==    by 0x45A57A: main
 ==14810==  Address 0x5e79e30 is 96 bytes inside a block of size 200 alloc'd

Components: EGL
VK-GL-CTS issue: 1955
Affects: dEQP-EGL.functional.sharing.gles2.multithread.*

Change-Id: I9b8a069743fc2271a962e69dd0c7f18490119e97
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
4 years agoEnable roundtrip for scaled formats in TCU
Mika Väinölä [Tue, 27 Aug 2019 11:44:20 +0000 (14:44 +0300)]
Enable roundtrip for scaled formats in TCU

Currently some swizzle tests attempting to use scaled formats end up
testing integer formats instead and pass even though the implementation
does not actually support the required scaled format features. This CL
adds scaled TCU TextureFormats which should behave identically to
integer formats but enable scaled VkFormats to be mapped correctly.

Affects:
dEQP-VK.texture.swizzle.*scaled*

Components: Framework, Vulkan

VK-GL-CTS issue: 1752

Change-Id: I038f0f82448f3c44af8d4fec0b6f258013d90f5e

4 years agoFix basicMultiFenceWaitAllFalseCase test
Pablo De La Garza [Wed, 10 Jul 2019 21:29:45 +0000 (14:29 -0700)]
Fix basicMultiFenceWaitAllFalseCase test

Test basicMultiFenceWaitAllFalseCase was passing implementations
that only return successfully when all fences have been signaled
(even if the waitAll parameter is set to false).

Affects:

dEQP-VK.synchronization.basic.fence.multi_waitall_false

Components: Vulkan

VK-GL-CTS issue: 1883

Change-Id: If12bdb69fcfec7f4eb506f49d2d6488e12cf287c

4 years agodEQP-VK.graphicsfuzz.nested-for-loops-with-return
Ilkka Saarelainen [Tue, 17 Sep 2019 12:40:40 +0000 (15:40 +0300)]
dEQP-VK.graphicsfuzz.nested-for-loops-with-return

Components: Vulkan

New tests:

dEQP-VK.graphicsfuzz.nested-for-loops-with-return

Change-Id: I9cb56f58d4e78d6e5ee10ee8c3119602408daf2a

4 years agointeger cooperative matrix tests
Jeff Bolz [Thu, 22 Aug 2019 18:43:57 +0000 (13:43 -0500)]
integer cooperative matrix tests

This change adds testing for integer cooperative matrix types, and also refactors
the tests so that the specific matrix sizes don't need to be enumerated in the
test source.

Components: Vulkan
Affects: dEQP-VK.compute.cooperative_matrix.*
Change-Id: I30c3c1a2c9252ed7b1fca055b12fe9f0bdd1521e

4 years agoTest blitting with 1D and 3D depth/stencil images
Ricardo Garcia [Fri, 19 Jul 2019 10:39:48 +0000 (12:39 +0200)]
Test blitting with 1D and 3D depth/stencil images

Add tests to check blitting operations on 1D and 3D depth, stencil and
depth/stencil images.

Affected tests:
dEQP-VK.api.copy_and_blit.*.depth_stencil.*

Components: Vulkan
VK-GL-CTS issue: 1888

Change-Id: Ic8a9c9a356d4a93f8b43e1afd7662164e99c7d3d

4 years agoAdd tests for VK_KHR_shader_clock
Aaron Hagan [Mon, 20 May 2019 19:22:08 +0000 (15:22 -0400)]
Add tests for VK_KHR_shader_clock

Affects:
dEQP-VK.glsl.shader_clock.*

Components: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1758

(cherry picked from commit 9de5b8e48869ab025ed11982c6362e7f7082115f)

Change-Id: Iaca2d845ffb7a3037cee0c9cf38ff4844e7c9a48

4 years agoFix print of uninitialized value
Lionel Landwerlin [Wed, 11 Sep 2019 16:17:24 +0000 (19:17 +0300)]
Fix print of uninitialized value

Just fixing a printout in the result file.

Change-Id: Id1b4d3ee9879a07f452c5f5a0310a16d72051848
(cherry picked from commit 2d48a5baf07daeabeca8412ca6ff56d9ac92e2ca)

4 years agoAdd signal ordering tests
Lionel Landwerlin [Tue, 10 Sep 2019 11:36:19 +0000 (14:36 +0300)]
Add signal ordering tests

We want to verify that the signaling of semaphores in multiple
VkSubmitInfo a vkQueueSubmit() is ordered.

Add tests:
   dEQP-VK.synchronization.signal_order.*

Change-Id: Ibf47e7e4105f479ab33b5bafeda3efdd4c2782b5
(cherry picked from commit 70ed33e49cd109a494b85a0daeb73ff40d3157f9)

4 years agoAdd tests for VK_KHR_timeline_semaphore
Lionel Landwerlin [Fri, 1 Mar 2019 17:03:15 +0000 (17:03 +0000)]
Add tests for VK_KHR_timeline_semaphore

Renames existing semaphore tests from .*semaphore.* into .*binary_semaphore.*

Affects: dEQP-VK.synchronization.*
Change-Id: I48173432da6410a609c0d2000f21c379d4a64429
Components: Vulkan
(cherry picked from commit a86d535bb75d21445df66cdfcce0b9dc79c37604)

4 years agoSpeed up hierarchy traversal, part 2
Jari Komppa [Wed, 31 Jul 2019 10:29:15 +0000 (13:29 +0300)]
Speed up hierarchy traversal, part 2

Some of the tests do premature heavy work during test hierarchy
traversal, meaning that they waste time regardless of whether the tests
are run or not. These changes move some of that work to later stage of
test run, or otherwise speed things up a bit.

Affects:

dEQP-VK.pipeline.stencil.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.transform_feedback.fuzz.*

Components: Vulkan

VK-GL-CTS issue: 1830

Change-Id: I1c124cbf17068e56375ef2e467036e959cde8aa4
(cherry picked from commit 41527af467623bae596b2bd319b0694c11f8cbf8)

4 years agoShare instance/device across test case instances in dEQP-VK.synchronization.*
Jeff Bolz [Thu, 18 Jul 2019 19:45:02 +0000 (14:45 -0500)]
Share instance/device across test case instances in dEQP-VK.synchronization.*

Some of the dEQP-VK.synchronization.* test groups create new devices or new
instances for each test case. This is a really expensive thing to do tens of
thousands of times, and makes this the longest-running test group in the CTS.
This change uses singleton objects to store the instance/device, and adds
cleanup callbacks to destroy the singletons when the group is finished.

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

Change-Id: If935b457276790faf4a86e6f2afb5fd911987a85
(cherry picked from commit 90e05499c49c88fc4063748574931c3be5652b07)

4 years agoWhitelist Vulkan CTS 1.1.5.2
Alexander Galazin [Thu, 3 Oct 2019 09:13:32 +0000 (11:13 +0200)]
Whitelist Vulkan CTS 1.1.5.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I4a372accb5bc99345f55cea56140bd013b96b3f2

4 years agoExtended: texel_view_compatible: image: fix image coord
Yahan Zhou [Mon, 30 Sep 2019 22:12:45 +0000 (15:12 -0700)]
Extended: texel_view_compatible: image: fix image coord

Image coords in compute shaders need manual +0.5.

Affects:
dEQP-VK.image.texel_view_compatible.compute.extended.*.texture.*

Components: Vulkan

VK-GL-CTS issue: 1890

Change-Id: Iec93340004807252b0956e3d2fa19bacb899ff7b

4 years agoFix 64bit type promotions in subgroup tests
Piotr Byszewski [Fri, 27 Sep 2019 14:00:31 +0000 (16:00 +0200)]
Fix 64bit type promotions in subgroup tests

VK-GL-CTS issue: 1948
Components: Vulkan

Affects:
dEQP-VK.subgroups.*.ext_shader_subgroup_ballot.*

Change-Id: I7b8a1a8979bb16f1f4f4fcfd8579c764aa3820f0

4 years agoAccount for precision loss in unorm depth pipeline
Gary Sweet [Thu, 1 Aug 2019 11:50:40 +0000 (12:50 +0100)]
Account for precision loss in unorm depth pipeline

https://gerrit.khronos.org/#/c/4049/ introduced a regression
related to the use of depths other than 0.0 and 1.0 in the round-trip
to the depth buffer and back.

The test can now write 1.0/255.0 to gl_FragDepth and expects to see
exactly 1.0/255.0 when it is read back in the input attachment.
The unorm depth formats are only specified to be exact for the integer
values (0.0 and 1.0). We can differ by 1-bit after the round-trip.

This change adds an epsilon range check for the unorm depth tests
that resolve the issue.

Affected tests:
dEQP-VK.renderpass.dedicated_allocation.*
dEQP-VK.renderpass.suballocation.*
dEQP-VK.renderpass2.dedicated_allocation.*
dEQP-VK.renderpass2.suballocation.*

Components: Vulkan
VK_GL_CTS issue: 1908

Change-Id: Iaec3503595afd3409d2c21d8af72b469467d6673
(cherry picked from commit 611bdb3a21879d726d11a42d87639c686531ae79)

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 3 Oct 2019 09:14:46 +0000 (11:14 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Iadc5b0889f42aa764c6d73f3a7de27fff6e24361

4 years agoCorrect usage of the DEQP_SUPPORT_X11 macro with the cts-runner
Andres Gomez [Wed, 2 Oct 2019 19:58:15 +0000 (22:58 +0300)]
Correct usage of the DEQP_SUPPORT_X11 macro with the cts-runner

Components: OpenGL

VK-GL-CTS issue: 1601

Affects:

dEQP-GLES3.*

Change-Id: I106b6487558642f55b5900413d0fc2c60882a7e1

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Tue, 1 Oct 2019 12:14:45 +0000 (14:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I4e8f6bec91ab0e162e2912bd516fe7fc4ece2a43

4 years agoGenerate 'false' sometimes for random bool data
Graeme Leese [Fri, 13 Sep 2019 15:33:15 +0000 (16:33 +0100)]
Generate 'false' sometimes for random bool data

The subgroup tests were generating random bools as a random 32-bit
value. This means that almost every value was a variant of 'true',
reducing the coverage of the tests significantly.

Components: Vulkan
VK-GL-CTS issue: 1998
Affects: dEQP-VK.subgroups.*_bool*
         dEQP-VK.subgroups.*_bvec*

Change-Id: Ibe37fa63d3bd3348255bcdbe263d103eef855cb2

4 years agodEQP-VK.graphicsfuzz.two-loops-with-break
Paul Thomson [Sun, 1 Sep 2019 18:57:04 +0000 (19:57 +0100)]
dEQP-VK.graphicsfuzz.two-loops-with-break

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.two-loops-with-break

Change-Id: Iaa1bc71ae6ae5db7f2fd77dd09771eec377643d2

4 years agodEQP-VK.graphicsfuzz.two-loops-matrix
Paul Thomson [Sun, 1 Sep 2019 19:44:00 +0000 (20:44 +0100)]
dEQP-VK.graphicsfuzz.two-loops-matrix

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.two-loops-matrix

Change-Id: I342e971350d2becbc69dcce9fef38863e251ccd9

4 years agodEQP-VK.graphicsfuzz.loop-call-discard
Paul Thomson [Mon, 2 Sep 2019 14:11:31 +0000 (15:11 +0100)]
dEQP-VK.graphicsfuzz.loop-call-discard

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.loop-call-discard

Change-Id: I541b38005defefaf527ae82993f78496a223d652

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 1 Oct 2019 10:36:16 +0000 (12:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Iada24773960c88053e0a1f2fed3700a0e0df408a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Tue, 1 Oct 2019 09:52:37 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I7df0259f0457521714e530c44ef34b741d230d37

4 years agoAdd check if usage is supported for image format
Marcin Kańtoch [Mon, 23 Sep 2019 16:41:58 +0000 (18:41 +0200)]
Add check if usage is supported for image format

dEQP-VK.image.swapchain_mutable* tests do not check
if the required usage is supported for image format
and image view format.

Components: Vulkan

Affects:
dEQP-VK.image.swapchain_mutable*

VK-GL-CTS issue: 2015

Change-Id: I6680d9e6ef1b03462afa01349b6f34d82ef40a17

4 years agoExclude dEQP-VK.ssbo.layout.random.scalar.75 from Android CTS
Chris Forbes [Thu, 26 Sep 2019 14:51:32 +0000 (07:51 -0700)]
Exclude dEQP-VK.ssbo.layout.random.scalar.75 from Android CTS

This is already excluded from the Khronos mustpass lists.

VK-GL-CTS Issue: 1829
Google bug: b/141657868
Google bug: b/135200048
Components: Android

Change-Id: I6b453819314cc2e8245ac9d518ef4b481fe90887

4 years agodEQP-VK.graphicsfuzz.mix-floor-add
Paul Thomson [Mon, 2 Sep 2019 16:19:22 +0000 (17:19 +0100)]
dEQP-VK.graphicsfuzz.mix-floor-add

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.mix-floor-add

Change-Id: Id55b5943e60abf6a94c51a6dfae5e678edd63167

4 years agoTidy up extension headers in ballot_broadcast tests
Graeme Leese [Mon, 2 Sep 2019 16:49:51 +0000 (17:49 +0100)]
Tidy up extension headers in ballot_broadcast tests

This was included in the original version of CL4557 but seems to have
been lost in the merge with subgroup extended types.

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

Change-Id: I932cede6ace01a38f8a70f754fb7b759e3c68881

4 years agoDisable stipple in GLES rasterisation tests
Graeme Leese [Mon, 16 Sep 2019 14:53:46 +0000 (15:53 +0100)]
Disable stipple in GLES rasterisation tests

Initialise stipple related fields in the LineSceneSpec so that stipple
is correctly disabled.

Components: OpenGL
VK-GL-CTS Issue: 2006
Affects: dEQP-GLES2.functional.rasterization.primitives.line*
         dEQP-GLES2.functional.rasterization.interpolation.*.line*
         dEQP-GLES3.functional.rasterization.primitives.line*
         dEQP-GLES3.functional.rasterization.interpolation.*.line*
         dEQP-GLES3.functional.rasterization.fbo.*.primitives.lines*
         dEQP-GLES3.functional.rasterization.fbo.*.interpolation.lines*

Change-Id: I1df4b4cb9cac892f27f6e1d81a06061c6d974e22

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Mon, 30 Sep 2019 11:47:33 +0000 (13:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I6bb3fb9e6349caed5b4d8f936772051eb4bca529

4 years agosurfaceless: Remove false dependencies on gbm, libkms, libdrm.
Eric Anholt [Mon, 26 Aug 2019 21:38:06 +0000 (14:38 -0700)]
surfaceless: Remove false dependencies on gbm, libkms, libdrm.

Our code doesn't directly use any of those, they're just internal
dependencies of the surfaceless platform.  Avoids Mesa CI's CTS build
requiring an installed Mesa already.

Change-Id: I573939d3f4be307232f559da0cda8bc9c0999314

4 years agoDisable the 565 config requirement for X11
Andres Gomez [Mon, 26 Nov 2018 16:11:40 +0000 (18:11 +0200)]
Disable the 565 config requirement for X11

Previously to GLES3 CTS didn't require this config to be present.  On
an 8888 X11 system it doesn't make sense to expose 565 since there are
no 16-bit visuals to be rendered to.

Affects:

dEQP-GLES3.*

Components: OpenGL

VK-GL-CTS issue: 1474

Change-Id: I14fe98ea21a86c48f0d4d155ba51a916255ef3ba

4 years agoUpdate README to allow parallel execution
Alexander Galazin [Mon, 16 Sep 2019 13:05:09 +0000 (15:05 +0200)]
Update README to allow parallel execution

This change updates Vulkan CTS README to allow
parallel CTS execution and also outlines new
requirements for Conformance Submission Packages
collected from parallel runs.

Components: Vulkan

VK-GL-CTS issue: 1897

Change-Id: Iafe92c384bb5dbf79ccc0d3b3040c15dd6a25be8

4 years agoAdd list of tests for each fraction of CTS parallel run
Pawel Ksiezopolski [Thu, 12 Sep 2019 07:25:57 +0000 (09:25 +0200)]
Add list of tests for each fraction of CTS parallel run

The tests may be split in groups for parallel execution
using commandline deqp-fraction parameter.
This commit adds possibility to perform a list of tests
for each such fraction.
To achieve this - user must use parameter
deqp-fraction-mandatory-caselist-file defining a file with
a list of tests. File vk-fraction-mandatory-tests.txt
defines a list of mandatory tests when parallel execution
is applied.

Components: Vulkan Framework

VK-GL-CTS issue: 1897

Change-Id: I684eb07c24bbf3aeaf3386f205658dfe07b9fe25

4 years agoAdd VK_NV_ray_tracing infrastructure and test
Eric Werness [Fri, 7 Jun 2019 16:26:28 +0000 (09:26 -0700)]
Add VK_NV_ray_tracing infrastructure and test

Adds infrastructure and plumbing for VK_NV_ray_tracing tests to CTS
including plumbing for the new program stages and new pipeline type.

Includes integration into descriptor set random tests

Affects: dEQP-VK.binding_model.descriptorset_random.*

VK-GL-CTS issue: 1995

Change-Id: I0daa03124256060fe465d3a6a84e5d76b9be22d6

4 years agoRemove unnecessary extension from float16 constant tests
Alan Baker [Sun, 25 Aug 2019 17:23:42 +0000 (13:23 -0400)]
Remove unnecessary extension from float16 constant tests

Remove the 16-bit storage extension from the float16 constat tests. The
storage functionality is unused.

Component: Vulkan

VK-GL-CTS Issue: 1931

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

Change-Id: I5a69d77a72e34eecd4bc67f9916f44b1df848191

4 years agodEQP-VK.graphicsfuzz.discard-continue-return
Paul Thomson [Tue, 27 Aug 2019 09:57:30 +0000 (10:57 +0100)]
dEQP-VK.graphicsfuzz.discard-continue-return

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.discard-continue-return

Change-Id: I8645d5ccd5fa0259db46b7f38e0c5041bcf9b6c8

4 years agodEQP-VK.graphicsfuzz.nested-loops-switch
Paul Thomson [Sun, 1 Sep 2019 20:44:08 +0000 (21:44 +0100)]
dEQP-VK.graphicsfuzz.nested-loops-switch

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.nested-loops-switch

Change-Id: Ia5d96e7fbeacc0df39cbd9d31fe119c145e6d732

4 years agodEQP-VK.graphicsfuzz.control-flow-in-function
Paul Thomson [Mon, 2 Sep 2019 14:47:44 +0000 (15:47 +0100)]
dEQP-VK.graphicsfuzz.control-flow-in-function

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.control-flow-in-function

Change-Id: Ie6d6e87acd34ed705b076b9b78de55bf4a190d06

4 years agodEQP-VK.graphicsfuzz.loop-nested-ifs
Paul Thomson [Mon, 2 Sep 2019 20:26:59 +0000 (21:26 +0100)]
dEQP-VK.graphicsfuzz.loop-nested-ifs

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.loop-nested-ifs

Change-Id: I5b06c42ebc27fc513be9538dfde0b2baacc96b0e

4 years agodEQP-VK.graphicsfuzz.max-mix-conditional-discard
Paul Thomson [Mon, 9 Sep 2019 10:36:58 +0000 (11:36 +0100)]
dEQP-VK.graphicsfuzz.max-mix-conditional-discard

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.max-mix-conditional-discard

Change-Id: Ie9ada9c6e7a71a4ad09ad6f09f0ee8264e02d9c1

4 years agodEQP-VK.graphicsfuzz.similar-nested-ifs
Paul Thomson [Mon, 9 Sep 2019 13:21:28 +0000 (14:21 +0100)]
dEQP-VK.graphicsfuzz.similar-nested-ifs

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.similar-nested-ifs

Change-Id: Ia7cad0b33e7e526fc54ef2024edbc8a207baba84

4 years agodEQP-VK.graphicsfuzz.two-loops-set-struct
Paul Thomson [Mon, 9 Sep 2019 14:44:16 +0000 (15:44 +0100)]
dEQP-VK.graphicsfuzz.two-loops-set-struct

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.two-loops-set-struct

Change-Id: I8c08d5bc486d228ebf2dbaa8a7c7fb2bae4a7410

4 years agodEQP-VK.graphicsfuzz.for-with-ifs-and-return
Ilkka Saarelainen [Wed, 11 Sep 2019 13:10:34 +0000 (16:10 +0300)]
dEQP-VK.graphicsfuzz.for-with-ifs-and-return

Components: Vulkan

New tests:

dEQP-VK.graphicsfuzz.for-with-ifs-and-return

Change-Id: Id92db5a1ba4279816c728ce6ee2c4b4f37c7f931

4 years agoAdd copy tests for wide and tall images
Toni Merilehti [Fri, 3 May 2019 11:12:46 +0000 (14:12 +0300)]
Add copy tests for wide and tall images

Test image copying on wide and tall images on YCbCr and
non-YCbCr formats with the following image dimensions:
-Wide: large pot x small pot
-Wide: large pot x small npot
-Tall: small pot x large pot
-Tall: small npot x large pot

This CL also changes the initialization of the source image
in image_to_image copy tests to gradient from the current
solid red color to detect that the copy regions are handled
correctly.

Affects:

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

New tests:

dEQP-VK.api.copy_and_blit.*.image_to_image.dimensions.*
dEQP-VK.ycbcr.copy_dimensions.*

Components: Vulkan

VK-GL-CTS issue: 1724

Change-Id: I9d61a782ba5a07b6cd9c47e158d441cf935b5ac7

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Mon, 30 Sep 2019 09:52:36 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ia87303a933940e5483b80b97139f750e5debec10

4 years agoAdd tests for VK_KHR_shader_subgroup_extended_types
Neil Henning [Thu, 14 Mar 2019 13:35:02 +0000 (13:35 +0000)]
Add tests for VK_KHR_shader_subgroup_extended_types

This change adds support for VK_KHR_shader_subgroup_extended_types by
extending the existing subgroup tests for the new types.

I've also taken the liberty to reduce the width parameter for graphics
tests from 1024 -> 256 (4x reduction) to offset for the over 2x increase
in number of formats.

Components: Vulkan

Affects:
dEQP-VK.subgroups.*int8_t
dEQP-VK.subgroups.*float16_t
dEQP-VK.subgroups.*int16_t
dEQP-VK.subgroups.*int64_t
dEQP-VK.subgroups.*8vec*
dEQP-VK.subgroups.*16vec*
dEQP-VK.subgroups.*64vec*

Change-Id: I70c4c5a0c444666648057050108043d14ce3c3c7
(cherry picked from commit 5f37b5269276244370a7ecaf282122f3423728ef)

4 years agoAlways require glslang and spirv-tools to be present
Chris Forbes [Fri, 6 Sep 2019 21:01:18 +0000 (22:01 +0100)]
Always require glslang and spirv-tools to be present

The prebuilt shader paths are no longer used. Just require both
dependencies to be present and drop the !DEQP_HAVE_GLSLANG /
!DEQP_HAVE_SPIRV_TOOLS paths.

Mention of prebuilt binaries is removed from the Vulkan CTS readme.

The machinery to actually build all the shaders upfront is left
in place for now as it has value as a presubmit check.

Components: Vulkan, OpenGL
VK-GL-CTS Issue: 1951

Change-Id: I6a79766a07e5aeb3c9c43236a3a220f8b654511e

4 years agoCheck write vertex support in descriptor indexing
Mike Byrne [Wed, 18 Sep 2019 14:50:31 +0000 (15:50 +0100)]
Check write vertex support in descriptor indexing

The descriptor indexing tests which are intended to test vertex write
check if the vertexPipelineStoresAndAtomics feature is supported before
loading the descriptorIndexing_vertx_shaderWrites shader. The vertex
write verifcation needs the same check to ensure the verification is
not run when the shader is not present.

Affects: dEQP-VK.descriptor_indexing*

VK-GL-CTS Issue: 2013

Change-Id: I3870b95b65c0b657708788b9bd2a7adcb5bd8f3d
Components: Vulkan

4 years agogen_ext_deps.py made independent from VK versions
Pawel Ksiezopolski [Wed, 18 Sep 2019 12:16:22 +0000 (14:16 +0200)]
gen_ext_deps.py made independent from VK versions

Script gen_ext_deps.py has been modified so that it's independent
from incoming Vulkan versions ( it uses <feature> information
from vk.xml to establish what VK versions will be required ).
Accompanying CTS tests have been modified to take advantage
of this modification.

Components: Vulkan Framework

VK-GL-CTS issue: 1954

Change-Id: I2b691e1bd64a6bcb8d1cb7193318aca6bc70655c

4 years ago1d_image: enforce height 1 in decompress stage as well
Lingfeng Yang [Thu, 15 Aug 2019 22:41:23 +0000 (15:41 -0700)]
1d_image: enforce height 1 in decompress stage as well

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: Id98f0a8dd132da5bcd6a3f1426021c8f36a48149

4 years ago1d_image: basic: compute: texel_view_compatible: set size.y to 1
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1

1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f

4 years agoTexel view compatible: Image: proper check for image format supports
Yahan Zhou [Fri, 9 Aug 2019 18:35:15 +0000 (11:35 -0700)]
Texel view compatible: Image: proper check for image format supports

The queried image usage is different from what is acutally used. Fix it
so that we would not end up with an unsupported usage.

Affects:
dEQP-VK.image.texel_view_compatible*

Components: Vulkan

Google bug: 139193497
VK-GL-CTS issue: 1920

Change-Id: Ib8db61808db5f9391a54b7722f965b6608e7e694

4 years agoRemove 16 storage from float16 logicals tests
Alan Baker [Wed, 21 Aug 2019 19:08:46 +0000 (15:08 -0400)]
Remove 16 storage from float16 logicals tests

Modify the float16 logicals tests to not require 16-bit storage
extensions. Instead data is treated as uints and functions are used to
load and store the appropriate bit patterns. Same functions are used as
in other float16 tests.

Components: Vulkan

VK-GL-CTS issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.*.float16.logical*.*

Change-Id: Ic8befece08f56405bfc8628f9745b36942674bdc

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Sun, 22 Sep 2019 09:16:02 +0000 (11:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I2a4a1873df0d05a2333a91cdaadf7a347905e717

4 years agoRun SPIR-V assembly type tests in compute shaders
Ricardo Garcia [Wed, 7 Aug 2019 12:10:38 +0000 (14:10 +0200)]
Run SPIR-V assembly type tests in compute shaders

Add *_comp variants for every SPIR-V assembly type test, making them run
in compute shaders in addition to graphical shader stages.

New tests:
dEQP-VK.spirv_assembly.type.*_comp

Components: Vulkan
VK-GL-CTS issue: 1914

Change-Id: Ia14b7ac03ad2522d02b1b178448d453c4e4901d1

4 years agoMake sure vkGetDescriptorSetLayoutSupport limits are tested
Ricardo Garcia [Wed, 10 Jul 2019 13:23:30 +0000 (15:23 +0200)]
Make sure vkGetDescriptorSetLayoutSupport limits are tested

The dEQP-VK.api.maintenance3_check.descriptor_set test tried several
descriptor set types and count combinations and checked if they falled
within acceptable limits. If they did not, no check was performed for
that combination. The test may have ended up passing with no check being
done because of that.

This commit makes the test combinatorial in nature and adds support for
inline uniform blocks in reasonable cases.

Affected tests:
dEQP-VK.api.maintenance3_check.descriptor_set

Components: Vulkan
VK-GL-CTS issue: 1879

Change-Id: Id641b53968b69b991af881a696918490fa4822be

4 years agoFix depth store flag in seperate_channels tests
Jarred Davies [Fri, 13 Sep 2019 17:24:55 +0000 (18:24 +0100)]
Fix depth store flag in seperate_channels tests

Depth wasn't being stored despite being used.

Affects:

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

Components: Vulkan

VK-GL-CTS Issue: 2002

Change-Id: Ib2c678dcaef1f0c87756424c23057fb1df1c311e
(cherry picked from commit f5e267274daff5f11ad8e18f81d0abdbc064043d)

4 years agoFix depth store flag in seperate_channels tests
Jarred Davies [Fri, 13 Sep 2019 17:24:55 +0000 (18:24 +0100)]
Fix depth store flag in seperate_channels tests

Depth wasn't being stored despite being used.

Affects:

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

Components: Vulkan

VK-GL-CTS Issue: 2002

Change-Id: Ib2c678dcaef1f0c87756424c23057fb1df1c311e

4 years agoMerge "Merge vk-gl-cts/vulkan-cts-next-dev@46270b03 into vk-gl-cts/master"
Alexander Galazin [Thu, 19 Sep 2019 15:44:56 +0000 (11:44 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-next-dev@46270b03 into vk-gl-cts/master"