platform/upstream/VK-GL-CTS.git
6 years agoAdd test for dynamically indexing output variable components
Ari Suonpaa [Thu, 26 Apr 2018 09:27:44 +0000 (12:27 +0300)]
Add test for dynamically indexing output variable components

Added test where output variable component is dynamically selected
using input data. Graphics test framework was modified to support
code inside main function as the output variables are not visible
inside a test function. Fixed support for vec4 output variables in
the same framework. Previously it was resulting in a code that wasn't
accepted by the validator.

Affects:

dEQP-VK.spirv_assembly.*

Components: Vulkan

VK-GL-CTS issue: 1122

Change-Id: I78f149b0f709e1d11dd977cc432fec0e5f971bed

6 years agoAdd AHardwareBuffer support to external memory tests
Khushal [Fri, 13 Apr 2018 23:53:42 +0000 (16:53 -0700)]
Add AHardwareBuffer support to external memory tests

Added tests:
* dEQP-VK.api.external.memory.android_hardware_buffer.*

Components: Vulkan
VK-GL-CTS issue: 738

cherry-picked from: https://gerrit.khronos.org/#/c/1455/

V4: fix broken handle lifetime (Thanks Tony)

Change-Id: I8c9911692c46b4dd622424b20bd1f9827fac6796

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 18 May 2018 11:12:32 +0000 (13:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I4b35a41d666a707410f88f222c93b661f7d983a1

6 years agoFix check for 16-bit extension for 16-bit conversion functions.
Dave Airlie [Mon, 30 Apr 2018 03:02:29 +0000 (13:02 +1000)]
Fix check for 16-bit extension for 16-bit conversion functions.

All the 16-bit conversion tests run even if the vulkan implementation
doesn't advertise the 16-bit storage feature. Request the 16-bit
storage feature for all the 16-bit tests.

Components: Vulkan

Affect:
dEQP-VK.spirv_assembly.instruction.*convert*16*
VK-GL-CTS issue: 1150

Change-Id: Icf58fdd0af5c757d44716b5cddd193f78827192f

6 years agoLimit protected swapchain images based on memory
Jesse Hall [Wed, 16 May 2018 23:56:54 +0000 (16:56 -0700)]
Limit protected swapchain images based on memory

A surface's maxImageCount isn't based on the swapchain image extents
or format, so it's valid for swapchain creation to fail for
out-of-memory reasons even when the image count is within the
supported range.

This is particularly problematic for protected swapchains, since many
implementations have a limit on the total amount of protected memory
that can be allocated which is much smaller than total device memory.

This change estimates how much memory is used by protected swapchain
images, compares that to the size of heaps that support protected
memory types, and doesn't try to create swapchains that would have
more images than would fit within that size.

Components: Vulkan

VK-GL-CTS Issue: 1167

Affects:
    dEQP-VK.protected_memory.interaction.wsi.*.swapchain.create.min_image_count

Change-Id: I6cc3bd25f7f22de8424f9e3375ade35fac26a884

6 years agoDon't use invalid sType as canary value for arrays
Piers Daniell [Fri, 4 May 2018 22:53:25 +0000 (16:53 -0600)]
Don't use invalid sType as canary value for arrays

Using an invalid sType in an array is a violation of Vulkan
valid usage and will fail the test if validation layers
are enabled.

This CL also ensures the property structs passed into the
get functions have their sType initialized correctly.

Affects: dEQP-VK.wsi.display.*

Components: Vulkan

VK-GL-CTS issue: 1155

Change-Id: I4b9b00248265b2e3c7d0b2b652e98d2f0f5a0902

6 years agoClear image layer 0 in memory commitment test
Graeme Leese [Thu, 26 Apr 2018 14:06:12 +0000 (15:06 +0100)]
Clear image layer 0 in memory commitment test

Components: Vulkan
Affected:   dEQP-VK.api.get_memory_commitment.memory_commitment
VK-GL-CTS issue: 1151

Change-Id: I95676f18f91470248ac19270778b897626a31f2c

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Thu, 17 May 2018 17:00:15 +0000 (10:00 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I895c6d9ec918a2c89ec28df2ca75fbecb0adaaa1

6 years agoFix improper use of vkCmdWaitEvents
Peter Quayle [Wed, 16 May 2018 13:30:38 +0000 (14:30 +0100)]
Fix improper use of vkCmdWaitEvents

dEQP-VK.synchronization.smoke.events was calling vkCmdWaitEvents inside
a render-pass, which is not allowed if the event is later set using
vkSetEvent.

This is the part of change 2421 which was lost when change 2362 was
merged to master.

Affects:

dEQP-VK.synchronization.smoke.events

Components: Vulkan

VK-GL-CTS issue: 1089

Change-Id: Iddb17805fbffc426ac370e058a217ee7daf08e6a

6 years agoFixed some visual studio warnings
Jari Komppa [Tue, 15 May 2018 11:26:15 +0000 (14:26 +0300)]
Fixed some visual studio warnings

Added some casts to quiet some warnings given by visual studio, mainly
int-float conversions and signed-unsigned comparison mismatches.

Affects:

None

Components: OpenGL

VK-GL-CTS issue: 1164

Change-Id: I56735830f275ff50116b53051a9b9a6d333edf7f

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Thu, 19 Apr 2018 15:35:40 +0000 (15:35 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 format in RenderBuffer should fail
for OpenGL ES 2.0 because it is not supported in the specification,
unless either EXT_sRGB or EXT_sRGB_write_control are implemented, as
they add this format as supported.

But when creating the OpenGL context, it can be either 2.0 or an upper
version. If 3.0+ is returned, this version supports this format without
those extensions, and thus the test should pass.

So this change ensures that if OpenGL ES 3.0+ context is returned, then
the use of GL_SRGB8_ALPHA8 in RenderBuffer should work.

Affected tests:
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: Ibb95736959ff9d5b0ff972ccf3983abc98795be3
(cherry picked from commit a72652c15bbb6bbeed3fdf357630166095c44d91)

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Tue, 15 May 2018 15:57:53 +0000 (08:57 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Ic7f1d3a9f9c59e23a51193eb616e62e638280877

6 years agoAdd tests for the VK_KHR_8bit_storage extension
Arkadiusz Sarwa [Mon, 22 Jan 2018 09:10:52 +0000 (10:10 +0100)]
Add tests for the VK_KHR_8bit_storage extension

Affect tests:
dEQP-VK.api.info.get_physical_device_properties2.features

Add tests:
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 791

Change-Id: Ib29c03bf2cf59f70ad652f09bfa45260fef10e4f

6 years agoAdd 16bit storage access chain tests
Ari Suonpaa [Tue, 17 Apr 2018 11:13:24 +0000 (14:13 +0300)]
Add 16bit storage access chain tests

Add tests to index data inside an array of structures. Covers 16bit
floats, integers, and unsigned integers.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_32_chainaccess.*

Components: Vulkan

VK-GL-CTS issue: 893

Change-Id: Iec98775737f2c2885d97f346096dc95e6a652cef

6 years agoAdd tests for 16-bit OpSwitch
Juan A. Suarez Romero [Mon, 16 Apr 2018 15:45:05 +0000 (15:45 +0000)]
Add tests for 16-bit OpSwitch

Extend OpSwitch testing to cover signed and unsigned 16-bit integer
cases.

Add tests:
dEQP-VK.spirv_assembly.type.scalar.u16.switch_*
dEQP-VK.spirv_assembly.type.scalar.i16.switch_*

Components: Vulkan

VK-GL-CTS issue: 995

Change-Id: Icb39d94fd6112be2e7a1d07d481c2098247babb1

6 years agoAdd SPIR-V tests for return values of atomic functions
Slawomir Cygan [Wed, 21 Mar 2018 16:32:50 +0000 (17:32 +0100)]
Add SPIR-V tests for return values of atomic functions

Most of atomic functions return values before applying
atomic operation - this change adds tests for that.

Return values are captured to separate buffer and
matched to the final result (and arguments).

Components: Vulkan

VK-GL-CTS Issue: 1092

New Tests:
dEQP-VK.spirv_assembly.instruction.compute.opatomic_return_values.*
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opatomic*

Change-Id: I96390ed1b694f0aa2bd6d92868da46fef3d5e249

6 years agoTest using gl_Layer in Vertex and Tessellation shaders
Caio Marcelo de Oliveira Filho [Wed, 7 Mar 2018 22:52:20 +0000 (14:52 -0800)]
Test using gl_Layer in Vertex and Tessellation shaders

Needs VK_EXT_shader_viewport_index_layer extension. Test works by
writing rectangles of different colors and positions in each layer,
then verifying the result.

New tests:
- dEQP-VK.draw.shader_layer.*

VK-GL-CTS issue: 1043

Components: Vulkan

Change-Id: I037b8b1283b467b755e94b54d43e68fa4531497e

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Thu, 19 Apr 2018 15:35:40 +0000 (15:35 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 format in RenderBuffer should fail
for OpenGL ES 2.0 because it is not supported in the specification,
unless either EXT_sRGB or EXT_sRGB_write_control are implemented, as
they add this format as supported.

But when creating the OpenGL context, it can be either 2.0 or an upper
version. If 3.0+ is returned, this version supports this format without
those extensions, and thus the test should pass.

So this change ensures that if OpenGL ES 3.0+ context is returned, then
the use of GL_SRGB8_ALPHA8 in RenderBuffer should work.

Affected tests:
dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: Ibb95736959ff9d5b0ff972ccf3983abc98795be3

6 years agoAdd tests for VK_KHR_draw_indirect_count
Ostrowski, Igor [Fri, 9 Feb 2018 10:56:15 +0000 (11:56 +0100)]
Add tests for VK_KHR_draw_indirect_count

This change add new tests for VK_KHR_draw_indirect_count
extension.

New Tests:
dEQP-VK.draw.indirect_draw.*.indirect_draw_count.*
dEQP-VK.draw.indirect_draw.*.indirect_draw_first_instance.*
dEQP-VK.draw.indirect_draw.*.indirect_draw_count_first_instance.*
dEQP-VK.draw.indirect_draw.*.indirect_draw_count_instanced.*

Affected tests:
dEQP-VK.api.info.device.extensions

Components: Vulkan, Framework
VK-GL-CTS issue: 1004

Change-Id: I3d53806eb1a45293a77b940d9c2fa540a6d83d50
(cherry picked from commit 7b47cd53c6656b866e7c3a3c0a590da85f3b2de1)

6 years agoVulkan: Fix WIN32 NativeHandle importMemory leaks
Tony Zlatinski [Thu, 3 May 2018 18:35:51 +0000 (13:35 -0500)]
Vulkan: Fix WIN32 NativeHandle importMemory leaks

importMemory(), incorrectly calls handle.disown()
that discards the reference that the handle originally
added via its copy constructor to the underlying memory
handle.

Affects:
dEQP-VK.api.external.memory.opaque_win32

Components: Vulkan
VK-GL-CTS issue: 1139

Change-Id: Idb5111b7efc2dfbf7d693d79b7ab57814329f33e

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 11 May 2018 14:45:49 +0000 (16:45 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I8ddf54dafd3de02f14526e98aa135176a6d3f3a3

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 11 May 2018 13:28:20 +0000 (15:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I06a95f88214707d9108a46f7374a5e8e0f9bdb59

6 years agoRemove some problematic texture_functions tests
James Glanville [Tue, 24 Apr 2018 21:26:17 +0000 (22:26 +0100)]
Remove some problematic texture_functions tests

Some of the tests in dEQP-GLES3.functional.shaders.texture_functions
are overly sensitive to rounding modes and precision of the CPU
reference implementation. For this reason they were removed from
AOSP. This change removes them from mustpass to match.

VK-GL-CTS issue: 1146
Components: OpenGL

Affects:
dEQP-GLES3.functional.shaders.texture_functions.texturelodoffset.usampler2darray_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.isampler3d_vertex
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler3d_bias_fixed_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler3d_bias_float_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.isampler3d_bias_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.usampler3d_bias_fragment

Change-Id: Id6bfc025a350deb0914d27151e0bae88b42710b6

6 years agoMove unspecified-precision tests from ES2/ES3 to ES3.1
Chris Forbes [Wed, 2 May 2018 23:31:10 +0000 (16:31 -0700)]
Move unspecified-precision tests from ES2/ES3 to ES3.1

Got significant pushback from vendors about enforcing these tests on
ES2/ES3 -- ends up being a vendor choice between breaking shipping
content or failing CTS.

Moved all of these tests to ES3.1 only as a compromise.

Change-Id: I5a827064472f73908b01fa85e0097bda21038136
Components: AOSP
(cherry picked from commit 047891af31d1c8827a84e49e81b5b526ee5ee485)

6 years agoRemove line expression tests
Juan A. Suarez Romero [Thu, 10 May 2018 16:54:21 +0000 (16:54 +0000)]
Remove line expression tests

Using #line directive with an expression is considered as undefined
behaviour. Thus, remove these tests.

Removed:
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_expression_fragment
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_expression_vertex
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_expression_fragment
dEQP-GLES2.functional.shaders.preprocessor.builtin.line_expression_vertex
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_fragment
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_and_file_expression_vertex
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_fragment
dEQP-GLES3.functional.shaders.preprocessor.builtin.line_expression_vertex

Components: OpenGL

VK-GL-CTS issue: 1145

Change-Id: Ib8cb58a8e712397114eb33d8d36c1957b3f5e9b0

6 years agoMerge "Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master"
Alexander Galazin [Fri, 11 May 2018 11:53:34 +0000 (07:53 -0400)]
Merge "Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master"

6 years agoMultiview: do not use inline renderpass with secondary command buffers
Slawomir Cygan [Wed, 18 Apr 2018 13:14:23 +0000 (15:14 +0200)]
Multiview: do not use inline renderpass with secondary command buffers

There is a regression introduced in 7b76766 alongside the new render
pass begin utility:

The new utility sets the render pass contents flag to 'INLINE' by
default. This was overlooked in some multiview tests cases, which use
secondary command buffers - the default should be overriden to
'SECONDARY_COMMAND_BUFFERS'.

Components: Vulkan

VK-GL-CTS Issue: 1133

Affects:
dEQP-VK.multiview.secondary_cmd_buffer_geometry
dEQP-VK.multiview.secondary_cmd_buffer

Change-Id: Ibe42ba4c3e6d2b43ed18ac3684ba480f9dc659a8

6 years agoFix pipeline barrier for clearing multiview attachment
Mateusz Zych [Sat, 14 Apr 2018 00:35:25 +0000 (20:35 -0400)]
Fix pipeline barrier for clearing multiview attachment

Specify correct destination access mask (VK_ACCESS_TRANSFER_WRITE_BIT) and
destination pipeline stage (VK_PIPELINE_STAGE_TRANSFER_BIT) for
transfer operation clearing all Views (array layers) of multiview attachment
using vkCmdClearColorImage().

Components: Vulkan

VK-GL-CTS Issue: 1085

Affects:
    dEQP-VK.multiview.*

Change-Id: Ic87cd1d5a4c7373c3678c96fe942a5dde46ea03f

6 years agoClear all Views of Framebuffer Attachment to reference background color
Mateusz Zych [Sat, 14 Apr 2018 00:11:14 +0000 (20:11 -0400)]
Clear all Views of Framebuffer Attachment to reference background color

The VK_KHR_multiview spec defines that during implicit clear (LOAD_OP_CLEAR)
all Active Views of Framebuffer attachment are cleared.
ViewMask defines which Views are active during particular subpass,
therefore a View is considered active during RenderPass
if it was active in any subpass of that RenderPass.

Without explicit clear of inactive Views their content will be undefined,
making test results unreliable.

This change removes MultiViewReadbackTestInstance::beforeDraw() and
relies on MultiViewRenderTestInstance::beforeDraw()
to clear all Views (array layers) of framebuffer attachment
by calling vkCmdClearColorImage().

Components: Vulkan

VK-GL-CTS Issue: 1085

Affects:
    dEQP-VK.multiview.readback*

Change-Id: I70d8b1c48cb157df2518b7d241a302c54d5842f3

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Fri, 11 May 2018 10:29:10 +0000 (12:29 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ie711cb881e2de39c6bc881ae0ad72e16301145a3

6 years agoFreeze 3.2.4.x mustpass
Alexander Galazin [Fri, 11 May 2018 09:09:40 +0000 (11:09 +0200)]
Freeze 3.2.4.x mustpass

Change-Id: I1ed8e5fc0860c1e01d2eb7ed66f1ba411c31eef1

6 years agoFix validation errors in image tests
Paavo Pessi [Fri, 20 Apr 2018 11:56:37 +0000 (14:56 +0300)]
Fix validation errors in image tests

Image tests using VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR
and VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR had a pipeline barrier with
an invalid pipeline stage flag. The flag was changed to a valid value.

Affects:

dEQP-VK.image.texel_view_compatible.compute.basic.image_load.*
dEQP-VK.image.texel_view_compatible.compute.basic.texel_fetch.*
dEQP-VK.image.texel_view_compatible.compute.basic.texture.*
dEQP-VK.image.texel_view_compatible.compute.basic.image_store.*
dEQP-VK.image.texel_view_compatible.compute.extended.image_load.*
dEQP-VK.image.texel_view_compatible.compute.extended.texel_fetch.*
dEQP-VK.image.texel_view_compatible.compute.extended.texture.*
dEQP-VK.image.texel_view_compatible.compute.extended.image_store.*
dEQP-VK.image.texel_view_compatible.graphic.basic.attachment_write.*
dEQP-VK.image.texel_view_compatible.graphic.basic.texture_write.*
dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_write.*
dEQP-VK.image.texel_view_compatible.graphic.extended.texture_write.*
dEQP-VK.image.extended_usage_bit.attachment_write.*
dEQP-VK.image.extended_usage_bit.texture_write.*

Components: Vulkan

VK-GL-CTS issue: 1051

Change-Id: Ie76fd515f04462d7f6ec2c2474d0af65737ccd9c

6 years agoRandomize image layout in renderpass attachment allocation test
Ari Suonpaa [Fri, 20 Apr 2018 09:24:31 +0000 (12:24 +0300)]
Randomize image layout in renderpass attachment allocation test

Renderpass attachment allocation tests were using subpass image
layout of VK_IMAGE_LAYOUT_GENERAL. Now the layout is randomized
whenever possible.

Affects:

dEQP-VK.renderpass.*.attachment_allocation.input_output.*

Components: Vulkan

VK-GL-CTS issue: 1136

Change-Id: If59d42c50a2809c661ad56f0226b230659bc471f

6 years agoCheck ballot requirement in subgroup basic tests
Graeme Leese [Thu, 8 Mar 2018 15:54:13 +0000 (15:54 +0000)]
Check ballot requirement in subgroup basic tests

If ballot operations are not supported then the tests should return
NotSupported.

Components: Vulkan
Affects: dEQP-VK.subgroups.basic.*_framebuffer
VK-GL-CTS issue: 1127

Change-Id: I2c72a0821799ec2b94c08d2791f9d013ef7d122c

6 years agoFix window size issues in several new tests
Mark Adams [Mon, 16 Apr 2018 20:39:06 +0000 (16:39 -0400)]
Fix window size issues in several new tests

Some of the new tests added in the last 6 months fail when run with
non-default window sizes. In two cases, the tests were hardcoded to use
64x64 without checking the underlying size and thus could end up
with corruption if the window size was smaller.

In another case, the test changes the framebuffer to zero mid-test
instead of to the default framebuffer, resulting in invalid results
with deqp-surface-type=fbo.

Finally, the generated texture data's alpha is intended to always
be 1.0, but it can vary slightly due to numerical instability
depending on the window size. It is now hardcoded to ensure we
get the intended result.

VK-GL-CTS issue: 1126

Components: OpenGL

Affects:
KHR-GL*.internalformat.renderbuffer.*
KHR-GL*.internalformat.texture2d.*
KHR-GLES*.shaders.aggressive_optimizations.*

Change-Id: I3c1779cc7818ba5b1a798ec683af2780eeb9c9f4

6 years agoFixes wrong MIN_MAP_BUFFER_ALIGNMENT limit
Rahul Jain [Tue, 8 May 2018 11:16:49 +0000 (16:46 +0530)]
Fixes wrong MIN_MAP_BUFFER_ALIGNMENT limit

As per GL spec 4.6 P:632, Table 23.55,
It is given that MIN_MAP_BUFFER_ALIGNMENT should be aleast 64 or higher
Currently CTS test is limiting to 64 as maximum.

Affects:

KHR-GL46.limits.min_map_buffer_alignment
KHR-GL46.map_buffer_alignment.query
KHR-GL46.map_buffer_alignment.functional

Components: OpenGL

VK-GL-CTS issue: 1158

Change-Id: I6e4feea6e91bbf0e030b0dfcdbc49c716ffd8145

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Thu, 3 May 2018 17:11:46 +0000 (10:11 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: I24e845d3dd6283d88fed3fb17db9a5379e620a99

6 years agoMerge commit '1d8110d34037070f007347a41b8212088d44df1e' into deqp-dev
Chris Forbes [Thu, 3 May 2018 17:11:30 +0000 (10:11 -0700)]
Merge commit '1d8110d34037070f007347a41b8212088d44df1e' into deqp-dev

Change-Id: Ifbbc3a9c5ebc1c4bc343369c227c2254162533a1

6 years agoMove unspecified-precision tests from ES2/ES3 to ES3.1
Chris Forbes [Wed, 2 May 2018 23:31:10 +0000 (16:31 -0700)]
Move unspecified-precision tests from ES2/ES3 to ES3.1

Got significant pushback from vendors about enforcing these tests on
ES2/ES3 -- ends up being a vendor choice between breaking shipping
content or failing CTS.

Moved all of these tests to ES3.1 only as a compromise.

Change-Id: I5a827064472f73908b01fa85e0097bda21038136
Components: AOSP

6 years ago[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulka...
android-build-prod (mdb) [Tue, 1 May 2018 17:27:58 +0000 (10:27 -0700)]
[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD" into oreo-mr1-cts-dev
am: ea8d8c6e51  -s ours

Change-Id: Iafc1890dde07fdf56154e1742ce2d59648bc02af

6 years agoMerge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into...
android-build-prod (mdb) [Tue, 1 May 2018 17:23:07 +0000 (17:23 +0000)]
Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD" into oreo-mr1-cts-dev

6 years agoAllow the window to be recreated in the middle of a test am: 30ef1bf331 am: 38611cff1b
Lloyd Pique [Mon, 30 Apr 2018 19:34:53 +0000 (12:34 -0700)]
Allow the window to be recreated in the middle of a test am: 30ef1bf331 am: 38611cff1b
am: 6eca3b9153

Change-Id: I9347f789b79bf1bbcb128aab72ff4e62a662537a

6 years agoAllow the window to be recreated in the middle of a test am: 30ef1bf331
Lloyd Pique [Mon, 30 Apr 2018 19:30:50 +0000 (12:30 -0700)]
Allow the window to be recreated in the middle of a test am: 30ef1bf331
am: 38611cff1b

Change-Id: Ib6b7ff02fe67679472877a9cc5dff04f7d01a17a

6 years agoAllow the window to be recreated in the middle of a test
Lloyd Pique [Mon, 30 Apr 2018 19:26:18 +0000 (12:26 -0700)]
Allow the window to be recreated in the middle of a test
am: 30ef1bf331

Change-Id: Ic2683d5ad4515c3d65339b5027e76b1574374548

6 years ago[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulka...
android-build-prod (mdb) [Mon, 30 Apr 2018 17:36:57 +0000 (10:36 -0700)]
[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD" into oreo-cts-dev am: 354706417a  -s ours
am: c78fc14ea5  -s ours

Change-Id: Iedf43f729df806befedad07e7f8ae5d7b4bddd92

6 years ago[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulka...
android-build-prod (mdb) [Mon, 30 Apr 2018 17:32:26 +0000 (10:32 -0700)]
[automerger skipped] Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD" into oreo-cts-dev
am: 354706417a  -s ours

Change-Id: I37e6dad1ab2d2eb9bee4a529f16c77981afbb54b

6 years agoMerge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into...
android-build-prod (mdb) [Mon, 30 Apr 2018 17:30:06 +0000 (17:30 +0000)]
Merge "DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD" into oreo-cts-dev

6 years agoDO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD
Chris Forbes [Tue, 27 Feb 2018 00:31:59 +0000 (16:31 -0800)]
DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD

Change-Id: Id624bed0598e117aff161ee6ed92a135095e33d7
Bug: b/73945443

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 27 Apr 2018 21:50:03 +0000 (14:50 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I7ae8d3a5d6fd711f7dc63c09b0c5d2fde386bb65

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Fri, 27 Apr 2018 21:34:56 +0000 (14:34 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: I868b09888968cdc3e233f5eef87967faa18b9b8e

6 years agoDo not fail plane tests when there is no display
Liam Middlebrook [Thu, 26 Apr 2018 21:43:25 +0000 (14:43 -0700)]
Do not fail plane tests when there is no display

Instead, we should mark these tests as not supported. The Vulkan spec
states that:
    Devices must support at least one plane on each display

If there are no displays connected, the driver is allowed to return 0
planes.

VK-GL-CTS issue: 1138

Change-Id: Ie7ddc35f4f11fbfa54f8c31cc3864f52adb1bb7f
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities
Affects: dEQP-VK.wsi.display.create_display_plane_surface

6 years agoDo not fail display tests when there is no display
Damien Leone [Mon, 30 Oct 2017 23:15:25 +0000 (16:15 -0700)]
Do not fail display tests when there is no display

Instead, we should mark these tests as not supported. It is valid per the
Vulkan spec to have the extension report 0 displays connected.

Affects: dEQP-VK.wsi.display.*

Component: Vulkan

VK-GL-CTS issue: 1105

Change-Id: Iaae928a862dcc3827094d898a5455ecfe3920936

6 years agoDo not test CLEAR loadOp with read-only depth stencil image layouts
Slawomir Cygan [Tue, 24 Apr 2018 15:50:19 +0000 (17:50 +0200)]
Do not test CLEAR loadOp with read-only depth stencil image layouts

It is invalid to use implicit clears with depth stencil images, which first
render pass usage is in read only depth/stencil image layout

Spec:
"
For any member of pAttachments with a loadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL.

For any member of pAttachments with a stencilLoadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL."

Component: Vulkan

Affects:
dEQP-VK.renderpass.suballocation.formats.d*.clear.*_read_only

VK-GL-CTS Issue: 1144

Change-Id: Iad78473fe4bdf87dac5aff5bcc1c2b888e790cb8

6 years agoFix logging issues when shader cache is enabled
Jari Komppa [Tue, 24 Apr 2018 09:08:28 +0000 (12:08 +0300)]
Fix logging issues when shader cache is enabled

When shaders were loaded from cache, log output said that linking
failed. This change fixes this and outputs the cache string as the
shader source. The info log also now says that the shader was loaded
from cache.

Affects:

None

Components: Framework, Vulkan

VK-GL-CTS issue: 1142

Change-Id: Ia9e060572c80a35152838fda1d5fbfd0fb6051a8

6 years agoTests for VK_KHR_create_renderpass2: multiview
Boris Zanin [Tue, 20 Mar 2018 14:54:56 +0000 (15:54 +0100)]
Tests for VK_KHR_create_renderpass2: multiview

Add tests:
 * dEQP-VK.multiview.renderpass2.*

Affects tests:
 *dEQP-VK.multiview.*

Components: Vulkan

VK-GL-CTS issue: 1011

Change-Id: I6cd54231dae7ff30249ffb2f6f0799b1359f7790

6 years agoTests for VK_KHR_create_renderpass2
Boris Zanin [Wed, 7 Mar 2018 10:37:46 +0000 (11:37 +0100)]
Tests for VK_KHR_create_renderpass2

Add tests:
 * dEQP-VK.renderpass2.*

Affects tests:
 * dEQP-VK.renderpass.*

Framework's Context class extended with functions
 * requireDeviceExtension
 * requireInstanceExtension

Components: Vulkan, Framework

VK-GL-CTS issue: 1011

Change-Id: I721563467dcd329f60da1b41e635feec228f5df2

6 years agoAllow the window to be recreated in the middle of a test
Lloyd Pique [Wed, 25 Apr 2018 02:08:39 +0000 (19:08 -0700)]
Allow the window to be recreated in the middle of a test

On ARC++ devices, some of the dEQP CTS tests were occasionally failing on
devices running in tablet mode, due to the timing of a WM relayout that
happens shortly after the orientation change is realized.

We traced it back to the dEQP test harness always expecting to see a
call from the system to onNativeWindowResized() after a call to
oNNativeWindowCreated(). It happened that the relayout on ARC++ devices
was not causing a size change, so this message was never received.

The result was that the test paused itself, and never completed. The
watchdog thread that the test harness creates ended up killing and
failing the test.

This patch adjusts the logic so that the activity only waits to process
the window creation for the very first call to onNativeWindowResized(),
as when the activity is first created that call is indeed made (but note
not really guaranteed). A subsequent call to onNativeWindowCreated()
will unpause the test (setting the READY state), as well as finish
processing the window creation.

Bug: 74371892
Test: dEQP-GLES3.functional.prerequisite#clear_color
Change-Id: I3c429aea272cbfee3f150a32c12233c9f38a7936

6 years agoDO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD
Chris Forbes [Tue, 27 Feb 2018 00:31:59 +0000 (16:31 -0800)]
DO NOT MERGE: Merge remote-tracking branch 'khronos/vulkan-cts-1.0.2' into HEAD

Change-Id: Id624bed0598e117aff161ee6ed92a135095e33d7
Bug: b/73945443

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 24 Apr 2018 13:58:43 +0000 (15:58 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ibf981d18e43abfd12d557989cd22f732ac548e69

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Tue, 24 Apr 2018 13:58:35 +0000 (15:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I50e88f5187b0d970928fc00629158ceebd4659b4

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 24 Apr 2018 13:58:31 +0000 (15:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I64646658117df9f4dd0260d0e0065e3f093b93d8

6 years agoTest OpTypeImage with different depth property values
Paavo Pessi [Fri, 23 Mar 2018 13:32:30 +0000 (15:32 +0200)]
Test OpTypeImage with different depth property values

SPIR-V specification states that whether or not depth comparisons are
actually done depends on the sampling opcode, not the depth property
of the image itself.

New tests were added to verify that all three depth property values of
OpTypeImage can be used with both color and depth images, and that
depth comparisons are actually performed regardless of the depth
property.

New tests:

dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.depth_property.*

Components: Vulkan

VK-GL-CTS issue: 1072
VK-GL-CTS public issue: 88

Change-Id: I5e0dbfba991ff1d477f5ebb706ffe1db32a2349f

6 years agoTest copying data between compressed and uncompressed images
Paavo Pessi [Thu, 5 Apr 2018 12:18:58 +0000 (15:18 +0300)]
Test copying data between compressed and uncompressed images

New tests were added to verify that when copying data between
compressed and uncompressed formats the extent members represent the
texel dimensions of the source image and not the destination.

Helper functions for querying information about compressed formats were
moved from vktImageTestUtil to vkImageUtil.

New tests:

dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1081
VK-GL-CTS public issue: 90

Change-Id: Ie639e5d96a478ec1d8ef5c4abc73aa80a8005219

6 years agoAdd 16bit to 16bit StorageInputOutput16 tests
Ari Suonpaa [Fri, 13 Apr 2018 05:31:18 +0000 (08:31 +0300)]
Add 16bit to 16bit StorageInputOutput16 tests

Added 16bit storage tests where both inputs and outputs are 16bit.

New tests:

dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_*_16_to_16.*

Components: Vulkan

VK-GL-CTS issue: 893

Change-Id: I19b2e8f025b41a5b0a5d7d4699c7f101210e3c05

6 years agoRemove 4K min size from dedicated image tests
Jarred Davies [Thu, 12 Apr 2018 12:57:14 +0000 (13:57 +0100)]
Remove 4K min size from dedicated image tests

The tests dEQP-VK.memory.mapping.dedicated_alloc.image.*
all create an image with a minimum size of 4Kx4K, so the
tests in this subgroup  test the exact same image size
regardless of what size the test itself is supposed to be
testing.

This change removes the 4Kx4K minimum to enable
the test to actually test multiple sizes of images.

Affect:

dEQP-VK.memory.mapping.dedicated_alloc.image.*

Components: Vulkan

VK-GL-CTS issue: 1118

Change-Id: I2ba9fa671f20eeb9bfa8b14972c903ac20875425

6 years agoMissing pipeline barriers from fragment variants of dEQP-VK.subgroups.*
Panagiotis Apostolou [Mon, 26 Mar 2018 11:21:26 +0000 (13:21 +0200)]
Missing pipeline barriers from fragment variants of dEQP-VK.subgroups.*

This commit adds a missing image pipeline barrier in the fragment variant
of the subgroups test group. After the end of the renderpass and before the
vkCmdCopyImageToBuffer, a pipeline barrier is required to delay the copy
command so that all the writes to the color attachment are complete.

Tests affected:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 1135

Change-Id: I82a5179f97cf4435f96dd378f123f37bc26bd082

6 years agoRe-remove negative ES2 tests
Mark Adams [Mon, 23 Apr 2018 16:27:14 +0000 (12:27 -0400)]
Re-remove negative ES2 tests

As per previous WG decision.

Components: OpenGL

Affects:
dEQP-GLES2.functional.shaders.texture_functions.invalid.texture2d_bias_in_vertex
dEQP-GLES2.functional.shaders.texture_functions.invalid.texturecube_bias_in_vertex
dEQP-GLES2.functional.shaders.texture_functions.invalid.texture2dlod_in_fragment
dEQP-GLES2.functional.shaders.constant_expressions.invalid.precision_specifier

Change-Id: I9c2640fd30b52c3d0aa7e957ea52249e213b2096

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Sun, 22 Apr 2018 20:39:58 +0000 (22:39 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I83f1ffa9a55fca92b2dcdb89cc98a811b9409ea5

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Sun, 22 Apr 2018 20:39:57 +0000 (22:39 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I2982ab13ab697578f4206db28a55074b4344e68d

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Sun, 22 Apr 2018 20:39:10 +0000 (22:39 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I9744e60faa47c009261467bebe34af72be51c4b8

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Sun, 22 Apr 2018 20:39:09 +0000 (22:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I2545688323c866d15daf56e4bc405889a4a8978c

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Sun, 22 Apr 2018 20:39:05 +0000 (22:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7a172b0447b8e67d7384dada152f7eb489d03f79

6 years agoGLES 2/3: Fix masked color clear tests.
Jamie Madill [Mon, 16 Apr 2018 17:26:06 +0000 (13:26 -0400)]
GLES 2/3: Fix masked color clear tests.

This corrects the generating truth table to use the proper flags
for using a non-scissored masked clear.

Components: OpenGL

Affects:
dEQP-GLES2.functional.color_clear.masked_rgb
dEQP-GLES2.functional.color_clear.masked_rgba
dEQP-GLES3.functional.color_clear.masked_rgb
dEQP-GLES3.functional.color_clear.masked_rgba

Google bug: b/78103598
VK-GL-CTS issue: 1125

Change-Id: I8b9e6db49ddfd76b887d1d7825caa005ab0bbb0c

6 years agoSkip shader compile on unsupported ycbcr tests
Jari Komppa [Mon, 16 Apr 2018 12:19:38 +0000 (15:19 +0300)]
Skip shader compile on unsupported ycbcr tests

Added a mechanism to check whether a test is supported before building
the shaders for the test. This also skips many of the tests earlier than
before.

This change also uses said mechanism to speed up the ycbcr tests.

Affects:

dEQP-VK.ycbcr.*

Components: Framework, Vulkan

VK-GL-CTS issue: 1066
VK-GL-CTS issue: 899

Change-Id: I477668e07a611349314f3eaf7ed741f28fb3ad0c

6 years agoVulkanPlatform for OSX
Dzmitry Malyshau [Fri, 2 Mar 2018 19:12:15 +0000 (14:12 -0500)]
VulkanPlatform for OSX

The change modularizes the OSX platform framework by splitting the GL
platform implementation out (into tcu::OSXGLPlatform) and adding a
basic Vulkan platform implementation (in tcu::osx::VulkanPlatform).
It is currently missing the WSI integration, and the memory limits may
need to be revised in follow-ups. This change allows the CTS to be run
against a Vulkan portability library on MacOS.

Components: Framework

Change-Id: I67eb9af5b97de701b4188aedcaca7485276d9001

6 years agoRequire extension for the deviceFeatures2 test
AIOOB [Fri, 20 Apr 2018 00:16:03 +0000 (01:16 +0100)]
Require extension for the deviceFeatures2 test

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 19 Apr 2018 11:02:14 +0000 (13:02 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I672c727ebda48bbd8954e3faf1923f77177e7de5

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 19 Apr 2018 11:02:12 +0000 (13:02 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I7cfcc72895a1962b37815577c62fe8f0638728ee

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 19 Apr 2018 10:43:57 +0000 (12:43 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: If7e1ee91eef8f01552a6dbbb8a3c76950f5a72fc

6 years agoUse utility function for VkViewport and VkRect2D creation
Ari Suonpaa [Tue, 10 Apr 2018 05:31:16 +0000 (08:31 +0300)]
Use utility function for VkViewport and VkRect2D creation

Use makeViewport and makeRect2D whenever possible to make code a
bit more compact.

Affects:

dEQP-VK.api.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.spec_constant.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.wsi.*.incremental_present.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1113

Change-Id: I7ab9fd79c67015e7a1f855c41e0b599481b9d618

6 years agoUse common utility function for render pass creation
Ari Suonpaa [Mon, 9 Apr 2018 05:30:30 +0000 (08:30 +0300)]
Use common utility function for render pass creation

Several tests are creating a simple render pass with only a maximum
of one color and depth/stencil buffer. This task is now done using
an utility function to promote code reusability.

Affects:

dEQP-VK.api.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.device_group.*
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.memory.pipeline_barrier.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.renderpass.sparserendertarget.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.ubo.*
dEQP-VK.wsi.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1109

Change-Id: Idc748adf44e0b015b6d0c234d20424f9aec2e9e0

6 years agoMerge "Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master"
Alexander Galazin [Thu, 19 Apr 2018 10:28:23 +0000 (06:28 -0400)]
Merge "Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master"

6 years agoCheck early for PythonInterp 2 in CMakeLists.txt
Caio Marcelo de Oliveira Filho [Mon, 12 Mar 2018 21:56:57 +0000 (14:56 -0700)]
Check early for PythonInterp 2 in CMakeLists.txt

SPIRV-Tools looks for a Python without specifying the version, which
causes PYTHON_EXECUTABLE to reference a Python 3 executable even if
later code needs PythonInterp 2.

Since VK-GL-CTS currently depends on Python 2, this patch performs
that check early, which will be reused by SPIRV-Tools (i.e. it will
accept python2 found in the system instead of possibly taking a
python3).

Component: Framework

Change-Id: I588c1a1cbe06b95e7fda5db6a1a9f9d046dbda90

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 19 Apr 2018 08:50:40 +0000 (10:50 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I5b8414ca16ddfc52c86d449e01ad23dad32246c6

6 years agoAdd CONTRIBUTING.md for Github
Dzmitry Malyshau [Fri, 2 Mar 2018 19:22:25 +0000 (14:22 -0500)]
Add CONTRIBUTING.md for Github

Developers used to Github workflow may be tempted to make a PR change,
and it's important to point them to the guidelines as early as possible
in order to avoid the bounced response.
The message they'll see will look like this:
https://help.github.com/articles/setting-guidelines-for-repository-contributors/

Affects: users making Pull Requests on Github.

Components: none

Change-Id: I5921bb4ae4cb8a28f889f3f20c134ca82784c3f2

6 years agoThis change fixes an issue in BindBufferOffsetEXT
BMiles [Mon, 19 Mar 2018 18:46:26 +0000 (14:46 -0400)]
This change fixes an issue in BindBufferOffsetEXT

Change hard coded 0 to i for iterating in a loop
The test needs to be iterating through the indices of the buffer.

Affects: KHR-GL4*.transform_feedback.capture_vertex_separate_test

Components: OpenGL

VK-GL-CTS issue: 1108

Change-Id: I0654bf453c05fddad2e10c9843b9130619f4844a

6 years agoFix image validation errors in SPIR-V tests
Paavo Pessi [Fri, 6 Apr 2018 11:12:05 +0000 (14:12 +0300)]
Fix image validation errors in SPIR-V tests

A helper function for uploading images caused validation errors by
setting the image layout to SHADER_READ_ONLY_OPTIMAL regardless of the
image descriptor type.

A new parameter for defining the image layout was added to the helper
function, and tests using storage images were changed to use GENERAL
layout.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.image_sampler.imageread.storage_image.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1111

Change-Id: I783c87fe2dd91d65537343d1ae88e3a4f07b77c6

6 years agoUse common utility function for graphics pipeline creation
Ari Suonpaa [Mon, 26 Mar 2018 13:22:05 +0000 (16:22 +0300)]
Use common utility function for graphics pipeline creation

Graphics pipeline creation requires several structures to be input. By
replacing the inline implementations of graphics pipeline creation with
a common utility function we can eliminate most of the structures used.
The utility function will use default structure values in these cases.

Affects:

dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.api.*
dEQP-VK.memory.pipeline_barrier.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.device_group.*
dEQP-VK.renderpass.*
dEQP-VK.robustness.*
dEQP-VK.glsl.*
dEQP-VK.texture.*
dEQP-VK.rasterization.*
dEQP-VK.ubo.*
dEQP-VK.clipping.*
dEQP-VK.ycbcr.*
dEQP-VK.wsi.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1069

Change-Id: I44baccaa8eb670fccf2755e4c3a3370966c3765d

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Tue, 17 Apr 2018 20:51:08 +0000 (13:51 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Ie0f7b6e81907b5b35f9eadf696063d0ec147c168

6 years agoRetarget cts-runner to the master mustpass
Alexander Galazin [Tue, 17 Apr 2018 09:44:33 +0000 (11:44 +0200)]
Retarget cts-runner to the master mustpass

Components: OpenGL

Affects: cts-runner

Change-Id: If9a68026a659006dd16d30a1d5ece7d8eb6e4153

6 years agoUse layered image bindings correctly
Graeme Leese [Mon, 16 Apr 2018 15:04:07 +0000 (16:04 +0100)]
Use layered image bindings correctly

Where the shader uses, for example, image3d the image binding in the API
must be layered, otherwise behaviour is undefined.

Components: OpenGL
Affects:    KHR-GLES31.shaders.layout_location.*
VK-GL-CTS Issue: 1123

Change-Id: I8267428d847d426945f1356bd654fb4f6c374881

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 17 Apr 2018 09:11:07 +0000 (11:11 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ib541c9e8cd0ee90925be45ad4246e7ee92d6d0c7

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 17 Apr 2018 09:10:55 +0000 (11:10 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I8ed9b99ed838ef203a3af2c3bbfb769733a7e04e

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Mon, 16 Apr 2018 21:51:58 +0000 (14:51 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: I04266dedcbdbdea1b4e6d87bf662ba3d9317f411

6 years agoRelax the precision requirements for derivate built-ins
Jeff Leger [Thu, 1 Feb 2018 01:31:13 +0000 (20:31 -0500)]
Relax the precision requirements for derivate built-ins

Allow for relaxed precision thredholds for derivatives,
with a quality warning.

Affects: dEQP-GLES3.functional.shaders.derivate.*

Components: AOSP

Khronos vk-gl-cts issue: 977

Change-Id: I1d69ad71b79a30a36daf2bf75b2f50d309bc5496

6 years agoUse NDK's CMake toolchain for NDK r15+
Jesse Hall [Mon, 4 Dec 2017 21:49:31 +0000 (13:49 -0800)]
Use NDK's CMake toolchain for NDK r15+

The ndk-r11.cmake file is pretty complex because neither CMake nor the
NDK provided adequate support. Starting in NDK r15, the NDK provides
an officially supported CMake toolchain file. So dEQP's
ndk-modern.cmake, used for NDK r15 and later, can just delegate to that
for everything that isn't specific to dEQP, instead of duplicating
large parts of it. This will make future NDK versions easier to support.

Components: Framework, AOSP

VK-GL-CTS issue: 723
Google bug: 75980403

Change-Id: Icc6ec38601017d2fb6ca40defe2f8e73ba76ca96

6 years agoRequest GPDP2 extension if required in shared presentable image tests
Chris Forbes [Thu, 12 Apr 2018 15:54:00 +0000 (08:54 -0700)]
Request GPDP2 extension if required in shared presentable image tests

Change-Id: Ifa4b19c6046d4f0b95a5fc65443bcd1df051b6a5
Components: Vulkan
Affects: dEQP-VK.wsi.*.shared_presentable_image.*
VK-GL-CTS: 1078

6 years agoAdd OpenGL ES CTS 3.2.5.x mustpass
Alexander Galazin [Thu, 12 Apr 2018 10:21:17 +0000 (12:21 +0200)]
Add OpenGL ES CTS 3.2.5.x mustpass

Components: OpenGL

Change-Id: I860e4f6ee17c854066868f6b00e3cb0f41fb357b

6 years agoAdd operation tests for 16-bit integers
Boris Zanin [Fri, 19 Jan 2018 14:35:46 +0000 (15:35 +0100)]
Add operation tests for 16-bit integers

New tests:
 * dEQP-VK.spirv_assembly.type.*.i16.*
 * dEQP-VK.spirv_assembly.type.*.u16.*

Update tests:
 * dEQP-VK.spirv_assembly.type.*

VK-GL-CTS issue: 953

Components: Vulkan

Change-Id: I521e5af20658c675f0b0aa219e80595fe8219c7d

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 12 Apr 2018 08:51:55 +0000 (10:51 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I1210a0277ea4dfa9a07734000a16a7d413429ec7