Alexander Galazin [Thu, 11 Jan 2018 17:13:22 +0000 (18:13 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I95cda6e257642011069b0f6a85f138a4c2cd2e7c
Alexander Galazin [Thu, 11 Jan 2018 14:50:08 +0000 (15:50 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I191f96b23d496c05d52f24b759952fd091885c21
Alexander Galazin [Thu, 11 Jan 2018 12:40:43 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: Iff4b07d342db175706efd91f3197b93cb51b520d
Alexander Galazin [Thu, 11 Jan 2018 12:40:39 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I918575ed59c764d988fb98b718745605c5285b06
Alexander Galazin [Thu, 11 Jan 2018 09:09:54 +0000 (10:09 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I89462b96db4a611bd2e5fc6727b42b3d6c6d7d5c
Chris Forbes [Wed, 10 Jan 2018 19:42:41 +0000 (11:42 -0800)]
Build prebuilts for HLSL shaders
Previously these prebuilts would be missing, causing all the HLSL tests
to fail when run via the Android CTS integration which relies on them.
VK-GL-CTS Issue: 939
Change-Id: Ib69f884818ea24692222cc74d8b69b0e0bcb465d
Components: Vulkan
Affects: dEQP-VK.*hlsl*
Ari Suonpaa [Wed, 29 Nov 2017 05:25:08 +0000 (07:25 +0200)]
Add compressed BC format support for TCU.
Added support for BC1-7 formats into TCU and extended Vulkan
compressed texture test to include these new formats.
Affects: dEQP-VK.texture.compressed.bc*
Components: Vulkan
VK-GL-CTS issue: 787
Change-Id: Ice0e6472987984e26c3cb8a5efd733944de870a9
Piers Daniell [Thu, 30 Nov 2017 21:40:00 +0000 (14:40 -0700)]
Skip allocation subtests that allocate too much VA
For 32-bit builds of CTS we can't allocate more host visible
memory than there is virtual address space for the process
since the allocation will fail and cause a false negative
result.
This CL skips over host visible allocations that would add
up to more than 1.5GB of virtual address space. This can
happen on platforms that expose very large heaps that
support memory types that include host visible memory.
The implementation can't cap the available memory size
since the heap can support allocations of memory other
than host visible and it doesn't want to restrict those
that don't consume CPU virtual address space. Its up
to CTS to limit how much virtual address space it
chooses to allocate.
Affects:
dEQP-VK.memory.allocation.basic.percent_1.*.count_12
Components: Vulkan
VK-GL-CTS issue: 859
Change-Id: I321f5cad567245571722f53397df26e23a4cee97
Marcin Rogucki [Wed, 13 Dec 2017 14:07:32 +0000 (15:07 +0100)]
Fix for #895 - physical_device_groups testing
For 1.1 version instances we do not require physical devices groups extension to be supported. Instead on 1.1 instances we just assume it's now a part of core implementation.
Components: Vulkan
VK-GL-CTS issue: 895
Affects: All tests using createInstanceWithExtension function
Change-Id: Ib11999498c28156e1e5d0c5e9025cb6ca4ba75a0
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads
Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements
Affects: dEQP-VK.texture.*
Components: Vulkan
VK-GL-CTS issue: 812
Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a
(cherry picked from commit
50c0544ec8c2e99158bf8a375eacfc9baf364a91)
Piotr Byszewski [Wed, 27 Sep 2017 09:29:27 +0000 (11:29 +0200)]
Test OES_texture_3D
Test functions added to ES2 by GL_OES_texture_3D.
Components: OpenGL
VK-GL-CTS issue: 8, 139
Affects:
KHR-GLES2.texture_3d.*
Change-Id: I652cfc9dc4cfb02cf653f557f7fdd0219e5b90ac
Boris Zanin [Tue, 9 Jan 2018 14:18:11 +0000 (15:18 +0100)]
Fix Windows build
UINT64_MAX is undefined under Windows. Use standard workaround.
Affects:
dEQP-VK.synchronization.basic.semaphore.chain
Components: Vulkan
Vk-GL-CTS issue: 822
Change-Id: Ib65d6770dd92cc29c89b66934e147a3ef319efeb
Slawomir Cygan [Mon, 31 Jul 2017 16:51:55 +0000 (18:51 +0200)]
Add tests for VK_EXT_sampler_filter_minmax
This adds testing coverage for VK_EXT_sampler_filter_minmax extension,
that extends sampler by adding MIN/MAX/AVERAGE reduction filters.
Framework changes:
Add support for reduction modes in tcu: Sampler and TexLookupVerifier
Vulkan changes:
Add support for depth and depth/stencil images,
non-trivial component mappings (including ZERO and ONE swizzlers)
dEQP-VK.pipeline.sampler tests.
If filterMinmaxImageComponentMapping is enabled, check
required VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT
flag in dEQP-VK.api.* tests.
Affects:
dEQP-VK.api.info.format_properties.*
New tests:
dEQP-VK.pipeline.sampler.view_type.*.format.(any color format).min_reduce.*
dEQP-VK.pipeline.sampler.view_type.*.format.(any color format).mag_reduce.*
dEQP-VK.pipeline.sampler.view_type.*.format.(any depth format)
Components: Framework, Vulkan
VK-GL-CTS issue: 627
Change-Id: Icd4be2517a0dcc91b32444dd805010c804c4c3fd
Piotr Byszewski [Mon, 20 Nov 2017 07:53:56 +0000 (08:53 +0100)]
Test packed pixels
GTFTestPackedPixels tests were ported to glcts. Tests work
on both ES and core GL. All preprocessor generated code was
replaced with templates or proper conditions.
Internal format loop was extracted outside of the tests.
Found TEXTURE_3D issue was corrected.
Components: OpenGL
VK-GL-CTS issue: 816
Affects:
KHR-GLES3.packed_pixels.*
KHR-GL32.packed_pixels.*
Change-Id: I9621e548f7fb7c3a23cfa64ec3ac72d04e0a46b7
Alexander Galazin [Thu, 7 Dec 2017 11:27:21 +0000 (12:27 +0100)]
Vulkan test list without waivers
Adds new test list - vk-default-no-waivers.txt which is the same as
the regular mustpass (vk-default.txt) but without exclusions for
waivers.
Component: Vulkan
Change-Id: I7127255bf975ee02ede284a6217b82baa3af2414
Oivind Boge [Tue, 19 Dec 2017 10:06:16 +0000 (11:06 +0100)]
Fixed tests issue where vertex shader was misssing gl_PointSize
Affects:
dEQP-VK.protected_memory.ssbo.*
Components: Vulkan
VK-GL-CTS issue:: 915
Change-Id: Ia7cc2b9a6b1593ca15f585a9dc052cb2528f9ee3
Chris Forbes [Fri, 5 Jan 2018 18:54:28 +0000 (10:54 -0800)]
Merge remote-tracking branch 'aosp/master' into deqp-dev
Change-Id: I28aea0779a4f9627f3a5b7a0e24832db208dfcb7
Xin Li [Thu, 4 Jan 2018 21:57:05 +0000 (13:57 -0800)]
Merge remote-tracking branch oreo-mr1-cts-dev into
Test: presubmit
Bug:
69859815
Change-Id: I47e94db994e07a7b159d840d1a2283bf072eb09f
Alexander Galazin [Wed, 16 Aug 2017 09:36:01 +0000 (11:36 +0200)]
Run Draw*BaseVertex if EXT_draw_elements_base_vertex is present
Draw*BaseVertex methods are enabled if
the EXT_draw_elements_base_vertex extension is present
Follow-up on
1b1ea05b
Components: AOSP
Bug:
70716357
Test: run on google devices
Affects: dEQP-GLES31.functional.draw_base_vertex.*
Change-Id: If8a4860a956c771ec5ea3341e2227f437b12a286
(cherry picked from commit
079ca561114713d31e05c4124b8daeef764cf9b8)
Merged-In:
079ca561114713d31e05c4124b8daeef764cf9b8
Alexander Galazin [Wed, 16 Aug 2017 09:36:01 +0000 (11:36 +0200)]
Report tests using Draw*BaseVertex as NotSupported
Draw*BaseVertex methods were added in GLES 3.2.
Report tests using these methods as NotSupported if
GLES 3.1 context is returned.
Components: AOSP
Affects: dEQP-GLES31.functional.draw_base_vertex.*
Bug:
70716326
Test: run on google devices
Change-Id: I87c918d5f66a0a5b547f8e625c662203a7f85048
(cherry picked from commit
1b1ea05b4e8d6e9dbb07187b0af6bc12c315fb4e)
Merged-In:
1b1ea05b4e8d6e9dbb07187b0af6bc12c315fb4e
David Sodman [Thu, 18 May 2017 16:30:17 +0000 (09:30 -0700)]
Remove dEQP-GLES31.*vertex_array.*_invalid_map tests
Tests made assumptions about GL error returned from glDrawElements*
functions when passed a mapped buffer object, but, that error is not
supported by the specification.
Affects: dEQP-GLES31.*vertex_array.*
Components: AOSP
Bug:
37942569
Bug:
70716290
Test: run on google devices
Change-Id: Ic066dfbe717ff1e7741bec8ee870b09b99362dc7
(cherry picked from commit
428a2256159883c651a409c4e0cbe031953f4c4e)
Merged-In:
428a2256159883c651a409c4e0cbe031953f4c4e
Treehugger Robot [Thu, 21 Dec 2017 18:52:44 +0000 (18:52 +0000)]
Merge "Switch to libc++."
Alexander Galazin [Thu, 21 Dec 2017 10:59:19 +0000 (11:59 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I23fd4e87db24b61dbd7e8c72662e2b4c3b903e54
Alexander Galazin [Thu, 21 Dec 2017 10:59:08 +0000 (11:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: Ib861df4a7ab6077005529847787c62c778c9d5ce
Alexander Galazin [Thu, 21 Dec 2017 09:27:31 +0000 (10:27 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I54dd3fa2721062d5c1aff86ab1df315061f8914b
Dan Albert [Wed, 20 Dec 2017 23:13:57 +0000 (15:13 -0800)]
Switch to libc++.
gnustl is being removed.
Bug: None
Test: make checkbuild
Change-Id: If41a886c8dcf2abc5aa4e30de4bce58c45cd6387
Andres Gomez [Wed, 1 Nov 2017 15:25:39 +0000 (17:25 +0200)]
Add Travis CI support
Provides optional integration with Travis CI for the GitHub's clone.
Change-Id: Ibd9158dbce51d93458ba59180e01983f3451917f
Chris Forbes [Tue, 19 Dec 2017 19:15:37 +0000 (11:15 -0800)]
Fix mustpass generation
In
303f5900b4 we started emitting this element, but the generator was
slightly bogus.
Test: build mustpass
Change-Id: I2cf36637ba3264e1c254407d8f49f8c96b9d0cac
Jari Komppa [Thu, 30 Nov 2017 09:15:54 +0000 (11:15 +0200)]
Added test to stress semaphore chains
Added a test that creates a chain of 32k semaphores.
Affects:
dEQP-VK.synchronization.basic.semaphore.chain
Components: Vulkan
Vk-GL-CTS issue: 822
Change-Id: I69322e30d4087081b84bf55903e4ccaaf3fe5193
Graeme Leese [Thu, 14 Dec 2017 13:53:45 +0000 (13:53 +0000)]
Also set gl_PointSize in subgroup quad tests
Affects: dEQP-VK.subgroups.quad.*vertex_framebuffer
Components: Vulkan
VK-GL-CTS issue: 872
Change-Id: Ie73fb744737e079d42792f6c974534e57ae006ef
Paavo Pessi [Wed, 13 Dec 2017 07:51:40 +0000 (09:51 +0200)]
Fix stageMask (0x1) usage in various tests
Pipeline barriers using PIPELINE_STAGE_TOP_OF_PIPE_BIT with nonzero
access mask were modified to use proper pipeline stage flags.
Affects:
dEQP-VK.memory.binding.*
dEQP-VK.pipeline.stencil.*
dEQP-VK.pipeline.blend.*
dEQP-VK.pipeline.depth.*
dEQP-VK.pipeline.image.*
dEQP-VK.pipeline.sampler.*
dEQP-VK.pipeline.image_view.*
dEQP-VK.pipeline.push_constant.*
dEQP-VK.pipeline.multisample.*
dEQP-VK.pipeline.vertex_input.*
dEQP-VK.pipeline.input_assembly.*
dEQP-VK.pipeline.cache.*
dEQP-VK.compute.basic.ssbo_cmd_barrier_single
dEQP-VK.compute.basic.ssbo_cmd_barrier_multiple
dEQP-VK.compute.basic.copy_image_to_ssbo_small
dEQP-VK.compute.basic.copy_image_to_ssbo_large
dEQP-VK.geometry.basic.output_vary_by_texture
dEQP-VK.geometry.basic.output_vary_by_texture_instancing
Components: Vulkan
VK-GL-CTS issue: 806
Change-Id: I99ba8d4818475e096f62121beb247646bc546a9a
Alex Walters [Wed, 13 Dec 2017 15:47:23 +0000 (15:47 +0000)]
Invalid handle in create_display_plane_surface
This test attempts to create a display plane surface but incorrectly
fills in the VkDisplaySurfaceCreateInfo with an index into dEQP's array
of display modes instead of the VkDisplayModeKHR handle itself.
The app is required to specify a valid handle.
An invalid handle results in undefined behaviour.
Affects:
dEQP-VK.wsi.display.create_display_plane_surface
Components: Vulkan
VK-GL-CTS issue: 906
Change-Id: I9fbbd40926e26bf82ed11dc1b5e807922cbc4e73
Jari Komppa [Tue, 12 Dec 2017 12:48:39 +0000 (14:48 +0200)]
Added two-step variants of surface clear tests
Some platforms have had issues with the validation layer test which
first clears the first layer of a depth-stencil surface and immediately
afterwards clears all the layers with VK_REMAINING_ARRAY_LAYERS. This
change adds tests that do the same for all the depth-stencil formats, as
well as all the color formats where VK_REMAINING_ARRAY_LAYERS parameter
makes sense.
Affects:
dEQP-VK.api.image_clearing.core.clear_color_image.1d.remaining_array_layers_twostep.*
dEQP-VK.api.image_clearing.core.clear_color_image.2d.remaining_array_layers_twostep.*
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image.remaining_array_layers_twostep.*
dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_image.1d.remaining_array_layers_twostep.*
dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_image.2d.remaining_array_layers_twostep.*
dEQP-VK.api.image_clearing.dedicated_allocation.clear_depth_stencil_image.remaining_array_layers_twostep.*
Components: Vulkan
VK-GL-CTS issue: 835
Change-Id: I2666ddf4074f1c427124991bbfd1f9c21f8cab5e
Julien Desprez [Tue, 19 Dec 2017 06:24:17 +0000 (06:24 +0000)]
Add suite component to DEQP test module
Test: build
Bug:
65303193
Change-Id: I5102a2c0d7b4e49eafeaddea344208325ca7f300
Chris Forbes [Mon, 18 Dec 2017 18:58:37 +0000 (10:58 -0800)]
Merge remote-tracking branch 'aosp/master' into deqp-dev
Change-Id: I4d373d9415e648dce80dc7c6112df5743a34cb54
Chris Forbes [Sat, 16 Dec 2017 00:41:49 +0000 (00:41 +0000)]
Merge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
am:
aa801278e8
Change-Id: I5818c937676ad5c4c79814be1c39c8c264949977
Chris Forbes [Sat, 16 Dec 2017 00:38:19 +0000 (00:38 +0000)]
Merge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
am:
aa801278e8
Change-Id: If513bb7ec4ab4b80695291633dc4f7990c69f28b
Treehugger Robot [Sat, 16 Dec 2017 00:34:23 +0000 (00:34 +0000)]
Merge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
Daniel Koch [Fri, 15 Dec 2017 15:20:07 +0000 (10:20 -0500)]
Add missing JNIEXPORT and JNICALL to create*CTSActivity JNI calls
Mimics what was done in
1e7c5746fb3d02262bf5f29b90bb4d2eb9d6ded4
VK-GL-CTS Issue: 914
Component: Framework
Affects: GL and ES CTS test runners on Android.
Change-Id: Ia58a8aa890e642ad08b8ee6dbed9dec4f69d68d3
Daniel Koch [Fri, 15 Dec 2017 14:01:26 +0000 (09:01 -0500)]
Use GIT_FOUND instead of Git_FOUND variable
Git_FOUND seems to have been added in CMake 3.5.x
whereas GIT_FOUND was supported much earlier.
Without this change versions of CMake < 3.5.x end up with
'dEQP Core uknown (0xcafebabe)' output instead of the
correct GCID being emedded and thus they cannot be valid
for submissions.
VK-GL-CTS Issue: 911
Component: Framework
Change-Id: I8f459b9442e4b23db4872e380de97609893db455
Alexander Galazin [Fri, 15 Dec 2017 12:37:08 +0000 (13:37 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I581ded28e240a23b4d2aebd32a3ff03bb3a0d40c
Alexander Galazin [Fri, 15 Dec 2017 10:57:48 +0000 (11:57 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I60447500234c2e7230f1ccf3e9cecc28acf9dd7f
Noah Fredriks [Thu, 14 Dec 2017 19:48:48 +0000 (14:48 -0500)]
Fix Invalid VkImageSubresourceRange
Pipeline image barrier was using the arraySize of the wrong image.
Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.*
Components: Vulkan
VK-GL-CTS Issue: 910
Change-Id: I021bdd0ba5eff9e894f21186b3d85bb2f2c99f16
Alexander Galazin [Thu, 14 Dec 2017 15:37:34 +0000 (16:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I55a35ef1ef4db8f2605e666931fbf791716794e5
Ari Suonpaa [Fri, 13 Oct 2017 08:18:59 +0000 (11:18 +0300)]
Add test for sparse render target.
Added a test under renderpass group where a sparse image is used
as a render target.
Affects:
dEQP-VK.renderpass.sparserendertarget.*
Components: Vulkan
VK-GL-CTS issue: 101
Change-Id: Ic5244945e580d590667ce09d5350d7c0f5f819e3
Alexander Galazin [Thu, 14 Dec 2017 12:34:22 +0000 (13:34 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I6c2cf9762fd2c60c997c286040a4fef79f029fb5
Alexander Galazin [Thu, 14 Dec 2017 11:37:57 +0000 (12:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: I7f080f5ba46222eeda2819617d182d7d4dffbcb9
Jeff Leger [Sat, 2 Dec 2017 02:16:28 +0000 (21:16 -0500)]
Modify spirv_assembly tests adding dependency on 16bit_storage extension
Several tests were using 16bit_storage, but were not checking the
extension was supported nor declaring the required opCapability.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 875
Change-Id: I07fda13c69cdef09967d4aab5067edff07c47fa1
Alexander Galazin [Thu, 14 Dec 2017 10:52:40 +0000 (11:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I3b358114c4158d2130e68632d4e02d7246c6f9af
Alexander Galazin [Thu, 14 Dec 2017 09:57:00 +0000 (10:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I2ec0d37ac7c68d2974992decf4e60b8d9acd0dc9
Arkadiusz Sarwa [Thu, 9 Nov 2017 17:02:32 +0000 (18:02 +0100)]
Subgroups tests upgrade: reduce time of execution.
Affects:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 797
Change-Id: I835985b06bbe6f912ff33225125810caf48879df
Paavo Pessi [Mon, 4 Dec 2017 08:57:40 +0000 (10:57 +0200)]
Fix stageMask (0x1) usage in renderpass, image and texture tests
Pipeline barriers using PIPELINE_STAGE_TOP_OF_PIPE_BIT with nonzero
access mask were modified to use proper pipeline stage flags.
Memory barrier structure members were renamed to match the current
specification.
Affects:
dEQP-VK.renderpass.suballocation.simple.*
dEQP-VK.renderpass.suballocation.formats.*
dEQP-VK.renderpass.suballocation.attachment.*
dEQP-VK.renderpass.suballocation.attachment_allocation.*
dEQP-VK.renderpass.dedicated_allocation.simple.*
dEQP-VK.renderpass.dedicated_allocation.formats.*
dEQP-VK.renderpass.dedicated_allocation.attachment.*
dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.*
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*
dEQP-VK.image.atomic_operations.*
dEQP-VK.image.texel_view_compatible.*
dEQP-VK.image.extended_usage_bit.attachment_write.*
dEQP-VK.image.extended_usage_bit.texture_write.*
dEQP-VK.texture.*
VK-GL-CTS issue: 806
Change-Id: Iab4699f095d4ea1206736cb0435863f17bd3bca3
Marcin Rogucki [Mon, 20 Nov 2017 15:44:51 +0000 (16:44 +0100)]
Fix for getPhysicalDeviceFeatures2 loader issue
For all instance methods taking VkPhysicalDevice
as a first parameter that were moved to core in
1.1 there is now a dynamic dispatch based on
physical device api version. If version is 1.1 or
above a core method is used. If version is lower
than that a counterpart extension method is used.
Additionally a pre-instance is created to enumerate
all physical devices and select lowest version to
be able to enable proper extensions set for final
instance.
Components: Vulkan
VK-GL-CTS issue: 854
Affects: All tests using getPhysicalDeviceFeatures2
Change-Id: Ia68a5cac23ae35566fcf99bc56c93c9cb77f33e0
Jeff Leger [Sun, 22 Oct 2017 15:54:31 +0000 (11:54 -0400)]
Relax precision for atan2 built-in precision tests
The precision of atan2 is relaxed to 5 ULPs.
Affects:
dEQP-VK.glsl.builtin.precision.atan2.*
Components: Vulkan
VK_GL_CTS issue: 749
Change-Id: I146226019f77910d1401903f6e89292ff94c089d
Jeff Leger [Sat, 2 Dec 2017 02:16:28 +0000 (21:16 -0500)]
Modify spirv_assembly tests adding dependency on 16bit_storage extension
Several tests were using 16bit_storage, but were not checking the
extension was supported nor declaring the required opCapability.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 875
Change-Id: I07fda13c69cdef09967d4aab5067edff07c47fa1
Noah Fredriks [Wed, 29 Nov 2017 23:27:52 +0000 (18:27 -0500)]
Avoid creating vkInstances for not supported cases
Defer vkInstance creation for cross instance tests until not supported
checks complete to shorten the runtime of these 10k total test cases.
Affects: dEQP-VK.synchronization.cross_instance.*
Components: Vulkan
VK-GL-CTS Issue: 885
Change-Id: I481de90d8c0363c23a287aaf457ac101c327c558
Igor Ostrowski [Wed, 15 Nov 2017 17:33:51 +0000 (18:33 +0100)]
Fix mediump zero division in matrix inverse tests
To avoid zero division all input matrix determinants should be same signed.
Affects:
dEQP-VK.glsl.matrix.inverse.*
Components: Vulkan
VK-GL-CTS issue: 881
Change-Id: Ib702f81c4eb7f25ba9081db6ead67da02f484ca9
Michael Chock [Wed, 13 Dec 2017 17:10:18 +0000 (09:10 -0800)]
Permit different errors in context creation tests
dEQP-EGL.functional.negative_api.create_context tests error conditions
EGL supports OpenGL ES, but not a specifically requested version (e.g.,
creating an OpenGL ES 1 context when only OpenGL ES 2 is supported). The
error that should be raised varies based on the governing specification.
EGL 1.4 mandates EGL_BAD_CONFIG. EGL 1.5 mandates EGL_BAD_MATCH.
EGL_KHR_create_context has langage mandating *both* errors in separate
paragraphs.
Accept either error code as appropriate for EGL version and extension
support.
Mark Adams [Mon, 4 Dec 2017 22:26:54 +0000 (17:26 -0500)]
Don't assume rendering complete before buffer latch
It's valid for the buffer to latch before rendering is completed, and
this is causing intermittent failures.
Bug: b/
69981429
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
(cherry picked from commit
9e0214cf61df1109927f8f23dd5749735057eb30)
Change-Id: Ia9f1d0e4ffa7f3e16a46fc4566157a651d1b0601
Piotr Byszewski [Fri, 3 Nov 2017 09:11:09 +0000 (10:11 +0100)]
Block/non-block uniforms match
Test if uniforms in anonymous blocks do not match loose uniforms with
the same name in a different stage.
Components: OpenGL
VK-GL-CTS issue: 707
Affects:
KHR-GLES3.shaders.uniform_block.common.name_matching
KHR-GL33.shaders.uniform_block.common.name_matching
Change-Id: Ib1ea850ffbea7eb62ddbd6008463c8855f764c7e
Maciej Jesionowski [Wed, 29 Nov 2017 13:07:42 +0000 (14:07 +0100)]
Remove max expected query result in pipeline statistics tests
Query result is implementation-defined and some internal rendering
operations may count towards the results of queries.
Affects: dEQP-VK.query_pool.statistics_query.*
Components: Vulkan
VK-GL-CTS issue: 876
Change-Id: I0c86e1101c1ae00049623bd49dfe0c4de5798832
Stu Smith [Thu, 30 Nov 2017 13:30:20 +0000 (13:30 +0000)]
Add missing gl_PointSize in subgroup test shaders when drawing points
Affects: dEQP-VK.subgroups.*vertex_framebuffer
Components: Vulkan
VK-GL-CTS issue: 872
Change-Id: Iddf8362024d3dd750e6f0b9d4c71e1adcdfa63ca
Arkadiusz Sarwa [Fri, 20 Oct 2017 10:47:28 +0000 (12:47 +0200)]
VK_KHR_16bit_storage: granularity stress test
New tests:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_16.stress_test
Components: Vulkan
VK-GL-CTS issue: 419
Change-Id: Id1a2d5d726e3fa293b07d9385d548fdfe071a681
Jari Komppa [Tue, 21 Nov 2017 12:52:23 +0000 (14:52 +0200)]
Added tests for different shader varying vec width
Vulkan specification (1.0.8, 14.1.3) states that vertex and fragment
shader varyings may differ as long as they are of the same type and the
vertex shader outputs at least as wide vectors as the fragment shader
inputs.
This set of tests link various varying vector types, all of which
are legal even though they do not match.
Affects:
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec4_vec3
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec4_vec2
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec4_float
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec3_vec2
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec3_float
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_vec2_float
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec4_ivec3
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec4_ivec2
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec4_int
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec3_ivec2
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec3_int
dEQP-VK.glsl.linkage.varying.rules.legal_mismatch_ivec2_int
Components: Vulkan
VK-Gl-CTS issue: 821
Change-Id: I4afc3edb77fd6f421cafce20d09bbdd948f16dcf
Paavo Pessi [Tue, 10 Oct 2017 08:24:39 +0000 (11:24 +0300)]
Test binding model with multiple descriptor sets
Tests were added to verify that multiple descriptor sets can be used
and accessed in all possible shader stages with all possible descriptor
types.
Multiple descriptor sets are updated using
- vkUpdateDescriptorSets
- vkUpdateDescriptorSetWithTemplateKHR
DescriptorSetUpdateBuilder utility class was modified slightly to
work better with multiple descriptor sets.
New tests:
dEQP-VK.binding_model.shader_access.*.*.*.multiple_descriptor_sets.*
Components: Vulkan, Framework
VK-GL-CTS issue: 91
Change-Id: I6c1a719a7a2af74c3f1eb2a620af1ec73c113411
Chris Forbes [Sat, 9 Dec 2017 02:04:07 +0000 (18:04 -0800)]
Merge remote-tracking branch 'aosp/master' into deqp-dev
Conflicts:
Android.mk
android/cts/master/src/vk-excluded-tests.txt
android/cts/master/vk-master.txt
modules/glshared/glsBuiltinPrecisionTests.cpp
Change-Id: Ic6d2f5de1465158d9f105f9648f117d7b2b915a6
Xin Li [Wed, 6 Dec 2017 19:51:52 +0000 (11:51 -0800)]
DO NOT MERGE: Merge Oreo MR1 into master
Exempt-From-Owner-Approval: Changes already landed internally
Change-Id: I71216cb23c2124938de9ae2a75b7cd7a0811d57f
Mark Adams [Wed, 6 Dec 2017 18:28:29 +0000 (18:28 +0000)]
Don't assume rendering complete before buffer latch
am:
9e0214cf61
Change-Id: Iee3ccf2afef375ac45e60133537a141d685d607f
Mark Adams [Wed, 6 Dec 2017 18:21:28 +0000 (18:21 +0000)]
Don't assume rendering complete before buffer latch am:
9e0214cf61
am:
eb88a8ca3d
Change-Id: Ic8680791e52474a3d100314c6c90406ae8319a55
Mark Adams [Wed, 6 Dec 2017 18:08:12 +0000 (18:08 +0000)]
Don't assume rendering complete before buffer latch
am:
9e0214cf61
Change-Id: I72902995d20e746aa7066a46b097be4a2dab5453
Andrey Tuganov [Tue, 28 Nov 2017 23:28:18 +0000 (18:28 -0500)]
Fix OpCopyObject from U32 to S32
Conversion from U32 to S32 can use neither OpCopyObject (different types),
nor OpSConvert (same bit width). Changed to OpBitcast.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.indexing
Components: Vulkan
VK-GL-CTS issue: 874
Change-Id: I298c2687f3f6f08f28f928623a1002ec72a5a8f8
Mark Adams [Mon, 4 Dec 2017 22:26:54 +0000 (17:26 -0500)]
Don't assume rendering complete before buffer latch
It's valid for the buffer to latch before rendering is completed, and
this is causing intermittent failures.
Bug: b/
69981429
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: Ia9f1d0e4ffa7f3e16a46fc4566157a651d1b0601
Piers Daniell [Thu, 30 Nov 2017 19:56:39 +0000 (12:56 -0700)]
Add texturegrad.sparse_samplercubeshadow back to exclude
It appears the following tests were removed from the exclude
list in https://gerrit.khronos.org/#/c/1819 by accident:
dEQP-VK.glsl.texture_functions.texturegrad.sparse_samplercubeshadow_fragment
dEQP-VK.glsl.texture_functions.texturegrad.sparse_samplercubeshadow_vertex
This CL adds them back. The non-sparse variants of these tests
are already excluded.
Affects:
dEQP-VK.glsl.texture_functions.texturegrad.*
Components: Vulkan
VK-GL-CTS issue: 877
Change-Id: Iba5e59b0a0f7c97d053084d6a52720ce020b4e21
Chad Versace [Fri, 3 Nov 2017 16:36:30 +0000 (09:36 -0700)]
Fix build when .git is a gitlink file
If ${CMAKE_SOURCE_DIR}/.git exists, then
framework/qphelper/CMakeLists.txt uses the git revision as the dEQP
revision. The CMake rules update the revision when the files
${CMAKE_SOURCE_DIR}/.git/HEAD and ${CMAKE_SOURCE_DIR}/.git/index
change.
However, Git does not require that .git be a directory. If
git-submodules or git-worktrees are used, then .git may be a gitlink
file instead and the real git directory is elsewhere.
Fix the build by using `git rev-parse --git-dir` to find the real git dir
and `git rev-parse HEAD` to query the commit sha1.
This bumps the CMake requirement from 2.8 to 2.8.2. But that should be
safe since 2.8.2 was released in 2010.
Components: Framework
Change-Id: I811630e5afada8e6aed611b0ef6c51e39be2200b
Chris Forbes [Mon, 16 Oct 2017 19:42:35 +0000 (12:42 -0700)]
Avoid watchdog timeout in Vulkan builtin precision tests
Calculating the reference intervals can take a substantial amount of
time. On some very slow targets, this can cause us to trip the watchdog
in the verification loop.
Same approach and limit as in modules/glshared/glsBuiltinPrecisionTests.cpp
Affected tests:
dEQP-VK.glsl.builtin.precision.*
Component: Vulkan
Bug:
67854695
Test: run on google devices
Change-Id: I492b656e7e2a9aa724bb3785bdf1416a4c22ec04
Piotr Byszewski [Thu, 12 Oct 2017 08:24:48 +0000 (10:24 +0200)]
Test required_internalformat
GTFExtensionTestRequiredInternalformat was ported to glcts and
highly modified to resolve found issues and enable possibility
to also test core GL.
Components: OpenGL
VK-GL-CTS issue: 718
Affects:
KHR-GL40.internalformat.*
KHR-GLES2.core.internalformat.*
KHR-GLES3.core.internalformat.*
KHR-GLES31.core.internalformat.*
KHR-GLES32.core.internalformat.*
Change-Id: Iaf559e7c3fe955e314402c5190523b2c57c7041e
Jeff Leger [Wed, 22 Nov 2017 17:12:58 +0000 (12:12 -0500)]
Reduce GPU workload of pipeline_barrier tests
Tests with large buffer sizes will now clamp the
GPU workload to avoid triggering execution timeout
on implementations.
Affects: dEQP-VK-memory.pipeline_barrier.*
Components: Vulkan
VK_GL_CTS issue: 813
Change-Id: I479f6ad04ef2ec6f9d87b65a39a2bc13bcbcc6a2
Alexander Galazin [Wed, 22 Nov 2017 11:36:02 +0000 (12:36 +0100)]
Update glslang tag
Update glslang tag to vulkan-1.1-rc6
Affects: dEQP-VK.*
Change-Id: I5bfbf717e1f0be51802b33f2a7b658d395c72019
Courtney Goeltzenleuchter [Tue, 27 Jun 2017 20:09:01 +0000 (14:09 -0600)]
Vulkan: Add wide-color tests
Affects:
dEQP-VK.wsi.*.colorspace.*
Components: Vulkan
Change-Id: I6813afa38e320ce91642802dfd0c5b6f2d5543b9
Alexander Galazin [Thu, 30 Nov 2017 15:45:30 +0000 (16:45 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I5c167c3e0789067ce231180b0b9f531b0b1550db
Alexander Galazin [Thu, 30 Nov 2017 15:01:48 +0000 (16:01 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I82ebe340d9ebf4652afe7653fb0fc56de8fb83f8
Slawomir Cygan [Thu, 23 Nov 2017 10:51:23 +0000 (11:51 +0100)]
Fix regression from "Add contextSupports functions"
Fixes contextSupports condition for missing VK1.1.
This regression was introduced in
39a3dba4.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
Components: Vulkan
VK-GL-CTS issue: 860
Change-Id: I866c815b918af2860d888775179635011f757535
(cherry picked from commit
4f5fa8a6a62071624d9a2a703b9219abc301c72a)
Alexander Galazin [Thu, 30 Nov 2017 13:39:23 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-next-dev
Change-Id: I39fa9707ef5badff52466965f0d4e77a8f8184c3
Alexander Galazin [Thu, 30 Nov 2017 13:39:21 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Change-Id: If36eca15c35d7c5b473b0bcd6af6c40ef0e68322
Alexander Galazin [Thu, 30 Nov 2017 13:39:20 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I9fbb4d01a6050ae79808e61649783ef698a1481d
Piers Daniell [Wed, 22 Nov 2017 20:23:12 +0000 (13:23 -0700)]
Fix some CTS bugs that cause validation failures
Most of these are misuse of the dstStageMask parameter to
vkCmdPipelineBarrier. The dstStageMask has to be compatible
with the destination access type of the buffer or image.
The other large source of validation errors is a bug
in the CTS framework when calling vkCreateDevice. The
wrong pNext member was used for setting the enabled
features. The effect is that all features were disabled.
Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.pattern.*
dEQP-VK.*
Components: Vulkan
VK-GL-CTS issue: 862
Change-Id: I58ca4e033d7d66b52c6726a635808b9b747546d8
Noah Fredriks [Thu, 9 Nov 2017 21:00:29 +0000 (16:00 -0500)]
Enforce OOB requirements for binding with multiple attributes
The spec states that, if any vertex input attribute using a specific
vertex input binding is out of bounds, then all vertex input attributes
using that vertex input binding for that vertex shader invocation are
considered out of bounds.
Affects: dEQP-VK.robustness.vertex_access.*.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 848
Change-Id: I6a9222a0b2a53368af361419105793a5301a6bf6
Paavo Pessi [Fri, 24 Nov 2017 09:03:06 +0000 (11:03 +0200)]
Fix stageMask (0x1) usage in binding_model and glsl tests
Pipeline barriers using PIPELINE_STAGE_TOP_OF_PIPE_BIT with nonzero
access mask were modified to use proper pipeline stage flags.
Memory barrier structure members were renamed to match the current
specification.
Affects:
dEQP-VK.binding_model.*
dEQP-VK.glsl.derivate.*.texture.*
dEQP-VK.glsl.discard.*_texture
dEQP-VK.glsl.texture_functions.*
dEQP-VK.glsl.texture_gather.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.glsl.builtin.*
dEQP-VK.glsl.opaque_type_indexing.*
dEQP-VK.glsl.atomic_operations.*
VK-GL-CTS issue: 806
Change-Id: Ia223039abed5c4b15ae004fbaa9fba1ebe92056e
Mikael Tuomisalo [Fri, 17 Nov 2017 13:54:41 +0000 (15:54 +0200)]
Add new tests for OpSConvert and OpFConvert
Added missing tests for OpSConvert and OpFConvert for compute and
graphics shaders.
Edited SPIR-V templates for OpSpecConstantOp-tests to support data types
other than int32 on tests where other types are required.
New tests:
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.sconvert
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.sconvert*
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert*
Components: Vulkan
VK-GL-CTS issue: 711
Change-Id: Ia3cc3bc3f70f5216e364a2da4fb8fe78079fa445
Boris Zanin [Tue, 31 Oct 2017 15:17:30 +0000 (16:17 +0100)]
Add geometry layered readback tests
Add geometry layered readback tests for following image types:
* 1d_array (color and depth/stencil)
* 2d_array (color and depth/stencil)
* cube (color and depth/stencil)
* cube_array (color and depth/stencil)
* 3d (color only)
Add tests:
* dEQP-VK.geometry.layered.*.readback
Components: Vulkan
VK-GL-CTS issue: #790
Change-Id: Ifcc5b686816b167ae7fb5157fdc7bd3464968eda
Jari Komppa [Wed, 8 Nov 2017 11:05:44 +0000 (13:05 +0200)]
Removed duplicate fvec3 declaration
A couple of tests had duplicate declarations that resolved into
a vector of three floats.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_vec3
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_struct
Components: Vulkan
VK-GL-CTS issue: 808
Change-Id: I2b2c865f138ebf0fe67fd3b72d413c040c335170
Paavo Pessi [Tue, 14 Nov 2017 12:56:41 +0000 (14:56 +0200)]
Fix PIPELINE_STAGE_TOP_OF_PIPE_BIT usage in api tests
Test cases using PIPELINE_STAGE_TOP_OF_PIPE_BIT with nonzero access
mask were modified to use proper pipeline stage flags.
The dstAccessMask mask of a buffer memory barrier created by
ComputeInstanceResultBuffer class was changed from
VK_ACCESS_SHADER_WRITE_BIT to VK_ACCESS_HOST_READ_BIT to better
represent its usage.
Memory barrier structure members were renamed to match the current
specification.
Affects:
dEQP-VK.api.buffer_view.access.*
dEQP-VK.api.command_buffers.render_pass_continue
dEQP-VK.api.command_buffers.order_bind_pipeline
dEQP-VK.api.copy_and_blit.core.image_to_buffer.*
dEQP-VK.api.copy_and_blit.core.buffer_to_buffer.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.buffer_to_buffer.*
VK-GL-CTS issue: 806
Change-Id: Ifaff60b1cd615889fa4b1fc175a78bdbc00be50c
Piotr Byszewski [Thu, 9 Nov 2017 09:49:25 +0000 (10:49 +0100)]
Test if mediump optimizations are not to aggressive
GTF sin and cos tests were ported to glcts as they can also
be used to detect overly optimized set of mediump operations.
Components: OpenGL
VK-GL-CTS issue: 706
Affects:
KHR-GL43.aggressive_optimizations.*
KHR-GLES2.shaders.aggressive_optimizations.*
KHR-GLES3.shaders.aggressive_optimizations.*
KHR-GLES31.shaders.aggressive_optimizations.*
KHR-GLES32.shaders.aggressive_optimizations.*
Change-Id: Idd2ea75ea552b9106792775570d64b347db32276
Paavo Pessi [Mon, 30 Oct 2017 13:25:49 +0000 (15:25 +0200)]
Test component qualifier in shaders
Tests were added to verify that various combinations of component
qualifiers can be used with different data types (vec2, vec3, vec4,
ivec2 and ivec4) in following scenarios:
- in vertex shader input
- in fragment shader output
- when passing data from vertex shader to fragment shader
New tests:
dEQP-VK.glsl.440.linkage.varying.component.*
Components: Vulkan
VK-GL-CTS issue: 741
Change-Id: Ie18c420b9d3ba8bd082b98f4618d7fc595b8baba
Ari Suonpaa [Tue, 31 Oct 2017 11:17:49 +0000 (13:17 +0200)]
Added ASTC format to compressed texture test.
Added ASTC format to the compressed texutre test. Not much is
needed to change in test code since TCU library already supports
this format.
Affects:
dEQP-VK.texture.compressed.astc*
Components: Vulkan
VK-GL-CTS issue: 787
Change-Id: I764ee05479748bc19724bd2b4675c350e23e29c5
Alexander Galazin [Thu, 23 Nov 2017 11:27:18 +0000 (12:27 +0100)]
Delete GTF mustpass files
OpenGL ES CTS no longer uses GTF module,
time to delete the source files for mustpass
Components: OpenGL
Change-Id: Ib234e47612e48b50e6c34544cebbaba11a2f08c3
Piotr Byszewski [Tue, 31 Oct 2017 16:57:52 +0000 (17:57 +0100)]
Correct robust buffer access behavior tests
Robust buffer access behavior tests vere moved to contexless module.
In addition common version of those test was generalized so that it
can test both es and core GL.
Components: OpenGL
VK-GL-CTS issue: 793
Affects:
KHR-NoContext.es32.robust_buffer_access_behavior.*
KHR-NoContext.gl43.robust_buffer_access_behavior.*
Change-Id: Idd967d00635faff4ec41d57abf203f22286bc145
Tom Cooper [Wed, 22 Nov 2017 15:57:37 +0000 (15:57 +0000)]
Pipeline must be bound before calling vkCmdSetViewport/Scissor etc
Affects:
dEQP-VK.dynamic_state.*
Components: Vulkan
VK-GL-CTS issue: 861
Change-Id: I0f5312c83096cebebfa4ab01987c2ab9ede7306b
Ari Suonpaa [Sat, 28 Oct 2017 15:05:48 +0000 (18:05 +0300)]
Added test for differing interpolation decorations.
Added test where varying between vertex and fragment shader have
different interpolation decorations. Both Flat and NoPerspective
are tested.
Affects:
dEQP-VK.draw.differing_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 618
Change-Id: I7ba5badd5f0ebe0ab6d4f3a374bc863b72c24248
Jari Komppa [Tue, 14 Nov 2017 12:21:06 +0000 (14:21 +0200)]
Added constraints for random access flags
The pipeline barrier tests randomize access flags and stages, sometimes
resulting in access flags being enabled for stages that do not support
said accesses. This fix removes the illegal access flags while leaving
the random flag generation intact.
Affects:
dEQP-VK.memory.pipeline_barrier.*
Components: Vulkan
VK-GL-CTS issue: 814
Change-Id: I135ea8a9e41b5d8428ef77fe6ecbdf2380d80c7d