Boris Zanin [Mon, 17 Sep 2018 13:11:46 +0000 (15:11 +0200)]
Add Transform Feedback tests
Add tests:
* dEQP-VK.transform_feedback.simple.basic*
* dEQP-VK.transform_feedback.simple.resume*
* dEQP-VK.transform_feedback.simple.streams_*
* dEQP-VK.transform_feedback.simple.streams_pointsize_*
* dEQP-VK.transform_feedback.simple.streams_clipdistance_*
* dEQP-VK.transform_feedback.simple.streams_culldistance_*
* dEQP-VK.transform_feedback.simple.multistreams_*
* dEQP-VK.transform_feedback.simple.draw_indirect_*
* dEQP-VK.transform_feedback.simple.backward_dependency
* dEQP-VK.transform_feedback.simple.query_*
* dEQP-VK.transform_feedback.fuzz.*
Components: vulkan
VK-GL-CTS issue: 1350
Change-Id: If0b7a47f95f554dd43db77a6d005ebeb44c27294
(cherry picked from commit
a0cfd09544ed9cba4abb4d71ede7ba224baea0a3)
Drew Davenport [Wed, 6 Mar 2019 22:27:24 +0000 (07:27 +0900)]
dEQP-GLES31.functional.ssbo.layout.random.*: Add check for GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
Commit
237916d03377a469e30dd36087738b069f83a19a
(gles31:es31fSSBOLayoutTests limit m_maxBlocks and m_maxBlockMembers
for low ram device) disturbs the random number generator for this set
of tests.
This CL adds additional check to mark a test case as unsupported when
applicable.
Bug:
125999156
Test: dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#45
Change-Id: I82f4ff846d9ac1389b51687f330ce8233d4856b7
(cherry picked from commit
6859e6c3488a5c757557b42c3774508baeacf3d0)
James Glanville [Tue, 12 Feb 2019 14:47:41 +0000 (14:47 +0000)]
dEQP-GLES31.functional.ssbo.layout.random.*: Add check for
GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
Commit
237916d03377a469e30dd36087738b069f83a19a
(gles31:es31fSSBOLayoutTests limit m_maxBlocks and m_maxBlockMembers
for low ram device) disturbs the random number generator for this set
of tests.
This causes:
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.45
to require implementation support for 9 SSBO binding points, more
than the spec requires.
Fixed by adding check for GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS and
marking this test as unsupported
Bug: b/
125134085
Change-Id: I17dc2063675ace06bc7e7763cff8bd46bd397b8c
(cherry picked from commit
feb932cf5c3f5d9115c86073693d859667a81361)
xinglong.zhu [Fri, 4 Jan 2019 08:55:20 +0000 (16:55 +0800)]
gles31:es31fSSBOLayoutTests limit m_maxBlocks and m_maxBlockMembers for low ram device
Memory requirement for cts CtsDeqpTestCases
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#5
reduced from 230MB to 36MB
Issue:
121364689
Test: run cts -m CtsDeqpTestCases -t dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#5
Change-Id: I2a66263f041265e8697e4b270132b9889486ce4f
(cherry picked from commit
237916d03377a469e30dd36087738b069f83a19a)
Alexander Galazin [Thu, 11 Apr 2019 13:51:07 +0000 (15:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I39a8a2632e2dbc8f2cd7165b8ce614287de79e66
Alexander Galazin [Thu, 11 Apr 2019 12:46:34 +0000 (14:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I22ee52a20ef76af09b9e9ae5c4f7e8ee7073025c
Ricardo Garcia [Mon, 1 Apr 2019 10:57:34 +0000 (12:57 +0200)]
Add VK_EXT_pci_bus_info tests
Add test to verify values returned as the physical device PCI bus info
properties make sense and are not invalid.
Affected tests:
dEQP-VK.api.info.get_physical_device_properties2.properties
Components: Vulkan
VK-GL-CTS issue: 1690
Change-Id: I737d1be7f0727db8a45de6a4286fa00e305157d5
Samuel Iglesias Gonsálvez [Fri, 5 Apr 2019 14:40:30 +0000 (16:40 +0200)]
Missing format checks for vertex attribute and color attachments in input_ouput tests
Input_output tests were not checking that the vertex attribute formats
were supported by the physical device. Added a similar check for the color
attachment.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.*input_output*
Components: Vulkan
VK-GL-CTS issue: 1726
Change-Id: I2987deeafc8d3cc119730993fcb30fb191be062c
Samuel Iglesias Gonsálvez [Fri, 5 Apr 2019 14:40:30 +0000 (16:40 +0200)]
Missing format checks for vertex attribute and color attachments in input_ouput tests
Input_output tests were not checking that the vertex attribute formats
were supported by the physical device. Added a similar check for the color
attachment.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.*input_output*
Components: Vulkan
VK-GL-CTS issue: 1726
Change-Id: I2987deeafc8d3cc119730993fcb30fb191be062c
Samuel Iglesias Gonsálvez [Thu, 11 Apr 2019 07:49:01 +0000 (09:49 +0200)]
Fix malformed assets, use DE_FATAL
Convert all malformed asserts like DE_ASSERT("...") to DE_FATAL.
Components: Vulkan
VK-GL-CTS issue: 1294
Change-Id: Ieedef557849371473bbec86841f9373749bd3b66
Michal Jakubek [Mon, 21 Jan 2019 10:48:54 +0000 (10:48 +0000)]
Auto-generate DeviceFeatures class
Adds:
* vkDeviceFeatures.cpp
* vkDeviceFaatures.hpp
* vkDeviceFeatures.inl
The first two files are a declaration and an implementation
of vk::DeviceFeatures class respectively.
vkDeviceFeatures.inl file is an auto-generated file
while gen_framework.py is processing. Content of inl
file constitutes a closure of vk::DeviceFeatures and
it is utiized by class implementation only.
Affects: dEQP-VK*
Components: Vulkan, Framework
VK-GL-CTS issue: 1487
Change-Id: Ic9a086cad28ad82aca59e6656fa726f96ef0c62d
Kristian H. Kristensen [Thu, 14 Feb 2019 22:36:40 +0000 (14:36 -0800)]
Fix surfaceless target
Change-Id: Iade7c63d6b17ffb11924191ddd1f54bfc808de4c
Components: Framework
Mika Väinölä [Wed, 3 Oct 2018 13:03:46 +0000 (16:03 +0300)]
Suppress Clang 7 self-assignment warnings
Clang 7 warns on two intentional self-assignments. According to the
release notes "the warning can be suppressed by adding *& to the
right-hand side or casting it to the appropriate reference type."
Component: Framework
VK-GL-CTS issue: 1401
Change-Id: I3145b1965d46f617eb10ff8a60d038ce9bbb5cbf
(cherry picked from commit
3aa55b5b9bd903f279e234304a2affd409b18e8d)
Alexander Galazin [Wed, 3 Apr 2019 08:01:42 +0000 (10:01 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.1.x
Components: Vulkan
Change-Id: I025b8f99656956d4e88e7c7185ec9dda3eddb7f5
Piers Daniell [Tue, 9 Apr 2019 17:20:09 +0000 (11:20 -0600)]
Fix 1.1.5 mustpass files
Due to a copy+paste error in the build_mustpass.py script the
1.1.5 mustpass files were using the wrong configuration.
Components: Vulkan
Change-Id: I0a793e441475584e3422567b5677f1ef8d4d067a
Toni Merilehti [Thu, 28 Mar 2019 07:35:32 +0000 (09:35 +0200)]
Add helper function for creating Amber test cases
This helper function returns an AmberTestCase* if the required Amber
file is present, otherwise it will throw an internal error. This CL
also utilizes the helper on current Amber tests.
Affects:
dEQP-VK.amber-example.clear
dEQP-VK.graphicsfuzz.*
dEQP-VK.rasterization.provoking_vertex.*
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*
Components: Vulkan
VK-GL-CTS issue: 1668
Change-Id: Iae250c3bc1ecc1d7b022e3b351f77deb03ec3ac4
Alexander Galazin [Fri, 5 Apr 2019 12:08:54 +0000 (14:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: Ibed5ee188a8f7bdeb4f07e729a7dc76408528d33
Alexander Galazin [Fri, 5 Apr 2019 11:00:13 +0000 (13:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iea26f0e9f9c0d8b69d99fa4b0763269f420858df
Alexander Galazin [Fri, 5 Apr 2019 10:58:45 +0000 (12:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I1e1913b4571e7a001879b3a0a597eafc0f48d828
Nikita Bart [Wed, 27 Mar 2019 13:13:00 +0000 (14:13 +0100)]
Handle BUFFER_DYNAMIC and UPDATE_AFTER_BIND interaction
"descriptorset_random" tests were violating the spec's requirement that
bindings with VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit
cannot be used with BUFFER_DYNAMIC descriptor types in one set.
Testing of UPDATE_AFTER_BIND bindings is disabled
in order to conform to the requirement.
Fix validation of inline UBO with variable descriptor count
When used with variable descriptor count inline UBO's were read
and written out of allocated size, which is set in
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT.descriptorCount
Components: Vulkan
Affects: dEQP-VK.binding_model.descriptorset_random.*
VK-GL-CTS issue: 1708
Change-Id: I9e97b701897961aedf8a746b72a1070ccd3b04e7
Ari Suonpaa [Mon, 25 Mar 2019 07:57:21 +0000 (09:57 +0200)]
Add tests for provoking vertex
Only some of the primitives were tested for correct provoking
vertex functionality, and lines required strict rasterization
feature. These new tests cover all primitive types with no
extra feature requirements.
New tests:
dEQP-VK.rasterization.provoking_vertex.*
Components: Vulkan
VK-GL-CTS issue: 1655
Change-Id: I1bdd1249b3b7f991137ec1d5d1984d9206e7b64f
Alexander Galazin [Thu, 4 Apr 2019 19:04:28 +0000 (21:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I8c138909bd4e4d0f5ea21132ddfef2fabb3d6c03
Alexander Galazin [Thu, 4 Apr 2019 18:52:34 +0000 (20:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iae6020003b47aa1903dfc1f9917383de6a33fb57
Alexander Galazin [Thu, 4 Apr 2019 18:52:02 +0000 (14:52 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3" into vulkan-cts-1.1.3
Alexander Galazin [Wed, 3 Apr 2019 16:23:33 +0000 (18:23 +0200)]
Blacklist 1.0.2.x versions
1.0.2.x is withdrawn. Recent drivers shouldn't advertise these versions.
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I5e7417d0561381dd0365edef9f17609cc5f2a5aa
Alexander Galazin [Thu, 4 Apr 2019 18:22:37 +0000 (20:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I353dac50e06609d2783125bf22aee21f27c9939a
Anthony Pesch [Tue, 26 Mar 2019 16:24:17 +0000 (12:24 -0400)]
Fix buffer RAW hazards in MultiQueue synchronization tests
The MultiQueue tests emit barriers between command buffers for two reasons:
1. To express the data dependencies between different pipeline stages.
2. To transfer ownership of the resource between queue families.
The exclusive sharing mode tests need both of these barriers, while the
concurrent mode tests only need to describe the data dependency.
Previously, a barrier was only emitted for the exclusive tests, causing
the concurrent tests to not have a barrier expressing the data dependencies
between the pipeline stages. Now the data dependencies are described for
both the exlusive and concurrent tests, while the ownership transfer is
only performed for exclusive tests.
Affects: dEQP-VK.synchronization.op.multi_queue.*.write_*_read_*.buffer_*
Components: Vulkan
VK-GL-CTS issue: 1650
Change-Id: Ic3bc83a7dcab8686754aea5267afeb10090038d0
(cherry picked from commit
93dc8a343c7ea67a2c8ffb694b45ff44703fbe6f)
Anthony Pesch [Tue, 26 Mar 2019 16:24:17 +0000 (12:24 -0400)]
Fix buffer RAW hazards in MultiQueue synchronization tests
The MultiQueue tests emit barriers between command buffers for two reasons:
1. To express the data dependencies between different pipeline stages.
2. To transfer ownership of the resource between queue families.
The exclusive sharing mode tests need both of these barriers, while the
concurrent mode tests only need to describe the data dependency.
Previously, a barrier was only emitted for the exclusive tests, causing
the concurrent tests to not have a barrier expressing the data dependencies
between the pipeline stages. Now the data dependencies are described for
both the exlusive and concurrent tests, while the ownership transfer is
only performed for exclusive tests.
Affects: dEQP-VK.synchronization.op.multi_queue.*.write_*_read_*.buffer_*
Components: Vulkan
VK-GL-CTS issue: 1650
Change-Id: Ic3bc83a7dcab8686754aea5267afeb10090038d0
David Neto [Thu, 28 Mar 2019 21:32:41 +0000 (17:32 -0400)]
vktAmberTestCase::parse second argument is a string
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*
VK-GL-CTS issue: 1702
Change-Id: I64f6bcf60904647b6e0a473941313ad09142ae3d
Mika Väinölä [Tue, 12 Mar 2019 12:59:29 +0000 (14:59 +0200)]
Test multiple interpolations in a shader stage
Add tests for rendering simultaneously into multiple attachments using
different interpolation decorations. Verify result by rendering with
only one interpolation and attachment at a time. Check that each result
matches only with the reference frame using the same interpolation
decoration, with the exception of smooth and centroid without
multisampling.
New tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 1110
Change-Id: I55ca7fad937b29e81512b0ee100ca8e811b7cf73
Boris Zanin [Wed, 3 Apr 2019 10:14:26 +0000 (12:14 +0200)]
Fix damage binary length field in shadercacheSave
Hash cache collision does not mean that binary
would be of same length.
Function shadercacheSave does not account it and
overwrites original binary length with cached
binary length.
Components: Framework
VK-GL-CTS issue: 1717
Change-Id: Iaabce787725c584b9735e959b572ca7667addde4
(cherry picked from commit
7871b6a8e263e1fddefbdbfbf1ca19e657f384ec)
Ari Suonpaa [Tue, 29 Jan 2019 11:14:57 +0000 (13:14 +0200)]
Use nonsymmetric dimensions for attachment clear tests
Attachment clear tests were all using a size of 256x256.
Clear rects were calculated from width and height, which
didn't cover a case where coordinate axis would be mixed
up. The image dimensions were changed to 200x180 to fix
this and to also test non-power-of-two images. The clear
rectangles were also offset to avoid having them
symmetrical when mirroring x or y axis.
Affects:
dEQP-VK.api.image_clearing.core.*
Components: Vulkan
VK-GL-CTS issue: 1550
Change-Id: I84d28ee69f87c72a5d49592fa939e47d6a701671
Boris Zanin [Wed, 3 Apr 2019 10:14:26 +0000 (12:14 +0200)]
Fix damage binary length field in shadercacheSave
Hash cache collision does not mean that binary
would be of same length.
Function shadercacheSave does not account it and
overwrites original binary length with cached
binary length.
Components: Framework
VK-GL-CTS issue: 1717
Change-Id: Iaabce787725c584b9735e959b572ca7667addde4
Alexander Galazin [Thu, 4 Apr 2019 09:06:52 +0000 (11:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I8b1dcfaafb773837fcd42b1b7273518da7047532
Alexander Galazin [Thu, 4 Apr 2019 09:05:26 +0000 (11:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I0944cd90d64d01363cdbf8ce6b1007987bf7857c
Alexander Galazin [Tue, 2 Apr 2019 13:30:31 +0000 (15:30 +0200)]
Update Amber
Components: Framework
Change-Id: Ic93584c4f88a3bc2dfd62c24436de71e70213577
Piers Daniell [Wed, 3 Apr 2019 20:20:09 +0000 (14:20 -0600)]
Don't disown Win32 handle after import
For Win32 fences and semaphores, the Vulkan implementation does not take
ownership of the handle after import. It is up to the application to
maintain ownership while the handle is in use and to call
CloseHandle() after.
Affects:
dEQP-VK.api.external.*.opaque_win32*
Components: Vulkan
VK-GL-CTS issue: 1720
Change-Id: I4e26ef53c9bf27c30efd71992fd02a574f81b3a0
Alexander Galazin [Wed, 3 Apr 2019 07:57:03 +0000 (09:57 +0200)]
Start 1.1.5 mustpass, freeze 1.1.4
Change-Id: I0a476d851c0d4ab69a08f46bce452e14571a771b
Alexander Galazin [Wed, 3 Apr 2019 07:32:20 +0000 (09:32 +0200)]
Whitelist Vulkan CTS 1.1.4.0
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I575178442d938a776ab32c1c5e965246324e8cec
Alexander Galazin [Wed, 3 Apr 2019 07:17:40 +0000 (09:17 +0200)]
Whitelist Vulkan CTS 1.1.3.2
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: Ia9ecc8dad3b2a37212d19f1878abb02095c22298
(cherry picked from commit
38db037997d48eca9ed86bdd134430ab03ff5ef6)
Alexander Galazin [Wed, 3 Apr 2019 07:17:40 +0000 (09:17 +0200)]
Whitelist Vulkan CTS 1.1.3.2
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: Ia9ecc8dad3b2a37212d19f1878abb02095c22298
Alexander Galazin [Tue, 2 Apr 2019 18:06:00 +0000 (20:06 +0200)]
Update SPIRV-Tools
Components: Framework
Affects: dEQP-VK.*
Change-Id: Ifcbd09e61a49fa0981091c176e6cf2b7bcaf98b7
Boris Zanin [Tue, 26 Mar 2019 10:34:38 +0000 (11:34 +0100)]
Avoid check vulkan core features in compute tests
Remove graphics features requirements from check
in compute shaders. This is particulary useful if
tests are targeted both in compute and graphics
pipelines, but in graphics also require certain
additional features.
Affects tests:
* dEQP-VK.spirv_assembly.instruction.compute.*
Components: vulkan
VK-GL-CTS issue: 1667
Change-Id: Ia9b039c404611a35b5ee878278dbe6fa175e40f9
Mika Väinölä [Fri, 29 Mar 2019 12:20:24 +0000 (14:20 +0200)]
Fix image layouts in SPIR-V image sampler tests
Use the same image layout in VkDescriptorImageInfo and
copyBufferToImage.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.image_sampler.imagefetch.*
Components: Vulkan
VK-GL-CTS issue: 1542
Change-Id: I001b9d9ce7ee349c15c4c72d2b78557bbff40b86
Mika Väinölä [Fri, 29 Mar 2019 13:33:56 +0000 (15:33 +0200)]
Add *.qpa to .gitignore
Tell git to ignore test result log files. Remove unnecessary
TestResults.qpa from project root.
VK-GL-CTS issue: 1710
Change-Id: Ied98b5ba3bd839a5ceff8fe5ee1303e36406f531
Alexander Galazin [Fri, 29 Mar 2019 11:31:21 +0000 (12:31 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Change-Id: Ia79528e30236521e7a3b0284b95709c31b523a11
Alexander Galazin [Fri, 29 Mar 2019 11:01:20 +0000 (12:01 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Iac3d5efdad7fe20709154ca4ed6d05fdea11f8a8
Alexander Galazin [Fri, 29 Mar 2019 10:15:10 +0000 (11:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ic01781a17482429ea152af7df5ff752a2226b568
Samuel Iglesias Gonsálvez [Wed, 20 Mar 2019 11:33:33 +0000 (12:33 +0100)]
Add tests for VK_EXT_host_query_reset
Added tests for Occlusion, Statistics and Timestamp queries.
New tests:
dEQP-VK.pipeline.timestamp.*host_query_reset*
dEQP-VK.query_pool.*host_query_reset*
Components: Vulkan
VK-GL-CTS issue: 1653
Change-Id: Ic828de11bd0782bed75833a252a1b07a066aa635
Igor Ostrowski [Tue, 12 Mar 2019 10:36:10 +0000 (11:36 +0100)]
Add handle compatibility check in win32 keyed mutex tests
Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*
Components: Vulkan
VK-GL-CTS issue: 1669
Change-Id: I1ce4edae009d291100725fce9d87ae6ac826c4ae
Boris Zanin [Mon, 25 Mar 2019 17:06:01 +0000 (18:06 +0100)]
Move VkRunner tests to Amber
CTS will use Amber as the shader test engine.
Thus this commit does:
* move existing VkRunner tests to Amber
* remove VkRunner from the CTS source
Affects tests:
* dEQP-VK.graphicsfuzz.*
Components: vulkan
VK-GL-CTS issue: 1663
Change-Id: Ie3d17ec6f2eea79b777261f7c022fa7c5d0a965f
Mohd Faisal [Tue, 19 Mar 2019 14:45:56 +0000 (14:45 +0000)]
Fixed dEQP-VK.binding_model.descriptor_copy.* issues.
Added missing check for number of maxBoundDescriptorSets
allowed, and fixed not copy the same binding in same
descriptorSet.
Affects:
dEQP-VK.binding_model.descriptor_copy.*
Components: Vulkan
VK-GL-CTS issue: 1664
Change-Id: I69bdb45174c61da3afaa0b323f2598a56d7895c8
Alexander Galazin [Thu, 28 Mar 2019 12:55:31 +0000 (08:55 -0400)]
Revert "Simplify the combination passed to vkCreateImage"
This reverts commit
8b8dc08b3487d8abebedd12a264736e304264910.
Change-Id: I51bf04f47ce13673fd26244ba0507bd633f261b2
Courtney Goeltzenleuchter [Wed, 13 Mar 2019 00:05:29 +0000 (18:05 -0600)]
Check for getPlatformDisplay support before using
I was under the impression that NativeDisplay::CAPABILITY_GET_DISPLAY_PLATFORM
meant that we know the capability exists. But that apparently isn't
true.
Instead treat that as a flag to enable checking for the capability.
Don't really see the point of the capability bit if I have to check
anyway.
Affects: Android
KHR-GLES32.info.*
Pretty much any test running on EGL 1.4 device.
Components: Framework, AOSP
Change-Id: I49e36918bc231c08e1a473fe99e5086f54416850
Jari Komppa [Mon, 25 Feb 2019 13:07:45 +0000 (15:07 +0200)]
Optimize format flag fetch function
This fixes one old TODO in vktApiFeatureInfo by optimizing several array
traversals into a single one.
Affects:
dEQP-VK.api.info.format_properties.*
Components: Vulkan
VK-GL-CTS issue: 1624
Change-Id: I2b0e603e20e8adb27620754e0ca9a0b9d102d01f
Boris Zanin [Fri, 22 Mar 2019 14:24:36 +0000 (15:24 +0100)]
Limit transient images tests
Transient images (images that usage field contains the flag bit
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) can be used only in
conjunction with following usages (according to specification):
* VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
* VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
* VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
The tests falsely attempts to create images with layout:
* VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
* VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
Such layout requires images to be created with usages:
* VK_IMAGE_USAGE_TRANSFER_SRC_BIT
* VK_IMAGE_USAGE_TRANSFER_DST_BIT
that's prohibited for transient images.
If underlying image is transient, it is invalid for it to be a
TRANSFER_SRC or TRANSFER_DST. Do not allow tests for transient
images to use such layouts.
Affected tests:
* dEQP-VK.renderpass.*.attachment.*
* dEQP-VK.renderpass2.*.attachment.*
Components: vulkan
VK-GL-CTS issue: 1545
Change-Id: Ibd1635d15419adcb646fbc1daf030a2736b972b1
Toni Merilehti [Tue, 19 Mar 2019 14:38:16 +0000 (16:38 +0200)]
Reduce memory usage in point size clamping tests
Win32 builds running dEQP-VK.rasterization.primitive_size.points.*
caused resource errors when using 16384 x 16384 render targes due to
large memory allocations.
This optimization changes the rendering format from R8G8B8A8 to
a single-channel format R8_UNORM, reduces the sizes of the render
targets on the last two test cases to 10240 x 10240 and 9216 x 9216,
and removes one unnecessary result buffer copy to reduce memory
allocation.
Affects:
dEQP-VK.rasterization.primitive_size.points.*
Components: Vulkan
VK-GL-CTS issue: 1649
Change-Id: I5d9f435961f0cd56f8b520ac7e98cece1d4f73d7
Daniel Koch [Mon, 18 Mar 2019 15:49:33 +0000 (11:49 -0400)]
Update glslang
Component: Framework
VK-GL-CTS Issue: 1698
Change-Id: I63d45cfc317f99fbf7d16b43f489f93863a02f14
Hsin-Hsiao Lin [Tue, 26 Mar 2019 08:14:02 +0000 (09:14 +0100)]
Do not expect bit-exact results on float
For float outputs annotated with RelaxedPrecision or with NoPerspective,
check them against an epsilon range, 6E-8, which is 0x0001 in fp16.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.*
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.*
Components: vulkan
VK-GL-CTS issue: 1670
Change-Id: I98454826a3f4afccd655b0228839970ba0213793
Daniel Koch [Tue, 26 Mar 2019 22:54:18 +0000 (18:54 -0400)]
Remove "using namespace glu" from header
since this is a bad coding practise and can cause
issues when other files include it.
Affects: - (compilation only)
Component: OpenGL
Change-Id: I6809dcc7f0f12a9fde1b329889727708628798e3
David Neto [Tue, 12 Feb 2019 20:00:03 +0000 (15:00 -0500)]
Add scalar uint with signed int compares as Amber cases
Logs an error and throws an exception if the script fails to parse.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthanequal
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthanequal
VK-GL-CTS issue: 1147
Change-Id: Ic8ce35bff0e05360dc9e674cce313d441e2f4953
Ari Suonpaa [Thu, 7 Feb 2019 07:06:08 +0000 (09:06 +0200)]
Add scissor tests
This adds more coverage for scissoring. In particular
tests for multiple scissors and zero area scissor
were added. Attachment clears are also mixed with
draw commands to verify they are not scissored.
New tests:
dEQP-VK.draw.scissor.*
Components: Vulkan
VK-GL-CTS issue: 1580
Change-Id: I7a7ee221d23d836fbb8fc2d1556fb533b5b41ab6
Piotr Byszewski [Mon, 17 Dec 2018 11:53:50 +0000 (12:53 +0100)]
Additional coverage for color resolve
This change extracts base class out of existing MultisampleRender-
PassTestInstance and reuses it for the second set of tests.
New tests are ment to check cases where application consumes
all available on-chip memory (maxColorAttachments attachments).
Note that tests are executed for 4, 8 and 16 attachments since
framework does not allow to query maxColorAttachments before
test creation and this is needed to preper proper shaders.
Components: Vulkan
VK-GL-CTS issue: 1496
Affects:
dEQP-VK.renderpass.suballocation.multisample_resolve.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.*
Change-Id: I14f39e7185a2930506dc8352fce8ac2896b317ae
Ari Suonpaa [Fri, 22 Mar 2019 07:18:53 +0000 (09:18 +0200)]
Disable pipeline_create_only when running Amber tests
Amber test framework didn't initialize pipeline_create_only
in Amber options. This resulted in Amber tests only checking
if pipeline was created successfully. All test commands
were left unexecuted and tests were passing even when
they were modified to fail.
Affects:
-
Components: Vulkan, Framework
VK-GL-CTS issue: 1659
Change-Id: I657d4e162d6bbc7bf6a5b41bd5bac7ddaf4dbf78
Toni Merilehti [Wed, 13 Mar 2019 11:36:05 +0000 (13:36 +0200)]
Check shaderFloat16 support in 16bit_storage.*64*
Require shaderFloat16 feature in
dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64* tests when
using VK_KHR_shader_float16_int8 device extension. Tests now throw
NotSupported if VK_KHR_shader_float16_int8 extension is enabled but
shaderFloat16 is not supported by the device.
Affects:
dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64*
Components: Vulkan
VK-GL-CTS issue: 1643
Change-Id: I79b271f131571805e6dacb87fa3620039021eedb
Alexander Galazin [Fri, 22 Mar 2019 20:13:10 +0000 (21:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Change-Id: I62d7ebcc0c2cb2a2adc9c1d8f910c499b3504b7f
Alexander Galazin [Fri, 22 Mar 2019 20:11:55 +0000 (21:11 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I4f48c3e9ca8593777c5a4ef6cd32050f8c839043
Alexander Galazin [Fri, 22 Mar 2019 20:10:39 +0000 (21:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I328cee295acc9eb8c5204e5f3574879d9e21a609
Alexander Galazin [Fri, 22 Mar 2019 19:49:07 +0000 (20:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: If24571c09fd321c8417da919af0d2272a0ac2c57
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19
On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.
Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.
Affects:
dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1638
Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776
(cherry picked from commit
99a88af740c425bf250ce9cb2143aa6be3a778f2)
Alexander Galazin [Fri, 22 Mar 2019 09:06:18 +0000 (10:06 +0100)]
Fix uninitialized variable reported by gcc 8.3
VK-GL-CTS issue: 1656
Components: Vulkan
Affects: dEQP-VK.sparse_resources.*
Change-Id: I298c795b05c0c204f04970da7a923f797c4478b8
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
Graeme Leese [Fri, 22 Mar 2019 14:32:55 +0000 (14:32 +0000)]
Fix build by adding DE_UNREF
Function parameters weren't being used in the renderdoc stub interface,
so the warnings should be silenced.
Components: Framework
Change-Id: I0f060c344c6b5959028efcc2489d1bc30b43fb9f
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
Peiyong Lin [Wed, 26 Dec 2018 23:45:55 +0000 (15:45 -0800)]
Add tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.
Components: EGL
VK-GL-CTS Issue: 1534
New tests:
dEQP-EGL.functional.wide_color.window_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_p3_passthrough
Change-Id: I58a9a6a676d8e438c3c2494679105d65e71852b5
Graeme Leese [Mon, 4 Mar 2019 13:18:43 +0000 (13:18 +0000)]
Invalidate memory before checking results
Components: Vulkan
VK-GL-CTS issue: 1640
Affects: dEQP-VK.binding_model.descriptor_copy.graphics.*
Change-Id: I20a9ba5f32aefa9df0852bd064df27cb333af3aa
Ilkka Saarelainen [Wed, 6 Mar 2019 12:43:05 +0000 (14:43 +0200)]
Fix validation errors in ycbcr.query.* tests
Query tests were using test images in VK_IMAGE_LAYOUT_UNDEFINED
layout but the command buffer expects them to be in
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL layout.
This CL transitions the test images to the correct layout.
Affects:
dEQP-VK.ycbcr.query.*
Components: Vulkan
VK-GL-CTS issue: 1563
Change-Id: I4b17078d0f06db59206cb46f377b61beaa252c60
Graeme Leese [Mon, 11 Mar 2019 18:29:08 +0000 (18:29 +0000)]
Don't give samplers in YCbCr descriptor updates
They are not required, so it's good to test that implementations are not
relying on them.
Components: Vulkan
VK-GL-CTS issue: 1646
Affects: dEQP-VK.ycbcr.format.*
Change-Id: I146a549b0a6cd2459660624c76088f623ebdd54b
Toni Merilehti [Mon, 4 Mar 2019 11:43:39 +0000 (13:43 +0200)]
Add tests for OpFUnord with NaN
Add OpFUnord test cases that use NaN (not a number) values.
The functionality for testing NaN values is implemented
in commit
acafd1d389d1d18d4e4410862d96064f9fca551e.
New tests:
dEQP-VK.spirv_assembly.instruction.compute.opfunord_nan.*
Components: Vulkan
VK-GL-CTS issue 1612
Change-Id: Ifd49c5ebe6382737cb0fb6ffca1a350889a54905
Ari Suonpaa [Tue, 12 Feb 2019 13:21:07 +0000 (15:21 +0200)]
Add alpha to coverage test with no color attachment
Added a test for alpha to coverage without a color
attachment. First the test draws a primitive with alpha 0
and a subpass with only a depth buffer. No writes to a depth
buffer are expected. Then a second draw with a color buffer
and the same depth buffer is done to verify the depth
buffer still has the original clear values.
New tests:
dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*
Components: Vulkan
VK-GL-CTS issue: 1586
Change-Id: Ibfc9cbf0ade3280fe80f43296fad79b5c6f76ba1
root [Wed, 6 Mar 2019 05:53:29 +0000 (00:53 -0500)]
Simplify the combination passed to vkCreateImage
Components: Vulkan
Affects:
dEQP-VK.memory.requirements.*
VK-GL-CTS issue: 1619
Change-Id: Ief6e8c30cc3d379456aba87be9da92284d33e983
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)
Chris Forbes [Thu, 21 Mar 2019 20:59:49 +0000 (13:59 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: Id1dbec36bea53236bcb7f4fc997a3e2b7b9c832a
David Neto [Thu, 21 Mar 2019 07:01:07 +0000 (03:01 -0400)]
Update Amber to fix building on Android, and elsewhere
- Fix dir for generation of Vulkan header
- Avoid aggressive use-without-init warnings
- Fix return inferred as unreachable by clang-3.4
Change-Id: I6422e14d38fa6d213d4d5e92f981d9843b0c055e
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time
Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.
Components: Vulkan, Framework
Change-Id: Iedc4bcddf47ac5f471911ad6d8e37439cd9e0d90
Alexander Galazin [Wed, 20 Mar 2019 16:10:35 +0000 (12:10 -0400)]
Revert "Make renderdoc_app.h optional at build time"
This reverts commit
1225d4ab8375e88b39f73bc946a7afcb51aa8156.
Change-Id: I3c2f71b3bc54adb221f1357f7a4b31e719dc3a20
Jari Komppa [Wed, 6 Mar 2019 08:41:25 +0000 (10:41 +0200)]
Improve shader cache hashing
This change adds FNV-1 hash algorithm and a check whether a shader is
already in the cache before writing it there. In multi-threaded shader
compilation the cache might have written multiple copies of the same
shader into the cache, wasting disk space.
Affects:
None
Components: Vulkan
VK-GL-CTS issue: 1641
Change-Id: Ideaed34f49994f5da50b75066e611e60023eccb1
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19
On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.
Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.
Affects:
dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1638
Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time
Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.
Components: Vulkan, Framework
Change-Id: Ic4b43500b4ead50c4728d2ff3bf098d44e00a9a6
Tapani Pälli [Fri, 1 Mar 2019 11:07:35 +0000 (13:07 +0200)]
framework: propagate ResourceError exception from postIterate
Change throws ResourceError exception in TestCaseWrapper::iterate in
case postIterate threw one.
Change-Id: I9a3fed58f21dd6f594488fc998ae5bd685a733ec
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Daniel Koch [Wed, 13 Mar 2019 19:15:48 +0000 (15:15 -0400)]
Move spirv/glslang utils to common module
VK-GL-CTS Issue: 1651
Component: OpenGL
Affects: KHR-GL*.gl_spirv.*
Change-Id: I1fdc617523ac467458952e9ec2df67abf80657c3
David Neto [Tue, 19 Mar 2019 18:56:29 +0000 (14:56 -0400)]
Amber: Initialize the delegate to NULL
The delegate can be used to log calls and time them.
For now, we don't want any such logging. But we do have
to initialize the delegate rather than use an uninitialized
pointer.
Change-Id: I1379b9810f3acd67d4d7116d407eb4e0c6ee7bb3
Alexander Galazin [Tue, 19 Mar 2019 15:04:23 +0000 (16:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Change-Id: I0d8d57b196da13538a026a3abea3ebd6b6ed0cde
Alexander Galazin [Tue, 19 Mar 2019 14:26:12 +0000 (15:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Iacfb659e3cb7bcb1d144f843a9011472c18c63fe
David Neto [Mon, 18 Mar 2019 21:56:06 +0000 (17:56 -0400)]
Update Amber so it detects Vulkan on Android
Components: Vulkan
Change-Id: I0a584c5617c723dc763933fd8e20fe621ac46970
Jeff Bolz [Wed, 27 Feb 2019 16:22:32 +0000 (10:22 -0600)]
Add tests for VK_NV_cooperative_matrix
Components: Vulkan
New tests: dEQP-VK.compute.cooperative_matrix.*
Change-Id: I1f78c068510466793ba7407347c2b91b30ee4831
Jari Komppa [Thu, 7 Feb 2019 08:10:16 +0000 (10:10 +0200)]
Add test for concurrent compute
Added test that runs identical payload on two queues with different
priority levels, and checking that the lower priority queue does not
finish first, adding a note to the log if the priorities seem to be
reversed. At the end it is also verified that both queues did the
work.
New test:
dEQP-VK.compute.basic.concurrent_compute
Components: Vulkan
VK-GL-CTS issue: 1509
Change-Id: Ib5d52dcbb3cee0e07c4d14bbb8d61d2f1ee2a8c5
Lingfeng Yang [Fri, 1 Mar 2019 07:58:41 +0000 (23:58 -0800)]
Send external api base extensions when not core
If the base extension for external semaphore/fence/memory
is not core (i.e., in Vulkan 1.0), external API tests
will send an insufficient set of device extensions to
the Vulkan driver.
Also, add required extensions (if not core) for
VK_ANDROID_external_memory_android_hardware_buffer.
VK-GL-CTS Issue: 1632
Affects:
dEQP-VK.api.external.*
Components: Vulkan
Change-Id: I666f87ef25260d4f3fe6d1d9a6ff8a522f2322b3
Alexander Galazin [Fri, 15 Mar 2019 09:31:51 +0000 (10:31 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I9ae207c6ce78844662c23df5016a584742466b63
Andres Gomez [Wed, 27 Feb 2019 13:03:56 +0000 (15:03 +0200)]
GL_ARB_enhanced_layouts: use separable programs
Currently we are testing bogus inputs without a matching counterpart
in the output interface of the previous shader. This is needed since,
otherwise, having a matching output would mean that we would have to
introduce the same error we are trying to test in the input interface
and that could lead to a misleading linking error.
However, not having an output counterpart can also lead to a
misleading linking error.
In other tests we have avoided this by not making a static use of the
tested input. However, when checking for the limit on the number of
input locations that can be used in a specific interface, this
strategy cannot be used since non statically used variable do not
count against this limit.
From page 48 (page 52 of the PDF) of the GLSL 4.60 v.5 spec:
" There is an implementation-dependent limit on the number of
locations that can be used, and if this is exceeded it will cause
a link-time error. (Declared input variables that are not
statically used do not count against this limit.)"
Therefore, the strategy used for this test is to build individual
separable programs for each stage.
From the ARB_separate_shader_objects spec v.25:
" With separable program objects, interfaces between shader stages
may involve the outputs from one program object and the inputs
from a second program object. For such interfaces, it is not
possible to detect mismatches at link time, because the programs
are linked separately. When each such program is linked, all
inputs or outputs interfacing with another program stage are
treated as active. The linker will generate an executable that
assumes the presence of a compatible program on the other side of
the interface. If a mismatch between programs occurs, no GL error
will be generated, but some or all of the inputs on the interface
will be undefined."
Components: OpenGL
VK-GL-CTS issue: 1628
Affects:
KHR-GL44.enhanced_layouts.varying_location_limit
Change-Id: If120f3f2d397be0b53c60033768db60eb6fed968