platform/upstream/VK-GL-CTS.git
7 years agoMerge "Revert "Update SPIR-V dependencies"" into vulkan-cts-1.0-dev
Pyry Haulos [Tue, 15 Nov 2016 22:09:47 +0000 (17:09 -0500)]
Merge "Revert "Update SPIR-V dependencies"" into vulkan-cts-1.0-dev

7 years agoRevert "Update SPIR-V dependencies"
Pyry Haulos [Tue, 15 Nov 2016 22:09:41 +0000 (18:09 -0400)]
Revert "Update SPIR-V dependencies"

Reverted since latest SPIRV-Tools breaks Android build.

This reverts commit 53331f8a91b6ab5f6ea57707620c92435bc06dde.

Change-Id: Ib4de2ecb13a51c5ce3c664b85cf0004c7e4df403

7 years agoFix warnings reported by VS 2015
Pyry Haulos [Mon, 14 Nov 2016 17:05:16 +0000 (09:05 -0800)]
Fix warnings reported by VS 2015

Change-Id: Ifc12df928d6d2f939d01c39a55a48bf861c51be7

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Mon, 14 Nov 2016 16:56:12 +0000 (08:56 -0800)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I4a9d3481a1f3c3d4975fb7b8c1fad0262beea8b0

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Mon, 14 Nov 2016 16:56:10 +0000 (08:56 -0800)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I620cf36a16740b6697c9d46b0cb7b7d013bd529b

7 years agoUpdate to latest libpng release
Pyry Haulos [Mon, 14 Nov 2016 16:51:13 +0000 (08:51 -0800)]
Update to latest libpng release

Previously used release 1.6.17 has been deprecated due to security bugs.

Change-Id: Ie5b749eea96e34f88a6833fbfab40c59cd3d162c

7 years agoMove MatrixLoadFlags from vktTestCase.hpp
Pyry Haulos [Mon, 14 Nov 2016 14:44:11 +0000 (06:44 -0800)]
Move MatrixLoadFlags from vktTestCase.hpp

vktTestCase.hpp is wildly inappropriate place for such data type. Both
UBO and SSBO tests use it currently and it is now duplicated to both of
them. UBO and SSBO tests do contain a quite bit of duplication already
(describing blocks, layout computation, etc.) and dedup should be done
as a part of bigger refactoring.

Change-Id: I5d4b8a947522192ba0dd4e807e04c940c1770eef

7 years agoUse conformant main() signature for CTS suite
Michael Chock [Sat, 12 Nov 2016 00:11:31 +0000 (16:11 -0800)]
Use conformant main() signature for CTS suite

C++ requires compilers to accept at least two signatures (3.6.1 in the
2014 and 2017 working drafts):

- a function of () returning int and
- a function of (int, pointer to pointer to char) returning int

There is no guarantee that a compiler will accept variations of argv
that use const. Use the second required form.

See #534.

Change-Id: I212b00e82b927fe25c5b2b20134db472c08e4c17

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

Change-Id: I68f026a0c2f69918f03b14e479ad5473db08a7a0

7 years agoUpdate SPIR-V dependencies
Maciej Jesionowski [Wed, 9 Nov 2016 16:42:32 +0000 (17:42 +0100)]
Update SPIR-V dependencies

This will add support for SPV_KHR_shader_draw_parameters.

Change-Id: I172be89240c37e46e52dc005c5ae310e990672b8

7 years agoAdd Vulkan WSI support to the Wayland platform
Jason Ekstrand [Wed, 9 Nov 2016 17:38:22 +0000 (09:38 -0800)]
Add Vulkan WSI support to the Wayland platform

Change-Id: I572e30710202cd53d503036310c379f2fd5468a7

7 years agoEnable multithreading in glslang
Pyry Haulos [Fri, 11 Nov 2016 00:19:52 +0000 (16:19 -0800)]
Enable multithreading in glslang

Glslang is internally synchronized and able to support multithreaded
compilation as long as global lock is implemented.

This change provides 12x speedup in building SPIR-V binaries on a
40-core machine.

Change-Id: I27b8ce22db980c3657ac3ba67b7cec1543859d0d

7 years agoReuse binary indices when rebuilding SPIR-V binaries
Pyry Haulos [Fri, 28 Oct 2016 22:35:30 +0000 (07:35 +0900)]
Reuse binary indices when rebuilding SPIR-V binaries

When prebuilt SPIR-V binaries are stored in a version control system,
we want to minimize churn (rewritten files) when updating binaries in
response to test or compiler changes.

This change makes vk::BinaryRegistyWriter significantly smarter when
updating binary registry. Old binary files (and thus indices) are
reused if possible. Any newly unused binaries are removed, and new
indices are allocated only for binaries that haven't been present
before.

Change-Id: Ieac61ff32821e4381480dd56ff27dbcdd44e50cb

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 11 Nov 2016 16:43:37 +0000 (08:43 -0800)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I1bf942ca0cb3f4b92c522d60aed6b49a78ec1354

7 years agoAdd new files to Android.mk
Pyry Haulos [Fri, 11 Nov 2016 16:42:38 +0000 (08:42 -0800)]
Add new files to Android.mk

Change-Id: I68305d2ac6cc1f79bcb49ad9ee7611038bfbf634

7 years agoAdd test: queue bind sparse api
Maciej Jesionowski [Mon, 17 Oct 2016 15:32:50 +0000 (17:32 +0200)]
Add test: queue bind sparse api

Test vkQueueBindSparse with wait and signal semaphores,
zero bindInfos, etc.

New test:
- dEQP-VK.sparse_resources.queue_bind.*

See issue #401

Change-Id: If2201095cb9508bf9fa79f3c57e7de5a7dd03616

7 years agoRefactor sparse resources module
Maciej Jesionowski [Mon, 17 Oct 2016 15:30:33 +0000 (17:30 +0200)]
Refactor sparse resources module

Get rid of unused functions and custom classes where common
framework-provided utilities suffice.

Affected tests:
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_sample_explicit_lod.*
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_sample_implicit_lod.*
- dEQP-VK.sparse_resources.shader_intrinsics.*_sparse_gather.*
- dEQP-VK.sparse_resources.* (only code changed)

Sparse sample tests now use a different graphics pipeline, but their
behavior should remain unchanged.

Change-Id: Ib3b5158f142630360c1b5e176f16b2f604de8dfe

7 years agoAdd reset command pool reuseing test
Arkadiusz Sarwa [Mon, 17 Oct 2016 13:27:01 +0000 (15:27 +0200)]
Add reset command pool reuseing test

New test:
- dEQP-VK.api.command_buffers.pool_reset_reuse

Fixes #453

Change-Id: If21e5c833880530fc0a1f9e19e2c579d0b288ef9

7 years agoAdd geometry shader tests
Arkadiusz Sarwa [Tue, 27 Sep 2016 09:10:05 +0000 (11:10 +0200)]
Add geometry shader tests

New tests:
- dEQP-VK.geometry.*

Fixes #63

Change-Id: If1da0ce5e171ca6cb7396421f2fb8ffbcc55ce88

7 years agoAdd license check to scripts/src_util/check_all.py
Pyry Haulos [Fri, 11 Nov 2016 15:57:59 +0000 (07:57 -0800)]
Add license check to scripts/src_util/check_all.py

Change-Id: Id63ff1e351d01bc72253f298e373bfba963e2735

7 years agoFix license in a few files
Pyry Haulos [Fri, 11 Nov 2016 15:57:37 +0000 (07:57 -0800)]
Fix license in a few files

Change-Id: Ie26dfa6e9d151b71ddba7e00d05759532632b408

7 years agoUse VK_REMAINING_MIP_LEVELS in image clearing tests
Maciej Jesionowski [Mon, 26 Sep 2016 10:47:54 +0000 (12:47 +0200)]
Use VK_REMAINING_MIP_LEVELS in image clearing tests

Modified tests:
- dEQP-VK.api.image_clearing.clear_color_image.*
- dEQP-VK.api.image_clearing.* (refactor)

Tests were refactored to use images with more than one mip map,
but multiple mip maps were only added to clear_color_image tests.

Image is now cleared with two distinct colors, one for explicit
range of mip maps, the other for VK_REMAINING_MIP_LEVELS.

Fixes #459

Change-Id: Ia02289bf81faebd47c2e4c86a6bd8a4d06ddf34d

7 years agoUse all KHR and EXT extensions by default
Arkadiusz Sarwa [Fri, 4 Nov 2016 12:22:30 +0000 (13:22 +0100)]
Use all KHR and EXT extensions by default

Change-Id: If6111170be15db7a90692a730bffdfb7c5382be8

7 years agoFix wrong barriers in D+S texture upload routines in vkt::pipeline tests
Slawomir Cygan [Wed, 2 Nov 2016 17:16:30 +0000 (18:16 +0100)]
Fix wrong barriers in D+S texture upload routines in vkt::pipeline tests

Affects tests:
dEQP-VK.texture.shadow.2d.nearest.less_or_equal_d24_unorm_s8_uint
dEQP-VK.texture.shadow.2d.nearest.less_or_equal_d32_sfloat_s8_uint
...and possibly other dEQP-VK.texture.shadow.*d.*.*d*s8_uint

In case of D+S textures, there was an invalid aspect mask used in
barriers before and after the copy to image operation in
vkt::pipeline::uploadTestTextureInternal.

Because the upload of textures was split into D-only and S-only phases,
the barriers were operating separately on D and S aspects of DS texture,
what is forbidden by spec:

"""
If image has a depth/stencil format with both depth and stencil
components, then aspectMask member of subresourceRange must include
both VK_IMAGE_ASPECT_DEPTH_BIT and VK_IMAGE_ASPECT_STENCIL_BIT".
"""

This change batches D & S uploads together (uploadTestTextureInternal is
called once), so full DS aspect mask is used in case of D+S textures.

Change-Id: Ib9d8b2a0156ffc8437edc0d5ed76c54116dd736b

7 years agoFix fetching geometry in dEQP-VK.renderpass test
Slawomir Cygan [Thu, 27 Oct 2016 18:11:15 +0000 (20:11 +0200)]
Fix fetching geometry in dEQP-VK.renderpass test

The renderpass test uses 48 byte vertex buffer for 6x 2-element float
values. At the same time pipeline tries to fetch 4-element atributes,
so the last vertex from buffer is outside of bounds (and may be zeroed).

Affected: All dEQP-VK.renderpass* that have the render geoemtry visible
in tested attachments.

Change-Id: If58e18c4df0ea053aa0a766b2bab381a0648326f

7 years agoFix GLSL precision in dEQP-VK.memory.pipeline_barrier.*storage_buffer
Slawomir Cygan [Thu, 27 Oct 2016 16:37:24 +0000 (18:37 +0200)]
Fix GLSL precision in dEQP-VK.memory.pipeline_barrier.*storage_buffer

The GLSL global precision qualifier in many shaders in this test was malformed
 - it essentially did not change any default precision.

Additionally *storage_buffer.65536 cases require higp integer precision in
 storage_buffer fragment shaders - otherwise the buffer indexing can wrap.

Change-Id: Ic5e965b8e418b1c68bee3a058a771d2b894c0f63

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Tue, 25 Oct 2016 05:36:23 +0000 (22:36 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I766de7d6d392d4a2503caae6e321836fde09c804

7 years agodEQP-VK.api.image_clearing: Use the correct aspects for depth/stencil attachments
Jason Ekstrand [Sat, 22 Oct 2016 16:16:55 +0000 (09:16 -0700)]
dEQP-VK.api.image_clearing: Use the correct aspects for depth/stencil attachments

These tests were blindly setting the aspectMask field of VkClearAttachment
to VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT even though the
format of the attachment may be a depth-only format.  This affects the
following tests:

dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_d16_unorm
dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_d32_sfloat
dEQP-VK.api.image_clearing.clear_depth_stencil_attachment.2d_x8_d24_unorm_pack32
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_d16_unorm
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_d32_sfloat
dEQP-VK.api.image_clearing.partial_clear_depth_stencil_attachment.2d_x8_d24_unorm_pack32

Change-Id: I7c0de07de97ae8529e429c26b1b99798cc1443a4

7 years agocopy_and_blit.blit_image: loosen threshold of float/float blits
Lionel Landwerlin [Sat, 15 Oct 2016 00:01:03 +0000 (01:01 +0100)]
copy_and_blit.blit_image: loosen threshold of float/float blits

In commit bd6f90c07f4bd0e0667ada50e134b479eeab78c5 :

  blit_image: compute validation threshold based on I/O formats

We tried to introduce an error threshold for unorm/integer formats and
removed all the precomputed thresholds for floating point formats. Also
introducing a bug where the threshold was ceiled to 1.0 (making a lot of
tests pass no matter the results).

In commit 161314f0ff255dfe47e280dd4945292295dab1ed :

  copy_and_blit.blit_image: fix threshold computation

We fixed the threshold to computation for unorm/integer formats but now all
threshold would be computed on the assumption that the resolution of numbers
is based of the number of bits in the fractional part of the number's
representation (which is incorrect for floating point formats).

This commit brings back the precomputed thresholds for floating point
formats, while still computing a threshold based on the number of bits in
the fractional part of the unorm formats.

Affected tests:
- dEQP-VK.api.copy_and_blit.blit_image.all_formats.*float*float*

Change-Id: I52034a58d145a8e046fb33bcc6becb9e83774d73

7 years agoCheck dependency between multiViewport and geometry
Maciej Jesionowski [Wed, 19 Oct 2016 09:48:30 +0000 (11:48 +0200)]
Check dependency between multiViewport and geometry

Modified tests:
- dEQP-VK.api.info.device.features

Public issue #25

Change-Id: Ifea108a909113f4628a7bfb1a75d9bdbd10866f3

7 years agoCheck for geometryShader in multi-viewport scissor
Maciej Jesionowski [Wed, 19 Oct 2016 09:32:29 +0000 (11:32 +0200)]
Check for geometryShader in multi-viewport scissor

Affected tests:
- dEQP-VK.fragment_operations.scissor.multi_viewport.*

Public issue #25

Change-Id: I82c45e7bff2f771b9874966246341d14d3371d8a

7 years agoRemove XML mustpass lists
Pyry Haulos [Wed, 24 Aug 2016 22:19:40 +0000 (15:19 -0700)]
Remove XML mustpass lists

Android CTS no longer uses per-package XML test lists.

(cherry picked from commit af8270690ae19b52cf673bdda853a57755b7d3fe)

Change-Id: I66c76af2c9b8dafbec7db9a9a7c150d4e5400ac2

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Thu, 20 Oct 2016 18:42:41 +0000 (11:42 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: Ia92eae5ac913055ba0cd769b8ca3ac877e02d48c

7 years agoAdd excluded copy and blit tests back to mustpass
Pyry Haulos [Thu, 29 Sep 2016 21:43:55 +0000 (14:43 -0700)]
Add excluded copy and blit tests back to mustpass

See #431

Change-Id: I4d06edd0ad05e62fabe9f14c192aec3eb8d457c8

7 years agoAdd user clip plane tests back to mustpass
Pyry Haulos [Thu, 29 Sep 2016 21:22:06 +0000 (14:22 -0700)]
Add user clip plane tests back to mustpass

See #420

Change-Id: If0c5265298281241d50691a092b8af9720c1d2d7

7 years agoEnable some of dEQP-VK.glsl.texture_functions.texelfetchoffset.*
Slawomir Cygan [Tue, 20 Sep 2016 10:56:27 +0000 (12:56 +0200)]
Enable  some of dEQP-VK.glsl.texture_functions.texelfetchoffset.*

These are still disabled:
dEQP-VK.glsl.texture_functions.texelfetchoffset.sparse_sampler*

These tests were blacklisted as a part of issue 410, but it seems it was because of driver bug.

Change-Id: I01e3fdff78edef37dc0e7e72f129bd50e600b4aa

7 years agoAdd fragment sampled images to pipeline barrier tests
Mika Isojärvi [Thu, 15 Sep 2016 22:55:05 +0000 (15:55 -0700)]
Add fragment sampled images to pipeline barrier tests

Change-Id: I100f97a18206fc8e92e28b8c62289666048de6ea

7 years agoAdd fragment storage images to pipeline barrier tests
Mika Isojärvi [Fri, 9 Sep 2016 19:55:14 +0000 (12:55 -0700)]
Add fragment storage images to pipeline barrier tests

Change-Id: I34614de9bbc6ac567ba5a0faab1fc78c7b6375ca

7 years agoAdd fragment storage texel buffers to pipeline barrier tests
Mika Isojärvi [Wed, 7 Sep 2016 21:42:24 +0000 (14:42 -0700)]
Add fragment storage texel buffers to pipeline barrier tests

Change-Id: Id1ea453508d36b10908e46e79c4a7c2e4f7add5b

7 years agoAdd fragment uniform texel buffers to pipeline barrier tests
Mika Isojärvi [Wed, 7 Sep 2016 18:23:33 +0000 (11:23 -0700)]
Add fragment uniform texel buffers to pipeline barrier tests

Change-Id: I6a3bf3d522f952d0e0eb9ce623ff0f4efa4343c9

7 years agoAdd fragment storage buffers to pipeline barrier tests
Mika Isojärvi [Thu, 1 Sep 2016 22:51:56 +0000 (15:51 -0700)]
Add fragment storage buffers to pipeline barrier tests

Change-Id: Iac04ac1015064e8f5159c2d0f9838ccc79e33072

7 years agoAdd fragment uniform buffers to pipeline barrier tests
Mika Isojärvi [Thu, 1 Sep 2016 21:03:37 +0000 (14:03 -0700)]
Add fragment uniform buffers to pipeline barrier tests

Change-Id: I9a5ef06501c1969ee71f4adc37bbe5dd142646bb

7 years agoSplit pipeline barrier tests over multiple iterations
Mika Isojärvi [Wed, 31 Aug 2016 00:37:03 +0000 (17:37 -0700)]
Split pipeline barrier tests over multiple iterations

- Split different pipeline barrier test stages over multiple iterate() calls.
- Instead of running 100 ops once for each memory type run 50ops 5 times.
- Reduces resource usage, but increases number of operations performed.

Change-Id: I16f46ef94591cc45877f880dcf871f6302744c06

7 years agoExtend renderpass tests to use input attachments
Mika Isojärvi [Wed, 17 Aug 2016 20:23:36 +0000 (13:23 -0700)]
Extend renderpass tests to use input attachments

- Render only values 0 and 1 to all attachments.
- The value depends on attachment, subpass and pixel location.
- Depth formats also sets gl_FragDepth to 0.0 or 1.0 depending on location.
- Stencil uses only values 0 and 0xff.
- Verification requires that the quads are rasterized exactly and
  that all result values are either 0 or 1.
- Input attachment containing 1s and 0s are interpreted as true and
  false bools and input values are combined with boolean operations and
  written to shader outputs.

See #447
Change-Id: I4ebe3d9b5151d40558e473a028ee458cf6285a85

7 years agoFixes invalid subresource defs in *.simple_tests.
Dominik Witczak [Fri, 14 Oct 2016 14:18:15 +0000 (16:18 +0200)]
Fixes invalid subresource defs in *.simple_tests.

Affects dEQP-VK.api.copy_and_blit.blit_image.simple_tests

Fixes #519

Change-Id: I3c8331f27495333ece5bd43c160128fa49a7950d

7 years agoMerge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into...
Tina Zhou [Wed, 19 Oct 2016 18:13:50 +0000 (18:13 +0000)]
Merge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into nougat-cts-dev
am: 544e0e3b1d

Change-Id: I9b6b41060c199df465bb1aaf602b6c4e65170f19

7 years agoCheck for EXT_color_buffer_float in read_pixels_fbo_format_mismatch
Pyry Haulos [Wed, 19 Oct 2016 18:13:49 +0000 (18:13 +0000)]
Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch
am: 37e360591e

Change-Id: Iebccb4130e83bc05880ed19700b627920bd2c195

7 years agoMerge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 18:13:35 +0000 (18:13 +0000)]
Merge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev
am: b82263e2ad

Change-Id: I48d7e3cf7abc24ea85d15e2c8e1cc28f495a715b

7 years agoCP: Use empty region when buffer age is not supported
Kalle Raita [Wed, 19 Oct 2016 18:13:34 +0000 (18:13 +0000)]
CP: Use empty region when buffer age is not supported
am: 8230646213

Change-Id: If04b5b6d5d8fc49177eae42772be8d8cfa5df7dd

7 years agoMerge "Fix deStrnlen fall-back implementation" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 18:13:17 +0000 (18:13 +0000)]
Merge "Fix deStrnlen fall-back implementation" into nougat-cts-dev
am: a04db6628e

Change-Id: Iab81c26287e321d1ae9d15873866617690977868

7 years agoFix deStrnlen fall-back implementation
Pyry Haulos [Wed, 19 Oct 2016 18:13:16 +0000 (18:13 +0000)]
Fix deStrnlen fall-back implementation
am: 54ebe093a9

Change-Id: Ib970fc5430045b05006dee1fb47a08de6997c5df

7 years agoMerge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 18:13:06 +0000 (18:13 +0000)]
Merge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev
am: 4275d2099c

Change-Id: I6dddd9f4d9f8223e6a639266cc9d2a3afe800598

7 years agoresolve merge conflicts of e5f7483 to master
Pyry Haulos [Wed, 19 Oct 2016 16:16:00 +0000 (09:16 -0700)]
resolve merge conflicts of e5f7483 to master

Change-Id: Id295761e33e8e58447f4b0bc9726f1bb03887d53

7 years agoMerge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into...
Tina Zhou [Wed, 19 Oct 2016 15:59:19 +0000 (15:59 +0000)]
Merge "Check for EXT_color_buffer_float in read_pixels_fbo_format_mismatch" into nougat-cts-dev

7 years agoMerge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:58:07 +0000 (15:58 +0000)]
Merge "CP: Use empty region when buffer age is not supported" into nougat-cts-dev

7 years agoMerge "Fix deStrnlen fall-back implementation" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:56:53 +0000 (15:56 +0000)]
Merge "Fix deStrnlen fall-back implementation" into nougat-cts-dev

7 years agoMerge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:56:21 +0000 (15:56 +0000)]
Merge "Remove a few preprocessor cases testing undefined behavior" into nougat-cts-dev

7 years agoMerge "Check for shader type support in negative precise tests" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:54:14 +0000 (15:54 +0000)]
Merge "Check for shader type support in negative precise tests" into nougat-cts-dev
am: c30d04b8e7

Change-Id: I51397ade865e084fda6ea469615b19eeeefe38bd

7 years agoCheck for shader type support in negative precise tests
Pyry Haulos [Wed, 19 Oct 2016 15:54:13 +0000 (15:54 +0000)]
Check for shader type support in negative precise tests
am: 4a3a2d79a0

Change-Id: If11ec3c8cffdf5c152da4ebe8ea434aa67a61671

7 years agoMerge "Check for shader type support in negative shader directive tests" into nougat...
Tina Zhou [Wed, 19 Oct 2016 15:53:59 +0000 (15:53 +0000)]
Merge "Check for shader type support in negative shader directive tests" into nougat-cts-dev
am: a3513e86ff

Change-Id: I2c16e596fd38fb2a2b0455df8dab147fe69a8d99

7 years agoCheck for shader type support in negative shader directive tests
Pyry Haulos [Wed, 19 Oct 2016 15:53:58 +0000 (15:53 +0000)]
Check for shader type support in negative shader directive tests
am: cf6e6ab134

Change-Id: I575d8bebe3e3fdda7cb97b87325715bf940aeef3

7 years agoMerge "Check for shader type support in negative precise tests" into nougat-cts-dev
Tina Zhou [Wed, 19 Oct 2016 15:52:15 +0000 (15:52 +0000)]
Merge "Check for shader type support in negative precise tests" into nougat-cts-dev

7 years agoMerge "Check for shader type support in negative shader directive tests" into nougat...
Tina Zhou [Wed, 19 Oct 2016 15:50:37 +0000 (15:50 +0000)]
Merge "Check for shader type support in negative shader directive tests" into nougat-cts-dev

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Tue, 18 Oct 2016 20:03:42 +0000 (13:03 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I8e8460156cb2ea58c3610c29d4df7134d38a58dc

7 years agoRemove tess/geom tests relying on default PointSize
Maciej Jesionowski [Fri, 30 Sep 2016 09:14:40 +0000 (11:14 +0200)]
Remove tess/geom tests relying on default PointSize

Some of these test cases assumed a default point size of 1.0 in
tessellation and geometry stages (as in GLES), but in Vulkan shaders
have to explicitly write to PointSize or the results are undefined.

Removed tests:
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_control_set
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_eval_default
- dEQP-VK.tessellation.geometry_interaction.point_size.vertex_set_evaluation_set_geometry_default

Public issue #26

Change-Id: I987580c0b7e638910c99f62c1d65b5722272f818

7 years agoFix -Wc++11-narrowing warnings
Colin Cross [Mon, 17 Oct 2016 22:49:30 +0000 (15:49 -0700)]
Fix -Wc++11-narrowing warnings

The platform default -std=gnu++14 is going to be applied to NDK modules,
cast DE_OFFSET_OF to deUint32 instead of int to prevent a new -Werror
failure.

Test: mma -j
Change-Id: Ief5620089bc069006664d39d68090ea8310344ac

7 years agoMerge aosp/master into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 23:15:10 +0000 (16:15 -0700)]
Merge aosp/master into gerrit/vulkan-cts-1.0-dev

Change-Id: Ibf4b35b71a439aea29fcc520887e21c6365d89a3

7 years agoMerge changes Ib045a836,Idaf62182,I6ae192e6 into vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 23:14:40 +0000 (19:14 -0400)]
Merge changes Ib045a836,Idaf62182,I6ae192e6 into vulkan-cts-1.0-dev

* changes:
  Parallelize vk-build-programs
  Fix issues in de::ThreadSafeRingBuffer<>
  Fix a few things in de::PoolArray<T>

7 years agoParallelize vk-build-programs
Pyry Haulos [Sat, 1 Oct 2016 00:34:39 +0000 (17:34 -0700)]
Parallelize vk-build-programs

Rewrite vk-build-program to take advantage of multiple cores. The speedup
is limited by the fact that glslang is still requires a big global lock.

Assembling and validating SPIR-V is fully parallelized.

Change-Id: Ib045a836089f566f43b89d627bebadf305ea4d2b

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 21:32:37 +0000 (14:32 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I2b277e75191041a5e18a268c45e20a0912ef3923

7 years agoCherry-pick framework changes from 41702fa7
Pyry Haulos [Fri, 14 Oct 2016 21:28:37 +0000 (14:28 -0700)]
Cherry-pick framework changes from 41702fa7

Change-Id: Id2f016dd7034cd688494613b4f4aa74c4f373902

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 21:06:57 +0000 (14:06 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ia73dcdf2af13f57e6c0f52df4a4c591a35c01a2f

7 years agoAdd VK_REMAINING_* defines to vulkan framework
Maciej Jesionowski [Thu, 22 Sep 2016 09:15:18 +0000 (11:15 +0200)]
Add VK_REMAINING_* defines to vulkan framework

Change-Id: I4d4693bab868cdf904d2b4c706fdb954f282ab13
(cherry picked from commit 5f247ec91a80d8d55d29243d770b29222ad8103e)

7 years agoFix issues in de::ThreadSafeRingBuffer<>
Pyry Haulos [Sat, 1 Oct 2016 00:33:33 +0000 (17:33 -0700)]
Fix issues in de::ThreadSafeRingBuffer<>

 * Use size_t for size-like values
 * Use std::vector<> for memory lifetime management

Change-Id: Idaf621829df4608968e7d8f3e60b7f3c948f0b04

7 years agoFix a few things in de::PoolArray<T>
Pyry Haulos [Sat, 1 Oct 2016 00:32:24 +0000 (17:32 -0700)]
Fix a few things in de::PoolArray<T>

 * Fix operator-> for iterators
 * Add more standard iterator typedefs
 * Add front() and back()

Change-Id: I6ae192e682dfc1f304ccc83ad96409c0a10c5c4d

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Fri, 14 Oct 2016 20:48:05 +0000 (13:48 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I782798e35e4537d7cc0dbbc7a2f46f6adebc682d

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 20:47:48 +0000 (13:47 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I9def7f39ac7f4d4312b1c0469f718e17b6a3d673

7 years agoRelax precision in OpTextureQueryLod tests
Pyry Haulos [Tue, 11 Oct 2016 20:09:28 +0000 (13:09 -0700)]
Relax precision in OpTextureQueryLod tests

This change allows for the full LOD implementation range allowed by the
specification.

Affects dEQP-VK.glsl.texture_functions.query.texturequerylod.*

Fixes #510

Change-Id: Iacb73ea840052983a9ab8402460e4e0a9e911b07

7 years agocopy_and_blit.blit_image: fix threshold computation
Lionel Landwerlin [Wed, 12 Oct 2016 18:03:31 +0000 (19:03 +0100)]
copy_and_blit.blit_image: fix threshold computation

Threshold should not be ceiled, affecting all blit tests with
floating point format as destination :

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

Also use the source texture to get the source format.

Fixes #516

Change-Id: I4c49007070306d597e36f7b79ee969ef5081d19e

7 years agoFix OpVariable position in OpInBoundsAccessChain tests.
Gabor Abraham [Thu, 8 Sep 2016 15:15:35 +0000 (17:15 +0200)]
Fix OpVariable position in OpInBoundsAccessChain tests.

Fixes #489

Change-Id: I4ee027fd82f5a5f5d54dd3abd4d9b50250eb3e31
(cherry picked from commit 5f7c4c5e0bdd9090a6ae5cab8bdf73d726bb2c41)

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 20:16:49 +0000 (13:16 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I29c4d7be30a0e5c0dae2218922e5c7b90de18d16

7 years agoUpdate glslang (use SampledImage with OpImageQueryLod)
Maciej Jesionowski [Wed, 12 Oct 2016 15:36:59 +0000 (17:36 +0200)]
Update glslang (use SampledImage with OpImageQueryLod)

Affected tests:
- dEQP-VK.glsl.texture_functions.query.texturequerylod.*

Fixes #514

Change-Id: Iea4c3f6007dc34a618e2171358a6ecc1cf57424d

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 20:15:18 +0000 (13:15 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I2772754cee9cc11e196225d9f5ebe402f6124f75

7 years agoUse tex lookup verifier in ImageSamplingInstance
Pyry Haulos [Thu, 22 Sep 2016 01:26:31 +0000 (18:26 -0700)]
Use tex lookup verifier in ImageSamplingInstance

Simple image comparison is ill-equipped to handle all possible precision
and behavior differences (cube map corner filtering for example). This
change replaces old image comparison method with use of texture lookup
verification utilities.

Instead of rendering a reference image, texture coordinates generated by
the reference rasterizer are captured. The captured coordinates are then
used to verify the result color values retured by the implementation
using the texture lookup verification code.

This affects:
 * dEQP-VK.pipeline.image.*
 * dEQP-VK.pipeline.sampler.*
 * dEQP-VK.pipeline.image_view.*

Fixes #297
Fixes #340

Change-Id: I856000bd4d4aa7ab6c1e69af09f3655b63018b93

7 years agoCOUNT_1_BIT is required min for sampledImageIntegerSampleCounts
Alexander Galazin [Thu, 13 Oct 2016 11:10:35 +0000 (13:10 +0200)]
COUNT_1_BIT is required min for sampledImageIntegerSampleCounts

dEQP-VK.glsl.texture_functions.query.texturesamples.isampler*ms*
should work for VK_SAMPLE_COUNT_1_BIT sample count as these
tests check both MS and integer formats.

Fixes #517

Change-Id: I2f3362b630921f4c1111d84ab0ba291caeb80e9a

7 years agoBugfix: use SPARSE_BINDING flag in sparse_resources test
Maciej Jesionowski [Fri, 7 Oct 2016 10:15:03 +0000 (12:15 +0200)]
Bugfix: use SPARSE_BINDING flag in sparse_resources test

Affected tests:
- dEQP-VK.sparse_resources.buffer_sparse_residency.*

Fixes #508

Change-Id: I8aabcc66501e49138ff51925a07b47d13b4a5664

7 years agodEQP-VK.sparse_resources.shader_intrinsics: OpCompositeExtract needs value id
Slawomir Cygan [Thu, 6 Oct 2016 14:45:31 +0000 (16:45 +0200)]
dEQP-VK.sparse_resources.shader_intrinsics: OpCompositeExtract needs value id

This fixes SPIR-V code used by dEQP-VK.sparse_resources.shader_intrinsics.

This adds missing OpLoad on vaying variable pointer, as pointers cannot be
passed directly to OpCompositeExtract.

Change-Id: I801aae7d49213771ffe17a0ed7fa096ab80b0b37

7 years agoMerge "dEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one...
Pyry Haulos [Fri, 14 Oct 2016 19:54:50 +0000 (15:54 -0400)]
Merge "dEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one errors" into vulkan-cts-1.0.1

7 years agodEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one errors
Slawomir Cygan [Thu, 6 Oct 2016 15:31:47 +0000 (17:31 +0200)]
dEQP-VK.sparse_resources.shader_intrinsics*gather: fix possible of-by-one errors

The test seems to perform GATHER sampling from center of pixels

On un-even image sizes this may cause failures, as texcoord (being float32)
may not exactly represent pixel center, what can cause different 2x2 rectangle to
be gathered.

The fix is to bias texcoord by half a texel, so sampling is always performed
from centre of 2x2 rectangle.

Fixes following tests (for me):
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r32i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r32i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r16i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r16i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r8i.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.r8i.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba32ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba32ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba16ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba16ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba8ui.503_137_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_sparse_gather.rgba8ui.11_37_1
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r32i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r32i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r16i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r16i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r8i.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.r8i.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba32ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba32ui.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba16ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba16ui.11_37_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba8ui.503_137_3
dEQP-VK.sparse_resources.shader_intrinsics.2d_array_sparse_gather.rgba8ui.11_37_3

Affects: dEQP-VK.sparse_resources.shader_intrinsics.*gather*

Change-Id: I218d68033e3c83d5270c54731eac3a72c6899173

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Fri, 14 Oct 2016 19:37:12 +0000 (12:37 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I0681cde0cd048ed8c7973c70458d82e568e2fa26

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Fri, 14 Oct 2016 19:37:10 +0000 (12:37 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I623cc43f95bd5d7c967ebbf397bc9fa214585d73

7 years agoFix alignment issues in uploading image data in ShaderExecutor
Pyry Haulos [Tue, 27 Sep 2016 22:49:46 +0000 (15:49 -0700)]
Fix alignment issues in uploading image data in ShaderExecutor

Fixes #485

Change-Id: If04aebab19fb25ef26b51b4af86e718004438d82
(cherry picked from commit 9141d25d08d53c203f8ac5a9c5937a41e1d83d02)

7 years agodEQP-VK.compute: Fix layout of storage image descriptor
Slawomir Cygan [Mon, 10 Oct 2016 16:20:49 +0000 (18:20 +0200)]
dEQP-VK.compute: Fix layout of storage image descriptor

Affects: dEQP-VK.compute.basic.copy_image_to_ssbo*

IMAGE_STORAGE type descriptor was updated with *_OPTIMAL layout.
This is invalid according to spec:

"Load and store operations on storage images can only
be done on images in VK_IMAGE_LAYOUT_GENERAL layout."

Submitted Vulkan-LoaderAndValidationLayers issue !1034 to
ensure this is caught in val layers.

Additionally one validation warn on 0 src stage in barrier is fixed.

Change-Id: Ie6d6875465f382c62dd9802f286de77c4c808fc2

7 years agoGet rid of DEQP_SUPPORT_GLES2, _GLES3, _EGL, _OPENGL
Pyry Haulos [Wed, 12 Oct 2016 20:22:41 +0000 (13:22 -0700)]
Get rid of DEQP_SUPPORT_GLES2, _GLES3, _EGL, _OPENGL

Common code for those APIs don't need platform headers or implementation
libraries to be present build- nor run-time. It then makes sense to
always enable all relevant code paths on build time and have them
gracefully fail on run-time instead if driver libraries can not be found.

Change-Id: I31f417f368206b9ee0d7cadcc0cf5e227bda125f

7 years agoAdd new files to Android.mk
Pyry Haulos [Thu, 13 Oct 2016 20:13:36 +0000 (13:13 -0700)]
Add new files to Android.mk

Change-Id: I506d0cf9ceb61b27917a89185358ffc304abf3b5

7 years agoAdd test: waitForFences with an empty queueSubmit
Maciej Jesionowski [Tue, 27 Sep 2016 13:26:20 +0000 (15:26 +0200)]
Add test: waitForFences with an empty queueSubmit

If submitCount is zero but fence is not VK_NULL_HANDLE, the fence will
still be submitted to the queue and will become signaled when all work
previously submitted to the queue has completed.

New test:
- dEQP-VK.synchronization.basic.fence.empty_submit

Fixes #501

Change-Id: Id5c8acf9ad719b64109c85f54c48b4117217452b

7 years agoAdd mirroring/flipping image tests to vkCmdBlitImage
Zoltan Janos Szabo [Fri, 23 Sep 2016 11:50:43 +0000 (13:50 +0200)]
Add mirroring/flipping image tests to vkCmdBlitImage

Fixes #491

Change-Id: Ia511a82ef61d84e643978797d24e3f0f499fd616

7 years agoAdd instanced draw tests
Kristof Kosztyo [Wed, 14 Sep 2016 13:23:42 +0000 (15:23 +0200)]
Add instanced draw tests

Change-Id: I8f8a2e1b7cfef7f4ab3b12e47715a85b99e06536

7 years agoAdd basic draw tests.
Gabor Abraham [Thu, 8 Sep 2016 14:48:18 +0000 (16:48 +0200)]
Add basic draw tests.

Change-Id: I25aa8a5d42a0171a337f80032cf68a6c956e13b1

7 years agoMerge "Only Windows has strnlen_s."
Elliott Hughes [Thu, 13 Oct 2016 14:38:19 +0000 (14:38 +0000)]
Merge "Only Windows has strnlen_s."