platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 25 Sep 2018 13:26:40 +0000 (15:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Idc9e2c7523b11e08a849f226037fd2f2fea1e370

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 25 Sep 2018 11:05:35 +0000 (13:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I4e418414ad3adf232f210cacb3e84881ae94d98e

5 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
(cherry picked from commit 1dab6c690815c1640b7726e05211ec3ab244f935)

5 years agoFix pipeline barrier issues in protected memory tests
John Anthony [Wed, 19 Sep 2018 14:44:43 +0000 (16:44 +0200)]
Fix pipeline barrier issues in protected memory tests

Set correct stage mask for pipeline barriers, and remove pipeline
barriers that are not needed.

Components: Vulkan

VK-GL-CTS issue: 1373

Affects:
dEQP-VK.protected_memory.buffer.*
dEQP-VK.protected_memory.attachment.*

Change-Id: I6dae7ad02c66649281a35465939437a5fb26dd0e

5 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

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

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
(cherry picked from commit f679b545b3b5f06bfb84069a4c712e3988204326)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 21 Sep 2018 09:04:45 +0000 (11:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I9cb8925fdf0bea5cafa7460e7621d863c5e0de85

5 years ago2Darray compatible flag not allowed for 2D images
Marcin Kantoch [Wed, 19 Sep 2018 09:18:16 +0000 (11:18 +0200)]
2Darray compatible flag not allowed for 2D images

Fix for dEQP-VK.api.external.memory.*.image.info tests
incorrectly set create flag VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
for 2D images

Components: Vulkan

Affects:
dEQP-VK.api.external.memory.*.image.info

VK-GL-CTS issue: 1362

Change-Id: I6863fc30177979b913c9e0d4b5814cb857764e27

5 years agoAdd screenLayout to AndroidManifest configChanges
Robert Tray [Fri, 14 Sep 2018 22:40:32 +0000 (16:40 -0600)]
Add screenLayout to AndroidManifest configChanges

Android P will generate screenLayout configuration changes for
AndroidTV devices when an orientation change happens.

Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.

Components: AOSP

VK-GL-CTS issue: 1357

Change-Id: I0e4eb3a89f5dfb175cbeb32cc6c921a0fe99e477

5 years agoAdd test for VK_KHR_driver_properties
Maciej Jesionowski [Tue, 3 Apr 2018 11:52:00 +0000 (13:52 +0200)]
Add test for VK_KHR_driver_properties

New tests:
dEQP-VK.api.driver_properties.properties

Components: Vulkan
VK-GL-CTS issue: 1098

Change-Id: Ifcb774700c45f76e48a03b147472a506d274c192
(cherry picked from commit eb5806aab57fdf89850be8916e194c3d3b54c8d9)

5 years agoAdd tests for VK_KHR_shader_atomic_int64
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64

Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests

New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan, Framework, Scripts

VK-GL-CTS issue:1172

Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b
(cherry picked from commit 80926e1393d1a3de407b9279162056fa0a53822e)

5 years agoGL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests
Jeff Bolz [Fri, 18 May 2018 01:32:31 +0000 (20:32 -0500)]
GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests

Components: Vulkan

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

Change-Id: Ic68f4e16ff96b2bbb161f2b37e7b4c83094e4009
(cherry picked from commit f14467473e1bce678e12f71bcfcfb130c6423faa)

5 years agoAdd random descriptor set tests, and test VK_EXT_inline_uniform_block
Jeff Bolz [Thu, 12 Jul 2018 19:51:24 +0000 (14:51 -0500)]
Add random descriptor set tests, and test VK_EXT_inline_uniform_block

These tests generate random descriptor set layouts, where each descriptor
set has a random number of bindings, each binding has a random array size
and random descriptor type.

Components: Vulkan

New Tests: dEQP-VK.binding_model.descriptorset_random.*

Change-Id: I3ddfc82898ed970366ee8be4254e50e39a186c58
(cherry picked from commit 152c32af165698f43aa581c60b79bc35c1448116)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 19 Sep 2018 08:11:01 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I976c55e221f9d0362327ccdbf49aebe7cf4e37f1

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0

5 years agoAdd ASTC LDR error colour quality warning
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning

Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.

This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.

If such a match is detected the test will output a QualityWarning
instead of a Pass.

If the two compared values don't match, but are not both error colours
the test result is still a Fail.

Affects:

dEQP-VK.image.texel_view_compatible*astc*

Components: Vulkan

VK-GL-CTS issue: 1231

Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff

5 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

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

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4

5 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
(cherry picked from commit b861ca1e6d4c002d4359a71dbff1cdf898e79aca)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 14 Sep 2018 18:26:35 +0000 (20:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I888fa7abc156e03d7433791e8ae8ba9b6b41f1dd

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e

5 years agoTest cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.

The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

VK-GL-CTS issue: 1336
Components: Vulkan

Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit d8a05170a7ae7b6b284406f900b9609c7e71be14)

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit fed61233a802b5a8e7f6e634d0ef698e9155a94c)

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 6 Sep 2018 16:35:42 +0000 (18:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: If13d31edfaa41aab48bbca57024722276b86a511

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 6 Sep 2018 16:18:10 +0000 (18:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I717b207ec5642fb2f5a7deb9a91e52da7b3c862f

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660

5 years agoHandle denorm flush to negative zero in unpackhalf2x16 tests.
Jeff Bolz [Fri, 31 Aug 2018 02:42:54 +0000 (21:42 -0500)]
Handle denorm flush to negative zero in unpackhalf2x16 tests.

Whether input fp16 values are flushed to zero is implementation
dependent. However, negative denorm values can be flushed to negative
zero and the logic did not handle that case.

Affects: dEQP-VK.glsl.builtin.function.pack_unpack.unpackhalf2x16*
Component: Vulkan
VK-GL-CTS issue: 1341

Change-Id: I2cd4a68cb5e498cd714a7e55b27ae4bc05ccde2d

5 years agoFixes tessellation triangle check
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check

Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.

Point mode doesn't factor into this rule

Components: Vulkan
VK-GL-CTS Issue: 1273

Affects:
dEQP-VK.tessellation.primitive_discard.*

Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e

5 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 31 Aug 2018 09:16:21 +0000 (12:16 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I5a798ad268b27984038160cf645fc162260b069b

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 31 Aug 2018 07:52:20 +0000 (10:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e0e51ad6bbdebe2c0067cedbb8e0d3bca177fad

5 years agoFix subpixel precision for line geometry generation
Petros Bantolas [Wed, 18 Jul 2018 10:19:04 +0000 (11:19 +0100)]
Fix subpixel precision for line geometry generation

Line geometry generation for rasterization tests wasn't taking the HW
subPixelPrecisionBits limit into account. Modified the triangle creation
routines to round those coordinates down to the driver provided
precision.

Affects:

dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*

Components: Framework

VK-GL-CTS issue: 1274

Change-Id: I54af2f9606372bead2a8c7238588374101f80e55

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 30 Aug 2018 07:18:34 +0000 (09:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: If4c00f790e935ce2a38709a99745acff6d1ef5f8

5 years agoFixes memory allocation tests
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests

Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.

Components: Vulkan
VK-GL-CTS issue: 1259

Affects:
dEQP-VK.memory.allocation.basic.size_*

Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a

5 years agoIncorrect enum values for VK_KHR_create_renderpass2
John Anthony [Thu, 23 Aug 2018 14:11:13 +0000 (16:11 +0200)]
Incorrect enum values for VK_KHR_create_renderpass2

Some VkStructureType enum values added for VK_KHR_create_renderpass2 are
not in accordance with current Vulkan headers and the Vulkan
specification.

Components: Vulkan

VK-GL-CTS issue: 1321

Affects: dEQP-VK.*renderpass2.*

Change-Id: I51031d538bc427e56bbf56f603f200b513834d67

5 years agoImprove wsi.incremental_present.* for low memory
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory

This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms

The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:

create swapchain, render some frames, destroy the swapchain, repeat

the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.

This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan

Max extents are already tested in other deqp tests & it's redundant
to do evaluate it again here; this change will make the test more
on functionality

2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine

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

Components: Vulkan

VK-GL-CTS issue: 1179

Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)

5 years agoImprove wsi.incremental_present.* for low memory
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory

This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms

The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:

create swapchain, render some frames, destroy the swapchain, repeat

the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.

This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan

Max extents are already tested in other deqp tests & it's redundant
to do evaluate it again here; this change will make the test more
on functionality

2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine

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

Components: Vulkan

VK-GL-CTS issue: 1179

Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)

5 years agoRemove unconditional depth_clamping for 1.1.2
Simen Kaspersen [Thu, 2 Aug 2018 13:17:00 +0000 (15:17 +0200)]
Remove unconditional depth_clamping for 1.1.2

Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

Affects:
dEQP-VK.pipeline.early_destroy.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.device_group.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: I88271dda6001c63208b28d615ceab20bc597b743

5 years agoFix issues in ProtectedMemCopyBufferToImage
Ilya Zaytsev [Tue, 21 Aug 2018 14:46:48 +0000 (16:46 +0200)]
Fix issues in ProtectedMemCopyBufferToImage

Fixes the following issues:

* pipeline barriers were not correct: wrong stages and wrong access masks
  were used
* R32G32B32A32_UINT image view was sampled from sampler2D

Affects: dEQP-VK.protected_memory.image.copy_buffer_to_image.*

Components: Vulkan

VK-GL-CTS issue: 1326

Change-Id: I9d7eb9f8d9c2dcda1d7dd1f3b0e68e71fcd8c8f9

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 24 Aug 2018 07:26:58 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ib1bfbe439ce0b734de4328d9d9577bc0a3793288

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 24 Aug 2018 07:26:54 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ie5d1d301b96c8eff6a7d974de13c1d35195d7b26

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 24 Aug 2018 07:26:51 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I5b4bdc020c0dda7ec55aafd498cd1f1193b9c77b

5 years agoVulkan AHB - fix incorrect structure definition
Tony Zlatinski [Thu, 16 Aug 2018 13:17:28 +0000 (08:17 -0500)]
Vulkan AHB - fix incorrect structure definition

Fix a missing VkComponentMapping field of the VkAndroidHardwareBufferFormatPropertiesANDROID
structure. This is causing incorrect values to be populated to the
structure, as well as, a stack overwrite of other stack-located locals.

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r8g8b8a8_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r5g6b5_unorm_pack16
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r16g16b16a16_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.a2b10g10r10_unorm_pack32

Components: Vulkan
VK-GL-CTS issue: 1305
VK-GL-CTS issue: 1316

Change-Id: I81eb1cc605912bf0adebe67b65d7ccdd31236ec9

5 years agoFix copy/paste errors in opundef assembly tests
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests

The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>

Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315

Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd
(cherry picked from commit a46089154137e0939c02bdcabc74f5daa303ffb2)

5 years agoFix copy/paste errors in opundef assembly tests
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests

The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>

Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315

Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd

5 years agoRemove broken/redundant barrier for multiview depth/stencil readback
Chris Forbes [Mon, 18 Jun 2018 20:23:15 +0000 (13:23 -0700)]
Remove broken/redundant barrier for multiview depth/stencil readback

This barrier was set up for color writes, not depth/stencil. It was also
unnecessary, so just remove it.

Change-Id: Ieeec7320f40b273f12f669934298f85702a5985b
Components: Vulkan
VK-GL-CTS: 1288
Affects: dEQP-VK.multiview.*
(cherry picked from commit 9a5be0a660ea73f6c57efd77dff1219ec4e35bf3)

5 years agoFixes geometry shader invocation dependency
Matthew Netsch [Wed, 8 Aug 2018 20:52:35 +0000 (16:52 -0400)]
Fixes geometry shader invocation dependency

dEQP-VK.tessellation.invariance.* updates a SSBO
expecting the implementation to execute the GS
once per primitive. Changes the test to allow
multiple invocations.

Components: Vulkan
VK-GL-CTS Issue: 1281

Affects:
dEQP-VK.tessellation.invariance.*

Change-Id: I6ed17a8afb413587bb38487ec9952f569a250193

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 7 Aug 2018 10:02:46 +0000 (12:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I87551c21c18956e49aaef393a1f700ad72686912

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 7 Aug 2018 08:57:19 +0000 (10:57 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3ebd996d37e078d937fe79ccc93718b51672e1c4

5 years agoRemoved cache info from logged shaderstrings
Jari Komppa [Wed, 1 Aug 2018 12:52:59 +0000 (15:52 +0300)]
Removed cache info from logged shaderstrings

This fix removes the additional information shader cache includes in the
shader string before logging. Logging change only, does not affect tests
themselves.

Affects: none

Components: Vulkan

VK-GL-CTS issue: 1289

Change-Id: I49f8730816ce28584d9601306ec40be052cee341

5 years agoRemove unconditional depth_clamping for 1.1.1
Simen Kaspersen [Wed, 1 Aug 2018 11:12:14 +0000 (13:12 +0200)]
Remove unconditional depth_clamping for 1.1.1

Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

NB: Carries the same changes as 1.1.0 patch for depth_clamping, along with changes that are specific for 1.1.1.

Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: I0e322c65561c25339fe56e3122401d92df7623a6

5 years agoRemove unconditional depth_clamping for 1.1.0
Simen Kaspersen [Mon, 30 Jul 2018 14:36:31 +0000 (16:36 +0200)]
Remove unconditional depth_clamping for 1.1.0

Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: Ia869da75a74800543afb4f8fddd8bf5e8f7f4a7f

5 years agoIncorrect pipeline barrier in multiview.multisample.*
Gary Sweet [Wed, 1 Aug 2018 07:43:47 +0000 (08:43 +0100)]
Incorrect pipeline barrier in multiview.multisample.*

The barrier between the render and the cmdResolveImage()
in the multiview tests is currently src=COLOR_ATTACHMENT_OUTPUT,
dst=COLOR_ATTACHMENT_OUTPUT. The explicit resolve that follows
is a transfer operation so the destination stage needs to be
TRANSFER_READ to express the correct dependency.

Affects:

dEQP-VK.multiview.multisample.*

Components: Vulkan

VK-GL-CTS issue : 1291

Change-Id: I362c6f2e9f57b140c078b8d326caf042d472a4b3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 2 Aug 2018 10:14:08 +0000 (12:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I7d44b39c208f999dcc86793250fecdb69258a165

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 2 Aug 2018 08:27:48 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I2b3ff32206b0408c16dd93bc643bdc9bf928dcda

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 2 Aug 2018 08:27:46 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I178311e0fa4f5276ab325b65460074f60e42c222

5 years agoFix build when SPIRV-Tools is not present
Chris Forbes [Thu, 2 Aug 2018 00:16:17 +0000 (17:16 -0700)]
Fix build when SPIRV-Tools is not present

This function does not require SPIRV-Tools, and is still used when it
is not present.

Components: Framework
VK-GL-CTS: 1293

Change-Id: I9ce49db2e6e55e8d379c713c9fe39d15fb7ecbd6

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

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

Components: Vulkan

VK-GL-CTS issue: 529

Affects: dEQP-VK.draw.*

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

5 years agoNew tests for pointers as function parameters
Ari Suonpaa [Mon, 4 Jun 2018 06:49:05 +0000 (09:49 +0300)]
New tests for pointers as function parameters

These new tests fill a coverage hole for passing multiple pointers
to functions and using these pointers to modify data. Alias decoration
is used where needed.

New tests:

dEQP-VK.spirv_assembly.instruction.*.pointer_parameter.*

Components: Vulkan

VK-GL-CTS issue: 1174

Change-Id: I5fc6b0f1b1b5a706acd671b9ecc4e928f988d6c3
(cherry picked from commit ecccf1c61e853a3bef40df45eb3f488c7a0493ae)

5 years agoAdd tests for vkCmdClearColorImage on linear images
Jason Ekstrand [Thu, 12 Jul 2018 19:59:03 +0000 (12:59 -0700)]
Add tests for vkCmdClearColorImage on linear images

New Tests:
dEQP-VK.api.image_clearing.*.clear_color_image.*.linear.*

Renamed Tests:
dEQP-VK.api.image_clearing.*.clear_color_image.*

Components: Vulkan

Change-Id: If0be7b57f7a779fda88b1dd64d15113d115eced2

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 26 Jul 2018 14:31:49 +0000 (16:31 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I46b6332876af27cea732a67613759229f7028f7a

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 26 Jul 2018 13:12:27 +0000 (15:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ifacca1cc17b596f770f07b1e497342f23bc4cf61

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 26 Jul 2018 12:44:32 +0000 (14:44 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I8f337795a44a35d1058412c49c09702b297203ca

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Thu, 26 Jul 2018 08:47:38 +0000 (10:47 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I4a1a3f2e84c071dc18b3a8247fb0679d6c2d84e3

5 years agoEnsure that SPIR-V Headers are always present
Alexander Galazin [Fri, 20 Jul 2018 10:51:58 +0000 (12:51 +0200)]
Ensure that SPIR-V Headers are always present

Components: Vulkan, OpenGL, Framework

VK-GL-CTS public issue: 108

Change-Id: I6172080e4c025b6ad671ca9c33e08f6fdf8ded6a

5 years agoCall eglSwapBuffers() to ensure wayland surface is attached
Juan A. Suarez Romero [Thu, 7 Jun 2018 10:22:18 +0000 (10:22 +0000)]
Call eglSwapBuffers() to ensure wayland surface is attached

Resize surface tests initially create a window and a surface, ensure
that both has the same size, then perform a window resize, and ensure
that both windows and the surface has the same size.

When using a Wayland target, checking the window size is done calling
wl_egl_window_get_attached_size(). This actually returns the size of the
attached buffer, which is done calling wl_surface_attach().

But wl_surface_attach() is only guaranteed to be done when calling
eglSwapBuffers(); if wl_egl_window_get_attached_size() is invoked
before, it can return 0, as no buffer is attached yet.

To avoid this problem, ensure a buffer is attached before getting the
window size.

Affects:
dEQP-EGL.functional.resize.surface_size.*

Components: OpenGL

VK-GL-CTS issue: 594

Change-Id: I74fb9a10b269ea1e1f7a63457fb0df76f8604547

5 years agoMerge pull request #119 from karolherbst/fix_51
Alexander Galazin [Thu, 26 Jul 2018 07:14:12 +0000 (09:14 +0200)]
Merge pull request #119 from karolherbst/fix_51

Properly handle edge case in GL FP64 tests

5 years agoRequest queue with sparse support only when needed
Alexander Galazin [Fri, 20 Jul 2018 09:12:17 +0000 (11:12 +0200)]
Request queue with sparse support only when needed

Commit a598fe87 added tests for sparse D/S/DS images and
at the same time turned many texture tests into NotSupported
on implementations what do not support sparse.

Components: Vulkan

Affects:
dEQP-VK.texture.compressed.*
dEQP-VK.glsl.texture_functions.texture.sparse*shadow*
dEQP-VK.glsl.texture_gather.*depth32f*sparse*
dEQP-VK.texture.shadow.*sparse*

VK-GL-CTS issue: 1277

Change-Id: I83392d4f1060efbe0b1eebb0dfa8c8d5306113db

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

Change-Id: Id3c4bfc8862ff4d36b40ea9fc91fd5441b0e6ba9

6 years agoDon't fail DisplayPlaneProperties2 with no display
Liam Middlebrook [Mon, 9 Jul 2018 19:27:02 +0000 (12:27 -0700)]
Don't fail DisplayPlaneProperties2 with no display

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

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

VK-GL-CTS issue: 1271
Components: Vulkan

Change-Id: I097224fbdf3e25c921ac9b96d16954caab1bb895
Affects: dEQP-VK.wsi.display.get_display_plane_properties2

6 years agoAdd tests for max fragment input component limit
Toni Merilehti [Tue, 22 May 2018 07:42:05 +0000 (10:42 +0300)]
Add tests for max fragment input component limit

New tests for fragment shader using input components
near device's maximum advertised limits. Also added
a new file for upcoming shader tests operating at
device's limits.

New tests:

dEQP-VK.glsl.limits.near_max.fragment_input.components_*

Components: Vulkan

VK-GL-CTS Issue 1128

Change-Id: Ib64d2f85016d8d552632d6a7d3f9a69ebe87a5c5

6 years agoAdd AHardwareBuffer external memory test for format/usage flags.
Khushal [Fri, 23 Mar 2018 02:27:50 +0000 (19:27 -0700)]
Add AHardwareBuffer external memory test for format/usage flags.

Added tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r8g8b8a8_unorm
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r5g6b5_unorm_pack16
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r16g16b16a16_sfloat
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.a2b10g10r10_unorm_pack32

Components: Vulkan
VK-GL-CTS issue: 738

Change-Id: I59726b742aee3a74a98615745bb6da1bfdf46c0b

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 19 Jul 2018 10:12:05 +0000 (12:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I3795395ebc46986139592bd622500863be77d8fd

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 19 Jul 2018 10:11:33 +0000 (12:11 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I007b37f5ae9318d15dc1134f7865081aa40cf5de

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Thu, 19 Jul 2018 07:00:04 +0000 (09:00 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: I393e8dfab66e2b4b1d5ccdb2684a92e6c0581999

6 years agoFix 8bit uniform buffers arrays strides
Arkadiusz Sarwa [Wed, 11 Jul 2018 14:47:23 +0000 (16:47 +0200)]
Fix 8bit uniform buffers arrays strides

Affects:
dEQP-VK.spirv_assembly.instruction.*.8bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 1269

Change-Id: I3f761efbe6a7e5edc66bc6846eaf90ac4453bd78

6 years agoFix dEQP-GLES3.functional.fbo.multiview.*
Fei Yang [Mon, 2 Jul 2018 08:48:40 +0000 (16:48 +0800)]
Fix dEQP-GLES3.functional.fbo.multiview.*

When the width of render target is an odd value, these tests failed.

The reason is these tests set default sample parameters and sample from
a 512x512 surface, where the left/right views have different colors.
When the width of render target is an odd value, the color of central
line is undefined.

As these tests' purpose is mainly want to verify whether the left/right
views have the different color, but not exactly care what the central
line is, a simple solution is just skip the check of central line.

Components: OpenGL

VK-GL-CTS issue: 1256

Affects: dEQP-GLES3.functional.fbo.multiview.*

Change-Id: I62c86dc7269864a3919b11a331178bfc54d65ab0

6 years agoLoosen threshold in Texture3D tests
Yabin Zheng [Tue, 22 May 2018 03:02:27 +0000 (11:02 +0800)]
Loosen threshold in Texture3D tests

The verification function should consider both src and dst formats
when computing allowed error threshold.

Components: OpenGL

Affects:
KHR-GLES2.texture_3d.sub_image.*

VK-GL-CTS issue: 1243

Change-Id: Ie53aed63724aa75a0da697e30e7625a309acf76b

6 years agoSome glCopyTexSubImage3D related tests conflict with GLES3.2 spec
Yabin Zheng [Fri, 22 Jun 2018 01:50:06 +0000 (09:50 +0800)]
Some glCopyTexSubImage3D related tests conflict with GLES3.2 spec

According to the GLES3.2 spec,  An INVALID_OPERATION error is generated if the
component sizes of internalformat do not exactly match the corresponding
component sizes of the source buffer's effective internal format when call the
glCopyTExSubImage3D function.

The test format is GL_RGBA8, while different config ID will result in different
format in the render buffer. The number of channel bits of some format are not
equal to GL_RGBA8. So we should add a new FBO to restrict the test behavior.

Components: OpenGL

Affects: KHR-GLES2.texture_3d.copy_sub_image.*

VK-GL-CTS issue: 1240

Change-Id: I35c066fce990038e95da1e04197d659929fd8e86

6 years agoFix swap_buffers_with_damage.resize* hang on X11
Lujin Wang [Tue, 26 Jun 2018 18:47:39 +0000 (11:47 -0700)]
Fix swap_buffers_with_damage.resize* hang on X11

In SwapBuffersWithDamageTest, the second time setSurfaceSize() was
called, because the size values were the same as the first call, the
test would hang with XNextEvent() in XlibWindow::setDimensions() waiting
for a ConfigureNotify event that Xserver would not deliver in
ConfigureWindow() if size was not changed.

Changing the if conditions causes size values to change for neighboring
setSurfaceSize calls and resolves the hang.

Affects:
dEQP-EGL.functional.swap_buffers_with_damage.resize*

Components: egl

VK-GL-CTS issue: 1238

Change-Id: I78177ffbef4f7f380d850ad43d83317f82401c7b

6 years agoMerge remote-tracking branch 'khronos/master' into deqp-dev
Chris Forbes [Fri, 13 Jul 2018 18:33:07 +0000 (11:33 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev

Change-Id: I40b59c801207ce6fa52450ba83f719a56b153b0f

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 13 Jul 2018 14:54:16 +0000 (16:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I8e4654033220a53f244768f319fb054026b30509

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 13 Jul 2018 14:54:12 +0000 (16:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I92ddc3da6a7d67e926eb54beeaf1c190fcf7e87a

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 13 Jul 2018 13:18:16 +0000 (15:18 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I1e3e296b56699e97e9d536332fd6c4405b6f8cf2

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 13 Jul 2018 11:00:25 +0000 (13:00 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I1864199105595d697561bcb6641692edbe75aa79

6 years agoUpdate KC CTS reference
Alexander Galazin [Fri, 13 Jul 2018 10:00:10 +0000 (12:00 +0200)]
Update KC CTS reference

Components: Framework

Change-Id: Ie0085e80530c859cbd8f5da72e24e1e4450ce365

6 years agoFix memory allocation tests
Sai Kiran Korwar [Tue, 3 Jul 2018 08:58:52 +0000 (14:28 +0530)]
Fix memory allocation tests

Use deviceMemoryAllocationGranularity to determine if some number
of allocations of a particular size will succeed.
This is useful on when platform specific alignment restrictions are
present.

Components: Vulkan

Affects: dEQP-VK.memory.allocation.basic.size_*

VK-GL-CTS issue: 1259

Change-Id: Iac4f2e7842a826bebf7c641fad1950f6c3d48946

6 years agoAllow two images worth of alignment slop in protected heap
Chris Forbes [Mon, 11 Jun 2018 22:50:16 +0000 (15:50 -0700)]
Allow two images worth of alignment slop in protected heap

We previously backed off by one image worth, but it's not enough in some
cases.

Components: Vulkan
VK-GL-CTS: 1262
Bug: b/109757443
Test: dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create#min_image_count
Change-Id: I01b3a72986e9f35b4ec15a146e4dc576758c02ce
(cherry picked from Android commit 0fd6d1afa4d00ffd3da1d2d1898f32d4e879209d)

6 years agoAdd option to embed validation layers in Android package
Chris Forbes [Mon, 18 Jun 2018 23:52:10 +0000 (16:52 -0700)]
Add option to embed validation layers in Android package

Based on https://github.com/KhronosGroup/VK-GL-CTS/pull/103 but reworked
a bit to allow setting the path directly. This allows easy codevelopment
of layers and tests.

Components: Framework
VK-GL-CTS: 1253

Change-Id: I232e48b82119f6bc358985d39be0def3c5a75766

6 years agoCorrect getProcAddress() handling in robustness tests
Oliver Wohlmuth [Fri, 6 Jul 2018 12:19:17 +0000 (14:19 +0200)]
Correct getProcAddress() handling in robustness tests

The below robustness tests don't use the OpenGL ES extension name when
calling getProcAddress() in an OpenGL ES environment. This change fixes
it by removing the getProcAddress() calls and use gl.XXX() to call these
functions. gl.XXX() takes care of the context it is running in.

Affects:
KHR-NoContext.*.robustness.no_reset_notification
KHR-NoContext.*.robustness.getnuniform
KHR-NoContext.*.robustness.readnpixels

Components: OpenGL
VK-GL-CTS issue: 1267

Change-Id: I4ed18990626f1dd744eebf6b99c18a60a29dad5f

6 years agoProtected memory image access tests not flushing staging buffer
Stephen Gallimore [Thu, 5 Jul 2018 13:40:13 +0000 (14:40 +0100)]
Protected memory image access tests not flushing staging buffer

Affected tests:
dEQP-VK.protected_memory.image.access.*

Components: Vulkan

VK-GL-CTS issue: 1264

Change-Id: I30a6e3b0118b6874b9bfdf625aadec9c0fe54710

6 years agoRemove an unneded type qualifier
Jason Ekstrand [Mon, 9 Jul 2018 04:09:20 +0000 (21:09 -0700)]
Remove an unneded type qualifier

This fixes check_build_sanity.py

Components: Vulkan

Change-Id: I0631c5ef2ede20a68a5853e497acc5e1106ab127

6 years agoAdd tests for packed vertex formats
Toni Merilehti [Wed, 27 Jun 2018 11:30:14 +0000 (14:30 +0300)]
Add tests for packed vertex formats

Added tests for selected packed vertex formats to verify that vertex
attribute values are handled correctly in vertex shader.

New tests:

dEQP-VK.pipeline.vertex_input.single_attribute.*

Components: Vulkan

VK-GL-CTS issue: 1162

Change-Id: Ib20142c33d385e2c95dce1b3c6f547588cf59b2f

6 years agoTextureBarrier required for texture_view.coherency
Neil Monday [Mon, 9 Jul 2018 13:38:16 +0000 (09:38 -0400)]
TextureBarrier required for texture_view.coherency

The third paragraph in section 9.3.1 gives conditions when
texture/framebuffer texture reads/writes are undefined. I
think that this test requires a TextureBarrier as described
in the last bullet point.

Affects:

KHR-GL46.texture_view.coherency

Components: OpenGL

VK-GL-CTS issue: 1183

Change-Id: I231ffd5acd089ebc1a9e0265c2f4a97f2a5c525c

6 years agoRemove shaders.negative.unused_uniform_precision_matching
Tate Hornbeck [Wed, 27 Jun 2018 16:53:11 +0000 (12:53 -0400)]
Remove shaders.negative.unused_uniform_precision_matching

The GLSL spec was updated to "the types, precisions and any location
specifiers of all statically used uniform variables with the same name
must match across shaders that are linked into a single program."

which makes the unused_uniform_precision_matching test invalid.

Updating this test to use statically used uniforms would be
redundant to used_uniform_precision_matching.

Components: OpenGL
VK-GL-CTS issue: 1249

Affects:
KHR-GLES32.shaders.negative.unused_uniform_precision_matching

Change-Id: I6a60c9355144f1d539a6463d913844129e6dfc8d

6 years agoAllow glFramebufferTexture2D with level!=0 in ES2 tests with ES3
James Glanville [Wed, 4 Jul 2018 09:59:44 +0000 (10:59 +0100)]
Allow glFramebufferTexture2D with level!=0 in ES2 tests with ES3

These ES2 tests were expecting GL errors when attaching non-zero
levels to a framebuffer where GL_OES_fbo_render_mipmap is not
supported. This functionality is core in ES3 contexts, so the tests
much assume support for mippmapped rendering in this case.

Affects:
dEQP-GLES2.functional.negative_api.buffer.framebuffer_texture2d
dEQP-GLES2.functional.fbo.api.texture_levels

Components:
dEQP

VK-GL-CTS issue: 1263

Change-Id: I3dc7c8f1f2cc7efb5c227a0aec11983b185be03c

6 years agoShaders Derivate Tests: fix threshold
Juan A. Suarez Romero [Mon, 25 Jun 2018 15:22:48 +0000 (17:22 +0200)]
Shaders Derivate Tests: fix threshold

Derivate tests are calculating the threshold used for validating results
by taking in account a scale. Apparently this is incorrect, and is
causing some tests to fail.

A similar situation happened in Vulkan, and the proper fix was to do not
take in account the scale for the threshold calculation. Hence, applying
the same fix here fixes all the failing tests.

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

Components: OpenGL

VK-GL-CTS issue: 1237

Change-Id: I106e36a708a6f75768c15ccdb4b064eb562cb28f

6 years agoExclude tests causing OOM
Alexander Galazin [Wed, 27 Jun 2018 07:59:49 +0000 (09:59 +0200)]
Exclude tests causing OOM

Components: OpenGL

Affects:
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawarrays_combined_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_separate_grid_1000x1000_drawcount_5000
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_1000x1000_drawcount_5000

VK-GL-CTS issue: 1241

Change-Id: I3bc753391e2739387879ca117e9da29c98286cec

6 years agoAllow glReadPixels() differences due precision errors
Juan A. Suarez Romero [Tue, 19 Jun 2018 07:23:13 +0000 (07:23 +0000)]
Allow glReadPixels() differences due precision errors

When comparing the results from glReadPixels() passing user-space memory
and using a PBO, there could be differences due drivers implementation
following different paths, and thus generating differences because of
precision errors.

Like in dEQP-GLES3.functional.read_pixels.* tests, add a threshold under
which the differences are acceptable.

Affects:
dEQP-GLES3.functional.pbo.*

Components: OpenGL

VK-GL-CTS issue: 1228

Change-Id: I7c9ac5de359cff8deba039b010357eae0da3eaaf

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Sun, 8 Jul 2018 17:32:36 +0000 (19:32 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I8280652b4a92e212649f1f7cf998b2be57f5ef9c

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Sun, 8 Jul 2018 17:32:35 +0000 (19:32 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I35d4a659eec7320e4ebf9ad4acda6618c8d39608