Alexander Galazin [Fri, 22 Mar 2019 15:25:50 +0000 (16:25 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ie1a2c3d42088338cc526a4b9bd22bdec070dd7b9
Alexander Galazin [Fri, 22 Mar 2019 13:09:57 +0000 (14:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Iff99182ee48f808b2e1e93eea00ae17ec44efa3e
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)
Arkadiusz Sarwa [Mon, 21 Jan 2019 14:50:34 +0000 (15:50 +0100)]
Fix the limitation in allocation test
Change removes the limitation for number of allocations
in the test.
Components: Vulkan
VK-GL-CTS issue: 1569
Affects:
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
Change-Id: I038fcfcae46a6baaf691163166c74ea0d3831043
Alexander Galazin [Tue, 5 Mar 2019 16:09:54 +0000 (16:09 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Iaff35efaad77acdd183dd07161fa0da31faaeac2
Alexander Galazin [Tue, 5 Mar 2019 15:41:47 +0000 (15:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I91653c9399920b5e965597c6e4b6006d3490d883
Alexander Galazin [Tue, 5 Mar 2019 15:05:48 +0000 (15:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I0317d6d414441f536e8255db7143e57eeea3448e
Igor Ostrowski [Thu, 28 Feb 2019 16:15:12 +0000 (17:15 +0100)]
Fix buffer RAW hazards in synchronization tests
Missing barrier for buffers in semaphore tests.
Affects:
dEQP-VK.synchronization.op.single_queue.semaphore.write_*_read_*.buffer_*
Components: Vulkan
VK-GL-CTS issue: 1633
Change-Id: I0f4ffed00e28816496948d8167e08bbbed999b79
Alexander Galazin [Thu, 28 Feb 2019 16:17:02 +0000 (17:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Id1dfb48db9c7c5ad1d4260e4595617723034af04
Alexander Galazin [Thu, 28 Feb 2019 15:49:11 +0000 (16:49 +0100)]
Exclude few rasterization tests
Components: Vulkan
Affects:
dEQP-VK.rasterization.interpolation.basic.lines_wide
dEQP-VK.rasterization.interpolation.projected.line_strip_wide
dEQP-VK.rasterization.flatshading.lines_wide
VK-GL-CTS issue: 1274
Change-Id: I4771bc1729ccd6eb39e291cb26a5db5b42688140
Tom Cooper [Fri, 8 Feb 2019 14:14:40 +0000 (14:14 +0000)]
Fixes YCbCr create flag requirements for image format properties tests
YCbCr formats are not required to support
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT.
Components: Vulkan
Affects: dEQP-VK.api.info.image_format_properties.*
VK-GL-CTS Issue: 1592
Change-Id: I140f6b93a337d325fd908259f3da2dc1f4d251d9
Alexander Galazin [Tue, 26 Feb 2019 16:53:28 +0000 (17:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ic711984d0039550239e56cefd30e735da866f524
Alexander Galazin [Tue, 26 Feb 2019 16:19:23 +0000 (17:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ib3a1ff276813033d0bfc87150266e4ff848aa290
Alexander Galazin [Tue, 26 Feb 2019 14:38:00 +0000 (15:38 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Ibc6149bcd2518049216704334a23d90ea572c446
ygole [Tue, 15 Jan 2019 13:49:31 +0000 (19:19 +0530)]
Check if CTS has platform display for wsi-type
Vulkan driver can expose multiple VK_KHR_{platform}_surface extensions
and it's app responsibility to create platform display then create the
surface and pass it to vkCreate{platform}SurfaceKHR. But if CTS does
not have display for requested wsi type and extension is exposed, CTS
reports it as failure.
To fix this, if function createWsiDisplay fails then check whether CTS
has platform display available for requested wsi-type and if it does
then only report this as failure otherwise report it as unsupported.
Affects: dEQP-VK.wsi.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1558
Change-Id: I41aabc2e77cfc6e730b5a95dde746d8ea8152d2b
(cherry picked from commit
b7efacd7b320d2b2c3b8b75cf98c9979b5a29fe9)
Lisa Wu [Wed, 20 Feb 2019 13:58:11 +0000 (14:58 +0100)]
Check shaderInt64 feature support in memory tests
Not all vulkan implementations support int64 data type in shaders,
dEQP-VK.memory_model.* tests should check support before using "int64"
in the shader.
Affects: dEQP-VK.memory_model.*.u64.*
Components: Vulkan
VK-GL-CTS issue: 1621
Change-Id: Idefe662a7327708898b01777f14f6ca9637a35f3
Alexander Galazin [Thu, 21 Feb 2019 09:08:51 +0000 (10:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I340cd7f2e1cd8a98c98c0b9018a6648dba6712cc
Alexander Galazin [Thu, 21 Feb 2019 08:39:43 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I404c995c42188a88a080ba5b27c3075e5d746f7f
Alex Walters [Tue, 12 Feb 2019 17:50:27 +0000 (17:50 +0000)]
Fragment input components limit includes position
The Vulkan limits maxFragmentInputComponent is inclusive of any
components that are being used up by the built-in interface block.
This means that the test of n components should consist of 4 components
for the position and (n - 4) user defined components.
The test should also check the maxVertexOutputComponent limit as
technically there is no implied >= requirement.
Affects:
dEQP-VK.glsl.limits.near_max.fragment_input.components_*
Component: Vulkan
VK-GL-CTS Issue: 1597
Change-Id: I58adbbbaaa94dd185b024f63519dac7daf5e4b3c
(cherry picked from commit
8b5781b8e7a4564ddec376828a16fd89fb8e3227)
Alexander Galazin [Thu, 14 Feb 2019 18:56:07 +0000 (13:56 -0500)]
Revert "Fix subpixel precision for line geometry generation"
This reverts commit
3116016d8e0e4582396d67a1286aa3a6815a3332.
VK-GL-CTS issue: 1582, 1274
Affects:
dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*
Components: Framework
Change-Id: I5e1fbc948f5784656523c37924ca746c6b6aa5a8
Igor Ostrowski [Thu, 31 Jan 2019 10:26:07 +0000 (11:26 +0100)]
Fix RAW and WAW hazards in pipeline barrier tests.
Test was not handling correctly internal state of the visibility and availability operations.
Both access scopes of the barrier must be set correctly to unlock such usage of the resource.
Affects:
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 1589
Change-Id: Ie2b47f160a0181948de1a37d1e7e5202a94d493e
Alexander Galazin [Thu, 14 Feb 2019 11:46:15 +0000 (12:46 +0100)]
Further fixes for spirv validation issues in pointer_parameter
Components: Vulkan
VK-GL-CTS issue: 1590
Affects:
dEQP-VK.spirv_assembly.instruction.*.pointer_parameter.*
Change-Id: I59f2fc2e9d458fa1a122962487b30fec99b38401
Carl Ritson [Mon, 11 Feb 2019 15:28:05 +0000 (15:28 +0000)]
Fix memory allocation size in subgroups tests
Many subgroups test shaders are executed using std140 memory layout,
meaning a minimum stride of 16-bytes. The common allocation path
assumes a packed layout and hence does not allocate sufficient buffer
for uint arrays, etc.
This change increases the allocation request size to address the issue.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS Issue: 1593
Change-Id: I150cf0bb69029137a44c778c04cecbf2f61515ae
Piotr Byszewski [Thu, 7 Feb 2019 11:39:48 +0000 (12:39 +0100)]
Fix spirv validation issue in pointer_parameter
Components: Vulkan
VK-GL-CTS issue: 1590
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.*
Change-Id: I05546f34b52630e6706368f633913d3596e81703
Alexander Galazin [Wed, 30 Jan 2019 11:32:51 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ibe8e4681ee550224f9db8109857812113c2bc503
Alexander Galazin [Wed, 30 Jan 2019 11:32:48 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I15606e0ae4cebef241218414134324f043f06633
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning
Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.
This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.
If such a match is detected the test will output a QualityWarning
instead of a Pass.
If the two compared values don't match, but are not both error colours
the test result is still a Fail.
Affects:
dEQP-VK.image.texel_view_compatible*astc*
Components: Vulkan
VK-GL-CTS issue: 1231
Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff
(cherry picked from commit
b038d43aa868be1e6d4471c6977984151ada3af5)
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.
Components: Vulkan
Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group
VK-GL-CTS Issue: 1431
Change-Id: I099a05f3109c1997cad323a0577f66c95755b151
(cherry picked from commit
4c98da04296ed97e73fecdd2e5b80478ba7f60af)
Peter Quayle [Tue, 11 Dec 2018 18:02:26 +0000 (18:02 +0000)]
Reduce devices created in device_group tests
The device_group tests could sometimes hit timeouts on
slower CPUs. This change reduces the number of objects
created in these tests to match the reduced number used
in the device and instance tests.
Affects:
dEQP-VK.api.object_management.
multithreaded_per_thread_resources.device_group
dEQP-VK.api.object_management.
multithreaded_shared_resources.device_group
Components: Vulkan
VK-GL-CTS issue: 1512
Change-Id: Icb68643ff530a8b1a1a7daa9fc93d8db8bc5faf9
(cherry picked from commit
9134406c47a0f345ea9e3c67dc7b99c7947b2436)
Yu-Jun Li [Mon, 7 Jan 2019 18:48:18 +0000 (10:48 -0800)]
Fixes multiview query tests
Queries need to be reset prior to use
Components: Vulkan
VK-GL-CTS issue: 1575
Affects:
dEQP-VK.multiview.queries.*
Change-Id: Icf0f712a3391784ee47c00de833f8417bb8337c3
(cherry picked from commit
bd913ffd046955e976337ab6fb1e93520b37c375)
Alexander Galazin [Mon, 21 Jan 2019 20:16:08 +0000 (21:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ic7e43b929357fc3e076de1105d7e24fb3b92b946
Alexander Galazin [Mon, 21 Jan 2019 18:21:53 +0000 (19:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I79cdbe3b49745c53437cd85f3022bf9c6123211d
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
(cherry picked from commit
f659f8c9ad39c179a79a92ee3b66cb83e1dd52ed)
Alexander Galazin [Fri, 18 Jan 2019 09:47:28 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I2b85e569622052ec742b1272ac367fc1dccf1733
Alexander Galazin [Fri, 18 Jan 2019 09:47:25 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Iaf773ccd948a5707df4d2ae4628a702e739bd8df
Alexander Galazin [Fri, 18 Jan 2019 09:47:22 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Idf9225adfcbc231e544516558bd6d794dce40b26
Piotr Byszewski [Thu, 17 Jan 2019 12:37:07 +0000 (13:37 +0100)]
Fix validation failure in float_controls
Half of float_controls tests read operation arguments from
SSBO (other half generates them in the code). Whent vertex
stage is tested this SSBO must be decorated as NonWritable.
This change resolves this issue by applying NonWritable
decoration to input SSBO for all tested stages.
Operation output is always saved in fragment stage and to
separate SSBO.
Components: Vulkan
VK-GL-CTS issue: 1543
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: Iaed891d7b45b2a5f02ce1443dc13a40e24fa2086
Alexander Galazin [Thu, 17 Jan 2019 11:51:30 +0000 (12:51 +0100)]
Update Vulkan CTS Readme
Clarify API level requirements for implementations with
VK_ANDROID_external_memory_android_hardware_buffer support
Components: Vulkan
Change-Id: I8536595678a8d4daff9e16ed3a9e9e25594e372e
Matthew Netsch [Wed, 16 Jan 2019 19:36:30 +0000 (14:36 -0500)]
Fixes ycbcr image properties requirement
Mipmaps/Arrays are optional for ycbcr images
Components: Vulkan
VK-GL-CTS issue: 1506
Affects:
dEQP-VK.api.info.image_format_properties.*
Change-Id: I795ec1c8b3e44a460ddd0c7c2fe0fe1731794cab
(cherry picked from commit
845394de5b43c71adddc72e7563b50c65e852b27)
Alexander Galazin [Thu, 17 Jan 2019 11:56:27 +0000 (12:56 +0100)]
Fix image type in Uniform texel buffer tests
Form the issue:
The Shader Resource and Storage Class Correspondence table
in the Descriptor Set Interface section of the Vulkan 1.1
specification clearly states that a descriptor resource
which is a uniform texel buffer should correspond to
an OpTypeImage(Dim=Buffer,Sampled=1) type.
The current tests in the binding_model category
generate OpTypeSampledImage for uniform texel buffer
resources instead, which I believe is incorrect.
This can be fixed by changing the GLSL declaration from
samplerBuffer to textureBuffer
Components: Vulkan
VK-GL-CTS public issue: 139
Affects:
dEQP-VK.binding_model.*uniform_texel_buffer.*
Change-Id: Ie1beb05cac69a6cf1220bbd47c2d7876eed7ff26
Martin Freebody [Mon, 14 Jan 2019 13:34:40 +0000 (13:34 +0000)]
Protected Memory Fixes - Barrier Layouts & Flags
This change removes errors reported by core validation layer.
Affects: dEQP-VK.protected_memory.*
Components: Vulkan
Change-Id: Ic258ba2af077b2dc119db0d177613558464e0c9a
Jeff Bolz [Wed, 12 Dec 2018 19:46:54 +0000 (13:46 -0600)]
Update VK_KHR_vulkan_memory_model to spec version 3
Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: I3ba8a275092f0a2fcfef02cdabf2ab51750f74f5
Tom Cooper [Mon, 14 Jan 2019 14:02:03 +0000 (14:02 +0000)]
Fixes depth load_op in multiview tests
Depth load_op was set to dont care before drawing with depth test.
Components: Vulkan
VK-GL-CTS issue: 1557
Affects:
dEQP-VK.multiview*.depth.*
Change-Id: Ia853a84fa7c96b641a2dd91075d015a90a372d35
Bas Nieuwenhuizen [Tue, 15 Jan 2019 17:02:59 +0000 (18:02 +0100)]
Touch watchdog more often for precision tests.
Have a test that takes ~2.5 minutes here using ARM
emulation:
01-15 17:58:54.903 3909 3926 I dEQP : Test case 'dEQP-VK.glsl.builtin.precision.reflect.mediump_compute.vec4'..
01-15 18:01:28.631 3909 3926 I dEQP : Pass (Pass)
Since this is still below the overall 300 seconds limit
for a test I thought just increasing the watchdog touch
frequency would be okay.
We probably strictly need about 1000, but for leaving
some time before/after this for the driver to do stuff
(like compiling a shader), I took something lower.
Affected tests:
dEQP-VK.glsl.builtin.precision.*
Component: Vulkan
VK-GL-CTS issue: 1560
Change-Id: I450ddac39635c857ee1966d86ae16085082d242b
Chris Forbes [Tue, 15 Jan 2019 01:30:31 +0000 (17:30 -0800)]
Add AHB to Android allowed extensions list
Affects: dEQP-VK.api.info.android.no_unknown_extensions
VK-GL-CTS Issue: 1559
Components: Vulkan
Google Bug: b/
120907290
Change-Id: Id1f2d63cbd51e7b3e51106f8f0214cd8d95c199c
Slawomir Cygan [Mon, 10 Dec 2018 16:08:05 +0000 (17:08 +0100)]
Fix logging of 8-bit integer values
The values were 'streamed' using << to std::stream, so they
were treated as characters, instead of integer values.
Components: Vulkan
VK-GL-CTS Issue: 1505
Affects:
dEQP-VK.spirv_assembly.type.scalar.*8.*
Change-Id: I34e697eb5b1c554b98a2fe556368bd6485fb406f
Boris Zanin [Tue, 27 Nov 2018 11:54:43 +0000 (12:54 +0100)]
Allow coarse derivatives to be calced by fine func
OpDPdxCoarse (OpDPdyCoarse) are allowed to be calculated by same
formulas as OpDPdxFine (OpDPdyFine). Also due to OpFwidthCoarse
is described as sum of OpDPdxCoarse, OpDPdyCoarse allow it to be
calculated by OpFwidthFine.
Components: vulkan
VK-GL-CTS issue: 1452
Affects: dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.opdpdxcoarse
Change-Id: Ib91d813626e579309d3d9176d52b0954efa920d4
Alexander Galazin [Fri, 11 Jan 2019 08:51:22 +0000 (09:51 +0100)]
Update glslang
Component: Framework
Change-Id: I35639832f859e7eb4d62c887eee465555f04b877
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)