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
Pyry Haulos [Wed, 4 Jan 2017 22:30:07 +0000 (14:30 -0800)]
Optimize swapchain OOM tests
Swapchain OOM tests were hitting timeouts on some platforms. This commit
optimizes the tests in two ways:
* VkInstance, VkDevice, and VkSurface are now re-used across all
sub-cases.
* Loop is re-written to avoid re-creating swapchains for parameters
0..N-1 when testing parameter combination N.
Affects: dEQP-VK.wsi.*.swapchain.simulate_oom.*
Bug:
33555898
Change-Id: Ib5e1a4944e4c400a5d430c5a3d20fe0930c6eed0
Lionel Landwerlin [Fri, 23 Dec 2016 17:11:14 +0000 (17:11 +0000)]
Skip unsupported attachment formats in granularity tests
Change-Id: Iffbd79d0ddb3c212f75895c266b3e3ec7d2a01da
Lionel Landwerlin [Fri, 23 Dec 2016 17:37:56 +0000 (17:37 +0000)]
Fix framebuffer number of layers in granularity tests
Change-Id: Idf2f1ee6f6f9ab5996ad5d07a7fed84241c57e9b
Pyry Haulos [Wed, 4 Jan 2017 21:46:48 +0000 (13:46 -0800)]
Reset Android window state when it is released
This avoids leaking window state between tests in WSI tests.
Affects: dEQP-VK.wsi.android.*
Change-Id: I618485fbbc1bb83c86437bb04fbcbfa65b4c04c2
Pyry Haulos [Thu, 5 Jan 2017 17:58:16 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I3f1dee7da1908243688e90bb6e2c577d62b0bae3
Pyry Haulos [Thu, 5 Jan 2017 17:58:15 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Change-Id: I4dc1513b1528b8182cfd75f4ed9184fa8f383e47
Pyry Haulos [Thu, 5 Jan 2017 17:58:14 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Change-Id: I3ace822f33fb20acd6109886458b0d16c1624bd5
Iago Toral Quiroga [Mon, 2 Jan 2017 11:22:29 +0000 (12:22 +0100)]
Fix assert for combined depth/stencil formats
This was using tcu::isCombinedDepthStencilType(format.type) for this,
but this only checks the type and for 24bit depth formats with a
x8 d24 setup it will incorrectly identify them as combined
depth/stencil even though the underlying format is depth-only. Fix
this by testing if the format has depth and stencil components
instead.
Prevents crashes in tests with the following signature (144 tests):
dEQP-VK.texture.shadow.*x8_d24*
Fixes #563
Change-Id: Ie43e140a0461de49c02e0d97eeed38fa8ef24040
Maciej Jesionowski [Thu, 15 Dec 2016 15:45:31 +0000 (16:45 +0100)]
Fix buffer size and alignment issues in api.buffer
- Don't use maxTexelBufferElements, it doesn't apply here
- Remove unused throw/catch blocks (catch block was never reachable)
- Add a case that exercises huge buffer sizes
- Add a check for sparseAddressSpaceSize
Modified tests:
- dEQP-VK.api.buffer.create_buffer_*
Fixes #558
Change-Id: Ia6b46d8c34a4eef4a6136532d0cb626d0b64b560
Maciej Jesionowski [Thu, 5 Jan 2017 10:21:40 +0000 (11:21 +0100)]
Update zlib and libpng dependencies
Fixes #568
Change-Id: I8ee890a2176bf6d42d3dd8b119b7263034127960
Pyry Haulos [Wed, 4 Jan 2017 00:24:51 +0000 (16:24 -0800)]
Add new files to Android.mk
Change-Id: I54a2f3154dfe5f54387c94023b186d309a39058e
Pyry Haulos [Wed, 4 Jan 2017 00:43:21 +0000 (16:43 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I55f0c1c8c5d49a41bfb2977418d70c8e940a5fbf
Pyry Haulos [Wed, 4 Jan 2017 00:42:53 +0000 (16:42 -0800)]
Revert "Add new files to Android.mk"
This reverts commit
4ed5a72717f9dc776f7f63aa21aca2c727524d0f.
Pyry Haulos [Wed, 4 Jan 2017 00:25:12 +0000 (16:25 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: Ib5bbb55a42966027c786eeab1e5fc12defce410f
Pyry Haulos [Wed, 4 Jan 2017 00:24:51 +0000 (16:24 -0800)]
Add new files to Android.mk
Change-Id: Ib396f9504a3b5523314cd2d5ab9375a346dbb219
Pyry Haulos [Wed, 4 Jan 2017 00:20:13 +0000 (16:20 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I0245ac0051e69ab290b13c06deb505115209ee27
Pyry Haulos [Wed, 4 Jan 2017 00:07:06 +0000 (16:07 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Jorg Wagner [Thu, 15 Dec 2016 21:52:06 +0000 (22:52 +0100)]
Skip integer formats that expose a max. sample count of 1
Actually fixes #538
As agreed in the ticket we need to skip integer formats if they
need to be sampled and only expose a max. sample count of 1.
Change-Id: Ia67c8d84cedcae09804e83cfefeb279b329d07b9
Maciej Jesionowski [Wed, 21 Dec 2016 11:20:28 +0000 (12:20 +0100)]
Correct a typo in blit image test case names
Modified test names:
- dEQP-VK.api.copy_and_blit.blit_image.simple_tests.*
Change-Id: I20b09407101eb3e395d10f324e9f402f5c1c4b77
Maciej Jesionowski [Wed, 21 Dec 2016 11:20:28 +0000 (12:20 +0100)]
Correct a typo in blit image test case names
Modified test names:
- dEQP-VK.api.copy_and_blit.blit_image.simple_tests.*
Change-Id: Ia62b9f616466b919f1e92d0a74714586ccc6e313
Maciej Jesionowski [Thu, 8 Dec 2016 10:27:34 +0000 (11:27 +0100)]
Add VK_KHR_maintenance1 to allowed extensions
Change-Id: Idbaa2c42ab40b755ee3615aade8cb57c6638acb9
Maciej Jesionowski [Thu, 24 Nov 2016 13:40:33 +0000 (14:40 +0100)]
VK_KHR_maintenance1: Test vkAllocate* failure behavior
This tests updated behavior of vkAllocateCommandBuffers and
vkAllocateDescriptorSets. When allocating objects in bulk,
if some allocations fail then all objects must be freed and
handles must be set to VK_NULL_HANDLE.
Modified tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary
Issue #532
Change-Id: If03e7cdbec4d13bd0671bab9d6a1edd9107636b5
Pyry Haulos [Thu, 15 Dec 2016 14:42:55 +0000 (06:42 -0800)]
Merge gerrit/vulkan-cts-1.0.2 into gerrit/vulkan-cts-1.0.2-extensions
Change-Id: I867bb85cce066558b07ce6571da95305df08f784