platform/upstream/VK-GL-CTS.git
6 years agoAdd precision error margin to cos() tests for float_controls
Samuel Iglesias Gonsálvez [Tue, 4 Dec 2018 15:22:26 +0000 (16:22 +0100)]
Add precision error margin to cos() tests for float_controls

On some old Intel hardware, Mesa doesn't return exactly 1.0 for cos(0).
This change implements the precision error margin for the affected cos() tests,
following Vulkan spec, "Precision and Operation of SPIR-V Instructions".

Components: Vulkan

Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*.cos_denorm_flush_to_zero*

VK-GL-CTS issue: 1498

Change-Id: I2ff07616f706d4214517917276aeb26d2d875325
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
6 years agoRemove unsupported image load store tests
Piers Daniell [Tue, 4 Dec 2018 17:06:01 +0000 (10:06 -0700)]
Remove unsupported image load store tests

CL https://gerrit.khronos.org/#/c/2639/ added more
formats to the dEQP-VK.image.mutable.* tests. Variants
of these tests use image load store. However, the new
formats added are not all compatible with image load
store as defined by:
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#spirvenv-image-formats

This CL removes test variants that use image load store
and the invalid formats from the mustpass list.

Affected tests:
dEQP-VK.image.mutable.*
dEQP-VK.image.swapchain_mutable.*

Components: Vulkan

VK-GL-CTS issue: 1495

Change-Id: I49867913ba5c4e50b4f3d85d7c6787dc60113e63

6 years agoFix image feature checks for swapchain_mutable.*
Piers Daniell [Mon, 3 Dec 2018 22:27:34 +0000 (15:27 -0700)]
Fix image feature checks for swapchain_mutable.*

This fix mirrors what was already done in
https://gerrit.khronos.org/#/c/2799/ for the other
image.mutable.* tests. Without this fix the
DE_FATAL("Invalid download method") assert will fire
for some of the sub tests and the test won't be
properly skipped when the platform doesn't support
the format.

Components: Vulkan

Affects: dEQP-VK.image.swapchain_mutable.*

VK-GL-CTS Issue: 1295

Change-Id: I009baa8697ae09f7e9b8001b90159658ced4c62a

6 years agoFix ubo.random to only use scalar_block_layout in 'scalar' tests
Jeff Bolz [Tue, 4 Dec 2018 17:00:04 +0000 (11:00 -0600)]
Fix ubo.random to only use scalar_block_layout in 'scalar' tests

Components: Vulkan
Affects: dEQP-VK.ubo.random*

VK-GL-CTS issue: 1493

Change-Id: I1f5c9b3d8269973c33de1908673d942e67ea3184

6 years agoUpdate SPIR-V Tools/Headers
Alexander Galazin [Mon, 3 Dec 2018 17:54:16 +0000 (18:54 +0100)]
Update SPIR-V Tools/Headers

Update SPIR-V Tools/Headers to public commits

Components: Framework

Change-Id: If65c03f115c69386163303c61f5f62c85a2b3d4b

6 years agoFix incorrect decoration on PushConstant
Alexander Galazin [Mon, 3 Dec 2018 18:40:25 +0000 (19:40 +0100)]
Fix incorrect decoration on PushConstant

The spec reuires PC to be decorated as Block not BufferBlock

Components: Vulkan

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

VK-GL-CTS issue: 1494

Change-Id: Ic82ad34970117a06101173bdc2f62dea6859e723

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 30 Nov 2018 10:55:11 +0000 (11:55 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: If1ee61695b77b22b2bbb7071d375ee1de46a2d6e

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 30 Nov 2018 10:16:04 +0000 (11:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I141759bd5109a1207d170b7977345a6c739d4d49

6 years agoFix non-constant Id in subgroupBroadcast
Alexander Galazin [Wed, 28 Nov 2018 18:32:31 +0000 (19:32 +0100)]
Fix non-constant Id in subgroupBroadcast

Glslang started to enforce constantness of
the ID parameter in subgroupBroadcast.
This fixes some tests that used to have
non-constant Id by manually unrolling the loop.

Components: Vulkan

Affects: dEQP-VK.subgroups.ballot_broadcast.subgroupbroadcas*

VK-GL-CTS issue: 1489

Change-Id: I291875f94b9781fc4920617106c4f86786fd82d8
(cherry picked from commit 4708641aeed605da095764bbc2d90df760309db3)

6 years agoRemove texel_view uncompressed float formats
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats

The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".

This change removes any float formats from the list of uncompressed
formats used to generate test cases.

Affects:

dEQP-VK.image.texel_view_compatible*float

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076

6 years agoRemove texel_view uncompressed float formats
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats

The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".

This change removes any float formats from the list of uncompressed
formats used to generate test cases.

Affects:

dEQP-VK.image.texel_view_compatible*float

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076

6 years agoRemove texel_view uncompressed float formats
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats

The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".

This change removes any float formats from the list of uncompressed
formats used to generate test cases.

Affects:

dEQP-VK.image.texel_view_compatible*float

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076

6 years agoUpdate SPIR-V Tools/Headers
Alexander Galazin [Wed, 28 Nov 2018 09:09:54 +0000 (10:09 +0100)]
Update SPIR-V Tools/Headers

Update SPIR-V Tools/Headers to gitlab-prelim-rc9

Components: Framework

Change-Id: I7e6d8a98afe431df2d8bf4c77e5a609f1c34b2a1

6 years agoUpdate glslang
Alexander Galazin [Thu, 29 Nov 2018 09:29:52 +0000 (10:29 +0100)]
Update glslang

Components: Framework

Change-Id: I0d3cf4fa6e5cce6c37a76bc2558cb4aeced4f902

6 years agoFix: alloc_callback_fail.render_pass test
Arkadiusz Sarwa [Wed, 28 Nov 2018 16:23:32 +0000 (17:23 +0100)]
Fix: alloc_callback_fail.render_pass test

Test does not use the created allocator and always reports
quality error.

Components: Vulkan

Affects: dEQP-VK.api.object_management.alloc_callback_fail.render_pass

VK-GL-CTS issue: 1488

Change-Id: I18b87dec78e1c50cb8caf6d2e5acdeec42b05dd6

6 years agoFix non-constant Id in subgroupBroadcast
Alexander Galazin [Wed, 28 Nov 2018 18:32:31 +0000 (19:32 +0100)]
Fix non-constant Id in subgroupBroadcast

Glslang started to enforce constantness of
the ID parameter in subgroupBroadcast.
This fixes some tests that used to have
non-constant Id by manually unrolling the loop.

Components: Vulkan

Affects: dEQP-VK.subgroups.ballot_broadcast.subgroupbroadcas*

VK-GL-CTS issue: 1489

Change-Id: I291875f94b9781fc4920617106c4f86786fd82d8

6 years agoWhitelist VK_KHR_shader_float16_int8
Alexander Galazin [Fri, 30 Nov 2018 08:27:32 +0000 (09:27 +0100)]
Whitelist VK_KHR_shader_float16_int8

Components: Vulkan

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

Change-Id: Ic694aa658912ead8288ceccc2def4572742cd193

6 years agoFix: adds checking the maxPerStageResources limit
Arkadiusz Sarwa [Fri, 23 Nov 2018 14:46:50 +0000 (15:46 +0100)]
Fix: adds checking the maxPerStageResources limit

Tests dEQP-VK.binding_model.descriptorset_random.*
don't check that limit, so it is possible to execute tests
on device which doesn't support so many descriptors.

Components: Vulkan

Affects: dEQP-VK.binding_model.descriptorset_random.*

VK-GL-CTS issue: 1481

Change-Id: If07f3c6aeb7696cec4620eb93df87ac2119ee3cc

6 years agoMore allowed alternatives for 'dot' and 'normalize'
Boris Zanin [Mon, 19 Nov 2018 10:08:31 +0000 (11:08 +0100)]
More allowed alternatives for 'dot' and 'normalize'

Expanded dot and normalize may be re-associated in multiple ways.
Add all possible alternatives.

Updates:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*opdot
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*normalize

Affects:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*

Components: Vulkan

VK-GL-CTS issue: 1451

Change-Id: I524ad384b876618f42f87bc147622f7b5bd80cd4

6 years agoFix validation for int8 conversion
Alexander Galazin [Wed, 28 Nov 2018 10:47:18 +0000 (11:47 +0100)]
Fix validation for int8 conversion

Add Int8 capability for conversions between int8 and non-32 bit types

Components: Vulkan

Affects: dEQP-VK.spirv_assembly.*.convert*

Change-Id: I61485d5f6cc8c1d48cc50f1268398b7df7c92d91

6 years agoAllow float16 max value for result larger than max
Peter Deayton [Thu, 15 Nov 2018 18:26:37 +0000 (10:26 -0800)]
Allow float16 max value for result larger than max

Numbers larger than the maximum representable float16 value may round to
infinity for RTE rounding mode, or to the maximum representable value
65504 (0x7bff) for RTZ rounding mode.

Components: Vulkan

VK-GL-CTS issue: 1483

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_*

Change-Id: Id53eeb797e522db98bb070894a7c715507a4f05a

6 years agoAllow RTE and RTZ for float16 derivative test
Peter Deayton [Thu, 15 Nov 2018 18:25:58 +0000 (10:25 -0800)]
Allow RTE and RTZ for float16 derivative test

The result of the test may not be representable exactly in a float16.
Allow both round to nearest even and round to zero as valid results.

Components: Vulkan

VK-GL-CTS issue: 1482

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

Change-Id: I7add6f5fc0888897fbb374fb8e5576f7c1284bc3

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 28 Nov 2018 11:51:29 +0000 (12:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: If195a88e379f262db7a1220f8cf7a2905225c9f9

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 28 Nov 2018 11:21:14 +0000 (12:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I92e6488c67cd6bafa10dec08c8e6d90dcc80be0d

6 years agoFixes memory allocation tests
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests

Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.

Components: Vulkan
VK-GL-CTS issue: 1259

Affects:
dEQP-VK.memory.allocation.basic.size_*

Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a
(cherry picked from commit 0f658f6c6a12a7356ce494cd6eaf9034da0a84b7)

6 years agoUpdate glslang
Alexander Galazin [Tue, 27 Nov 2018 13:26:50 +0000 (14:26 +0100)]
Update glslang

Components: Framework

Change-Id: I5c969c767d58afe0d0ef30e46f78d9b96d20b8a7

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 27 Nov 2018 13:06:15 +0000 (14:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I3a2c85d31fe5622a9c0a2d428d419e3853699733

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 27 Nov 2018 13:06:11 +0000 (14:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Id836e23ef8901e34c2fcdbba40aea8aad4d3767d

6 years agoFix pointer storage class for spirv_assembly tessellation tests.
Jeff Bolz [Tue, 20 Nov 2018 16:00:45 +0000 (10:00 -0600)]
Fix pointer storage class for spirv_assembly tessellation tests.

This was a new validation rule in
https://github.com/KhronosGroup/SPIRV-Tools/commit/d7cd1203a42b850e38a42e3606b22f810f671a90.

Errors look like:

Validation FAILED: From SPIR-V spec, section 3.32.8 on OpVariable:
Its Storage Class operand must be the same as the Storage Class operand of the result type.
  %gl_PrimitiveID = OpVariable %_ptr_Output_int Input

Also update to latest spirv-tools.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*
Change-Id: I14a10b936da36ddc572551b1bf5fc3c837a79fb8

6 years agoProperly align and pad vec16x2 values in UBO array
Slawomir Cygan [Mon, 22 Oct 2018 15:12:11 +0000 (17:12 +0200)]
Properly align and pad vec16x2 values in UBO array

Each of vec16x2 element should be thightly packed, followed by padding.

Without this change the test was padding each float16 value.

Components: Vulkan

VK-GL-CTS Issue: 1436

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_64.uniform_vector_float
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_float_16_to_64.uniform_vector_float*

Change-Id: I4405a96eb5a27cfd8bf362853b28d59f20cb2314
(cherry picked from commit 8dbff9d866aa838047c641a5eeab19381be3df4f)

6 years agoRequire VK_KHR_shader_float16_int8 in float16 opconstant tests
Iago Toral Quiroga [Thu, 4 Oct 2018 07:43:17 +0000 (09:43 +0200)]
Require VK_KHR_shader_float16_int8 in float16 opconstant tests

The SPIR-V code in the shaders used by these tests includes
16-bit floating point OpVectorTimesScalar and
OpMatrixTimesVector operations, which require the extension. There
is no compute version of these tests, only graphics.

Components: Vulkan
VK-GL-CTS issue: 1403

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

Change-Id: If0f7960013759a0d5dad41629dcefc79350c3c88
(cherry picked from commit a83c04cd2f258fbce81ddbaa10f1e5ae092deb8b)

6 years agoProperly analyze edge0>=edge1 cases in smoothstep
Boris Zanin [Thu, 18 Oct 2018 08:50:25 +0000 (10:50 +0200)]
Properly analyze edge0>=edge1 cases in smoothstep

Smoothstep result is undefined if edge0 >= edge1. Make tests
return NaNs for such cases to them.

Affected tests:
 * dEQP-VK.glsl.builtin.precision.smoothstep.mediump_compute.*
 * dEQP-VK.glsl.builtin.precision.smoothstep.highp_compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage16b.smoothstep.compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage32b.smoothstep.compute.*

Components: Vulkan

VK-GL-CTS issue: 1425

Change-Id: Ieafc34c176c6681c2377898dde9a4934a3e5bcd3
(cherry picked from commit 4b16ba6bbd7e97b47244e4fb52ed6ccda37b3a48)

6 years agoRemove NaN from OpFOrd* and OpFUnord* tests
Boris Zanin [Wed, 17 Oct 2018 13:50:49 +0000 (15:50 +0200)]
Remove NaN from OpFOrd* and OpFUnord* tests

Due to Vulkan specification enables NaNs to be unsupported
by implementation, the NaN values cannot be processed.

As it is quite complicated to remove NaNs from tested values
stream this fix just blocks their analysis.

Following instructions are not fully tested now:
 * OpFOrdEqual
 * OpFOrdGreaterThan
 * OpFOrdLessThan
 * OpFOrdGreaterThanEqual
 * OpFOrdLessThanEqual
 * OpFUnordEqual
 * OpFUnordGreaterThan
 * OpFUnordLessThan
 * OpFUnordGreaterThanEqual
 * OpFUnordLessThanEqual

Affected tests:
 * dEQP-VK.glsl.builtin.precision.comparison.mediump_compute.*
 * dEQP-VK.glsl.builtin.precision.comparison.highp_compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage16b.comparison.compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage32b.comparison.compute.*

Components: Vulkan

VK-GL-CTS issue: 1423

Change-Id: Ic64cfdbe23d796de90dae0931109421ded2b526a
(cherry picked from commit 000e5e5b71561a9f4ff411219f034cb72879b56f)

6 years agoTest OpSpecConstantOp in float_controls
Piotr Byszewski [Fri, 10 Aug 2018 11:07:55 +0000 (13:07 +0200)]
Test OpSpecConstantOp in float_controls

Only rounding controls for FConvert opcode can be tested
because other opcodes would require float operations
that are only available with Kernel capability.

Components: Vulkan

VK-GL-CTS issue: 1083

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I42ce9adc88340450648c4c088cd975f1abe2d88f
(cherry picked from commit 84530d144c147db854606e5dbabd2bfdff5e8177)

6 years agoTests for VK_KHR_shader_float_controls
Piotr Byszewski [Wed, 28 Mar 2018 13:27:52 +0000 (15:27 +0200)]
Tests for VK_KHR_shader_float_controls

Tests are executed for both compute and graphics stages,
for all three float widths and for two argument preparation
methods (passed via SSBO and generated in SPIR-V code).

Components: Vulkan

VK-GL-CTS issue: 1083

Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I2bb10b7aa51283600051ecf67e845ed5f2b2093f
(cherry picked from commit 64edd2b341e49acf09be0f0807f0c2d635967171)

6 years agoFP16 precision tests VK_KHR_shader_float16_int8
Alexander Galazin [Wed, 19 Jul 2017 08:57:20 +0000 (10:57 +0200)]
FP16 precision tests VK_KHR_shader_float16_int8

Add tests:
 * dEQP-VK.glsl.builtin.precision_fp16*
 * dEQP-VK.glsl.builtin.precision*.comparison.*

Components: Vulkan, Framework

VK-GL-CTS issues: 1094

Change-Id: Iff0d1c4c144231128e5cd80bc7f72ef162ec22fa
(cherry picked from commit 6971843a108455bc7e411d704b491d0802022e0f)

6 years agoSPIR-V tests for VK_KHR_shader_float16_int8
Boris Zanin [Fri, 13 Apr 2018 12:38:19 +0000 (14:38 +0200)]
SPIR-V tests for VK_KHR_shader_float16_int8

Add tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.function*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorextractdynamic*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorinsertdynamic*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opvectorshuffle*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeconstruct*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeextract*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.opcompositeinsert*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic*
 * dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert16_*
 * dEQP-VK.spirv_assembly.instruction.graphics.opphi.swap16_*
 * dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*float16*
 * dEQP-VK.spirv_assembly.instruction.graphics.convert*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.function*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opconstantcomposite.*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorextractdynamic*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorinsertdynamic*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opvectorshuffle*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeconstruct*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeextract*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.opcompositeinsert*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*
 * dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16
 * dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16
 * dEQP-VK.spirv_assembly.instruction.compute.fconvert.*float16*
 * dEQP-VK.spirv_assembly.instruction.compute.convert*

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

Components: Vulkan

VK-GL-CTS issue: 1095

Change-Id: If6112d42a9b84eaff50e559f0a4b438372815ae7
(cherry picked from commit 449a2e07496fc77e1c267b00d3d9e4c070accbb9)

6 years agoAdd convert tests for 8-bit integers
Boris Zanin [Tue, 17 Jul 2018 13:51:07 +0000 (15:51 +0200)]
Add convert tests for 8-bit integers

Add tests:
 * dEQP-VK.spirv_assembly.instruction.*.sconvert*int8*
 * dEQP-VK.spirv_assembly.instruction.*.uconvert*uint8*
 * dEQP-VK.spirv_assembly.instruction.*.convertstof*int8*
 * dEQP-VK.spirv_assembly.instruction.*.convertftos*uint8*
 * dEQP-VK.spirv_assembly.instruction.*.convertutof*int8*
 * dEQP-VK.spirv_assembly.instruction.*.convertftou*uint8*

Affect tests:
 * dEQP-VK.spirv_assembly.instruction.*convert*

Components: Vulkan

VK-GL-CTS issues: 1095

Change-Id: I4f125634d993795029feee34a1818cdacc000517
(cherry picked from commit 59a188436f57fac4a89772302c96d843310605f2)

6 years agoAdd float <--> int conversion tests
Ilkka Saarelainen [Fri, 10 Aug 2018 11:39:07 +0000 (14:39 +0300)]
Add float <--> int conversion tests

Added compute and graphics tests for OpConvertSToF, OpConvertFToS,
OpConvertUToF and OpConvertFToU instructions.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.convert*
dEQP-VK.spirv_assembly.instruction.graphics.convert*

Components: Vulkan

VK-GL-CTS issue: 1079

Change-Id: Ia9a293a71e563a379a94f237afa8ee15bda2e01b
(cherry picked from commit fc308c1d66c059d731222002c9b07e95ebb8cc64)

6 years agoAdd operation tests for 8-bit integers
Boris Zanin [Mon, 9 Jul 2018 07:49:53 +0000 (09:49 +0200)]
Add operation tests for 8-bit integers

New tests:
 * dEQP-VK.spirv_assembly.type.*.i8.*
 * dEQP-VK.spirv_assembly.type.*.u8.*

Affects tests:
 * dEQP-VK.spirv_assembly.type.*

VK-GL-CTS issue: 1095

Change-Id: If94bcce6a1fff6d424c49ce3bd0b374f826ff9cb
Components: Vulkan
(cherry picked from commit c58cb8e712db300e9f81afaaa17f7fa0a42910ea)

6 years agoAdd VK_KHR_shader_float16_int8 definitions
Boris Zanin [Mon, 14 May 2018 11:58:25 +0000 (13:58 +0200)]
Add VK_KHR_shader_float16_int8 definitions

Add VK_KHR_shader_float16_int8 definitions and update framework
appropriately.

Add core features check functionality.

Components: Vulkan, Framework

VK-GL-CTS issues: 1094, 1095

Change-Id: Ia6a7960bc802fd8903e89310e7f1b5afe49d8fdb
(cherry picked from commit dbdcee9e13d2457d8b5c181556844d322bae6d74)

6 years agoAdd fp16 <-> fp64 conversion tests
Samuel Iglesias Gonsálvez [Mon, 5 Mar 2018 13:01:40 +0000 (14:01 +0100)]
Add fp16 <-> fp64 conversion tests

Require support for VK_KHR_shader_float16_int8 extension.

Added tests:

dEQP-VK.spirv_assembly.instruction.*.16bit_storage*64*

VK-GL-CTS issue: 1116
Components: Vulkan, Framework

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
(cherry picked from commit 04ba8ac400a3a090cfdf68db9ff004cd142fa7ac)
(cherry picked from commit c74832c803b5df82482747fd4dd11fa1d7b6badc)

6 years agoFix array stride in uniform buffer for VK_KHR_16bit_storage
Lei Zhang [Fri, 14 Sep 2018 18:56:12 +0000 (14:56 -0400)]
Fix array stride in uniform buffer for VK_KHR_16bit_storage

Array stride need to be a multiple of 16.

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

Components: Vulkan, SPIR-V
VK-GL-CTS issue: 1344

Change-Id: If5c4415e8f1914a2579d914d33ab3b334affd8d3
(cherry picked from commit 503aa56f067bcd7d20ef55e676672098007e3782)

6 years agoRefactor: Compatible compute and graphics VerifyIO
Boris Zanin [Wed, 4 Jul 2018 09:02:23 +0000 (11:02 +0200)]
Refactor: Compatible compute and graphics VerifyIO

Refactoring:
 * Compatibilize VerifyIO function declaration
 * Add isCoreFeatureSupported
 * Graphic shader can run over whole area

Affects tests:
 * dEQP-VK.spirv_assembly.*

Components: Vulkan

VK-GL-CTS issue: 1095

Change-Id: Iba9bab9d40a06f1eba90572cc60f1c334c4b8474
(cherry picked from commit 9a41fa49a90f27544ff83fce678efbe3c58cc381)

6 years agoAdd tests for VK_EXT_scalar_block_layout
Jeff Bolz [Thu, 27 Sep 2018 17:36:06 +0000 (12:36 -0500)]
Add tests for VK_EXT_scalar_block_layout

Components: Vulkan, Framework

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

SPIR-V validation understands VK_EXT_scalar_block_layout

Refactor SPIR-V validator options into own struct and header

Shader build options now record scalar layout flag.

Shader build options can yield a validator options object.

Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.

Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.

Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
  SPV_KHR_float_controls

Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*

Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876
(cherry picked from commit 71e336126ac2959418f9c39a9507e91e4dc61951)
(cherry picked from commit 3adebf1717d09fa7403f05325f4e8c5038b49a3c)

6 years agoUpdate SPIR-V Tools/Headers
Alexander Galazin [Tue, 20 Nov 2018 08:15:23 +0000 (09:15 +0100)]
Update SPIR-V Tools/Headers

Update SPIR-V tools and headers to accommodate support for
Float16/Int8 and shader_float_controls

Components: Framework

Change-Id: Ie00979ec38f5d14bd99cb3a70690510111ed195f

6 years agoAdd 1.1.2.3 to known conformance versions
Alexander Galazin [Mon, 19 Nov 2018 12:34:58 +0000 (13:34 +0100)]
Add 1.1.2.3 to known conformance versions

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I8dff4802eb777e0d4181bc896f55a2a706e65683

6 years agoDon't include source files in other source files
Chris Forbes [Sun, 18 Nov 2018 20:06:18 +0000 (12:06 -0800)]
Don't include source files in other source files

This broke the Android CTS integrated build. Include the headers
instead.

Components: Vulkan
Affects: Build fix only
Change-Id: I5836881dd78be90ed3a57181121e9333f94f98b8

6 years agoAdd tests for OpSpecConstantOp INotEqual
Jeff Bolz [Tue, 30 Oct 2018 19:39:14 +0000 (14:39 -0500)]
Add tests for OpSpecConstantOp INotEqual

This was the only spec constant operation missing tests.

Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.inotequal*

Change-Id: I5549880871d9afbc95ad239f0622562e21a4312d

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 15 Nov 2018 09:20:24 +0000 (10:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I5345587323415ff836b8b6f66a0d6fa8716107dd

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 15 Nov 2018 08:39:17 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I93bd8195bc88e16a631bd26fc75095d3b2bbf43c

6 years agoFix missing self dependency in renderpass tests
Leif-Julian Ovrelid [Thu, 8 Nov 2018 09:16:10 +0000 (10:16 +0100)]
Fix missing self dependency in renderpass tests

The dEQP-VK.renderpass.suballocation.formats and
dEQP-VK.renderpass.dedicated_allocation.formats tests were missing self
dependencies in some cases where they read then write one attachment
in one subpass. In cases with overlapping rendering this would give a
read-write-then-read-write situation, which neads a self dependency to
work reliably. Some of the tests were missing the self dependency, some
of them had the color attachment bits set when depending on depth, and
one case had a self dependency where it should not.
This patch adds a self dependency to two test cases that need it,
removes self dependency from a case that does not need it, and fixes
the depth tests to have the correct bits set.

Affects:

dEQP-VK.renderpass.suballocation.formats.*.input.*
dEQP-VK.renderpass.dedicated_allocation.formats.*.input.*
dEQP-VK.renderpass2.suballocation.formats.*.input.*
dEQP-VK.renderpass2.dedicated_allocation.formats.*.input.*

Components: Vulkan

VK-GL-CTS Issue: 1454

Change-Id: I4a9bec3ef6b088ab3a50d7f658867076f68788b9

6 years agoAdd watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long

On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.

Google Bug: b/116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464

Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 8 Nov 2018 12:40:50 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I07c6dba293349d24486832cbd2288c765f647003

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 8 Nov 2018 11:52:47 +0000 (12:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e4ffa1e9b7956f0c77ee9b8dfc3d958743c0929

6 years agoFix swapchain creation in dEQP-VK.wsi.*.swapchain.*
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*

In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:

    * imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
      supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
      reported by vkGetPhysicalDeviceImageFormatProperties.

Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices.  This patch fixes the failing tests to comply
with the spec bugfix.

Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
(cherry picked from commit 49eab80e4a8b3af1790b9ac88b096aa9bffd193f)

6 years agoFix case when unsuported create flag was used for AHB
Kacper Kleczewski [Tue, 23 Oct 2018 12:50:51 +0000 (13:50 +0100)]
Fix case when unsuported create flag was used for AHB

Additional validation step is added to ValidateAHardwareBuffer function
which return false if API level is lower than 28 and
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT create flag is requested.

Components: Vulkan

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

VK-GL-CTS Issue: 1439

Change-Id: Iadaa5c1d584bbf3d3335952c501799aff3c5b2d6

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 6 Nov 2018 10:59:01 +0000 (11:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ia532a2dca73418c4dda309ff8f3b58c5d7da15e7

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 1 Nov 2018 10:24:35 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I5874225ecf8aae48bd833a15492668a83f985f38

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 1 Nov 2018 09:53:29 +0000 (10:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I587d40c09a99e93dd4cccf359ceba1dbf9ff47a9

6 years agoCorrect vertex input tests on null driver
Piotr Byszewski [Thu, 25 Oct 2018 14:50:20 +0000 (16:50 +0200)]
Correct vertex input tests on null driver

On Null driver all features are enabled and this triggered execution
of tests for 128 vertex attributes that are not commonly supported.
Tests allocate buffer for verification which is not big enough for
128 attributes. This causes memory corruption and crash.
This change resolves those issues.

Components: Vulkan

VK-GL-CTS issue: 1443

Affects:
dEQP-VK.pipeline.vertex_input.*

Change-Id: I9a89cc62fdd34f9da40ebf9d84e6cf5b5aed07d5

6 years agoCorrect image properties tests on Null driver
Piotr Byszewski [Tue, 23 Oct 2018 09:42:49 +0000 (11:42 +0200)]
Correct image properties tests on Null driver

On Null driver all features are enabled and this trigered some issues
with YCBCR format in image_format_properties tests. This change
resolves those issues.

VK-GL-CTS issue: 1438

Components: Vulkan

Change-Id: I3d1707438909ae4f5e828092a97a6380b615beca
Affects: dEQP-VK.api.info.image_format_properties.*

6 years agoAdd 1.1.2.2 to known conformance versions
Alexander Galazin [Thu, 25 Oct 2018 15:27:30 +0000 (17:27 +0200)]
Add 1.1.2.2 to known conformance versions

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I4bcd1140981c7eac4b5e3a97da3cfc8458520448

6 years agoFix uninitialised variable warning for some compilers
Steve Hill [Thu, 25 Oct 2018 09:36:50 +0000 (10:36 +0100)]
Fix uninitialised variable warning for some compilers

Some compilers seem to get confused as to whether the scope
string-variable is initialised properly.

This change makes the switch that sets it up consistent with the
other switches and pacifies those compilers.

Components: Vulkan

Affects: dEQP-VK.memory_model.*

VK-GL-CTS issue: 1442

Change-Id: Id5ff742c85510af173020cf1bbfc16429a33f29f

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 25 Oct 2018 16:33:14 +0000 (18:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic2ef309419e39a4b2baf634017e25979d743a607

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 15:03:10 +0000 (17:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I2d8288ee3b75ef786496453b0efa6591f4f5c0ad

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 25 Oct 2018 13:52:47 +0000 (15:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Ic87368f606cb8ec126d42ec9f72b1baffcdcf950

6 years agoFix incomplete VkImageSubresourceRange
Noah Fredriks [Wed, 11 Jul 2018 21:56:05 +0000 (17:56 -0400)]
Fix incomplete VkImageSubresourceRange

Pipeline image barrier arraySize doesn't include the entire image.

Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array*

Components: Vulkan

VK-GL-CTS Issue: 910

Change-Id: I9974c9390478cf70f2238e03a7180fc81166f84e

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 25 Oct 2018 12:20:14 +0000 (14:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ie74a921aba656d271738734379ad7bf5ff596fa4

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 11:51:47 +0000 (13:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I116b300bfdd3ee78827aa671a737de007eb241ef

6 years agoFix spelling on NotSupported error message
Slawomir Cygan [Mon, 22 Oct 2018 11:12:16 +0000 (13:12 +0200)]
Fix spelling on NotSupported error message

Components: Vulkan

VK-GL-CTS Issue: 1433

Affects: dEQP-VK.api.info.device_group.peer_memory_features

Change-Id: I42e2d7a50d2f74d706e42f0f196ff76c8446fa1c

6 years agoMake VK_KHR_shader_subgroup_vote tests work with sparse dispatch
Connor Abbott [Thu, 18 Oct 2018 12:20:31 +0000 (14:20 +0200)]
Make VK_KHR_shader_subgroup_vote tests work with sparse dispatch

The voteallequal tests created a value which was supposed to be
different for some threads in the subgroup, and then called
voteAllEqual() on it expecting it to return false. However, because the
entire expression was reduced modulo 2, if the implementation dispatched
threads in a sparse manner so that some subgroup indices were skipped,
then all the active threads could have wound up with the same value. In
particular, this caused the graphics voteallequal tests to fail in the
fragment stage on AMD due to how the hardware dispatches single-pixel
point sprites.

Fix this by just using gl_SubgroupIndex directly, so that every thread
is guaranteed to get a unique value. Some care has to be taken for
boolean values -- I've just made them use subgroupElect() instead, as
that's the simplest way to get a guaranteed-divergent boolean value.

Affected tests:
dEQP-VK.subgroups.vote.*

Components: Vulkan
VK-GL-CTS Issue: 1437

Change-Id: I10ddc438db4cd4925bdbc4f458a082fcab9c9155

6 years agoFix unaligned host accesses in UBO and SSBO tests
Gary Sweet [Mon, 22 Oct 2018 11:39:09 +0000 (12:39 +0100)]
Fix unaligned host accesses in UBO and SSBO tests

Prevent uniform blocks from starting unaligned.
Previously these tests would end up casting
non-4-byte aligned addresses to float*. On 32-bit
ARM CPUs this can cause unaligned access faults.

Components: Vulkan

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

VK-GL-CTS issue: 1434

Change-Id: Ied437b150b61f11630b5c1511ccedd410308b004

6 years agoAdd flush to binding descriptor set random tests
Steve Hill [Mon, 22 Oct 2018 08:48:57 +0000 (09:48 +0100)]
Add flush to binding descriptor set random tests

Components: Vulkan

Affects: dEQP-VK.binding_model.descriptorset_random.*

VK-GL-CTS issue: 1432

Change-Id: I56df9fefbeb511e441310df9f52d0e9a897bcbef

6 years agoFix the device_group test failure by allowing same number of tries to
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.

Components: Vulkan

Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group

VK-GL-CTS Issue: 1431

Change-Id: I099a05f3109c1997cad323a0577f66c95755b151

6 years agoImport dedicated allocs w/ importDedicatedMemory
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory

When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.

Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind

Components: Vulkan

VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7

6 years agoFix asserts and check for base image format support in image.mutable tests
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts and check for base image format support in image.mutable tests

This adds a check if base image can be created given the format.

It is required for implementations supporting VK_KHR_maintenance2 or 1.1:
if these are supported, the exisiting VkImageView format support does not
cover base image format support.

Additionally, fix malformed asserts and missign case switches in this test.

Components: Vulkan

Affects: dEQP-VK.image.mutable

VK-GL-CTS Issue: 1295, 1294

(cherry picked from commit eaaa3979b015e2a923b3250b4269d3c9d21137cc)

Change-Id: I7a4afbb624d73aadca4f9a6edf955b3cdc2d863e

6 years agoFix asserts in image.mutable tests
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts in image.mutable tests

Fix malformed asserts and missing case switches in this test.

Components: Vulkan

Affects: dEQP-VK.image.mutable

VK-GL-CTS Issue: 1294

(cherry picked from commit 29c222eaa9cc5aeac37886b3cc25330ddc31689b)

Change-Id: I1a49f615e843c33d5483cd7bba4773370377dde7

6 years agoCorrect copy_and_blit on Null driver
Piotr Byszewski [Thu, 18 Oct 2018 09:55:56 +0000 (11:55 +0200)]
Correct copy_and_blit on Null driver

On Null driver all features are enabled which leads copy_and_blit
tests to be executed for incompatible image formats. This change
detects that and fails the verification to prevent hiting assertions
in the framework.

VK-GL-CTS issue: 1427

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.*

Change-Id: I0d105c297f5548175580434cc2a12fa53b69339d

6 years agoWhitelist VK_KHR_swapchain_mutable_format extension
Maciej Jesionowski [Tue, 31 Jul 2018 09:20:24 +0000 (11:20 +0200)]
Whitelist VK_KHR_swapchain_mutable_format extension

Affected tests:
dEQP-VK.api.info.device.extensions

Components: Vulkan
VK-GL-CTS issue: 1014

Change-Id: Ic9dbf7161534765af624e5925bb9f6ea0ad16be8
(cherry picked from commit 3ef3fe8a93896f1c75ca6a07672276385f4cdd21)

6 years agoAdd tests for VK_KHR_swapchain_mutable_format
Norbert Garnys [Thu, 14 Jun 2018 11:07:14 +0000 (13:07 +0200)]
Add tests for VK_KHR_swapchain_mutable_format

New tests:
dEQP-VK.image.swapchain_mutable.*

Affected tests:
dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS issue: 1014

Change-Id: I01ad8a374a53fb21c4f2d0bb413970808e23e784
(cherry picked from commit 2a301e65ffbe783e06f3aa6f2b7b5303afa526cf)

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 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 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 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 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 [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 agoDon't exhaust 32-bit host visible address space
Noah Fredriks [Wed, 11 Jul 2018 21:47:02 +0000 (17:47 -0400)]
Don't exhaust 32-bit host visible address space

If VkPhysicalDeviceGroupProperties::subsetAllocation is VK_FALSE, then
then devices in the device group will each consume memory. Adjust the
limit to account for this.

Affects: dEQP-VK.memory.allocation.basic.*

Components: Vulkan

VK-GL-CTS Issue: 1405

Change-Id: I0074c49855435dc3403b64ce85a180397c4ed955

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