platform/upstream/VK-GL-CTS.git
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 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 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 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 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 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 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 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

6 years agoUpdate glslang, SPIR-V commits
Alexander Galazin [Wed, 7 Mar 2018 15:45:21 +0000 (16:45 +0100)]
Update glslang, SPIR-V commits

Components: Framework

Affects: dEQP-VK.*

Change-Id: If5830108278597a28f8043dd947bed3c20c9688d

6 years agoAdd fixed clipping tests to 1.0.3 mustpass
Paavo Pessi [Wed, 7 Mar 2018 09:35:52 +0000 (11:35 +0200)]
Add fixed clipping tests to 1.0.3 mustpass

Change-Id: I53fa94455924d1c03a961ce4f35076dc8fc354d5
Components: Vulkan

6 years agoAllow pop-free behavior in line clipping tests
Paavo Pessi [Wed, 21 Feb 2018 09:50:37 +0000 (11:50 +0200)]
Allow pop-free behavior in line clipping tests

Existing line clipping tests were modified to allow both popping and
pop-free behavior. The tests support both strict and non strict lines.

Affects:

dEQP-VK.clipping.clip_volume.clipped.wide_lines_axis_aligned
dEQP-VK.clipping.clip_volume.clipped.wide_lines_diagonal

Components: Vulkan

VK-GL-CTS issue: 98

Change-Id: I30301327076ddbd42986b7a58bd3f49786fe993a

6 years agoWrite only R channel on GL_DEPTH_COMPONENT and OpenGL ES
Juan A. Suarez Romero [Thu, 18 Jan 2018 10:48:45 +0000 (10:48 +0000)]
Write only R channel on GL_DEPTH_COMPONENT and OpenGL ES

The affected tests fuzzily compare the results of using sized depth
textures (GL_DEPTH_COMPONENT{16,24,32}) with unsized depth texture
(GL_DEPTH_COMPONENT), which is used as reference.

According to OpenGL ES, the formers write the depth in R channel, (D,
0.0, 0.0, 1.0), while the later writes the depth in the three RGB
channels (D, D, D, 1.0).

Roughly speaking, the image in the former case is red-ish, while the
second is grayscale, and thus the comparison fails.

As only the depth is interested, just modify the test to write the red
channel in the last case.

To allow comparing them, let's just use one channel in the reference.

Components: OpenGL

VK-GL-CTS issue: 999

Affects:
KHR-GLES2.core.internalformat.texture2d.depth*
KHR-GL4*.internalformat.texture2d.depth*

Change-Id: I0bd9eea951eec0dcf91b072c476fbe0ae5292df1

6 years agoAdd test for VkSetHdrMetadata
Courtney Goeltzenleuchter [Mon, 22 Jan 2018 19:15:39 +0000 (11:15 -0800)]
Add test for VkSetHdrMetadata

Affects: dEQP-VK.wsi.*.colorspace.*

Change-Id: I767b19cd94d7387d7df19b3d85553f62ad6f891b
Components: Vulkan

6 years agoTests for layered resolve attachments
Boris Zanin [Tue, 6 Feb 2018 16:54:00 +0000 (17:54 +0100)]
Tests for layered resolve attachments

Add tests:
 * dEQP-VK.renderpass.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass.multisample_resolve.layers_6.*
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.*

Update tests:
 * dEQP-VK.renderpass.multisample_resolve.*
 * dEQP-VK.renderpass.suballocation.multisample_resolve.*

Components: Vulkan

VK-GL-CTS issue: 960

Change-Id: Ic52f813d5590b7a17301016af193256eae1f85b5

6 years agoUse de::min instead of std::min
Mikael Tuomisalo [Mon, 5 Mar 2018 18:33:33 +0000 (20:33 +0200)]
Use de::min instead of std::min

std::min was used without including algorithm, which breaks build on
at least VS2017

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

Affects:
dEQP-GLES2.functional.texture.size.*
dEQP-GLES3.functional.texture.size.*

Change-Id: Id3edb237931d6957095cf6b8fcb38359422decd3

6 years agoTest creating empty descriptor set layouts
Paavo Pessi [Fri, 16 Feb 2018 14:30:07 +0000 (16:30 +0200)]
Test creating empty descriptor set layouts

Two new test cases were added. The first case creates a descriptor set
layout with zero bindings and without optional flags. The second case
creates a descriptor set layout with zero bindings and uses the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR flag.

The test passes as long as the descriptor set layout is created
successfully.

New tests:

dEQP-VK.api.descriptor_set.descriptor_set_layout.empty_set.normal
dEQP-VK.api.descriptor_set.descriptor_set_layout.empty_set.push_descriptor

Components: Vulkan, Framework

VK-GL-CTS issue: 1013
VK-GL-CTS public issue: 80

Change-Id: I75abe4e3f0f14902a4d7178e7e763ccdec90dc8c

6 years agoExtend coverage in subgroups: vote, builtinMaskVar
Arkadiusz Sarwa [Mon, 29 Jan 2018 17:25:35 +0000 (18:25 +0100)]
Extend coverage in subgroups: vote, builtinMaskVar

Affects:
dEQP-VK.subgroups.vote.*
dEQP-VK.subgroups.builtin_mask_var.*

 Add tests:
 dEQP-VK.subgroups.vote.*_frag_helper

Components: Vulkan

VK-GL-CTS issue: 965, 799

Change-Id: I32fe052e4cbfc6d1dfefb9b3be7d1e4d54124b16

6 years agoUse common utility function for queue submit and wait
Ari Suonpaa [Tue, 20 Feb 2018 09:12:58 +0000 (11:12 +0200)]
Use common utility function for queue submit and wait

Queue submit and wait is being used in almost every test case. Some
test groups already implement an utility function to create a fence,
submit commands and wait for the fence. Others do it inline. These
are now replaced with a single utility function.

Affects:

dEQP-VK.api.buffer_view.access.*
dEQP-VK.api.command_buffers.*
dEQP-VK.api.copy_and_blit.*
dEQP-VK.api.fill_and_update_buffer.*
dEQP-VK.api.get_memory_commitment.*
dEQP-VK.api.smoke.*
dEQP-VK.api.image_clearing.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.device_group.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.binding.*
dEQP-VK.memory.pipeline_barrier.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
dEQP-VK.query_pool.occlusion_query.*
dEQP-VK.query_pool.statistics_query.*
dEQP-VK.rasterization.*
dEQP-VK.renderpass.multisample_resolve.*
dEQP-VK.renderpass.multisample.*
dEQP-VK.renderpass.sampleread.*
dEQP-VK.renderpass.sparserendertarget.*
dEQP-VK.glsl.*
dEQP-VK.spirv_assembly.*
dEQP-VK.ssbo.*
dEQP-VK.synchronization.internally_synchronized_objects.*
dEQP-VK.synchronization.op.*queue.*
dEQP-VK.tessellation.*
dEQP-VK.texture.*
dEQP-VK.ubo.*
dEQP-VK.ycbcr.*

Components: Vulkan

VK-GL-CTS issue: 1015

Change-Id: I27c05269b1c546c7079f8197f84cdc7f2c8bda17

6 years agoAdd tests for vkGetDeviceQueue2
Yiwei Zhang [Sat, 3 Feb 2018 01:39:06 +0000 (17:39 -0800)]
Add tests for vkGetDeviceQueue2

Add tests verifying behavior of vkGetDeviceQueue2 when the provided
flags match and do not match.

Components: Vulkan

New tests: dEQP-VK.api.device_init.create_device_queue2*

Change-Id: I0654a0e4e20e56571220268e65f54a923bec2ff8

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 2 Mar 2018 14:43:57 +0000 (15:43 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I4e0d4ac0cab7b8cc9ffd010bc6cc53c60b485e88

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 2 Mar 2018 13:47:51 +0000 (14:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I30ffdaf2b3e30f6ac490ef4bf4e5169d98f0c66c

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 2 Mar 2018 13:15:50 +0000 (14:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ibf8696558e773e47e04e0f14e7b0deb566eaa5ce

6 years agoUnfreeze Vulkan CTS 1.0.3 mustpass
Alexander Galazin [Fri, 2 Mar 2018 11:09:38 +0000 (12:09 +0100)]
Unfreeze Vulkan CTS 1.0.3 mustpass

Change-Id: Icee32789f1a86ee873f20139787222d416456bfd

6 years agoAdd a note to the README
Alexander Galazin [Fri, 2 Mar 2018 11:17:24 +0000 (12:17 +0100)]
Add a note to the README

Explain that the verification scrpt will report a warning
for a correctly generated git-log

Components: Vulkan

Change-Id: Ie8e0ab090f50c776150f9a7f4ce7d69583186953

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 2 Mar 2018 10:47:38 +0000 (11:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ia75241c78980e6bac6358ade016d4849090f8444

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master
Alexander Galazin [Fri, 2 Mar 2018 10:15:31 +0000 (11:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master

Change-Id: I28a337678dc76cf49f090fc0ee304b5d7a137cf0

6 years agoValidation errors fix in copying 3d images
Marcin Rogucki [Thu, 18 Jan 2018 09:55:07 +0000 (10:55 +0100)]
Validation errors fix in copying 3d images

A minor chages to fix validation errors.
Two tests are not passing currently!

Affected tests:
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.3d_images.*

Components: Vulkan

VK-GL-CTS issue: 208

Change-Id: Id3c5ec869d52db6b1229f45bbeacf24e35e75e48
(cherry picked from commit c23ba94d7978ba84f9ffd2e75b6afbf8e3395633)

6 years agoFix: Memory alignment
Arkadiusz Sarwa [Tue, 27 Feb 2018 11:38:31 +0000 (12:38 +0100)]
Fix: Memory alignment

Affects:
dEQP-VK.memory.mapping*

Components: Vulkan

VK-GL-CTS issue: 1039

Change-Id: Ia5093148fa145c9eecc03fe3b76102cdf77ad472

6 years agoSpec relaxation for protected YCbCr Implicit chroma reconstruction
Panagiotis Apostolou [Thu, 22 Feb 2018 15:28:54 +0000 (16:28 +0100)]
Spec relaxation for protected YCbCr Implicit chroma reconstruction

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

Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*

Components: Vulkan

VK-GL-CTS issue: 1032

Change-Id: I25ef589ed05b1b167475eb5b6d782b261b1b3532

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 1 Mar 2018 15:21:19 +0000 (16:21 +0100)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I43efda824345475ca1305ed3fb2c68e0adb2cc29

6 years agoValidation errors fix in copying 3d images
Marcin Rogucki [Thu, 18 Jan 2018 09:55:07 +0000 (10:55 +0100)]
Validation errors fix in copying 3d images

A minor chages to fix validation errors.
Two tests are not passing currently!

Affected tests:
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.3d_images.*

Components: Vulkan

VK-GL-CTS issue: 208

Change-Id: Id3c5ec869d52db6b1229f45bbeacf24e35e75e48

6 years agoSet usable instance version in external memory tests
Slawomir Cygan [Wed, 28 Feb 2018 18:11:21 +0000 (19:11 +0100)]
Set usable instance version in external memory tests

These tests were using vkEnumerateInstanceVersion() to get
instance version. This failed, when Vulkan 1.1 Loader is used with
Vulkan 1.0 ICD: the function was returning version 1.1,
so test was not requesting any needed instance extensions, as these
were assumed to be already in core.

This is out of sync with dispatch code dispatching to
1.0 + KHR extension functions, when calling entrypoints like
vkGetPhysicalDeviceExternalBufferProperties(). As no KHR extensions
were requested during instance creation, the behavior is undefined.

The dispatch code is using context.getUsedApiVersion() utility
to guess Vulkan version, so same utility should be used for instance
creation, avoiding raw calls to vkEnumerateInstanceVersion().

Components: Vulkan

VK-GL-CTS Issue: 1047, 854

Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.api.external.fence.*
dEQP-VK.api.external.semaphore.*

Change-Id: Iecf9bb086e04c6d88118fee9c4867ac5647d1ab7

6 years agoRemove vertex stage variants from dEQP-VK.protected_memory.interaction.ycbcr.*
Panagiotis Apostolou [Thu, 22 Feb 2018 15:04:24 +0000 (16:04 +0100)]
Remove vertex stage variants from dEQP-VK.protected_memory.interaction.ycbcr.*

"Except for framebuffer-space pipeline stages, compute shader stage, and
transfer stage, any read from or write to protected memory during protected
queue operations results in undefined behavior"

The existing dEQP-VK.protected_memory.interaction.ycbcr.* group include
tests that sample the protected texture from inside the vertex shader. This
commit removes these tests.

Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*

Components: Vulkan

VK-GL-CTS issue: 1031

Change-Id: I459da0f3028e418c90285e55fb17ac1fda8d8467

6 years agoDon't run sparse texture tests if format isn't sparse supported
Dave Airlie [Thu, 21 Dec 2017 03:03:22 +0000 (13:03 +1000)]
Don't run sparse texture tests if format isn't sparse supported

These tests weren't checking if the format was support for sparse
operations, so add a check before executing the test.

Affects:
dEQP-VK.texture.shadow.*.sparse*

Components: Vulkan

VK-GL-CTS issue: 918

Change-Id: I5e55c2e4d8d1105df9d3ed8cbdf1b22e51b56b2a

6 years agoRobust buffer access through variable pointers
Marcin Rogucki [Tue, 17 Oct 2017 14:56:49 +0000 (16:56 +0200)]
Robust buffer access through variable pointers

Components: Vulkan

VK-GL-CTS issue: 418

Adds:
dEQP-VK.robustness.buffer_access.through_pointers.graphics.*
dEQP-VK.robustness.buffer_access.through_pointers.compute.*

Change-Id: I79d261a13fd2efc01da4f4d5984631d26d2b5cdd

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 1 Mar 2018 14:55:18 +0000 (15:55 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I8e4b6db4f5c8310bf117bb3093adb6d335862462

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 1 Mar 2018 14:30:47 +0000 (15:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I316b17e1a7fb74fb0940b1463df9fa738532548e

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 1 Mar 2018 14:12:16 +0000 (15:12 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Id333c16da0ab9db53d16b15ca068c1232d093f58

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 1 Mar 2018 13:24:31 +0000 (14:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I8c2317b97955bbee922af624b91287071fbc7661

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master
Alexander Galazin [Thu, 1 Mar 2018 13:15:58 +0000 (14:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master

Change-Id: If5b14c7b39f8ed894d9da5129d781d9db3ad2acb

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3
Alexander Galazin [Thu, 1 Mar 2018 12:28:03 +0000 (13:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.3

Change-Id: I41e9aca9c2a5bd2bbb13b55584a4f5faf433aa12

6 years agoFix validation errors in image clearing tests
Mika Väinölä [Thu, 22 Feb 2018 12:01:38 +0000 (14:01 +0200)]
Fix validation errors in image clearing tests

Remove access flags which are not supported by
VK_PIPELINE_STAGE_TRANSFER_BIT.

Affects:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 1030

Change-Id: Ia0b4e097766ec674be149dbde4fad652482c1e39

6 years agoAdded missing gl_PointSizes when drawing points
Dae Kim [Fri, 23 Feb 2018 08:39:12 +0000 (08:39 +0000)]
Added missing gl_PointSizes when drawing points

Some tests using point list primitive topology were not specifying point
sizes with the gl_PointSize built-in.

Affects:

dEQP-VK.subgroups.*
dEQP-VK.synchronization.*

Components: Vulkan

VK-GL-CTS issue: 1035

Change-Id: I8588e26ee47c58f6ec4e9ee5fdce70546ec28903

6 years agoDo not access temporary C++ object members by reference
Slawomir Cygan [Thu, 22 Feb 2018 17:55:01 +0000 (18:55 +0100)]
Do not access temporary C++ object members by reference

Fix undefined C++ behavior (resulting in errors when doing runtime memory checks),
where a temporary object returned by getInputAspects() method is used by a reference
to a member after the temporary is destructed.

It seems getInputAspects should just return reference.

Affects: dEQP-VK.renderpass.*.input*

Component: Vulkan

VK-GL-CTS Issue: 1033

Change-Id: I71edabed71ea63f46cdbc45c966d57cd020565ab

6 years agoCover gl_WorkGroupSize negative cases
Piotr Byszewski [Fri, 16 Feb 2018 13:35:13 +0000 (14:35 +0100)]
Cover gl_WorkGroupSize negative cases

Check if compile-time error is generatef when gl_WorkGroupSize
is used before its declaration.
This change also verifies if omitted dimensions are set to 1.

Components: OpenGL

VK-GL-CTS issue: 951

Affects:
KHR-GLES31.core.compute_shader.work-group-size-usage

Change-Id: I8f3c72401c4f15d9a53d41f0a005d5399527072c

6 years agoDestroy debug context if a failure occurs.
neilmonday [Thu, 8 Feb 2018 15:33:48 +0000 (10:33 -0500)]
Destroy debug context if a failure occurs.

For gl4cKHRDebugTests, Adding TestBase::done before the exception is
thrown so that the temporary context is properly deleted and the
original is restored.

Affects:

KHR-GL46.khr_debug.api_errors_non_debug
KHR-GL46.khr_debug.labels_non_debug
KHR-GL46.khr_debug.receiveing_messages
KHR-GL46.khr_debug.groups
KHR-GL46.khr_debug.api_errors_debug
KHR-GL46.khr_debug.labels_debug
KHR-GL46.khr_debug.synchronous_calls

Components: OpenGL

VK-GL-CTS issue: 976

Change-Id: Ia0b061b6cc5d4b309d2df2a6d4acf25caad0114c

6 years agoAdded handling for EGL_YUV_BUFFER_EXT
Oliver Wohlmuth [Fri, 2 Feb 2018 13:41:08 +0000 (14:41 +0100)]
Added handling for EGL_YUV_BUFFER_EXT

YUV framebuffer formats are not handled for dEQP-
EGL.functional.color_clears.single_context.gles2.other
which results in an assertion. This patchset handles them similar to
float pixel formats.

Affects:
dEQP-EGL.functional.color_clears.single_context.gles2.other

Components: Framework, AOSP
VK-GL-CTS issue: 894

Change-Id: I4ac65c939819a8de7c464601491bb8df78623171

6 years agoFixes for sparse texture clamp tests.
Michael Chock [Tue, 27 Feb 2018 23:22:46 +0000 (15:22 -0800)]
Fixes for sparse texture clamp tests.

When initializing the test texture, bind to an image unit, setting the
layered parameter to GL_TRUE instead of GL_FALSE. For array textures,
the compute shader used indexes all layers of the textures. For
non-array textures, the parameter has no effect.

For cube map array textures, copy vertex array data to a higher-scoped
memory location, such that the draw call is not invoked with a dangling
pointer.

Swap the Z and W coordinates of the texture size calculated by shaders,
such that Z is the number of cube faces, and W is the number of layers
(which is how the coordinates were otherwise already being used).

Set up texture coordinates for KHR-GL46.sparse_texture_clamp_tests.*
such that the fragment shader correctly computes layer and face indices,
given the corrected texture size and existing shader generation logic.

Components: OpenGL

VK-GL-CTS issue: 1042

Affects:
KHR-GL46.sparse_texture_clamp_tests.*
KHR-GL46.sparse_texture2_tests.*

Change-Id: Ifd33b34b33494ad35f0eb48a9b4aa0ade3bb2d04

6 years agoMerge remote-tracking branch 'aosp/master' into deqp-dev
Chris Forbes [Tue, 27 Feb 2018 17:27:45 +0000 (09:27 -0800)]
Merge remote-tracking branch 'aosp/master' into deqp-dev

Change-Id: If842464627ad7b6c07c8b2fb259ce7abe1e084b5

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 27 Feb 2018 14:08:05 +0000 (15:08 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6b88acb64b5ff7cd03e1d52d61d93545c27bf21e

6 years agoRename Interval::warning's parameters to avoid shadowing
Chris Forbes [Tue, 27 Feb 2018 15:54:49 +0000 (07:54 -0800)]
Rename Interval::warning's parameters to avoid shadowing

GCC 4.9 warns about this, causing build failures with -Werror

Change-Id: Ic3579de84f4b3f1f231240910dbd15dafe90c6bc
Components: Framework

6 years agoMerge "Merge vk-gl-cts/github-master into vk-gl-cts/master"
Alexander Galazin [Tue, 27 Feb 2018 12:42:27 +0000 (07:42 -0500)]
Merge "Merge vk-gl-cts/github-master into vk-gl-cts/master"

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master
Alexander Galazin [Tue, 27 Feb 2018 12:21:11 +0000 (13:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.3 into vk-gl-cts/master

Change-Id: I1f5b1b2621033ffa3551bd2cdf8c057cf89e9539

6 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Tue, 27 Feb 2018 11:16:52 +0000 (12:16 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I8990b1e682cdb59cdf15eeddbc91af817b9e3e30

6 years agoMerge pull request #79 from imirkin/master
Alexander Galazin [Tue, 27 Feb 2018 09:13:28 +0000 (10:13 +0100)]
Merge pull request #79 from imirkin/master

glx: add getProcAddress override

6 years agoHandle edge case in GL FP64 tests
Piotr Byszewski [Thu, 21 Sep 2017 13:36:36 +0000 (15:36 +0200)]
Handle edge case in GL FP64 tests

mod(a,b) is defined as: a - b * floor(a/b)
mod(a,a) should be 0 however OpenGL allows for some error in
division, so a/a could actually end up being 1.0 - 1ULP. In
such a case, floor(a/a) would end up as 0, with mod(a,a)
becoming a. This patchset detects this case and adjusts the
expected result accordingly.

Components: OpenGL

VK-GL-CTS issue: 641

Affects:
KHR-GL40.gpu_shader_fp64.builtin.*

Change-Id: I9535d337b2132519c985f8ac8eb18bf938a89ea7

6 years agoAdd missing memory barrier to the image load/store tests
Sunny Sun [Mon, 8 Jan 2018 02:37:04 +0000 (10:37 +0800)]
Add missing memory barrier to the image load/store tests

The test issues multiple glDispatchCompute with the same dst
but misses a glMemoryBarrier call.
This violates section 7.11.2 of the GLES specification.

Components: OpenGL

Affects: KHR-GL*.robust.robust_buffer_access_behavior.image_load_store

VK-GL-CTS issue: 992

Change-Id: I9f368356dc12aca0e50749653411a6ad8e7ef0b2

6 years agoFix gl_FragData usage in draw_buffers test
Piotr Byszewski [Tue, 23 Jan 2018 13:29:34 +0000 (14:29 +0100)]
Fix gl_FragData usage in draw_buffers test

ES3 specification states that "if some, but not all user-defined
output variables are written, the values of fragment colors
corresponding to unwritten variables are (...) undefined".

Components: OpenGL

VK-GL-CTS issue: 291

Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers

Change-Id: I83f1904e9cf905634a421b6fc5530e0e0510ccb1

6 years agoFix: Remove workaround nonCoherentAtomSize
Arkadiusz Sarwa [Wed, 21 Feb 2018 08:35:42 +0000 (09:35 +0100)]
Fix: Remove workaround nonCoherentAtomSize

Affects:
dEQP-VK.memory.mapping*

Components: Vulkan

VK-GL-CTS issue: 962

Change-Id: Ibb81d8e829b003bd931a018c20d1d2ee640d816f

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

6 years agoFix wrong layout used in vkCmdImageResolve
Slawomir Cygan [Mon, 19 Feb 2018 13:37:08 +0000 (14:37 +0100)]
Fix wrong layout used in vkCmdImageResolve

VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL is not
a valid source layout for vkCmdImageResolve operation.

Image is already in VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
layout after transition performed ~48LOC above the offending resolve,
so just use current image layout here.

Components: Vulkan

VK-GL-CTS Issue: 1023

Change-Id: Ibcc3359c030d709c5a947316cea2a9cb19736b21
Affects: dEQP-VK.glsl.builtin_var.fragdepth.*multisample_*

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Mon, 26 Feb 2018 17:22:55 +0000 (09:22 -0800)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: Id50b4722e499965b7ad9dd5acc771f8b84d30cfc