Ian Romanick [Tue, 11 Apr 2017 17:17:48 +0000 (17:17 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev am:
aeef6dd8f5
am:
a4ddab16dd
Change-Id: I18fe6a8ba3ba328513afdf1f5e5d32db6de32373
Ian Romanick [Tue, 11 Apr 2017 17:13:17 +0000 (17:13 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev
am:
aeef6dd8f5
Change-Id: I8300511b30c7bd03885a6cb019970852f7e72693
Treehugger Robot [Tue, 11 Apr 2017 16:56:42 +0000 (16:56 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev
Ian Romanick [Thu, 10 Nov 2016 01:29:01 +0000 (17:29 -0800)]
Try harder to defeat GLSL compiler dead-code optimizations
A number of CTS tests generate shaders like like:
#version 310 es
buffer TargetInterface
{
highp float target;
};
highp vec4 readInputs()
{
highp vec4 retValue = vec4(0.0);
retValue += vec4(float(target));
return retValue;
}
void writeOutputs(in highp vec4 dummyValue)
{
target = float(dummyValue.y);
}
void main()
{
writeOutputs(readInputs());
}
After various common optimizations this becomes:
buffer TargetInterface
{
highp float target;
};
void main()
{
target = target;
}
In the absence of memoryBarrier() or qualifiers on the buffer, there is
no guarantee about the order of writes to the buffer. Since this write
is not guaranteed to be visible either on the GPU or the CPU, we
eliminate it. Since there is no access to target in the shader, we
report GL_REFERENCED_BY_FRAGMENT_SHADER = GL_FALSE. The tests expect
GL_TRUE.
The vectored versions of this test swizzle the value read from the
buffer before writing it back. These writes are not eliminated.
Adding a uniform instead of a literal constant also prevents the reads
and writes of the SSBO from being eliminated.
v2: Ignore the uniform named "zero" in
ResourceListTestCase::verifyResourceList. The alternative was to add
zero to the resource list, but that required making small changes
(mostly removing const) from over a dozen places in the code. This
slightly hacky, but localized, change seemed better.
v3: Various coding standards fixes suggested by Alexander Galazin and
Pyry. Add getDummyZeroUniformName to query name of the zero uniform and
a lot more documentation. Both suggested by Pyry.
The following tests are affected:
- dEQP-GLES31.functional.program_interface_query.buffer_variable.random.6
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block.float
Change-Id: I867ad32476269ac1272c09672be0a6d6fe37e31e
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16114
Google bug:
37228062
Kalle Raita [Fri, 7 Apr 2017 19:42:06 +0000 (19:42 +0000)]
Merge "Allow robustness tests on GLES 3.0"
Kalle Raita [Thu, 30 Mar 2017 17:23:47 +0000 (10:23 -0700)]
Allow robustness tests on GLES 3.0
Allow selected robustness tests run on GLES 3.0 instead of always
requiring 3.1.
Affects: dEQP-EGL.functional.robustness.*
Bug:
36428911
Test: dEQP-EGL.functional.robustness.* on Pixel XL
Change-Id: I78f543dcd667b5121f61150b082fd4a4a9c14b23
Pyry Haulos [Thu, 6 Apr 2017 22:02:17 +0000 (15:02 -0700)]
Merge vulkan-cts-1.0.2 into aosp/master
Contains following fixes that have been made after vulkan-cts-1.0.2.2:
* Fix - uniform buffer incorrectly dereferenced
* Use vkGetInstanceProcAddr(NULL) to load platform funcs
* Imgtec Waiver for texture_gather*cube*depth32f*
* Add VK_KHR_incremental_present to the list of allowed device
extensions
* Use -std=c++03 with GCC and clang
* Fix GCC 6.3 warnings in vulkan-cts-1.0.2
* Improve check_build_sanity.py
* Relax image verification in anisotropic filtering tests
* Respect maxColorAttachments in image tests
* Fix SPIR-V generation in dEQP-VK.spirv_assembly
* Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
* Add missing barrier in ssbo layout tests
This merge doesn't match any Vulkan CTS release tag.
Bug:
36899783
Bug:
36817508
Change-Id: I5dff02835e5296e1c25ba67675c06e2261e5c476
Pyry Haulos [Thu, 6 Apr 2017 22:00:39 +0000 (22:00 +0000)]
Merge "x11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found"
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 [Thu, 6 Apr 2017 16:03:37 +0000 (09:03 -0700)]
Do not re-init GL functions after context reset
SharedContextResetCase was calling initGLFunctions() using a context
belonging to a share group where context reset has occurred.
initGLFunctions() calls glGetError() internally and at that point it
would return GL_CONTEXT_LOST.
Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.vertex
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.fragment
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.vertex_and_fragment
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.compute
Bug:
37077017
Change-Id: I27ae0951565760dee0bcc5040bb02a45c8f568f3
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
Tapani Pälli [Wed, 5 Apr 2017 06:39:17 +0000 (09:39 +0300)]
x11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found
Some tests require GLES1 support and report test failure if support
has not been built. Patch changes build time configure to check GLES1
via pkg-config. If it is found, we turn on GLES1 support so that tests
will run and pass.
Change-Id: I586464c5fb7bffc40355caf57b30438f37ce1f6c
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Alexander Galazin [Wed, 5 Apr 2017 07:30:06 +0000 (09:30 +0200)]
Fix shader bugs in OOB tests
1. Check that the required number of vertex shader storage blocks is supported,
throw NotSupported otherwise.
2. Use an array instead of a vector in local_array tests.
3. Try harder to defeat compiler optimizations on arrays, i.e. initialize it
with different values.
Components: AOSP
Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.*.shader_storage_block.vertex*
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.*.local_array.*
Google bug:
36891454
Change-Id: I2aeb2d454295993126d4048759e5981421d5c0db
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
Pyry Haulos [Sun, 2 Apr 2017 23:21:57 +0000 (23:21 +0000)]
Use new LOD approximation rules for OpenGL ES
am:
0b6dbeb93e
Change-Id: I6b21c0e848086e1d0d37f24a68728adf2858727c
Pyry Haulos [Sun, 2 Apr 2017 23:21:54 +0000 (23:21 +0000)]
Relax LOD computation bounds
am:
a9a793142c
Change-Id: I57b81a54c124694adde363aa5d27d92707ce58e2
Pyry Haulos [Sat, 1 Apr 2017 01:06:32 +0000 (01:06 +0000)]
Merge Vulkan CTS 1.0.2.2 into aosp/master
am:
d4891aeb29
Change-Id: Id94d2f40cda6be6d83d7d5f4d920e9294f5b40c4
Pyry Haulos [Tue, 28 Mar 2017 20:17:39 +0000 (13:17 -0700)]
Use new LOD approximation rules for OpenGL ES
This change updates OpenGL ES texture LOD approximation bounds to match
Vulkan. Since rules are now same for both APIs the LodPrecision
parameter introduced in
9f0ff9f49ae3359d9b2e50f5d720fc77460d0f4f is
removed.
Affects:
dEQP-GLES2.texture.*
dEQP-GLES3.texture.*
dEQP-GLES31.texture.*
Khronos spec bug: 16179
Google bug:
28200359
Components: AOSP, Vulkan, Framework
Change-Id: I55ff2e6296c7947af7ee5b7cf915d24c260ae374
Pyry Haulos [Tue, 28 Mar 2017 20:10:53 +0000 (13:10 -0700)]
Relax LOD computation bounds
This change updates LOD approximation rules to match proposed spec
language in Vulkan texture filtering and mipmap tests.
This is partial cherry-pick of
9f0ff9f49ae3359d9b2e50f5d720fc77460d0f4f.
Mustpass changes are not included.
Affects: dEQP-VK.texture.*
Change-Id: Ic786bc733913a76d27f0cba31f3a61a10f8144fc
Pyry Haulos [Fri, 31 Mar 2017 21:12:43 +0000 (14:12 -0700)]
Merge Vulkan CTS 1.0.2.2 into aosp/master
Bug:
36780905
New tests:
* Add tests for VK_KHR_incremental_present
* Add tests for VK_GOOGLE_display_timing
* Handle VK_EXT_swapchain_colorspace in swapchain tests
Fixes:
* Imgtec Waiver for SNORM linear filtering
* Check DynamicIndexing in pipeline.image count tests
* Add missing barrier in synchronization tests
* Fix invalid SPIR-V in dEQP-VK.sparse_resources
* Add missing flushes for basic draws
* Add missing flushes for indirect draws
* Fix precision mismatch issues in dEQP-VK.glsl
* Fix validation errors in dEQP-VK.tessellation
* Fix precision mismatch in dEQP-VK.binding_model
* Fix depth stencil aspect flag in render pass input tests
* Fix image layout in dEQP-VK.image
* Fix validation errors in dEQP-VK.geometry
* Fix issues in pipeline.timestamp.transfer_tests
* Refactor vktShaderExecutor
* Improve precision handling in texture.explicit_lod
* Fix a compilation error on GCC 5.4
* Fix a compilation error on MSVC12
* Fix bug in reallocation callback validation
* Fix input attachment layout in renderpass tests
Change-Id: I76a768de047020d4624afa0aee2232e9e022f8d2
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
Kalle Raita [Thu, 30 Mar 2017 21:09:15 +0000 (21:09 +0000)]
Merge "Update runtime hints for master and Nougat"
am:
c29c5a7b35
Change-Id: I84161628d6b7ccc47fc2a12074a1f26f2814a3ff
Pyry Haulos [Thu, 30 Mar 2017 21:09:05 +0000 (21:09 +0000)]
Revert "Allow old behavior in image format property tests"
am:
6d962c2a6f
Change-Id: I41419ba8efe22223a4d16e79198e10e07dfad084
Treehugger Robot [Thu, 30 Mar 2017 21:07:26 +0000 (21:07 +0000)]
Merge "Update runtime hints for master and Nougat"
Pyry Haulos [Thu, 30 Mar 2017 19:11:43 +0000 (12:11 -0700)]
Revert "Allow old behavior in image format property tests"
This reverts commit
a25304112b0a3dba4082a1e7904b4f8149b2b9c8.
Kalle Raita [Thu, 30 Mar 2017 18:15:44 +0000 (11:15 -0700)]
Update runtime hints for master and Nougat
Update runtime hints used by the Android CTS to reflect measured times
for recent automated runs.
Test: run build_android_mustpass.py and diff check
Bug:
36776549
Change-Id: I77b0e95666ca6e220b2a618280fcece0b1c3a858
James Glanville [Fri, 24 Mar 2017 16:26:25 +0000 (16:26 +0000)]
Fix tests in dEQP-EGL.functional.robustness*
am:
fd0b6eda1c
Change-Id: I433792d201c95baddda44d1937288a05faf5f69d
Pyry Haulos [Fri, 24 Mar 2017 16:26:13 +0000 (16:26 +0000)]
Fix GL entry point loading in robustness tests
am:
ee81fc2044
Change-Id: I28f7222d49ec629dd05984f58d034b178b52864d
James Glanville [Wed, 22 Mar 2017 14:02:48 +0000 (14:02 +0000)]
Fix tests in dEQP-EGL.functional.robustness*
The shader storage buffer used for compute was not
correctly bound. This caused glDispatchCompute()
to return an error instead of submitting work, so
the context would never reset.
Affects:
dEQP-EGL.functional.robustness*compute
Components: AOSP
Google bug:
36565815
Change-Id: I4fb807b49ab806c7de968b54b8e5fd5abfd87fcd
(cherry picked from commit
a7a065346ffe38a895c461b638f2c6377cbd7bcf)
Pyry Haulos [Thu, 23 Mar 2017 21:00:44 +0000 (14:00 -0700)]
Fix GL entry point loading in robustness tests
Tests were not loading robustness-related entry points if implementation
supported only GL_EXT_robustness and thus had EXT-suffixed entry points.
Bug:
36564789
Bug:
34887315
Change-Id: I70e610dd3083e7c09050e24ef829c71f950d82a1
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
Brian Anderson [Mon, 20 Mar 2017 23:53:54 +0000 (23:53 +0000)]
Remove retire event from eglGetFrameTimestamps
am:
1c43c47725
Change-Id: Ib41e15d994f2675815ed3d21b711ce817e46c9c8
Brian Anderson [Fri, 17 Mar 2017 23:18:11 +0000 (16:18 -0700)]
Remove retire event from eglGetFrameTimestamps
This will be removed from the API and transparently
translated to the present event instead.
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: If33653efcaaca8a701008ccb0e6c9450e2c0e9dc
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 [Fri, 17 Mar 2017 12:26:54 +0000 (12:26 +0000)]
Fix warning introduced in
2c9e3ec9 am:
521361d83d am:
19bf995047
am:
c4c0f6d489
Change-Id: I35d4537a215f067ca3d0a6547d867980cd312c7c
Pyry Haulos [Fri, 17 Mar 2017 12:13:38 +0000 (12:13 +0000)]
Fix warning introduced in
2c9e3ec9 am:
521361d83d
am:
19bf995047
Change-Id: I15737bc9d84ca0c75026de084d77dbfe833d6539
Pyry Haulos [Fri, 17 Mar 2017 12:09:41 +0000 (12:09 +0000)]
Fix warning introduced in
2c9e3ec9
am:
521361d83d
Change-Id: I82a9917cb875a166583a41e3d1bb7702ae2d3db8
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
Pyry Haulos [Wed, 15 Mar 2017 19:23:06 +0000 (12:23 -0700)]
Fix warning introduced in
2c9e3ec9
Change-Id: I42bef21b2cc7274f107e5455dea1e382d8a419f4
(cherry picked from commit
d8b452a7533c195b1328918bb696a819542ff044)
Pyry Haulos [Wed, 15 Mar 2017 20:50:33 +0000 (20:50 +0000)]
Fix warning introduced in
2c9e3ec9
am:
d8b452a753
Change-Id: I384874c7a404f9cd777f5787429d592ecef3d68a
Pyry Haulos [Wed, 15 Mar 2017 19:23:06 +0000 (12:23 -0700)]
Fix warning introduced in
2c9e3ec9
Change-Id: I42bef21b2cc7274f107e5455dea1e382d8a419f4
Alexander Galazin [Wed, 15 Mar 2017 18:49:54 +0000 (18:49 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev am:
0532365740 am:
468843cf08
am:
085f13d8da
Change-Id: I4ec0b85479b8ba62bd53d58f6de8fbb823f7c547
Pyry Haulos [Wed, 15 Mar 2017 18:44:44 +0000 (18:44 +0000)]
Fix warnings in new EGL tests
am:
de0c0ce818
Change-Id: I891ab8168781999b4d22c4bd7755d54680fbd7c9
Alexander Galazin [Wed, 15 Mar 2017 18:40:38 +0000 (18:40 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev am:
0532365740
am:
468843cf08
Change-Id: I9122ba56c736bdbb628dff8b5b8cc28c9979801f
Alexander Galazin [Wed, 15 Mar 2017 18:35:35 +0000 (18:35 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev
am:
0532365740
Change-Id: I12be73b76f9ae43955fbca0071f36b897e82f0d9
Treehugger Robot [Wed, 15 Mar 2017 18:30:21 +0000 (18:30 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev
Pyry Haulos [Wed, 15 Mar 2017 17:06:30 +0000 (10:06 -0700)]
Fix warnings in new EGL tests
Change-Id: I6d87c0bf5a61dcbb0f292dd7efa6fcb101b7442d
Alexander Galazin [Wed, 15 Mar 2017 15:37:27 +0000 (15:37 +0000)]
Use glReadnPixels only if KHR_robustness is supported am:
d99ba132d9 am:
d01980d03d
am:
19b4a4e7ac
Change-Id: I36d68d2fdfe1ee677d26994b2ff95fa8b29b4c0b
Alexander Galazin [Wed, 15 Mar 2017 15:27:25 +0000 (15:27 +0000)]
Use glReadnPixels only if KHR_robustness is supported am:
d99ba132d9
am:
d01980d03d
Change-Id: If10695499f41c716416cb4277170529a1f325596
Alexander Galazin [Wed, 15 Mar 2017 15:22:52 +0000 (15:22 +0000)]
Use glReadnPixels only if KHR_robustness is supported
am:
d99ba132d9
Change-Id: Icd032ba51a9c2c6141b21083b300e8709ecd7b45
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)
Kenneth Graunke [Mon, 13 Mar 2017 20:07:38 +0000 (20:07 +0000)]
Merge "Fix stencil bits when creating reference image in depth stencil tests"
am:
1f9e724a41
Change-Id: I9422abe161e2a8817757c205b6ad22a4587f7425
Treehugger Robot [Mon, 13 Mar 2017 19:56:27 +0000 (19:56 +0000)]
Merge "Fix stencil bits when creating reference image in depth stencil tests"
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
Kenneth Graunke [Sat, 11 Mar 2017 17:26:19 +0000 (09:26 -0800)]
Fix stencil bits when creating reference image in depth stencil tests
renderReference expects the number of stencil bits, but we were passing
the number of depth bits.
Affects:
- dEQP-GLES2.functional.fragment_ops.depth_stencil.*
- dEQP-GLES3.functional.fragment_ops.depth_stencil.*
Patch authored by Iago Toral. See also:
https://bugs.freedesktop.org/show_bug.cgi?id=94455
Change-Id: Id20a4a976c11d5dbe099e0acacc2f7c38dddeb17
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
Alexander Galazin [Mon, 6 Mar 2017 18:44:38 +0000 (19:44 +0100)]
Further relax line verification in primitive bbox tests
The original relaxation patch
ba45591407d0207e8ba0634ea5636fd721ed781f
allowed lines to be 1 pixel thinner or thicker compared
to the expected width. Unfortunately it missed the case
of a line with the width of 1 pixel that has extra verification
in the framework. This change covers this gap.
Google bug:
35987764
Change-Id: I193d76ae13738702c9d7361d1957f15ea7600c4f
Sunny Sun [Fri, 10 Mar 2017 18:25:42 +0000 (18:25 +0000)]
Fix typo in dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
am:
e05b3a9c94
Change-Id: I1f42053fc4ea360b21f0abb13648e3b4dad3b601
Alexander Galazin [Thu, 23 Feb 2017 12:01:18 +0000 (13:01 +0100)]
Use glReadnPixels only if KHR_robustness is supported
glReadnPixels is introduced in KHR_robustness/GLES 3.2.
Use of this function in GLES 3.1 tests will result in segfault
on implementations that don't support KHR_robustness.
Components: AOSP, Framework
Affects: dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_format_mismatch
VK-GL-CTS issue: 166
Google bug:
36122027
Change-Id: Idbe8734f7d82882ea99c75a8b74d693ac6dd831f
(cherry picked from commit
219019495770c221e92f43df3e76a954c613210d)
Sunny Sun [Fri, 10 Mar 2017 06:46:23 +0000 (14:46 +0800)]
Fix typo in dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
Change-Id: I1432dbff1db24b0f1dd2c9a297822b4fbdb1aa76
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
Brian Anderson [Wed, 8 Mar 2017 23:54:32 +0000 (23:54 +0000)]
Fix flakiness of compositeDeadline check of eglGetFrameTimestsmps
am:
40fd86f16f
Change-Id: I35b0be79672d223b67d1d4c45d08296656d10995
Brian Anderson [Tue, 7 Mar 2017 00:34:03 +0000 (16:34 -0800)]
Fix flakiness of compositeDeadline check of eglGetFrameTimestsmps
maxDeadline already has some slack built into the check.
This ensures proper slack for the mindDeadline too.
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
John Richardson [Mon, 6 Mar 2017 20:32:50 +0000 (20:32 +0000)]
Merge "Modify EGL robustness tests to use VBOs"
am:
c9dcf19f73
Change-Id: I1714d2246abf3567f64c5228051bd02febbc9153
Treehugger Robot [Mon, 6 Mar 2017 19:54:49 +0000 (19:54 +0000)]
Merge "Modify EGL robustness tests to use VBOs"
John Richardson [Fri, 3 Mar 2017 12:01:08 +0000 (12:01 +0000)]
Modify EGL robustness tests to use VBOs
Remove use of client-side vertex arrays and use buffer objects instead.
Delete buffers on teardown and in destructor.
Move test description logs to start log file.
Affected tests:
- dEQP-EGL.functional.robustness.reset_context.*
Change-Id: I9432258f30d6c7e02362c0b2f6c36fc3694bd72d
Pyry Haulos [Fri, 3 Mar 2017 23:46:49 +0000 (23:46 +0000)]
Fix "null" ID in sRGB decode tests
am:
ab0a5da69e
Change-Id: If565564c9d688b98251e22d99393366e4324510b
Pyry Haulos [Fri, 3 Mar 2017 16:44:08 +0000 (08:44 -0800)]
Fix "null" ID in sRGB decode tests
Use 0 as "null" GL object ID as -1 is potentially valid ID.
Change-Id: I95f9f0c300d5b6e95c0c7c81e29fd28ac9ca3b82
Mark Adams [Thu, 2 Mar 2017 19:18:04 +0000 (19:18 +0000)]
Modify single_tessellation_stage to check for GL_NV_gpu_shader5
am:
2c74c73891
Change-Id: I8403a6326362debb827a2d1bcac73d0c15e26796
Mark Adams [Thu, 2 Mar 2017 15:19:49 +0000 (10:19 -0500)]
Modify single_tessellation_stage to check for GL_NV_gpu_shader5
That extension permits the use of a tessellation control shader
without a tessellation evaluation shader. Affected tests:
dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage
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