platform/upstream/VK-GL-CTS.git
6 years agoFix resource buffers used for the Op?Convert graphics tests
Piers Daniell [Fri, 6 Apr 2018 17:16:47 +0000 (11:16 -0600)]
Fix resource buffers used for the Op?Convert graphics tests

I didn't catch this when reviewing CL 2240. The "graphics"
variants of the OpUConvert/OpSConvert/OpFConvert tests are
writing the shader results to a UBO instead of an SSBO. UBOs
are read-only and writing to one has undefined results.

This CL simply changes the resources to use SSBOs rather than
UBOs, which follows the same template of most of the other
dEQP-VK.spirv_assembly.instruction.graphics.* tests.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.sconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.uconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*

Change-Id: Iab4014e6ca5e1482f74ff6d8bec7f04793b0e69d
Components: Vulkan

6 years agoRelease info script without spir-v tools fix
Jari Komppa [Tue, 10 Apr 2018 09:59:55 +0000 (12:59 +0300)]
Release info script without spir-v tools fix

This fix (based on work by imirkin) checks whether the spir-v tools
source files are available before trying to use them to generate the
release info include file.

Affects:

None

Components: Framework

VK-GL-CTS issue: 1114

Change-Id: I6764a469738a8e6a7797746d963da197b8380301

6 years agoUse the subgroups 'supportedCheck' helpers
Graeme Leese [Wed, 21 Mar 2018 12:10:34 +0000 (12:10 +0000)]
Use the subgroups 'supportedCheck' helpers

This function exists in each test module but was only being used by one
out of the two places that the code is needed.

Components: Vulkan
Affects: dEQP-VK.subgroups.*

Change-Id: Idec5bf036b44b384c1c404d0a7d68805981a4ae4

6 years agoFix stack overflow on vkGetPhysicalDeviceSparseImageFormatProperties
Slawomir Cygan [Tue, 27 Mar 2018 14:41:33 +0000 (16:41 +0200)]
Fix stack overflow on vkGetPhysicalDeviceSparseImageFormatProperties

Function may return random number of structs overwriting
the sparseImageFormatProperties variable.

Components: Vulkan

VK-GL-CTS Issue: 1103

Affects: dEQP-VK.texture.*.sparse_*

Change-Id: I101b72360145c23cef14cfeb50c7f9cd02e62e2f

6 years agoTest using gl_ViewportIndex in tessellation shader
Caio Marcelo de Oliveira Filho [Mon, 5 Mar 2018 23:20:18 +0000 (15:20 -0800)]
Test using gl_ViewportIndex in tessellation shader

Needs VK_EXT_shader_viewport_index_layer extension. Test works by
setting up N viewports forming a grid and each pair of triangles is
assigned to one of the viewports. Colors are used to distinguish each
pair, and by consequence, each cell in the grid.

It reuses most of parts from the similar test for vertex shader.

New tests:
dEQP-VK.draw.shader_viewport_index.tessellation_shader_*

VK-GL-CTS issue: 1043

Components: Vulkan

Change-Id: Ie55be3e188f5ded3c8aafb90b97af8cf3af3f243

6 years agoUpdate Vulkan Readme
Alexander Galazin [Fri, 6 Apr 2018 08:16:25 +0000 (10:16 +0200)]
Update Vulkan Readme

Update Vulkan Readme with the new CTS version

Components: Vulkan

Change-Id: I4bbb541c3924efe32986e30051a4e82a2aaca50e

6 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master"
Alexander Galazin [Fri, 6 Apr 2018 08:15:15 +0000 (04:15 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master"

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 6 Apr 2018 07:47:50 +0000 (09:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Iece73f9d69d002433e394ed5f9ed472ccad037e9

6 years agoUpdate spriv-tools
Alexander Galazin [Mon, 26 Mar 2018 12:34:28 +0000 (14:34 +0200)]
Update spriv-tools

Change-Id: I7d24e707b2e0ef8b9591db20897c3c813664b41d

6 years agoUpdate Vulkan Readme
Alexander Galazin [Thu, 5 Apr 2018 19:21:04 +0000 (21:21 +0200)]
Update Vulkan Readme

Update Vulkan Readme to reflect the current CTS version

Components: Vulkan

Change-Id: I1e69df3934e2d35a072823e7bf9e5d2d03b011fe

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 15:46:12 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ie5c0fcea75496b342059629bb3c34c64c9f73226

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: Idfe09ec588be7b4c6c782e306e7bf1506d78808f

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

Change-Id: Ice19bfdd5c995157824851fa183611a84d9b4c0a

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 12:02:08 +0000 (14:02 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: Ie3f6aca2d39bc1c7c1600d3ba4d809c39ed91efa

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Thu, 5 Apr 2018 12:02:04 +0000 (14:02 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: Id621f75848b554dc234d3b489a8a80773ac437bd

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 5 Apr 2018 08:34:26 +0000 (10:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I84a639633f77095edfd99f1d5873b77896f35c97

6 years agoDrop linear filter requirement from YCbCr tests
Jarred Davies [Thu, 5 Apr 2018 09:51:23 +0000 (10:51 +0100)]
Drop linear filter requirement from YCbCr tests

Remove requirement for YCbCr base formats to support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT from
format_properties tests.

The standard does not require support for this feature
from any YCbCr format.

Affects:

dEQP-VK.api.info.format_properties.g8_b8_r8_3plane_420_unorm
dEQP-VK.api.info.format_properties.g8_b8r8_2plane_420_unorm

Components: Vulkan

VK-GL-CTS issue: 1090

Change-Id: I6fa1c6c7a7f9768c2001972ae1f04173310aa652

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 5 Apr 2018 07:58:39 +0000 (09:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Idaa7c167a7485b1cc290dab87fab146e922887e9

6 years agoUse common utility function for render pass begin and end
Ari Suonpaa [Fri, 9 Mar 2018 12:06:11 +0000 (14:06 +0200)]
Use common utility function for render pass begin and end

Render pass begin and end are used in almost every test case. Some test
groups already implement an utility function for these. Others do it
inline. These are now replaced with common utility functions.

Affects:

dEQP-VK.glsl.*
dEQP-VK.api.*
dEQP-VK.device_group.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.rasterization.*
dEQP-VK.renderpass.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.subgroups.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.texture.*
dEQP-VK.wsi.*
dEQP-VK.ubo.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1056

Change-Id: If69a7bde883f7abfd1fd1362562abf1a5c550bd5

6 years agoAdd tests for freeing descriptor sets followed by pool reset
Slawomir Cygan [Wed, 14 Feb 2018 17:30:48 +0000 (18:30 +0100)]
Add tests for freeing descriptor sets followed by pool reset

This change adds new test cases for resetting a descriptor set pool
which is created with VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
flag and already has some descriptor sets freed.

VK-GL-CTS Issue: 1020

Component: Vulkan

Affects: dEQP-VK.api.descriptor_pool.*

Change-Id: I791bfafc4b5bf85454e33e5d5de5d153b4b6a5ed

6 years agoAdd tests for checking YCbCr format enums in Vulkan 1.1
Slawomir Cygan [Wed, 7 Mar 2018 17:02:56 +0000 (18:02 +0100)]
Add tests for checking YCbCr format enums in Vulkan 1.1

Check that YCbCr format enums added in Vulkan 1.1 are
recognized by implementation, even when samplerYcbcrConversion
feature is not supported.

This change splits 'checkYcrbrConversionSupport' into:
- API support (if VkFormats are recognized by the implementation)
- the actual conversion support.

YCbCr feature check tests are run always when API is supported,
even if YCbCr conversion it not. However, support for format properties
and image format properties is still not required, if YCBCr conversion feature is
not supported.

Component: Vulkan

VK-GL-CTS Issue: 1059

Affects:
dEQP-VK.api.info.format_properties.*
dEQP-VK.api.info.*image_format_properties*

Change-Id: I84280eaa481a566e05ce028b9e4ec407f2d27599

6 years agoTest viewport with zero height
Paavo Pessi [Fri, 16 Mar 2018 13:33:05 +0000 (15:33 +0200)]
Test viewport with zero height

New tests were added to verify that the driver does not crash and that
triangle primitives are not drawn when using a viewport with zero
height.

New tests:

dEQP-VK.draw.zero_viewport_height.*

Components: Vulkan

VK-GL-CTS issue: 1048

Change-Id: I886f604944ad6224e31eb70a72917e505d4e11c5

6 years agoAlignment tests of 16bit types in structs
Arkadiusz Sarwa [Wed, 28 Feb 2018 16:52:10 +0000 (17:52 +0100)]
Alignment tests of 16bit types in structs

Add tests:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16struct_to_32struct.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_32struct_to_16struct.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_16struct_to_32struct.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_32struct_to_16struct.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.struct_mixed_types.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.struct_mixed_types.*

Components: Vulkan

VK-GL-CTS issue: 1061

Change-Id: I9f206431cd313c736bc12b4b8a002426ffbf6398

6 years agoFix: Use correct format/type for RGB9_E5 internalformat
Yunchao He [Fri, 16 Mar 2018 03:26:58 +0000 (11:26 +0800)]
Fix: Use correct format/type for RGB9_E5 internalformat

According to GLES 3.* specifications (say Table 8.3 in ES32 spec),
the original internalformat/format/type combination for RGB9_E5 is
not correct. The texture storage is not allocated at all.
So the followed test case can not verify what it really want to
test. This small change revises the format/type and make it to be
a correct combination for RGB9_E5.

Components: OpenGL

Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.texture.copytexsubimage2d_texture_internalformat

Change-Id: I529f4aaed1f507f67d3dc5806eb5cb0e6c27d858

6 years agoFix improper use of vkCmdWaitEvents
Peter Quayle [Wed, 28 Mar 2018 17:18:28 +0000 (18:18 +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 triggerd using
vkSetEvent. Additionally, the test was only waiting 1ns to determine if
a queue had made forward progress, which is too short to give the
implementation a chance to do any work.

Affects:

dEQP-VK.synchronization.smoke.events

Components: Vulkan

VK-GL-CTS issue: 1089

Change-Id: I6d9c9a635d82840f49fd3d9ed3736f91c4b6f88d

6 years agoFix random shader generator
Graeme Leese [Thu, 1 Mar 2018 17:48:57 +0000 (17:48 +0000)]
Fix random shader generator

Put parentheses around the RHS when converting L == R into
abs(L - R) < 0.001.

Affects: dEQP-GLES2.functional.shaders.random.*
         dEQP-GLES3.functional.shaders.random.*

Components: OpenGL

VK-GL-CTS issue: 286

Change-Id: I95d43ed40944c2815d7ce464ac4dc4993f87a4e9

6 years agoAdd missing SConvert, FConvert and UConvert tests
Mikael Tuomisalo [Wed, 7 Feb 2018 14:45:36 +0000 (16:45 +0200)]
Add missing SConvert, FConvert and UConvert tests

Different variations of SConvert, FConvert and UConvert weren't properly
tested in compute and graphics shaders.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*

New tests:

dEQP-VK.spirv_assembly.instruction.compute.sconvert.int32_to_*int16
dEQP-VK.spirv_assembly.instruction.compute.sconvert.int64_to_*
dEQP-VK.spirv_assembly.instruction.compute.sconvert.uint*
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*vec*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint32_to_uint16
dEQP-VK.spirv_assembly.instruction.compute.uconvert.uint64_to_*
dEQP-VK.spirv_assembly.instruction.compute.fconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.sconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.uconvert.*
dEQP-VK.spirv_assembly.instruction.graphics.fconvert.*

Components: Vulkan

VK-GL-CTS issue: 880

Change-Id: Id84c7a20749cd15e84a9c85993c1e6574712889e

6 years agoAdded shader cache to speed up runtime
Jari Komppa [Mon, 29 Jan 2018 11:57:57 +0000 (13:57 +0200)]
Added shader cache to speed up runtime

Added shader cache which hashes incoming shader sources and saves the
resulting binaries on disk, avoiding unneccessary recompilation.

On testing it was found that the conformance suite calls shader
compilation about 500k times while only about 30k shaders are unique.
When all shaders are prebuilt on disk, complete runtime is reduced by
about 30%.

The shader cache also affects vk-build-programs. If shaders already
exist and shader validation is not enabled, vk-build-programs runs about
95% faster.

The timings above are based on debug builds on a desktop PC. Release
builds get less benefit, but this may be helpful on mobile platforms.

The shader cache does not affect targets which do not include spir-v
tools.

Affects:

dEQP-VK.*

Components: Framework, Vulkan

VK-GL-CTS issue: 899

Change-Id: I9b1ea915b3c9d94be85adb17161c12f453175d78

6 years agoConsider rounding mode differences in mipmap tests
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests

The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.

Affects:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear

Components: Vulkan

VK-GL-CTS issue: 1106

Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4

6 years agoAdd GL_ARB_draw_indirect extension
Juan A. Suarez Romero [Tue, 20 Mar 2018 16:29:11 +0000 (17:29 +0100)]
Add GL_ARB_draw_indirect extension

Add wrapper functions defined by this extension.

Components: Framework

VK-GL-CTS issue: 1087

Affects:
GTF-GL3*.gtf31.GL3Tests.primitive_restart.primitive_restart_draw_elements
GTF-GL3*.gtf32.GL3Tests.vertex_array_bgra.vertex_array_bgra_draw_calls

Change-Id: I0e13535a099b6599be3127685c473cbab120b0d4

6 years agoFix glTransformFeedbackBufferRange defintion
asokolow [Mon, 12 Mar 2018 07:45:11 +0000 (08:45 +0100)]
Fix glTransformFeedbackBufferRange defintion

There is a mismatch between TransformFeedbackBufferRange
definitions in test and OpenGL spec.

The last parameter type is GLsizeiptr accoding
to spec (and XML registry).

Components: OpenGL

VK-GL-CTS Issue: 1093

Affects:
KHR-GL45.direct_state_access.xfb_buffers

Change-Id: Iaf688016234de106b642593d9808d88c7d765edd

6 years agoTest for return values of vkGet*ProcAddr
Marcin Rogucki [Mon, 29 Jan 2018 14:23:42 +0000 (15:23 +0100)]
Test for return values of vkGet*ProcAddr

This change tests vkGet*ProcAddr. It also removes special
case for vkGetDeviceProcAddr which now is considered by a
framework as a device-level function.

Components: Framework, Vulkan

VK-GL-CTS issue: 948

Affects:
dEQP-VK.api.version_check.entry_points
dEQP-VK.*

Change-Id: I629bceaae25534e5eff9550034e7af0ab2668aa9

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 30 Mar 2018 16:38:50 +0000 (18:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I4ebb0dcf96e37806528ee00bb78c586706224680

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 30 Mar 2018 16:38:40 +0000 (18:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I752717cf0180806e0745a0a7d055e3471a2b203b

6 years agoRequest proper features in spirv_asembly tests
Piotr Byszewski [Thu, 8 Mar 2018 13:12:15 +0000 (14:12 +0100)]
Request proper features in spirv_asembly tests

image_sampler and ubo_padding tests used stores to SSBOs without
requesting proper features. In this change implementation of
ShaderTestUtil was modified to enable possibility to create test
for individual stages. Now proper features could be requested
before performing the tests for specified stages.

Components: Vulkan

VK-GL-CTS issue: 1049

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.*
dEQP-VK.spirv_assembly.instruction.graphics.ubo_padding.*
dEQP-VK.spirv_assembly.instruction.graphics.*

Change-Id: I03441b385097340faa72b18e17f09a07eba49efb

6 years agoTest QueueSubmit with null SubmitInfo and fence
Mika Väinölä [Fri, 23 Feb 2018 14:40:28 +0000 (16:40 +0200)]
Test QueueSubmit with null SubmitInfo and fence

This test matches
VkLayerTest.TwoQueueSubmitsOneQueueNullQueueSubmitWithFence found in
layer validation tests which fails on some shipping drivers.

New tests:

dEQP-VK.api.command_buffers.submit_two_buffers_one_buffer_null_with_fence

Components: Vulkan

VK-GL-CTS issue: 836

Change-Id: I57eb96bb724406dafc522041c95ac99fd0e103b4

6 years agoAdd glu::BufferOffsetAsPointer utility
Jesse Hall [Tue, 27 Mar 2018 23:49:03 +0000 (16:49 -0700)]
Add glu::BufferOffsetAsPointer utility

Clang 6.x adds a warning that doing arithmetic involving a NULL
pointer is a GNU extension. This affects the common GL pattern
    (deUint8*)DE_NULL + offset
used to pass an offset into a bound buffer object as a client pointer
parameter.

This change replaces that pattern with a call to a new utility
function glu::BufferOffsetAsPointer(), which will hopefully be
warning-free on all compilers.

Change-Id: I8be939297b02c44091441c71ae75e45ceab30639
Components: Framework, OpenGL, AOSP

6 years agoAdd tests for VK_EXT_post_depth_coverage
Igor Ostrowski [Wed, 6 Dec 2017 14:52:40 +0000 (15:52 +0100)]
Add tests for VK_EXT_post_depth_coverage

Additional tests for sample mask with depth test without extension

New tests:
dEQP-VK.pipeline.multisample.sample_mask_with_depth_test.*

Components: Vulkan
VK-GL-CTS issue: 888

Change-Id: I2cecb9f9db52ca471fea9a8630923dab68730e59

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Wed, 28 Mar 2018 10:54:36 +0000 (12:54 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ia97d8543cbf11fa2a525cdb96d4c23a644645a61

6 years agoBackported invalid test removal to gles-cts 3.2.4
Oliver Wohlmuth [Wed, 28 Mar 2018 14:54:15 +0000 (16:54 +0200)]
Backported invalid test removal to gles-cts 3.2.4

Invalid random shader tests have been removed from master mustpass
in commit 1bb2c97165cdd13bea670fb2d39cd63019d69265
This patchset applies the same changes to gles-cts 3.2.4 so they
can be cherry picked.

Affects:
dEQP-GLES2.functional.shaders.random.all_features.fragment.16
dEQP-GLES2.functional.shaders.random.all_features.fragment.56

Components: OpenGL
VK-GL-CTS issue: 1100

Change-Id: I976504d1246e9f025aec47f4f13b047428ad007d

6 years agoMerge "Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master"
Alexander Galazin [Wed, 28 Mar 2018 10:40:00 +0000 (06:40 -0400)]
Merge "Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master"

6 years agoMerge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 27 Mar 2018 13:06:33 +0000 (15:06 +0200)]
Merge vk-g-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ibf1a7adea71d5d7c94205bcc83e5200b6c86b91c

6 years agovktApiFeatureInfo.cpp: fix one 'Wshadow' warning on GCC
Slawomir Cygan [Tue, 27 Mar 2018 11:29:35 +0000 (13:29 +0200)]
vktApiFeatureInfo.cpp: fix one 'Wshadow' warning on GCC

Components: Vulkan

VK-GL-CTS Issue: 1101

Affects: None

Change-Id: Iba44a66378f12543d54967afba25f496f6bc3ab4

6 years agoFixes cap check for 16bit storage stress test
Matthew Netsch [Tue, 27 Mar 2018 21:55:58 +0000 (14:55 -0700)]
Fixes cap check for 16bit storage stress test

Missing cap check for StorageUniformBufferBlock16

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_16.stress_test

Components: Vulkan

VK-GL-CTS issue: 1091

Change-Id: Ifaf31eab31ca2b8fe9cf23c94087cf25542bd8ed

6 years agoUse common utility function for command buffer begin and end
Ari Suonpaa [Mon, 5 Mar 2018 08:16:19 +0000 (10:16 +0200)]
Use common utility function for command buffer begin and end

Command buffer begin and end is used in almost every test case. Some test
groups already implement an utility function for these. Others do it
inline. These are now replaced with common utility functions.

Affects:

dEQP-VK.compute.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.pipeline.*
dEQP-VK.protected_memory.*
dEQP-VK.query_pool.*
dEQP-VK.renderpass.*
dEQP-VK.sparse_resources.*
dEQP-VK.spirv_assembly.*
dEQP-VK.synchronization.*
dEQP-VK.tessellation.*
dEQP-VK.clipping.*
dEQP-VK.ycbcr.query.*
dEQP-VK.glsl.*
dEQP-VK.api.*
dEQP-VK.device_group.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.robustness.*
dEQP-VK.ssbo.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.texture.*
dEQP-VK.wsi.*
dEQP-VK.ycbcr.*
dEQP-VK.rasterization.*
dEQP-VK.ubo.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1022

Change-Id: I84bec62fb2d0a5ce408a85cd243e7f629acc5867

6 years agoFix off indentation in vktApiFeatureInfo.cpp
Slawomir Cygan [Tue, 27 Mar 2018 10:46:35 +0000 (12:46 +0200)]
Fix off indentation in vktApiFeatureInfo.cpp

Components: Vulkan

VK-GL-CTS Issue: 1102

Affects: None

Change-Id: Id05617e0bc2895de1ae67ea3925f4300c5d55d3f

6 years agoFixed rounding issue in spirv_assembly tests
Dae Kim [Tue, 27 Mar 2018 09:54:23 +0000 (10:54 +0100)]
Fixed rounding issue in spirv_assembly tests

The test assumes that the host system and the device use the same
rounding mode. When this is not the case, the derived rounding errors
make the test fail unexpectedly. By rounding the input values down we
avoid differences in the test output caused by the rounding modes in
use.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite

Components: Vulkan

VK-GL-CTS issue: 1097

Change-Id: I3678e38cbe5c6d57cecef91e7398df0d04763851

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Mon, 26 Mar 2018 12:01:52 +0000 (14:01 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: Id1abb58d7a7c93277531a74ca38eaf5d5e6d7550

6 years agoFix regression after adding run time report (4758c8d4)
Slawomir Cygan [Mon, 19 Mar 2018 11:56:50 +0000 (12:56 +0100)]
Fix regression after adding run time report (4758c8d4)

qpXmlWriter_endDocument was not called after the end of test
case timing XML block, leaving XML writer in bad state.

This causes assert on subsequent XML blocks being started.

VK-GL-CTS Issue: 1086

Components: Framework

Change-Id: I8bf2fd48517a5389671389dcb0883e168a587da7
Affects: all

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Mon, 26 Mar 2018 08:50:18 +0000 (10:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ibcd4407ae531a32d85f7e6f6fc263247a1f25da3

6 years agoMove khr_debug tests to NoContext
Michael Chock [Thu, 8 Mar 2018 19:41:05 +0000 (11:41 -0800)]
Move khr_debug tests to NoContext

As implemented, the KHR-GL4*.khr_debug.* tests can terminate the EGL
display used by other tests. As recommended, move these tests to the
KHR-NoContext.* group.

Since the test names are already changing, fix the spelling of
'receiving' in one test case.

Components: OpenGL

VK-GL-CTS Issue: 1062

Renamed tests:
KHR-GL4*.khr_debug.* -> KHR-NoContext.gl43.khr_debug.*

Change-Id: I766131f77206cad1cb34955426a81cf10b50e159

6 years agoFix SSBO tests that assume VS is invocated once per vertex
Tate Hornbeck [Mon, 22 Jan 2018 16:41:46 +0000 (11:41 -0500)]
Fix SSBO tests that assume VS is invocated once per vertex

Some implementations may execute vs shaders more than
once per vertex as allowed per spec.

Affects:
KHR-GLES31.core.shader_storage_buffer_object.advanced-usage-sync-vsfs
KHR-GLES31.core.shader_storage_buffer_object.basic-atomic-case3-vsfs
KHR-GLES31.core.shader_storage_buffer_object.basic-atomic-case4-vsfs

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

Change-Id: I40d4ef540c9868db43554f898b92c333a79eac18

6 years agoFix compute shader in KHR-NoContext.es32.robustness.getnuniform
Tapani Pälli [Mon, 26 Feb 2018 09:53:33 +0000 (11:53 +0200)]
Fix compute shader in KHR-NoContext.es32.robustness.getnuniform

Patch removes unnecessary difference in compute shader between
desktop and ES profiles, now both output to SSBO in same manner.

Problem with the shader on ES was that some compilers detected
declared shared variables as dead and optimized them away which
made uniforms inactive.

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

Affects:
KHR-NoContext.es32.robustness.getnuniform

Change-Id: I8a4aeed926faa03a62c7973fe21ef979fb61bf53

6 years agoRGB10_A2UI renderbuffer case requires integer data
Juan A. Suarez Romero [Fri, 23 Feb 2018 17:27:35 +0000 (17:27 +0000)]
RGB10_A2UI renderbuffer case requires integer data

Most of the cases in KHR-GL40.internalformat.renderbuffer.* test are
float-based, and thus the shaders as well as the functions used to read
the pixels are based on floats.

But for this specific format, we need to use integer data, both when the
shader writes out the colors as well as when we read it back with
readPixels(). And later we need to convert the results to floats in
order to compare with the expected results (which are float-based
values).

Components: OpenGL

VK-GL-CTS issue: 1001

Affects:
KHR-GLES*.core.internalformat.renderbuffer.*
KHR-GL*.internalformat.renderbuffer.*

Change-Id: I44c051817672614fb1ed6ed1927f917afcaadc96

6 years agoTry to use a separated FBO for copy operation
Juan A. Suarez Romero [Tue, 27 Feb 2018 15:59:15 +0000 (15:59 +0000)]
Try to use a separated FBO for copy operation

If the FBO can not be created because the format under testing does not
allow it (FBO not complete), then the copy will be done from the main
FBO.

Components: OpenGL

VK-GL-CTS issue: 1000

Affects:
KHR-GLES*.core.internalformat.copy_tex_image.*
KHR-GL*.internalformat.copy_tex_image.*

Change-Id: I64f05a9d542abcc2abbeb865e5d638bfa64a0ad3

6 years agoAdd tests for OpSwitch operator
Juan A. Suarez Romero [Wed, 7 Feb 2018 16:47:54 +0000 (16:47 +0000)]
Add tests for OpSwitch operator

This create tests for SPIR-V OpSwitch with different integer types.

It provides tests using 32-bit and 64-bit signed and unsigned integers.
But it is designed to easily extend to other types, like 16-bit
integers.

New tests:
dEQP-VK.spirv_assembly.type.scalar.*.switch_*

VK-GL-CTS issue: 995

Components: Vulkan

Change-Id: I4940f5853c81dff0191c3d352ddbf439eb0ea560

6 years agoCheck VkPhysicalDevicePushDescriptorPropertiesKHR
Slawomir Cygan [Fri, 2 Mar 2018 16:37:20 +0000 (17:37 +0100)]
Check VkPhysicalDevicePushDescriptorPropertiesKHR

This adds test for getting VkPhysicalDevicePushDescriptorPropertiesKHR
using vkGetPhysicalDeviceProperties2. The test also verifies
maxPushDescriptors against spec requiremnts.

Components: Vulkan

VK-GL-CTS Issue: 1053

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

Change-Id: I44ee1b0a3005d149cc7fb3c60414a412e36c45a4

6 years agoRemove debugs from vktSpvAsmGraphicsShaderTestUtil.cpp
Boris Zanin [Thu, 22 Feb 2018 10:30:42 +0000 (11:30 +0100)]
Remove debugs from vktSpvAsmGraphicsShaderTestUtil.cpp

Remove debug messages represented by two SPIR-V instructions:
 * OpName
 * OpMemberName

Affects:
 * dEQP-VK.spirv_assembly.instruction.graphics.module.*

Components: Vulkan

VK-GL-CTS issue: 963

Change-Id: I3091f6f8772aecfdf6f7d799660dfc3175d6476f

6 years agoFix validation errors in pipeline tests
Paavo Pessi [Wed, 7 Mar 2018 13:23:18 +0000 (15:23 +0200)]
Fix validation errors in pipeline tests

All validation errors found in dEQP-VK.pipeline.* were fixed.

Affects:

dEQP-VK.pipeline.stencil.*
dEQP-VK.pipeline.blend.*
dEQP-VK.pipeline.image.*
dEQP-VK.pipeline.sampler.*
dEQP-VK.pipeline.multisample.*
dEQP-VK.pipeline.vertex_input.*
dEQP-VK.pipeline.input_assembly.*
dEQP-VK.pipeline.timestamp.*
dEQP-VK.pipeline.cache.*
dEQP-VK.pipeline.render_to_image.*
dEQP-VK.pipeline.framebuffer_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1057

Change-Id: I494ee517dbba529957593577f3927937fdab37a2

6 years agoFix invalid command pool create flag in image tests
Paavo Pessi [Fri, 9 Mar 2018 10:28:18 +0000 (12:28 +0200)]
Fix invalid command pool create flag in image tests

Many image tests use a command pool that has been created using a
parameter of type VkCommandPoolResetFlagBits instead of
VkCommandPoolCreateFlags. The flag was changed to a proper type while
still retaining the original bit value.

Affects:

dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*

Components: Vulkan

VK-GL-CTS issue: 576

Change-Id: I99ecfafa6d320d262fec74508ad39ae3d2cb374c

6 years agoCombined duplicate code
Ari Suonpaa [Mon, 12 Feb 2018 08:19:41 +0000 (10:19 +0200)]
Combined duplicate code

There were several places where sparse binding and buffer to
image copies were done. These are now using common functions for
better code maintenance.

Affects:

dEQP-VK.glsl.*texture*
dEQP-VK.texture.*
dEQP-VK.spirv_assembly.*.compute.*

Components: Vulkan

VK-GL-CTS issue: 996

Change-Id: I53b01555ed6ef6e502b227e3cf026f2b05fd8f2a

6 years agoFix invalid memory scope in SPIR-V tests
Paavo Pessi [Fri, 2 Mar 2018 08:01:44 +0000 (10:01 +0200)]
Fix invalid memory scope in SPIR-V tests

Existing SPIR-V assembly tests using CrossDevice memory scope in atomic
operations were modified to use Device scope instead.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opatomic.load
dEQP-VK.spirv_assembly.instruction.compute.opatomic.store
dEQP-VK.spirv_assembly.instruction.compute.opatomic_storage_buffer.load
dEQP-VK.spirv_assembly.instruction.compute.opatomic_storage_buffer.store

Components: Vulkan

VK-GL-CTS issue: 991

Change-Id: I30a2db6e4614296f08e2ed2c2717315aef0afb6e

6 years agoFix XCreateWindow BadMatch with depth 32 visuals
Robert Morell [Wed, 10 Jan 2018 21:31:33 +0000 (13:31 -0800)]
Fix XCreateWindow BadMatch with depth 32 visuals

For the common case of a depth 24 root window, when creating a window
with a visual of depth 32, attempting to use a depth of CopyFromParent
will result in a BadMatch error.

Fix this by passing the visual's depth to XCreateWindow explicitly --
fortunately the VisualInfo structure was already queried.

Components: Framework

VK-GL-CTS issue: 938

Change-Id: I54b142b6105c7f328e76d7ea0f9b01e635380e4e
(cherry picked from commit af57c99056538393e99925d6c3bee0253889a7c3)

6 years agoAccount for differences in nan with fp16 comparison
Piers Daniell [Thu, 15 Feb 2018 19:33:15 +0000 (12:33 -0700)]
Account for differences in nan with fp16 comparison

When comparing fp16 values it's not possible to use a bitwise
comparison because there can be many different bit patterns
representing nan values, and all nans are equal. This CL updates
the computeCheckBuffersFloats function which compares two
buffers of fp16 values to take into account different forms
of nan.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_16.stress_test

Components: Vulkan

VK-GL-CTS issue: 1018

Change-Id: I77013b49ce070d9615b287eae24dd32731b314b1
(cherry picked from commit 92d5909ab99bc97dc2ae4dd67e1cfa592dafb246)

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Sat, 17 Mar 2018 01:07:42 +0000 (18:07 -0700)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: Ia487f499b5e677146b0422c17a6aa00439ed3525

6 years agoAdd more context for SPIR-V build log outputs.
Gustavo Lima Chaves [Mon, 12 Feb 2018 01:19:30 +0000 (17:19 -0800)]
Add more context for SPIR-V build log outputs.

This can help newcomers write new SPIR-V tests.

VK-GL-CTS issue: 1029

Change-Id: I9673847a599839c61b15fe438b0e28b1c3294c32

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 16 Mar 2018 20:17:54 +0000 (13:17 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I391929e9887ffa793eefacead5444fff103acbbb

6 years agoRevise the context version for BindBufferRange tests
Yunchao He [Fri, 16 Mar 2018 09:34:19 +0000 (17:34 +0800)]
Revise the context version for BindBufferRange tests

Shader storage buffer and stomic counter buffer can be supported
since ES 3.1, not ES 3.2.

Components: OpenGL

Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.buffer.bind_buffer_range

Change-Id: I60a2d7c80e0e3adc88bc8cef78bf14bb6929f643

6 years agoTest using gl_ViewportIndex in a vertex shader
Caio Marcelo de Oliveira Filho [Sun, 7 Jan 2018 19:46:30 +0000 (11:46 -0800)]
Test using gl_ViewportIndex in a vertex shader

Needs VK_EXT_shader_viewport_index_layer extension. Test works by
setting up N viewports forming a grid and each pair of triangles is
assigned to one of the viewports. Colors are used to distinguish each
pair, and by consequence, each cell in the grid.

This test has some similarities with how the multi_viewport scissors
test in vulkan/fragment_ops/.

New tests:
dEQP-VK.draw.shader_viewport_index.vertex_shader_*

VK-GL-CTS issue: 1043

Components: Vulkan

Change-Id: I311012126f0f4acc18cc31350e16f1c36dd35c62

6 years agoTest waiting for fences without waitAll
Paavo Pessi [Wed, 28 Feb 2018 12:13:58 +0000 (14:13 +0200)]
Test waiting for fences without waitAll

Two command buffers and two fences are created. Both command buffers
are submitted to a queue, and vkWaitForFences with waitAll set to
VK_FALSE is used to wait for either one of the fences to be signaled.

New tests:

dEQP-VK.synchronization.basic.fence.multi_waitall_false

Components: Vulkan

VK-GL-CTS issue: 1037

Change-Id: I78762b2561e8d28a9a4278a054cbe169af10366a

6 years agoTest push constant ranges with overlapping shader stages
Paavo Pessi [Tue, 27 Feb 2018 13:00:42 +0000 (15:00 +0200)]
Test push constant ranges with overlapping shader stages

New tests were added to exercise push constant ranges where multiple
shader stages overlap. Offset and size of each push constant is
selected arbitrarily. Some ranges are only partially updated.

New tests:

dEQP-VK.pipeline.push_constant.graphics_pipeline.overlap_2_shaders_vert_frag
dEQP-VK.pipeline.push_constant.graphics_pipeline.overlap_3_shaders_vert_geom_frag
dEQP-VK.pipeline.push_constant.graphics_pipeline.overlap_4_shaders_vert_tess_frag
dEQP-VK.pipeline.push_constant.graphics_pipeline.overlap_5_shaders_vert_tess_geom_frag

Components: Vulkan

VK-GL-CTS issue: 1009

Change-Id: Ibcbf7f6f21a4827c3089719f06e02dde138f183b

6 years agoFix test with invalid viewport size
Paavo Pessi [Wed, 28 Feb 2018 12:45:35 +0000 (14:45 +0200)]
Fix test with invalid viewport size

Viewport dimensions and scissor extent were changed to match the values
used in VkPositiveLayerTest.DestroyPipelineRenderPass.

Affects:

dEQP-VK.api.pipeline.renderpass.destroy_pipeline_renderpass

Components: Vulkan

VK-GL-CTS issue: 1045

Change-Id: Ie39c516237cf3a14078a83b0c51dc401c30f7672

6 years agoTest pipeline layout lifetime
Paavo Pessi [Tue, 13 Feb 2018 09:30:02 +0000 (11:30 +0200)]
Test pipeline layout lifetime

This test has the same functionality as
VkLayerTest.DescriptorSetCompatibility, which breaks some shipping
drivers in the validation tests.

The test creates a pipeline layout and uses that layout to create a
pipeline. The pipeline layout object is destroyed immediately after
binding the pipeline to a command buffer.

The test passes as long as no crash happens.

New tests:

dEQP-VK.api.pipeline.pipeline_layout.lifetime.graphics
dEQP-VK.api.pipeline.pipeline_layout.lifetime.compute

Components: Vulkan

VK-GL-CTS issue: 824

Change-Id: I0b72ad681528388577678b4e5dfe96eef6f3486e

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Wed, 14 Mar 2018 12:44:28 +0000 (13:44 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ia75cc2e00a0502ab5b2d3fa83261cd9cf20839ba

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master
Alexander Galazin [Wed, 14 Mar 2018 11:48:19 +0000 (12:48 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/master

Change-Id: I87b9b049c6e21dc45629284cf78f02fc57a0317c

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Wed, 14 Mar 2018 11:44:53 +0000 (12:44 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: Iff05f0c3ed7725c4cff850649a83b78d98b341e1

6 years agoAdd pipeline cache corner cases
Paavo Pessi [Mon, 19 Feb 2018 13:00:05 +0000 (15:00 +0200)]
Add pipeline cache corner cases

Two new test cases were added. The first case creates a pipeline cache
using valid previously retrieved data, but sets the initial cache size
to zero.

The second case creates multiple pipeline caches using previously
retrieved data, which is valid apart from cache header version, vendor
ID, device ID and pipeline cache ID.

New tests:

dEQP-VK.pipeline.cache.misc_tests.zero_size_test
dEQP-VK.pipeline.cache.misc_tests.invalid_blob_test

Components: Vulkan

VK-GL-CTS issue: 1012
VK-GL-CTS public issue: 81

Change-Id: Ie28b10f97adc2e4b2d1a2239ec5c6c1d75416087

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Wed, 14 Mar 2018 08:46:20 +0000 (09:46 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I768567546e111ed9af5e35293d4af079453abccf

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 14 Mar 2018 08:46:16 +0000 (09:46 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Id0a9cedc7822a3b3206e162f217f790d087c3392

6 years agoFix GL CTS Readme
Alexander Galazin [Wed, 14 Mar 2018 08:38:20 +0000 (09:38 +0100)]
Fix GL CTS Readme

Update the README to state the correct version
of the required Android API

Components: OpenGL

Public issue: 86

Change-Id: I60d7b6952957ac6803864a16eed82c9f28e07e88

6 years agoAdd runtime time report of a CTS run
Arkadiusz Sarwa [Fri, 12 Jan 2018 14:13:30 +0000 (15:13 +0100)]
Add runtime time report of a CTS run

New section have been added to file TestResults.qpa.
"#beginTestsCasesTime" - section contains a time summary for groups.
bottleneck_report.py - script which helps to find bottlenecks in CTS

Components: Framework

VK-GL-CTS issue: 879

Change-Id: I73773d820ddcd0f5b3c50c2128b8961cd1227b0e

6 years agoFetch new tags when fetching new Git sources
Caio Marcelo de Oliveira Filho [Mon, 12 Mar 2018 17:25:58 +0000 (10:25 -0700)]
Fetch new tags when fetching new Git sources

Change-Id: I1a906ebf2698eac33c3acbf1da74df9642b775a2
Component: Framework
(cherry picked from commit 204d597504c94fa52ed0f5a2c21895482236d5cc)

6 years agoFetch new tags when fetching new Git sources
Caio Marcelo de Oliveira Filho [Mon, 12 Mar 2018 17:25:58 +0000 (10:25 -0700)]
Fetch new tags when fetching new Git sources

Change-Id: I1a906ebf2698eac33c3acbf1da74df9642b775a2
Component: Framework

6 years agoUse sys.executable instead of "python"
Caio Marcelo de Oliveira Filho [Thu, 22 Feb 2018 01:22:46 +0000 (17:22 -0800)]
Use sys.executable instead of "python"

When Python scripts call other python scripts, prefer using whatever
interpreter was used for the topmost call instead of "python". In some
environments "python" is already pointing to a Python 3 interpreter.

Components: Framework

Change-Id: Ifba9b2965901ffcf9c1897ccabe5fa183f359707

6 years agoHandle gcc 7 warnings
Caio Marcelo de Oliveira Filho [Thu, 22 Feb 2018 01:54:57 +0000 (17:54 -0800)]
Handle gcc 7 warnings

- "-Wimplicit-fallthrough" warns on case conditions that
  fallthrough. GCC does have a way to accept conditions that have a
  comment about falling through inside the cases, but the codebase has
  other cases where a single comment explains the fallthrough for the
  whole switch. This warning is being ignored. It was not possible to
  use "-Wno-error=WARNING" because older GCCs fail -- but they do
  accept "-Wno-WARNING" where WARNING is unknown (since at least gcc
  4.6.4).

- "-Wint-in-bool-context" warns (among other things) about result of
  multiplication being used in boolean context. Code was changed to
  use de::max() instead.

- "-Wmaybe-uninitialized" warned about some attributes of a struct not
  being initialized depending on the case. Code was changed to
  initialize the struct in question.

Components: Framework, Vulkan

Change-Id: Iabb26f01e047353c6e2a704ab27b673e85b185be

6 years agoFix internal formats conversions
Piotr Byszewski [Tue, 27 Feb 2018 12:34:13 +0000 (13:34 +0100)]
Fix internal formats conversions

This change resolves Windows compilation errors that
were triggered by the use of snprintf. This function was
replaced with StringTemplate.
This change also fixes few warnings.

Components: OpenGL

Affects:
KHR-GLES3.copy_tex_image_conversions.*

Change-Id: I70c9fdaac3f971e563378a2bcffc65b5386ca914

6 years agoReplaced deprecated windows version detect
Jari Komppa [Thu, 1 Mar 2018 12:49:25 +0000 (14:49 +0200)]
Replaced deprecated windows version detect

The old windows version reporting API has been deprecated and has been
lying since Windows 8.1 - all windows versions since that version have
been reported as Windows 8.0. (It is possible to add manifest files to
the executable to accept later windows versions, but that would require
the UUID of every existing and future versions of Windows).

There is no direct replacement, as Microsoft would prefer applications
to be written against available features instead of relying on Windows
version numbers.

The official workaround is to look at the version numbers in system DLL
files. In addition, the registry contains several strings which tell the
version number. This change attempts to do both, in case future Windows
versions change this behavior.

Windows can also lie about the bit-ness of the operating system; reading
the windows version from registry from a 32bit application may report
the operating system as 32 bit even if it's actually 64 bit. Separate
64-bit detect function is also included. (Hypothetical future 128 bit
Windows will likely report as 64 bit, but I'll leave that problem to the
future generations).

Affects:

dEQP-VK.info.platform

Components: Framework

VK-GL-CTS issue: 1044

Change-Id: I80062d6eefb14b2ce04818a6c3176db0b172419e

6 years agoRestrict alpha range for rgba5551 surfaces
James Glanville [Thu, 22 Feb 2018 14:58:05 +0000 (14:58 +0000)]
Restrict alpha range for rgba5551 surfaces

The tests were blending against an rgba5551 surface and expecting alpha
to be quantized to 1 bit between every drawcall. The spec does not
forbid implementations to use higher precision internal representations
where this quantisation may not occur to the same extent. This change
restricts fragment outputs to be either 0 or 1, so the issue is avoided

Components: OpenGL

VK-GL-CTS issue: 988

Affects:
dEQP-EGL.functional.render.*rgba5551*

Change-Id: Id8fa5068931124d79ae7fa1b9b8a41845c73e507

6 years agoTest layout(location) qualifier with opaque types
Piotr Byszewski [Fri, 23 Feb 2018 13:00:46 +0000 (14:00 +0100)]
Test layout(location) qualifier with opaque types

layout(location) is tested with images and samplers.

Components: OpenGL

VK-GL-CTS issue: 870

Affects:
KHR-GL45.layout_location.*
KHR-GLES31.shaders.layout_location.*

Change-Id: I3abacfe2fbc93860cfd7744f77733189db531dce

6 years agoteglImageFormatTests: call glFinish after creating the buffer in the client API
Nicolai Hähnle [Mon, 20 Nov 2017 15:08:51 +0000 (16:08 +0100)]
teglImageFormatTests: call glFinish after creating the buffer in the client API

According to section 3.7.3.2 (Order of Rendering Operations Between
Contexts) of the EGL spec, the application is responsible for
synchronization between different rendering contexts even in the same
thread.

Some of the tests execute a sequence of operations like this (see
MultiContextRenderTests::init):

1. ctx0: create image
2. ctx0: read from image
3. ctx0: clear image
4. ctx1: recreate image
5. ctx0: read from image
6. ctx1: read from image

This change adds a call to glFinish between steps 4 and 5 that is needed
for correctness. Note that other parts of the same file already call
glFinish, e.g. the various Render actions.

Components: EGL
VK-GL-CTS issue: 857
Affects:
dEQP-EGL.functional.image.render_multiple_contexts.gles2_*_read_pixels

Change-Id: I4dc50f7516374405596653d7006165819b95b6fa

6 years agoTake account of alignment for data to skip
Juan A. Suarez Romero [Fri, 23 Feb 2018 16:40:34 +0000 (16:40 +0000)]
Take account of alignment for data to skip

When making the gradient for packed pixels tests, in some cases it is
required to generate data that will be skip by the operations, like when
using GL_UNPACK_SKIP_IMAGES.

But also the images need to be aligned with the proper
GL_UNPACK_ALIGNMENT, so the data to skip need to account for this
alignment too.

Besides this main fix, a minor fix included is to not increase the
buffer size to account for the skipped images, as the depth already
considered them.

Components: OpenGL

VK-GL-CTS issue: 1017

Affects:
KHR-GLES3.packed_pixels.*
KHR-GL3*.packed_pixels.*
KHR-GL4*.packed_pixels.*

Change-Id: I2fc0626ad2c5bb900db1c67dd1b06bf8a7f25ef9

6 years agoMerge "Fix ShaderUniformIntegerFunctionTest to not have bool precision"
Raymond Chiu [Tue, 13 Mar 2018 00:49:05 +0000 (00:49 +0000)]
Merge "Fix ShaderUniformIntegerFunctionTest to not have bool precision"

6 years agoFix ShaderUniformIntegerFunctionTest to not have bool precision
Raymond Chiu [Mon, 12 Mar 2018 17:49:10 +0000 (10:49 -0700)]
Fix ShaderUniformIntegerFunctionTest to not have bool precision

Bug: 71875560
Components: AOSP
Affects: dEQP-GLES31.functional.shaders.builtin_functions.uniform.*
Change-Id: I25325aa74090ec253da33ba2677ac281e3a6e01c

6 years agoeglGetFrameTimestamps: Don't require reads done to be monotonic. am: e8634c9254
Brian Anderson [Mon, 12 Mar 2018 17:59:09 +0000 (17:59 +0000)]
eglGetFrameTimestamps: Don't require reads done to be monotonic. am: e8634c9254
am: 24f69aed49

Change-Id: I793d5340447fc5fea2e7e6dfcdc11a4b174812bb

6 years agoeglGetFrameTimestamps: Don't require reads done to be monotonic.
Brian Anderson [Mon, 12 Mar 2018 17:54:36 +0000 (17:54 +0000)]
eglGetFrameTimestamps: Don't require reads done to be monotonic.
am: e8634c9254

Change-Id: I68606ee22f516db51b60db205cd7ebb28cc563f6

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Mon, 12 Mar 2018 09:58:13 +0000 (10:58 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ib0f3fa2db421ec19b464cb42230a08ae26d9860e

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Mon, 12 Mar 2018 09:58:09 +0000 (10:58 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I25a00d37394a47b90d7cdf0f51738e71f151f4f2

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 9 Mar 2018 23:24:51 +0000 (15:24 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I4453b674dba334a6c547fc694be9639f47226ebe

6 years agoeglGetFrameTimestamps: Don't require reads done to be monotonic.
Brian Anderson [Fri, 9 Mar 2018 18:25:08 +0000 (10:25 -0800)]
eglGetFrameTimestamps: Don't require reads done to be monotonic.

Reads done is usually monotonic, but only under the assumption
that every buffer of the surface is being consumed by the same
unit. It is possible for a surface to switch between being an
overlay and being composited by the GPU. It's also possible a
driver will maintain a shadow copy of a frame that will further
affect when reads from a buffer might finish.

Remove the overly strict check.

Bug: 7033485174184639
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: I8e242a9fd649720b4d8059797c71163329b7b92c

6 years agoMerge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master
Alexander Galazin [Thu, 8 Mar 2018 09:29:21 +0000 (10:29 +0100)]
Merge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master

Change-Id: I45c9f0676f47400c617f7ba1fa6d31812fb5cff6