platform/upstream/VK-GL-CTS.git
6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3
Alexander Galazin [Mon, 5 Feb 2018 12:13:42 +0000 (13:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3

Change-Id: If7dc3d47395a03af3a34987f08c873c13effd366

6 years agoPass in proper pWaitDstStageMask in vktWsiSharedPresentableImageTests
Vamsidhar Gaddam [Wed, 31 Jan 2018 10:23:48 +0000 (11:23 +0100)]
Pass in proper pWaitDstStageMask in vktWsiSharedPresentableImageTests

One of the submitInfos for a queue submit had
a semaphore passed in without passing in any stage mask. This is a
spec violation.

Affects:

dEQP-VK.wsi.android.shared_presentable_image.*

Components: Vulkan

VK-GL-CTS issue: 974

Change-Id: Iee2ea838e971a3610f44b8c1f765869a8a21fedb

6 years agoSpec relaxation for YCbCr Implicit chroma reconstruction
Panagiotis Apostolou [Wed, 17 Jan 2018 09:01:58 +0000 (10:01 +0100)]
Spec relaxation for YCbCr Implicit chroma reconstruction

Incorporates spec relaxation in the YCbCr tests which describes that when
doing implicit reconstruction with nearest chroma filtering, an
implementation may behave as if both xChromaOffset and yChromaOffset were
VK_CHROMA_LOCATION_MIDPOINT.

Tests affected:
dEQP-VK.ycbcr.conversion.*

Components: Vulkan

VK-GL-CTS issue: 979

Change-Id: I10e83d2f5845c3e74673aa9e42fc4f0950f9e6cd

6 years agodEQP-VK.renderpass.sparserendertarget: bind metadata
Slawomir Cygan [Fri, 19 Jan 2018 13:20:47 +0000 (14:20 +0100)]
dEQP-VK.renderpass.sparserendertarget: bind metadata

Memory was not bound to METADATA aspect, when COLOR aspect
mip tail size was 0. METADATA requirements are not related
to mip tails in other aspects - memory must be always and
unconditionally bound to METADATA.

Additionally, change VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
condition to layerNdx == 0, as imageMipTailMemoryBinds vector
is now used both for metadata and other mip tails.

Affects: dEQP-VK.renderpass.sparserendertarget.*

Components: Vulkan

VK-GL-CTS issue: 958

Change-Id: I34661c82e0d9829448ac85546055c72151bfe85e

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3
Alexander Galazin [Fri, 19 Jan 2018 08:22:31 +0000 (09:22 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3

Change-Id: Ie1eb632fc4601acfc34db84410e04e06cc2da243

6 years agoCheck GS support before testing adjacent primitives
Yanjun Zhang [Wed, 10 Jan 2018 00:12:47 +0000 (16:12 -0800)]
Check GS support before testing adjacent primitives

Affects: dEQP-VK.draw.basic_draw.draw.*

Components: Vulkan

VK-GL-CTS issue: 926

Change-Id: I02569b1944eed52f641966f9206d44983d1ff165

6 years agoFix buffer usage flags for index and indirect buffers
Chris Forbes [Wed, 10 Jan 2018 02:13:15 +0000 (18:13 -0800)]
Fix buffer usage flags for index and indirect buffers

Previously, createAndUploadBuffer would provide
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT for all buffers. This is no good for
index buffers and indirect buffers.

VK-GL-CTS: 930

Change-Id: I774beef7c7226f4fbd5670591eb66475300ee208
Components: Vulkan
Affects: dEQP-VK.draw.instanced.*

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Thu, 18 Jan 2018 09:51:33 +0000 (10:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: Ibf30bd51afce5e0e6363eb94ea2cd9293cbb35d9

6 years agoProperly iterate over pNext in VkSamplerCreateInfo
Alexander Galazin [Mon, 15 Jan 2018 13:18:51 +0000 (14:18 +0100)]
Properly iterate over pNext in VkSamplerCreateInfo

Iterate over all pNext elements in VkSamplerCreateInfo.
Skip VkSamplerYcbcrConversionInfoKHR, retrieve
reduction mode from VkSamplerReductionModeCreateInfoEXT

VK-GL-CTS issue: 945

Components: Vulkan

Affects:
dEQP-VK.ycbcr.*
dEQP-VK.api.info.format_properties.*
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)

Change-Id: Iaba8678f2fa13b5545cec7f903f21aa01c5c13f3

6 years agoSet maxDescriptorSet* limit table based on shader stages
Yanjun Zhang [Thu, 11 Jan 2018 19:44:54 +0000 (11:44 -0800)]
Set maxDescriptorSet* limit table based on shader stages

Re-submit the patch based on WG review and feedback.

Affects: dEQP-VK.api.info.device.properties

Components: Vulkan

VK-GL-CTS issue: 923

Change-Id: Ie627b52cfae099d87f5b6183118d42bcccd313ca

6 years agoAvoid out-of-range depth values
Piers Daniell [Tue, 8 Aug 2017 22:03:35 +0000 (16:03 -0600)]
Avoid out-of-range depth values

The "d32_sfloat_large_depth" variants of the
dEQP-VK.glsl.builtin_var.fragdepth.* tests rely on undefined behavior
because it uses an out-of-range depth value. The unextended Vulkan spec
requires depth values to be in the range of 0.0..1.0. The test was using
a depth value of 20.0..21.0 and expecting the implementation to clamp.

Instead of disabling this part of the test entirely, only run it if the
implementation exposes the VK_EXT_depth_range_unrestricted device
extension, which does have defined behavior with depth values outside
the range of 0.0..1.0.

Affects:

dEQP-VK.glsl.builtin_var.fragdepth.*d32_sfloat_large_depth

Components: Vulkan

VK-GL-CTS issue: 623

Change-Id: I436b8b98bebe3ef37bd306d93da2bf8c40eee6c8

6 years agovk-default-no-waivers mustpass
Alexander Galazin [Mon, 15 Jan 2018 12:47:05 +0000 (13:47 +0100)]
vk-default-no-waivers mustpass

Components: Vulkan

Change-Id: Iec7c2a45663cc318a67614c9e28b8631f1bd1faf

6 years agoAdd INTxx_MAX checks into check_all.py
Boris Zanin [Wed, 10 Jan 2018 12:15:36 +0000 (13:15 +0100)]
Add INTxx_MAX checks into check_all.py

The mentioned consts are not defined in Windows, but are defined in linux.
Presence of this consts breaks Windows builds. To make it easyily detectable
under linux additional check for [U]INT[8,16,32,64]_MAX consts is added
into check_all.py script.

Components: Framework

VK-GL-CTS Issue: 934

Change-Id: I1882c0cd283a63a623972cb69ffb292531e37d10

6 years agoUpdate GL mustpass
Alexander Galazin [Mon, 15 Jan 2018 11:15:02 +0000 (12:15 +0100)]
Update GL mustpass

Components: OpenGL

Change-Id: I378bf119d71b2e8b9785458bb9972452ebbadd58

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 12 Jan 2018 16:02:58 +0000 (17:02 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: If8425e73545dec10d8501eb6fb75be5200332e65

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Fri, 12 Jan 2018 15:52:48 +0000 (16:52 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: Ie914b0dd7b4facbfa83b89e7d41c8390446843c6

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
Alexander Galazin [Fri, 12 Jan 2018 14:02:07 +0000 (15:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master

Change-Id: I9dc9a99346b7d4079166b53ecbc847568291864e

6 years agoFix instance-rate vertex attribute verification
Maciej Jesionowski [Thu, 5 Oct 2017 12:40:53 +0000 (14:40 +0200)]
Fix instance-rate vertex attribute verification

There was a bug in the test where it expected instance-rate vertex
attribute data at incorrect offsets in the input buffer. As a result
these attributes were always treated as out of bounds.

Affects: dEQP-VK.robustness.vertex_access.*

VK-GL-CTS issue: 752
Components: Vulkan

Change-Id: Ied900ab4174d4e8c25fd07c95e90d3c8228d5a26

6 years agoAdd missing barrier to texel_view_compatible tests
Maciej Jesionowski [Mon, 23 Oct 2017 10:14:36 +0000 (12:14 +0200)]
Add missing barrier to texel_view_compatible tests

There was no GPU to Host barrier. GPU writes are not automatically
visible to the Host.

Affected tests: dEQP-VK.image.texel_view_compatible.compute.*
VK-GL-CTS issue: 786
Components: Vulkan

Change-Id: I47797add1c5e48dfa1a7c7be8897e822091c2044

6 years agoRemove OpUConvert to signed integer tests
Andrey Tuganov [Thu, 28 Sep 2017 21:18:51 +0000 (17:18 -0400)]
Remove OpUConvert to signed integer tests

OpUConvert only convers to unsigned integers.

Affects: dEQP-VK.spirv_assembly.instruction.
compute.uconvert.*
Components: Vulkan

VK-GL-CTS issue: 720

Change-Id: I68b13c8584d64359e52910091347de03b933ba42

6 years agogl_PrimitiveIDIn tests have sketchy loop bounds.
Marcin Rogucki [Wed, 25 Oct 2017 11:33:44 +0000 (13:33 +0200)]
gl_PrimitiveIDIn tests have sketchy loop bounds.

Components: Vulkan

VK-GL-CTS issue: 778

Updates:
dEQP-VK.geometry.basic.primitive_id_in
dEQP-VK.geometry.basic.primitive_id_in_restarted

Change-Id: Icd2be56814de18067ce058a5f2a1da80338f80d6
(cherry picked from commit 52b7de31e0bccf62ca28d820f4dc2d0d52793aa8)

6 years agoYCbCr image views need a VkSamplerYcbcrConversionInfo
Tom Cooper [Wed, 25 Oct 2017 06:26:39 +0000 (08:26 +0200)]
YCbCr image views need a VkSamplerYcbcrConversionInfo

Ensure the image views are created using the
VkSamplerYcbcrConversionInfo object via the pNext
chaining, as this is mandated by the Spec.

Affects:
dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS issue: 788

Change-Id: If641b08432c26ca5b32c084c4c0b9c7f935bcb94
(cherry picked from commit 9a9419aa130a51b6e24a564e6a3997a88af2504e)

6 years agoCheck sampleRateShading for sample_qualifier_distinct_values.* tests
Yanjun Zhang [Wed, 10 Jan 2018 00:26:50 +0000 (16:26 -0800)]
Check sampleRateShading for sample_qualifier_distinct_values.* tests

Affects: dEQP-VK.pipeline.*.sample_qualifier_distinct_values.*

Components: Vulkan

VK-GL-CTS issue: 925

Change-Id: Ife1166e8ed88699c67ee6acde79857f34c013398

6 years agoUse unique indices for each binding in out_of_pool_memory test
Chris Forbes [Tue, 9 Jan 2018 23:26:34 +0000 (15:26 -0800)]
Use unique indices for each binding in out_of_pool_memory test

Previously, all the layout bindings would use binding=0, which is
invalid. Give them their own binding indices.

VK-GL-CTS: 929

Change-Id: I28e62db6c257ed0843dd9b77b2d8cb01d02e3eba
Components: Vulkan
Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory

6 years agoAvoid hitting fp16 NaN values
Piers Daniell [Wed, 18 Oct 2017 17:01:13 +0000 (11:01 -0600)]
Avoid hitting fp16 NaN values

Modify the test references values to avoid situations where
they hit NaN values when viewed as fp16. This can happen
when uploading {0.1, 0.5, 0.9, 0.2} to r8g8b8a8_unorm which,
depending on the rounding of the 0.5, could end up as a 0x7F
value which when viewed as the MSB of a fp16 value is a NaN.

Affects:

dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS Issue: 784

Change-Id: I2adbd27aa7d94254c9f19d788eacace2ea95d10c
(cherry picked from commit d51c248f04b980406d9b767064170b77b682cac7)

6 years agoInvalid handle in create_display_plane_surface
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
(cherry picked from commit 3e6306a1f1abba17d9b3f4e36913576fa33ac13d)

6 years agoFix some CTS bugs that cause validation failures
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
(cherry picked from commit 23336be1abda90e87d9bbaf5e0398ca489f0cbc6)

6 years agoAdd StorageImageExtendedFormats cap check
Alexander Galazin [Fri, 6 Oct 2017 20:07:30 +0000 (22:07 +0200)]
Add StorageImageExtendedFormats cap check

dEQP-VK.image.texel_view_compatible.compute.* didn't check
for shaderStorageImageExtendedFormats

Component: Vulkan

VK-GL-CTS issue: 753

Affects:
dEQP-VK.image.texel_view_compatible.compute.*

Change-Id: I957329a66d2f4bedb950a597a702ec29680418de
(cherry picked from commit 1a42786b8dba4e091e1012a458d3ad17457a6b66)

6 years agoEnforce OOB requirements for binding with multiple attributes
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
(cherry picked from commit 65df12f839cea43333b11a4da900f838d5f44150)

6 years agoPipeline must be bound before calling vkCmdSetViewport/Scissor etc
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
(cherry picked from commit f156345ea872a2913b09b076373bea715f89e3c9)

6 years agoRemove check for depthBounds support in frag depth tests
Alexander Galazin [Mon, 2 Oct 2017 07:13:02 +0000 (09:13 +0200)]
Remove check for depthBounds support in frag depth tests

The tests validate gl_FragDepth. This builtin should not
require any extra feature to be supported.

Components: Vulkan

VK-GL-CTS: 690

Affects: dEQP-VK.glsl.builtin_var.fragdepth.*

Change-Id: I7df775d074e5b9e6dd01f573f5a8545f3db72550
(cherry picked from commit 822f7251791c8b75ad1733c5fc6b4ec3240000ea)

6 years agoInvalidate memory in draw tests
Alexander Galazin [Tue, 3 Oct 2017 19:29:50 +0000 (21:29 +0200)]
Invalidate memory in draw tests

The test group writes to non-coherent device memory with device,
but fails to call the required invalidate on the region before
reading mapped memory with host.

Components: Vulkan

VK-GL-CTS issue: 529

Affects: dEQP-VK.draw.*

Change-Id: Icf4aa6ea80c8c046e41b37402457b7f094d7ae50
(cherry picked from commit 1ce6e233a6245a1cf81a2a4e88b87c5d381a119a)

6 years agoAvoid assert in dEQP-VK.tessellation.fractional_spacing
Slawomir Cygan [Fri, 22 Sep 2017 15:23:05 +0000 (17:23 +0200)]
Avoid assert in dEQP-VK.tessellation.fractional_spacing

The test code dereferences first element of empty std::vector, what
may cause an assert in debug builds (depending on toolchain and it's
settings).

Addects: dEQP-VK.tessellation.*

Components: Vulkan

VK-GL-CTS issue: 710

Change-Id: I2b94a0d03c3523ebf1380a9371765c616fd21b82
(cherry picked from commit b81810d2446bac26ea0d5fb017250934842eb643)

6 years agoFix depth & stencil passOp for pipeline.render_to_image tests
Petros Bantolas [Mon, 18 Sep 2017 16:07:22 +0000 (17:07 +0100)]
Fix depth & stencil passOp for pipeline.render_to_image tests

Affects:
dEQP-VK.pipeline.render_to_image.*_array* with stencil attachments

Those tests render to each layer of the texture in consecutive
subpasses. With a depth/stencil passOp of VK_STENCIL_OP_ZERO, subpasses
after the first one fail the stencil test and skip the render.

Components: Vulkan

VK-GL-CTS issue: 678

Change-Id: Ia704192b8d7e316dacaa7549faa5cb5aa0def60e
(cherry picked from commit 09c67dc11c94f48a03a91c5be920fb940cdc792c)

6 years agoFix unreasonable memory expectations in pipeline.render_to_image
Arkadiusz Sarwa [Tue, 12 Sep 2017 11:28:39 +0000 (13:28 +0200)]
Fix unreasonable memory expectations in pipeline.render_to_image

Affects:
dEQP-VK.pipeline.render_to_image.*

Components: Vulkan

VK-GL-CTS issue: 526

Change-Id: I71ea0381663c39786b227ed712e1111ec3c71cfb
(cherry picked from commit 069aa0ad097f543438b39a260eea52278867ffa8)

6 years agoFix imageExtent to use correct destination size
Piers Daniell [Wed, 4 Oct 2017 16:51:12 +0000 (10:51 -0600)]
Fix imageExtent to use correct destination size

This fixes an issue with using imageParms to specify the
imageExtent for the cases where the test has done scaling
between the source and destination surfaces.

VK-GL-CTS issue: 729

Affects:

dEQP-VK.api.copy_and_blit.*

Change-Id: I4053496dfa1fdedd9edb7e108e554cb988559bcf
Components: Vulkan
(cherry picked from commit 16986d105c5af4c4ef6f8f54df5c42ec5c357bb5)

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
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

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
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

6 years agoUpdate gl.xml revision
Alexander Galazin [Wed, 10 Jan 2018 10:34:00 +0000 (11:34 +0100)]
Update gl.xml revision

Change-Id: I7cb16bd139e801df2d2090ad5dd5d6267a6d19f9
Component: Framework

6 years agoRound up vertex buffer size to stride multiple to fix OOB attribute reads
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)

6 years agoTest OES_texture_3D
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

6 years agoFix Windows build
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

6 years agoAdd tests for VK_EXT_sampler_filter_minmax
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

6 years agoTest packed pixels
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

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
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

6 years agoMerge remote-tracking branch oreo-mr1-cts-dev into master.
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

6 years agoRun Draw*BaseVertex if EXT_draw_elements_base_vertex is present
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

6 years agoReport tests using Draw*BaseVertex as NotSupported
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

6 years agoRemove dEQP-GLES31.*vertex_array.*_invalid_map tests
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

6 years agoMerge "Switch to libc++."
Treehugger Robot [Thu, 21 Dec 2017 18:52:44 +0000 (18:52 +0000)]
Merge "Switch to libc++."

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master upstream/0.1.0
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

6 years agoSwitch to libc++.
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

6 years agoAdd Travis CI support
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

6 years agoFix mustpass generation
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

6 years agoFixes threshold in draw_indirect tests
Matthew Netsch [Tue, 19 Dec 2017 17:13:56 +0000 (09:13 -0800)]
Fixes threshold in draw_indirect tests

Test reads from RGB10_A2 FBO with RGBA8 pixel buffer but
expects results to be in 1010102 precision. Changes pixel
buffer to be 1010102 type to preserve prescision on read.

Components: OpenGL ES
VK-GL-CTS issue: 530

Affects:
KHR-GLES31.core.draw_indirect.basic*

Change-Id: I0fada7030a25d27607abdb5950077708ab6e31cd

6 years agoAdded test to stress semaphore chains
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

6 years agoFix stageMask (0x1) usage in various tests
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

6 years agoAdded two-step variants of surface clear tests
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

6 years agoAdd suite component to DEQP test module
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

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
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

6 years agoMerge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
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

6 years agoMerge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
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

6 years agoMerge "Avoid watchdog timeout in Vulkan builtin precision tests" into oreo-cts-dev
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

6 years agoDon't delare arrays as static
Ian Romanick [Fri, 15 Dec 2017 00:18:34 +0000 (16:18 -0800)]
Don't delare arrays as static

m_texture_1D and friends may have different values on each invocation of
gl4cts::GetTextureSubImage::Errors::testTwoDimmensionalTextureErrors()
on a full CTS run.  However, the rules for 'static const' initializers
may prevent the values from being updated after the first run.

I discovered this while trying to track down failures in
KHR-GL46.get_texture_sub_image.errors_test that only started occuring
with the 3rd visual tested in a full CTS run.  Running the test by
itself or testing that visual by itself via glcts would not reproduce
the error.  I added some extra debug logging to the driver, and I found
that testOneDimmensionalTextureErrors() and
testTwoDimmensionalTextureErrors() were using different names for the
GL_TEXTURE_1D texture.  I then discovered that the targets of the
textures used from testTwoDimmensionalTextureErrors() were {
GL_TEXTURE_2D, GL_TEXTURE_RECTANGE, GL_TEXTURE_2D } instead of {
GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D }

See also https://bugs.freedesktop.org/show_bug.cgi?id=104154

Components: OpenGL

VK-GL-CTS issue: 912

Affects:
KHR-GL46.get_texture_sub_image.errors_test

Change-Id: I3ce061d9de75df46ff69a7eea4b88f6d17164f30

6 years agoFix (likely) typo in glGetTextureSubImage height calculation
Ian Romanick [Thu, 14 Dec 2017 23:56:59 +0000 (15:56 -0800)]
Fix (likely) typo in glGetTextureSubImage height calculation

The old code used "test_textures[i].id == GL_TEXTURE_1D", but
test_texturess::id contains the texture ID, not the texture target.  As
a result, the GL_TEXTURE_1D test always got the error that it expected,
but it got it for the wrong reason.

Components: OpenGL

VK-GL-CTS issue: 912

Affects:
KHR-GL46.get_texture_sub_image.errors_test

Change-Id: I4d3de1ccbd3b0cc554af23ceae16d590c82e81d4

6 years agoAdd missing JNIEXPORT and JNICALL to create*CTSActivity JNI calls
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

6 years agogl_spirv: fix layout for uniform blocks on state queries test
Alejandro Piñeiro [Fri, 15 Dec 2017 13:37:36 +0000 (14:37 +0100)]
gl_spirv: fix layout for uniform blocks on state queries test

The shader for spirv_modules_state_queries_test was using location for
a uniform block. Although glslang is not raising an error, that is
wrong (See section 4.4.5 of the 4.50 GLSL spec).

Additionally, we should provide a way to identify the uniform block
without using a name, so we should specify the binding (see Issue 21
at ARB_gl_spirv spec).

Modules: OpenGL

VK-GL-CTS issue: 913

Affects:
KHR-GL45.gl_spirv.spirv_modules_state_queries_test
KHR-GL46.gl_spirv.spirv_modules_state_queries_test

Change-Id: I95cb03506bccf76b4188e879960813a060c662aa

6 years agoUse GIT_FOUND instead of Git_FOUND variable
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

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
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

6 years agoFix Invalid VkImageSubresourceRange
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

6 years agoRemove GL_RGB9_E5 from SparseTexture2Allocation
James Helferty [Fri, 8 Dec 2017 21:44:32 +0000 (16:44 -0500)]
Remove GL_RGB9_E5 from SparseTexture2Allocation

SparseTexture2Allocation tests multisample textures; since GL_RGB9_E5
is not required to be supported as a multisample texture format, it
shouldn't be included in this test.

Components: OpenGL
VK-GL-CTS issue: 892

Affects:
KHR-GL4x.sparse_texture2_tests.SparseTexture2Allocation

Change-Id: I58fa72c26d8cc0c2060b8176aeec4f7d3e43787f

6 years agoUpdate gl_spirv tests fallback binaries
Alejandro Piñeiro [Wed, 13 Dec 2017 11:43:12 +0000 (12:43 +0100)]
Update gl_spirv tests fallback binaries

ARB_gl_spirv tests include off-line fallback binaries in the case of
glslang/spirv-tools not being available. During the review process of
those tests, it was agreed to remove the noise function test, but the
binaries were not updated.

Modules: OpenGL

VK-GL-CTS issue: 897

Affects:
KHR-GL45.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test
KHR-GL45.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test

Change-Id: I8be837a286a3c013568101d5aa1ae3d6fd4eca8f

6 years agoAvoid redundant shader creation for clamp tests
James Helferty [Wed, 6 Dec 2017 20:07:29 +0000 (15:07 -0500)]
Avoid redundant shader creation for clamp tests

Avoid redundant work involving creation of shaders. By rearranging the
order in which we iterate loops, we can avoid a signficant amount of
shader string manipulation and redundant shader creation. (This should
reduce the run time for this test without impacting coverage.)

Component: OpenGL
VK-GL-CTS issue: 889

Affects:
KHR-GL4x.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL4x.sparse_texture_clamp_tests.SparseTextureClampLookupColor

Change-Id: If0cb11827c45da6b13d81115d4a8a9143d31e8c6

6 years agoFix expectation for state queries SPIR-V test
Alejandro Piñeiro [Fri, 8 Dec 2017 07:47:03 +0000 (08:47 +0100)]
Fix expectation for state queries SPIR-V test

The test removes the names for several variables of the shader, and
then it expect a length of 1 for all of them when doing a state
query. But on the case of TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH it
should return a 0.

From spec:
   "If pname is TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, the length of
   the longest output variable name specified to be used for transform
   feedback, including a null terminator, is returned. If no outputs
   are used for transform feedback, zero is returned. If no name
   reflection information is available, one is returned."

In this shader, transform feedback is not activated, so instead of
applying the last sentence, it should apply the sentence "If no
outputs are used for transform feedback, zero is returned".

Modules: OpenGL

VK-GL-CTS issue: 886

Affects:
KHR-GL45.gl_spirv.spirv_modules_state_queries_test
KHR-GL46.gl_spirv.spirv_modules_state_queries_test

Change-Id: I02ad02ee252e6703411ced4f14a7d753b3ef3eda

6 years agoAdd test for sparse render target.
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

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/master
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

6 years agoModify spirv_assembly tests adding dependency on 16bit_storage extension
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

6 years agoFix stageMask (0x1) usage in renderpass, image and texture tests
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

6 years agoRelax precision for atan2 built-in precision tests
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

6 years agoModify spirv_assembly tests adding dependency on 16bit_storage extension
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

6 years agoAvoid creating vkInstances for not supported cases
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

6 years agoFix mediump zero division in matrix inverse tests
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

6 years agoPermit different errors in context creation tests
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.

6 years agoDon't assume rendering complete before buffer latch
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

6 years agoBlock/non-block uniforms match
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

6 years agoAdded tests for different shader varying vec width
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

6 years agoTest binding model with multiple descriptor sets
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

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
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

6 years agoUpdate KC CTS reference
Alexander Galazin [Fri, 8 Dec 2017 10:54:49 +0000 (11:54 +0100)]
Update KC CTS reference

Component: OpenGL

Change-Id: I112d7af5b25398407444f31ca6b37cae836ec820

6 years agoUse less nesting in many arrays of arrays tests.
Kenneth Graunke [Thu, 30 Nov 2017 08:13:35 +0000 (00:13 -0800)]
Use less nesting in many arrays of arrays tests.

Testing 8 levels of array-of-array nesting is very thorough, but a bit
overkill.  It creates a huge amount of register pressure which tends to
slow down compilers, causing the test to take an unreasonable amount of
time to run.  This patch reduces it to 4 levels in many subtests, which
should still be a reasonable amount of testing while running in much
less time.

This cuts the runtime of KHR-GL46.arrays_of_arrays_gl.* by 33 minutes
(43 -> 10) on my laptop's discrete GPU.  With the Intel Mesa driver,
it cuts it by 17 minutes (23 -> 6).

Some tests still exercise 8 levels of nesting, so there's still some
coverage of that scenario.

Components: OpenGL
VK-GL-CTS issue: 878

Affects:
- KHR-GL4*.arrays_of_arrays_gl.InteractionFunctionCalls1
- KHR-GL4*.arrays_of_arrays_gl.InteractionFunctionCalls2
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing1
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing2
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing3
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing4
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing5
- KHR-GL4*.arrays_of_arrays_gl.InteractionArgumentAliasing6
- KHR-GL4*.arrays_of_arrays_gl.SubroutineFunctionCalls1
- KHR-GL4*.arrays_of_arrays_gl.SubroutineFunctionCalls2
- KHR-GL4*.arrays_of_arrays_gl.SubroutineArgumentAliasing1
- KHR-GL4*.arrays_of_arrays_gl.SubroutineArgumentAliasing2
- KHR-GL4*.arrays_of_arrays_gl.SubroutineArgumentAliasing3
- KHR-GL4*.arrays_of_arrays_gl.SubroutineArgumentAliasing4
- KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls1
- KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing1
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing2
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing3
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing4
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing5
- KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing6

Change-Id: Ia26ac5fb94799a2f80c9e2e9553c066d9c13c59b

6 years agoDO NOT MERGE: Merge Oreo MR1 into master
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

6 years agoDon't assume rendering complete before buffer latch
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

6 years agoDon't assume rendering complete before buffer latch am: 9e0214cf61
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

6 years agoDon't assume rendering complete before buffer latch
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

6 years agoFix OpCopyObject from U32 to S32
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

6 years agoDon't assume rendering complete before buffer latch
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

6 years agoFix build when .git is a gitlink file
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

6 years agoFix OpenGL function prototype calling conventions
Piers Daniell [Fri, 1 Dec 2017 21:17:54 +0000 (14:17 -0700)]
Fix OpenGL function prototype calling conventions

OpenGL doesn't use the default function calling convention
on all platforms, which is why gl.h defines the macros
GL_APICALL and GL_APIENTRY for applications to use when
defining their own OpenGL function prototypes. Not using
these may cause a crash if an OpenGL function is called
with the wrong calling convention.

Affects:
KHR-GL46.transform_feedback.*

Components: OpenGL

VK-GL-CTS issue: 882

Change-Id: I8766262b32a04b8eff8e110e1f116c2f915274e9

6 years agoAvoid watchdog timeout in Vulkan builtin precision tests
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

6 years agoTest required_internalformat
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