platform/upstream/VK-GL-CTS.git
7 years agoDo not require unsupported sparse images in image_format_properties test
Slawomir Cygan [Tue, 10 Jan 2017 15:59:29 +0000 (16:59 +0100)]
Do not require unsupported sparse images in image_format_properties test

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

This change removes the requirement for supporting sparse residency images:
- with compressed format
- with non-color format
- with format of pixel size that is not power ot two (for example: RGB).

 Additionally do not require 1D sparse residency images (not in spec),
 and require 2D/3D residency images basing on the device capabilities.

Spec 28.1. Sparse Resource Features:
"A sparse image created using VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
supports all non-compressed color formats with power-of-two element
size that non-sparse usage supports.

(...)

sparseResidencyImage2D: Support for creating 2D single-sampled VkImage
objects with VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.

sparseResidencyImage3D: Support for creating 3D VkImage objects with
 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.
"

Fixes bug: gitlab!567

Change-Id: If7d72c4392299e4c449a911140632dcc114fc908

7 years agoFix VkCmdImageBlit usage in blitting tests
Alexander Galazin [Thu, 12 Jan 2017 11:53:30 +0000 (12:53 +0100)]
Fix VkCmdImageBlit usage in blitting tests

Some tests call VkCmdImageBlit with a 2D destination image and a region
with dstOffset[0].z=1, dstOffset[1].z=0.

The spec says that it should be the opposite.

Affects:
dEQP-VK.api.copy_and_blit.blit_image.simple_tests.mirror_xy_nearest
dEQP-VK.api.copy_and_blit.blit_image.simple_tests.mirror_y_nearest

Components: Vulkan

Fixes Vulkancts issue: #576

Change-Id: Iaa05f3b38cd46c39d313bd044b37535c112b77dd

7 years agoUpdate mustpass version to 1.0.2 in README.md
Pyry Haulos [Tue, 10 Jan 2017 20:20:15 +0000 (12:20 -0800)]
Update mustpass version to 1.0.2 in README.md

Change-Id: Ia683c10238ede6a712a46d14d936ef0032937e9e

7 years agoAllow unknown KHX extensions
Pyry Haulos [Sun, 8 Jan 2017 22:42:32 +0000 (14:42 -0800)]
Allow unknown KHX extensions

Affects:

dEQP-VK.api.info.instance.extensions
dEQP-VK.api.info.device.extensions

Change-Id: Iece3f83514f5f6e197fd0c1e1cf628f7cfe68bd2

7 years agoRemove pooled objects from alloc_callback_fail group
Maciej Jesionowski [Mon, 9 Jan 2017 11:05:32 +0000 (12:05 +0100)]
Remove pooled objects from alloc_callback_fail group

The pooled objects (VkDescriptorSet and VkCommandBuffer) are properly
handled in the alloc_callback_fail_multiple group. The removed cases
were redundant, and also didn't work correctly with pooled objects.

Removed tests:
- dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail.command_buffer_secondary

Change-Id: I212b544096e6e1fd5b98c7985d836e41247107e9

7 years agoSkip anisotropic filtering tests if the feature is not supported.
Alexander Galazin [Mon, 9 Jan 2017 14:17:02 +0000 (15:17 +0100)]
Skip anisotropic filtering tests if the feature is not supported.

dEQP-VK.texture.filtering_anisotropy.* tests assume that an
implementation supports anisotropic filtering and should be skipped in
case VkPhysicalDeviceFeatures::samplerAnisotropy is VK_FALSE.

Fixes #570

Change-Id: I0601fe67a0e81b71670dac7ec8b83b4dc35c576c

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Fri, 6 Jan 2017 20:44:56 +0000 (12:44 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

Change-Id: Ic1b09c684e6535fcaba6e4d7dd407b2fbbe40b6d

7 years agoOptimize swapchain OOM tests
Pyry Haulos [Wed, 4 Jan 2017 22:30:07 +0000 (14:30 -0800)]
Optimize swapchain OOM tests

Swapchain OOM tests were hitting timeouts on some platforms. This commit
optimizes the tests in two ways:

 * VkInstance, VkDevice, and VkSurface are now re-used across all
sub-cases.

 * Loop is re-written to avoid re-creating swapchains for parameters
0..N-1 when testing parameter combination N.

Affects: dEQP-VK.wsi.*.swapchain.simulate_oom.*

Bug: 33555898
Change-Id: Ib5e1a4944e4c400a5d430c5a3d20fe0930c6eed0

7 years agoSkip unsupported attachment formats in granularity tests
Lionel Landwerlin [Fri, 23 Dec 2016 17:11:14 +0000 (17:11 +0000)]
Skip unsupported attachment formats in granularity tests

Change-Id: Iffbd79d0ddb3c212f75895c266b3e3ec7d2a01da

7 years agoFix framebuffer number of layers in granularity tests
Lionel Landwerlin [Fri, 23 Dec 2016 17:37:56 +0000 (17:37 +0000)]
Fix framebuffer number of layers in granularity tests

Change-Id: Idf2f1ee6f6f9ab5996ad5d07a7fed84241c57e9b

7 years agoReset Android window state when it is released
Pyry Haulos [Wed, 4 Jan 2017 21:46:48 +0000 (13:46 -0800)]
Reset Android window state when it is released

This avoids leaking window state between tests in WSI tests.

Affects: dEQP-VK.wsi.android.*

Change-Id: I618485fbbc1bb83c86437bb04fbcbfa65b4c04c2

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Thu, 5 Jan 2017 17:58:15 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

Change-Id: I4dc1513b1528b8182cfd75f4ed9184fa8f383e47

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 5 Jan 2017 17:58:14 +0000 (09:58 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I3ace822f33fb20acd6109886458b0d16c1624bd5

7 years agoFix assert for combined depth/stencil formats
Iago Toral Quiroga [Mon, 2 Jan 2017 11:22:29 +0000 (12:22 +0100)]
Fix assert for combined depth/stencil formats

This was using tcu::isCombinedDepthStencilType(format.type) for this,
but this only checks the type and for 24bit depth formats with a
x8 d24 setup it will incorrectly identify them as combined
depth/stencil even though the underlying format is depth-only. Fix
this by testing if the format has depth and stencil components
instead.

Prevents crashes in tests with the following signature (144 tests):
dEQP-VK.texture.shadow.*x8_d24*

Fixes #563

Change-Id: Ie43e140a0461de49c02e0d97eeed38fa8ef24040

7 years agoFix buffer size and alignment issues in api.buffer
Maciej Jesionowski [Thu, 15 Dec 2016 15:45:31 +0000 (16:45 +0100)]
Fix buffer size and alignment issues in api.buffer

- Don't use maxTexelBufferElements, it doesn't apply here
- Remove unused throw/catch blocks (catch block was never reachable)
- Add a case that exercises huge buffer sizes
- Add a check for sparseAddressSpaceSize

Modified tests:
- dEQP-VK.api.buffer.create_buffer_*

Fixes #558

Change-Id: Ia6b46d8c34a4eef4a6136532d0cb626d0b64b560

7 years agoUpdate zlib and libpng dependencies
Maciej Jesionowski [Thu, 5 Jan 2017 10:21:40 +0000 (11:21 +0100)]
Update zlib and libpng dependencies

Fixes #568

Change-Id: I8ee890a2176bf6d42d3dd8b119b7263034127960

7 years agoRevert "Add new files to Android.mk"
Pyry Haulos [Wed, 4 Jan 2017 00:42:53 +0000 (16:42 -0800)]
Revert "Add new files to Android.mk"

This reverts commit 4ed5a72717f9dc776f7f63aa21aca2c727524d0f.

7 years agoAdd new files to Android.mk
Pyry Haulos [Wed, 4 Jan 2017 00:24:51 +0000 (16:24 -0800)]
Add new files to Android.mk

Change-Id: Ib396f9504a3b5523314cd2d5ab9375a346dbb219

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Wed, 4 Jan 2017 00:07:06 +0000 (16:07 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

7 years agoSkip integer formats that expose a max. sample count of 1
Jorg Wagner [Thu, 15 Dec 2016 21:52:06 +0000 (22:52 +0100)]
Skip integer formats that expose a max. sample count of 1

Actually fixes #538

As agreed in the ticket we need to skip integer formats if they
need to be sampled and only expose a max. sample count of 1.

Change-Id: Ia67c8d84cedcae09804e83cfefeb279b329d07b9

7 years agoCorrect a typo in blit image test case names
Maciej Jesionowski [Wed, 21 Dec 2016 11:20:28 +0000 (12:20 +0100)]
Correct a typo in blit image test case names

Modified test names:
- dEQP-VK.api.copy_and_blit.blit_image.simple_tests.*

Change-Id: I20b09407101eb3e395d10f324e9f402f5c1c4b77

7 years agoCorrect a typo in blit image test case names
Maciej Jesionowski [Wed, 21 Dec 2016 11:20:28 +0000 (12:20 +0100)]
Correct a typo in blit image test case names

Modified test names:
- dEQP-VK.api.copy_and_blit.blit_image.simple_tests.*

Change-Id: Ia62b9f616466b919f1e92d0a74714586ccc6e313

7 years agoAlloc callbacks: don't report a quality warning for pooled objects
Maciej Jesionowski [Wed, 7 Dec 2016 09:55:36 +0000 (10:55 +0100)]
Alloc callbacks: don't report a quality warning for pooled objects

Modified tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.descriptor_set
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary

Change-Id: I0daea167c4b0c1e0a00039286b85af8c02e410f5
(cherry picked from commit ca634a5ac0b5278736e012f43a59bb25a5234e6f)

7 years agoFix image memory barriers for depth/stencil formats
iostrows [Tue, 13 Dec 2016 10:34:22 +0000 (11:34 +0100)]
Fix image memory barriers for depth/stencil formats

Affected tests:
- dEQP-VK.api.copy_and_blit.image_to_image.all_formats.depth_stencil*

Fixes #562

Change-Id: I59a851d2748f7ae0c2b56fdcd879978de4755ddf

7 years agoSparse resources: create correct device interface
Maciej Jesionowski [Wed, 14 Dec 2016 13:44:19 +0000 (14:44 +0100)]
Sparse resources: create correct device interface

Make sure correct function pointers are used with the a VkDevice.
This should make no actual difference on most implementations.

Affected tests:
- dEQP-VK.sparse_resources.*

Change-Id: Id39cf318c4ae24b47135e1f27308985bd20a0009

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Thu, 15 Dec 2016 12:24:03 +0000 (04:24 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

Change-Id: I5ee52225ed76297caba6ae717e897d7290c20684

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 15 Dec 2016 12:24:01 +0000 (04:24 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I82eb4eb290e5d85b44ac2f1f2efb1eb88aef062a

7 years agoAdd -Wno-delete-non-virtual-dtor to default cxxflags
Pyry Haulos [Thu, 15 Dec 2016 12:11:43 +0000 (14:11 +0200)]
Add -Wno-delete-non-virtual-dtor to default cxxflags

That warning generates some false negatives that are hard to work
around.

Change-Id: Ib451eca3af7bf2a6bfd24aa966f89496257b9f0d

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Thu, 15 Dec 2016 12:02:11 +0000 (04:02 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 15 Dec 2016 12:01:22 +0000 (04:01 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

7 years agoSynchronization: use the correct device interface
Maciej Jesionowski [Wed, 14 Dec 2016 10:42:03 +0000 (11:42 +0100)]
Synchronization: use the correct device interface

This is a correctness change, likely has no impact
on most implementations.

Affected tests:
- dEQP-VK.synchronization.op.multi_queue.*

Change-Id: Ic2687f60c1ef2c468908c6c7240205b9e77e944c

7 years agoSynchronization: use the correct device interface
Maciej Jesionowski [Wed, 14 Dec 2016 10:42:03 +0000 (11:42 +0100)]
Synchronization: use the correct device interface

This is a correctness change, likely has no impact
on most implementations.

Affected tests:
- dEQP-VK.synchronization.op.multi_queue.*

Change-Id: I3eee09c13626e23261a7d0496aacab259265c3b9

7 years agoGet rid of invalid buffer create flags combinations
Maciej Jesionowski [Mon, 12 Dec 2016 15:24:30 +0000 (16:24 +0100)]
Get rid of invalid buffer create flags combinations

Removed tests:
- dEQP-VK.api.buffer.createBuffer_*_2
- dEQP-VK.api.buffer.createBuffer_*_6

(cherry picked from commit bdd0a62ee565d0e7e07f05ddb95217d532e407cb)

Change-Id: I6cc6ed365de9d710f07fbfd2dde9db7edaecd007

7 years agoGet rid of invalid buffer create flags combinations
Maciej Jesionowski [Mon, 12 Dec 2016 15:24:30 +0000 (16:24 +0100)]
Get rid of invalid buffer create flags combinations

Removed tests:
- dEQP-VK.api.buffer.createBuffer_*_2
- dEQP-VK.api.buffer.createBuffer_*_6

(cherry picked from commit bdd0a62ee565d0e7e07f05ddb95217d532e407cb)

Change-Id: I6cc6ed365de9d710f07fbfd2dde9db7edaecd007

7 years agoGet rid of invalid buffer create flags combinations
Maciej Jesionowski [Mon, 12 Dec 2016 15:24:30 +0000 (16:24 +0100)]
Get rid of invalid buffer create flags combinations

Removed tests:
- dEQP-VK.api.buffer.createBuffer_*_2
- dEQP-VK.api.buffer.createBuffer_*_6

Change-Id: I6cc6ed365de9d710f07fbfd2dde9db7edaecd007

7 years agoUpdate synchronization multi queue extended tests
Arkadiusz Sarwa [Thu, 6 Oct 2016 13:30:03 +0000 (15:30 +0200)]
Update synchronization multi queue extended tests

Tests now use all available queue families.

Updated tests:
- dEQP-VK.synchronization.op.multi_queue.*

Fixes #499

Change-Id: I7ec4cedc16e61addd07b85768c68410b7777bfcc

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Fri, 9 Dec 2016 19:21:40 +0000 (11:21 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

Change-Id: I3ac10a34c6169dccad99dc99346f178470c26056

7 years agoUse mipmapPrecisionBits when calculating LOD error
Maciej Jesionowski [Wed, 7 Dec 2016 12:37:15 +0000 (13:37 +0100)]
Use mipmapPrecisionBits when calculating LOD error

Affected tests:
- dEQP-VK.pipeline.image.sampling_type.*
- dEQP-VK.pipeline.image_view.view_type.*
- dEQP-VK.pipeline.sampler.view_type.*

Khronos issue: #554

Change-Id: I7cb3bedd8df6b033dd6e7ae2d1631e5e2f25673e

7 years agoCorrect a typo in if statement in synchronization module
Maciej Jesionowski [Fri, 9 Dec 2016 17:05:54 +0000 (18:05 +0100)]
Correct a typo in if statement in synchronization module

Change-Id: I13635c1c078456adb6af8e8689d809d7ef72ebb4

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2
Pyry Haulos [Thu, 8 Dec 2016 19:56:21 +0000 (11:56 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0.2

Change-Id: Id05a662016ed60805a17dc96614967db899e095e

7 years agoUpdate the verification script to reflect git 2.9.1 changes
Alexander Galazin [Tue, 6 Dec 2016 20:54:57 +0000 (21:54 +0100)]
Update the verification script to reflect git 2.9.1 changes

git 2.9.1 changed the "working directory" message to "working
 tree". Accept both statements in the verification script.

Ref:
https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.9.1.txt

Fixes #559

Change-Id: Ie90097d39e1f09c1796bb1238ee92bf19aff93bf

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 23:51:17 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ib54e6e75d11508c1ee4194ae90815666088c79d7

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Fri, 2 Dec 2016 23:51:14 +0000 (15:51 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I4f62b1e39978bea366e0b7e2f745b0f7a25a0f66

7 years agoMerge aosp/master into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 23:48:21 +0000 (15:48 -0800)]
Merge aosp/master into gerrit/vulkan-cts-1.0-dev

Change-Id: Ic50054c78a4bb736f9fcfa2768968ea8bbc1bd41

7 years agoClarify --deqp-log-filename usage in README.md
Pyry Haulos [Fri, 2 Dec 2016 22:29:24 +0000 (14:29 -0800)]
Clarify --deqp-log-filename usage in README.md

Vulkan CTS issue: #525

Change-Id: Idb0f23cd13e548aaea21682ec02d89e52adee579

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 22:26:30 +0000 (14:26 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ida8369e7d121c8282069fd3a70a64efb4490bddd

7 years agoFix VkPipelineLayout overwriting
Arkadiusz Sarwa [Tue, 29 Nov 2016 10:43:38 +0000 (11:43 +0100)]
Fix VkPipelineLayout overwriting

Fixes #527

Change-Id: Ia053e9ead201f62fc1310d07e7dafd76139ba173

7 years agoMerge gerrit/vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 2 Dec 2016 21:38:22 +0000 (13:38 -0800)]
Merge gerrit/vulkan-cts-1.0-dev into aosp/master

Change-Id: Ic9e43c0554d8976766507fab6916be6a037505a7

7 years agoAdd new files to Android.mk
Pyry Haulos [Fri, 2 Dec 2016 21:36:36 +0000 (13:36 -0800)]
Add new files to Android.mk

Change-Id: I75be28ac1a62e9ee3f797e8eb4adaffc75486826

7 years agoBugfix: Use PointSize in draw tests
Maciej Jesionowski [Mon, 28 Nov 2016 15:12:23 +0000 (16:12 +0100)]
Bugfix: Use PointSize in draw tests

Tests that rasterize points have to write to PointSize variable.
Also fix nonCoherentAtomSize errors from validation.

Affected tests:
- dEQP-VK.draw.basic_draw.draw.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed.point_list.*
- dEQP-VK.draw.basic_draw.draw_indirect.point_list.*
- dEQP-VK.draw.basic_draw.draw_indexed_indirect.point_list.*
- dEQP-VK.draw.instanced.draw_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indirect_vk_primitive_topology_point_list
- dEQP-VK.draw.instanced.draw_indexed_indirect_vk_primitive_topology_point_list

Fixes #536

Change-Id: Ief9df51887babfc3765b0d11c6431765f322c634

7 years agoFix variable declaring location in SPIR-V assembly.
Lei Zhang [Wed, 30 Nov 2016 23:10:36 +0000 (18:10 -0500)]
Fix variable declaring location in SPIR-V assembly.

The spec validation rules require that all OpVariable instructions
in a function must be as the first instructions in the first block.

Change-Id: If054bd7882eaf5ffc00899fbdef9a9b71d544019

7 years agoBugfix: upload stencil data in pipeline image util
Maciej Jesionowski [Wed, 30 Nov 2016 11:37:01 +0000 (12:37 +0100)]
Bugfix: upload stencil data in pipeline image util

Fixes:
- Upload stencil data to the image with mixed DS formats
- Respect 4 byte offset alignment for formats <4 bytes
- Fix some nonCoherentAtomSize validation errors

Affected tests:
- dEQP-VK.texture.shadow.*d16_unorm
- dEQP-VK.texture.shadow.*x8_d24_unorm_pack32
- dEQP-VK.texture.shadow.*d32_sfloat
- dEQP-VK.texture.shadow.*s8_uint
- dEQP-VK.texture.shadow.*d16_unorm_s8_uint
- dEQP-VK.texture.shadow.*d24_unorm_s8_uint
- dEQP-VK.texture.shadow.*d32_sfloat_s8_uint

Issue #556

Change-Id: I56c0e7eef9c1bfc82790eb8ba6e48b95dc65f521

7 years agoAdd new tests Render To Image
Arkadiusz Sarwa [Tue, 22 Nov 2016 13:05:03 +0000 (14:05 +0100)]
Add new tests Render To Image

New tests:
- dEQP-VK.pipeline.render_to_image.*

Issue #535

Change-Id: I3854942c69d95b034cd9358cc7970f04b1c85d5b

7 years agoAdd tests for bulk object allocation failures
Maciej Jesionowski [Tue, 22 Nov 2016 11:30:45 +0000 (12:30 +0100)]
Add tests for bulk object allocation failures

New tests:
- dEQP-VK.api.object_management.alloc_callback_fail_multiple.*

Issue #532

Change-Id: I1a8050c8000abf083435910e2e65c6ee045364af

7 years agoAdd test: sparse buffer usage
Maciej Jesionowski [Mon, 7 Nov 2016 15:18:58 +0000 (16:18 +0100)]
Add test: sparse buffer usage

Test UBO, SSBO, VB, IB, InB with sparse buffers using:
- sparse binding
- sparse residency
- sparse aliasing
- residencyNonResidentStrict (with UBOs)

New tests:
- dEQP-VK.sparse_resources.buffer.ubo.*
- dEQP-VK.sparse_resources.buffer.vertex_buffer.*
- dEQP-VK.sparse_resources.buffer.index_buffer.*
- dEQP-VK.sparse_resources.buffer.indirect_buffer.*

Renamed tests:
in dEQP-VK.sparse_resources:
- .buffer_sparse_binding.* -> .buffer.transfer.sparse_binding.*
- .buffer_sparse_residency.* -> .buffer.ssbo.sparse_residency.*
- .buffer_sparse_memory_aliasing.* -> .buffer.ssbo.sparse_binding_aliased.*

Issue: #401

Change-Id: Iba583a16eba0b688849175813a86d44c9b038f0d

7 years agoExtend copyImage tests with depth/stencil formats
Szilard Ledan [Tue, 26 Jul 2016 12:43:02 +0000 (14:43 +0200)]
Extend copyImage tests with depth/stencil formats

Add tests with all depth/stencil formats into image to image copies cases.
It was needed to fix the 'uploadImage' and 'readImage' functions, because
the copying combined dept/stencil data between buffers and images are not
supprted at the same time.

Update and fix the generation of expected image.

Update the mustpass lists.

Fix conflict after rebase.

This affects:
 * dEQP-VK.api.copy_and_blit.image_to_image.all_formats.depth_stencil_*
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_d16_unorm_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_x8_d24_unorm_pack32_x8_d24_unorm_pack32_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_d32_sfloat_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_s8_uint_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d16_unorm_s8_uint_d16_unorm_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d24_unorm_s8_uint_d24_unorm_s8_uint_nearest
 * dEQP-VK.api.copy_and_blit.blit_image.all_formats.scaling_partial_d32_sfloat_s8_uint_d32_sfloat_s8_uint_nearest

Fixes #488

Change-Id: I29bdaf1d87d7bdba112fd55526f8e661865baa6e

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 16:42:53 +0000 (08:42 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I9afe7efd004ee04a7edd465457e5376b03e0abc0

7 years agoFix post-copy barrier in readImageAspect()
Pyry Haulos [Fri, 2 Dec 2016 16:34:43 +0000 (08:34 -0800)]
Fix post-copy barrier in readImageAspect()

 * Barrier was using TOP_OF_PIPE_BIT for flushing buffer contents for
host access. HOST_BIT must be used instead.

 * For combined depth stencil formats image was left in wrong image layout
for later stencil aspect copy.

Affects combined DS format cases in:

dEQP-VK.api.copy_and_blit.blit_image.all_formats.*

Change-Id: I80263efbc12da21c8205768687725416419e923e

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 2 Dec 2016 00:33:32 +0000 (16:33 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Non-trivial merge of 0b0c5dba7daed6439ec6352aacf3cd216d1c1dd5

Change-Id: I1fa72e1814387b05b935cd781126880e603c91b4

7 years agoDo not generate constructor utils if API creates multiple objects
Pyry Haulos [Thu, 1 Dec 2016 23:23:12 +0000 (15:23 -0800)]
Do not generate constructor utils if API creates multiple objects

See #541

Change-Id: I1aa9ddae3bb758a70f6a72d1eb31e58c524ca9f4

7 years agoFix combined depth stencil handling in dEQP-VK.api.copy_and_blit
Pyry Haulos [Tue, 25 Oct 2016 08:41:48 +0000 (17:41 +0900)]
Fix combined depth stencil handling in dEQP-VK.api.copy_and_blit

The existing code had several bugs related to handling of combined DS
formats that manifested on implementations that support blitting of
said formats.

vk::isSupportedByFramework(VkFormat) utility function is added for
checking whether format is mappable to tcu::TextureFormat. This query
is used to filter out test cases that will always result in InternalError,
namely all cases that attempted to exercise formats with 64-bit channels.

Vulkan null driver is updated to advertise
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT to allow easier testing.

Affects:

dEQP-VK.api.copy_and_blit.*

See #488
See #515

Change-Id: Ic03c523aea6a4bc9115568ec486200c53ec37d80

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Thu, 1 Dec 2016 22:23:53 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I8723ff8e2442c4311dad5b9c305d5def12d3a4f0

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 1 Dec 2016 22:23:51 +0000 (14:23 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I1881729f313bd8fbee7dcc2d305ac89e7aaf2761

7 years agoIncrease blit source to avoid extreme blit scaling
Oivind Boge [Tue, 22 Nov 2016 13:21:00 +0000 (14:21 +0100)]
Increase blit source to avoid extreme blit scaling

Fixes #548

Change-Id: Ied146b91dc748f9efe41b7b64d11c5da870e5ac0

7 years agoImprove coverage of dEQP-VK.pipeline.image test group
Dominik Witczak [Tue, 15 Nov 2016 08:51:05 +0000 (09:51 +0100)]
Improve coverage of dEQP-VK.pipeline.image test group

Change-Id: I711edd83f8c75e980d6e979a56810f67bbe2e204

7 years agoAdd test: image views with VK_REMAINING_* levels/layers
Maciej Jesionowski [Thu, 13 Oct 2016 14:18:07 +0000 (16:18 +0200)]
Add test: image views with VK_REMAINING_* levels/layers

Test image view subresource range with VK_REMAINING_MIP_LEVELS and VK_REMAINING_ARRAY_LAYERS.

New tests:
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_remaining_levels
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.base_array_layer_remaining_layers
- dEQP-VK.pipeline.image_view.view_type.*.subresource_range.lod_base_mip_level_base_array_layer_remaining_levels_and_layers

Fixes #504

Change-Id: I9b78c8ba345b45231d7a931de9effdbde8aa0fc2

7 years agoAdd granularity test cases.
Gabor Abraham [Mon, 10 Oct 2016 15:12:19 +0000 (17:12 +0200)]
Add granularity test cases.

New test:
- dEQP-VK.api.granularity.*

Change-Id: Ib3b045a0199aeb7195dd17a603c089834c64b904

7 years agoCheck in vulkan.h for generating framework code
Pyry Haulos [Wed, 30 Nov 2016 22:27:07 +0000 (14:27 -0800)]
Check in vulkan.h for generating framework code

Having copy of vulkan.h checked in makes it easier to re-generate
framework when needed.

vulkan.h is checked in as vulkan.h.in to discourage anyone from ever
attempting to include it directly in test code.

As part of this framework is updated to vulkan.h version 1.0.35.

Change-Id: I6e202a01d3633fe19855cf62afbf16e2b0ea67ea

7 years agoMove Vulkan CTS scripts to external/vulkancts/scripts
Pyry Haulos [Wed, 30 Nov 2016 22:23:57 +0000 (14:23 -0800)]
Move Vulkan CTS scripts to external/vulkancts/scripts

Change-Id: I928d848225d08f03d93fd700a80d36ac3fbc3ada

7 years agodEQP-VK.sparse_resources.shader_intrinsics fixes
Dominik Witczak [Thu, 17 Nov 2016 15:08:44 +0000 (16:08 +0100)]
dEQP-VK.sparse_resources.shader_intrinsics fixes

Some of the tests in the group form invalid SPIR-V code,
which tries to pass two arguments to the OpFAdd instruction,
whose number of components differs.

This change fixes this.

Khronos issue: #545

Change-Id: I3cad57d393f986cfb5b9bce85f758dcca3686d8a

7 years agoAdjust {Max,Min}Coords for {proj}offset texture tests with 3D texture targets
Iago Toral Quiroga [Tue, 22 Nov 2016 10:55:44 +0000 (06:55 -0400)]
Adjust {Max,Min}Coords for {proj}offset texture tests with 3D texture targets

As it is now, the computed lod ends up being ~0.962, which is very close to the
threshold that separates selection of the first two mipmap levels. At least on
Intel GPUs this leads to test failures because the miplevel selected by CTS to
produce the expected result does not match the one actually selected by the
hardware.

This patch alters the coordinates used with these tests so the comuted lod
isn't too close to a mipmap level threshold.

Affects:
dEQP-VK.glsl.texture_functions.texture{proj}offset.sampler3d*

Khronos issue: #552

Change-Id: I6ec766133905d2085cd795eea8aaf0b04e830278

7 years agoFixes incorrect usage of textureSamples().
Dominik Witczak [Fri, 18 Nov 2016 12:13:12 +0000 (13:13 +0100)]
Fixes incorrect usage of textureSamples().

The function should not be called against single-sample
images. See #538 for more details.

Tests affected: dEQP-VK.glsl.texture_functions.query.texturesamples.isampler*ms*

Change-Id: I7ce507c657b33cbcf99c9e3202fdafaee5ea1577

7 years agoFramework: Add assert to position deviation image compare
Maciej Jesionowski [Tue, 29 Nov 2016 12:38:22 +0000 (13:38 +0100)]
Framework: Add assert to position deviation image compare

When using position deviation tolerance it's easy to forget
about the depth and effectively skip the check for the whole
image.

Change-Id: Ide873be57ba19e7e9e45606d27aae403f9c131ec

7 years agoShaderRenderCaseInstance::uploadSparseImage() fix
Dominik Witczak [Thu, 17 Nov 2016 15:13:32 +0000 (16:13 +0100)]
ShaderRenderCaseInstance::uploadSparseImage() fix

The function is used by various test cases to fill sparse images
with actual content. What they are unaware of is that the func
does not assign memory backing to odd tiles.

This change fixes this by removing the malicious if() block.
The change affects dEQP-VK.glsl.*sparse* tests

Change-Id: Ia2b157181d5fdba2d4fa0bcaf37dc02c4a6fe320

7 years agoFix memory management, image layout issues in uploadImageSparse()
Dominik Witczak [Thu, 17 Nov 2016 12:10:19 +0000 (13:10 +0100)]
Fix memory management, image layout issues in uploadImageSparse()

Fixes an issue where ShaderRenderCaseInstance::uploadSparseImage()
would first configure sparse image bindings and then deallocate
the memory objects, prior to actually sampling the image.

Fixes an issue where the sparse image, after having been filled with
contents, would first be transitioned to SHADER_READ_ONLY_OPTIMAL
layout, and then used in a DS which was expecting it to be in
GENERLA layout.

Finally, the patch addresses a problem, where the function would not
correctly recognize the VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
as reported by the running driver.

The change affects dEQP-VK.glsl.*sparse* tests

Khronos issue: #543

Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9

7 years agoDo not remove old SPIR-V binaries before running vk-build-programs
Pyry Haulos [Fri, 18 Nov 2016 18:46:55 +0000 (10:46 -0800)]
Do not remove old SPIR-V binaries before running vk-build-programs

vk-build-programs can update pre-built binary directory in a smarter way
when there are existing binaries.

Test: Run external/vulkancts/build_spirv_binaries.py
Change-Id: I2a6afdc2855b7da1baf02682e8214a73a35cebda

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 18 Nov 2016 18:40:54 +0000 (10:40 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I656d82525b18e936b6c4a78dd73cbb9ef65a06a4

7 years agoAdd vktTextureFilteringAnisotropyTests.cpp to Android.mk
Pyry Haulos [Fri, 18 Nov 2016 18:40:10 +0000 (10:40 -0800)]
Add vktTextureFilteringAnisotropyTests.cpp to Android.mk

7 years agoAdd anisotropic filtering tests
Arkadiusz Sarwa [Wed, 19 Oct 2016 13:43:19 +0000 (15:43 +0200)]
Add anisotropic filtering tests

New tests:
- dEQP-VK.texture.filtering_anisotropy.basic.*
- dEQP-VK.texture.filtering_anisotropy.mipmap.*

Fixes #512

Change-Id: I96649846503e7ab349c774ad934f654388b01d0a

7 years agoExtends rasterization culling tests with polygonModes
Zoltan Janos Szabo [Wed, 26 Oct 2016 13:51:22 +0000 (15:51 +0200)]
Extends rasterization culling tests with polygonModes

Fixes #523

Change-Id: I2665e999f5ecb6bacd0d670b88e037bfbb0d5b2e

7 years agoAdd test: UBO out of order block member offsets
Maciej Jesionowski [Tue, 11 Oct 2016 09:35:24 +0000 (11:35 +0200)]
Add test: UBO out of order block member offsets

New tests:
- dEQP-VK.ubo.random.all_out_of_order_offsets.*

Modified tests:
- dEQP-VK.ubo.* - changed GLSL version from '310 es' to '450'
- dEQP-VK.ubo.random.all_* - include arrays of arrays

Version change is required to support 'offset' layout in GLSL.

Fixes #490

Change-Id: I0c07dcebd85874d64146e48db8fefe8ad9f88877

7 years agoAdd test: validate memoryTypeBits for buffers/images
Maciej Jesionowski [Wed, 5 Oct 2016 14:28:38 +0000 (16:28 +0200)]
Add test: validate memoryTypeBits for buffers/images

Query VkMemoryRequirements for various buffer and image configurations
and check:
- memoryTypeBits and alignment
- spec-imposed guarantees

New test:
- dEQP-VK.memory.requirements.*

Fixes #492

Change-Id: I3901cc4aa5501539404bdd900c5a1b4d3a62befb

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 18 Nov 2016 17:48:25 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I0800a091d1025c0ff6efc7f22f901285e198fd38

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Fri, 18 Nov 2016 17:48:22 +0000 (09:48 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: Ib79da8c670b790d009cdf977039ece08c4e14320

7 years agoBugfix: use per-subpass pipeline in MS image tests
Maciej Jesionowski [Wed, 16 Nov 2016 14:21:28 +0000 (15:21 +0100)]
Bugfix: use per-subpass pipeline in MS image tests

The tests created a single graphics pipeline with a subpass index 0
and incorrectly reused it across different subpasses within the
same renderpass.

Affected tests:
- dEQP-VK.pipeline.multisample.sampled_image.*
- dEQP-VK.pipeline.multisample.storage_image.*

Change-Id: I71463748f10f7bb8cf194622b07ce44a855d823a

7 years agoUse highp in linkage.varying.rules.differing_name_*
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp in linkage.varying.rules.differing_name_*

This resolves RelaxedPrecision mismatches

Affects:

dEQP-VK.glsl.linkage.varying.rules.differing_name_1
dEQP-VK.glsl.linkage.varying.rules.differing_name_2

See #518

Change-Id: I7a152138e2d6ff2092c04d4226f7d00c8a40f4e0

7 years agoFix RelaxedPrecision mismatch in shader return statement tests
Pyry Haulos [Thu, 20 Oct 2016 20:17:33 +0000 (13:17 -0700)]
Fix RelaxedPrecision mismatch in shader return statement tests

Affects:

dEQP-VK.glsl.return.single_return_vertex
dEQP-VK.glsl.return.double_return_vertex
dEQP-VK.glsl.return.last_statement_in_main_vertex
dEQP-VK.glsl.return.return_in_infinite_loop_vertex

See #518

Change-Id: I981b7623f7dc2eed2e438092226f3fa3bde44d58

7 years agoUse highp by default in ShaderLibrary-based tests
Pyry Haulos [Thu, 20 Oct 2016 20:07:45 +0000 (13:07 -0700)]
Use highp by default in ShaderLibrary-based tests

This resolves numerous RelaxedPrecision mismatches

Affects:

dEQP-VK.glsl.arrays.*
dEQP-VK.glsl.conditionals.*
dEQP-VK.glsl.constants.*
dEQP-VK.glsl.conversions.*
dEQP-VK.glsl.functions.*
dEQP-VK.glsl.linkage.*
dEQP-VK.glsl.scoping.*
dEQP-VK.glsl.swizzles.*

See #518

Change-Id: I7b79f10c6dbdd5ae8da31359b680ac52ce2ad28c

7 years agoFix RelaxedPrecision mismatch in binding_model tests
Pyry Haulos [Thu, 20 Oct 2016 20:06:49 +0000 (13:06 -0700)]
Fix RelaxedPrecision mismatch in binding_model tests

Affects: dEQP-VK.binding_model.*

See #518

Change-Id: Iccda14ae17c7852c5283547e01573907f2eef18a

7 years agoFix race condition between query pool reset and accessing query results
Slawomir Cygan [Mon, 14 Nov 2016 16:57:31 +0000 (17:57 +0100)]
Fix race condition between query pool reset and accessing query results

Affects tests:
dEQP-VK.query_pool.occlusion_query.get_results*(wait_query|wait_none)*

These tests access query pool results on host, without any synchronization
with command buffer which performs the query - they either use
VK_QUERY_RESULT_WAIT_BIT or allow for incomplete results to be captured.

This may have a race condition, mentioned by spec:

"""
Applications must take care to ensure that use of the
VK_QUERY_RESULT_WAIT_BIT bit has the desired effect. For example, if
a query has been used previously and a command buffer records the
commands vkCmdResetQueryPool, vkCmdBeginQuery, and vkCmdEndQuery for
that query, then the query will remain in the available state until the
 vkCmdResetQueryPool command executes on a queue.
"""

In affected tests, this change moves vkCmdResetQueryPool to separate
command buffer that is sumitted and completed before query is used on
device & host.

Additionally code handling RESULTS_MODE_COPY mode is refactored to use
new haveSeparateCopyCmdBuf() function instead of tons of flags and conditions.

Change-Id: Id4a538b912030f2a86b09593fecaae37f1819a71

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:17:43 +0000 (17:17 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev am: a5af1b076f
am: c2c27aa562

Change-Id: I92de6f7a0cd6b064f8d0391fac2f70b464acd8d4

7 years agoFix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA. am: ea5589c748
Kenneth Graunke [Thu, 17 Nov 2016 17:17:34 +0000 (17:17 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA. am: ea5589c748
am: ab691d3f7e

Change-Id: Ic377ad147e7a774685c6dcc3190f8f3e95f45049

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:17:24 +0000 (17:17 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev am: d962b86909
am: 080d0d5005

Change-Id: I52ff978738ebe738d3d705c4a321a31b4786fa58

7 years agoFix internal format/type for 3D + depth/stencil negative API tests. am: d2f3b468db
Kenneth Graunke [Thu, 17 Nov 2016 17:17:10 +0000 (17:17 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests. am: d2f3b468db
am: f5414b15bb

Change-Id: I36fd5090772f6881a14135edcaf9c1ae8dab22fe

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev
am: a5af1b076f

Change-Id: I01c65d693d7ad5befe9244cb0d24814750a80bd2

7 years agoFix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA.
Kenneth Graunke [Thu, 17 Nov 2016 17:10:28 +0000 (17:10 +0000)]
Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA.
am: ea5589c748

Change-Id: I7358276f100608371da5b44ebc8e102a54706197

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:10:12 +0000 (17:10 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev
am: d962b86909

Change-Id: I6a82d71f2fed9f848a953ae21c30079bacb07052

7 years agoFix internal format/type for 3D + depth/stencil negative API tests.
Kenneth Graunke [Thu, 17 Nov 2016 17:10:05 +0000 (17:10 +0000)]
Fix internal format/type for 3D + depth/stencil negative API tests.
am: d2f3b468db

Change-Id: Id43b369d67e04cf3a6d6b5b4e3303f02c7a35b87

7 years agoMerge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmal...
Tina Zhou [Thu, 17 Nov 2016 17:03:36 +0000 (17:03 +0000)]
Merge "Fix sample_mask_in.bit_count_per_two_samples tests for 2x MSAA." into marshmallow-cts-dev

7 years agoMerge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
Tina Zhou [Thu, 17 Nov 2016 17:02:44 +0000 (17:02 +0000)]
Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into marshmallow-cts-dev