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

8 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

8 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

8 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)

8 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

8 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

8 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)

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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)

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 years agoFix license header on a few Vulkan CTS files
Pyry Haulos [Mon, 26 Sep 2016 21:23:26 +0000 (14:23 -0700)]
Fix license header on a few Vulkan CTS files

Change-Id: If640754e1581f15e933c118338d835c18c0d7b77

8 years agoMerge "Build fix for the Glx platform" into vulkan-cts-1.0.1
Pyry Haulos [Fri, 23 Sep 2016 19:21:37 +0000 (15:21 -0400)]
Merge "Build fix for the Glx platform" into vulkan-cts-1.0.1

8 years agoBuild fix for the Glx platform
Kristof Kosztyo [Fri, 23 Sep 2016 08:48:01 +0000 (10:48 +0200)]
Build fix for the Glx platform

Change-Id: I9f3e0254c289c015f61570f71215900e0ab9bfd9

8 years agoFix clip_volume test drawing points
Petros Bantolas [Tue, 20 Sep 2016 08:45:03 +0000 (09:45 +0100)]
Fix clip_volume test drawing points

According to spec, "[...] if no value was written to PointSize, results
are undefined".

Modified tests:
- dEQP-VK.clipping.clip_volume.{inside,outside,depth_clamp}.point_list
- dEQP-VK.clipping.clip_volume.clipped.large_points

Change-Id: I06ed228a9e4563df15801ff402ed5eac946ac9a6

8 years agoValidate KHR extensions reported by the driver
Pyry Haulos [Mon, 19 Sep 2016 20:45:45 +0000 (13:45 -0700)]
Validate KHR extensions reported by the driver

Change-Id: I30f1c86cd0b4db63b7adf0860cfbc32a0d8b75ee

8 years agoAdded xcb and xlib platform support for Vulkan
Arkadiusz Sarwa [Wed, 24 Aug 2016 12:43:23 +0000 (14:43 +0200)]
Added xcb and xlib platform support for Vulkan

Fixes #390

Change-Id: I650838665f630c794f4667f518713a7ae87c8955

8 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 22 Sep 2016 19:13:36 +0000 (12:13 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: Idcc42afbec63aa6463be09e87dc57247275c6818

8 years agoMerge "Fix barrier stage masks in synchronization tests" into vulkan-cts-1.0.1
Pyry Haulos [Thu, 22 Sep 2016 19:12:53 +0000 (15:12 -0400)]
Merge "Fix barrier stage masks in synchronization tests" into vulkan-cts-1.0.1

8 years agodEQP-VK.dynamic_state tests: fix sizeof(size) bug
Slawomir Cygan [Thu, 22 Sep 2016 14:33:02 +0000 (16:33 +0200)]
dEQP-VK.dynamic_state tests: fix sizeof(size) bug

Change-Id: I7e90b30a88bb59bbe73fec00ecb8ce0fd92ac1f0

8 years agoMerge "Remove invalid precision qualifier usage" into vulkan-cts-1.0.1
Pyry Haulos [Tue, 20 Sep 2016 22:48:44 +0000 (18:48 -0400)]
Merge "Remove invalid precision qualifier usage" into vulkan-cts-1.0.1

8 years agoRemove invalid precision qualifier usage
Pyry Haulos [Tue, 20 Sep 2016 22:11:11 +0000 (15:11 -0700)]
Remove invalid precision qualifier usage

dEQP-VK.pipeline.vertex_input tests were incorrectly using highp
qualifier with double types. That is not allowed, and default precision
in GLSL 4.4 shaders is highp anyway.

Fixes #458

Change-Id: I4b17b2273a8bf258bb8aec5737bd1c2a38aa49ce

8 years agoDo not use pointer value after deleting it
Pyry Haulos [Tue, 20 Sep 2016 21:47:29 +0000 (14:47 -0700)]
Do not use pointer value after deleting it

Pointer value is undefined after 'delete'.

Change-Id: I30dab519db61073932e3e35cd87809bf89b18dfc

8 years agoFix barrier stage masks in synchronization tests
Vidar Lilleboe [Fri, 16 Sep 2016 11:21:02 +0000 (13:21 +0200)]
Fix barrier stage masks in synchronization tests

Fixes #497

Change-Id: I225344335a13b0347cf6ad34e38c3f0a181d41cd

8 years agoMerge "Fixes sparse_resources.shader_intrinsics.* tests to check for device feature...
Pyry Haulos [Tue, 30 Aug 2016 16:02:18 +0000 (12:02 -0400)]
Merge "Fixes sparse_resources.shader_intrinsics.* tests to check for device feature support." into vulkan-cts-1.0.1

8 years agoMerge "Run the memory tests ahead of all other tests" into vulkan-cts-1.0.1
Pyry Haulos [Tue, 30 Aug 2016 16:01:59 +0000 (12:01 -0400)]
Merge "Run the memory tests ahead of all other tests" into vulkan-cts-1.0.1

8 years agoFixes sparse_resources.shader_intrinsics.* tests to check for device feature support.
Petros Bantolas [Fri, 26 Aug 2016 14:25:45 +0000 (15:25 +0100)]
Fixes sparse_resources.shader_intrinsics.* tests to check for device feature support.

Change-Id: Ie3461ae4ec32b1f431b21ba7c6f453bde70834c7

8 years agoUpdate Android build dependencies in README.md
Pyry Haulos [Mon, 29 Aug 2016 21:35:51 +0000 (14:35 -0700)]
Update Android build dependencies in README.md

Change-Id: If159d4b4312183063a0d55483c1383197807eac1

8 years agoRun the memory tests ahead of all other tests
Mais Alnasser [Mon, 29 Aug 2016 16:54:16 +0000 (12:54 -0400)]
Run the memory tests ahead of all other tests

Other tests don't attempt to allocate that much memory and probably
don't care about fragmentation as much. This would reduce the
possibility of running into out-of-memory 32-bit issues at a later
point in the development of the CTS.

This change also updates the mustpass lists.

Change-Id: I4484e5a775fcf7efa39149f1e53eb049024a77da

8 years agoAdd /LARGEADDDRESSAWARE linker flag for MSVC
Piers Daniell [Thu, 25 Aug 2016 18:10:01 +0000 (12:10 -0600)]
Add /LARGEADDDRESSAWARE linker flag for MSVC

This allows 32-bit CTS to run to the end on Windows 32-bit platforms.

Change-Id: Iaec4efcddeb5e1248651fc2d1a1401dbb94bbaf7

8 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 25 Aug 2016 16:36:49 +0000 (09:36 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I9b5283a65a5b1cb1f9d34e98a916c73c9d5000ca

8 years agoMerge "Revert "Revert CUBE_COMPATIBLE flag check from "Fix required sample count...
Pyry Haulos [Thu, 25 Aug 2016 16:13:33 +0000 (12:13 -0400)]
Merge "Revert "Revert CUBE_COMPATIBLE flag check from "Fix required sample count tests""" into vulkan-cts-1.0.0

8 years agoRevert "Revert CUBE_COMPATIBLE flag check from "Fix required sample count tests""
Pyry Haulos [Thu, 25 Aug 2016 16:05:25 +0000 (12:05 -0400)]
Revert "Revert CUBE_COMPATIBLE flag check from "Fix required sample count tests""

This reverts commit 1106b0194f7571aebfdf76766760d91be772d8e7.

Fixes #440

Change-Id: Icdb5f71cd87b970edd1bf1770b4a0c15418f600b

8 years agoFix for #474. Add Vertex ordering and Spacing to tessellation shaders.
Andrew Woloszyn [Thu, 25 Aug 2016 14:01:18 +0000 (10:01 -0400)]
Fix for #474. Add Vertex ordering and Spacing to tessellation shaders.

Change-Id: I33760e0f23e6b8489e38cb93ad00e3483dc73d16

8 years agoIssue 479: Remove VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
Alexander Galazin [Thu, 25 Aug 2016 10:32:42 +0000 (12:32 +0200)]
Issue 479: Remove VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT

dEQP-VK.glsl.texture_gather.basic.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat unconditionally creates a VkImage with VK_FORMAT_D32_SFLOAT and VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT which is optional.
However that the test does not really need VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT because the image is not used as D/S attachment, but as SAMPLED and TRANSFER.

Change-Id: Ia8a9fe62b3f6e0cf4635e25b33f1f79e2538ba3f

8 years agoFix parameter order for OpVectorTimesScalar.
Lei Zhang [Tue, 23 Aug 2016 18:18:14 +0000 (14:18 -0400)]
Fix parameter order for OpVectorTimesScalar.

The spec requires that the first parameter to OpVectorTimesScalar
must be of vector type, and the second of scalar type.

Change-Id: Ib4bb41bfc237efd000e48e21c2521ec616be35a5

8 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Mon, 22 Aug 2016 19:48:36 +0000 (12:48 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I70aadacf71364b934cb0340752176490b65d637d

8 years agoMerge "Limit maximum allocation size in memory mapping tests" into vulkan-cts-1.0.1
Pyry Haulos [Mon, 22 Aug 2016 19:47:03 +0000 (15:47 -0400)]
Merge "Limit maximum allocation size in memory mapping tests" into vulkan-cts-1.0.1

8 years agoLimit maximum allocation size in memory mapping tests
Pyry Haulos [Fri, 19 Aug 2016 12:20:38 +0000 (13:20 +0100)]
Limit maximum allocation size in memory mapping tests

Fixes also ReferenceMemory::m_flushed memory usage counting when
estimating reference memory usage (size should be divided by atomSize).

Fixes #468

Change-Id: Iad754e211e8070b09254d2451e03418fc2be541b

8 years agoCheck for imageCubeArray feature in image and image_view tests
Yanjun Zhang [Fri, 19 Aug 2016 13:00:26 +0000 (14:00 +0100)]
Check for imageCubeArray feature in image and image_view tests

Fixes #466

Change-Id: I8fcf807f99eaabdff293efac001b288b67b55cc9

8 years agoUpdate Vulkan CTS readme for 1.0.1
Pyry Haulos [Thu, 18 Aug 2016 11:00:13 +0000 (12:00 +0100)]
Update Vulkan CTS readme for 1.0.1

Change-Id: I191ebf2b7937c16d796a47534c7c6f2c27c00973

8 years agoFix image layout in pipeline barrier tests
Mika Isojärvi [Wed, 15 Jun 2016 18:42:36 +0000 (11:42 -0700)]
Fix image layout in pipeline barrier tests

(cherry picked from commit a80919a57ef8137712259273c18de0663cc724a0)

Change-Id: I59a6a1facd9348c949f78f808075a0377c1bfe9a

8 years agodEQP-VK.sparse_resources: Fixed VkBufferImageCopy buffer offset alignment issue
Petros Bantolas [Mon, 18 Jul 2016 08:12:08 +0000 (09:12 +0100)]
dEQP-VK.sparse_resources: Fixed VkBufferImageCopy buffer offset alignment issue

Fixes #433

Change-Id: I34a416670789979e967281d0ede406dd871862bc

8 years agoDo not check include guards in iOS porting files
Pyry Haulos [Tue, 16 Aug 2016 10:38:35 +0000 (12:38 +0200)]
Do not check include guards in iOS porting files

Change-Id: I0c67290322eb36bbc9287145cbbaea22f405d29c

8 years agoFix whitespace issues in other text files
Pyry Haulos [Tue, 16 Aug 2016 10:35:51 +0000 (12:35 +0200)]
Fix whitespace issues in other text files

Change-Id: Idab51b62589b9702d307022b0952a887bae263af

8 years agoFix merged <space><tab> in C/C++ files
Pyry Haulos [Tue, 16 Aug 2016 10:23:58 +0000 (12:23 +0200)]
Fix merged <space><tab> in C/C++ files

Change-Id: Ice7c1ae46a88c941c5834f9d34fcd4822c30debc

8 years agoFix trailing whitespace and include guards
Pyry Haulos [Tue, 16 Aug 2016 10:22:39 +0000 (12:22 +0200)]
Fix trailing whitespace and include guards

Change-Id: If9cf0f5b43ad668243033f7e7c04319c4fcd804d

8 years agoMerge "Fix typos in pipeline.cache test case names" into vulkan-cts-1.0.1
Pyry Haulos [Fri, 12 Aug 2016 17:44:23 +0000 (13:44 -0400)]
Merge "Fix typos in pipeline.cache test case names" into vulkan-cts-1.0.1

8 years agoFix typos in pipeline.cache test case names
Pyry Haulos [Thu, 11 Aug 2016 21:21:38 +0000 (14:21 -0700)]
Fix typos in pipeline.cache test case names

Change-Id: I7715bbd7bd21db4e6b1509d927fc087926253136

8 years agoFix race condition in qpTestLog debug asserts
Pyry Haulos [Thu, 11 Aug 2016 19:44:33 +0000 (12:44 -0700)]
Fix race condition in qpTestLog debug asserts

Code should be holding log mutex when checking state of internal data
structure.

Change-Id: I01f8aa851407c58813880a73c13f1966fdb1a2d1

8 years agoDo not log SPIR-V assembly when logging of shaders is disabled
Pyry Haulos [Thu, 11 Aug 2016 19:44:33 +0000 (12:44 -0700)]
Do not log SPIR-V assembly when logging of shaders is disabled

Fixes #461

Change-Id: I64aa8eb405db85d15aea663f6daba69279d5c6c8

8 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 11 Aug 2016 18:43:38 +0000 (11:43 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: I64e15e4126afc4dde5dc95e6d766f95b6f04e30e

8 years agoRevert CUBE_COMPATIBLE flag check from "Fix required sample count tests"
Slawomir Cygan [Thu, 11 Aug 2016 12:34:37 +0000 (14:34 +0200)]
Revert CUBE_COMPATIBLE flag check from "Fix required sample count tests"

Spec does not say CUBE_COMPATIBLE flag forces
vkGetPhysicalDeviceImageFormatProperties to return sample count equal
to 1, so the flag should be irrelevant for sample count check.

Fixes #440
This partially reverts 8753a9e7528ca67b25bfabb4f03915a25721a690.

Change-Id: Ic4005cb0a651f433ff421eab671fb013561c78c4

8 years agoMerge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1
Pyry Haulos [Thu, 11 Aug 2016 00:51:46 +0000 (17:51 -0700)]
Merge gerrit/vulkan-cts-1.0.0 into gerrit/vulkan-cts-1.0.1

Change-Id: Ice2ae0c69dc296fcf2b2e75f1647c18798387a35

8 years agoMerge "Remove OpFUnord* tests from mustpass" into vulkan-cts-1.0.1
Pyry Haulos [Wed, 10 Aug 2016 18:26:47 +0000 (14:26 -0400)]
Merge "Remove OpFUnord* tests from mustpass" into vulkan-cts-1.0.1

8 years agoAdd .editorconfig
Pyry Haulos [Tue, 9 Aug 2016 20:19:35 +0000 (13:19 -0700)]
Add .editorconfig

Github uses tab width from .editorconfig when displaying code.

Change-Id: I9dcbe192ca21d7606a6ae56c747acd271562358c

8 years agoFix image layout in pipeline barrier tests
Mika Isojärvi [Wed, 15 Jun 2016 18:42:36 +0000 (11:42 -0700)]
Fix image layout in pipeline barrier tests

(cherry picked from commit a80919a57ef8137712259273c18de0663cc724a0)

Change-Id: Id12a18d68376056f8914eaca7774e976b493aa10

8 years agoRemove OpFUnord* tests from mustpass
Pyry Haulos [Mon, 8 Aug 2016 16:43:45 +0000 (09:43 -0700)]
Remove OpFUnord* tests from mustpass

There's open spec issue about NaN handling in these instructions.

See #426

Change-Id: I97613857c72f80171b1c6b0cfecd6d564f1c2149

8 years agoUpdate Android CTS mustpass
Pyry Haulos [Mon, 8 Aug 2016 21:58:56 +0000 (14:58 -0700)]
Update Android CTS mustpass

This brings Android CTS mustpass files up-to-date with latest test case
renames.

Change-Id: I436bf70fb685d538b79fb0cb86e9fc1883ee929c

8 years agoHarmonize test case names
Pyry Haulos [Mon, 8 Aug 2016 21:39:54 +0000 (14:39 -0700)]
Harmonize test case names

 * Avoid camel case and uppercase
 * Use more common abbreviations

Change-Id: Ica9a3936be96a72ec410d3673d5c6a2dd9e32c44

8 years agoRemove mustpass XML files not used by Vulkan CTS
Pyry Haulos [Mon, 8 Aug 2016 21:37:48 +0000 (14:37 -0700)]
Remove mustpass XML files not used by Vulkan CTS

Change-Id: I48e43f604c296baebdad5a25c3d7a723bfddb0f0

8 years agoMerge "Check and enable VK_KHR_sampler_mirror_clamp_to_edge" into vulkan-cts-1.0.1
Pyry Haulos [Mon, 8 Aug 2016 18:58:59 +0000 (14:58 -0400)]
Merge "Check and enable VK_KHR_sampler_mirror_clamp_to_edge" into vulkan-cts-1.0.1

8 years agoFix VkDeviceSize -> size_t implicit conversion warning
Pyry Haulos [Mon, 8 Aug 2016 18:12:18 +0000 (11:12 -0700)]
Fix VkDeviceSize -> size_t implicit conversion warning

Change-Id: Id1742b7830e12799948bf635412974df17b9bce4

8 years agoCheck and enable VK_KHR_sampler_mirror_clamp_to_edge
Pyry Haulos [Mon, 8 Aug 2016 18:08:47 +0000 (11:08 -0700)]
Check and enable VK_KHR_sampler_mirror_clamp_to_edge

Several tests in dEQP-VK.pipeline group assume that
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE mode is supported. Spec
actually requires that VK_KHR_sampler_mirror_clamp_to_edge is enabled if
that mode is used.

This change enables VK_KHR_sampler_mirror_clamp_to_edge in default
device, if supported, and adds relevant checks in the test code.

In the future we'll want to clean this up by giving test cases more
control about the device configuration they need.

Fixes #339

Change-Id: Ib264c4f2fb147271c9c09d6286f4a26dd175f493

8 years agoFix api.buffer.* tests to use sparse capable queue instead the default.
Gabor Abraham [Mon, 25 Jul 2016 15:28:05 +0000 (17:28 +0200)]
Fix api.buffer.* tests to use sparse capable queue instead the default.

8 years agoFix accidental disabling of ASTC decoding internal test
Pyry Haulos [Thu, 4 Aug 2016 19:47:26 +0000 (12:47 -0700)]
Fix accidental disabling of ASTC decoding internal test

8 years agoDo not allocate large objects unnecessarily in static memory
Pyry Haulos [Thu, 4 Aug 2016 18:36:15 +0000 (11:36 -0700)]
Do not allocate large objects unnecessarily in static memory

8 years agoFix memory leaks in pipeline cache tests
Pyry Haulos [Thu, 4 Aug 2016 18:35:33 +0000 (11:35 -0700)]
Fix memory leaks in pipeline cache tests

8 years agoFix tcu::Resource leak in draw and dynamic_state tests
Pyry Haulos [Thu, 4 Aug 2016 18:34:52 +0000 (11:34 -0700)]
Fix tcu::Resource leak in draw and dynamic_state tests

8 years agoFix failing assert in copies and blitting tests
Pyry Haulos [Thu, 4 Aug 2016 18:34:25 +0000 (11:34 -0700)]
Fix failing assert in copies and blitting tests

8 years agoAdd note why command buffers are not freed individually
Pyry Haulos [Thu, 4 Aug 2016 18:34:01 +0000 (11:34 -0700)]
Add note why command buffers are not freed individually

8 years agoSkip testing int lookups for fp32/fp64 formats in internal tests
Pyry Haulos [Thu, 4 Aug 2016 18:32:59 +0000 (11:32 -0700)]
Skip testing int lookups for fp32/fp64 formats in internal tests

Overflow in float->int conversion is undefined and results vary between
tested CPUs.

8 years agoDisallow decoding ASTC sRGB formats in HDR mode
Pyry Haulos [Thu, 4 Aug 2016 18:29:52 +0000 (11:29 -0700)]
Disallow decoding ASTC sRGB formats in HDR mode

sRGB is not supported in HDR mode

8 years agoFix out-of-bounds memory accesses in ASTC decoder
Pyry Haulos [Thu, 4 Aug 2016 18:28:13 +0000 (11:28 -0700)]
Fix out-of-bounds memory accesses in ASTC decoder

interpolateWeights() was accessing weights outside weight grid bounds.
This resulted in valgrind errors even though values did not contribute
to result colors due to having zero-valued weights.

8 years agoImprove Vulkan null driver
Pyry Haulos [Thu, 4 Aug 2016 18:25:51 +0000 (11:25 -0700)]
Improve Vulkan null driver

 * Implement VkCommandPool/VkCommandBuffer lifetime management
correctly.

 * Return sensible values for device feature and limit queries to allow
more tests to run.

8 years agoUpdate framework to match vulkan.h at 15aa048
Pyry Haulos [Tue, 2 Aug 2016 18:11:49 +0000 (11:11 -0700)]
Update framework to match vulkan.h at 15aa048

8 years agoFix continue target in graphics block order tests
David Neto [Fri, 29 Jul 2016 20:35:12 +0000 (16:35 -0400)]
Fix continue target in graphics block order tests

Fixes validation of shaders in:
    dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order_vert
    dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order_tessc
    dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order_tesse
    dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order_geom
    dEQP-VK.spirv_assembly.instruction.graphics.selection_block_order.out_of_order_frag
    dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_vert
    dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_tessc
    dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_tesse
    dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_geom
    dEQP-VK.spirv_assembly.instruction.graphics.switch_block_order.out_of_order_frag
    dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_vert
    dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_tessc
    dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_tesse
    dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_geom
    dEQP-VK.spirv_assembly.instruction.graphics.opphi.out_of_order_frag

Fixes https://gitlab.khronos.org/vulkan/vulkancts/issues/443

8 years agoFix block order vs. dominance
David Neto [Fri, 29 Jul 2016 20:00:22 +0000 (16:00 -0400)]
Fix block order vs. dominance

The OpSwitch must dominate its merge block.  It also must dominate
%case1.

Fixes https://gitlab.khronos.org/vulkan/vulkancts/issues/442

8 years agoFix SPIR-V continue construct dominance
David Neto [Fri, 29 Jul 2016 16:11:33 +0000 (12:11 -0400)]
Fix SPIR-V continue construct dominance

Fix structured control flow validation problems in
dEQP-VK.spirv_assembly.instruction.compute.loop_control.*

Fixes https://gitlab.khronos.org/vulkan/vulkancts/issues/441

8 years agoFix required sample count tests
Nanley Chery [Tue, 19 Apr 2016 19:13:58 +0000 (12:13 -0700)]
Fix required sample count tests

According to,

   Table 11.1. Image and image view parameter compatibility requirements

Only non-cube images with type VK_IMAGE_TYPE_2D can have sample counts
greater than one.

In addition, the following properties should hold for multisampled
images: the formats must support being used in a color or depth/stencil
attachment, or in a storage image when shaderStorageImageMultisample is
supported. Images not fitting the above descriptions may have a sample
count of one or zero (in error conditions). Align tests for sample
counts to this behavior.

(cherry picked from commit dc4227d5ec87080f5dad810b5e33ae3b3fa014a4)

8 years agoShaderRender tests: do not use copyBufferToImage on MS Images
Slawomir Cygan [Fri, 22 Jul 2016 15:05:53 +0000 (17:05 +0200)]
ShaderRender tests: do not use copyBufferToImage on MS Images

This is forbidden by spec:

```
dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT
```

Instead image is cleared, and provided `textureData` ignored.

This fixes:
```
dEQP-VK.glsl.texture_functions.query.texturesamples.isampler2dms_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.isampler2dms_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.isampler2dmsarray_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.isampler2dmsarray_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dms_fixed_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dms_fixed_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dms_float_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dms_float_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dmsarray_fixed_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dmsarray_fixed_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dmsarray_float_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.sampler2dmsarray_float_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.usampler2dms_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.usampler2dms_vertex
dEQP-VK.glsl.texture_functions.query.texturesamples.usampler2dmsarray_fragment
dEQP-VK.glsl.texture_functions.query.texturesamples.usampler2dmsarray_vertex
```

Fixes issue #430

8 years agodEQP-VK.image: group some test cases together
Maciej Jesionowski [Mon, 25 Jul 2016 11:55:33 +0000 (13:55 +0200)]
dEQP-VK.image: group some test cases together

8 years agoStrip debug info from SPIR-V binaries
Pyry Haulos [Thu, 21 Jul 2016 21:38:04 +0000 (14:38 -0700)]
Strip debug info from SPIR-V binaries

This requires updating glslang to fix ID remapping problem in SPIR-V
remapper.

Fixes #391

8 years agoValidation fix in dEQP-VK.api.command_buffers.*
Maciej Jesionowski [Fri, 22 Jul 2016 14:58:28 +0000 (16:58 +0200)]
Validation fix in dEQP-VK.api.command_buffers.*

- use correct stage masks with vkCmdWaitEvents
- set reserved flags to 0 in VkQueryPoolCreateInfo
- use non-zero srcStageMask with vkCmdPipelineBarrier