platform/upstream/VK-GL-CTS.git
5 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

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

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

6 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

6 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

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

6 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

6 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

6 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
(cherry picked from commit 1dab6c690815c1640b7726e05211ec3ab244f935)

6 years agoFix pipeline barrier issues in protected memory tests
John Anthony [Wed, 19 Sep 2018 14:44:43 +0000 (16:44 +0200)]
Fix pipeline barrier issues in protected memory tests

Set correct stage mask for pipeline barriers, and remove pipeline
barriers that are not needed.

Components: Vulkan

VK-GL-CTS issue: 1373

Affects:
dEQP-VK.protected_memory.buffer.*
dEQP-VK.protected_memory.attachment.*

Change-Id: I6dae7ad02c66649281a35465939437a5fb26dd0e

6 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
(cherry picked from commit f679b545b3b5f06bfb84069a4c712e3988204326)

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 21 Sep 2018 09:04:45 +0000 (11:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I9cb8925fdf0bea5cafa7460e7621d863c5e0de85

6 years ago2Darray compatible flag not allowed for 2D images
Marcin Kantoch [Wed, 19 Sep 2018 09:18:16 +0000 (11:18 +0200)]
2Darray compatible flag not allowed for 2D images

Fix for dEQP-VK.api.external.memory.*.image.info tests
incorrectly set create flag VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
for 2D images

Components: Vulkan

Affects:
dEQP-VK.api.external.memory.*.image.info

VK-GL-CTS issue: 1362

Change-Id: I6863fc30177979b913c9e0d4b5814cb857764e27

6 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

6 years agoAdd test for VK_KHR_driver_properties
Maciej Jesionowski [Tue, 3 Apr 2018 11:52:00 +0000 (13:52 +0200)]
Add test for VK_KHR_driver_properties

New tests:
dEQP-VK.api.driver_properties.properties

Components: Vulkan
VK-GL-CTS issue: 1098

Change-Id: Ifcb774700c45f76e48a03b147472a506d274c192
(cherry picked from commit eb5806aab57fdf89850be8916e194c3d3b54c8d9)

6 years agoAdd tests for VK_KHR_shader_atomic_int64
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64

Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests

New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*

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

Components: Vulkan, Framework, Scripts

VK-GL-CTS issue:1172

Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b
(cherry picked from commit 80926e1393d1a3de407b9279162056fa0a53822e)

6 years agoGL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests
Jeff Bolz [Fri, 18 May 2018 01:32:31 +0000 (20:32 -0500)]
GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests

Components: Vulkan

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

Change-Id: Ic68f4e16ff96b2bbb161f2b37e7b4c83094e4009
(cherry picked from commit f14467473e1bce678e12f71bcfcfb130c6423faa)

6 years agoAdd random descriptor set tests, and test VK_EXT_inline_uniform_block
Jeff Bolz [Thu, 12 Jul 2018 19:51:24 +0000 (14:51 -0500)]
Add random descriptor set tests, and test VK_EXT_inline_uniform_block

These tests generate random descriptor set layouts, where each descriptor
set has a random number of bindings, each binding has a random array size
and random descriptor type.

Components: Vulkan

New Tests: dEQP-VK.binding_model.descriptorset_random.*

Change-Id: I3ddfc82898ed970366ee8be4254e50e39a186c58
(cherry picked from commit 152c32af165698f43aa581c60b79bc35c1448116)

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 19 Sep 2018 08:11:01 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I976c55e221f9d0362327ccdbf49aebe7cf4e37f1

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0

6 years agoAdd ASTC LDR error colour quality warning
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning

Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.

This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.

If such a match is detected the test will output a QualityWarning
instead of a Pass.

If the two compared values don't match, but are not both error colours
the test result is still a Fail.

Affects:

dEQP-VK.image.texel_view_compatible*astc*

Components: Vulkan

VK-GL-CTS issue: 1231

Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff

6 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4

6 years agoConsider rounding mode differences in mipmap tests
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests

The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.

Affects:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear

Components: Vulkan

VK-GL-CTS issue: 1106

Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit b861ca1e6d4c002d4359a71dbff1cdf898e79aca)

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 14 Sep 2018 18:26:35 +0000 (20:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I888fa7abc156e03d7433791e8ae8ba9b6b41f1dd

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e

6 years agoTest cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.

The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

VK-GL-CTS issue: 1336
Components: Vulkan

Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit d8a05170a7ae7b6b284406f900b9609c7e71be14)

6 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit fed61233a802b5a8e7f6e634d0ef698e9155a94c)

6 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4