platform/upstream/VK-GL-CTS.git
6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 18 Oct 2018 18:22:07 +0000 (20:22 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Icdbfda5c3815cf424e8cc0065a5e73955f016c51

6 years agoFix 16-bit storage IO f64-to-f16 conversion tests
Alexander Galazin [Thu, 18 Oct 2018 13:12:50 +0000 (15:12 +0200)]
Fix 16-bit storage IO f64-to-f16 conversion tests

The tests were applying a rounding mode decoration
to OpFConvert that was used by OpReturnValue.
The extension doesn't allow this. The only allowed
successor for suc instruction is OpStore to specific
storage classes.

Components: Vulkan

VK-GL-CTS issue: 1424

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_64_to_16.*

Change-Id: Ia224e4c6d1e11e6bc1c250d68e5b24f90000d8e6

6 years agoRemove test lib dependencies on deqp-vk-package.
Jeff Bolz [Wed, 26 Sep 2018 17:58:05 +0000 (12:58 -0500)]
Remove test lib dependencies on deqp-vk-package.

These limit parallelism in MSVC builds, presumably due to the
circular dependency in the cmake files. These libs really only
depend on 'test utility' code and not on 'test framework' code,
so split out the test utility code into a util folder and fixup
all the includes/libs to point at those.

Change-Id: I6eae113df12d0a3ec90c618eb61a2816d02bcd9e
Components: Vulkan

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 18 Oct 2018 11:15:01 +0000 (13:15 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ie175674eca5fd0cbd2fe0b7e9ea5658adf74ba32

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 18 Oct 2018 10:11:32 +0000 (12:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I74bb0bd8b5d531ba868c3ac2ff5ae49acd86027a

6 years agoUpdate to latest SPIRV-Tools/Glslang GitHub master
David Neto [Mon, 15 Oct 2018 21:58:58 +0000 (17:58 -0400)]
Update to latest SPIRV-Tools/Glslang GitHub master

SPIR-V modules fail to validate:
- 9 cases: All OpVariable instructions in a function must be the first instructions in the first block.
- 240 cases: FPRoundingMode decoration can be applied only to the Object operand of an OpStore.
- 1024 cases: NonPrivatePointerKHR must be specified if MakePointerAvailableKHR is

Components: Framework

Affects: dEQP-VK.*

Change-Id: I5079a8e949a485165ff3c0a38e0820e59028ddc1

6 years agoRemove invalid execution mode in smoke test
Graeme Leese [Wed, 19 Sep 2018 17:04:50 +0000 (18:04 +0100)]
Remove invalid execution mode in smoke test

OriginLowerLeft is not valid, so use OriginUpperLeft.

Components: Vulkan
Affects: dEQP-VK.api.smoke.asm_triangle

Change-Id: I14b2ac7ec2b56be228aa7de3442f605e8525f163
(cherry picked from commit c1d6ed4ac1b41773aa8043793bc6eebea47f1f5e)

6 years agofetch_sources: can remove a tag before fetching
David Neto [Wed, 10 Oct 2018 00:23:54 +0000 (20:23 -0400)]
fetch_sources: can remove a tag before fetching

Glslang's master-tot tag moves around, which causes subsequent fetches
to fail. Forcibly remove it before fetching.

Component: Framework
VK-GL-CTS issue: 1412

Change-Id: I18233e49cfac8652e4e6a56732cb1b4215488781
(cherry picked from commit 595262f42a6653b225a42a990b10c69c99f5374d)

6 years agofetch_sources: can remove a tag before fetching
David Neto [Wed, 10 Oct 2018 00:23:54 +0000 (20:23 -0400)]
fetch_sources: can remove a tag before fetching

Glslang's master-tot tag moves around, which causes subsequent fetches
to fail. Forcibly remove it before fetching.

Change-Id: I18233e49cfac8652e4e6a56732cb1b4215488781
Component: Framework
VK-GL-CTS issue: 1412

6 years agoReduce padding in shared memory tests
Graeme Leese [Tue, 9 Oct 2018 14:54:41 +0000 (15:54 +0100)]
Reduce padding in shared memory tests

According to the new shared memory packing rules one test exceeded the
minimum shared memory size because of the padding. Change the order of
the members to make it fit.

Components: OpenGL
Affects: KHR-GLES31.core.compute_shader.shared-struct
VK-GL-CTS issue: 1411

Change-Id: I321bab7c304254ab19303ff1bf5b7e17ae036742

6 years agoUpdate glslang to fix memory model spirv validation
Jeff Bolz [Tue, 16 Oct 2018 19:42:42 +0000 (14:42 -0500)]
Update glslang to fix memory model spirv validation

Fixes https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1421

Components: Vulkan

VK-GL-CTS issue: 1421
Affects: dEQP-VK.memory_model*
and possibly others due to other glslang changes

Change-Id: Iff7e61d983495017d1b32f55be4a7a30d1aecf92

6 years agoTest storing protected data in workgroup memory
Ari Suonpaa [Tue, 21 Aug 2018 11:47:59 +0000 (14:47 +0300)]
Test storing protected data in workgroup memory

Added tests where protected image contents are passed through
workgroup memory. Moved common functions to an utility file.

New tests:

dEQP-VK.protected_memory.workgroupstorage.*

Components: Vulkan

VK-GL-CTS issue: 1076
Change-Id: Icef3b0c6e8d520946b3fa4aea3f6ae9cc1f0f72d

6 years agoFix 16-bit storage IO f32-to-f16 conversion tests
Alexander Galazin [Wed, 17 Oct 2018 07:46:34 +0000 (09:46 +0200)]
Fix 16-bit storage IO f32-to-f16 conversion tests

The tests were applying a rounding mode decoration
to OpFConvert that was used by OpReturnValue.
The extension doesn't allow this. The only allowed
successor for suc instruction is OpStore to specific
storage classes.

Components: Vulkan

VK-GL-CTS issue: 1424

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_32_to_16.*

Change-Id: Ica7b0c1da79225500124fc596859a7a04f086d52

6 years agoFix precision mismatches in GLSL tests
Graeme Leese [Tue, 9 Oct 2018 09:41:21 +0000 (10:41 +0100)]
Fix precision mismatches in GLSL tests

Various tests missed out setting the integer precision to match between
vertex and fragment stages (mostly the bool variants). Set ints to use
highp for these tests, like they already do in the integer variants.

Components: Vulkan
Affects: dEQP-VK.glsl.arrays.*

Change-Id: I2da13ed1086da98b6b1e6fc1076c959c6df2e00a

6 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
(cherry picked from commit 13f3162b7f2fcce56c98394561308dd97e6b8d60)

6 years agoAdded tests for non-linear attribute locations
Ari Suonpaa [Tue, 9 Oct 2018 11:21:47 +0000 (14:21 +0300)]
Added tests for non-linear attribute locations

Vertex input tests are using attribute locations in linear
fashion. Added a test group where the vertex input test
generates holes in location slots.

New tests:

dEQP-VK.pipeline.vertex_input.*.layout_skip.*

Components: Vulkan

VK-GL-CTS issue: 1348
Change-Id: Ie3c36b466f86281987e061a53cef1c0ef13427b1

6 years agoFix YCbCr requirement in image_format_properties tests
Ilkka Saarelainen [Fri, 5 Oct 2018 07:03:52 +0000 (10:03 +0300)]
Fix YCbCr requirement in image_format_properties tests

This changes image_format_properties tests to treat YCbCr formats
equally to other formats when VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is used.

This also removes testing image format properties with create flags
containing VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT and/or
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT but not
VK_IMAGE_CREATE_SPARSE_BINDING_BIT because such flag combinations are
against API usage guide.

Affects:

dEQP-VK.api.info.image_format_properties.*

Components: Vulkan

VK-GL-CTS issue: 1063

Change-Id: I9135108c360f4c9ac7ae7b0238c9842fd4a21792

6 years agoShader runner changes to fix validation
Graeme Leese [Tue, 9 Oct 2018 14:59:44 +0000 (15:59 +0100)]
Shader runner changes to fix validation

Fix one pipeline barrier and stop allocating unneeded fragment outputs.
Tests with multiple outputs were allocating one color target for each,
but self-checking tests combine their results down to a single yes/no
color write. For these tests, only allocate one output target.

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

Change-Id: Icb97091e9de7e58e3751f0a5c4f9a19a6894f085

6 years agoPlace OpVariable at the beginning of the block
Alexander Galazin [Mon, 15 Oct 2018 10:21:02 +0000 (12:21 +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.*.float16.*
dEQP-VK.spirv_assembly.instruction.*.float_controls.*

Change-Id: I71a3db297039281b1d693aab9396b1a610119767

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 16 Oct 2018 09:21:13 +0000 (11:21 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I3a5693061cf5b981daf2861a4102876426c2881d

6 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

6 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)

6 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

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

Change-Id: I5d1e2650b5510176c1be087bacfd6deb6adaf89e

6 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

6 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

6 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

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 12 Oct 2018 11:05:16 +0000 (13:05 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I873830d45bead5c66669f74be5f08fcaa871c73a

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

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

Change-Id: Id2cecd1c5c13a7947ba93273b432d86522088130

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 3 Oct 2018 07:19:37 +0000 (09:19 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I5eea945d0e0016bc92d34c9610a8865b1d97ed86

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 2 Oct 2018 14:42:21 +0000 (16:42 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ib9ad92d595613b9327100ccd1ca57fba3e8dfbe9

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Mon, 1 Oct 2018 08:11:18 +0000 (10:11 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I2173b5926ae58e7ab9394f0923efd983b30d5dbe

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 28 Sep 2018 11:18:04 +0000 (13:18 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I4a87a92e06be2feabe865af2cc1b64a85f11859d

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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