Pyry Haulos [Fri, 12 May 2017 17:31:29 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I11828b81ea4c9e67dc879dd98a9cbf91341de2c9
Pyry Haulos [Fri, 12 May 2017 17:31:26 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: I6245604cf5ce44a2c4d9c064efb65b058d8f24eb
Iago Toral Quiroga [Fri, 5 May 2017 06:30:15 +0000 (08:30 +0200)]
Add more alternatives to reflect() precision tests
Intel/Mesa started to generate these in some scenarios recently.
Components: Vulkan
Vk-GL-CTS Issue: 392
Affects:
dEQP-VK.glsl.builtin.precision.reflect.*
Change-Id: Ic943cf14d531e392c03adf18605e6330267be4a1
Yanjun Zhang [Mon, 24 Apr 2017 08:59:26 +0000 (01:59 -0700)]
Check sampler_mirror_clamp_to_edge extension in tex filter tests
Components: Vulkan
VK-GL-CTS issue: 384
Affects:
dEQP-VK.texture.filtering.*.combinations.*_mirror_clamp_to_edge_*
Change-Id: Ie829b9247cd374e6c34ac70885e9e4421d284d1e
Pyry Haulos [Mon, 8 May 2017 16:15:25 +0000 (09:15 -0700)]
Do not report warning if OOM testing is incomplete
object_management.alloc_callback_fail tests are trying to exhaustively
test all OOM paths in vkCreate* functions. However, to keep test run-
time reasonable, they have a fixed maximum allocation count and if
that is exceeded report a warning since OOM testing was not
exhaustive.
Since an implementation that requires more allocations than the limit
is valid, this commit changes the tests to report clean Pass instead
of CompatibilityWarning. Note about incomplete OOM testing is included
in the test log contents instead.
Affects:
dEQP-VK.api.object_management.alloc_callback_fail.*
VK-GL-CTS issue: 399
Components: Vulkan
Change-Id: I6890321546ae42f2646b8653007172d4b8affb8a
Pyry Haulos [Fri, 12 May 2017 17:15:26 +0000 (10:15 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Jason Ekstrand [Thu, 27 Apr 2017 15:02:22 +0000 (08:02 -0700)]
dEQP-VK: Fix and inline the Image::getPixelOffset helper
The helper was wrong in a number of ways. First, it tries to calculate
an offset to the particular mip level and array layer requested even
though the driver already provides that as part of the offset returned
by getImageSubresourceLayout. If someone tried to use this with a
non-zero mip level or array layer they would get the wrong offset
because it would be added in twice. Second, the calculation depended on
an array called mipLevelRectSizes array which was used but never
initialized. This commit gets rid of the helper and just does the right
calculation inside MemoryOp::readLinear and MemoryOp::uploadLinear.
This affects the following groups of tests:
- dEQP-VK.draw.*
- dEQP-VK.dynamic_state.*
- dEQP-VK.query_pool.*
Change-Id: If0da72023cbc437d2a13d60f83e1230f0f90ba39
Chris Forbes [Thu, 2 Feb 2017 20:42:12 +0000 (09:42 +1300)]
Add tests for VK_KHR_shared_presentable_image
Initial smoke test for shared image present modes. For each of the new
present modes, exercises a shared image swapchain through a number of
frames, monitoring the status via vkGetSwapchainStatusKHR.
This is not particularly rigorous, but tests if the extension works at
all.
New tests:
dEQP-VK.wsi.*.shared_presentable_image.*
Components: Vulkan
Change-Id: I0e143a2c556ea38a78c32fca4f3bd2b81d16f7dc
(cherry picked from commit
8fd97e075d00a848c5b880f9f4c67711d9cd60d6)
Pyry Haulos [Tue, 7 Feb 2017 22:24:46 +0000 (14:24 -0800)]
Add tests for VK_KHR_get_surface_capabilities2
Surface query tests are extended with two new test cases that verify that
new extended queries return values identical to the non-extended queries.
dEQP-VK.wsi.*.surface.query_formats is changed to check for duplicate
formats in order to make validation between non-extended and extended
formats lists more robust.
New tests:
* dEQP-VK.wsi.*.surface.query_capabilities2
* dEQP-VK.wsi.*.surface.query_formats2
Changed tests:
* dEQP-VK.api.info.instance.extensions
* dEQP-VK.wsi.*.surface.query_formats
VK-GL-CTS issue: 129
Change-Id: I9a43e3d68843eccc64be837dda2142e456675c63
(cherry picked from commit
86f207a29668bd4e1e46f7c7d89e84d65e1bc64b)
Pyry Haulos [Fri, 28 Apr 2017 08:14:23 +0000 (10:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Jason Ekstrand [Thu, 27 Apr 2017 15:02:22 +0000 (08:02 -0700)]
dEQP-VK: Fix and inline the Image::getPixelOffset helper
The helper was wrong in a number of ways. First, it tries to calculate
an offset to the particular mip level and array layer requested even
though the driver already provides that as part of the offset returned
by getImageSubresourceLayout. If someone tried to use this with a
non-zero mip level or array layer they would get the wrong offset
because it would be added in twice. Second, the calculation depended on
an array called mipLevelRectSizes array which was used but never
initialized. This commit gets rid of the helper and just does the right
calculation inside MemoryOp::readLinear and MemoryOp::uploadLinear.
This affects the following groups of tests:
- dEQP-VK.draw.*
- dEQP-VK.dynamic_state.*
- dEQP-VK.query_pool.*
Change-Id: If0da72023cbc437d2a13d60f83e1230f0f90ba39
Alex Walters [Thu, 27 Apr 2017 09:24:08 +0000 (10:24 +0100)]
makeFramebufferWithoutAttachments creates invalid framebuffer
Current behaviour of setting width, height, and layers to zero is
invalid. The validity language specifies that width, height, and
layers must be > 0.
The same function exists in the utils files for sparse_resources
and synchronization tests, I've removed the unused copies.
Affects:
dEQP-VK.tessellation*
Components: Vulkan
VK-GL-CTS issue: 265
(cherry picked from commit
bce45b549d21f068a75d005fe55bd87460b5df29)
Change-Id: I7e6196944b1197ca3ce2d16ff17623e6e9bcfae7
Alex Walters [Thu, 27 Apr 2017 09:12:28 +0000 (10:12 +0100)]
makeFramebufferWithoutAttachments creates invalid framebuffer
Current behaviour of setting width, height, and layers to zero is
invalid. The validity language specifies that width, height, and
layers must be > 0.
The same function exists in the utils files for sparse_resources
and synchronization tests, I've removed the unused copies.
Affects:
dEQP-VK.tessellation*
Components: Vulkan
VK-GL-CTS issue: 265
Change-Id: I201377ec5064d84eb3beb959ac5acf72e687c0b2
Pyry Haulos [Wed, 12 Apr 2017 03:44:44 +0000 (20:44 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Wed, 12 Apr 2017 03:43:22 +0000 (11:43 +0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: Iff109ea0dba048599d3deb4d8f42a7cac8b62283
Pyry Haulos [Wed, 12 Apr 2017 03:08:15 +0000 (11:08 +0800)]
Fix typo in dE-IT.build_info.de_endianness_consistent name
Components: AOSP
Change-Id: Ie2cb1335834c010251021bac6b3882a37ede3f75
Pyry Haulos [Thu, 6 Apr 2017 18:04:35 +0000 (11:04 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: Iaedfbb3579c55d33ebfc415197a67b8145725f4f
Marcin Kańtoch [Tue, 4 Apr 2017 12:31:34 +0000 (14:31 +0200)]
Fix - uniform buffer incorrectly dereferenced
Uniform buffer is incorrectly dereferenced in
ssbo layout tests.
Affected tests: dEQP-VK.ssbo.layout.*
Change-Id: I5831ad75f558f8992bed6bdc48b1833d2ee13d26
Pyry Haulos [Wed, 5 Apr 2017 18:05:03 +0000 (11:05 -0700)]
Use vkGetInstanceProcAddr(NULL) to load platform funcs
Vulkan specification says that only vkGetInstanceProcAddr() has to be
loaded using platform-specific means. Other 'platform'-class functions,
listed below, can be loaded using vkGetInstanceProcAddr(NULL, pName).
Following functions are loaded with vkGetInstanceProcAddr():
* vkEnumerateInstanceExtensionProperties
* vkEnumerateInstanceLayerProperties
* vkCreateInstance
Change-Id: Iab0657bf93d3a36e4f4dda4a1f1550024db0890e
Pyry Haulos [Wed, 5 Apr 2017 18:34:23 +0000 (11:34 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I2614d3a7ce451d47418e7c850a7c2c372f2189a9
Alex Walters [Mon, 3 Apr 2017 10:46:36 +0000 (11:46 +0100)]
Imgtec Waiver for texture_gather*cube*depth32f*
Some versions of Imagination Technologies G6200, G6230, G6400, and
G6430 Rogue Series 6 GPU's are unable to correctly filter CEM corners
with F32 textures, this includes the ability to gather texels for texel
gather instructions.
This CL excludes the affected tests from mustpass.
Affects:
All dEQP-VK.glsl.texture_gather.basic.cube.depth32f* tests except:
dEQP-VK.glsl.texture_gather.basic.cube.depth32f.no_corners*
Components: Vulkan
VK-GL-CTS issue: 336
Change-Id: I4e20d887ad2901f78a7af326035d7a2a9ae5e76a
Iago Toral Quiroga [Tue, 4 Apr 2017 09:50:37 +0000 (11:50 +0200)]
Add VK_KHR_incremental_present to the list of allowed device extensions
Otherwise dEQP-VK.api.info.device.extensions will fail
for drivers that expose the extension.
Components: Vulkan
VK-GL-CTS issue: 346
Affects:
dEQP-VK.api.info.device.extensions
Change-Id: If1a5d971226adca2bfd1586cb1f568e2ca244b6d
Pyry Haulos [Thu, 30 Mar 2017 23:59:27 +0000 (16:59 -0700)]
Use -std=c++03 with GCC and clang
dEQP currently maintains minimum requirement of c++03 support from
toolchains. Use of c++11 or newer is not allowed
GCC 6.1 enables c++14 mode by default and developers might accidentally
use features from it unless we specify c++03 version.
Change-Id: If9ed0f009310b63b29b6a8a355969030b45139ba
Components: Framework
Pyry Haulos [Thu, 30 Mar 2017 23:42:23 +0000 (16:42 -0700)]
Fix GCC 6.3 warnings in vulkan-cts-1.0.2
Change-Id: Iede7ed79a031ab38c0665d1a115e34d034d2b662
Pyry Haulos [Fri, 27 Jan 2017 00:36:18 +0000 (16:36 -0800)]
Improve check_build_sanity.py
* All steps now respect --tmp-dir argument. This required adding
--build-dir and other args to mustpass scripts.
* --recipe command line argument allows running only a specific build
check recipe.
* --dump-recipes option allows printing out all recipes that are
supported in the current environment.
Components: Vulkan, Framework, AOSP
Change-Id: I6ba4f1369def14dc4ea6b398f367366549eecdc5
(cherry picked from commit
8849259035284f5506802f54f09f99f2b146e0b0)
Alexander Galazin [Wed, 29 Mar 2017 07:14:36 +0000 (09:14 +0200)]
Relax image verification in anisotropic filtering tests
Combining nearest texel selection with anisotropic filtering
is implementation dependent and may not be supported.
Do not expect differences between the rendered and the reference images
for such combination of parameters.
Affects:
dEQP-VK.texture.filtering_anisotropy.basic.anisotropy_2.mag_nearest_min_nearest
dEQP-VK.texture.filtering_anisotropy.basic.anisotropy_4.mag_nearest_min_nearest
dEQP-VK.texture.filtering_anisotropy.basic.anisotropy_8.mag_nearest_min_nearest
dEQP-VK.texture.filtering_anisotropy.basic.anisotropy_max.mag_nearest_min_nearest
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_2.mag_nearest_min_nearest_mipmap_nearest
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_2.mag_nearest_min_nearest_mipmap_linear
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_4.mag_nearest_min_nearest_mipmap_nearest
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_4.mag_nearest_min_nearest_mipmap_linear
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_8.mag_nearest_min_nearest_mipmap_nearest
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_8.mag_nearest_min_nearest_mipmap_linear
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_max.mag_nearest_min_nearest_mipmap_nearest
dEQP-VK.texture.filtering_anisotropy.mipmap.anisotropy_max.mag_nearest_min_nearest_mipmap_linear
Components: Vulkan
VL-GL-CTS issue: 267
Change-Id: I064c507aea0b8d72205f4399fcf4a91684536667
Steve Hill [Tue, 28 Mar 2017 12:40:59 +0000 (13:40 +0100)]
Respect maxColorAttachments in image tests
Tests in the image section were using up to 8 framebuffer
attachments. The minumum required number is 4.
Affects:
dEQP-VK.pipeline.image.sampling_type.*.count_8.*
Components: Vulkan
VK-GL-CTS issue: 192
Change-Id: I21d957f17ec5ef7f9efc8d49f91c7a6d521da053
Pyry Haulos [Fri, 31 Mar 2017 16:38:21 +0000 (09:38 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Andrey Tuganov [Fri, 3 Mar 2017 21:52:58 +0000 (16:52 -0500)]
Fix SPIR-V generation in dEQP-VK.spirv_assembly
SPIR-V code generated in vktSpvAsmInstructionTests.cpp violates
non-aggregate type declaration uniqueness rule of SPIR-V
specification.
Fixed some of the tests which don't require exstensive changes.
Affects: dEQP-VK.spirv_assembly.instruction.*
Components: Vulkan
VK-GL-CTS issue: 195
Change-Id: Ib352323b08e10f83a0f5371dbf2bbb8b6d1182dd
Marcin Kańtoch [Tue, 28 Mar 2017 13:06:59 +0000 (15:06 +0200)]
Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
Vulkan spec change https://gitlab.khronos.org/vulkan/vulkan/issues/719
made it mandatory to support depth/stencil formats only for
image type VK_IMAGE_TYPE_2D. For VK_IMAGE_TYPE_1D and VK_IMAGE_TYPE_3D
this support is optional.
Made changes to isRequiredImageParameterCombination()
Tests affected: dEQP-VK.api.info.image_format_properties.*
Change-Id: I9df990ced2e0a735078897324211c6b2a3923f2e
Iago Toral Quiroga [Fri, 24 Mar 2017 11:51:08 +0000 (12:51 +0100)]
Add missing barrier in ssbo layout tests
The tests map storage buffers written by compute shaders
to verify results. Add a barrier before host access to
these buffers.
Components: Vulkan
VK-GL-CTS issue: 326
Affected tests:
dEQP-VK.ssbo.layout.*
Change-Id: I760969e6a572c0f79a6ff2b41721445016a8bba4
Mika Isojärvi [Mon, 14 Nov 2016 20:47:29 +0000 (12:47 -0800)]
Add tests for VK_KHR_incremental_present
VK-GL-CTS issue: 228
Change-Id: Ib295de6e449fce56b1f94f2e80a9de52faa56a11
(cherry picked from commit
5319ab26dd8586121adfcc98bcd9f907a5a21aac)
Pyry Haulos [Wed, 15 Mar 2017 17:24:15 +0000 (10:24 -0700)]
Handle VK_EXT_swapchain_colorspace in swapchain tests
VK_EXT_swapchain_colorspace adds new surface formats. Driver can enumerate
the formats regardless of whether VK_EXT_swapchain_colorspace was enabled,
but using them without enabling the extension is not allowed. Thus we have
two options:
1) Filter out non-core formats to stay within valid usage.
2) Enable VK_EXT_swapchain colorspace if advertised by the driver.
We opt for (2) as it provides basic coverage for the extension as a bonus.
Affects: dEQP-VK.wsi.*.swapchain.*
Components: Vulkan
VK-GL-CTS issue: 237
Change-Id: I5f905e5fb7ceaf83dacca57ef60d65487ff96d5d
(cherry picked from commit
703e4baead3c08331ee7604539d7a68a8b960c84)
Pyry Haulos [Thu, 23 Mar 2017 16:47:05 +0000 (09:47 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I73deeb16880948addabb1d8755ee00084aa346cf
Pyry Haulos [Thu, 16 Mar 2017 21:50:40 +0000 (14:50 -0700)]
Imgtec Waiver for SNORM linear filtering
Due to an error in bit replication of the fixed point SNORM values,
linear filtered negative SNORM values will differ slightly from ideal
precision in the last bit, moving the values towards 0.
This occurs on all members of the PowerVR Rogue family of GPUs
Affected tests are changed to allow for larger error and issue
QualityWarning when inaccurate results are found.
Affects:
dEQP-VK.pipeline.sampler.view_type*format*_snorm*_filter.linear
Components: Vulkan
VK-GL-CTS issue: 229
Change-Id: I59fa0f7acdcaa49fc84f17b22be1cc805da593a2
Pyry Haulos [Thu, 23 Mar 2017 16:28:51 +0000 (09:28 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I3c3914cc9fe22c4815b3261c9b0fbcf1e184316b
Alex Walters [Thu, 23 Mar 2017 11:42:50 +0000 (11:42 +0000)]
Check DynamicIndexing in pipeline.image count tests
The pipeline.image.sampling_type*count_* tests where the count of images
is greater than 1 use an array of images/samplers which requires the use
of shaderSampledImageArrayDynamicIndexing, which the test does not
currently check for.
Adds a check and throws NotSupportedError if the feature is not present.
Affects:
dEQP-VK.pipeline.image.sampling_type*count_*
Components: Vulkan
VK-GL-CTS issue: 296
Change-Id: I7b4244bcf4371e41c2121812362db166dc1d4c16
Iago Toral Quiroga [Tue, 21 Mar 2017 11:34:07 +0000 (12:34 +0100)]
Add missing barrier in synchronization tests
The *read_vertex_input* tests write to a storage
buffer in the vertex stage, which will later
be mapped by the host to read and verify the
results. Add a barrier before attemptig to read
the data from the host.
Components: Vulkan
Vk-GL-CTS issue: 266
Affected tests:
dEQP-VK.synchronization.op.single_queue.semaphore.*read_vertex_input*
Change-Id: Ibda3c54aaa0ba82bdb29422aadcf5df90101411d
Pyry Haulos [Mon, 20 Mar 2017 16:35:30 +0000 (09:35 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I9f1ac0266e8b5f869e70ef3d8eaec9a7481fdef9
Andrey Tuganov [Thu, 2 Mar 2017 20:23:02 +0000 (15:23 -0500)]
Fix invalid SPIR-V in dEQP-VK.sparse_resources
Fixed issue:
SPIR-V code generated in
- vktSparseResourcesShaderIntrinsicsStorage.cpp
- vktSparseResourcesShaderIntrinsicsSampled.cpp
violates non-aggregate type declaration uniqueness rule of SPIR-V
specification.
Affects: dEQP-VK.sparse_resources.shader_intrinsics.*
Components: Vulkan
VK-GL-CTS issue: 230
Change-Id: Id39663a17684923f37924559917af524cf68f6c0
Pyry Haulos [Thu, 16 Mar 2017 20:26:40 +0000 (13:26 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Gary Sweet [Thu, 16 Mar 2017 13:17:39 +0000 (13:17 +0000)]
Add missing flushes for basic draws
Buffers were being mapped and written, but not flushed
before use. This affected the basic draw tests when running
with a non-coherent heap.
Affects:
dEQP-VK.draw.basic_draw.*
Components: Vulkan
VK-GL-CTS issue: 210
Change-Id: Ib0f9b77a3b0cd4488b9dc4cee6ebd6de4840262c
Gary Sweet [Thu, 16 Mar 2017 13:26:53 +0000 (13:26 +0000)]
Add missing flushes for indirect draws
Buffers were being mapped and written, but not flushed
before use. This affected the indirect draw tests when running
with a non-coherent heap.
Affects:
dEQP-VK.draw.indirect_draw.*
Components: Vulkan
VK-GL-CTS issue: 210
Change-Id: Ie8920bea727419a1da22b8e2d9babcca2c6593fe
Ian Elliott [Sun, 15 Jan 2017 22:28:01 +0000 (14:28 -0800)]
Add tests for VK_GOOGLE_display_timing
New tests:
dEQP-VK.wsi.*.display_timing.*
Changed tests:
dEQP-VK.api.info.android.no_unknown_extensions
VK-GL-CTS issue: 227
Change-Id: I50ae75ee0301668e4ad255625f7098387365def8
(cherry picked from commit
4ca1b5ba618a69f9ab748417c9ac5247d182dff4)
Pyry Haulos [Thu, 9 Mar 2017 18:55:20 +0000 (10:55 -0800)]
Fix precision mismatch issues in dEQP-VK.glsl
Changed tests:
dEQP-VK.glsl.functions.*
dEQP-VK.glsl.linkage.*
dEQP-VK.glsl.scoping.*
dEQP-VK.glsl.swizzles.*
Removed tests:
dEQP-VK.glsl.linkage.varying.rules.differing_precision_1
dEQP-VK.glsl.linkage.varying.rules.differing_precision_2
dEQP-VK.glsl.linkage.varying.rules.differing_precision_3
VK-GL-CTS issue: 214
Components: Vulkan
Change-Id: I48c7a5573b485340daa5be9db6aab1fbc70a6fc5
Pyry Haulos [Thu, 9 Mar 2017 21:39:17 +0000 (13:39 -0800)]
Fix validation errors in dEQP-VK.tessellation
This fixes several invalid VkExtent3D::depth values for 2D image
operations as well as couple of interface mismatches.
Changed tests: dEQP-VK.tessellation.*
VK-GL-CTS issue: 222
Components: Vulkan
Change-Id: I3da2de6fdf5df7cb89717e35bade73b43e9d3a7d
Pyry Haulos [Thu, 9 Mar 2017 20:44:57 +0000 (12:44 -0800)]
Fix precision mismatch in dEQP-VK.binding_model
Changed tests:
dEQP-VK.binding_model.shader_access.*vertex*
VK-GL-CTS issue: 212
Components: Vulkan
Change-Id: I34b565329c6261f7a12d19f67451c13537dfd914
Mika Isojärvi [Thu, 9 Mar 2017 20:33:48 +0000 (12:33 -0800)]
Fix depth stencil aspect flag in render pass input tests
Affected tests:
dEQP-VK.renderpass.* -groups depth and stencil tests
VK-GL-CTS issue: 216
Components: Vulkan
Change-Id: Ib84e42d09e5fea9fbe2f1270c5369b14eb9d688b
Pyry Haulos [Thu, 9 Mar 2017 20:51:24 +0000 (12:51 -0800)]
Fix image layout in dEQP-VK.image
Image load and store ops are only supported in VK_IMAGE_LAYOUT_GENERAL.
Changed tests:
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*
VK-GL-CTS issue: 217
Components: Vulkan
Change-Id: I2b9048176ce0e79b3d1db8cb36d384c1b4c4c9d4
Pyry Haulos [Thu, 9 Mar 2017 21:45:30 +0000 (13:45 -0800)]
Fix validation errors in dEQP-VK.geometry
Fixes VkExtent3D::depth value as well as interface precision mismatch
issues.
VK-GL-CTS issue: 224
Components: Vulkan
Change-Id: Ida6f3ae2ba73cab3de22090a32a49e54b7af339c
Pyry Haulos [Thu, 9 Mar 2017 17:46:29 +0000 (09:46 -0800)]
Fix issues in pipeline.timestamp.transfer_tests
This change fixes two issues:
* Buffer overrun in vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer
tests.
* Validation error (srcStageMask must not be 0).
VK-GL-CTS issue: 185
Components: Vulkan
Change-Id: I9679566f08c4a914eb6066bab248abd6d51e0f7e
Pyry Haulos [Wed, 8 Mar 2017 21:05:00 +0000 (13:05 -0800)]
Refactor vktShaderExecutor
ShaderExecutor Vulkan port had several issues:
* Lifetime of ShaderExecutor was designed to extend from TestCase to
TestInstance. This was done in order to allow generating shader sources at
TestCase and later reuse same object to do actual execution when Vulkan
device was available. Result was total lifetime mess and leak of Vulkan
objects beyond TestInstance lifetime.
* Whole UniformSetup system was badly designed mess that provided
functionality for just a few tests.
Following cleanups and fixes have been made:
* ShaderExecutor objects are now expected to be live only when Vulkan
device is available, i.e. only within vkt::TestInstance. Shader source
generation part has been moved into a separate utility.
* UniformSetup mess is removed and replaced with much leaner and
extensible way to supply additional resources. Descriptor set 1 is
reserved for test case specific resources and those can be provided by
supplying custom descriptor layout and descriptor set. Tests using old
UniformSetup system have been adjusted accordingly.
There is still room for additional improvements, such as moving much of
pipeline construction from ShaderExecutor::execute() into constructors,
but these can be done in follow-up CLs.
Affects following test groups:
dEQP-VK.glsl.builtin.*
dEQP-VK.glsl.opaque_type_indexing.
dEQP-VK.texture.explicit_lod.*
VK-GL-CTS issue: 182
Components: Vulkan
Change-Id: Icfc45a36cb4651f39f12608842ef347a55353d84
Pyry Haulos [Mon, 13 Feb 2017 21:11:53 +0000 (13:11 -0800)]
Improve precision handling in texture.explicit_lod
This change improves precision requirement handling in
dEQP-VK.texture.explicit_lod test group by adding separate controls for
format conversion and filtering math.
Changed tests:
dEQP-VK.texture.explicit_lod.*
Components: Vulkan
Change-Id: Id64da1d63d87d02c73c757a3f2d5d50f2fbc19c0
(cherry picked from commit
4269dc0c1e513c550d3d45c16f2760450dfcef5c)
Pyry Haulos [Thu, 9 Mar 2017 23:01:33 +0000 (15:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I14e2b7bbfe3940ace0e6ae9b661f2a56a49edf98
Pyry Haulos [Thu, 9 Mar 2017 23:01:31 +0000 (15:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: Ica55df93dd12ea2c6460ec7c6fbb1383e6d38f4d
Maciej Jesionowski [Wed, 8 Mar 2017 13:15:55 +0000 (14:15 +0100)]
Fix a compilation error on GCC 5.4
Components: Vulkan
Change-Id: I6c6681d16613f18b2a3192368927f6d176f63a64
Maciej Jesionowski [Thu, 2 Mar 2017 11:51:39 +0000 (12:51 +0100)]
Fix a compilation error on MSVC12
There's a problem with uint32_t, so better just use delib defines.
Components: Vulkan
Change-Id: I589ac7f220a7e651ed31910d16c643866314f681
Pyry Haulos [Wed, 1 Mar 2017 15:53:46 +0000 (07:53 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I1a17ff8600abeab32614212bdab2e4646e50bc25
Pyry Haulos [Wed, 1 Mar 2017 15:53:44 +0000 (07:53 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Change-Id: I9eec4dd1fa88a85374eba8d0851b00a28c50b4ac
Pyry Haulos [Thu, 23 Feb 2017 22:11:27 +0000 (14:11 -0800)]
Fix bug in reallocation callback validation
vk::validateAllocationCallbacks() didn't correctly handle a case where
reallocate(NULL, size) returned previously seen pointer value.
VK-GL-CTS issue: 176
Components: Vulkan
Change-Id: I0822f8e4176d20d7bf296cd85f5c5223e189d250
Igor Ostrowski [Mon, 27 Feb 2017 12:47:12 +0000 (13:47 +0100)]
Fix input attachment layout in renderpass tests
Input attachment layout was hardcoded for descriptor set update.
Added input attachment layout getter.
Affects:
dEQP-VK.renderpass.*
Components: Vulkan
VK-GL-CTS issue: 189
Change-Id: I2083c7b0cf4c68072f98d369f6c3089c6eb2b184
Petros Bantolas [Fri, 4 Nov 2016 15:12:52 +0000 (15:12 +0000)]
Test descriptor_update_template, push_descriptor
Extended the existing binding_model tests with 3 new variants,
'with_template', 'with_push_template' and 'with_push'.
The least invasive method to support push descriptor updates without
template was to persist the DescriptorSetUpdateBuilder object in the
test instance classes, so that it can be referenced when building the
command buffer.
Change-Id: I731fa41c5ff99ab1d390d77d7aabb4424e091e35
(cherry picked from commit
7f5ba3914c1d9033dd4f896ef6fcaa22f5c5e038)
Pyry Haulos [Mon, 13 Feb 2017 18:42:12 +0000 (10:42 -0800)]
Update Android CTS Vulkan mustpass
Following commits modify Vulkan CTS 1.0.2 mustpass:
*
fbaba83dbee101b3096ce33f21ae398efee3fa67
*
c09596ed4b8d17f057f77a42475d59c1ac126797
This change simply updates Android version of mustpass to match Khronos
Vulkan CTS 1.0.2 mustpass.
Change-Id: I79e2696ec4c457d11b59e03cf2a73977ab98d8d5
Components: AOSP
Pyry Haulos [Tue, 31 Jan 2017 00:02:32 +0000 (16:02 -0800)]
Update Android CTS Vulkan mustpass to match 1.0.2
This CL updates Android CTS mustpass for Vulkan to match Khronos Vulkan
CTS 1.0.2.0.
Change-Id: Ia2f82b5f6675c67940679eb98f59510f264d62bf
(cherry picked from commit
15f342274521c1be1032e993dbfd4a46b878f337)
Pyry Haulos [Mon, 13 Feb 2017 18:34:37 +0000 (10:34 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: Ida077bae420c265f4a92d78d68b0f1c9b8d1c85c
Iago Toral Quiroga [Fri, 10 Feb 2017 10:35:52 +0000 (11:35 +0100)]
Write gl_PointSize value when it is undefined
gl_PointSize is undefined unless expicitly written to. The only
exception to this rule is the case when
shaderTessellationAndGeometryPointSize is disabled, in which case it
defaults to 1.0 for these stages.
Since we don't have access to the physical device features at shader
compile time, implement two variants of the tessellation evaluation
shader when point mode is enabled, one that writes gl_PointSize and
one that doesn't and decide the one we need at run time based on
whether the feature is enabled or not.
Components: Vulkan
Fixes VK-GL-CTS issue: 159
Affects:
dEQP-VK.tessellation.primitive_discard.*point_mode
Change-Id: Idadbc70a704f00ed601ff65afeb2a3edfbeb3f19
Marcin Kańtoch [Mon, 6 Feb 2017 09:25:56 +0000 (10:25 +0100)]
dEQP-VK.info.*image_format_properties2* VkImageUsageFlags fix
The usage flags loop iterator starts currently with 0, which is not
a valid image usage value. It is reported as an error by Validation
Layers.
The patch contains also a simple fix for iterating over valid sample
count flag bits.
Modified tests:
dEQP-VK.info.image_format_properties2*
dEQP-VK.info.sparse_image_format_properties2*
Components: Vulkan
VK-GL-CTS issue: 133
Change-Id: I0edbdbc389fa3bd9a71ca4d3b7777ede38a7b353
Pyry Haulos [Fri, 3 Feb 2017 21:25:48 +0000 (13:25 -0800)]
Android: Test that mandatory extensions are supported
Change-Id: Id0e44299f1d8441bf1e7ecc91d82d3b06400e7e6
Pyry Haulos [Tue, 17 Jan 2017 23:49:02 +0000 (15:49 -0800)]
Android: Test that no Vulkan layers are enumerated
Change-Id: I43dacf306b468485fc160f175160555b9cf1c86d
Pyry Haulos [Wed, 11 Jan 2017 23:02:19 +0000 (15:02 -0800)]
Android: Check KHX, GOOGLE, and ANDROID extensions
Change-Id: I6ee24e584666e1f2542adf35943a2973c9392ad9
Pyry Haulos [Thu, 9 Feb 2017 17:54:38 +0000 (09:54 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: I32aa09e131335c13262518708fd5970191aad77b
Dominik Witczak [Thu, 17 Nov 2016 12:10:19 +0000 (13:10 +0100)]
Fix memory management, image layout issues in uploadImageSparse()
Fixes an issue where ShaderRenderCaseInstance::uploadSparseImage()
would first configure sparse image bindings and then deallocate
the memory objects, prior to actually sampling the image.
Fixes an issue where the sparse image, after having been filled with
contents, would first be transitioned to SHADER_READ_ONLY_OPTIMAL
layout, and then used in a DS which was expecting it to be in
GENERLA layout.
Finally, the patch addresses a problem, where the function would not
correctly recognize the VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
as reported by the running driver.
The change affects dEQP-VK.glsl.*sparse* tests
VK-GL-CTS issue: 156
Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9
(cherry picked from commit
70fc0800efe725f4f91f4d03b09aa0e567dbb09c)
Slawomir Cygan [Tue, 10 Jan 2017 15:59:29 +0000 (16:59 +0100)]
Do not require unsupported sparse images in image_format_properties test
Affects tests: dEQP-VK.api.info.image_format_properties*
This change removes the requirement for supporting sparse residency images:
- with compressed format
- with non-color format
- with format of pixel size that is not power ot two (for example: RGB).
Additionally do not require 1D sparse residency images (not in spec),
and require 2D/3D residency images basing on the device capabilities.
Spec 28.1. Sparse Resource Features:
"A sparse image created using VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
supports all non-compressed color formats with power-of-two element
size that non-sparse usage supports.
(...)
sparseResidencyImage2D: Support for creating 2D single-sampled VkImage
objects with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
sparseResidencyImage3D: Support for creating 3D VkImage objects with
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
"
Component: Vulkan
VK-GL-CTS Issue: 131
(cherry picked from commit
5534b44a15b530ece4b310e1dd935fb9b0cefeb6)
Change-Id: Ia2481fbcd12a32a6470af26df213a2f930c2e6db
Iago Toral Quiroga [Wed, 1 Feb 2017 09:38:52 +0000 (10:38 +0100)]
Fix dEQP-VK.api.info.get_physical_device_properties2.properties
The test uses memcmp to compare structs that may include padding
bytes. Although the test initializes all bytes prior to calling any
Vulkan APIs, there is no guarantee that drivers won't write to the
padding bytes, for example if they write the properties to a local
variable and then memcpy into the result pointer, which is a valid
implementation.
This patch fixes the problem by reusing the offset table that we
already use in another test to obtain the offsets and sizes for all
struct fields and exclude any padding bytes during comparisons.
Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties
VK-GL-CTS issue: 63
Components: Vulkan
Change-Id: I4417a95d41241523acd13adc739e739da9b0c2ed
Pyry Haulos [Mon, 6 Feb 2017 21:01:07 +0000 (13:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Change-Id: Ie39f778967a81af072e60194987d6e3978afb45e
Igor Ostrowski [Mon, 30 Jan 2017 13:08:45 +0000 (14:08 +0100)]
Fix XCB window dimensions setter
Make sure that dimension setter catched appropriate property notify event.
Components: Framework
VK-GL-CTS issue: 134
Change-Id: I4630175dffea57a54375fe6900df7dd3aa5823d4
Pyry Haulos [Wed, 1 Feb 2017 23:24:52 +0000 (15:24 -0800)]
Fix issues in Vulkan PointCoord test
* Fixed PointCoord calculation to follow spec.
* Made random point size generation code more robust. Existing code
resulted in rnd.getInt() being called with invalid range.
Changed: dEQP-VK.glsl.builtin_var.simple.pointcoord
Components: Vulkan
VK-GL-CTS issue: 68
Change-Id: I34f0c2c2ec5c8d759f22e81a1683c21572887c58
Mika Isojärvi [Wed, 18 Jan 2017 21:41:39 +0000 (13:41 -0800)]
Fix uint precision issue in pipeline barrier tests
Add missing highp qualifier for int types in fragment shaders.
Affected tests
dEQP-VK.memory.pipeline_barrier.host_write_uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.host_write_uniform_texel_buffer.*
dEQP-VK.memory.pipeline_barrier.host_write_storage_buffer.*
dEQP-VK.memory.pipeline_barrier.host_write_storage_texel_buffer.*
dEQP-VK.memory.pipeline_barrier.transfer_dst_uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.transfer_dst_uniform_texel_buffer.*
dEQP-VK.memory.pipeline_barrier.transfer_dst_storage_buffer.*
dEQP-VK.memory.pipeline_barrier.transfer_dst_storage_texel_buffer.*
dEQP-VK.memory.pipeline_barrier.all.*
dEQP-VK.memory.pipeline_barrier.all_device.*
VK-GL-CTS issue: 67
Change-Id: I9c78a1c19a06554dd86bf7dbb3c7bc3a96cb72dc
Pyry Haulos [Wed, 1 Feb 2017 22:46:11 +0000 (14:46 -0800)]
Update SPIR-V tools to ab03b87
This fixes SPIR-V tools build when git is configured to check out
windows-style line endings.
Generated SPIR-V binaries are not affected by this change.
VK-GL-CTS issue: 73
Change-Id: Ic1639a50a059211ad315a8b07f2279b50ed9a133
Pyry Haulos [Thu, 19 Jan 2017 19:43:06 +0000 (11:43 -0800)]
Merge vulkancts/vulkan-cts-1.0.2 into vulkancts/vulkan-cts-1.0.2-extensions
Change-Id: I1c6f35fd8f03e2bd4d72a99b6d062d08703985ff
Pyry Haulos [Thu, 19 Jan 2017 17:10:20 +0000 (09:10 -0800)]
Remove PointCoord test from mustpass
Test doesn't take into account difference between real (unrounded) point
origin and (rounded) texel center when computing PointCoord reference
values.
Vulkan CTS issue: 582
Change-Id: I0ffaf40c1d99247b68d6ee16f2f94df74c832884
Pyry Haulos [Thu, 19 Jan 2017 17:08:02 +0000 (09:08 -0800)]
Remove broken pipeline barrier tests from mustpass
These tests attempt to store a value that doesn't fit in 16-bit uint
into a RelaxedPrecision-qualified uint push constant.
Vulkan CTS issue: 583
Change-Id: I9ae6da8469b8213c2f1d0e5d90b1ada8640bef6e
Pyry Haulos [Tue, 17 Jan 2017 22:25:00 +0000 (14:25 -0800)]
Merge vulkancts/vulkan-cts-1.0.2 into vulkancts/vulkan-cts-1.0.2-extensions
Change-Id: Ic1ed6a7a99ef999c542677136bbf87f7a3085f84
Pyry Haulos [Tue, 17 Jan 2017 22:24:59 +0000 (14:24 -0800)]
Merge vulkancts/vulkan-cts-1.0.1 into vulkancts/vulkan-cts-1.0.2
Change-Id: I0ddead63d83e79809d35df7f3108ade58a13d0e6
Pyry Haulos [Tue, 17 Jan 2017 22:24:57 +0000 (14:24 -0800)]
Merge vulkancts/vulkan-cts-1.0.0 into vulkancts/vulkan-cts-1.0.1
Change-Id: I4742b81f85d9b09efd77b954d432e28fefabf818
Alexander Galazin [Mon, 16 Jan 2017 08:15:59 +0000 (09:15 +0100)]
Update zlib dependency to zlib 1.2.11
Fixes Vulkan CTS issue: #579
Change-Id: Ib0cd05616cbb4759d63bcf15ba8e8f6f374e291d
Pyry Haulos [Fri, 13 Jan 2017 20:20:42 +0000 (12:20 -0800)]
Merge vulkancts/vulkan-cts-1.0.2 into vulkancts/vulkan-cts-1.0.2-extensions
Change-Id: I046575e2c44ec537c1c07581b0100449d9232f61
Maciej Jesionowski [Thu, 12 Jan 2017 12:42:45 +0000 (13:42 +0100)]
Bugfix: Allow UBO sparse allocation larger than maxUniformBufferRange
Modified tests:
- dEQP-VK.sparse_resources.buffer.ubo.*
Fixes #573
Change-Id: I33d2098d5b6b783fa8293c7cb1af7e782b51df77
Pyry Haulos [Thu, 12 Jan 2017 23:27:44 +0000 (15:27 -0800)]
Fix memoryTypeBits validation in memory.requirements.buffer
Memory type bits returned for a subset of all possible usage flags must
be a superset of memory type bits returned for all usage flags case, not
the other way around.
Affects: dEQP-VK.memory.requirements.buffer.*
Vulkan CTS issue: 578
Change-Id: Iff34ffbf571fa7b0bd2d5e769e32d82a4dc9229e
Maciej Jesionowski [Thu, 12 Jan 2017 11:23:44 +0000 (12:23 +0100)]
Bugfix: provide enough VkClearValues in ImageSamplingInstance
Affected tests:
- dEQP-VK.pipeline.image.*
- dEQP-VK.pipeline.image_view.*
Fixes #575
Change-Id: Ie2fbdf9b926c677c54aca4b4cfd6b107be451c7f
Slawomir Cygan [Tue, 10 Jan 2017 15:59:29 +0000 (16:59 +0100)]
Do not require unsupported sparse images in image_format_properties test
Affects tests: dEQP-VK.api.info.image_format_properties*
This change removes the requirement for supporting sparse residency images:
- with compressed format
- with non-color format
- with format of pixel size that is not power ot two (for example: RGB).
Additionally do not require 1D sparse residency images (not in spec),
and require 2D/3D residency images basing on the device capabilities.
Spec 28.1. Sparse Resource Features:
"A sparse image created using VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
supports all non-compressed color formats with power-of-two element
size that non-sparse usage supports.
(...)
sparseResidencyImage2D: Support for creating 2D single-sampled VkImage
objects with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
sparseResidencyImage3D: Support for creating 3D VkImage objects with
VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
"
Fixes bug: gitlab!567
Change-Id: If7d72c4392299e4c449a911140632dcc114fc908
Alexander Galazin [Thu, 12 Jan 2017 11:53:30 +0000 (12:53 +0100)]
Fix VkCmdImageBlit usage in blitting tests
Some tests call VkCmdImageBlit with a 2D destination image and a region
with dstOffset[0].z=1, dstOffset[1].z=0.
The spec says that it should be the opposite.
Affects:
dEQP-VK.api.copy_and_blit.blit_image.simple_tests.mirror_xy_nearest
dEQP-VK.api.copy_and_blit.blit_image.simple_tests.mirror_y_nearest
Components: Vulkan
Fixes Vulkancts issue: #576
Change-Id: Iaa05f3b38cd46c39d313bd044b37535c112b77dd
Pyry Haulos [Tue, 10 Jan 2017 20:21:13 +0000 (12:21 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I03ac764c0248a7df434ff871abded41b1b03823e
Pyry Haulos [Tue, 10 Jan 2017 20:20:15 +0000 (12:20 -0800)]
Update mustpass version to 1.0.2 in README.md
Change-Id: Ia683c10238ede6a712a46d14d936ef0032937e9e
Pyry Haulos [Tue, 10 Jan 2017 20:18:31 +0000 (12:18 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I9149408b579c01cd5d7c16bdcdf408aae6819501
Pyry Haulos [Sun, 8 Jan 2017 22:42:32 +0000 (14:42 -0800)]
Allow unknown KHX extensions
Affects:
dEQP-VK.api.info.instance.extensions
dEQP-VK.api.info.device.extensions
Change-Id: Iece3f83514f5f6e197fd0c1e1cf628f7cfe68bd2
Maciej Jesionowski [Mon, 9 Jan 2017 11:05:32 +0000 (12:05 +0100)]
Remove pooled objects from alloc_callback_fail group
The pooled objects (VkDescriptorSet and VkCommandBuffer) are properly
handled in the alloc_callback_fail_multiple group. The removed cases
were redundant, and also didn't work correctly with pooled objects.
Removed tests:
- dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail.command_buffer_secondary
Change-Id: I212b544096e6e1fd5b98c7985d836e41247107e9
Alexander Galazin [Mon, 9 Jan 2017 14:17:02 +0000 (15:17 +0100)]
Skip anisotropic filtering tests if the feature is not supported.
dEQP-VK.texture.filtering_anisotropy.* tests assume that an
implementation supports anisotropic filtering and should be skipped in
case VkPhysicalDeviceFeatures::samplerAnisotropy is VK_FALSE.
Fixes #570
Change-Id: I0601fe67a0e81b71670dac7ec8b83b4dc35c576c
Pyry Haulos [Fri, 6 Jan 2017 20:44:57 +0000 (12:44 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I71d19d9c1ad5542f7aa047820b48328e4b0f5c52
Pyry Haulos [Fri, 6 Jan 2017 20:44:56 +0000 (12:44 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Change-Id: Ic1b09c684e6535fcaba6e4d7dd407b2fbbe40b6d