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

7 years agoFix deStrnlen fall-back implementation
Pyry Haulos [Thu, 7 Jul 2016 21:58:52 +0000 (14:58 -0700)]
Fix deStrnlen fall-back implementation

Fixes #423

Bug: 31952754

(cherry picked from commit 038db60bcbb1cdaf0157e5176af6422bda13ff28)

Change-Id: I7f22c2f0d325ecd2a57462f324214b7009c18782

7 years agoCherry-pick image_format_properties changes from upstream
Pyry Haulos [Wed, 12 Oct 2016 17:20:48 +0000 (17:20 +0000)]
Cherry-pick image_format_properties changes from upstream
am: 43227ff1db

Change-Id: I47de98067aa69898c83ae57d5771e7c39e8e12e8

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Wed, 12 Oct 2016 15:03:38 +0000 (08:03 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I6a529bc832d12c7ada1a1ccb3c818f73d35136b6

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Wed, 12 Oct 2016 15:03:00 +0000 (08:03 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: I02c07f6c898401da080f6398386953538da5a6bb

7 years agoMerge "Fix required sample counts per spec issue 478" into vulkan-cts-1.0.1
Pyry Haulos [Wed, 12 Oct 2016 15:02:42 +0000 (11:02 -0400)]
Merge "Fix required sample counts per spec issue 478" into vulkan-cts-1.0.1

7 years agoCherry-pick image_format_properties changes from upstream
Pyry Haulos [Tue, 11 Oct 2016 17:24:27 +0000 (10:24 -0700)]
Cherry-pick image_format_properties changes from upstream

Bug: 31732496

Contains 4 commits:

1: Fix dEQP-VK.api.info.image_format_properties - TRANSIENT usage flag used with DMA flags

(cherry picked from commit 83f90be9118a121b47f5e16f04029e205c68f994)

2: Fix VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT handling in query tests

83f90be9 added a check that was intended to make tests treat combination
of TRANSIENT_ATTACHMENT_BIT with non-RT usages invalid. However, that
change was buggy and lead the tests to treat _all_ usages of
TRANSIENT_ATTACHMENT_BIT invalid and thus skip testing them.

(cherry picked from commit 570326e5c8d85fe16fa6ce36de73c8f9bcba4d3e)

3: Do not require TRANSIENT usage support without other RT usages

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

See CTS issue #507 and spec issue #540

(cherry picked from commit 377ad0ad5962351d14badb1857b55dc8e8e49218)

4: Fix required sample counts per spec issue 478

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

See CTS issue #507 and spec issue #478

(cherry picked from commit 02c61e30f50cb04505f421b1ebe07c4a42864acf)

Change-Id: I4c714f887c1554994f90ec361ed44876465cd5a3

7 years agoDo not require TRANSIENT usage support without other RT usages
Pyry Haulos [Mon, 10 Oct 2016 21:42:53 +0000 (14:42 -0700)]
Do not require TRANSIENT usage support without other RT usages

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

See CTS issue #507 and spec issue #540

Change-Id: Ia3a741c1943eea034a27b9479a0a8b4cc0caa09c

7 years agoFix required sample counts per spec issue 478
Pyry Haulos [Tue, 11 Oct 2016 15:33:15 +0000 (08:33 -0700)]
Fix required sample counts per spec issue 478

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

See CTS issue #507 and spec issue #478

Change-Id: Id08e798f1c598fe5861234778318acdc3098a3df

7 years agoUpdate glslang
Maciej Jesionowski [Thu, 6 Oct 2016 14:25:52 +0000 (16:25 +0200)]
Update glslang

Change-Id: I45632ec45e142b1967f60d0155ffff11d0352222

7 years agoOnly Windows has strnlen_s.
Elliott Hughes [Sat, 8 Oct 2016 18:13:40 +0000 (11:13 -0700)]
Only Windows has strnlen_s.

The right way to ask for and check for strnlen_s on non-Windows would be:

  As with all bounds-checked functions, strnlen_s is only guaranteed to be
  available if __STDC_LIB_EXT1__ is defined by the implementation and if
  the user defines __STDC_WANT_LIB_EXT1__ to the integer constant 1 before
  including string.h.
    http://en.cppreference.com/w/c/string/byte/strlen

...but only Windows has any of this stuff. Android, Linux, and Mac OS all
don't. They do all have the POSIX 2008 strnlen(3), which is the same function
with a different name, but an earlier change deliberately replaced a call to
strnlen(3) with the current hand-written unoptimized implementation.

Bug: http://b/32019064
Test: builds
Change-Id: I4b5516b6438fe8ef3425c54d2bcddbdbb09b1814

7 years agoBugfix: use normalized coords in glsl sampler tests
Maciej Jesionowski [Thu, 6 Oct 2016 10:23:23 +0000 (12:23 +0200)]
Bugfix: use normalized coords in glsl sampler tests

Modified tests:
- dEQP-VK.glsl.opaque_type_indexing.sampler.*

Fixes #505

Change-Id: Ie7c7f48276b52bcce3cb8ac41914398b669fe5ae

7 years agoMerge aosp/upstream-vulkan-cts-1.0-dev into aosp/master
Pyry Haulos [Thu, 29 Sep 2016 21:13:52 +0000 (14:13 -0700)]
Merge aosp/upstream-vulkan-cts-1.0-dev into aosp/master

Change-Id: I0a9fb821325ade846a4fd77e6bc54ed315892f42

7 years agoStart a new mustpass for 1.0.2 and archive 1.0.1
Pyry Haulos [Wed, 28 Sep 2016 21:27:28 +0000 (14:27 -0700)]
Start a new mustpass for 1.0.2 and archive 1.0.1

Change-Id: I7519c1d5862885be08dd203c620037f9593c66b9

7 years agoAdd VK_INCOMPLETE result code tests
Maciej Jesionowski [Mon, 19 Sep 2016 09:15:31 +0000 (11:15 +0200)]
Add VK_INCOMPLETE result code tests

New tests:
- dEQP-VK.wsi.*.swapchain.get_images.incomplete

Modified tests:
- dEQP-VK.api.info.instance.physical_devices
- dEQP-VK.api.info.instance.layers
- dEQP-VK.api.info.instance.extensions
- dEQP-VK.api.info.device.layers
- dEQP-VK.api.info.device.extensions
- dEQP-VK.wsi.*.surface.query_formats
- dEQP-VK.wsi.*.surface.query_present_modes

Fixes #495

Change-Id: I1b493acf2df3039705e3d404c2cdcbb084495f33

7 years agoTest copying data between buffers and images
Szilard Ledan [Wed, 24 Aug 2016 16:04:02 +0000 (18:04 +0200)]
Test copying data between buffers and images

Add new tests to vkCmdCopyBufferToImage

Add two new tests for testing vkCmdCopyImageToBuffer.
Fix one existing test.  The test's description and it's
behaviour didn't match.

Change-Id: I5a2da940c1b6e285954ae39f8bb77d6138053bdd

7 years agoAdd VK_NULL_HANDLE destroy/free tests
Maciej Jesionowski [Fri, 16 Sep 2016 11:07:28 +0000 (13:07 +0200)]
Add VK_NULL_HANDLE destroy/free tests

New tests:
- dEQP-VK.api.null_handle.*
- dEQP-VK.wsi.*.surface.destroy_null_handle
- dEQP-VK.wsi.*.swapchain.destroy.null_handle

Fixes #493

Change-Id: I44541b4d1b44ed8da2ba23e5ae9ba1106ee2c015

7 years agoMerge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev
Pyry Haulos [Thu, 29 Sep 2016 19:25:08 +0000 (12:25 -0700)]
Merge gerrit/vulkan-cts-1.0.1 into gerrit/vulkan-cts-1.0-dev

Change-Id: Ia7127ed7764c5276a32388ab2bba024d54dfea5b

7 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 29 Sep 2016 19:25:06 +0000 (12:25 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I23cda772fc12dc44429c6a8b69cb2896b442c285

7 years agoRemove use of alloc recorder from descriptor_pool.repeated_reset
Pyry Haulos [Tue, 27 Sep 2016 23:01:53 +0000 (16:01 -0700)]
Remove use of alloc recorder from descriptor_pool.repeated_reset

Recording all allocations can take considerable amount of memory and it
appears that the tests just log the total memory usage and don't
otherwise need or check it.

Fixes #472

Change-Id: Ic8804b6781329a03e42fc481c0d430151b60ca88

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

7 years agoblit_image: compute validation threshold based on I/O formats
Lionel Landwerlin [Tue, 9 Aug 2016 12:13:27 +0000 (13:13 +0100)]
blit_image: compute validation threshold based on I/O formats

Whereas dEQP-GLES3.functional.fbo.blit.conversion.rgb565_to_rgba32f is
passing on my Haswell machine,
dEQP-VK.api.copy_and_blit.blit_image.all_formats.r5g6b5_unorm_pack16_r32g32b32a32_sfloat_linear
is failing. It seems the criteria is different between the 2 tests. This
change puts the vulkan tests a bit closer to the GLES3 ones.

Change-Id: I4e4879270baaf707e71de030b916ea49ee0f65ba

7 years agoFix VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT handling in query tests
Pyry Haulos [Mon, 26 Sep 2016 16:04:55 +0000 (09:04 -0700)]
Fix VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT handling in query tests

83f90be9 added a check that was intended to make tests treat combination
of TRANSIENT_ATTACHMENT_BIT with non-RT usages invalid. However, that
change was buggy and lead the tests to treat _all_ usages of
TRANSIENT_ATTACHMENT_BIT invalid and thus skip testing them.

Change-Id: I512fbea6046a5c1a87e2ea957eebe38ac713ac87

7 years agoRemove a few preprocessor cases testing undefined behavior
Pyry Haulos [Thu, 29 Sep 2016 17:11:52 +0000 (10:11 -0700)]
Remove a few preprocessor cases testing undefined behavior

Bug: 27126954
Change-Id: I1ee7ca0c0102b6273b1bc165b3d1ad24cee449e2

7 years agoFix incorrect limits in device properties test
Maciej Jesionowski [Tue, 27 Sep 2016 11:09:32 +0000 (13:09 +0200)]
Fix incorrect limits in device properties test

- alignment/offset type limits must be greater than 0
- nonCoherentAtomSize must be in range [1, 256] (the upper limit was
  relaxed with spec update 1.0.27
- point sizes and line widths must be positive

Modified test:
- dEQP-VK.api.info.device.properties

Fixes #502

Change-Id: I98a956d1cea741dd6d787415a0ad91178ffa0abf