Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests
The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear
Components: Vulkan
VK-GL-CTS issue: 1106
Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit
b861ca1e6d4c002d4359a71dbff1cdf898e79aca)
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check
The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 1351
Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit
fed61233a802b5a8e7f6e634d0ef698e9155a94c)
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check
Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.
Point mode doesn't factor into this rule
Components: Vulkan
VK-GL-CTS Issue: 1273
Affects:
dEQP-VK.tessellation.primitive_discard.*
Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e
Ilya Zaytsev [Tue, 21 Aug 2018 14:46:48 +0000 (16:46 +0200)]
Fix issues in ProtectedMemCopyBufferToImage
Fixes the following issues:
* pipeline barriers were not correct: wrong stages and wrong access masks
were used
* R32G32B32A32_UINT image view was sampled from sampler2D
Affects: dEQP-VK.protected_memory.image.copy_buffer_to_image.*
Components: Vulkan
VK-GL-CTS issue: 1326
Change-Id: I9d7eb9f8d9c2dcda1d7dd1f3b0e68e71fcd8c8f9
Alexander Galazin [Fri, 24 Aug 2018 07:26:51 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I5b4bdc020c0dda7ec55aafd498cd1f1193b9c77b
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests
The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>
Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315
Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd
(cherry picked from commit
a46089154137e0939c02bdcabc74f5daa303ffb2)
Matthew Netsch [Wed, 8 Aug 2018 20:52:35 +0000 (16:52 -0400)]
Fixes geometry shader invocation dependency
dEQP-VK.tessellation.invariance.* updates a SSBO
expecting the implementation to execute the GS
once per primitive. Changes the test to allow
multiple invocations.
Components: Vulkan
VK-GL-CTS Issue: 1281
Affects:
dEQP-VK.tessellation.invariance.*
Change-Id: I6ed17a8afb413587bb38487ec9952f569a250193
Simen Kaspersen [Mon, 30 Jul 2018 14:36:31 +0000 (16:36 +0200)]
Remove unconditional depth_clamping for 1.1.0
Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.
Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 1286
Change-Id: Ia869da75a74800543afb4f8fddd8bf5e8f7f4a7f
Alexander Galazin [Thu, 2 Aug 2018 08:27:46 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I178311e0fa4f5276ab325b65460074f60e42c222
Alexander Galazin [Tue, 3 Oct 2017 19:29:50 +0000 (21:29 +0200)]
Invalidate memory in draw tests
The test group writes to non-coherent device memory with device,
but fails to call the required invalidate on the region before
reading mapped memory with host.
Components: Vulkan
VK-GL-CTS issue: 529
Affects: dEQP-VK.draw.*
Change-Id: Icf4aa6ea80c8c046e41b37402457b7f094d7ae50
(cherry picked from commit
1ce6e233a6245a1cf81a2a4e88b87c5d381a119a)
Chris Forbes [Mon, 11 Jun 2018 22:50:16 +0000 (15:50 -0700)]
Allow two images worth of alignment slop in protected heap
We previously backed off by one image worth, but it's not enough in some
cases.
Components: Vulkan
VK-GL-CTS: 1262
Bug: b/
109757443
Test: dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create#min_image_count
Change-Id: I01b3a72986e9f35b4ec15a146e4dc576758c02ce
(cherry picked from Android commit
0fd6d1afa4d00ffd3da1d2d1898f32d4e879209d)
Stephen Gallimore [Thu, 5 Jul 2018 13:40:13 +0000 (14:40 +0100)]
Protected memory image access tests not flushing staging buffer
Affected tests:
dEQP-VK.protected_memory.image.access.*
Components: Vulkan
VK-GL-CTS issue: 1264
Change-Id: I30a6e3b0118b6874b9bfdf625aadec9c0fe54710
Alexander Galazin [Sun, 8 Jul 2018 16:11:07 +0000 (18:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Ie88a7283bd969891282983a549c6d18901a9ee7b
Marcin Rogucki [Wed, 25 Oct 2017 11:33:44 +0000 (13:33 +0200)]
gl_PrimitiveIDIn tests have sketchy loop bounds.
Components: Vulkan
VK-GL-CTS issue: 778
Updates:
dEQP-VK.geometry.basic.primitive_id_in
dEQP-VK.geometry.basic.primitive_id_in_restarted
Change-Id: Icd2be56814de18067ce058a5f2a1da80338f80d6
(cherry picked from commit
52b7de31e0bccf62ca28d820f4dc2d0d52793aa8)
Jarred Davies [Thu, 5 Apr 2018 09:51:23 +0000 (10:51 +0100)]
Drop linear filter requirement from YCbCr tests
Remove requirement for YCbCr base formats to support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT from
format_properties tests.
The standard does not require support for this feature
from any YCbCr format.
Affects:
dEQP-VK.api.info.format_properties.g8_b8_r8_3plane_420_unorm
dEQP-VK.api.info.format_properties.g8_b8r8_2plane_420_unorm
Components: Vulkan
VK-GL-CTS issue: 1090
Change-Id: I6fa1c6c7a7f9768c2001972ae1f04173310aa652
(cherry picked from commit
eab78dce0d08f4ec22cece6be8003f554ede5882)
Alexander Galazin [Fri, 6 Jul 2018 20:06:52 +0000 (22:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I141a0abc53983443da9a5bb7c905538f1ddb4f22
Alexander Galazin [Fri, 6 Jul 2018 10:24:12 +0000 (12:24 +0200)]
Merge vk-gl-cts/github-vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I29544b2f3f6b7bee65ac6ac1339eb52176efe5a5
Alexander Galazin [Fri, 6 Jul 2018 10:21:32 +0000 (12:21 +0200)]
Fix build error introduced by the previous commit
Components: Vulkan
Chris Forbes [Fri, 2 Mar 2018 21:22:20 +0000 (13:22 -0800)]
Compile shaders for 1.0-compatible tests as SPIRV 1.0, not max supported
Components: Vulkan
VK-GL-CTS: 1232
Change-Id: I5a440f97f79be0e6d37d89018ae8b611e9d4e7c1
Alexander Galazin [Fri, 15 Jun 2018 13:03:53 +0000 (15:03 +0200)]
Merge pull request #99 from AIOOB/patch-1
Require extension for the deviceFeatures2 test
Chris Forbes [Tue, 12 Jun 2018 18:03:59 +0000 (11:03 -0700)]
Fix protected memory buffer tests to do proper operation
Update and copy variants of these tests were doing the FILL operation
instead.
Change-Id: Iede9e71f50c1d2d5699b35ad9b86fc6237714977
Components: Vulkan
Affects: dEQP-VK.protected_memory.buffer.*
VK-GL-CTS: 1215
(cherry picked from commit
39fbe90f21cb24b46e1bbc2d49e75604453977c0)
Stephen Gallimore [Tue, 12 Jun 2018 14:35:46 +0000 (15:35 +0100)]
Memory binding tests not invaidating host memory before results check.
Affected tests:
dEQP-VK.memory.binding.*.buffer_*
Components: Vulkan
VK-GL-CTS issue: 1214
Change-Id: Ib347401ee818a42487df001f3ba76247b157321c
Chris Forbes [Wed, 30 May 2018 16:26:57 +0000 (09:26 -0700)]
Don't rely on unspecified argument evaluation order in atomic swap tests
Bug: b/
78779994
Test: dEQP-VK.protected_memory.ssbo.ssbo_atomic.fragment.compswap.random.*
VK-GL-CTS: 1198
Components: Vulkan
Change-Id: Ifba8940745c28a32ca631beb374394a5e3fe508b
(cherry picked from Android commit
51e0000bcde19cee3c0e4686c0a3caec121b3c42)
Chris Forbes [Tue, 29 May 2018 19:26:19 +0000 (12:26 -0700)]
Request required 16bit storage features in UConvert/SConvert tests
These tests require specific features within the 16bit storage extension
Change-Id: I573b8ca69209ec36b3c249f5b9a638d4e7743209
Components: Vulkan
Bug: b/
78779994
VK-GL-CTS: 1195
Affects: dEQP-VK.spirv_assembly.instruction.compute.*
(cherry picked from Android commit
20426c97899d621fba9bcbae9374ec5439beedd6)
Joan Bonet Orantos [Tue, 22 May 2018 08:09:05 +0000 (10:09 +0200)]
Fix dependencies in vulkan pipeline test
The srcStageMask field in the subpass dependency was not strict
enough. This can cause that the incoming subpasses, that try to copy
samples from this subpass, may try to read content that may not be
written yet.
Affects:
dEQP-VK.pipeline.multisample.min_sample_shading.min_*
Components: Vulkan
VK-GL-CTS issue: 1185
Change-Id: Ide5e3d2a709e8fe26d23ada1d20bf2eb27beffd8
Jesse Hall [Wed, 16 May 2018 23:56:54 +0000 (16:56 -0700)]
Limit protected swapchain images based on memory
A surface's maxImageCount isn't based on the swapchain image extents
or format, so it's valid for swapchain creation to fail for
out-of-memory reasons even when the image count is within the
supported range.
This is particularly problematic for protected swapchains, since many
implementations have a limit on the total amount of protected memory
that can be allocated which is much smaller than total device memory.
This change estimates how much memory is used by protected swapchain
images, compares that to the size of heaps that support protected
memory types, and doesn't try to create swapchains that would have
more images than would fit within that size.
Components: Vulkan
VK-GL-CTS Issue: 1167
Affects:
dEQP-VK.protected_memory.interaction.wsi.*.swapchain.create.min_image_count
Change-Id: I6cc3bd25f7f22de8424f9e3375ade35fac26a884
Graeme Leese [Thu, 26 Apr 2018 14:06:12 +0000 (15:06 +0100)]
Clear image layer 0 in memory commitment test
Components: Vulkan
Affected: dEQP-VK.api.get_memory_commitment.memory_commitment
VK-GL-CTS issue: 1151
Change-Id: I95676f18f91470248ac19270778b897626a31f2c
Alexander Galazin [Fri, 11 May 2018 13:28:20 +0000 (15:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I06a95f88214707d9108a46f7374a5e8e0f9bdb59
Liam Middlebrook [Thu, 26 Apr 2018 21:43:25 +0000 (14:43 -0700)]
Do not fail plane tests when there is no display
Instead, we should mark these tests as not supported. The Vulkan spec
states that:
Devices must support at least one plane on each display
If there are no displays connected, the driver is allowed to return 0
planes.
VK-GL-CTS issue: 1138
Change-Id: Ie7ddc35f4f11fbfa54f8c31cc3864f52adb1bb7f
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities
Affects: dEQP-VK.wsi.display.create_display_plane_surface
Damien Leone [Mon, 30 Oct 2017 23:15:25 +0000 (16:15 -0700)]
Do not fail display tests when there is no display
Instead, we should mark these tests as not supported. It is valid per the
Vulkan spec to have the extension report 0 displays connected.
Affects: dEQP-VK.wsi.display.*
Component: Vulkan
VK-GL-CTS issue: 1105
Change-Id: Iaae928a862dcc3827094d898a5455ecfe3920936
Slawomir Cygan [Tue, 24 Apr 2018 15:50:19 +0000 (17:50 +0200)]
Do not test CLEAR loadOp with read-only depth stencil image layouts
It is invalid to use implicit clears with depth stencil images, which first
render pass usage is in read only depth/stencil image layout
Spec:
"
For any member of pAttachments with a loadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL.
For any member of pAttachments with a stencilLoadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL."
Component: Vulkan
Affects:
dEQP-VK.renderpass.suballocation.formats.d*.clear.*_read_only
VK-GL-CTS Issue: 1144
Change-Id: Iad78473fe4bdf87dac5aff5bcc1c2b888e790cb8
Jarred Davies [Thu, 12 Apr 2018 12:57:14 +0000 (13:57 +0100)]
Remove 4K min size from dedicated image tests
The tests dEQP-VK.memory.mapping.dedicated_alloc.image.*
all create an image with a minimum size of 4Kx4K, so the
tests in this subgroup test the exact same image size
regardless of what size the test itself is supposed to be
testing.
This change removes the 4Kx4K minimum to enable
the test to actually test multiple sizes of images.
Affect:
dEQP-VK.memory.mapping.dedicated_alloc.image.*
Components: Vulkan
VK-GL-CTS issue: 1118
Change-Id: I2ba9fa671f20eeb9bfa8b14972c903ac20875425
Panagiotis Apostolou [Mon, 26 Mar 2018 11:21:26 +0000 (13:21 +0200)]
Missing pipeline barriers from fragment variants of dEQP-VK.subgroups.*
This commit adds a missing image pipeline barrier in the fragment variant
of the subgroups test group. After the end of the renderpass and before the
vkCmdCopyImageToBuffer, a pipeline barrier is required to delay the copy
command so that all the writes to the color attachment are complete.
Tests affected:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 1135
Change-Id: I82a5179f97cf4435f96dd378f123f37bc26bd082
AIOOB [Fri, 20 Apr 2018 00:16:03 +0000 (01:16 +0100)]
Require extension for the deviceFeatures2 test
Chris Forbes [Thu, 12 Apr 2018 15:54:00 +0000 (08:54 -0700)]
Request GPDP2 extension if required in shared presentable image tests
Change-Id: Ifa4b19c6046d4f0b95a5fc65443bcd1df051b6a5
Components: Vulkan
Affects: dEQP-VK.wsi.*.shared_presentable_image.*
VK-GL-CTS: 1078
Peter Quayle [Wed, 28 Mar 2018 17:18:28 +0000 (18:18 +0100)]
Fix improper use of vkCmdWaitEvents
dEQP-VK.synchronization.smoke.events was calling vkCmdWaitEvents inside
a render-pass, which is not allowed if the event is later triggerd using
vkSetEvent. Additionally, the test was only waiting 1ns to determine if
a queue had made forward progress, which is too short to give the
implementation a chance to do any work.
Affects:
dEQP-VK.synchronization.smoke.events
Components: Vulkan
VK-GL-CTS issue: 1089
Change-Id: I6d9c9a635d82840f49fd3d9ed3736f91c4b6f88d
Dae Kim [Tue, 27 Mar 2018 09:54:23 +0000 (10:54 +0100)]
Fixed rounding issue in spirv_assembly tests
The test assumes that the host system and the device use the same
rounding mode. When this is not the case, the derived rounding errors
make the test fail unexpectedly. By rounding the input values down we
avoid differences in the test output caused by the rounding modes in
use.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
Components: Vulkan
VK-GL-CTS issue: 1097
Change-Id: I3678e38cbe5c6d57cecef91e7398df0d04763851
Caio Marcelo de Oliveira Filho [Mon, 12 Mar 2018 17:25:58 +0000 (10:25 -0700)]
Fetch new tags when fetching new Git sources
Change-Id: I1a906ebf2698eac33c3acbf1da74df9642b775a2
Component: Framework
(cherry picked from commit
204d597504c94fa52ed0f5a2c21895482236d5cc)
Alexander Galazin [Wed, 7 Mar 2018 15:45:21 +0000 (16:45 +0100)]
Update glslang, SPIR-V commits
Components: Framework
Affects: dEQP-VK.*
Change-Id: If5830108278597a28f8043dd947bed3c20c9688d
Alexander Galazin [Fri, 2 Mar 2018 11:17:24 +0000 (12:17 +0100)]
Add a note to the README
Explain that the verification scrpt will report a warning
for a correctly generated git-log
Components: Vulkan
Change-Id: Ie8e0ab090f50c776150f9a7f4ce7d69583186953
Marcin Rogucki [Thu, 18 Jan 2018 09:55:07 +0000 (10:55 +0100)]
Validation errors fix in copying 3d images
A minor chages to fix validation errors.
Two tests are not passing currently!
Affected tests:
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.3d_images.*
Components: Vulkan
VK-GL-CTS issue: 208
Change-Id: Id3c5ec869d52db6b1229f45bbeacf24e35e75e48
(cherry picked from commit
c23ba94d7978ba84f9ffd2e75b6afbf8e3395633)
Arkadiusz Sarwa [Tue, 27 Feb 2018 11:38:31 +0000 (12:38 +0100)]
Fix: Memory alignment
Affects:
dEQP-VK.memory.mapping*
Components: Vulkan
VK-GL-CTS issue: 1039
Change-Id: Ia5093148fa145c9eecc03fe3b76102cdf77ad472
Panagiotis Apostolou [Thu, 22 Feb 2018 15:28:54 +0000 (16:28 +0100)]
Spec relaxation for protected YCbCr Implicit chroma reconstruction
Incorporates spec relaxation in the protected memory YCbCr tests which
describes that when doing implicit reconstruction with nearest chroma
filtering, an implementation may behave as if both xChromaOffset and
yChromaOffset were VK_CHROMA_LOCATION_MIDPOINT.
Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*
Components: Vulkan
VK-GL-CTS issue: 1032
Change-Id: I25ef589ed05b1b167475eb5b6d782b261b1b3532
Slawomir Cygan [Wed, 28 Feb 2018 18:11:21 +0000 (19:11 +0100)]
Set usable instance version in external memory tests
These tests were using vkEnumerateInstanceVersion() to get
instance version. This failed, when Vulkan 1.1 Loader is used with
Vulkan 1.0 ICD: the function was returning version 1.1,
so test was not requesting any needed instance extensions, as these
were assumed to be already in core.
This is out of sync with dispatch code dispatching to
1.0 + KHR extension functions, when calling entrypoints like
vkGetPhysicalDeviceExternalBufferProperties(). As no KHR extensions
were requested during instance creation, the behavior is undefined.
The dispatch code is using context.getUsedApiVersion() utility
to guess Vulkan version, so same utility should be used for instance
creation, avoiding raw calls to vkEnumerateInstanceVersion().
Components: Vulkan
VK-GL-CTS Issue: 1047, 854
Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.api.external.fence.*
dEQP-VK.api.external.semaphore.*
Change-Id: Iecf9bb086e04c6d88118fee9c4867ac5647d1ab7
Panagiotis Apostolou [Thu, 22 Feb 2018 15:04:24 +0000 (16:04 +0100)]
Remove vertex stage variants from dEQP-VK.protected_memory.interaction.ycbcr.*
"Except for framebuffer-space pipeline stages, compute shader stage, and
transfer stage, any read from or write to protected memory during protected
queue operations results in undefined behavior"
The existing dEQP-VK.protected_memory.interaction.ycbcr.* group include
tests that sample the protected texture from inside the vertex shader. This
commit removes these tests.
Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*
Components: Vulkan
VK-GL-CTS issue: 1031
Change-Id: I459da0f3028e418c90285e55fb17ac1fda8d8467
Alexander Galazin [Thu, 1 Mar 2018 13:24:31 +0000 (14:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I8c2317b97955bbee922af624b91287071fbc7661
Dae Kim [Fri, 23 Feb 2018 08:39:12 +0000 (08:39 +0000)]
Added missing gl_PointSizes when drawing points
Some tests using point list primitive topology were not specifying point
sizes with the gl_PointSize built-in.
Affects:
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
Components: Vulkan
VK-GL-CTS issue: 1035
Change-Id: I8588e26ee47c58f6ec4e9ee5fdce70546ec28903
Slawomir Cygan [Thu, 22 Feb 2018 17:55:01 +0000 (18:55 +0100)]
Do not access temporary C++ object members by reference
Fix undefined C++ behavior (resulting in errors when doing runtime memory checks),
where a temporary object returned by getInputAspects() method is used by a reference
to a member after the temporary is destructed.
It seems getInputAspects should just return reference.
Affects: dEQP-VK.renderpass.*.input*
Component: Vulkan
VK-GL-CTS Issue: 1033
Change-Id: I71edabed71ea63f46cdbc45c966d57cd020565ab
Peter Quayle [Wed, 21 Feb 2018 15:34:55 +0000 (15:34 +0000)]
Ensure sync_fd tests use valid file descriptors
The external.*.sync_fd.* tests fail on some implementations
because vkGet*FdKHR may return -1 (meaning pre-signalled) instead
of a valid file descriptor.
Affects:
dEQP-VK.api.external.semaphore.sync_fd*
dEQP-VK.api.external.fence.sync_fd*
Components: Vulkan
VK-GL-CTS issue: 957
Change-Id: I91087db1595a19605956dad460caa344e850491e
Dae Kim [Tue, 20 Feb 2018 13:37:39 +0000 (13:37 +0000)]
Fix verification in robust buffer access tests
Some buffer accesses to addresses less than 16 bytes away from the out
of bounds address where not considered potentially out of bounds, even
when there were out of bounds accesses in the same SPIR-V block.
Affects:
dEQP-VK.robustness.buffer_access.*:
Components: Vulkan
VK-GL-CTS issue: 1025
Change-Id: Ibcb61fb84cecc360d753ba5d3acc1f9d48169651
Alexander Galazin [Thu, 22 Feb 2018 11:45:50 +0000 (12:45 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I115b3e16d7282ef5f9abeb5bd382f744d891b5e3
Tom Cooper [Mon, 12 Feb 2018 16:20:58 +0000 (16:20 +0000)]
Fix low memory in dedicated_alloc buffer tests
Observe platform memory limits to avoid low memory conditions.
Components: Vulkan
VK-GL-CTS issue: 1008
Affects: dEQP-VK.api.buffer.dedicated_alloc.create_buffer_*
Change-Id: Ib184b648126e8cb6e1acff533447a86be9a1a612
Alexander Galazin [Wed, 14 Feb 2018 09:17:22 +0000 (10:17 +0100)]
Update glslang/spir-v headers tags
Components: Framework
Affects: dEQP-VK.*
Change-Id: I1282fe5924abfb86fba7d32d3c67b94993a252fe
Juan A. Suarez Romero [Fri, 10 Nov 2017 11:20:36 +0000 (11:20 +0000)]
Do not use depthClampEnable unconditionally.
Depth clamping is not needed by these tests, so
do not rely on the optional feature when creating
the pipeline object.
Affects:
dEQP-VK.spirv_assembly.*
Components: Vulkan
VK-GL-CTS issue: 846
Change-Id: I248759e6ac209ccbd7661068c3ef5f1dfb8ca501
(cherry picked from commit
d33f62c935d51b4ecba0b6b97ea1baafe67ea3f4)
Lionel Landwerlin [Fri, 9 Feb 2018 15:20:25 +0000 (15:20 +0000)]
YCbCr: go through the correct location ranges when sampling
Affects: dEQP-VK.ycbcr.conversion.*
Components: Vulkan
VK-GL-CTS issue: 1005
Change-Id: Ifac1026e82e1bb48195fc7ab5429951a15324042
Alexander Galazin [Mon, 5 Feb 2018 12:13:44 +0000 (13:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I36a59b8e50449e1788779380d6dc1dc4668b78fc
Vamsidhar Gaddam [Wed, 31 Jan 2018 10:23:48 +0000 (11:23 +0100)]
Pass in proper pWaitDstStageMask in vktWsiSharedPresentableImageTests
One of the submitInfos for a queue submit had
a semaphore passed in without passing in any stage mask. This is a
spec violation.
Affects:
dEQP-VK.wsi.android.shared_presentable_image.*
Components: Vulkan
VK-GL-CTS issue: 974
Change-Id: Iee2ea838e971a3610f44b8c1f765869a8a21fedb
Panagiotis Apostolou [Wed, 17 Jan 2018 09:01:58 +0000 (10:01 +0100)]
Spec relaxation for YCbCr Implicit chroma reconstruction
Incorporates spec relaxation in the YCbCr tests which describes that when
doing implicit reconstruction with nearest chroma filtering, an
implementation may behave as if both xChromaOffset and yChromaOffset were
VK_CHROMA_LOCATION_MIDPOINT.
Tests affected:
dEQP-VK.ycbcr.conversion.*
Components: Vulkan
VK-GL-CTS issue: 979
Change-Id: I10e83d2f5845c3e74673aa9e42fc4f0950f9e6cd
Noah Fredriks [Mon, 15 Jan 2018 21:09:55 +0000 (16:09 -0500)]
Fix illegal memory access for robustness test
Don't subtract 3 from buffer pointer for VK_FORMAT_A2B10G10R10_UNORM_PACK32
alpha channel because this format is a deUint32 instead of Vec4.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.*
Components: Vulkan
VK-GL-CTS issue: 946
Change-Id: I2a5241191e01252ce071658b8dbd79d3e424aa41
Alexander Galazin [Fri, 19 Jan 2018 09:08:43 +0000 (10:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I8db9696a5f7b9bafdf20e76afc8d1d42b96cfe1c
Yanjun Zhang [Wed, 10 Jan 2018 00:12:47 +0000 (16:12 -0800)]
Check GS support before testing adjacent primitives
Affects: dEQP-VK.draw.basic_draw.draw.*
Components: Vulkan
VK-GL-CTS issue: 926
Change-Id: I02569b1944eed52f641966f9206d44983d1ff165
Chris Forbes [Wed, 10 Jan 2018 02:13:15 +0000 (18:13 -0800)]
Fix buffer usage flags for index and indirect buffers
Previously, createAndUploadBuffer would provide
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT for all buffers. This is no good for
index buffers and indirect buffers.
VK-GL-CTS: 930
Change-Id: I774beef7c7226f4fbd5670591eb66475300ee208
Components: Vulkan
Affects: dEQP-VK.draw.instanced.*
Alexander Galazin [Thu, 18 Jan 2018 09:51:31 +0000 (10:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I79e2e20649232a7ebd78088981f06ade6c5e6323
Piers Daniell [Fri, 5 Jan 2018 21:04:29 +0000 (14:04 -0700)]
Add VK_ACCESS_SHADER_READ_BIT barrier access bit
The dEQP-VK.query_pool.statistics_query.compute_shader_invocations.secondary*
tests were missing a VK_ACCESS_SHADER_READ_BIT bit in the
pipeline barrier between compute dispatch calls. Each dispatch
was doing a read-modify-write of the same SSBO locations, but
the test only used the VK_ACCESS_SHADER_WRITE_BIT access bit.
This may cause the compute shader to read stale cache data
since the dependency between each dispatch was not expressed
correctly.
This fix simple adds the missing VK_ACCESS_SHADER_READ_BIT
access bit.
Affects:
dEQP-VK.query_pool.statistics_query.compute_shader_invocations.secondary*
Components: Vulkan
VK-GL-CTS issue: 927
Change-Id: I946d6113c897a03116db7a93a182e27497adfe6f
Yanjun Zhang [Thu, 11 Jan 2018 19:44:54 +0000 (11:44 -0800)]
Set maxDescriptorSet* limit table based on shader stages
Re-submit the patch based on WG review and feedback.
Affects: dEQP-VK.api.info.device.properties
Components: Vulkan
VK-GL-CTS issue: 923
Change-Id: Ie627b52cfae099d87f5b6183118d42bcccd313ca
Alexander Galazin [Fri, 12 Jan 2018 14:03:32 +0000 (15:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I02ba5bcb0273934d93d91e2375f9d272c6c69904
Yanjun Zhang [Wed, 10 Jan 2018 00:26:50 +0000 (16:26 -0800)]
Check sampleRateShading for sample_qualifier_distinct_values.* tests
Affects: dEQP-VK.pipeline.*.sample_qualifier_distinct_values.*
Components: Vulkan
VK-GL-CTS issue: 925
Change-Id: Ife1166e8ed88699c67ee6acde79857f34c013398
Chris Forbes [Tue, 9 Jan 2018 23:26:34 +0000 (15:26 -0800)]
Use unique indices for each binding in out_of_pool_memory test
Previously, all the layout bindings would use binding=0, which is
invalid. Give them their own binding indices.
VK-GL-CTS: 929
Change-Id: I28e62db6c257ed0843dd9b77b2d8cb01d02e3eba
Components: Vulkan
Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory
Alexander Galazin [Thu, 11 Jan 2018 12:40:39 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I918575ed59c764d988fb98b718745605c5285b06
Chris Forbes [Wed, 10 Jan 2018 19:42:41 +0000 (11:42 -0800)]
Build prebuilts for HLSL shaders
Previously these prebuilts would be missing, causing all the HLSL tests
to fail when run via the Android CTS integration which relies on them.
VK-GL-CTS Issue: 939
Change-Id: Ib69f884818ea24692222cc74d8b69b0e0bcb465d
Components: Vulkan
Affects: dEQP-VK.*hlsl*
Piers Daniell [Thu, 30 Nov 2017 21:40:00 +0000 (14:40 -0700)]
Skip allocation subtests that allocate too much VA
For 32-bit builds of CTS we can't allocate more host visible
memory than there is virtual address space for the process
since the allocation will fail and cause a false negative
result.
This CL skips over host visible allocations that would add
up to more than 1.5GB of virtual address space. This can
happen on platforms that expose very large heaps that
support memory types that include host visible memory.
The implementation can't cap the available memory size
since the heap can support allocations of memory other
than host visible and it doesn't want to restrict those
that don't consume CPU virtual address space. Its up
to CTS to limit how much virtual address space it
chooses to allocate.
Affects:
dEQP-VK.memory.allocation.basic.percent_1.*.count_12
Components: Vulkan
VK-GL-CTS issue: 859
Change-Id: I321f5cad567245571722f53397df26e23a4cee97
Marcin Rogucki [Wed, 13 Dec 2017 14:07:32 +0000 (15:07 +0100)]
Fix for #895 - physical_device_groups testing
For 1.1 version instances we do not require physical devices groups extension to be supported. Instead on 1.1 instances we just assume it's now a part of core implementation.
Components: Vulkan
VK-GL-CTS issue: 895
Affects: All tests using createInstanceWithExtension function
Change-Id: Ib11999498c28156e1e5d0c5e9025cb6ca4ba75a0
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads
Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements
Affects: dEQP-VK.texture.*
Components: Vulkan
VK-GL-CTS issue: 812
Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a
(cherry picked from commit
50c0544ec8c2e99158bf8a375eacfc9baf364a91)
Alexander Galazin [Thu, 7 Dec 2017 11:27:21 +0000 (12:27 +0100)]
Vulkan test list without waivers
Adds new test list - vk-default-no-waivers.txt which is the same as
the regular mustpass (vk-default.txt) but without exclusions for
waivers.
Component: Vulkan
Change-Id: I7127255bf975ee02ede284a6217b82baa3af2414
Oivind Boge [Tue, 19 Dec 2017 10:06:16 +0000 (11:06 +0100)]
Fixed tests issue where vertex shader was misssing gl_PointSize
Affects:
dEQP-VK.protected_memory.ssbo.*
Components: Vulkan
VK-GL-CTS issue:: 915
Change-Id: Ia7cc2b9a6b1593ca15f585a9dc052cb2528f9ee3
Graeme Leese [Thu, 14 Dec 2017 13:53:45 +0000 (13:53 +0000)]
Also set gl_PointSize in subgroup quad tests
Affects: dEQP-VK.subgroups.quad.*vertex_framebuffer
Components: Vulkan
VK-GL-CTS issue: 872
Change-Id: Ie73fb744737e079d42792f6c974534e57ae006ef
Alex Walters [Wed, 13 Dec 2017 15:47:23 +0000 (15:47 +0000)]
Invalid handle in create_display_plane_surface
This test attempts to create a display plane surface but incorrectly
fills in the VkDisplaySurfaceCreateInfo with an index into dEQP's array
of display modes instead of the VkDisplayModeKHR handle itself.
The app is required to specify a valid handle.
An invalid handle results in undefined behaviour.
Affects:
dEQP-VK.wsi.display.create_display_plane_surface
Components: Vulkan
VK-GL-CTS issue: 906
Change-Id: I9fbbd40926e26bf82ed11dc1b5e807922cbc4e73
Noah Fredriks [Thu, 14 Dec 2017 19:48:48 +0000 (14:48 -0500)]
Fix Invalid VkImageSubresourceRange
Pipeline image barrier was using the arraySize of the wrong image.
Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.*
Components: Vulkan
VK-GL-CTS Issue: 910
Change-Id: I021bdd0ba5eff9e894f21186b3d85bb2f2c99f16
Alexander Galazin [Thu, 14 Dec 2017 10:52:40 +0000 (11:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I3b358114c4158d2130e68632d4e02d7246c6f9af
Marcin Rogucki [Mon, 20 Nov 2017 15:44:51 +0000 (16:44 +0100)]
Fix for getPhysicalDeviceFeatures2 loader issue
For all instance methods taking VkPhysicalDevice
as a first parameter that were moved to core in
1.1 there is now a dynamic dispatch based on
physical device api version. If version is 1.1 or
above a core method is used. If version is lower
than that a counterpart extension method is used.
Additionally a pre-instance is created to enumerate
all physical devices and select lowest version to
be able to enable proper extensions set for final
instance.
Components: Vulkan
VK-GL-CTS issue: 854
Affects: All tests using getPhysicalDeviceFeatures2
Change-Id: Ia68a5cac23ae35566fcf99bc56c93c9cb77f33e0
Jeff Leger [Sat, 2 Dec 2017 02:16:28 +0000 (21:16 -0500)]
Modify spirv_assembly tests adding dependency on 16bit_storage extension
Several tests were using 16bit_storage, but were not checking the
extension was supported nor declaring the required opCapability.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 875
Change-Id: I07fda13c69cdef09967d4aab5067edff07c47fa1
Noah Fredriks [Wed, 29 Nov 2017 23:27:52 +0000 (18:27 -0500)]
Avoid creating vkInstances for not supported cases
Defer vkInstance creation for cross instance tests until not supported
checks complete to shorten the runtime of these 10k total test cases.
Affects: dEQP-VK.synchronization.cross_instance.*
Components: Vulkan
VK-GL-CTS Issue: 885
Change-Id: I481de90d8c0363c23a287aaf457ac101c327c558
Igor Ostrowski [Wed, 15 Nov 2017 17:33:51 +0000 (18:33 +0100)]
Fix mediump zero division in matrix inverse tests
To avoid zero division all input matrix determinants should be same signed.
Affects:
dEQP-VK.glsl.matrix.inverse.*
Components: Vulkan
VK-GL-CTS issue: 881
Change-Id: Ib702f81c4eb7f25ba9081db6ead67da02f484ca9
Maciej Jesionowski [Wed, 29 Nov 2017 13:07:42 +0000 (14:07 +0100)]
Remove max expected query result in pipeline statistics tests
Query result is implementation-defined and some internal rendering
operations may count towards the results of queries.
Affects: dEQP-VK.query_pool.statistics_query.*
Components: Vulkan
VK-GL-CTS issue: 876
Change-Id: I0c86e1101c1ae00049623bd49dfe0c4de5798832
Stu Smith [Thu, 30 Nov 2017 13:30:20 +0000 (13:30 +0000)]
Add missing gl_PointSize in subgroup test shaders when drawing points
Affects: dEQP-VK.subgroups.*vertex_framebuffer
Components: Vulkan
VK-GL-CTS issue: 872
Change-Id: Iddf8362024d3dd750e6f0b9d4c71e1adcdfa63ca
Jeff Leger [Wed, 22 Nov 2017 17:12:58 +0000 (12:12 -0500)]
Reduce GPU workload of pipeline_barrier tests
Tests with large buffer sizes will now clamp the
GPU workload to avoid triggering execution timeout
on implementations.
Affects: dEQP-VK-memory.pipeline_barrier.*
Components: Vulkan
VK_GL_CTS issue: 813
Change-Id: I479f6ad04ef2ec6f9d87b65a39a2bc13bcbcc6a2
Alexander Galazin [Wed, 22 Nov 2017 11:36:02 +0000 (12:36 +0100)]
Update glslang tag
Update glslang tag to vulkan-1.1-rc6
Affects: dEQP-VK.*
Change-Id: I5bfbf717e1f0be51802b33f2a7b658d395c72019
Slawomir Cygan [Thu, 23 Nov 2017 10:51:23 +0000 (11:51 +0100)]
Fix regression from "Add contextSupports functions"
Fixes contextSupports condition for missing VK1.1.
This regression was introduced in
39a3dba4.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
Components: Vulkan
VK-GL-CTS issue: 860
Change-Id: I866c815b918af2860d888775179635011f757535
(cherry picked from commit
4f5fa8a6a62071624d9a2a703b9219abc301c72a)
Alexander Galazin [Thu, 30 Nov 2017 13:39:20 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I9fbb4d01a6050ae79808e61649783ef698a1481d
Piers Daniell [Wed, 22 Nov 2017 20:23:12 +0000 (13:23 -0700)]
Fix some CTS bugs that cause validation failures
Most of these are misuse of the dstStageMask parameter to
vkCmdPipelineBarrier. The dstStageMask has to be compatible
with the destination access type of the buffer or image.
The other large source of validation errors is a bug
in the CTS framework when calling vkCreateDevice. The
wrong pNext member was used for setting the enabled
features. The effect is that all features were disabled.
Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.pattern.*
dEQP-VK.*
Components: Vulkan
VK-GL-CTS issue: 862
Change-Id: I58ca4e033d7d66b52c6726a635808b9b747546d8
Noah Fredriks [Thu, 9 Nov 2017 21:00:29 +0000 (16:00 -0500)]
Enforce OOB requirements for binding with multiple attributes
The spec states that, if any vertex input attribute using a specific
vertex input binding is out of bounds, then all vertex input attributes
using that vertex input binding for that vertex shader invocation are
considered out of bounds.
Affects: dEQP-VK.robustness.vertex_access.*.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 848
Change-Id: I6a9222a0b2a53368af361419105793a5301a6bf6
Tom Cooper [Wed, 22 Nov 2017 15:57:37 +0000 (15:57 +0000)]
Pipeline must be bound before calling vkCmdSetViewport/Scissor etc
Affects:
dEQP-VK.dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 861
Change-Id: I0f5312c83096cebebfa4ab01987c2ab9ede7306b
Jari Komppa [Tue, 14 Nov 2017 12:21:06 +0000 (14:21 +0200)]
Added constraints for random access flags
The pipeline barrier tests randomize access flags and stages, sometimes
resulting in access flags being enabled for stages that do not support
said accesses. This fix removes the illegal access flags while leaving
the random flag generation intact.
Affects:
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 814
Change-Id: I135ea8a9e41b5d8428ef77fe6ecbdf2380d80c7d
Slawomir Cygan [Fri, 17 Nov 2017 12:59:14 +0000 (13:59 +0100)]
Fix regression from "Add contextSupports functions"
Fixes contextSupports condition for missing VK1.1.
This regression was introduced in
39a3dba450.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_length
Components: Vulkan
VK-GL-CTS issue: 727
Change-Id: I64c0b5fbd40f67ae6cfe314ac66ddc9d7f201dbb
Arkadiusz Sarwa [Thu, 19 Oct 2017 11:20:24 +0000 (13:20 +0200)]
get_physical_device_properties2: add information print
Affects:
dEQP-VK.api.info.get_physical_device_properties2*
Components: Vulkan
VK-GL-CTS issue:: 777
Change-Id: Ib7462d63de521574f7fab018d7aed2d449a58dd3
(cherry picked from commit
45b164c54682c8e1d3de14d9ef425860adae4ec1)
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads
Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements
Affects: dEQP-VK.texture.*
Components: Vulkan
VK-GL-CTS issue: 812
Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a
Arkadiusz Sarwa [Mon, 9 Oct 2017 15:13:48 +0000 (17:13 +0200)]
Add contextSupports functions
Components: Vulkan
VK-GL-CTS issue: 727
Change-Id: Ic2912106268402eb61c2a7aa4d487a2c3c7755e3
Alexander Galazin [Fri, 10 Nov 2017 10:24:18 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I38a420841bb08c1d2d993eee39c16046c7680c3f
Jorg Wagner [Mon, 6 Nov 2017 13:56:49 +0000 (14:56 +0100)]
Do not use depthClampEnable unconditionally.
Depth clamping is not needed by this test, so
do not rely on the optional feature when creating
the pipeline object.
Affects:
dEQP-VK.api.smoke.*
Components: Vulkan
VK-GL-CTS issue: 817
Change-Id: I6794f7f5d17d7610ff43dcb4080a6a30e12ed95b