platform/upstream/VK-GL-CTS.git
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 "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev am: 4c26442e3d
Jeff Leger [Fri, 12 Jan 2018 01:35:31 +0000 (01:35 +0000)]
Merge "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev am: 4c26442e3d
am: d9b0dd51d2

Change-Id: Iddae106a643abc1cae3a66877bc6f32126ea5781

6 years agoMerge "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev
Jeff Leger [Fri, 12 Jan 2018 01:31:43 +0000 (01:31 +0000)]
Merge "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev
am: 4c26442e3d

Change-Id: I32a3a35837be16886acebd28e30ccdadffa73811

6 years agoMerge "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev
Treehugger Robot [Fri, 12 Jan 2018 01:10:31 +0000 (01:10 +0000)]
Merge "Reduce GPU workload of pipeline_barrier tests" into oreo-cts-dev

6 years agoglshared: Add watchdog touches to avoid timeouts on slow hardware am: 0d9250e9eb
Chris Forbes [Thu, 11 Jan 2018 22:32:16 +0000 (22:32 +0000)]
glshared: Add watchdog touches to avoid timeouts on slow hardware am: 0d9250e9eb
am: 65715b7354

Change-Id: I7530fe8d79d43fb5a269347cd302709c7498b764

6 years agoglshared: Add watchdog touches to avoid timeouts on slow hardware
Chris Forbes [Thu, 11 Jan 2018 22:22:49 +0000 (22:22 +0000)]
glshared: Add watchdog touches to avoid timeouts on slow hardware
am: 0d9250e9eb

Change-Id: If675c974a2389787e53d2d618509ca81a48990d9

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 agoAdd multiview entry points to GL wrappers.
Philip Rideout [Wed, 20 Dec 2017 21:38:17 +0000 (13:38 -0800)]
Add multiview entry points to GL wrappers.

Prepare for upcoming multiview conformance tests.

Change-Id: Ie3d8bbb4ae747e90c4f3e4a9632ebc4e5a085d00
Test: Built dEQP along with a pending change that tests multiview.
Components: Framework

6 years agoglshared: Add watchdog touches to avoid timeouts on slow hardware
Chris Forbes [Thu, 21 Dec 2017 18:22:58 +0000 (10:22 -0800)]
glshared: Add watchdog touches to avoid timeouts on slow hardware

Based on diffs posted to deqp-external-requests

Bug: b/71753331
Bug: b/67854695

Change-Id: Id25e334814caf65f72b76e66d3b07fccba5ad355
Component: AOSP

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 agoAccept EGL_BAD_PARAMETER for eglCreatePixmapSurface negative test
asagarwal [Thu, 7 Dec 2017 05:05:04 +0000 (10:35 +0530)]
Accept EGL_BAD_PARAMETER for eglCreatePixmapSurface negative test

Running CTS conformance test on wayland results in test failure for
dEQP-EGL.functional.negative_api.create_pixmap_surface, since the test
expects EGL_BAD_CONFIG, but actual returned error is EGL_BAD_PARAMETER.

According to EGL_EXT_platform_wayland spec,
(https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_platform_wayland.txt)
any call to eglCreatePlatformPixmapSurfaceEXT() on wayland will return
EGL_BAD_PARAMETER.

Ideally, both eglCreatePixmapSurface() and
eglCreatePlatformPixmapSurfaceEXT() should be considered the same, since
internally both calls do the same thing.

This is one of those situations where multiple errors could be reported
given that multiple invalid parameters are provided (invalid platform +
invalid config).

This change accepts both error values EGL_BAD_CONFIG and
EGL_BAD_PARAMETER for eglCreatePixmapSurface negative test.

VK-GL-CTS public issue: 68

Affects: dEQP-EGL.functional.negative_api.create_pixmap_surface
Test: Run the test on wayland platforms
Components: AOSP

Change-Id: Ic20e22a1916e2901acbf37faa86d1f7644465dab

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 agoLimit maximum allocation size in memory mapping tests
Pyry Haulos [Fri, 19 Aug 2016 12:20:38 +0000 (13:20 +0100)]
Limit maximum allocation size in memory mapping tests

Fixes also ReferenceMemory::m_flushed memory usage counting when
estimating reference memory usage (size should be divided by atomSize).

Fixes #468
Bug: b/69677943

Change-Id: Iad754e211e8070b09254d2451e03418fc2be541b

6 years agoImprove memory tracking in vulkan memory mapping tests
Mika Isojärvi [Tue, 7 Jun 2016 19:39:37 +0000 (12:39 -0700)]
Improve memory tracking in vulkan memory mapping tests

- Round up allocation size to multiple of page size for
  memory usage tracking.
- Update reference memory usage tracking to follow new reference memory
  implementation.

Bug: b/69677943

Change-Id: I219c2b3abe0ee0731f5a7e2bb44492e5b85b95c2

6 years agoOptimize random memory mapping tests reference memory
Mika Isojärvi [Tue, 7 Jun 2016 18:21:46 +0000 (11:21 -0700)]
Optimize random memory mapping tests reference memory

Bug: b/69677943

Change-Id: I7af6fe67a25462dcb0acc66c238a8708157060df

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

6 years agoReduce GPU workload of pipeline_barrier tests
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

6 years agoVulkan: Add wide-color tests
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

6 years agoUpdate KC CTS reference
Alexander Galazin [Fri, 1 Dec 2017 14:02:32 +0000 (15:02 +0100)]
Update KC CTS reference

Component: OpenGL

Change-Id: I5cfa8633cdc7af147351951e7c1cd89908ea3f45

6 years agoAdd OpenGL 4.6 configuration
Piers Daniell [Mon, 27 Nov 2017 19:26:19 +0000 (12:26 -0700)]
Add OpenGL 4.6 configuration

The CTS-Configs.gl46 entry was missing from the configs.qpa
file and results in validation failure.

Affects:

cts-runner --type=gl46

Components: OpenGL

VK-GL-CTS issue: 866

Change-Id: I16745a7ce36040f8ef60cfbb1e4ffac250b289ee

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

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

6 years agoAdd new tests for OpSConvert and OpFConvert
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

6 years agoRemoved duplicate fvec3 declaration
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

6 years agoFix PIPELINE_STAGE_TOP_OF_PIPE_BIT usage in api tests
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

6 years agoTest if mediump optimizations are not to aggressive
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

6 years agoTest component qualifier in shaders
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

6 years agoReduce GPU workload of pipeline_barrier tests
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.

b/68360750

Affects: dEQP-VK-memory.pipeline_barrier.*

Components: Vulkan

VK_GL_CTS issue: 813

Change-Id: If8772973fd49cac0b8cc5fa66c33af4de38f2f68

6 years agoFix maximum location for varying location limit test
Iago Toral Quiroga [Thu, 23 Nov 2017 08:30:35 +0000 (09:30 +0100)]
Fix maximum location for varying location limit test

The varying location limit tests for enhanced layouts produces
shader code where it attempts to use a location that is 1 slot
beyond the limit available for each shader stage and expects
linker errors as a result.

However, the functions it uses to compute the maximum location
slot available in a shader stage also consider the stage it will
be linked to to cap that limit (which is required to produce valid
shader code in other tests that also use these functions).

This affects scenarios where, for example, one stage allows up to
32 output locations but the stage it is linked to only accepts
up to 16 inputs. In such scenario, these functions will return
a limit of 16 for the stage that can output 32 so the shader code
produced can link.

However, the varying location limit test intends to produce an
invalid location by adding 1 to the maximum location slot for that
stage (so it wants to produce 32 + 1 = 33 in the case above), so
in this particular case we want the connecting stage to be
ignored.

Add a boolean flag to these functions so we can select between both
behaviors when computing the maximum location for a given stage
and make the varying location limit test force the behavior where
the maximum location in the connecting shader stages is ignored.

Components: OpenGL
VK-GL-CTS issue: 863

Affects:
KHR-GL45.enhanced_layouts.varying_location_limit
KHR-GL46.enhanced_layouts.varying_location_limit
KHR-GL45.enhanced_layouts.varying_locations
KHR-GL46.enhanced_layouts.varying_locations
KHR-GL45.enhanced_layouts.varying_array_locations
KHR-GL46.enhanced_layouts.varying_array_locations
KHR-GL45.enhanced_layouts.varying_components
KHR-GL46.enhanced_layouts.varying_components
KHR-GL45.enhanced_layouts.varying_array_components
KHR-GL46.enhanced_layouts.varying_array_components

Change-Id: If766582bf494942abdad3e1dde5e1ed8149f4333

6 years agoDelete GTF mustpass files
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

6 years agoCorrect robust buffer access behavior tests
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

6 years agoAdded constraints for random access flags
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

6 years agoDo not use depthClampEnable unconditionally.
Juan A. Suarez Romero [Fri, 10 Nov 2017 11:20:36 +0000 (11:20 +0000)]
Do not use depthClampEnable unconditionally.

Depth clamping is not needed by these tests, so
do not rely on the optional feature when creating
the pipeline object.

Affects:
dEQP-VK.spirv_assembly.*

Components: Vulkan

VK-GL-CTS issue: 846

Change-Id: I248759e6ac209ccbd7661068c3ef5f1dfb8ca501

6 years agoRemove duplicated definitions in spirv_assembly tests
Juan A. Suarez Romero [Fri, 10 Nov 2017 09:50:10 +0000 (09:50 +0000)]
Remove duplicated definitions in spirv_assembly tests

Duplicated definitions are now allowed.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_*
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.vector_related
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.vector_related_*

Components: Vulkan

VK-GL-CTS issue: 847

Change-Id: Ie09293ece03eeb25893aa66e7cb23e7ad8fa5e95