platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Oct 2018 09:21:11 +0000 (11:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I867463049e15b5926021e1378c3127772b84bb47

5 years agoPlace OpVariable at the beginning of the block
Alexander Galazin [Mon, 15 Oct 2018 15:36:38 +0000 (17:36 +0200)]
Place OpVariable at the beginning of the block

SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.

VK-GL-CTS issue: 1382

Components: Vulkan, Framework

Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.*

Change-Id: Ib012eec83ccd130a7d6d586e3fdb529b908c21b3
(cherry picked from commit 7273686be36aeb14f7f86077782c4141a74931e3)

5 years agoPlace OpVariable at the beginning of the block
Alexander Galazin [Mon, 15 Oct 2018 15:36:38 +0000 (17:36 +0200)]
Place OpVariable at the beginning of the block

SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.

VK-GL-CTS issue: 1382

Components: Vulkan, Framework

Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.*

Change-Id: Ib012eec83ccd130a7d6d586e3fdb529b908c21b3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Mon, 15 Oct 2018 08:32:32 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Ib76d2ca2aeed1705b894252c70ff5c88b19aa82e

5 years agoPlace OpVariable at the beginning of the block
Alexander Galazin [Sun, 14 Oct 2018 10:45:59 +0000 (12:45 +0200)]
Place OpVariable at the beginning of the block

SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.

VK-GL-CTS issue: 1382

Components: Vulkan

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

Change-Id: I797e0235c4eaab4f86754bade948dc062d17ca2b

5 years agoPlace OpVariable at the beginning of the block
Alexander Galazin [Sun, 14 Oct 2018 10:45:59 +0000 (12:45 +0200)]
Place OpVariable at the beginning of the block

SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.

VK-GL-CTS issue: 1382

Components: Vulkan

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

Change-Id: I797e0235c4eaab4f86754bade948dc062d17ca2b

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Fri, 12 Oct 2018 10:38:54 +0000 (12:38 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I89162c3d946338f2bf4976a3cab3ba1b48672469

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 12 Oct 2018 10:01:01 +0000 (12:01 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Icb53b255b5e08da8c7266f9a9523538c3199aa51

5 years agoFix barrier range in UpdateBuffer tests
David Emett [Thu, 20 Sep 2018 18:54:24 +0000 (19:54 +0100)]
Fix barrier range in UpdateBuffer tests

Components: Vulkan
VK-GL-CTS issue: 1366

Affects:
dEQP-VK.api.fill_and_update_buffer.*.update_buffer_*

Change-Id: I6d096c591bf79bf3e54ae796af98ed85f6103724

5 years agoAdd corner case values for float32 to int16 conversion tests.
Ari Suonpaa [Mon, 8 Oct 2018 10:05:16 +0000 (13:05 +0300)]
Add corner case values for float32 to int16 conversion tests.

Issues with conversion of 32bit float to 16bit int was
reported for values over 2048. Added values 3001 and -3001
to cover this.

New tests:

dEQP-VK.spirv_assembly.instruction.*.convertftos.float32_to_int16_*

Components: Vulkan

VK-GL-CTS issue: 1398
Change-Id: Id70be1763fb6a34c9de59387074e9da3ddeffecf

5 years agoAdd tests for subpass dependencies
Toni Merilehti [Tue, 4 Sep 2018 07:49:25 +0000 (10:49 +0300)]
Add tests for subpass dependencies

New tests for external subpass dependencies between render pass
instances as well as implicitly added subpass dependencies. Tests
verify that the render passes are synchronized correctly using
external subpass dependencies. Also the conversion functions to
RenderPass/RenderPass2 are now implemented in vktRenderPassTestsUtil.

New tests:

dEQP-VK.renderpass*.subpass_dependencies.*

Components: Vulkan

VK-GL-CTS issue: 1143, 1148

VK-GL-CTS public issue: 97
Change-Id: Icc73a8cfc137ed6d64246c451cee1b1293c1d11b

5 years agoTest clip/cull distance reading in fragment shader
Ari Suonpaa [Thu, 6 Sep 2018 06:38:35 +0000 (09:38 +0300)]
Test clip/cull distance reading in fragment shader

Extended clipping test to verify the clip and cull distances
passed to fragment shader are accessible.

New tests:

dEQP-VK.clipping.user_defined.*fragmentshader_read

Components: Vulkan

VK-GL-CTS issue: 1332
Change-Id: I38a0f6014016c2b547d5ad1a0d3737d94854f7f7

5 years agoUse non-arrayed varying name for TCS blocks
Piers Daniell [Tue, 2 Oct 2018 17:51:25 +0000 (11:51 -0600)]
Use non-arrayed varying name for TCS blocks

This is a partial revert of CL 2625 to restore naming the
value member of the BLOCK_INOUT interface block as
"BLOCK_INOUT.value" rather than "BLOCK_INOUT[0].value".

Affects:

KHR-GL46.tessellation_shader.single.xfb_captures_data_from_correct_stage

Components: OpenGL

VK-GL-CTS issue: 1388

Change-Id: I9ef6453ec5465a0fa5561220cc9d7bfe54298416

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Thu, 11 Oct 2018 13:54:40 +0000 (15:54 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I0e1a34ac0772b0e27a7ea9bab6696a8adbcfa788

5 years agoNew tests for descriptor dynamic offset
Ari Suonpaa [Fri, 21 Sep 2018 10:50:52 +0000 (13:50 +0300)]
New tests for descriptor dynamic offset

Added new tests for descriptor dynamic offset based on reports
of failing implementations.

New tests:

dEQP-VK.pipeline.dynamic_offset.*

Components: Vulkan

VK-GL-CTS issue: 1319
Change-Id: Iab4692044c85df78e2fc84a7f922bdcccbde7929

5 years agoFix validation in memory tests
Graeme Leese [Fri, 5 Oct 2018 09:48:46 +0000 (10:48 +0100)]
Fix validation in memory tests

Code fixes from @jbolz for the memory tests.

Components: Vulkan
Affects: dEQP-VK.memory.*

Change-Id: I24bb18c90358465a5e02dce92885d26d9807780e

5 years agoFix memory flush alignments in binding model tests
Graeme Leese [Thu, 4 Oct 2018 14:32:51 +0000 (15:32 +0100)]
Fix memory flush alignments in binding model tests

Components: Vulkan
Affects: dEQP-VK.binding_model.shader_access.*

Change-Id: Ibc6432236c6067f9e76fa6f327c04e28f4eb0690

5 years agoFix validation in command buffer tests
Graeme Leese [Wed, 3 Oct 2018 10:32:48 +0000 (11:32 +0100)]
Fix validation in command buffer tests

Fix memory flush/invalidate issues and use the simultaneous use flag
correctly for simul_use tests

Components: Vulkan
Affects: dEQP-VK.api.command_buffers.*

Change-Id: I34ca94c937e2c827d4629f60364b656a0b869a7d

5 years agoFix validation in memory binding tests
Graeme Leese [Wed, 3 Oct 2018 10:30:22 +0000 (11:30 +0100)]
Fix validation in memory binding tests

Simplify flush/invalidate so that it doesn't trigger validation errors
and correct a pipeline barrier.

Components: Vulkan
Affects: dEQP-VK.memory.binding.*

Change-Id: Ia41f8eb6e92352a2db7c102a43e49e35cddd484e

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Wed, 10 Oct 2018 22:10:54 +0000 (15:10 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Ie41fa6cb58a683045ac3aa277b5370a0f5cf2cf4

5 years agoCreate CODE_OF_CONDUCT.md
Khronos Group Webmaster [Wed, 10 Oct 2018 19:50:57 +0000 (15:50 -0400)]
Create CODE_OF_CONDUCT.md

5 years agoUpdate KC CTS
Alexander Galazin [Tue, 9 Oct 2018 09:01:22 +0000 (11:01 +0200)]
Update KC CTS

Components: Framework

VK-GL-CTS issue: 1404

Change-Id: Ia7b13ef1b8618b92cab3d4ebe6f593dbf1512fdc

5 years agoFix build warnings in SPIR-V tests
Graeme Leese [Wed, 26 Sep 2018 11:26:17 +0000 (12:26 +0100)]
Fix build warnings in SPIR-V tests

Components: OpenGL
Affects: KHR-GL46.gl_spirv.*
VK-GL-CTS Issue: 1386

Change-Id: If47448561f2b1566f8c12d762b77b42e659574c0

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 5 Oct 2018 23:13:54 +0000 (16:13 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I6139d0d8b6a5a8a380ca093c3f5860c51a2f468f

5 years agoSuppress Clang 7 self-assignment warnings
Mika Väinölä [Wed, 3 Oct 2018 13:03:46 +0000 (16:03 +0300)]
Suppress Clang 7 self-assignment warnings

Clang 7 warns on two intentional self-assignments. According to the
release notes "the warning can be suppressed by adding *& to the
right-hand side or casting it to the appropriate reference type."

Component: Framework

VK-GL-CTS issue: 1401

Change-Id: I3145b1965d46f617eb10ff8a60d038ce9bbb5cbf

5 years agoFix queue validation in synchronization tests
Graeme Leese [Fri, 21 Sep 2018 12:43:38 +0000 (13:43 +0100)]
Fix queue validation in synchronization tests

The spec was updated to require matching barriers on both queues when
passing between them but the CTS was never updated.

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

Change-Id: I210e556bf108957595c58760ec3df729f0b3b610

5 years agoFix non-valid barriers in dEQP-VK.tessellation.*
Toni Merilehti [Fri, 28 Sep 2018 13:42:36 +0000 (16:42 +0300)]
Fix non-valid barriers in dEQP-VK.tessellation.*

This fixes various validation errors in the usage of pipeline barriers,
where the dstAccessMask is not supported by the dstStageMask.

Affects:

dEQP-VK.tessellation.*

Components: Vulkan

VK-GL-CTS issue: 1392

Change-Id: I58e4e7cfab0a444609bb7cb0beecb7963dfae1ac

5 years agoCheck sparse support in memory requirements tests
Graeme Leese [Thu, 27 Sep 2018 12:35:42 +0000 (13:35 +0100)]
Check sparse support in memory requirements tests

The tests attemt to create images using various flags to check memory
requirements on the resulting images. The sparse versions of the tests
need to check sparse support.

Components: Vulkan
Affects: dEQP-VK.memory.requirements.*

Change-Id: If4025abe498e08b057b2e6a760c8746a6a4dab72

5 years agoDon't pass tess and geom flags when not needed
Graeme Leese [Thu, 27 Sep 2018 12:32:46 +0000 (13:32 +0100)]
Don't pass tess and geom flags when not needed

Using tessellation and geometry flags requires having the corresponding
features enabled. Since these tests are not doing any tessellation or
geometry, remove the flags rather than enabling the feature.

Components: Vulkan
Affects: dEQP-VK.memory.pipeline_barrier.*

Change-Id: I5ba5bb16eec2996c7a8bd0865c385223da7115c1

5 years agoFix testing of various device limits
Toni Merilehti [Tue, 25 Sep 2018 12:54:13 +0000 (15:54 +0300)]
Fix testing of various device limits

This enables the testing of various device limits and verifies that
the VkPhysicalDeviceLimits advertised by the device correspond to
the specification.

Affects:

dEQP-VK.api.info.device.properties

Components: Vulkan

VK-GL-CTS issue: 1349

VK-GL-CTS public issue: 122

Change-Id: Idf153b8de39e167b41c761ea5fc329db0ec56c8c

5 years agoTest remaining descriptor types in push descriptor test
Ari Suonpaa [Thu, 30 Aug 2018 05:27:33 +0000 (08:27 +0300)]
Test remaining descriptor types in push descriptor test

The initial push descriptor test was only testing uniform and storage
buffers. This commit adds the remaining descriptor types.

New tests:

dEQP-VK.pipeline.push_descriptor.*

Components: Vulkan

VK-GL-CTS issue: 1320
Change-Id: I742ad32edc724344b2e69d48127b44c179832711

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Fri, 5 Oct 2018 10:30:28 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: If79a2a85ad925402ffcb1f385157d128970d8b65

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 5 Oct 2018 10:30:24 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I6e2e13964732fb8673f7afd2e72e740cfc32fdcf

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 5 Oct 2018 10:30:19 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iea478874f1c63e4ac841c7143690c0df44864d7a

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 5 Oct 2018 10:30:15 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I24509b7943339682384362e4c839f66ca6a2d293

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Fri, 5 Oct 2018 08:09:33 +0000 (10:09 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I482a9e520b06d5af5620c486b6faf0eec9d76775

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Thu, 4 Oct 2018 22:16:33 +0000 (15:16 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Icaac56195ab453f7940956fdd6ac8a252eb5626d

5 years agoAdd dependency checking to dEQP-VK.api.info.*.extensions
Yiwei Zhang [Fri, 31 Aug 2018 22:17:21 +0000 (15:17 -0700)]
Add dependency checking to dEQP-VK.api.info.*.extensions

Update instance and device extension tests to also check the
dependencies of the required extension. Implement gen_ext_deps.py script
to generate vkApiExtensionDependencyInfo.inl from Vulkan registry.

Components: Vulkan

VK-GL-CTS Issue: 1340

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

Change-Id: Ie0c764f67a7c2c020e798fac6fe382f8f82ec375

5 years agoEnable Android-O AHB support in Android-P build
Daniel Koch [Wed, 3 Oct 2018 20:20:42 +0000 (16:20 -0400)]
Enable Android-O AHB support in Android-P build

If built with --native-api=28, support running on both
Android-O and Android-P (with out this change these tests
report unsupported on Android-O).

Builds with --native-api=26 should be unaffected (that is
they will continue to work on Android-O and assert on Android-P).

VK-GL-CTS issue: 1402

Component: Vulkan
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Change-Id: Icf40b3dd35ba2744aa2e8d13c9ccfd4d9e3ba0e9

5 years agoRevert LICENSE to Apache 2.0
Khronos Group Webmaster [Wed, 3 Oct 2018 14:12:06 +0000 (10:12 -0400)]
Revert LICENSE to Apache 2.0

5 years agoAdded several abuses of OpName and OpMemberName
Jari Komppa [Wed, 29 Aug 2018 07:07:59 +0000 (10:07 +0300)]
Added several abuses of OpName and OpMemberName

Added tests that do various things with OpName and OpMemberName that the
implementations might not expect, including long names, UTF-8 corner
cases, overlapping naming, etc.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.opname.abuse.*
dEQP-VK.spirv_assembly.instruction.compute.opmembername.abuse.*
dEQP-VK.spirv_assembly.instruction.graphics.opname_abuse.*
dEQP-VK.spirv_assembly.instruction.graphics.opmembername_abuse.*

Components: Vulkan

VK-GL-CTS issue: 1309

Change-Id: I077df4282693542aa9edb715a51c87b79384b8b9

5 years agoAdd test for vec.swizzle *= matrix
Chris Forbes [Wed, 19 Sep 2018 22:49:52 +0000 (15:49 -0700)]
Add test for vec.swizzle *= matrix

Discovered as a bug in SwiftShader by GraphicsFuzz.

New tests:
dEQP-GLES2.functional.shaders.misc.compound_assignment.mul_swizzled_vec_by_matrix_*

Components: AOSP
Bug: b/116259485
VK-GL-CTS Issue: 1368

Change-Id: Ic7eabf564a5e024f064a0a19a919f1238c0489b4

5 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Wed, 3 Oct 2018 00:37:50 +0000 (17:37 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Merge with -s ours; only change on aosp/master was for P mustpass
adjustment, which we don't want to propagate any further.

Change-Id: Ie16be989540969d0ac2b4423a290d1d01f17f376

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Tue, 2 Oct 2018 23:24:01 +0000 (16:24 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I42a123dd4afcd755487956dd2ff64e8d7e548b60

5 years agoRemove dEQP-EGL.functional.wide_color.*_8888_colorspace_p3 from P mustpass
Chris Forbes [Tue, 2 Oct 2018 18:44:25 +0000 (11:44 -0700)]
Remove dEQP-EGL.functional.wide_color.*_8888_colorspace_p3 from P mustpass
am: 38146a3626

Change-Id: Ic127c0139b5946b90a64373632971e579be1afe9

5 years agoMerge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
Chris Forbes [Tue, 2 Oct 2018 18:44:07 +0000 (11:44 -0700)]
Merge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
am: 7a9d39fd2a

Change-Id: I50015ccdaa9dba37be8c5d44d32c546196c66745

5 years agoRemove dEQP-EGL.functional.wide_color.*_8888_colorspace_p3 from P mustpass
Chris Forbes [Tue, 2 Oct 2018 16:57:08 +0000 (09:57 -0700)]
Remove dEQP-EGL.functional.wide_color.*_8888_colorspace_p3 from P mustpass

Bug: b/117152494
Change-Id: I2efbc9a52be073fa63179044ae8950aceff5eefd

5 years agoMerge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
Chris Forbes [Tue, 2 Oct 2018 16:20:05 +0000 (09:20 -0700)]
Merge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev

Change-Id: Ia3e6fc9380d6e20ff25e434b07756a19762c2aa3
Bug: b/117148475

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 2 Oct 2018 14:26:02 +0000 (16:26 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: Ifdd2ce6954a666e1643ae8a79c96bb39474ac94a

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 2 Oct 2018 13:51:51 +0000 (15:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Ia2c4b0c316d7d5b71078807b83eeb7bfbce3d795

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 2 Oct 2018 13:14:27 +0000 (15:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I183c0061a1ac1c7f933c9417f4de1f82bdb33df0

5 years agoFix runtime array with workgroup storage class.
Stephen Clarke [Fri, 28 Sep 2018 14:40:36 +0000 (15:40 +0100)]
Fix runtime array with workgroup storage class.

Vulkan requires that runtime arrays must have Uniform or StorageBuffer
storage class, so give the array a known size (16).

Affects:
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.workgroup_memory_variable_pointers

Components: Vulkan

VK-GL-CTS issue: 1360
Change-Id: Iee3bff2ebda48dc2a00c1926715d94e823a008b8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 2 Oct 2018 12:53:42 +0000 (14:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Icb47ef51091c8e9137ab558e24f36658a19a42eb

5 years agoFixes AHB image tests feature check
Matthew Netsch [Mon, 1 Oct 2018 15:27:44 +0000 (11:27 -0400)]
Fixes AHB image tests feature check

Test now checks for protected feature
before adding protected flag to test set.

Components: Vulkan
VK-GL-CTS issue: 1396

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Change-Id: Icf174789d95a73c454aac33802b8a74d9e13c0cc

5 years agoVK_KHR_incremental_present: Fix usage flags.
Bas Nieuwenhuizen [Mon, 1 Oct 2018 11:32:59 +0000 (13:32 +0200)]
VK_KHR_incremental_present: Fix usage flags.

Besides swapchain support we also need
vkGetPhysicalDeviceImageFormatProperties support. Use just the
needed flags instead. As COLOR_ATTACHMENT is required in
VK_KHR_surface, we don't need to check for it.

Affected tests:

dEQP-VK.wsi.*.incremental_present.*

Components: Vulkan
VK-GL-CTS issue: 1395

Change-Id: I4dd0f95da0a8f31c11efe7ce58f12cfbe160a71e

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Mon, 1 Oct 2018 09:36:00 +0000 (11:36 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I2bb04d0971e886ccf716d14a534ffeff0915cd6f

5 years agoFix api.smoke.* tests for validation
Graeme Leese [Wed, 19 Sep 2018 17:05:09 +0000 (18:05 +0100)]
Fix api.smoke.* tests for validation

The memory flushing in these tests wasn't using the standard pattern and
appears to have been using a potentially incorrect offset of 0. Change
it to use the standard pattern.

Components: Vulkan
Affects: dEQP-VK.api.smoke.*
VK-GL-CTS issue: 1361

Change-Id: Iefa0841489f8dc910ba03b40e2f7370e889a06c6

5 years agoUpdate glslang to past the Turing extensions.
Jeff Bolz [Wed, 26 Sep 2018 16:41:22 +0000 (11:41 -0500)]
Update glslang to past the Turing extensions.

Change-Id: Ifcc9c1940ac35f9a4c43d6917f643df093dbbb09
Components: Vulkan

5 years agoAdd a flushAlloc helper to fix valid usage
Graeme Leese [Wed, 19 Sep 2018 12:04:34 +0000 (13:04 +0100)]
Add a flushAlloc helper to fix valid usage

Flushing/invalidating memory using the requested size (as the CTS code
does all over the place) is not safe. If the implementation's
MemoryRequirements make the allocation larger than the requested size
then the whole (padded) allocation will be mapped. This means that flush
and invalidate using a size which is not a multiple of the non-coherent
atom size are invalid. Replace these usages with helper functions to
flush/invalidate the whole block.

The current implementation uses WHOLE_SIZE to ensure that flush /
invalidate is valid, but sub-ranges could be implemented by storing how
much of any allocation is mapped. The structure of the current code
which maps memory at allocation time means that there cannot be any
other users being flushed out by the use of WHOLE_SIZE.

Includes a significant amount of work from @jbolz.

Components: Framework, Vulkan
Affects: dEQP-VK.*

Change-Id: I24ac185d7d041239430c53a6b61cede5828a7afd

5 years agodEQP-VK: Add tests for blitting to/from linear images
Jason Ekstrand [Sat, 21 Jul 2018 00:30:42 +0000 (17:30 -0700)]
dEQP-VK: Add tests for blitting to/from linear images

New Tests:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.*.linear_*_*
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.*.*_linear_*

Components: Vulkan

Change-Id: I6457959e805b57cb088b23753c21910ef22f4061

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Sun, 30 Sep 2018 14:30:48 +0000 (16:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I21abd3202b23abefd5149024c25374073c7afe7a

5 years agoCheck for compatible memory type in VK_EXT_external_memory_host tests
Igor Ostrowski [Tue, 25 Sep 2018 12:02:06 +0000 (14:02 +0200)]
Check for compatible memory type in VK_EXT_external_memory_host tests

Affects:
dEQP-VK.memory.external_memory_host.*

Components: Vulkan
VK-GL-CTS issue: 1372

Change-Id: I37a3058acd6f838de259ded01032f7793012566b

5 years agoFix timeout in dEQP-VK.wsi.android test
Peter Quayle [Fri, 28 Sep 2018 16:10:04 +0000 (17:10 +0100)]
Fix timeout in dEQP-VK.wsi.android test

Changes in Android P have causes the workload in
dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count
to increase significantly, leading to timeouts on some platforms.
This is worked around by simply touching the watchdog timer
between cases.

Affects:

dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count

Components: Vulkan

VK-GL-CTS issue: 1383

Change-Id: If5da804796f85acd3c2b9709a5463951609168dc

5 years agoSet patch version to 0 on test startup
Graeme Leese [Fri, 28 Sep 2018 13:57:13 +0000 (14:57 +0100)]
Set patch version to 0 on test startup

Some parts of the test expect the ApiVersion to have a patch level of 0
so set this explicitly on startup. This was happening accidentally for
VK1.1 devices because the version is set as min(loader, device) and the
loader version is always 1.1.0.

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

Change-Id: If3b59408628e5b4a91e0f367bd6b17ca67f69e58

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Fri, 28 Sep 2018 11:31:03 +0000 (13:31 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I3331377694e584a665508c3b8ef66cb3c6cea9d3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Fri, 28 Sep 2018 10:04:48 +0000 (12:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I05442ba8601df834249203b12ee56de3066bbf80

5 years agoFix build break when DEQP_HAVE_SPIRV_TOOLS is not defined.
kthangudu [Thu, 27 Sep 2018 21:31:42 +0000 (14:31 -0700)]
Fix build break when DEQP_HAVE_SPIRV_TOOLS is not defined.

VK-GL-CTS issue: 1389

Change-Id: I67206c770819b052a2370144bd4b024799bb5836

5 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Fri, 28 Sep 2018 00:25:23 +0000 (17:25 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: I777f742d2c5fe3559350b0e0ae045af688389730

5 years agoMerge remote-tracking branch 'khronos/master' into HEAD
Chris Forbes [Fri, 28 Sep 2018 00:00:58 +0000 (17:00 -0700)]
Merge remote-tracking branch 'khronos/master' into HEAD

Change-Id: I5af8cea42c1f8fa18361ff1061e25e99385ca32e

5 years agoUpdate LICENSE
Khronos Group Webmaster [Thu, 27 Sep 2018 20:34:55 +0000 (16:34 -0400)]
Update LICENSE

Change Apache 2.0 to Khronos Apache 2.0 CLA

5 years agoAdd SPIR-V optimization options to vk-build-programs
Alexander Galazin [Tue, 25 Sep 2018 13:42:44 +0000 (15:42 +0200)]
Add SPIR-V optimization options to vk-build-programs

Components: Vulkan

VK-GL-CTS issue: 1378

Change-Id: I05640c67b6bcc3e7daea84a200ca4033c27c2ac4

5 years agoMerge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
Chris Forbes [Thu, 27 Sep 2018 16:34:24 +0000 (09:34 -0700)]
Merge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
am: 6cf5f05368

Change-Id: I2be685a153ecb2514bd69dd577f458a0e35b62f2

5 years agoWhitelist VK_KHR_vulkan_memory_model
Alexander Galazin [Thu, 27 Sep 2018 15:33:25 +0000 (17:33 +0200)]
Whitelist VK_KHR_vulkan_memory_model

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

Change-Id: Id26f39dd0f5b6d09dba7a24777c45b5d4619552e

5 years agoTests for VK_KHR_vulkan_memory_model
Jeff Bolz [Mon, 30 Apr 2018 15:49:28 +0000 (10:49 -0500)]
Tests for VK_KHR_vulkan_memory_model

Components: Vulkan

New Tests: dEQP-VK.memory_model.*

Change-Id: Ie8f5b5e207cd870477038c01a9f6f897effa1d2d
(cherry picked from commit 905580df19be0b44829a92739ecabca311db0835)

5 years agoUpdate SPIR-V Tools
Alexander Galazin [Thu, 27 Sep 2018 07:46:01 +0000 (09:46 +0200)]
Update SPIR-V Tools

Components: Framework

Change-Id: If36127beae0cdd547c4d05819ef2d3ff34a34a96
(cherry picked from commit baafc4aa3199d1a19f6caf39b563a7cc03652714)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 27 Sep 2018 08:43:10 +0000 (10:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I5b210eddd69650e81b13c651b8d2dea71ce8b1af

5 years agoUpdate SPIR-V Tools
Alexander Galazin [Thu, 27 Sep 2018 07:46:01 +0000 (09:46 +0200)]
Update SPIR-V Tools

Components: Framework

Change-Id: If36127beae0cdd547c4d05819ef2d3ff34a34a96

5 years agoFix unused function warnings in the CTS code
Graeme Leese [Wed, 26 Sep 2018 10:57:02 +0000 (11:57 +0100)]
Fix unused function warnings in the CTS code

Some functions are declared unconditionally but only used when
HAVE_SPIRV_TOOLS is defined. This breaks the build when it it is not.

Components: Framework
Affects: dEQP-VK.*

Change-Id: I599cb83ea5f889eae6c3fc71c0f640e2b32fdb8b

5 years agoAdd screenLayout to AndroidManifest configChanges
Robert Tray [Fri, 14 Sep 2018 22:40:32 +0000 (16:40 -0600)]
Add screenLayout to AndroidManifest configChanges

Android P will generate screenLayout configuration changes for
AndroidTV devices when an orientation change happens.

Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.

Components: AOSP

VK-GL-CTS issue: 1357

Change-Id: I0e4eb3a89f5dfb175cbeb32cc6c921a0fe99e477

5 years agoFix support check for dEQP-VK.binding_model.descriptorset_random.*
Tom Cooper [Tue, 25 Sep 2018 13:59:16 +0000 (14:59 +0100)]
Fix support check for dEQP-VK.binding_model.descriptorset_random.*

Test should check vertexPipelineStoresAndAtomics before writing to a
storage image from a vertex shader.

Affects:
dEQP-VK.binding_model.descriptorset_random.*

Components: Vulkan
VK-GL_CTS issue: 1381

Change-Id: Ide65fe7ce2a0015875a56746a59725eb5eab3f1f

5 years agoAdd missing invalidates in renderpass tests
David Emett [Thu, 20 Sep 2018 18:56:47 +0000 (19:56 +0100)]
Add missing invalidates in renderpass tests

Components: Vulkan
VK-GL-CTS issue: 1367

Affects:
dEQP-VK.renderpass.*

Change-Id: Ie40381c3b36604ed4fcbb2613cc9aa4a54b17a46

5 years agoFix synchronisation in ycbcr tests
Graeme Leese [Fri, 21 Sep 2018 09:35:55 +0000 (10:35 +0100)]
Fix synchronisation in ycbcr tests

Components: Vulkan
Affects: dEQP-VK.ycbcr.*

Change-Id: Idfe7ef9cd0d5c8f9547c599631eae3bfcfa93e8a

5 years agoUse a valid final layout in renderpass tests
Graeme Leese [Wed, 19 Sep 2018 15:55:09 +0000 (16:55 +0100)]
Use a valid final layout in renderpass tests

The finalLayout must be a valid layout, it cannot be undefined.

Components: Vulkan
Affects: dEQP-VK.renderpass.*

Change-Id: Ia3753aa8bf71241d2b7d0da3183c5ef9255efad4

5 years agoFix valid usage for SampleLocations extension
Graeme Leese [Fri, 21 Sep 2018 12:17:46 +0000 (13:17 +0100)]
Fix valid usage for SampleLocations extension

Components: Vulkan
Affects: dEQP-VK.pipeline.multisample.sample_locations_ext.*

Change-Id: I92f8885eb3a5f4df3f2148b823add30f096ea778

5 years agoFix some pipeline and memory barriers
Graeme Leese [Fri, 21 Sep 2018 11:56:11 +0000 (12:56 +0100)]
Fix some pipeline and memory barriers

These were not obeying the valid usage

Components: Vulkan
Affects: dEQP-VK.api.*
         dEQP-VK.pipeline.*
         dEQP-VK.sparse_resources.*

Change-Id: Id2283000312ea6a17807223b6ec3353e910d3b6a

5 years agoFix dEQP-VK.glsl.atomic_operations.*64bit*
Norbert Garnys [Thu, 20 Sep 2018 11:27:11 +0000 (13:27 +0200)]
Fix dEQP-VK.glsl.atomic_operations.*64bit*

Change buffer structure to be naturally aligned.

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan

VK-GL-CTS issue:1364

Change-Id: I6721ee396e55e6c83cb3970171eafd064076c988

5 years agoRemove self assignment statement
Yi Kong [Fri, 21 Sep 2018 08:03:53 +0000 (01:03 -0700)]
Remove self assignment statement

This is redundant. Fixes "-Wself-assign-overloaded" warning.

Test: m
Bug: 110779387
Change-Id: Iefa1c580e062ba61c58a4b6073ddda1111a02c9b

5 years agoUse sRGB encoded reference values for 8-bit Display P3 tests
Weiwan Liu [Wed, 26 Sep 2018 01:47:47 +0000 (18:47 -0700)]
Use sRGB encoded reference values for 8-bit Display P3 tests

Per EGL_EXT_gl_colorspace_display_p3 spec, Display P3 assumes
sRGB transfer function. So use the reference values computed
in sRGB space for 8-bit Display P3 tests, instead of linear ones.

Components: AOSP
VK-GL-CTS issue: 1384

Affects:
dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_p3
dEQP-EGL.functional.wide_color.window_8888_colorspace_p3

Change-Id: I77cf0f84b3189ce4e64f28a83d771b21eccd9214

5 years agoTest OpPtrAccessChain with base alignment of < 16
Ari Suonpaa [Mon, 10 Sep 2018 07:26:08 +0000 (10:26 +0300)]
Test OpPtrAccessChain with base alignment of < 16

Added a new test for indexing a nested float array inside storage
buffer using OpPtrAccessChain. The base alignment is not rounded
up to 16.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.indexing.input.non16basealignment.*

Components: Vulkan

VK-GL-CTS issue: 1318
Change-Id: I00ac554df78497ef7393352e5d5848903afcad5a

5 years agoAdd some tests for redeclarations of builtins
Timothy Arceri [Thu, 23 Aug 2018 06:18:35 +0000 (16:18 +1000)]
Add some tests for redeclarations of builtins

From Section 3.7. (Identifiers) of the GLSL 4.60 spec:

   "Identifiers starting with “gl_” are reserved for use by OpenGL,
   and in general, may not be declared in a shader; this results in
   a compile-time error. However, as noted in the specification,
   there are some cases where previously declared variables can be
   redeclared, and predeclared “gl_” names are allowed to be
   redeclared in a shader only for these specific purposes."

The specific cases where redeclaration is allowed are cases where
invariant is added, precision qualifiers are added, an array size is
added, etc.

Components: OpenGL
Affects: KHR-GL[34]*.shaders30.declarations.declarations*

Change-Id: Ifa39311d64e24d8e1a419959a2e6b2252991e694

5 years agoAdd GL test for invalid layouts function param
Timothy Arceri [Thu, 23 Aug 2018 04:49:41 +0000 (14:49 +1000)]
Add GL test for invalid layouts function param

This tests that image layout qualifiers are not applied to function
parameters.

From Section 4.4. (Layout Qualifiers) of the GLSL 4.60 spec:

   "Layout qualifiers can appear in several forms of declaration.
   They can appear as part of an interface block definition or
   block member, as shown in the grammar in the previous section.
   They can also appear with just an interface-qualifier to establish
   layouts of other declarations made with that qualifier:

      layout-qualifier interface-qualifier ;

   Or, they can appear with an individual variable declared with
   an interface qualifier:

      layout-qualifier interface-qualifier declaration ;"

From Section 4.10 (Memory Qualifiers) of the GLSL 4.60 spec:

   "Layout qualifiers cannot be used on formal function parameters,
   and layout qualification is not included in parameter matching."

Components: OpenGL
VK-GL-CTS issue: 1325
New tests: KHR-GL4*.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_*

Change-Id: Ia522e4a7150b56d51f2859e7ce57684daf12efde

5 years agoAdd GL test for preprocessor stringification
Timothy Arceri [Thu, 23 Aug 2018 02:38:56 +0000 (12:38 +1000)]
Add GL test for preprocessor stringification

From Section 3.3. (Preprocessor) of the GLSL 4.60 spec:

   "The following operators are also available:
       defined
       ##

    ...

    Any  directive  not  listed  above  will  cause  a
    compile-time error."

The test deliberately doesn't make use of VEC4_STRING_PARAM()
because that triggers an invalid type error (passing string to
vec4) on some drivers.
We want to make sure the compile error is triggered by the
preprocessor instead.

Components: OpenGL
VK-GL-CTS issue: 1324

Change-Id: I19838ddc5702aaca377bad9325bb6b21ec2bf30f

5 years agoAdd links to Cherry inside the root readme
Sruthik P [Fri, 24 Aug 2018 20:59:54 +0000 (20:59 +0000)]
Add links to Cherry inside the root readme

Change-Id: I03b107cb2d0aaab7101ea6612005d2b1bb36462c

5 years agoMerge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev
Chris Forbes [Tue, 25 Sep 2018 20:20:19 +0000 (13:20 -0700)]
Merge remote-tracking branch 'khronos/vulkan-cts-1.1.0' into pie-cts-dev

Change-Id: Iabe42226d4971e28fe10fb58c79fb21bb020094d
Bug: b/116248353
Bug: b/116439954

5 years agoMerge remote-tracking branch 'khronos/master' into HEAD
Chris Forbes [Tue, 25 Sep 2018 19:47:20 +0000 (12:47 -0700)]
Merge remote-tracking branch 'khronos/master' into HEAD

Change-Id: Icf5ec8a9a623f7264a973e87a0bb2f901097aa03

5 years agoShader validation: respect Vulkan version, relaxed layout requirement
David Neto [Fri, 21 Sep 2018 14:36:56 +0000 (10:36 -0400)]
Shader validation: respect Vulkan version, relaxed layout requirement

Pass more info to SPIR-V validation:
- Target Vulkan version
- Whether the test case requested relaxed layout

When a shader is built with VK_KHR_relaxed_block_layout, the SPIR-V
module does not record the setting.  But SPIR-V module validation
for Vulkan 1.0 must know if block layout should be relaxed.
Vulkan 1.1 includes VK_KHR_relaxed_block_layout in core.

Adds the necessary state to framework program build options objects to
pass those options to the SPIR-V validator.

Update SPIRV-Tools, SPIRV-Headers, Glslang to just befor NV Turing extensions.
Make sure we have the entry point:
  spvValidatorOptionsSetRelaxedBlockLayout

Change-Id: I74511629a4e56a4fea370ffe3a21677465a4510f
Component: Framework
VK-GL-CTS: 1266, 1270
(cherry picked from commit 6d10706988d07f2fbe34914ec63dccd24447a10e)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 25 Sep 2018 13:55:21 +0000 (15:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I6abfb86bd46b492d0cd8f1f7614d13c4480734ea

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 25 Sep 2018 13:26:40 +0000 (15:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Idc9e2c7523b11e08a849f226037fd2f2fea1e370

5 years agoDrop superfluous Clip/CullDistance capabilities
Graeme Leese [Fri, 21 Sep 2018 11:36:07 +0000 (12:36 +0100)]
Drop superfluous Clip/CullDistance capabilities

These capabilities were declared but not actually needed, causing the
tests to fail validation if the features are not supported.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ic3cbef0f8141c53abeb575dff73953360761fad9

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 25 Sep 2018 11:05:35 +0000 (13:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I4e418414ad3adf232f210cacb3e84881ae94d98e