Alexander Galazin [Fri, 24 May 2019 10:22:17 +0000 (12:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I3b92d27be116c6cbde9c6b5f712733aaede26c5b
Kaori Tomihara [Wed, 24 Apr 2019 09:27:39 +0000 (05:27 -0400)]
Add tests for EXT_separate_stencil_usage
This change added tests for VK_EXT_separate_stencil_usage by extending
the existing tests for sampling and input attachment.
New Tests:
dEQP-VK.pipeline.sampler.separate_stencil_usage.*
dEQP-VK.renderpass.*.multisample.separate_stencil_usage.*
dEQP-VK.renderpass2.*.multisample.separate_stencil_usage.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1691
Change-Id: Ia2b7516ef6a0bf40c17656f3b28d62e1f8ea65f8
Samuel Iglesias Gonsálvez [Fri, 17 May 2019 06:18:41 +0000 (08:18 +0200)]
Add barriers to read query data after copy
When the query pool results that were copied out to a buffer, a barrier
should be placed to ensure the data is written before the host read it,
specially if the memory allocated is non-host-coherent. The invalidation
of the mapped memory is not enough in that case.
Affected tests:
dEQP-VK.query_pool.occlusion_query.copy*
dEQP-VK.pipeline.timestamp.transfer_tests.*copy_query_pool_results*
dEQP-VK.pipeline.timestamp.misc_tests.two_cmd_buffers_primary*
Components: Vulkan
VK-GL-CTS issue: 1756
Change-Id: I115c9e62f1b369e0f1ad9a30f9a6982c876beb74
Ari Suonpaa [Fri, 3 May 2019 08:13:51 +0000 (11:13 +0300)]
Use separate filtering precision for each channel
Texture filtering tests were using the same precision
for each channel even when the channel bit depths
differed. Now the precisions are calculated based on
the depth of each channel.
Affects:
dEQP-VK.texture.explicit_lod.*.formats.*_linear
dEQP-VK.ycbcr.conversion.*
dEQP-VK.protected_memory.interaction.ycbcr.*
Components: Vulkan
VK-GL-CTS issue: 1733
Change-Id: I0af8302743732b7a8d7d4e003d50b0f8cdc2b86f
Ricardo Garcia [Fri, 26 Apr 2019 08:45:38 +0000 (10:45 +0200)]
Add tests for VK_EXT_external_memory_dma_buf
VK_EXT_external_memory_dma_buf defines a new type of external memory
corresponding to a file descriptor for a Linux dma_buf called
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT. It is similar in nature
to VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT.
New tests:
dEQP-VK.api.external.memory.dma_buf.*
Components: Vulkan
VK-GL-CTS issue: 1684
Change-Id: I368f2b7e2c8a9c63c5234d68ff01aa5f6d4355ca
Alexander Galazin [Fri, 24 May 2019 08:50:49 +0000 (10:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iaf1958f4db9588eba3ea77b4a1e7d41b4fc20c13
Alexander Galazin [Fri, 24 May 2019 07:48:11 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Ided1b0de70eddb65bb70983ed341435dc3a99621
Piotr Byszewski [Thu, 16 May 2019 10:31:20 +0000 (12:31 +0200)]
Generate all DeviceFeatures related code
This patch re-enables new DeviceFeatures and generates inl files for
vk::Context and DefaultDevice containing device features related
accessors.
Affects: dEQP-VK.*
Components: Framework
Change-Id: I71c8f5cbe2d06075e59f0c94e1c94691443d870b
Jeff Bolz [Fri, 7 Dec 2018 01:38:40 +0000 (19:38 -0600)]
Waiver for device-scope core memory model tests.
https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1356
Components: Vulkan
Affects: dEQP-VK.memory_model.*core11*.device.*
Change-Id: Ibf5d1ca0232471246ac16a9491d9ae54d87c74a8
Ricardo Garcia [Thu, 9 May 2019 08:01:37 +0000 (10:01 +0200)]
Add SPIR-V unused variable tests
These tests check everything works when a shader contains references to
variables that have a binding which is not present in the pipeline
layout. For the test to be legal, the variable cannot be used from the
entry point. The tests have two variants: either the variable is simply
unused or the variable is used by a function that is not part of the
entry point call tree.
New tests:
dEQP-VK.spirv_assembly.instruction.*.unused_variables.*
Components: Vulkan
VK-GL-CTS issue: 1038
Change-Id: Ib54c79da4d164e494c0004f0cb1503783e38bc70
Boris Zanin [Mon, 20 May 2019 13:14:43 +0000 (15:14 +0200)]
Python3 compatibility: explicit imports
Python 3 require explicit import module names.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I8c373cb2b8527eeb032d6e11f00dff65e951ab3a
Boris Zanin [Mon, 20 May 2019 13:00:40 +0000 (15:00 +0200)]
Python3 compatibility: compiler requirements
Python 3 disallows mix of spaces and tabs in indent and also
needs exceptions in a new layout.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I82c596293ea500f7113cb855921f4e75c35beff8
Alexander Galazin [Wed, 22 May 2019 12:51:25 +0000 (14:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I06a76c86b0cb050bfcb9fba7c81715a313e9581e
Alexander Galazin [Wed, 22 May 2019 10:21:27 +0000 (12:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ibdcd0cae47c3eca35db283b67a62e21de81e5cf3
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
(cherry picked from commit
d4b80f34b70ae497b6bb0573859209ae28197a35)
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
(cherry picked from commit
d4b80f34b70ae497b6bb0573859209ae28197a35)
Boris Zanin [Mon, 20 May 2019 12:42:42 +0000 (14:42 +0200)]
Python3 compatibility: print function
Replace statement-style calls with function-style calls
for print python operator/function.
Components: Framework
VK-GL-CTS issue: 1665
Change-Id: I46e3452f80124f37064f4b0a335e1b3201ead9dd
Alexander Galazin [Wed, 22 May 2019 07:27:33 +0000 (09:27 +0200)]
Update SPIR-V Tools/Headers, glslang
Components: Framework
Affects: dEQP-VK.*
Change-Id: I3779d9584e5cf0a4d30b95a4fb23872acbc622bf
Alexander Galazin [Wed, 22 May 2019 06:46:41 +0000 (08:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Iaaff1bd558b7938a73c553c312f8271a8e288cd3
Pawel Ksiezopolski [Tue, 30 Apr 2019 13:24:37 +0000 (15:24 +0200)]
Record command line arguments in .qpa file
Command line parameters are written to .qpa file in sessionInfo section.
Components: Framework
VK-GL-CTS issue: 1666
Change-Id: If8fb1ce85408141362f046c318016039e06e228a
Ricardo Garcia [Mon, 13 May 2019 11:24:45 +0000 (13:24 +0200)]
Remove frexp tests from the list of test issues
After fixing VK-GL-CTS issue #1762, frexp function tests no longer have
any issues and should be run on every implementation.
Affected tests:
dEQP-VK.glsl.builtin.function.common.frexp.float_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec2_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec3_highp_vertex
dEQP-VK.glsl.builtin.function.common.frexp.vec4_highp_vertex
Components: Vulkan
VK-GL-CTS issue: 1359
Change-Id: I92cf1682a50c39206171cb2698c86b793bb06214
Ricardo Garcia [Fri, 17 May 2019 12:08:59 +0000 (14:08 +0200)]
Check sampleRateShading on sample shading tests
The physical device feature sampleRateShading must be available in order
to set sampleShadingEnable to true inside
VkPipelineMultisampleStateCreateInfo structures.
Note this commit renames one of the tests for consistency.
Removed tests:
dEQP-VK.glsl.builtin_var.fragcoord_msaa.64-bit
New tests:
dEQP-VK.glsl.builtin_var.fragcoord_msaa.64_bit
Affected tests:
dEQP-VK.pipeline.multisample_shader_builtin.sample*
dEQP-VK.glsl.builtin_var.fragcoord_msaa.*
Components: Vulkan
VK-GL-CTS issue: 1462
Change-Id: I9012491d18c430c1c94091490d28d9e5f1402a68
Toni Merilehti [Wed, 15 May 2019 14:49:42 +0000 (17:49 +0300)]
Add feature checks to shader builtin tests
Some shader builtin tests use SampleId and SamplePosition BuiltIns
in shaders, which both require the SampleRateShading OpCapability
and the sampleRateShading Vulkan feature. This CL adds the missing
feature checks when required by the shaders.
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample_id.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_position.*
Components: Vulkan
VK-GL-CTS issue: 1744
Change-Id: I4557b5cd79191f7ca1202562416d12d3b1d8ce60
(cherry picked from commit
3f2ce1e5bcf568fe0a65a4ed638e0589b8694482)
Toni Merilehti [Wed, 15 May 2019 14:49:42 +0000 (17:49 +0300)]
Add feature checks to shader builtin tests
Some shader builtin tests use SampleId and SamplePosition BuiltIns
in shaders, which both require the SampleRateShading OpCapability
and the sampleRateShading Vulkan feature. This CL adds the missing
feature checks when required by the shaders.
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample_id.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_position.*
Components: Vulkan
VK-GL-CTS issue: 1744
Change-Id: I4557b5cd79191f7ca1202562416d12d3b1d8ce60
Chris Forbes [Fri, 17 May 2019 15:48:42 +0000 (08:48 -0700)]
Check for imageCubeArray feature in image tests
Components: Vulkan
Affects: dEQP-VK.image.*cube_array*
VK-GL-CTS Issue: #1781
Change-Id: Idbf3e96481336820520a46293ca3eaf74b21654d
Chris Forbes [Thu, 16 May 2019 00:18:47 +0000 (17:18 -0700)]
Check for required features in memory model tests
All of these tests expect to be able to write to storage buffers; check
for the vertexPipelineStoresAndAtomics or fragmentStoresAndAtomics
features as appropriate.
VK-GL-CTS Issue: 1777
Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: I51adeda82ba7af22368c239a6abfc481479700f1
Bas Nieuwenhuizen [Thu, 2 May 2019 21:13:14 +0000 (23:13 +0200)]
Fix image sizes for formats that need a multiple of 2.
All these have in their format definition something like
"Images in this format must be defined with a width that is a multiple
of two."
in their format definition.
This patch makes sure we actually use even sizes for images with these
formats.
It is not ideal that I have to hardcode these lists but I don't know a
better source to get them from.
Affects:
dEQP-VK.api.invariance.random
Components: Vulkan
VK-GL-CTS issue: 1766
Change-Id: Ie19583db56e7ae483136e1fb4651ae625efb9c02
Alexander Galazin [Mon, 20 May 2019 12:04:25 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I703896cbce7472a65a7cc8d87d955b6b10ea3691
Alexander Galazin [Mon, 20 May 2019 10:24:42 +0000 (12:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I7cb87c9d21e2ba725b199ee59663ece150333993
Alexander Galazin [Mon, 20 May 2019 09:40:23 +0000 (11:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I782d2f2d769d92e11f7e558cdefb56d187fe53e6
Alexander Galazin [Mon, 20 May 2019 08:58:43 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I0fd601c9fc32f66eb7e45322801a930d4f33c4dc
Alexander Galazin [Mon, 20 May 2019 08:12:17 +0000 (10:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ib38bd02e2ed4c74ee845e19eb25b8de05fb0e312
Ari Suonpaa [Tue, 30 Apr 2019 10:36:09 +0000 (13:36 +0300)]
Check for largePoints feature and add 1px test variant
Pipeline multisample tests were using point size of 3
without checking for largePoints feature. Now the feature
is checked and a 1 pixel variant is also added.
Affects:
dEQP-VK.pipeline.multisample.*.primitive_point
New tests:
dEQP-VK.pipeline.multisample.*.primitive_point_1px
Components: Vulkan
VK-GL-CTS issue: 1739
Change-Id: I0eef68b8194a1026a98b19579d1d3c1b7f9c9cc7
(cherry picked from commit
c382ec855438509b201c4aa5eff6b730534f2f3c)
Boris Zanin [Thu, 16 May 2019 15:23:19 +0000 (17:23 +0200)]
Remove incorrect unroll_dont_unroll test
According SPIR-V validator: Unroll and DontUnroll
loop controls must not both be specified.
Remove tests:
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.unroll_dont_unroll
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
VK-GL-CTS issue: 1779
Change-Id: Ib799f96a290bb08df1175f1dc6f6d212314665af
Michal Jakubek [Thu, 27 Dec 2018 09:54:56 +0000 (09:54 +0000)]
Add tests for VK_EXT_descriptor_indexing
Adds:
dEQP-VK.descriptor_indexing.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1003
Change-Id: Ia9790d6e60997aae4f448e2a0a98302cd5189bcd
(cherry picked from commit
b20c2824cd8c0fe8e6bffd70cb65062f91accee3)
Samuel Iglesias Gonsálvez [Fri, 17 May 2019 11:30:33 +0000 (13:30 +0200)]
Add tests for VK_EXT_pipeline_creation_feedback extension
Tests implement the following for both compute and graphics pipelines.
They create a pipeline cache and checks the pipeline creation feedback
for three different pipelines: first pipeline should not hit the cache,
second pipeline is the same than the first one, third pipeline is a
pipeline derivative from the first one.
Then they verify that the creation feedback for all of the pipelines is
valid, the first pipeline did not hit the cache and that first and
second pipelines are not setting
VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT as
they are not pipeline derivatives.
Also, if pPipelineStageCreationFeedbacks for each pipeline and stage is
not valid, check that none of the flags is set.
They also print to the test log the content of the
pPipelineCreationFeedback for each pipeline and, if
pPipelineStageCreationFeedbacks for each pipeline and stage is valid,
its content too.
New tests:
dEQP-VK.pipeline.creation_feedback.*
Components: Vulkan
VK-GL-CTS issue: 1671
Change-Id: I5e8b728bd83c256b3b4f084c6d0840a132afbcae
Ilkka Saarelainen [Wed, 15 May 2019 12:01:14 +0000 (15:01 +0300)]
Add GeometryPointSize feature check
Some tests were using gl_PointSize without checking if the
shaderTessellationAndGeometryPointSize feature is supported and enabled.
This CL adds the feature checks to those tests. If the feature is not
supported/enabled, an alternative geometry shader code without
gl_PointSize will be used.
Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*
dEQP-VK.query_pool.*
dEQP-VK.transform_feedback.simple.streams_pointsize*
Components: Vulkan
VK-GL-CTS issue: 1763
Change-Id: If58bb5129144bae8d51dca84a3d0c89b46be1343
Boris Zanin [Thu, 14 Mar 2019 14:58:34 +0000 (15:58 +0100)]
Make validation function more robust
This change modifies validateSpirV function.
Code should expect spvBinaryToText can leave some
parameters uninitialized (at least pText).
Also expect some other functions to return
uninitialized results (spvValidatorOptionsCreate,
spvContextCreate).
Affects:
* dEQP-VK.*
Components: Framework, Vulkan
VK-GL-CTS issue: 1645
Change-Id: Ia5af2c5451d33247af2b8934fe4e5391badc8163
Chris Forbes [Wed, 15 May 2019 17:38:01 +0000 (10:38 -0700)]
Don't set sampleShadingEnable in dEQP-VK.pipeline.framebuffer_attachment.*
These tests don't need per-sample shading, and didn't check for whether
it was supported by the device.
Components: Vulkan
Affects: dEQP-VK.pipeline.framebuffer_attachment.*ms
VK-GL-CTS Issue: 1776
Change-Id: Ic8477262410e1531c1acabe494c2cf64c199dd6b
Samuel Iglesias Gonsálvez [Tue, 7 May 2019 11:11:11 +0000 (13:11 +0200)]
Add multiview tests iterating with VK_EXT_vertex_attribute_divisor
Tests are the same than the existing vertex attribute divisor ones but
adding 2 views that are rendering the same scene. Expected result is
the same for both views.
Added tests:
dEQP-VK.draw.instanced.*_multiview
Components: Vulkan
VK-GL-CTS issue: 1290
Change-Id: I1cfc3868d56c6c7ce02a3a2d7b07107acea59759
Ari Suonpaa [Tue, 30 Apr 2019 10:36:09 +0000 (13:36 +0300)]
Check for largePoints feature and add 1px test variant
Pipeline multisample tests were using point size of 3
without checking for largePoints feature. Now the feature
is checked and a 1 pixel variant is also added.
Affects:
dEQP-VK.pipeline.multisample.*.primitive_point
New tests:
dEQP-VK.pipeline.multisample.*.primitive_point_1px
Components: Vulkan
VK-GL-CTS issue: 1739
Change-Id: I0eef68b8194a1026a98b19579d1d3c1b7f9c9cc7
Ricardo Garcia [Thu, 4 Apr 2019 08:05:38 +0000 (10:05 +0200)]
Check queries unavailable with reset and copy
If running vkCmdResetQueryPool() just before using
vkCmdCopyQueryPoolResults(), the query should be unavailable. This can
be checked by asking for the availability status.
New tests:
dEQP-VK.pipeline.timestamp.misc_tests.reset_query_before_copy
dEQP-VK.query_pool.occlusion_query.copy_reset_*
dEQP-VK.query_pool.statistics_query.reset_before_copy.*
Components: Vulkan
VK-GL-CTS issue: 1721
Change-Id: I01204906c19a515b73e228ee582bbeadaed95809
Graeme Leese [Wed, 15 May 2019 17:11:47 +0000 (18:11 +0100)]
Fix spelling of "preserve" in float controls tests
Change-Id: I9995cb1aace758452eb8d677eb67080063c5c848
Graeme Leese [Wed, 8 May 2019 11:51:50 +0000 (12:51 +0100)]
Don't pass YcbcrConversion objects when not used
ImageViews created with SamplerYcbcrConversions are only allowed to be
used with immutable samplers, which these are not.
Components: Vulkan
VK-GL-CTS Issue: 1767
Affects: dEQP-VK.ycbcr.plane_view.*
Change-Id: Ibc11b09c0b063154dc32ee4bc61c6b099ea36507
Ricardo Garcia [Tue, 30 Apr 2019 14:19:54 +0000 (16:19 +0200)]
Vary vertex buffer stride in pipeline barrier tests
Pipeline barrier tests were using vertex buffers with a stride of 2
bytes, which is not supported by Vulkan Portability on Metal due to
Metal forcing the vertex stride to be a multiple of 4.
This prevented some pipeline barrier tests from being run on Vulkan
Portability on Metal, even if they were not actually testing vertex
buffers.
This commit makes vertex buffers in pipeline barrier tests be used with
both strides of 2 and 4 bytes. Tests with stride 2 can be skipped under
Vulkan Portability on Metal knowing the same pipeline barrier test will
also run with stride 4. Test coverage is not decreased because stride 2
tests are preserved.
Removed tests:
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.1024
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.8192
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.65536
dEQP-VK.memory.pipeline_barrier.*_vertex_buffer.
1048576
dEQP-VK.memory.pipeline_barrier.all.1024
dEQP-VK.memory.pipeline_barrier.all.8192
dEQP-VK.memory.pipeline_barrier.all.65536
dEQP-VK.memory.pipeline_barrier.all.
1048576
dEQP-VK.memory.pipeline_barrier.all_device.1024
dEQP-VK.memory.pipeline_barrier.all_device.8192
dEQP-VK.memory.pipeline_barrier.all_device.65536
dEQP-VK.memory.pipeline_barrier.all_device.
1048576
New tests:
dEQP-VK.memory.pipeline_barrier.*vertex_buffer_stride*
dEQP-VK.memory.pipeline_barrier.*vertex_buffer_stride*
Components: Vulkan
VK-GL-CTS issue: 1201
Change-Id: If6ecc653085b4259977d94bb2fed3e43b9109f8a
Jari Komppa [Tue, 30 Apr 2019 12:30:35 +0000 (15:30 +0300)]
Change spir-v optimizer recipes
This change changes the spir-v optimizer recipes by removing all the
existing ones and replacing them with a set provided by spirv-opt:
optimize performance or optimize size. Other recepies can be added later
if needed.
This does not affect any tests directly as the optimizer is not used by
default. It affects all tests when in use.
Affects: none
Components: Vulkan, Framework
VK-GL-CTS issue: 1741
Change-Id: Id7278fcd479ac2511a474f19c3d25bd23d943944
Ilkka Saarelainen [Wed, 27 Mar 2019 10:52:42 +0000 (12:52 +0200)]
Fix API usage errors in subgroups.* tests
Many subgroup tests were missing gl_PointSize in vertex and geometry
shaders. Also some tests were using VK_IMAGE_LAYOUT_UNDEFINED image
layout but the command buffer expects VK_IMAGE_LAYOUT_GENERAL. These
errors were caught by validation layers.
This CL adds the missing gl_PointSizes to the shaders and transitions
the images to the correct image layout.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 1644
Change-Id: Ie0e0ab8bcfeedc4faba847e004908ce5eaadceb0
Lingfeng Yang [Fri, 8 Feb 2019 15:36:00 +0000 (07:36 -0800)]
Fix stack underflow in incremental present test
This uses the current object's m_queueFamilyIndex instead of a queue
family index that is on the stack, avoiding using a stale stack address
when the test runs.
VK-GL-CTS issue: 1585
Affects:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
Change-Id: I80228651b799d3444676cdcbf5cc845bcb195fe9
(cherry picked from commit
a268922558ed0c353a7d8b6845f8d6279b72af29)
Piotr Byszewski [Tue, 14 May 2019 13:00:56 +0000 (15:00 +0200)]
Add *_MAX_ENUM to enum definitions
Components: Framework
VK-GL-CTS issue: 1700
Affects: *
Change-Id: I9d94342c306e2fbf0914fb31fc361dec8146a7c7
Ricardo Garcia [Thu, 2 May 2019 14:25:40 +0000 (16:25 +0200)]
Fix shader common function tests
Shader common function tests were not correctly filling values on some
input buffers and not taking into account implementations may ignore the
sign of zeros when doing optimizations on the SPIR-V code.
Affected tests:
dEQP-VK.glsl.builtin.function.common.*
Components: Vulkan
VK-GL-CTS issue: 1359, 1762
Change-Id: Ic27a298e32f7e9e7a9c50ac340ee9d095f1559f9
Alexander Galazin [Fri, 10 May 2019 10:09:49 +0000 (12:09 +0200)]
Update glslang, SPIRV-Tools/Headers
Components: Framework
Affets: dEQP-VK.*
Change-Id: I6487bfa7eac58063269ca21d667ab708d63fd723
Alexander Galazin [Fri, 10 May 2019 10:06:12 +0000 (12:06 +0200)]
Update fetch_sources.py to Python 3
Components: Framework
Change-Id: I7f75a084e5128b1a19be7649a06a315e91a36688
(cherry picked from commit
9c4f100a056b084876e874a1b115192225b9a61a)
Alexander Galazin [Fri, 10 May 2019 10:06:12 +0000 (12:06 +0200)]
Update fetch_sources.py to Python 3
Components: Framework
Change-Id: I7f75a084e5128b1a19be7649a06a315e91a36688
Alexander Galazin [Fri, 10 May 2019 08:27:27 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I4ef987d75f3e0a595ef5ed56a68b237285cedbb8
Graeme Leese [Mon, 14 Jan 2019 19:01:56 +0000 (19:01 +0000)]
Tests for VK_KHR_uniform_buffer_standard_layout
Enables the existing std430 UBO tests based on support for the
extension.
Components: Vulkan
Affects: dEQP-VK.ubo.*.std430.*
Change-Id: I224377696979eea0ac8ca0b3f190414909ddc0a8
(cherry picked from commit
00a15d59264d0853c5d9ef2a0178293f536a3d29)
Samuel Iglesias Gonsálvez [Fri, 10 May 2019 06:32:33 +0000 (08:32 +0200)]
Fix run command for Windows
In Windows the directory separator is backslash for running commands.
Components: Vulkan
Change-Id: I917dd7c05a6d4a085130c1ec58945d4e03d3dc85
Alexander Galazin [Fri, 10 May 2019 06:14:38 +0000 (08:14 +0200)]
Whitelist Vulkan CTS 1.1.4.1
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: Iad3e3c27e48585dc2143f8bf800a4ed56d9f2f01
Alexander Galazin [Thu, 9 May 2019 18:40:58 +0000 (20:40 +0200)]
Update gen_framework_c.py for python3
Components: Framework
Change-Id: If332d1f79f6f861fd49d16ee700967bdcf80b598
Alexander Galazin [Thu, 9 May 2019 18:02:47 +0000 (20:02 +0200)]
Update SPIR-V Tools
Components: Framework
Change-Id: I6f5971307e97ed55bd7c2164a94dd997784e0105
Alexander Galazin [Tue, 23 Apr 2019 19:09:43 +0000 (21:09 +0200)]
Require Python 3
Require Python 3 as some components used by the CTS already need it.
Update SPIR-V Tools: Fixes build issues on Windows and OpUnreachable validation.
Components: Framework, AOSP, Vulkan, OpenGL
Affects: dEQP-VK.*, builds
VK-GL-CTS issue: 1665
VK-GL-CTS issue: 1627
VK-GL-CTS issue: 1716
Change-Id: I719574b50aa16fdb0d06e85981a029ae8e0c4416
(cherry picked from commit
b1e5e376ccb021339741c927f99d9c2378ecc6cc)
Eric Werness [Tue, 20 Nov 2018 17:34:06 +0000 (09:34 -0800)]
Update generate scripts for python3
Components: Framework
Change-Id: Ia3db51e520ffbab7613f9948f23e6320b2815462
(cherry picked from commit
c7ebd5a8c32ae0b16789fc700d62502a5891aeae)
Eric Werness [Fri, 16 Nov 2018 21:50:40 +0000 (13:50 -0800)]
Support Python3 as well in gen_release_info.py
The CMake file version check can end up picking python3 in some cases -
making the Python code compatible with python3 seems easier than
adjusting the version check.
Components: Frameworks
Change-Id: Iab37090ab813dcb7839490225ca2a4bf2f721c12
(cherry picked from commit
f1bcdd5e9df1f83cc9dc4ef7235d3da16e9f7fab)
Alexander Galazin [Tue, 23 Apr 2019 19:09:43 +0000 (21:09 +0200)]
Require Python 3
Require Python 3 as some components used by the CTS already need it.
Update SPIR-V Tools: Fixes build issues on Windows and OpUnreachable validation.
Components: Framework, AOSP, Vulkan, OpenGL
Affects: dEQP-VK.*, builds
VK-GL-CTS issue: 1665
VK-GL-CTS issue: 1627
VK-GL-CTS issue: 1716
Change-Id: I719574b50aa16fdb0d06e85981a029ae8e0c4416
Eric Werness [Tue, 20 Nov 2018 17:34:06 +0000 (09:34 -0800)]
Update generate scripts for python3
Components: Framework
Change-Id: Ia3db51e520ffbab7613f9948f23e6320b2815462
Eric Werness [Fri, 16 Nov 2018 21:50:40 +0000 (13:50 -0800)]
Support Python3 as well in gen_release_info.py
The CMake file version check can end up picking python3 in some cases -
making the Python code compatible with python3 seems easier than
adjusting the version check.
Components: Frameworks
Change-Id: Iab37090ab813dcb7839490225ca2a4bf2f721c12
Ricardo Garcia [Mon, 6 May 2019 11:10:12 +0000 (13:10 +0200)]
Fix constructor warnings when building with GCC 9
When building vk-gl-cts with GCC 9 the building process prints a lot of
warnings related to contructors and assignment operators. This prevents
scripts/check_build_sanity.py from completing successfully on those
systems. This commit fixes those warnings.
Components: Framework
VK-GL-CTS issue: 1765
Change-Id: Ibab73d084488079802116fff55a17636e976c0fc
Ari Suonpaa [Tue, 23 Apr 2019 11:57:47 +0000 (14:57 +0300)]
Make random number usage platform independent
Generating multiple random numbers in argument
list can happen in different order depending on
implementation. This change makes these happen
in the same order with all implementations.
Affects:
dEQP-VK.api.granularity.*
dEQP-VK.draw.basic_draw.*
dEQP-VK.protected_memory.*
dEQP-VK.glsl.builtin.function.common.*
dEQP-VK.glsl.builtin.function.pack_unpack.*
dEQP-VK.glsl.texture_gather.*
dEQP-VK.spirv_assembly.*
dEQP-GLES3*.functional.shaders.builtin_functions.common.*
Components: Vulkan, OpenGL, Framework
VK-GL-CTS issue: 1591
Change-Id: Iaaff9625fd331ed7184efd50b89fc835c701ac6f
Alexander Galazin [Thu, 9 May 2019 10:43:42 +0000 (12:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I248dcc344da78dd9b6580067bdef03656372e077
Alexander Galazin [Thu, 9 May 2019 09:46:54 +0000 (11:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Icae001e33d6a01954a6461d38bc8226abb48775e
Alexander Galazin [Thu, 9 May 2019 09:15:26 +0000 (11:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I015156c0e368515b0cecc70775a82a5537baa341
Slawomir Cygan [Mon, 29 Apr 2019 11:45:02 +0000 (13:45 +0200)]
Fix regression in subgroups tests after merging
393912cd
This extends the additional verification to catch uninitialized memory from
commit
393912cd to tests added in 1.1.3, so after
393912cd.
This fixes regression that occured on master after
393912cd was merged.
Components: Vulkan
VK-GL-CTS Issue: 1757
Change-Id: Icb7fe91ee2839626d8ebc90ae2788f85b0e835b7
Affects: dEQP-VK.subgroups.basic.framebuffer.*tess*
Matthew Netsch [Thu, 25 Apr 2019 18:41:15 +0000 (14:41 -0400)]
Fixes linear support check for pipeline tests
Removes old workaround for certain formats
Components: Vulkan
VK-GL-CTS Issue: 1755
Affects:
dEQP-VK.pipeline.sampler.*
Change-Id: Ia35303f11132f84560f06c13c7a94e3f9be888db
Lionel Landwerlin [Thu, 21 Mar 2019 14:18:37 +0000 (14:18 +0000)]
Factor out copies of makeBufferCreateInfo
Components: Vulkan
Change-Id: I1a81b8fbc19faa41c367834e3233cf96cccbc05e
Mika Väinölä [Tue, 9 Apr 2019 13:28:45 +0000 (16:28 +0300)]
Fix Clang 8 and GCC 9 warnings
Rename some TYPE_LAST and STATE_LAST enums that produce variable
shadowing warnings with Clang 8. Reimplement tcu::Format::Hex methods
using stringstream and IO manipulators instead of format strings
and add a cast to deUint32 to fix warnings on GCC 9.
Component: Framework
VK-GL-CTS issue: 1631
Change-Id: Ide4b25c106810b725c5ed7caaaf676f02e81b368
Alexander Galazin [Wed, 8 May 2019 08:29:10 +0000 (10:29 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I52931c808f715c4c790fe796128dd585ecf88bac
Alexander Galazin [Wed, 8 May 2019 08:29:08 +0000 (10:29 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Change-Id: If2efadd4f002bb58bacd710fcd24476fba0397aa
Graeme Leese [Tue, 7 May 2019 12:41:46 +0000 (13:41 +0100)]
Simplify support checking and fix typos in messages
The code for checking format support was duplicated for source and
destination formats and there were several typos in the various error
messages.
Components: Vulkan
Affects: dEQP-VK.ycbcr.copy.*
Change-Id: I1cc02a5aa66f521e5a152f608f39456e24c4ccb8
Ilkka Saarelainen [Wed, 10 Apr 2019 12:43:49 +0000 (15:43 +0300)]
Merge common util functions, part 1
Many tests have their own util functions for creating commonly used
Vulkan objects.
This CL moves the following helper functions to the framework:
- makeImageView()
- makeBufferView()
- makeDescriptorSet()
Also some tests were using their own implementation of the following
helper functions:
- makeRenderPass()
- submitCommandsAndWait()
This CL changes those tests to use the existing functions from
the framework when possible.
Affects: dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1709
Change-Id: I4fdf1ea55f83f395d12d3c8a89bbe8d8d2333fa6
Jason Ekstrand [Sat, 14 Oct 2017 22:57:03 +0000 (15:57 -0700)]
vulkancts/README: Recommend -msse2 -mfpmath=sse for 32-bit x86 builds
Otherwise, GCC may produce code that doesn't follow the IEEE floating
point rules. This can result in spurious test failures due to precision
issues with the CTS. These issues won't be noticed with 64-bit builds
because GCC enables SSE floating-point math by default on x86_64.
Change-Id: Id0a60464d7607ec70b62e62c73558b8750b74849
Ricardo Garcia [Mon, 15 Apr 2019 08:40:34 +0000 (10:40 +0200)]
Check vkCmdFillBuffer with sizes not multiple of 4
Use vkCmdFillBuffer passing VK_WHOLE_SIZE as the size when the whole
buffer size is not a multiple of 4. The extra bytes at the end should
remain untouched by the fill operation, as per the spec.
New tests:
dEQP-VK.api.fill_and_update_buffer.*.fill_buffer_vk_whole_size_*
Components: Vulkan
VK-GL-CTS issue: 1156
Change-Id: Ie9ac7ccbf8ce42a835ef4e073feaa01c010ab4cb
Tim Van Patten [Tue, 9 Apr 2019 20:41:16 +0000 (14:41 -0600)]
Check for GLES 3.0 Context Before Using 3.0 Functionality
The additional testFramebufferColorEncoding() testing requires a GLES
3.0 context, but only a 2.0 context is requested. This change will
continue to execute those tests, but only after verifying a 3.0 context
was returned.
Affects:
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
Components: EGL
Bug: 1704
Google Bug:
124910588
Change-Id: Ifc81308c569923d4d777cd5c5329568b579f1ac1
Chris Forbes [Fri, 3 May 2019 20:53:14 +0000 (13:53 -0700)]
Check for depthBiasClamp feature before using it
VK-GL-CTS Issue: 1764
Affects: dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
Change-Id: Iccd05a1eac2285125847a392c4065d36c88cb426
Chris Forbes [Wed, 1 May 2019 14:43:48 +0000 (07:43 -0700)]
Check for imageCubeArray support before using VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VK-GL-CTS Issue: 1761
Components: Vulkan
Affects: dEQP-VK.binding_model.shader_access.*cube_array*
Change-Id: I918227d1518c3d7f6cefd7931531aafb34fcf9f8
Alexander Galazin [Sun, 28 Apr 2019 14:59:54 +0000 (16:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I501c99baa16c76da5f7f6fff53c8f2948b5a5107
Alexander Galazin [Sun, 28 Apr 2019 12:33:14 +0000 (14:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ief71fa1e4d028988c1e5bc9c0d477787c8a1fcd6
Alexander Galazin [Sun, 28 Apr 2019 08:36:59 +0000 (10:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I71fc7f7b5ccaf55f0ad0ec40d4e0720bebbabb50
Graeme Leese [Tue, 9 Apr 2019 11:25:19 +0000 (12:25 +0100)]
Reduce expected precision of RGB10A2 filtering
The code in the YCbCr tests says that it was copied from the texture
explicit lod tests, but those tests give rgb10a2 a 'low' precision, not
'fp16'. Reduce the precision expected in the YCbCr tests.
Components: Vulkan
VK-GL-CTS Issue: 1731
Affects: dEQP-VK.ycbcr.*
dEQP-VK.protected_memory.interaction.ycbcr.*
Change-Id: Ib0ae233fc271ded2f9987fe448dcd351e509a0c4
(cherry picked from commit
5deebf4709ed3e2c3aaad3b8bb8703f236309b97)
Courtney Goeltzenleuchter [Thu, 4 Apr 2019 21:35:41 +0000 (15:35 -0600)]
check if getPlatformExtensionName is null
nativeDisplay.getPlatformExtensionName will be null if the
platform does not support platform extensions. Check for that
prior to turning it into a string.
Components: GL, ANGLE build
Affects: dEQP-GLES2.functional.rasterization.primitives.line*
VK-GL-CTS issue: 1722
Change-Id: Ic60c3ad8387009b00bcb3ecd74d2d5cd673dade8
Carl Ritson [Thu, 14 Mar 2019 16:25:30 +0000 (16:25 +0000)]
Fix memory initialisation in subgroups tests
Subgroup tests expand memory allocations to accommodate std140 layout
shaders; however, the extra memory is not initialised.
This changes initialisation to be based on the actually allocated
buffer size and adds additional verification to catch uninitialised
memory.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS Issue: 1639
Change-Id: I0dfc0abb9bcbe63b5d1d5ad43e6fee99389fdfa2
Ari Suonpaa [Fri, 12 Apr 2019 09:41:16 +0000 (12:41 +0300)]
Test separate channels as input and output
Test using the same image as input and output but keep
read and write channels separate to avoid self dependency.
Tests both color and depth/stencil formats.
Added VkImage data initialization framework functions used
by the new tests to generate input data.
New tests:
dEQP-VK.renderpass*.separate_channels.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1154
Change-Id: I4a6e880dd31117b35d2f96900636c6a25cbfd67d
Samuel Iglesias Gonsálvez [Fri, 5 Apr 2019 09:28:21 +0000 (11:28 +0200)]
Add tests for EXT_discard_rectangles
Added tests that check that the rendered image is correct for the the
combination of: the two different modes (inclusive, exclusive),
different number of rectangles (1, 2, 3, 4, 8, 16), dynamic discard
rectangles, scissor, dynamic scissor.
These tests don't check that the device groups work as expected.
New tests:
dEQP-VK.draw.discard_rectangles.*
Components: Vulkan
VK-GL-CTS issue: 1679
Change-Id: Idcfe2a9fc9113051fd72e51a0019e4247463cede
Graeme Leese [Tue, 9 Apr 2019 11:25:19 +0000 (12:25 +0100)]
Reduce expected precision of RGB10A2 filtering
The code in the YCbCr tests says that it was copied from the texture
explicit lod tests, but those tests give rgb10a2 a 'low' precision, not
'fp16'. Reduce the precision expected in the YCbCr tests.
Components: Vulkan
VK-GL-CTS Issue: 1731
Affects: dEQP-VK.ycbcr.*
dEQP-VK.protected_memory.interaction.ycbcr.*
Change-Id: Ib0ae233fc271ded2f9987fe448dcd351e509a0c4
Matthew Netsch [Wed, 24 Apr 2019 16:02:30 +0000 (12:02 -0400)]
Fixes pipeline tests to check for maxSamplerLodBias
Components: Vulkan
VK-GL-CTS Issue: 1750
Affects:
dEQP-VK.pipeline.sampler.*
Change-Id: I1ed594f0eb5cf8e249eda5eb31b114f1bfb93fd2
Tapani Pälli [Tue, 22 Jan 2019 12:00:23 +0000 (14:00 +0200)]
x11_egl: use correct cmake variable name for GLES1 include path
This commit reverts most of
7b4a66f99 that included a hack to search
for include directory next to the library path. This was invalid since
used variable name PKG_GLES1_INCLUDE_DIRS is false, correct name is
GLES1_INCLUDE_DIRS which is properly set by the PKG_CHECK_MODULES call.
This change has been succesfully tested on Fedora and Ubuntu distros by
setting up a custom PKG_CONFIG_PATH.
VK-GL-CTS issue: 1573
Change-Id: I158d816d28f5bbf30288f6226bd5c9e30cf85285
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Tapani Pälli [Tue, 22 Jan 2019 12:00:23 +0000 (14:00 +0200)]
x11_egl: use correct cmake variable name for GLES1 include path
This commit reverts most of
7b4a66f99 that included a hack to search
for include directory next to the library path. This was invalid since
used variable name PKG_GLES1_INCLUDE_DIRS is false, correct name is
GLES1_INCLUDE_DIRS which is properly set by the PKG_CHECK_MODULES call.
This change has been succesfully tested on Fedora and Ubuntu distros by
setting up a custom PKG_CONFIG_PATH.
VK-GL-CTS issue: 1573
Change-Id: I158d816d28f5bbf30288f6226bd5c9e30cf85285
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Alexander Galazin [Wed, 24 Apr 2019 12:50:12 +0000 (14:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I0684866a941390b02452ed7215feaf289ed0d274
Alexander Galazin [Wed, 24 Apr 2019 05:59:25 +0000 (07:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I558e81a43c829769f170c4b26f3b290d88cf708e
Alexander Galazin [Tue, 23 Apr 2019 18:10:25 +0000 (20:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: If4d754edf8a5c942ebf51fcbb3a71d87bfbc7856
Alexander Galazin [Tue, 23 Apr 2019 17:13:22 +0000 (19:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I578c423d59f3c21357dd6f448f68cee5b46a98d0
Alexander Galazin [Tue, 23 Apr 2019 16:47:53 +0000 (18:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I4e639df46cf1f19a0bde8a061fa54d0bc1f7732d