Liam Middlebrook [Thu, 3 Jan 2019 22:07:10 +0000 (14:07 -0800)]
Fix dup tests to not free in-use semaphores/fences
The dup{,2,3} tests were subject to a race condition in which a
semaphore may be deleted before a VkQueue which was dependent on it had
completed execution.
This change moves the vkQueueWaitIdle call into the same scope as the
semaphores/fences that the queue is dependent on.
VK-GL-CTS issue: 1538
Components: Vulkan
Affects: dEQP-VK.api.external.{fence,semaphore}.opaque_fd.dup*
Change-Id: I73cf541c9c184790df44b68b8a065787634847d9
(cherry picked from commit
732a8b6800972b271735cf9b865a3612fb56dfc4)
Stephen Clarke [Fri, 21 Dec 2018 12:38:35 +0000 (12:38 +0000)]
Set correct range for OpVectorTimesScalar tests
The min[] and max[] values should be based on the result in double precision, not after it has been converted to fp16type.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_2.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_4.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_2.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_3.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_4.opvectortimesscalar*
Components: Vulkan
VK-GL-CTS issue: 1532
Change-Id: I30810c8c954ee899bb05602b1f8805f82ac021b3
(cherry picked from commit
12b26bd9762dd56068522cc0a17b26c9e31df1e2)
Samuel Iglesias Gonsálvez [Fri, 22 Jun 2018 06:30:28 +0000 (08:30 +0200)]
Fix errors in SPIR-V 16bit_storage tests
Commit
04ba8ac400a3 was wrongly setting a condition that made
all the *16_to_16* tests to fail. Also, in the last rebase of CL#2458,
there were a rename of an argument of OpFunction that was not updated.
Affects: dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
Components: Vulkan
VK-GL-CTS issue: 1234
Change-Id: Ia83bedefa33d3e37b62336ebadb2bc992e0ddb2a
(cherry picked from commit
56e8d4e2318dcd0bceddca4d182649f3a03be7ab)
Boris Zanin [Fri, 21 Dec 2018 13:53:25 +0000 (14:53 +0100)]
Remove NaN handling in float16 tests
Support of NaNs is optional according the specification.
Tests always have expected that NaNs are always supported.
To be compatible with the specification skip check of NaN
input floats.
Updated tests:
* dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opfunord*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opfunord*
* dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opford*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opford*
Affected tests:
* dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisnan*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisnan*
* dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisinf*
* dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisinf*
Components: Vulkan
VK-GL-CTS issue: 1528
Change-Id: Iadd91ed24c78e15ff458355262b009015b8a8e4a
Alexander Galazin [Wed, 9 Jan 2019 09:57:07 +0000 (10:57 +0100)]
Propagate required features down to the constructor
VariablePointers wasn't fully propagated down to the test constructor
Components: Vulkan
VK-GL-CTS issue: 1540
Affects:
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.workgroup_memory_variable_pointers
Change-Id: I4d29248ad4c2f38cdda5c31be1be781331433399
Alexander Galazin [Tue, 8 Jan 2019 15:37:27 +0000 (16:37 +0100)]
Remove unnecessary extension declarations
Declarations of SPV_AMD_gpu_shader_half_float
in the precision test are redundant and shouldn't appear
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.*.comparison.*
VK-GL-CTS issue: 1541
Change-Id: I75b57cb3361b683e446effa3ab9e51f441f186d5
Steven Perron [Tue, 11 Dec 2018 15:59:56 +0000 (10:59 -0500)]
Run validation before optimization.
The optimizer runs is own pass of the validator as a safety check.
However, that call to the validator does not get the any validatoin options passed in.
This causes problems with the memory layout tests.
The solution we will be to diable the call to the validator in the
optimizer. Instead the will be an explict call to validate the binary
before optimization starts, reusing functions that already exist to do
that.
At the same time, the run of the validator that is done with
--deqp-validation=enable will be moved so that it runs after
optimization. This way it will validate the output instead of the
input, and it will not be a redundant check.
VK-GL-CTS issue: 1503
Components: Vulkan, Framework
Affects: dEQP-VK.ssbo.layout.random.relaxed.*
Change-Id: Ib52fa97505855316739e07e472d23fcab4ac2beb
Alexander Galazin [Fri, 21 Dec 2018 18:32:00 +0000 (19:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I93423c80882209c8c41d4bd9f3d403037ec9ad01
Alexander Galazin [Fri, 21 Dec 2018 15:16:09 +0000 (16:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ie0a15653a8e00e8dc4acb07c0371dad770c5ee9f
Jeff Bolz [Wed, 12 Dec 2018 19:42:16 +0000 (13:42 -0600)]
Check for exact spec version for VK_KHR_vulkan_memory_model
This extension is provisional and its Features struct is expected to change soon.
Add a version check to protect against querying the struct and running tests with
an incompatible driver.
Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: Iedd08fa6433af4c59e18c58aa39c5366ad72570e
Boris Zanin [Thu, 20 Dec 2018 15:35:28 +0000 (16:35 +0100)]
Disable 0b-prefixed integers to be used
Binary integers prefixes 0b breaks Visual Studio 2013 build.
Add validation check to avoid usage of 0b prefixed integers.
Components: Vulkan
VK-GL-CTS issue: 1529
Change-Id: I8bac5b5788adac544b72ca44b74f847b1d3c96cf
Liam Middlebrook [Tue, 18 Dec 2018 06:04:29 +0000 (22:04 -0800)]
Don't fail DisplayProperties2KHR with no display
Instead, we should mark this test as not supported.
VK-GL-CTS issue: 1527
Components: Vulkan
Change-Id: I3b23ee27b6095b9dd1a4cdec01f0b92046aa8bc5
Affects: dEQP-VK.wsi.display.get_display_properties2
Jason Ekstrand [Sat, 15 Dec 2018 00:04:39 +0000 (18:04 -0600)]
Be more careful about Block decorations on structs
In spirv/SPIR-V@
9701a9f9 we changed the SPIR-V spec to say that
block-decorated structures could not be nested. This is needed for
sorting out certain variable pointers issues inside a SPIR-V parser.
Unfortunately, the mentioned group of CTS tests violates this rule.
Their %input_buffer type is a struct containing two instances of
%outer_struct and both %input_buffer and %outer_struct are decorated
Block. Fortunately, only one of the two struct types is actually
required for an input at any given type so we just need to be more
careful about the decorations.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.complex_types_compute.*
Components: Vulkan
VK-GL-CTS issue: 1518
Change-Id: I87a832fab94a9c06317d20b32afedf16b52ab2f2
(cherry picked from commit
1dbdfe34947fdb3e6d24226a58f02d0b8a515da8)
Jason Ekstrand [Sat, 15 Dec 2018 06:02:37 +0000 (00:02 -0600)]
Fix Block decorations in 8-bit storage tests
The Vulkan environment spec allows two types of SSBO declarations:
- Storage class of Uniform with the BufferBlock decoration
- Storage class of StorageBuffer with the Block decoration
All of the 8-bit storage tests, as far as I can see, have chosen to use
the StorageBuffer storage class. However, most of the SSBO declarations
are missing the Block decoration entirely. A few mistakenly have a
BufferBlock decoration.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.*
Components: Vulkan
VK-GL-CTS issue: 1519
Change-Id: Id78cae9c1813cd04daa894779aa3fbec57240eb8
Piotr Byszewski [Mon, 17 Dec 2018 13:13:05 +0000 (14:13 +0100)]
Fix denorm tests in float_controls
When binary operations on denorms are executed against Inf or Nan
SignedZeroInfNanPreserve mode should always be enabled as some
implementations may perform optimizations that assume that
arguments are not Nan or Inf. Before this change DenormPreserve
and DenormFlushToZero tests had only those modes enabled. Now
SignedZeroInfNanPreserve is added when second operand is Inf or Nan.
Components: Vulkan
VK-GL-CTS issue: 1517
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: I0b5e0ed010bde200154f58f9fe194fdf7c565803
Alexander Galazin [Tue, 18 Dec 2018 13:55:42 +0000 (14:55 +0100)]
Remove multiple Offset decorations
Fixes unintentional duplication of the Offset decoration
for the first struct member
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.compute.opcopymemory.struct
Change-Id: Id13a8f15a72d7dd32d13fb52a494d57349cea289
Piotr Byszewski [Tue, 18 Dec 2018 11:00:56 +0000 (12:00 +0100)]
Fix multiple ArrayStride decorations in float_controls
Most of float_controls tests that were executed on fragment stage
had an extra ArrayStride decorations for the same arrays. This change
corrects SPIR-V generation so that second set of ArrayStride
decorations is added only when tested operation input type is
different from operation result type.
Components: Vulkan
VK-GL-CTS issue: 1522
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*_frag
Change-Id: I3e72414e00bd82ff7a9975ff9148e9889bb32246
Arkadiusz Sarwa [Wed, 12 Dec 2018 14:23:10 +0000 (15:23 +0100)]
Optimizing reading in host_read_host_write.1048576
To optimize reading the "for loop byte by byte" was replaced
by memcpy for memory equal and larger then 1 MB.
Components: Vulkan
VK-GL-CTS issue: 1515
Affects:
dEQP-VK.memory.pipeline_barrier.host_read_host_write.1048576
Change-Id: I02f2c3c90d2fc554597f8892a77da6106062452d
Yu-Jun Li [Tue, 11 Dec 2018 18:53:06 +0000 (10:53 -0800)]
Fixes binding model test format mismatch
Storage texel buffer had a different format in
the shader (R32I) than in the app (R32UI).
Components: Vulkan
VK-GL-CTS issue: 1514
Affects:
dEQP-VK.binding_model.descriptorset_random.*
Change-Id: Iffbffbd002a77387dbe008e53ebb81d3f28838f5
Matthew Netsch [Mon, 10 Dec 2018 18:34:22 +0000 (13:34 -0500)]
Fixes AHB test out of memory error
Handles out of memory as not supported
Components: Vulkan
VK-GL-CTS issue: 1507
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Change-Id: If46d2fd7a446f8348aa11bb1636635c7d1f3660a
Graeme Leese [Thu, 13 Dec 2018 09:58:28 +0000 (09:58 +0000)]
Remove Clip/CullDistance when not needed
Although the tests don't need clip or cull distances the capabilities
are enabled, which means that features would need to be enabled. Remove
the capabilities.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*
dEQP-VK.spirv_assembly.instruction.compute.multiple_shaders.*
Change-Id: If8e18b1608f4d8d2782e9010c531a4e20119b414
Chris Forbes [Mon, 17 Dec 2018 16:53:22 +0000 (08:53 -0800)]
Add some watchdog touches in AHB image format tests
Timing on these tests is marginal if the device runs into memory trouble
and needs to spend a lot of time reclaiming to satisfy the allocations.
Change-Id: If397b95b3be02553b3bca2baf43b21b245136b6d
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats
Components: Vulkan
Arkadiusz Sarwa [Fri, 7 Dec 2018 11:19:06 +0000 (12:19 +0100)]
Fix flag dEQP-VK.*.record_simul_use_primary
Flag VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
should be used in VkCommandBufferBeginInfo when
a buffer is resubmitted to a queue while it is
in the pending state,
Components: Vulkan
Affects: dEQP-VK.api.command_buffers.record_simul_use_primary
VK-GL-CTS Issue: 1500
Change-Id: Id527cc2fa54de2675514f89b5f44af221f42bd80
Yiwei Zhang [Thu, 13 Dec 2018 00:12:43 +0000 (16:12 -0800)]
DEQP: Fix the build targets without SPIRV tools
VK-GL-CTS issue: 1516
Affects: Any build without SPIRV tools
Components: Framework
Change-Id: I7bdbcb94a0877e51d2ae39018fb80c84b2924607
Liam Middlebrook [Tue, 11 Dec 2018 04:42:47 +0000 (20:42 -0800)]
Don't fail DisplayModeProperties2 with no display
Instead, we should mark this test as not supported.
VK-GL-CTS issue: 1513
Components: Vulkan
Change-Id: I16a6dcb9f10997b5bbc24ffd2c2d7b0300f43f4c
Affects: dEQP-VK.wsi.display.get_display_mode_properties2
Graeme Leese [Fri, 7 Dec 2018 10:58:39 +0000 (10:58 +0000)]
Skip fconvert16 if float16 not supported
The SPIR-V instruction test for float16 wasn't checking for the float16
capability correctly so didn't work properly on implementations that
don't support it.
Components: Vulkan
VK-GL-CTS issue: 1499
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16
Change-Id: Id8dfc596acda41da670b2d6c08bde9920df99268
Alexander Galazin [Tue, 4 Dec 2018 15:22:53 +0000 (16:22 +0100)]
Update glslang
Components: Framework, Vulkan
Change-Id: Ic2ecbd6915b8f4d6ecfc6a291df0791ddf5167e8
Samuel Iglesias Gonsálvez [Tue, 4 Dec 2018 15:22:26 +0000 (16:22 +0100)]
Add precision error margin to cos() tests for float_controls
On some old Intel hardware, Mesa doesn't return exactly 1.0 for cos(0).
This change implements the precision error margin for the affected cos() tests,
following Vulkan spec, "Precision and Operation of SPIR-V Instructions".
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*.cos_denorm_flush_to_zero*
VK-GL-CTS issue: 1498
Change-Id: I2ff07616f706d4214517917276aeb26d2d875325
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Piers Daniell [Tue, 4 Dec 2018 17:06:01 +0000 (10:06 -0700)]
Remove unsupported image load store tests
CL https://gerrit.khronos.org/#/c/2639/ added more
formats to the dEQP-VK.image.mutable.* tests. Variants
of these tests use image load store. However, the new
formats added are not all compatible with image load
store as defined by:
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#spirvenv-image-formats
This CL removes test variants that use image load store
and the invalid formats from the mustpass list.
Affected tests:
dEQP-VK.image.mutable.*
dEQP-VK.image.swapchain_mutable.*
Components: Vulkan
VK-GL-CTS issue: 1495
Change-Id: I49867913ba5c4e50b4f3d85d7c6787dc60113e63
Piers Daniell [Mon, 3 Dec 2018 22:27:34 +0000 (15:27 -0700)]
Fix image feature checks for swapchain_mutable.*
This fix mirrors what was already done in
https://gerrit.khronos.org/#/c/2799/ for the other
image.mutable.* tests. Without this fix the
DE_FATAL("Invalid download method") assert will fire
for some of the sub tests and the test won't be
properly skipped when the platform doesn't support
the format.
Components: Vulkan
Affects: dEQP-VK.image.swapchain_mutable.*
VK-GL-CTS Issue: 1295
Change-Id: I009baa8697ae09f7e9b8001b90159658ced4c62a
Jeff Bolz [Tue, 4 Dec 2018 17:00:04 +0000 (11:00 -0600)]
Fix ubo.random to only use scalar_block_layout in 'scalar' tests
Components: Vulkan
Affects: dEQP-VK.ubo.random*
VK-GL-CTS issue: 1493
Change-Id: I1f5c9b3d8269973c33de1908673d942e67ea3184
Alexander Galazin [Mon, 3 Dec 2018 17:54:16 +0000 (18:54 +0100)]
Update SPIR-V Tools/Headers
Update SPIR-V Tools/Headers to public commits
Components: Framework
Change-Id: If65c03f115c69386163303c61f5f62c85a2b3d4b
Alexander Galazin [Mon, 3 Dec 2018 18:40:25 +0000 (19:40 +0100)]
Fix incorrect decoration on PushConstant
The spec reuires PC to be decorated as Block not BufferBlock
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
VK-GL-CTS issue: 1494
Change-Id: Ic82ad34970117a06101173bdc2f62dea6859e723
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
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
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)
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
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
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
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
Alexander Galazin [Thu, 29 Nov 2018 09:29:52 +0000 (10:29 +0100)]
Update glslang
Components: Framework
Change-Id: I0d3cf4fa6e5cce6c37a76bc2558cb4aeced4f902
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
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
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
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
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
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
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
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
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
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
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)
Alexander Galazin [Tue, 27 Nov 2018 13:26:50 +0000 (14:26 +0100)]
Update glslang
Components: Framework
Change-Id: I5c969c767d58afe0d0ef30e46f78d9b96d20b8a7
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
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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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.*
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
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
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
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
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
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
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
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
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
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
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