platform/upstream/VK-GL-CTS.git
5 years agoAdded script for vulkan.h.in generation
Jari Komppa [Tue, 2 Oct 2018 13:02:59 +0000 (16:02 +0300)]
Added script for vulkan.h.in generation

In order to avoid manual editing of vulkan.h.in, this script can be used
to perform all the operations that usually need manual editing, but
instead performs the operations from source XML files instead.

The script can read a base XML file, a superset XML file and the current
header file. These three files are analysed for the extensions they
contain, and the user can interactively select which extensions from the
superset to include in the generated header. (All extensions from the
base XML are included).

The script also automatically fetches the current vk.xml and header
genration scripts from github using wget.

This script is not automatically run by the build process, and requires
manual interaction to run. It depends on python3, since it uses the
header generation scripts that are part of the vk-docs project. Only the
generated header files should be committed to the git repository.

Affects:

None

Components: Framework

VK-GL-CTS issue: 1322

Change-Id: I26557d672483325924dc32febadd283669a4bc82

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Sun, 2 Dec 2018 15:53:28 +0000 (16:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I3c988846faac50be72e65338dc83e040ef0810ee

5 years agoAdd test veryifying if proper 'count' is written in wsi getters
Slawomir Cygan [Tue, 23 Oct 2018 15:06:34 +0000 (17:06 +0200)]
Add test veryifying if proper 'count' is written in wsi getters

Some functions returning arbitrary number of elements were not tested to update
'count', if the return array was given (not null).

Components: vulkan.h.in

VK-GL-CTS Issue: 1449

New Tests:
dEQP-VK.wsi.*.swapchain.get_images.count

Affects:
dEQP-VK.wsi.*.surface.query_formats
dEQP-VK.wsi.*.surface.query_formats2
dEQP-VK.wsi.*.surface.query_present_modes

Change-Id: Ic21e11110f420ecbc3785a43cff705ddcab512b4

5 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

5 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

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

5 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

5 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

5 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

5 years agoAdd barrier at start of each CB to order wrt previous CBs
Chris Forbes [Tue, 13 Nov 2018 23:08:45 +0000 (15:08 -0800)]
Add barrier at start of each CB to order wrt previous CBs

Currently, there is only the implicit ordering guarantee for the top of
pipe between batches of commands. This isn't adequate for implementations
that allow overlapping work from different CBs. Insert an explicit
fairly-full barrier at the beginning of each CB to make this safe.

(Suggested by ARM to Google to deal with some long-standing weird
behavior)

Change-Id: I254db5f1461d5ff7c0af73de9219f59c8154df7c
Affects: dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
Google bug: b/113601409
VK-GL-CTS Issue: 1468

5 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

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

Components: Framework

Change-Id: I0d3cf4fa6e5cce6c37a76bc2558cb4aeced4f902

5 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

5 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

5 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

5 years agoAdd tests for derivatives in dynamic but quad-uniform control flow
Jason Ekstrand [Wed, 7 Nov 2018 02:49:41 +0000 (20:49 -0600)]
Add tests for derivatives in dynamic but quad-uniform control flow

Components: Vulkan
Affects: dEQP-VK.glsl.derivate.*
New tests: dEQP-VK.glsl.derivate.*dynamic*

Change-Id: I7d457d26d724ea3d3ae19959393b6e752d669769

5 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

5 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

5 years agoAdd tests for late fragment test dependencies
Toni Merilehti [Sun, 28 Oct 2018 15:59:58 +0000 (17:59 +0200)]
Add tests for late fragment test dependencies

This will extend the coverage of vktRenderPassSubpassDependencyTests to
test subpass dependencies of late fragment tests between multiple
subpasses inside a render pass instance. The tests verifies that late
fragment tests are completed before reading the contents in
the following subpass.

New tests:

dEQP-VK.renderpass*.subpass_dependencies.late_fragment_tests.*

Components: Vulkan

VK-GL-CTS issue 1399

Change-Id: I3dc76e6a0e333b2d76fe2b825988074ff428e4b3

5 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

5 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

5 years agoFix leak in shaderCacheLoad()
Juan A. Suarez Romero [Mon, 26 Nov 2018 17:30:51 +0000 (18:30 +0100)]
Fix leak in shaderCacheLoad()

Free used memory in shaderCacheLoad() function.

Components: Framework
VK-GL-CTS issue: 1484

Change-Id: Id17a695540acd5f67b890fd0e67ca549eb2da17e

5 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

5 years agoCorrect image mutable tests on null driver
Piotr Byszewski [Fri, 9 Nov 2018 16:53:42 +0000 (17:53 +0100)]
Correct image mutable tests on null driver

This change removes three assertions that were recently added during
implementation of tests for VK_KHR_swapchain_mutable_format
Adding addtional logic to implementation of
getPhysicalDeviceFormatProperties on null driver could potentialy
also resolve this issue but then test would still report
NotSupported.

VK-GL-CTS issue: 1461

Components: Vulkan

Change-Id: I44a1ce13019cf6ab1a2972337252e58ded3e7e31
Affects: dEQP-VK.image.*

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Wed, 28 Nov 2018 14:02:50 +0000 (15:02 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ie9125ed022a45ebe21db504c25374b05b6f633ef

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Wed, 28 Nov 2018 13:28:29 +0000 (14:28 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Iac42d008fde65db886e160683eaac96b6778b5a8

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

Change-Id: I305701213a8d458c951e6c264d81659175e4b106

5 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

5 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

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

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

Components: Framework

Change-Id: I5c969c767d58afe0d0ef30e46f78d9b96d20b8a7

5 years agoRemove duplicate float16Int8Features
Jeff Bolz [Tue, 27 Nov 2018 22:41:48 +0000 (16:41 -0600)]
Remove duplicate float16Int8Features

This causes everything in between to be lost from the pNext chain.

Components: Vulkan
Change-Id: I4f8d0d2300f487427cb08366566ef3cad97b1c65

5 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Tue, 27 Nov 2018 16:34:31 +0000 (08:34 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I3eed3a763d361dec4f081c85c18263676e58f912

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 27 Nov 2018 14:28:52 +0000 (15:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I22d47d684dabcebb9d4b8c063720cd74bff02a3b

5 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

5 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

5 years agoRemove StorageUniform16 from SPIR-V conversion tests
Ilkka Saarelainen [Wed, 7 Nov 2018 10:59:28 +0000 (12:59 +0200)]
Remove StorageUniform16 from SPIR-V conversion tests

Removed StorageUniform16 capability requirement from the SPIR-V
conversion tests because it's not used in any of the tests.

Affects:

dEQP-VK.spirv_assembly.instruction.*.*convert*.*int16*

Components: Vulkan

VK-GL-CTS issue: 1417

Change-Id: Ie20658ff59d1fef03eda36672fbe8d0dccb27c4c

5 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

5 years agoglSpirvTests: fix transform feedback query
Alejandro Piñeiro [Mon, 11 Dec 2017 11:29:10 +0000 (12:29 +0100)]
glSpirvTests: fix transform feedback query

The test removes the names for several variables of the shader, and
then it expect a length of 1 for all of them when doing a state
query.

But on the case of TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH it is not
activating any varying.

This commits adds an output definition with xfb decorations so the
variable would become active without the need to call
glTransformFeedbackVaryings. From ARB_gl_spirv spec:

    "If the shader used to record output variables for transform
    feedback varyings uses the xfb_buffer, xfb_offset, or xfb_stride
    layout qualifiers, or its SPIR-V entry point declares the *Xfb*
    Execution Mode, the values specified by TransformFeedbackVaryings
    are ignored, and the set of variables captured for transform
    feedback is instead derived from the specified layout qualifiers
    or SPIR-V decorations: outputs specifying both an *XfbBuffer* and
    an *Offset* are captured, while outputs not specifying both of
    these are not captured. Values are captured each time the shader
    writes to such a decorated object."

As we are here, we also simplify how name reflection is
stripped. Instead of stripping each individual OpName and OpMemberName
that we know the shader have, we just remove any OpName and
OpMemberName line.

Modules: OpenGL

VK-GL-CTS issue: 886

Affects:
KHR-GL45.gl_spirv.spirv_modules_state_queries_test
KHR-GL46.gl_spirv.spirv_modules_state_queries_test

Change-Id: I124c90c61f8bee1e873867cf0d2b2e689679d70a

5 years agoFix anonymous namespace in UBO matrix padding test
Ari Suonpaa [Tue, 20 Nov 2018 13:31:36 +0000 (15:31 +0200)]
Fix anonymous namespace in UBO matrix padding test

UBO matrix padding test had anonymous namespace ending
too early. A function was wrongly indented which made
it look like the namespace would have ended at the
correct place.

Affects:

none

Components: Vulkan

VK-GL-CTS issue: 1476
Change-Id: I56520c3de41e152e7fa113bf8d599fcbb90125be

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Fri, 23 Nov 2018 11:28:00 +0000 (12:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Ie214ae458af3879e564fba6778ba1488e6032b98

5 years agoEnable previously excluded tests
Alexander Galazin [Sat, 15 Sep 2018 07:24:47 +0000 (09:24 +0200)]
Enable previously excluded tests

Component: Vulkan

Affects:
dEQP-VK.glsl.builtin.precision.clamp.highp_compute.*
dEQP-VK.glsl.builtin.precision.cos.mediump_*
dEQP-VK.glsl.builtin.precision.div.highp_compute.*
dEQP-VK.glsl.builtin.precision.max.highp_compute.*
dEQP-VK.glsl.builtin.precision.min.highp_compute.*
dEQP-VK.glsl.builtin.precision.mod.highp_compute.*
dEQP-VK.glsl.builtin.precision.sin.mediump_compute.*
dEQP-VK.glsl.builtin.precision.tan.mediump_compute.*
dEQP-VK.glsl.builtin.precision.dot.highp_compute.*
dEQP-VK.glsl.builtin.precision.acosh.highp_compute.*
dEQP-VK.glsl.builtin.precision.atanh.highp_compute.*
dEQP-VK.glsl.builtin.precision.atanh.mediump_compute.*
dEQP-VK.glsl.builtin.precision.reflect.mediump_compute.scalar
dEQP-VK.glsl.builtin.precision.reflect.highp_compute.scalar
dEQP-VK.glsl.builtin.precision.reflect.highp_compute.vec4
dEQP-VK.glsl.builtin.precision.acos.mediump_compute.*
dEQP-VK.glsl.builtin.precision.atan.mediump_compute.*
dEQP-VK.glsl.builtin.precision.atan2.mediump_compute.*
dEQP-VK.glsl.builtin.precision.inverse.highp_compute.mat2
dEQP-VK.glsl.builtin.precision.refract.*
dEQP-VK.api.copy_and_blit.core.blit_image.simple_tests.scaling_and_offset.b8g8r8a8_unorm_linear
dEQP-VK.wsi.android.surface.query_devgroup_*
dEQP-VK.spirv_assembly.instruction.*.indexing.*u32*
dEQP-VK.spirv_assembly.instruction.*.indexing.*s32*

Change-Id: Idc718e296d531e0c8aff5da991f81c2dcc03a693
(cherry picked from commit 5a65480e2223c9e81d9c92fd0df84ae1a0762c3e)

5 years agoSPIR-V validation understands VK_EXT_scalar_block_layout
David Neto [Wed, 10 Oct 2018 20:37:38 +0000 (16:37 -0400)]
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 3adebf1717d09fa7403f05325f4e8c5038b49a3c)

Add tests for VK_EXT_scalar_block_layout

Components: Vulkan, Framework

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

Change-Id: I373b9aed610d714b22e89910c98ce50ac882c513
(cherry picked from commit 71e336126ac2959418f9c39a9507e91e4dc61951)

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

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 agoMerge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master
Alexander Galazin [Fri, 23 Nov 2018 10:34:02 +0000 (11:34 +0100)]
Merge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master

Change-Id: I6d4f64f018882ace2106843270c2a0dc598ed61d

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

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 agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Thu, 22 Nov 2018 01:20:54 +0000 (17:20 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I10a7241b92018cfdec61586572f9932b8d341684

5 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Wed, 21 Nov 2018 23:00:40 +0000 (15:00 -0800)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: If32356da37d199deaa38a127d317e936aadbd437

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:36:48 +0000 (11:36 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours am: 67fddf713c  -s ours am: e31f01c1e2  -s ours am: 2510d0d22d  -s ours am: 151cae7dfb  -s ours am: 6bb25b4e2a  -s ours
am: b99352ecbc  -s ours

Change-Id: Ice009f7f6db7acbfc333acc5abad9b5e0f173ec5

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:29:45 +0000 (11:29 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours am: 67fddf713c  -s ours am: e31f01c1e2  -s ours am: 2510d0d22d  -s ours am: 151cae7dfb  -s ours
am: 6bb25b4e2a  -s ours

Change-Id: I276fc018922f87d1dce48fd405b65c43294554cb

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:19:19 +0000 (11:19 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours am: 67fddf713c  -s ours am: e31f01c1e2  -s ours am: 2510d0d22d  -s ours
am: 151cae7dfb  -s ours

Change-Id: I9e4e516939407b1913cee168032d44b28ca766de

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:14:16 +0000 (11:14 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours am: 67fddf713c  -s ours am: e31f01c1e2  -s ours
am: 2510d0d22d  -s ours

Change-Id: Ieb354df86d75ab4cbbf657d2c73bf296dc98084c

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:09:11 +0000 (11:09 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours am: 67fddf713c  -s ours
am: e31f01c1e2  -s ours

Change-Id: Iefca908d69c5bd402494b1d7a97adac5074a8f1d

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
rie kanazawa [Wed, 21 Nov 2018 19:05:09 +0000 (11:05 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am: 7d112535f4  -s ours
am: 67fddf713c  -s ours

Change-Id: I0c2837dcf5546e5f04bf7f5f9014422944aa443a

5 years ago[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1
rie kanazawa [Wed, 21 Nov 2018 19:00:06 +0000 (11:00 -0800)]
[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1
am: 7d112535f4  -s ours

Change-Id: Ice9443c7c783c7d047a0cb43cf8a51344ee4d414

5 years agoRevert "Fix YCbCr requirement in image_format_properties tests"
Alexander Galazin [Tue, 20 Nov 2018 08:23:27 +0000 (03:23 -0500)]
Revert "Fix YCbCr requirement in image_format_properties tests"

This reverts commit 066eac79983dacc684c82f603da6c790e2dd8273.

Change-Id: Ia36f493e063c33acd18bf51b33a1ef4ad0d8b2ff

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 agoDisable PCH for ninja+msvc
Jeff Bolz [Mon, 19 Nov 2018 15:06:49 +0000 (09:06 -0600)]
Disable PCH for ninja+msvc

Components: Vulkan, OpenGL
Change-Id: Icc27e31734e8e7a9296eb407cca64f05b8da69e7

5 years agoAdded tests for OpCompositeInsert
Ari Suonpaa [Thu, 1 Nov 2018 10:50:54 +0000 (12:50 +0200)]
Added tests for OpCompositeInsert

Using OpCompositeInsert to construct a matrix was reported
to generate an error in pipeline creation. Using
OpCompositeConstruct avoided this problem. This change
reproduces the reported issue.

New tests:

dEQP-VK.spirv_assembly.instruction.*.composite_insert.*

Components: Vulkan

VK-GL-CTS issue: 1408

Change-Id: I383c6fcd824a0440dd4cd124205a75269ccc84a8

5 years ago[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpas...
Chad Versace [Mon, 19 Nov 2018 02:45:45 +0000 (18:45 -0800)]
[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpass am: af28fc7cd4 am: f534ecf88b  -s ours am: 835d2b641a am: f218ba9a91
am: 2079615c03

Change-Id: I61ce1f65a5df44dda6c18d45963a179364982936

5 years ago[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpas...
Chad Versace [Mon, 19 Nov 2018 02:41:35 +0000 (18:41 -0800)]
[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpass am: af28fc7cd4 am: f534ecf88b  -s ours am: 835d2b641a
am: f218ba9a91

Change-Id: Ib65d14b6ddbf210d58dbab5977c9798b3e19cf11

5 years ago[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpas...
Chad Versace [Mon, 19 Nov 2018 02:35:31 +0000 (18:35 -0800)]
[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpass am: af28fc7cd4 am: f534ecf88b  -s ours
am: 835d2b641a

Change-Id: Ib5e99b3c0a5a732e0d28e8745f13cf23ad348811

5 years ago[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpas...
Chad Versace [Mon, 19 Nov 2018 02:30:15 +0000 (18:30 -0800)]
[automerger skipped] Drop dEQP-VK.image.qualifiers.{coherent,volatile}.* from mustpass am: af28fc7cd4
am: f534ecf88b  -s ours

Change-Id: I87173be738c4f6b989b95cf526bd4ae3f70fe632

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 16 Nov 2018 19:32:07 +0000 (11:32 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Iccdbde76e6b4282877b4b329cc0f9400c8e334e6

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

Change-Id: Ia8831045cbcd2ec8efe1089d624a24d24eaa19ff

6 years agoFix ARB_gl_spirv multiple shader object test
Alejandro Piñeiro [Mon, 29 Oct 2018 17:42:40 +0000 (18:42 +0100)]
Fix ARB_gl_spirv multiple shader object test

Right now it fails when calling glslangUtils::spirvValidate. Note that
this test is using a custom SPIR-V shader in assembly text format,
that is then assembled for the test itself. So it seems that became
outdated.

Affects:

KHR-GL46.gl_spirv.spirv_modules_shader_binary_multiple_shader_objects_test

Components: OpenGL

VK-GL-CTS issue: 1445

Change-Id: I04b841fb3fba80537346da06bf889b21902e8da5

6 years agoSplit same_module tests
Toni Merilehti [Fri, 2 Nov 2018 12:13:50 +0000 (14:13 +0200)]
Split same_module tests

Test dEQP-VK.spirv_assembly.instruction.graphics.module.same_module
currently uses tessellation and geometry stages, and will only run if
the device has tessellation and geometry support. This will split
the test into four different variations and allows the test to run
without tessellation and/or geometry stages.

Components: Vulkan

VK-GL-CTS issue: 1052

New tests:

dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*

Change-Id: I10a62a313afe17cfc37360eec53102c7b06ea103

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 agoUpdate glslang/spirv-tools/spirv-headers to TOT github.
Jeff Bolz [Wed, 7 Nov 2018 17:37:16 +0000 (11:37 -0600)]
Update glslang/spirv-tools/spirv-headers to TOT github.

There was a revlock between these components due to the raytracing
extension rename. This updates all three to past that point. It also
picks up some updated precompiled header performance.

Components: Vulkan
Change-Id: I86a4ff8b50e4cd7ff4ddbf0dc351112d7e21d4d1

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 15 Nov 2018 10:35:52 +0000 (11:35 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I95716dc2f4ae3cb6bce8299415734d69337a6e68

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 agoFixes for Protected Memory
Martin Freebody [Wed, 7 Nov 2018 12:40:32 +0000 (12:40 +0000)]
Fixes for Protected Memory

This change removes errors reported by core validation layer.

Affects: dEQP-VK.protected_memory.*

Components: Vulkan

Change-Id: Id7223e5777747345778babe83b0d9c3605a4ce1f

6 years agoFurther validation fixes for renderpass tests
Graeme Leese [Thu, 8 Nov 2018 13:59:27 +0000 (13:59 +0000)]
Further validation fixes for renderpass tests

All the VkInputAttachmentAspectReference structures were pointing to
incorrect subpasses.
The multisample_resolve tests were transitioning the multisample images
to TRANSFER_SRC, which was invalid but also superfluous, so remove it.

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

Change-Id: I9356f9d4ee0dfa8938cd2fe9a062c732706e3a3f

6 years agoFix invalid color values in image.mutable tests
Dae Kim [Thu, 1 Nov 2018 10:17:00 +0000 (10:17 +0000)]
Fix invalid color values in image.mutable tests

The color values used in the tests ended up reinterpreted as f16/f32 denorms
for some combinations of image/imageview formats (e.g. rgba16_uint -> f16/f32).
With this patch the tests select color values depending on the formats under
test and avoids denorms.

Affects:

dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: Idd7ec555261109c54af865adb344f3239e49064d

6 years agoDO NOT MERGE: Make the tests permissive for Lollipop MR1
rie kanazawa [Fri, 9 Nov 2018 02:07:43 +0000 (11:07 +0900)]
DO NOT MERGE: Make the tests permissive for Lollipop MR1

dEQP-GLES3.functional.dither.disabled#gradient_white
dEQP-GLES3.functional.dither.disabled#gradient_red
dEQP-GLES3.functional.dither.disabled#gradient_green
dEQP-GLES3.functional.dither.disabled#gradient_blue
dEQP-GLES3.functional.dither.disabled#gradient_alpha

Bug:117302647

Test: Build CTS
Test: run cts --plan CTS-DEQP --disable-reboot

https://android.googlesource.com/platform/external/deqp/+/8c44b09211d253dfc09bc8b7dfbc1f60c277d9f6%5E%21/#F0
modules/gles2/functional/es2fDitheringTests.cpp
modules/gles3/functional/es3fDitheringTests.cpp
Bug: 23219552
+
https://android.googlesource.com/platform/external/deqp/+/085b52b2cda2eb522aa80f207d814dfc96bac84b%5E%21/#F0
Bug: 37477346

Change-Id: I013c970e84e764ce9ac49f1ecc7620369162388c
Signed-off-by: rie kanazawa <rie.kanazawa.sd@kyocera.jp>
6 years agoMerge "Fixes AHB image tests feature check" into pie-cts-dev
rie kanazawa [Tue, 13 Nov 2018 17:59:54 +0000 (09:59 -0800)]
Merge "Fixes AHB image tests feature check" into pie-cts-dev
am: 75df06fe5b

Change-Id: Ibe27329f6292965a360a6153f1c4a9ac89212dae

6 years agoMerge "Fixes AHB image tests feature check" into pie-cts-dev
Treehugger Robot [Tue, 13 Nov 2018 17:54:25 +0000 (17:54 +0000)]
Merge "Fixes AHB image tests feature check" into pie-cts-dev

6 years agoMerge remote-tracking branch 'aosp/master' into HEAD
Chris Forbes [Tue, 13 Nov 2018 00:55:39 +0000 (16:55 -0800)]
Merge remote-tracking branch 'aosp/master' into HEAD

Change-Id: I5293daab2672e663e07ee88e522b2d56ccb0e226

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 remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Sat, 10 Nov 2018 02:19:37 +0000 (18:19 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I9fb09ca034ae6ad506df24a8c49cca6a0fb0edec