platform/upstream/VK-GL-CTS.git
7 years agoMerge Vulkan CTS 1.0.2.2 into aosp/master
Pyry Haulos [Fri, 31 Mar 2017 21:12:43 +0000 (14:12 -0700)]
Merge Vulkan CTS 1.0.2.2 into aosp/master

Bug: 36780905

New tests:

 * Add tests for VK_KHR_incremental_present
 * Add tests for VK_GOOGLE_display_timing
 * Handle VK_EXT_swapchain_colorspace in swapchain tests

Fixes:

 * Imgtec Waiver for SNORM linear filtering
 * Check DynamicIndexing in pipeline.image count tests
 * Add missing barrier in synchronization tests
 * Fix invalid SPIR-V in dEQP-VK.sparse_resources
 * Add missing flushes for basic draws
 * Add missing flushes for indirect draws
 * Fix precision mismatch issues in dEQP-VK.glsl
 * Fix validation errors in dEQP-VK.tessellation
 * Fix precision mismatch in dEQP-VK.binding_model
 * Fix depth stencil aspect flag in render pass input tests
 * Fix image layout in dEQP-VK.image
 * Fix validation errors in dEQP-VK.geometry
 * Fix issues in pipeline.timestamp.transfer_tests
 * Refactor vktShaderExecutor
 * Improve precision handling in texture.explicit_lod
 * Fix a compilation error on GCC 5.4
 * Fix a compilation error on MSVC12
 * Fix bug in reallocation callback validation
 * Fix input attachment layout in renderpass tests

Change-Id: I76a768de047020d4624afa0aee2232e9e022f8d2

7 years agoMerge "Update runtime hints for master and Nougat"
Treehugger Robot [Thu, 30 Mar 2017 21:07:26 +0000 (21:07 +0000)]
Merge "Update runtime hints for master and Nougat"

7 years agoRevert "Allow old behavior in image format property tests"
Pyry Haulos [Thu, 30 Mar 2017 19:11:43 +0000 (12:11 -0700)]
Revert "Allow old behavior in image format property tests"

This reverts commit a25304112b0a3dba4082a1e7904b4f8149b2b9c8.

7 years agoUpdate runtime hints for master and Nougat
Kalle Raita [Thu, 30 Mar 2017 18:15:44 +0000 (11:15 -0700)]
Update runtime hints for master and Nougat

Update runtime hints used by the Android CTS to reflect measured times
for recent automated runs.

Test: run build_android_mustpass.py and diff check
Bug: 36776549
Change-Id: I77b0e95666ca6e220b2a618280fcece0b1c3a858

7 years agoFix tests in dEQP-EGL.functional.robustness*
James Glanville [Wed, 22 Mar 2017 14:02:48 +0000 (14:02 +0000)]
Fix tests in dEQP-EGL.functional.robustness*

The shader storage buffer used for compute was not
correctly bound. This caused glDispatchCompute()
to return an error instead of submitting work, so
the context would never reset.

Affects:
dEQP-EGL.functional.robustness*compute
Components: AOSP
Google bug: 36565815

Change-Id: I4fb807b49ab806c7de968b54b8e5fd5abfd87fcd
(cherry picked from commit a7a065346ffe38a895c461b638f2c6377cbd7bcf)

7 years agoFix GL entry point loading in robustness tests
Pyry Haulos [Thu, 23 Mar 2017 21:00:44 +0000 (14:00 -0700)]
Fix GL entry point loading in robustness tests

Tests were not loading robustness-related entry points if implementation
supported only GL_EXT_robustness and thus had EXT-suffixed entry points.

Bug: 36564789
Bug: 34887315
Change-Id: I70e610dd3083e7c09050e24ef829c71f950d82a1

7 years agoAdd tests for VK_KHR_incremental_present
Mika Isojärvi [Mon, 14 Nov 2016 20:47:29 +0000 (12:47 -0800)]
Add tests for VK_KHR_incremental_present

VK-GL-CTS issue: 228

Change-Id: Ib295de6e449fce56b1f94f2e80a9de52faa56a11
(cherry picked from commit 5319ab26dd8586121adfcc98bcd9f907a5a21aac)

7 years agoHandle VK_EXT_swapchain_colorspace in swapchain tests
Pyry Haulos [Wed, 15 Mar 2017 17:24:15 +0000 (10:24 -0700)]
Handle VK_EXT_swapchain_colorspace in swapchain tests

VK_EXT_swapchain_colorspace adds new surface formats. Driver can enumerate
the formats regardless of whether VK_EXT_swapchain_colorspace was enabled,
but using them without enabling the extension is not allowed. Thus we have
two options:

1) Filter out non-core formats to stay within valid usage.

2) Enable VK_EXT_swapchain colorspace if advertised by the driver.

We opt for (2) as it provides basic coverage for the extension as a bonus.

Affects: dEQP-VK.wsi.*.swapchain.*
Components: Vulkan
VK-GL-CTS issue: 237

Change-Id: I5f905e5fb7ceaf83dacca57ef60d65487ff96d5d
(cherry picked from commit 703e4baead3c08331ee7604539d7a68a8b960c84)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 23 Mar 2017 16:47:05 +0000 (09:47 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I73deeb16880948addabb1d8755ee00084aa346cf

7 years agoImgtec Waiver for SNORM linear filtering
Pyry Haulos [Thu, 16 Mar 2017 21:50:40 +0000 (14:50 -0700)]
Imgtec Waiver for SNORM linear filtering

Due to an error in bit replication of the fixed point SNORM values,
linear filtered negative SNORM values will differ slightly from ideal
precision in the last bit, moving the values towards 0.

This occurs on all members of the PowerVR Rogue family of GPUs

Affected tests are changed to allow for larger error and issue
QualityWarning when inaccurate results are found.

Affects:

dEQP-VK.pipeline.sampler.view_type*format*_snorm*_filter.linear

Components: Vulkan

VK-GL-CTS issue: 229

Change-Id: I59fa0f7acdcaa49fc84f17b22be1cc805da593a2

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 23 Mar 2017 16:28:51 +0000 (09:28 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I3c3914cc9fe22c4815b3261c9b0fbcf1e184316b

7 years agoCheck DynamicIndexing in pipeline.image count tests
Alex Walters [Thu, 23 Mar 2017 11:42:50 +0000 (11:42 +0000)]
Check DynamicIndexing in pipeline.image count tests

The pipeline.image.sampling_type*count_* tests where the count of images
is greater than 1 use an array of images/samplers which requires the use
of shaderSampledImageArrayDynamicIndexing, which the test does not
currently check for.

Adds a check and throws NotSupportedError if the feature is not present.

Affects:

dEQP-VK.pipeline.image.sampling_type*count_*

Components: Vulkan

VK-GL-CTS issue: 296

Change-Id: I7b4244bcf4371e41c2121812362db166dc1d4c16

7 years agoAdd missing barrier in synchronization tests
Iago Toral Quiroga [Tue, 21 Mar 2017 11:34:07 +0000 (12:34 +0100)]
Add missing barrier in synchronization tests

The *read_vertex_input* tests write to a storage
buffer in the vertex stage, which will later
be mapped by the host to read and verify the
results. Add a barrier before attemptig to read
the data from the host.

Components: Vulkan
Vk-GL-CTS issue: 266

Affected tests:
dEQP-VK.synchronization.op.single_queue.semaphore.*read_vertex_input*

Change-Id: Ibda3c54aaa0ba82bdb29422aadcf5df90101411d

7 years agoRemove retire event from eglGetFrameTimestamps
Brian Anderson [Fri, 17 Mar 2017 23:18:11 +0000 (16:18 -0700)]
Remove retire event from eglGetFrameTimestamps

This will be removed from the API and transparently
translated to the present event instead.

Test: --deqp-case=dEQP-EGL*get_frame_timestamps*

Change-Id: If33653efcaaca8a701008ccb0e6c9450e2c0e9dc

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Mon, 20 Mar 2017 16:35:30 +0000 (09:35 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I9f1ac0266e8b5f869e70ef3d8eaec9a7481fdef9

7 years agoFix invalid SPIR-V in dEQP-VK.sparse_resources
Andrey Tuganov [Thu, 2 Mar 2017 20:23:02 +0000 (15:23 -0500)]
Fix invalid SPIR-V in dEQP-VK.sparse_resources

Fixed issue:
SPIR-V code generated in
 - vktSparseResourcesShaderIntrinsicsStorage.cpp
 - vktSparseResourcesShaderIntrinsicsSampled.cpp
violates non-aggregate type declaration uniqueness rule of SPIR-V
specification.

Affects: dEQP-VK.sparse_resources.shader_intrinsics.*
Components: Vulkan

VK-GL-CTS issue: 230

Change-Id: Id39663a17684923f37924559917af524cf68f6c0

7 years agoFix warning introduced in 2c9e3ec9 am: 521361d83d
Pyry Haulos [Fri, 17 Mar 2017 12:13:38 +0000 (12:13 +0000)]
Fix warning introduced in 2c9e3ec9 am: 521361d83d
am: 19bf995047

Change-Id: I15737bc9d84ca0c75026de084d77dbfe833d6539

7 years agoFix warning introduced in 2c9e3ec9
Pyry Haulos [Fri, 17 Mar 2017 12:09:41 +0000 (12:09 +0000)]
Fix warning introduced in 2c9e3ec9
am: 521361d83d

Change-Id: I82a9917cb875a166583a41e3d1bb7702ae2d3db8

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 16 Mar 2017 20:26:40 +0000 (13:26 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

7 years agoAdd missing flushes for basic draws
Gary Sweet [Thu, 16 Mar 2017 13:17:39 +0000 (13:17 +0000)]
Add missing flushes for basic draws

Buffers were being mapped and written, but not flushed
before use. This affected the basic draw tests when running
with a non-coherent heap.

Affects:

dEQP-VK.draw.basic_draw.*

Components: Vulkan

VK-GL-CTS issue: 210

Change-Id: Ib0f9b77a3b0cd4488b9dc4cee6ebd6de4840262c

7 years agoAdd missing flushes for indirect draws
Gary Sweet [Thu, 16 Mar 2017 13:26:53 +0000 (13:26 +0000)]
Add missing flushes for indirect draws

Buffers were being mapped and written, but not flushed
before use. This affected the indirect draw tests when running
with a non-coherent heap.

Affects:

dEQP-VK.draw.indirect_draw.*

Components: Vulkan

VK-GL-CTS issue: 210

Change-Id: Ie8920bea727419a1da22b8e2d9babcca2c6593fe

7 years agoFix warning introduced in 2c9e3ec9
Pyry Haulos [Wed, 15 Mar 2017 19:23:06 +0000 (12:23 -0700)]
Fix warning introduced in 2c9e3ec9

Change-Id: I42bef21b2cc7274f107e5455dea1e382d8a419f4
(cherry picked from commit d8b452a7533c195b1328918bb696a819542ff044)

7 years agoFix warning introduced in 2c9e3ec9
Pyry Haulos [Wed, 15 Mar 2017 19:23:06 +0000 (12:23 -0700)]
Fix warning introduced in 2c9e3ec9

Change-Id: I42bef21b2cc7274f107e5455dea1e382d8a419f4

7 years agoMerge "Further relax line verification in primitive bbox tests" into nougat-cts-dev...
Alexander Galazin [Wed, 15 Mar 2017 18:40:38 +0000 (18:40 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev am: 0532365740
am: 468843cf08

Change-Id: I9122ba56c736bdbb628dff8b5b8cc28c9979801f

7 years agoMerge "Further relax line verification in primitive bbox tests" into nougat-cts-dev
Alexander Galazin [Wed, 15 Mar 2017 18:35:35 +0000 (18:35 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev
am: 0532365740

Change-Id: I12be73b76f9ae43955fbca0071f36b897e82f0d9

7 years agoMerge "Further relax line verification in primitive bbox tests" into nougat-cts-dev
Treehugger Robot [Wed, 15 Mar 2017 18:30:21 +0000 (18:30 +0000)]
Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev

7 years agoFix warnings in new EGL tests
Pyry Haulos [Wed, 15 Mar 2017 17:06:30 +0000 (10:06 -0700)]
Fix warnings in new EGL tests

Change-Id: I6d87c0bf5a61dcbb0f292dd7efa6fcb101b7442d

7 years agoUse glReadnPixels only if KHR_robustness is supported am: d99ba132d9
Alexander Galazin [Wed, 15 Mar 2017 15:27:25 +0000 (15:27 +0000)]
Use glReadnPixels only if KHR_robustness is supported am: d99ba132d9
am: d01980d03d

Change-Id: If10695499f41c716416cb4277170529a1f325596

7 years agoUse glReadnPixels only if KHR_robustness is supported
Alexander Galazin [Wed, 15 Mar 2017 15:22:52 +0000 (15:22 +0000)]
Use glReadnPixels only if KHR_robustness is supported
am: d99ba132d9

Change-Id: Icd032ba51a9c2c6141b21083b300e8709ecd7b45

7 years agoAdd tests for VK_GOOGLE_display_timing
Ian Elliott [Sun, 15 Jan 2017 22:28:01 +0000 (14:28 -0800)]
Add tests for VK_GOOGLE_display_timing

New tests:

dEQP-VK.wsi.*.display_timing.*

Changed tests:

dEQP-VK.api.info.android.no_unknown_extensions

VK-GL-CTS issue: 227

Change-Id: I50ae75ee0301668e4ad255625f7098387365def8
(cherry picked from commit 4ca1b5ba618a69f9ab748417c9ac5247d182dff4)

7 years agoMerge "Fix stencil bits when creating reference image in depth stencil tests"
Treehugger Robot [Mon, 13 Mar 2017 19:56:27 +0000 (19:56 +0000)]
Merge "Fix stencil bits when creating reference image in depth stencil tests"

7 years agoFix precision mismatch issues in dEQP-VK.glsl
Pyry Haulos [Thu, 9 Mar 2017 18:55:20 +0000 (10:55 -0800)]
Fix precision mismatch issues in dEQP-VK.glsl

Changed tests:

dEQP-VK.glsl.functions.*
dEQP-VK.glsl.linkage.*
dEQP-VK.glsl.scoping.*
dEQP-VK.glsl.swizzles.*

Removed tests:

dEQP-VK.glsl.linkage.varying.rules.differing_precision_1
dEQP-VK.glsl.linkage.varying.rules.differing_precision_2
dEQP-VK.glsl.linkage.varying.rules.differing_precision_3

VK-GL-CTS issue: 214
Components: Vulkan

Change-Id: I48c7a5573b485340daa5be9db6aab1fbc70a6fc5

7 years agoFix validation errors in dEQP-VK.tessellation
Pyry Haulos [Thu, 9 Mar 2017 21:39:17 +0000 (13:39 -0800)]
Fix validation errors in dEQP-VK.tessellation

This fixes several invalid VkExtent3D::depth values for 2D image
operations as well as couple of interface mismatches.

Changed tests: dEQP-VK.tessellation.*

VK-GL-CTS issue: 222
Components: Vulkan

Change-Id: I3da2de6fdf5df7cb89717e35bade73b43e9d3a7d

7 years agoFix precision mismatch in dEQP-VK.binding_model
Pyry Haulos [Thu, 9 Mar 2017 20:44:57 +0000 (12:44 -0800)]
Fix precision mismatch in dEQP-VK.binding_model

Changed tests:

dEQP-VK.binding_model.shader_access.*vertex*

VK-GL-CTS issue: 212
Components: Vulkan

Change-Id: I34b565329c6261f7a12d19f67451c13537dfd914

7 years agoFix stencil bits when creating reference image in depth stencil tests
Kenneth Graunke [Sat, 11 Mar 2017 17:26:19 +0000 (09:26 -0800)]
Fix stencil bits when creating reference image in depth stencil tests

renderReference expects the number of stencil bits, but we were passing
the number of depth bits.

Affects:
- dEQP-GLES2.functional.fragment_ops.depth_stencil.*
- dEQP-GLES3.functional.fragment_ops.depth_stencil.*

Patch authored by Iago Toral.  See also:
https://bugs.freedesktop.org/show_bug.cgi?id=94455

Change-Id: Id20a4a976c11d5dbe099e0acacc2f7c38dddeb17

7 years agoFix depth stencil aspect flag in render pass input tests
Mika Isojärvi [Thu, 9 Mar 2017 20:33:48 +0000 (12:33 -0800)]
Fix depth stencil aspect flag in render pass input tests

Affected tests:
dEQP-VK.renderpass.* -groups depth and stencil tests

VK-GL-CTS issue: 216
Components: Vulkan

Change-Id: Ib84e42d09e5fea9fbe2f1270c5369b14eb9d688b

7 years agoFix image layout in dEQP-VK.image
Pyry Haulos [Thu, 9 Mar 2017 20:51:24 +0000 (12:51 -0800)]
Fix image layout in dEQP-VK.image

Image load and store ops are only supported in VK_IMAGE_LAYOUT_GENERAL.

Changed tests:

dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*

VK-GL-CTS issue: 217
Components: Vulkan

Change-Id: I2b9048176ce0e79b3d1db8cb36d384c1b4c4c9d4

7 years agoFix validation errors in dEQP-VK.geometry
Pyry Haulos [Thu, 9 Mar 2017 21:45:30 +0000 (13:45 -0800)]
Fix validation errors in dEQP-VK.geometry

Fixes VkExtent3D::depth value as well as interface precision mismatch
issues.

VK-GL-CTS issue: 224
Components: Vulkan

Change-Id: Ida6f3ae2ba73cab3de22090a32a49e54b7af339c

7 years agoFix issues in pipeline.timestamp.transfer_tests
Pyry Haulos [Thu, 9 Mar 2017 17:46:29 +0000 (09:46 -0800)]
Fix issues in pipeline.timestamp.transfer_tests

This change fixes two issues:

 * Buffer overrun in vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer
tests.

 * Validation error (srcStageMask must not be 0).

VK-GL-CTS issue: 185
Components: Vulkan

Change-Id: I9679566f08c4a914eb6066bab248abd6d51e0f7e

7 years agoFurther relax line verification in primitive bbox tests
Alexander Galazin [Mon, 6 Mar 2017 18:44:38 +0000 (19:44 +0100)]
Further relax line verification in primitive bbox tests

The original relaxation patch
ba45591407d0207e8ba0634ea5636fd721ed781f
allowed lines to be 1 pixel thinner or thicker compared
to the expected width. Unfortunately it missed the case
of a line with the width of 1 pixel that has extra verification
in the framework. This change covers this gap.

Google bug: 35987764

Change-Id: I193d76ae13738702c9d7361d1957f15ea7600c4f

7 years agoUse glReadnPixels only if KHR_robustness is supported
Alexander Galazin [Thu, 23 Feb 2017 12:01:18 +0000 (13:01 +0100)]
Use glReadnPixels only if KHR_robustness is supported

glReadnPixels is introduced in KHR_robustness/GLES 3.2.
Use of this function in GLES 3.1 tests will result in segfault
on implementations that don't support KHR_robustness.

Components: AOSP, Framework

Affects: dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_format_mismatch

VK-GL-CTS issue: 166
Google bug: 36122027

Change-Id: Idbe8734f7d82882ea99c75a8b74d693ac6dd831f
(cherry picked from commit 219019495770c221e92f43df3e76a954c613210d)

7 years agoFix typo in dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
Sunny Sun [Fri, 10 Mar 2017 06:46:23 +0000 (14:46 +0800)]
Fix typo in dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*

Change-Id: I1432dbff1db24b0f1dd2c9a297822b4fbdb1aa76

7 years agoRefactor vktShaderExecutor
Pyry Haulos [Wed, 8 Mar 2017 21:05:00 +0000 (13:05 -0800)]
Refactor vktShaderExecutor

ShaderExecutor Vulkan port had several issues:

 * Lifetime of ShaderExecutor was designed to extend from TestCase to
TestInstance. This was done in order to allow generating shader sources at
TestCase and later reuse same object to do actual execution when Vulkan
device was available. Result was total lifetime mess and leak of Vulkan
objects beyond TestInstance lifetime.

 * Whole UniformSetup system was badly designed mess that provided
functionality for just a few tests.

Following cleanups and fixes have been made:

 * ShaderExecutor objects are now expected to be live only when Vulkan
device is available, i.e. only within vkt::TestInstance. Shader source
generation part has been moved into a separate utility.

 * UniformSetup mess is removed and replaced with much leaner and
extensible way to supply additional resources. Descriptor set 1 is
reserved for test case specific resources and those can be provided by
supplying custom descriptor layout and descriptor set. Tests using old
UniformSetup system have been adjusted accordingly.

There is still room for additional improvements, such as moving much of
pipeline construction from ShaderExecutor::execute() into constructors,
but these can be done in follow-up CLs.

Affects following test groups:

dEQP-VK.glsl.builtin.*
dEQP-VK.glsl.opaque_type_indexing.
dEQP-VK.texture.explicit_lod.*

VK-GL-CTS issue: 182
Components: Vulkan

Change-Id: Icfc45a36cb4651f39f12608842ef347a55353d84

7 years agoImprove precision handling in texture.explicit_lod
Pyry Haulos [Mon, 13 Feb 2017 21:11:53 +0000 (13:11 -0800)]
Improve precision handling in texture.explicit_lod

This change improves precision requirement handling in
dEQP-VK.texture.explicit_lod test group by adding separate controls for
format conversion and filtering math.

Changed tests:
dEQP-VK.texture.explicit_lod.*

Components: Vulkan

Change-Id: Id64da1d63d87d02c73c757a3f2d5d50f2fbc19c0
(cherry picked from commit 4269dc0c1e513c550d3d45c16f2760450dfcef5c)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 9 Mar 2017 23:01:33 +0000 (15:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I14e2b7bbfe3940ace0e6ae9b661f2a56a49edf98

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Thu, 9 Mar 2017 23:01:31 +0000 (15:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: Ica55df93dd12ea2c6460ec7c6fbb1383e6d38f4d

7 years agoFix a compilation error on GCC 5.4
Maciej Jesionowski [Wed, 8 Mar 2017 13:15:55 +0000 (14:15 +0100)]
Fix a compilation error on GCC 5.4

Components: Vulkan
Change-Id: I6c6681d16613f18b2a3192368927f6d176f63a64

7 years agoFix flakiness of compositeDeadline check of eglGetFrameTimestsmps
Brian Anderson [Tue, 7 Mar 2017 00:34:03 +0000 (16:34 -0800)]
Fix flakiness of compositeDeadline check of eglGetFrameTimestsmps

maxDeadline already has some slack built into the check.
This ensures proper slack for the mindDeadline too.

Test: --deqp-case=dEQP-EGL*get_frame_timestamps*

7 years agoMerge "Modify EGL robustness tests to use VBOs"
Treehugger Robot [Mon, 6 Mar 2017 19:54:49 +0000 (19:54 +0000)]
Merge "Modify EGL robustness tests to use VBOs"

7 years agoModify EGL robustness tests to use VBOs
John Richardson [Fri, 3 Mar 2017 12:01:08 +0000 (12:01 +0000)]
Modify EGL robustness tests to use VBOs

Remove use of client-side vertex arrays and use buffer objects instead.
Delete buffers on teardown and in destructor.
Move test description logs to start log file.

Affected tests:
- dEQP-EGL.functional.robustness.reset_context.*

Change-Id: I9432258f30d6c7e02362c0b2f6c36fc3694bd72d

7 years agoFix "null" ID in sRGB decode tests
Pyry Haulos [Fri, 3 Mar 2017 16:44:08 +0000 (08:44 -0800)]
Fix "null" ID in sRGB decode tests

Use 0 as "null" GL object ID as -1 is potentially valid ID.

Change-Id: I95f9f0c300d5b6e95c0c7c81e29fd28ac9ca3b82

7 years agoModify single_tessellation_stage to check for GL_NV_gpu_shader5
Mark Adams [Thu, 2 Mar 2017 15:19:49 +0000 (10:19 -0500)]
Modify single_tessellation_stage to check for GL_NV_gpu_shader5

That extension permits the use of a tessellation control shader
without a tessellation evaluation shader. Affected tests:

dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage

7 years agoFix a compilation error on MSVC12
Maciej Jesionowski [Thu, 2 Mar 2017 11:51:39 +0000 (12:51 +0100)]
Fix a compilation error on MSVC12

There's a problem with uint32_t, so better just use delib defines.

Components: Vulkan

Change-Id: I589ac7f220a7e651ed31910d16c643866314f681

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Wed, 1 Mar 2017 15:53:46 +0000 (07:53 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I1a17ff8600abeab32614212bdab2e4646e50bc25

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Wed, 1 Mar 2017 15:53:44 +0000 (07:53 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: I9eec4dd1fa88a85374eba8d0851b00a28c50b4ac

7 years agoAdd new robustness extension tests
John Richardson [Wed, 1 Feb 2017 15:00:53 +0000 (15:00 +0000)]
Add new robustness extension tests

New tests for KHR_robustness extension. Attempts to provoke context
reset scenarios and test GL state after a reset has occurred.

New test group:
- dEQP-EGL.functional.robustness.*

New tests:
- create_context.query_robust_access
- create_context.no_reset_notification
- create_context.lose_context_on_reset

- reset_context.shaders.infinite_loop.*   (various shaders)
- reset_context.shaders.out_of_bounds.*   (various resource types)
- reset_context.fixed_function_pipeline.* (index and vertex buffers)

- negative_context.invalid_robust_context_creation
- negative_context.invalid_robust_shared_context_creation

Note: Test groups ending in *_non_robust are for internal use only.

Change-Id: I91d7e3e95ec52f908dbaa1f49c56dcd94d60fd8f

7 years agoFix tessellation support checks in negative binding tests
Mika Isojärvi [Wed, 22 Feb 2017 21:25:59 +0000 (13:25 -0800)]
Fix tessellation support checks in negative binding tests

Bug: 35618877
Test: Run the tests on couple of devices supporting tessellation
Change-Id: Ieca6a28a57a278a07ff688f760eb7da807e66d49

7 years agoMerge Vulkan CTS 1.0.2.1 into AOSP
Pyry Haulos [Mon, 27 Feb 2017 19:26:45 +0000 (11:26 -0800)]
Merge Vulkan CTS 1.0.2.1 into AOSP

Change-Id: Ib0aaf12ec60902ebc31d00ad02291bd3d1cd7fae

7 years agoFix bug in reallocation callback validation
Pyry Haulos [Thu, 23 Feb 2017 22:11:27 +0000 (14:11 -0800)]
Fix bug in reallocation callback validation

vk::validateAllocationCallbacks() didn't correctly handle a case where
reallocate(NULL, size) returned previously seen pointer value.

VK-GL-CTS issue: 176
Components: Vulkan

Change-Id: I0822f8e4176d20d7bf296cd85f5c5223e189d250

7 years agoFix input attachment layout in renderpass tests
Igor Ostrowski [Mon, 27 Feb 2017 12:47:12 +0000 (13:47 +0100)]
Fix input attachment layout in renderpass tests

Input attachment layout was hardcoded for descriptor set update.
Added input attachment layout getter.

Affects:

dEQP-VK.renderpass.*

Components: Vulkan

VK-GL-CTS issue: 189

Change-Id: I2083c7b0cf4c68072f98d369f6c3089c6eb2b184

7 years agoFix extension support checks in negative api tests
Graeme Leese [Thu, 23 Feb 2017 16:56:10 +0000 (16:56 +0000)]
Fix extension support checks in negative api tests

Add checks for tessellation and geometry shader support for negative
shader storage and primitive bounding box tests.

Move all uses of cubemap array textures inside the extension checks in
the texture tests.

Bug: 29835218
Change-Id: I6051fff231285ed7d9c71015c2bb11a9fc7b909b
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
7 years agoMerge "Drop MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS to 2048"
Pyry Haulos [Fri, 24 Feb 2017 16:52:34 +0000 (16:52 +0000)]
Merge "Drop MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS to 2048"

7 years agoDrop MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS to 2048
Pyry Haulos [Thu, 23 Feb 2017 20:50:22 +0000 (12:50 -0800)]
Drop MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS to 2048

GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS minmax has been changed to
2048 (from 4096) in OpenGL ES 3.2 spec in response to bug 12823.

Bug: 35619900
Change-Id: I59d75d23df02d339bf7094a8e73d3a24d2e785be

7 years agoModify tessellation_not_active to check for GL_NV_gpu_shader5
Mark Adams [Wed, 22 Feb 2017 22:03:36 +0000 (17:03 -0500)]
Modify tessellation_not_active to check for GL_NV_gpu_shader5

That extension permits use of GL_PATCHES for stages other than
tessellation stages. Affected test:

dEQP-GLES31.functional.debug.negative_coverage.get_error.tessellation.tessellation_not_active

Bug 35670519

7 years agoMerge "Fix whitespace issues"
Treehugger Robot [Wed, 22 Feb 2017 19:44:27 +0000 (19:44 +0000)]
Merge "Fix whitespace issues"

7 years agoAdd non-seperable TCS-but-no-TES subcase and fix draw time check subcase
John Richardson [Mon, 20 Feb 2017 11:26:04 +0000 (11:26 +0000)]
Add non-seperable TCS-but-no-TES subcase and fix draw time check subcase

- Add a non-separable TCS-but-no-TES (new subcase).

Section 7.3 of the OpenGL ES 3.2 specification says:

   "Linking can fail for [...] any of the following reasons:

    * program contains an object to form a tessellation evaluation
      shader [...] and [...] the program is not separable and
      contains no object to form a tessellation control shader"

Add a test to ensure the implementation does raise a link error.

- Make program separable in TES-but-no-TCS draw time check test (fix)

Since the test is trying to check for a draw time error, it should use
a separable program - otherwise we may hit a link error.

Changes made to test case:
dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage

Bug: 35354738
Change-Id: I902106864059cfbe7d718da0d0527284de04a915

7 years agoFix whitespace issues
Pyry Haulos [Wed, 22 Feb 2017 18:05:57 +0000 (10:05 -0800)]
Fix whitespace issues

Change-Id: I31cd4e4d3e113192fce0bccd20fd8fa14d182620

7 years agoAdd GetFrameTimestamps tests
Brian Anderson [Sun, 22 Jan 2017 00:03:19 +0000 (16:03 -0800)]
Add GetFrameTimestamps tests

Add tests for EGL_ANDROID_get_frame_timestamps.

Verifies:
1) Frame IDs properly identify frames.
2) The frame timestamp ordering is correct
3) The compositor timing values are reasonable.
4) All timestamps from the most recently swapped frame can
   be retrieved without additional swaps.

Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: I393a3bc79f019951a2fddb83760b6e1d919663b6

7 years agoMerge "Fix multiple resource leaks in new srgb_texture_decode tests"
Treehugger Robot [Tue, 21 Feb 2017 18:52:36 +0000 (18:52 +0000)]
Merge "Fix multiple resource leaks in new srgb_texture_decode tests"

7 years agoMerge "Reduce read pixel calls in copy image tests"
Kalle Raita [Tue, 21 Feb 2017 17:43:45 +0000 (17:43 +0000)]
Merge "Reduce read pixel calls in copy image tests"

7 years agoMerge "Restructure copy image test iterations"
Kalle Raita [Tue, 21 Feb 2017 17:43:25 +0000 (17:43 +0000)]
Merge "Restructure copy image test iterations"

7 years agoFix multiple resource leaks in new srgb_texture_decode tests
Mark Adams [Fri, 17 Feb 2017 19:14:18 +0000 (14:14 -0500)]
Fix multiple resource leaks in new srgb_texture_decode tests

There were multiple issues here, ranging from never freeing resources,
to overwriting resources, to only freeing them at class destruction
instead of deinit time. This was resulting in hitting OOM on platforms
without tons of memory.

Bug: 35457323
Change-Id: I492177bb9e71bdbc7efc9d3a7c8a34bef35c709e

7 years agoMerge changes Icb29d2da,Ida906e21
Pyry Haulos [Fri, 17 Feb 2017 20:21:40 +0000 (20:21 +0000)]
Merge changes Icb29d2da,Ida906e21

* changes:
  Add a non-separable TCS-but-no-TES subcase.
  Make program separable in TCS-but-no-TES draw time check test.

7 years agoTest descriptor_update_template, push_descriptor
Petros Bantolas [Fri, 4 Nov 2016 15:12:52 +0000 (15:12 +0000)]
Test descriptor_update_template, push_descriptor

Extended the existing binding_model tests with 3 new variants,
'with_template', 'with_push_template' and 'with_push'.

The least invasive method to support push descriptor updates without
template was to persist the DescriptorSetUpdateBuilder object in the
test instance classes, so that it can be referenced when building the
command buffer.

Change-Id: I731fa41c5ff99ab1d390d77d7aabb4424e091e35
(cherry picked from commit 7f5ba3914c1d9033dd4f896ef6fcaa22f5c5e038)

7 years agoAdd sRGB skip decode test
Michael Hadley [Wed, 1 Feb 2017 12:48:08 +0000 (12:48 +0000)]
Add sRGB skip decode test

New Tests:
- deqp-case=dEQP-GLES31.functional.srgb_texture_decode.*

Change-Id: I0257e63b15ee0334efad985411d8070ddecdd51a

7 years agoReduce read pixel calls in copy image tests
Kalle Raita [Thu, 19 Jan 2017 22:15:58 +0000 (14:15 -0800)]
Reduce read pixel calls in copy image tests

Reduce glReadPixels calls in the copy image tests by rendering multiple
texture sub-images for each read back. Significant improvement for
certain platforms, no impact on others.

Bug: 33965234
Test: Run tests on Pixel C and Pixel XL, Check that old N9 results still
have same failures. Spot checks with 240x200 target surface.
Change-Id: I133c56b7855a664f164f1eb0b1307259462e098f

7 years agoRestructure copy image test iterations
Kalle Raita [Tue, 24 Jan 2017 19:47:17 +0000 (11:47 -0800)]
Restructure copy image test iterations

Packing test iterations so that work per buffer swap is maximized
without running the risk of hitting per-iteration timeout. Yields
execution time drops of roughly 50% on at least 2 GPU architectures.

Bug: 33965234
Test: Copy image tests on multiple devices and L MR1 N9 for detection capability.
Change-Id: I7de5231da0d8a1d2bd22ec3741f1481e2ebd5475

7 years agoAdd a non-separable TCS-but-no-TES subcase.
Kenneth Graunke [Sat, 11 Feb 2017 06:45:39 +0000 (22:45 -0800)]
Add a non-separable TCS-but-no-TES subcase.

   "Linking can fail for [...] any of the following reasons:

* program contains an object to form a tessellation control
  shader [...] and [...] the program is not separable and
  contains no object to form a tessellation evaluation shader"

Add a test to ensure the implementation does raise a link error.

The new subcase is part of:
dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage

Change-Id: Icb29d2da50b2c327bfd2196af9be56bb7d8644f9

7 years agoMake program separable in TCS-but-no-TES draw time check test.
Kenneth Graunke [Sat, 11 Feb 2017 05:30:50 +0000 (21:30 -0800)]
Make program separable in TCS-but-no-TES draw time check test.

Section 7.3 of the OpenGL ES 3.2 specification says:

   "Linking can fail for [...] any of the following reasons:

    * program contains an object to form a tessellation control
      shader [...] and [...] the program is not separable and
      contains no object to form a tessellation evaluation shader"

Since the test is trying to check for a draw time error, it should use
a separable program - otherwise we may hit a link error.

Fixes a bug in:
dEQP-GLES31.functional.debug.negative_coverage.*.tessellation.single_tessellation_stage

Change-Id: Ida906e21c3e3534fd2a8c7bac0334083881bdb19

7 years agoUpdate Android CTS Vulkan mustpass
Pyry Haulos [Mon, 13 Feb 2017 18:42:12 +0000 (10:42 -0800)]
Update Android CTS Vulkan mustpass

Following commits modify Vulkan CTS 1.0.2 mustpass:

 * fbaba83dbee101b3096ce33f21ae398efee3fa67
 * c09596ed4b8d17f057f77a42475d59c1ac126797

This change simply updates Android version of mustpass to match Khronos
Vulkan CTS 1.0.2 mustpass.

Change-Id: I79e2696ec4c457d11b59e03cf2a73977ab98d8d5
Components: AOSP

7 years agoUpdate Android CTS Vulkan mustpass to match 1.0.2
Pyry Haulos [Tue, 31 Jan 2017 00:02:32 +0000 (16:02 -0800)]
Update Android CTS Vulkan mustpass to match 1.0.2

This CL updates Android CTS mustpass for Vulkan to match Khronos Vulkan
CTS 1.0.2.0.

Change-Id: Ia2f82b5f6675c67940679eb98f59510f264d62bf
(cherry picked from commit 15f342274521c1be1032e993dbfd4a46b878f337)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Mon, 13 Feb 2017 18:34:37 +0000 (10:34 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ida077bae420c265f4a92d78d68b0f1c9b8d1c85c

7 years agoWrite gl_PointSize value when it is undefined
Iago Toral Quiroga [Fri, 10 Feb 2017 10:35:52 +0000 (11:35 +0100)]
Write gl_PointSize value when it is undefined

gl_PointSize is undefined unless expicitly written to. The only
exception to this rule is the case when
shaderTessellationAndGeometryPointSize is disabled, in which case it
defaults to 1.0 for these stages.

Since we don't have access to the physical device features at shader
compile time, implement two variants of the tessellation evaluation
shader when point mode is enabled, one that writes gl_PointSize and
one that doesn't and decide the one we need at run time based on
whether the feature is enabled or not.

Components: Vulkan
Fixes VK-GL-CTS issue: 159

Affects:
dEQP-VK.tessellation.primitive_discard.*point_mode

Change-Id: Idadbc70a704f00ed601ff65afeb2a3edfbeb3f19

7 years agoFix a few bugs in a EGL_KHR_no_config_context test.
Kenneth Graunke [Thu, 2 Feb 2017 18:40:02 +0000 (10:40 -0800)]
Fix a few bugs in a EGL_KHR_no_config_context test.

The dEQP-EGL.functional.create_context.no_config test had the eglBindAPI
check backwards - so it was skipping APIs assuming they failed when they
actually succeeded.

Secondly, it failed to actually set the test result to "pass" if all
cases passed, which led to assertion failures:

    Assertion `testResult != QP_TEST_RESULT_LAST' failed.

Change-Id: I7a20467012fd6c174f79679bbf640917c327574c

7 years agoLimit changes by xor to upper 8 bits in mixed atomic tests am: 6bc3c7a634
Mika Isojrvi [Thu, 9 Feb 2017 22:44:03 +0000 (22:44 +0000)]
Limit changes by xor to upper 8 bits in mixed atomic tests am: 6bc3c7a634
am: eef2e716e7

Change-Id: Icadf536794c067056e66f6a2041fbb937952f35a

7 years agoLimit changes by xor to upper 8 bits in mixed atomic tests
Mika Isojrvi [Thu, 9 Feb 2017 22:41:59 +0000 (22:41 +0000)]
Limit changes by xor to upper 8 bits in mixed atomic tests
am: 6bc3c7a634

Change-Id: I354ee074ad57d53c2b4b0a84d8bc02a02912f19d

7 years agoMerge "Use deFloatIsNaN, not isnan."
Treehugger Robot [Thu, 9 Feb 2017 21:28:03 +0000 (21:28 +0000)]
Merge "Use deFloatIsNaN, not isnan."

7 years agoUse deFloatIsNaN, not isnan.
Dan Albert [Wed, 8 Feb 2017 19:37:30 +0000 (11:37 -0800)]
Use deFloatIsNaN, not isnan.

Discovered because this file includes cmath rather than math.h, so
some header cleanup made isnan go away (it should have been
std::isnan).

Test: mma
Bug: http://b/34724220
Change-Id: Idb6b26a90307f510ad1a118b694a34e32ce7507c

7 years agodEQP-VK.info.*image_format_properties2* VkImageUsageFlags fix
Marcin Kańtoch [Mon, 6 Feb 2017 09:25:56 +0000 (10:25 +0100)]
dEQP-VK.info.*image_format_properties2* VkImageUsageFlags fix

The usage flags loop iterator starts currently with 0, which is not
a valid image usage value. It is reported as an error by Validation
Layers.

The patch contains also a simple fix for iterating over valid sample
count flag bits.

Modified tests:
dEQP-VK.info.image_format_properties2*
dEQP-VK.info.sparse_image_format_properties2*

Components: Vulkan
VK-GL-CTS issue: 133

Change-Id: I0edbdbc389fa3bd9a71ca4d3b7777ede38a7b353

7 years agoAndroid: Test that mandatory extensions are supported
Pyry Haulos [Fri, 3 Feb 2017 21:25:48 +0000 (13:25 -0800)]
Android: Test that mandatory extensions are supported

Change-Id: Id0e44299f1d8441bf1e7ecc91d82d3b06400e7e6

7 years agoAndroid: Test that no Vulkan layers are enumerated
Pyry Haulos [Tue, 17 Jan 2017 23:49:02 +0000 (15:49 -0800)]
Android: Test that no Vulkan layers are enumerated

Change-Id: I43dacf306b468485fc160f175160555b9cf1c86d

7 years agoAndroid: Check KHX, GOOGLE, and ANDROID extensions
Pyry Haulos [Wed, 11 Jan 2017 23:02:19 +0000 (15:02 -0800)]
Android: Check KHX, GOOGLE, and ANDROID extensions

Change-Id: I6ee24e584666e1f2542adf35943a2973c9392ad9

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 9 Feb 2017 17:54:38 +0000 (09:54 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I32aa09e131335c13262518708fd5970191aad77b

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

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

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

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

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

VK-GL-CTS issue: 156

Change-Id: Ie5717841fe0ef9c0672b5075380ff96bba9855b9
(cherry picked from commit 70fc0800efe725f4f91f4d03b09aa0e567dbb09c)

7 years agoDo not require unsupported sparse images in image_format_properties test
Slawomir Cygan [Tue, 10 Jan 2017 15:59:29 +0000 (16:59 +0100)]
Do not require unsupported sparse images in image_format_properties test

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

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

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

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

(...)

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

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

Component: Vulkan
VK-GL-CTS Issue: 131

(cherry picked from commit 5534b44a15b530ece4b310e1dd935fb9b0cefeb6)

Change-Id: Ia2481fbcd12a32a6470af26df213a2f930c2e6db

7 years agoMerge "Fix out of bounds accesses in TexImage*DParamsCase."
Mika Isojarvi [Wed, 8 Feb 2017 19:21:10 +0000 (19:21 +0000)]
Merge "Fix out of bounds accesses in TexImage*DParamsCase."

7 years agoFix out of bounds accesses in TexImage*DParamsCase.
Mika Isojärvi [Tue, 7 Feb 2017 20:52:54 +0000 (12:52 -0800)]
Fix out of bounds accesses in TexImage*DParamsCase.

Bug: 28764822
Test: Ran the tests on couple of devices and checked the results.
Change-Id: I3f743bf75d73ce7de7ff2b0633551c0cc7606ca0

7 years agoFix Android builds compiler flags
Mika Isojärvi [Mon, 6 Feb 2017 22:48:37 +0000 (14:48 -0800)]
Fix Android builds compiler flags

- Move -fwrapv to common flags
- Add -Wno-delete-non-virtual-dtor

Bug: 34676963
Test: Build deqp with the AOSP ARM64 target
Change-Id: I21e4c70ef5f2ebe7d306d5a4dcbb52933c4dff6d

7 years agoFix dEQP-VK.api.info.get_physical_device_properties2.properties
Iago Toral Quiroga [Wed, 1 Feb 2017 09:38:52 +0000 (10:38 +0100)]
Fix dEQP-VK.api.info.get_physical_device_properties2.properties

The test uses memcmp to compare structs that may include padding
bytes. Although the test initializes all bytes prior to calling any
Vulkan APIs, there is no guarantee that drivers won't write to the
padding bytes, for example if they write the properties to a local
variable and then memcpy into the result pointer, which is a valid
implementation.

This patch fixes the problem by reusing the offset table that we
already use in another test to obtain the offsets and sizes for all
struct fields and exclude any padding bytes during comparisons.

Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties

VK-GL-CTS issue: 63
Components: Vulkan

Change-Id: I4417a95d41241523acd13adc739e739da9b0c2ed

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Mon, 6 Feb 2017 21:01:07 +0000 (13:01 -0800)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ie39f778967a81af072e60194987d6e3978afb45e