platform/upstream/VK-GL-CTS.git
7 years agodefer device creation until after feature checks
Daniel Koch [Wed, 21 Jun 2017 17:14:44 +0000 (13:14 -0400)]
defer device creation until after feature checks

VK-GL-CTS Issue: 523
Component: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*

Change-Id: Ife678bf4e70f5d312f9276356bc288f7d31f15f8
(cherry picked from commit 545cb418b912430bce80ae69d06f669114b4211e)

7 years agoFix 16bit_storage out of bounds buffer accesses
Daniel Koch [Wed, 21 Jun 2017 14:21:04 +0000 (10:21 -0400)]
Fix 16bit_storage out of bounds buffer accesses

VK-GL-CTS Issue: 518
Component: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.push_constant_16_to_32.vector_sint
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.push_constant_16_to_32.vector_uint

Change-Id: I33d3c94388a8eacac78a617ba7711b3688701323
(cherry picked from commit 5bad3cacecc5de4868365cb854f9433c79770c5f)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.2-confidential
Alexander Galazin [Thu, 22 Jun 2017 02:28:13 +0000 (04:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.0.2-confidential

Change-Id: I842fde2a18d086da72b78b0b3bded26fd2b2de4b

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Thu, 22 Jun 2017 02:28:12 +0000 (04:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I6400944995d9bcb06801ab0f3ada643ed9d914ed

7 years agoCheck for shaderFloat64 before creating shaders
Alex Walters [Tue, 20 Jun 2017 11:27:11 +0000 (12:27 +0100)]
Check for shaderFloat64 before creating shaders

Shader is using double types for F64 vertex attribute cases without
checking that the shader feature is supported.

The test was eventually making this check, but not until setting up
the vertex attributes themselves. This change also avoid creating some
other resources before determining that the test is unsupported.

Affects:

dEQP-VK.pipeline.vertex_input.single_attribute*64*

Components: Vulkan

VK-GL-CTS issue: 459

Change-Id: I6142af4e1a64aac233d6890285f81db327589800

7 years agoFix regressions from 38cdcf98c372cb8af8
Iago Toral Quiroga [Mon, 19 Jun 2017 09:50:54 +0000 (11:50 +0200)]
Fix regressions from 38cdcf98c372cb8af8

That commit merged together a number of changes
and it seems that it messed up the spir-v for the
opconstantnull and opundef tests.

Components: Vulkan
Vk-GL-CTS issue: 511

Affects:
dEQP-VK.spirv_assembly.instruction.compute.opconstantnull.*
dEQP-VK.spirv_assembly.instruction.compute.opundef.*

Change-Id: I0810dd9d75aeebb993f2f595e20c90fde10cf899

7 years agoAdd test for VK_KHR_get_memory_requirements2
Boris Zanin [Sun, 7 May 2017 12:21:28 +0000 (14:21 +0200)]
Add test for VK_KHR_get_memory_requirements2

Update tests:
 * dEQP-VK.memory.requirements.buffer.*
 * dEQP-VK.memory.requirements.image.*

Rename tests (add .core subgroup):
 * dEQP-VK.memory.requirements.core.buffer.*
 * dEQP-VK.memory.requirements.core.image.*

Add tests:
 * dEQP-VK.memory.requirements.extended.buffer.*
 * dEQP-VK.memory.requirements.extended.image.*

Components: Vulkan

VK-GL-CTS issue: 391

Change-Id: I307bbf361d36d5f277ff70ce3204d67f8eb59871
(cherry picked from commit 140028f310bf6116a2c9063a5565fae6bf5152bb)

7 years agoAdd tests for the VK_KHR_16bit_storage extension
Lei Zhang [Wed, 1 Mar 2017 17:30:20 +0000 (12:30 -0500)]
Add tests for the VK_KHR_16bit_storage extension

* Four capabilities
  * StorageUniform16
  * StorageUniformBufferBlock16
  * StorageInputOutput16
  * StoragePushConstant16
* 16bit -> 32bit and 32bit -> 16bit
* integers and floats
* vectors and matrices of integers and floats

Component: Vulkan

(cherry picked from commit e62c7b595cbf79617555faf46eb9085bb7d11cb1)

Contains following two follow-up patches:
 * d41f0578749db200124a933a0bc6ace35881d02d (check against linea/optimalTilingFeatures)
 * a24bed1ac5b06e6ef87da3b6f9bc103f5cdf463f (allow flusing denormals)
 * ff75accb8c0634ddfa920462d864a58f12a76198 (add missing extensions)

Change-Id: I51f59d9a7d984f5190c8d60752454b963a039c2e

7 years agoAdd tests for VK_KHR_storage_buffer_storage_class
Pyry Haulos [Wed, 3 May 2017 22:08:12 +0000 (15:08 -0700)]
Add tests for VK_KHR_storage_buffer_storage_class

This change extends following groups to cover the new StorageBuffer
decoration:

 * dEQP-VK.glsl.opaque_type_indexing
 * dEQP-VK.spirv_assembly.compute.opatomic

VK-GL-CTS issue: 357
Components: Vulkan

Change-Id: I283a39f4e92f1be6597d843c67debc3ae28c9f22
(cherry picked from commit 9e31538412fb6ce1773e8cfda5b7e5f7fd081e87)

7 years agoImprove GLSL source program support
Pyry Haulos [Thu, 4 May 2017 22:29:08 +0000 (15:29 -0700)]
Improve GLSL source program support

Old GLSL source program support in Vulkan framework was built on top
of glu::ProgramSources. This had two problems:

1) There was no obvious way to extend/annotate sources with SPIR-V
-specific information such as target SPIR-V version.

2) Most of glu::ProgramSources, such as attribute bindings or TF
configuration, was completely ignored.

This change introduces new vk::GlslSource type that replaces
glu::ProgramSources in vk::SourceCollections. vk::GlslSource contains
shader source strings as well as build options (vk::GlslBuildOptions).

vk::GlslBuildOptions doesn't currently contain anything useful but can
be later extended to support selecting target SPIR-V version for
example.

The change is mostly transparent to existing code, except:

 * vkSpirvProgram.hpp was somewhat unnecessarily including
tcuTestLog.hpp and changing that to a forward declaration required
fixing includes in several test code files.

  * vktShaderExecutor.cpp has been extended to allow specifying build
options.

Components: Vulkan

Change-Id: I69a6cd55ea91215585515b9d41860d818cbc97ae
(cherry picked from commit fa7a45c9bcb909be38ffd55549beb6db5115a65b)

7 years agoCherry-pick SPIR-V assembly test improvements
Pyry Haulos [Wed, 14 Jun 2017 18:54:31 +0000 (11:54 -0700)]
Cherry-pick SPIR-V assembly test improvements

These SPIR-V assembly test framework improvements are needed by new SPIR-V
tests.

Contains following commits, sans new tests:

e47e81cda3ab7215d6089f4f5f631fa4f4385e10
ca8cfd0d24bc210c1cfeb3ded0c2c0d2492aa66b
56bd1576eb438e10e8ccb22e17b08354fbf3bac7
56f121e90ff24a88b375db1a74c296d17dd97a74
05e91483c6f2f48b408ed1a638cbb32468ed8dfa
fc1e2f0942477676e92f7fe632ef441a90f570f8
318e6d042b1aaa15327342b39967f0ae97d23347
c35c2901d9d604631326eec11b80b3e6b7b7d55f
0d10dbfa6e176e18f69edcace62f921bb5225168
251a30e3cf94411b7453dd4e05cf24e1d45f579e
4fe79607bfac070a32d9554e3705379073e3672b
8977777244ce058cb79e1cf3b43e528322e8308c
6a51980397447d1f726e71d9126e47f84dc80a6f

Change-Id: Ibedf226d3160365651155327dac50e8e9987a6d4

7 years agoAdd 32 to 16 bit float conversion w.r.t rounding mode
Lei Zhang [Mon, 20 Mar 2017 19:40:54 +0000 (15:40 -0400)]
Add 32 to 16 bit float conversion w.r.t rounding mode

Component: Framework

Change-Id: I9428f0dc725484b8a2f213157100326a69754cd8
(cherry picked from commit 7c0f5bea1da74f70e549e9a735c9d702c9396084)

7 years agoAdd create functions for common Vulkan types.
Mika Isojärvi [Wed, 8 Feb 2017 00:37:51 +0000 (16:37 -0800)]
Add create functions for common Vulkan types.

These functions simplify creating the Vulkan objects by taking the
arguments directly instead of passing through struct. Multiple test
cases already reimplement these functions.

VK-GL-CTS issue: 465
Components: Vulkan

Change-Id: I09f6b0163b5aa2198617230767cd072185afe45c
(cherry picked from commit da03200a87f51bed33b3c3030ecbb6df06ff4f60)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Sun, 18 Jun 2017 13:43:55 +0000 (15:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ibc2a0e06a379886958c3c45f8153b2271251dc1f

7 years agoTouch watchdog before freeing objs in max_concurrent
Pyry Haulos [Wed, 7 Jun 2017 22:58:05 +0000 (15:58 -0700)]
Touch watchdog before freeing objs in max_concurrent

Affects:
dEQP-VK.api.object_management.max_concurrent.*

Components: Vulkan
Google bug: 37515046
VK-GL-CTS issue: 507

Change-Id: I57eb68764a55b5dceeb3e2676b8b1b298c0ff67e
(cherry picked from commit 252fb76fec02af6e2281da3bc9eea4e0d7972f12)
(cherry picked from commit 815781b7774af1aad0e9e2e60cd59ae575a81cf4)

7 years agoAdd missing flush for opaque_type_indexing tests
Gary Sweet [Fri, 9 Jun 2017 07:43:45 +0000 (08:43 +0100)]
Add missing flush for opaque_type_indexing tests

Buffers were being mapped and written, but not flushed
before use.

Affects:

dEQP-VK.glsl.opaque_type_indexing.sampler.*

Components: Vulkan

VK-GL-CTS issue: 487

Change-Id: I9d6b694cebdff1785cbff303f4873628ca902d51

7 years agoReturn back transient attachments tests
Boris Zanin [Tue, 6 Jun 2017 06:42:14 +0000 (08:42 +0200)]
Return back transient attachments tests

Update tests:
 * dEQP-VK.renderpass.attachment.*
 * dEQP-VK.renderpass.attachment_allocation.*

Components: Vulkan

VK-GL-CTS issue 464

Change-Id: I11006ef75ee7fbeb6674d1876a535101edb2a667

7 years agoSlightly increase threshold in dEQP-VK.draw.basic_draw.draw_indirect
Slawomir Cygan [Wed, 7 Jun 2017 17:55:09 +0000 (19:55 +0200)]
Slightly increase threshold in dEQP-VK.draw.basic_draw.draw_indirect

The test draws a lot of intersecting lines and compare them to reference
renderer output.

Unfortunately, the test does not account for strictLines capability (hence
ignores that they are two line rasterization algorithms in Vulkan). On the
other hand it usess fuzzy compare, which somehow obfuscates that fact.

However, there is an issue where many (around 8) lines intersect in area covered
by one fuzzy 'kernel' invocation, where small difference results in false negative
comparison.

This change slightly increases the threshold.

Affects:  dEQP-VK.draw

Components: Vulkan

VK-GL-CTS issue: 495

Change-Id: I2dab225516b8a3dea937efe6c4fb042bc267481b

7 years agoMerge "Remove EGL gles1.rgb565_window from mustpass"
Treehugger Robot [Wed, 14 Jun 2017 01:43:04 +0000 (01:43 +0000)]
Merge "Remove EGL gles1.rgb565_window from mustpass"

7 years agoRemove EGL gles1.rgb565_window from mustpass
Pyry Haulos [Tue, 13 Jun 2017 21:08:33 +0000 (14:08 -0700)]
Remove EGL gles1.rgb565_window from mustpass

Bug: 30041221
Change-Id: Idc8e3d1d78c568fa8d4209c61eaec52ca5696356
(cherry picked from commit 22eb25c58f0a1aa1de401a38778471c8b6700ffd)

7 years agoTouch watchdog before freeing objs in max_concurrent
Pyry Haulos [Wed, 7 Jun 2017 22:58:05 +0000 (15:58 -0700)]
Touch watchdog before freeing objs in max_concurrent

Affects:
dEQP-VK.api.object_management.max_concurrent.*

Components: Vulkan
Google bug: 37515046

Change-Id: I57eb68764a55b5dceeb3e2676b8b1b298c0ff67e
(cherry picked from commit 252fb76fec02af6e2281da3bc9eea4e0d7972f12)

7 years agoSkip OOB SSBO fragment tests for ES3.1 GPUs
Alexander Galazin [Fri, 9 Jun 2017 14:26:32 +0000 (16:26 +0200)]
Skip OOB SSBO fragment tests for ES3.1 GPUs

GPUs supporting GLES 3.1 may expose 0 SSBOs in fragment shaders.
This change extends fix made in cf65c56f.

Google bug: 36891454

Components: AOSP

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds*.shader_storage_block.fragment

Change-Id: I1d821198d3dba3d3ad1e6b25758d0d434bf08a30

7 years agoSampling precision issues - mustpass removal
Marcin Kańtoch [Thu, 8 Jun 2017 16:28:20 +0000 (18:28 +0200)]
Sampling precision issues - mustpass removal

Affects:

dEQP-VK.glsl.texture_functions.textureoffset.isampler2darray_vertex
dEQP-VK.glsl.texture_functions.textureoffset.usampler2darray_vertex
dEQP-VK.glsl.texture_functions.textureoffset.usampler3d_vertex
dEQP-VK.glsl.texture_functions.texturegradoffset.usampler2darray_vertex

Components: Vulkan

VK-GL-CTS issue: 448

Change-Id: Id895783e75a5b779ead5d396d2953a5c07f20f52

7 years agoAdd missing flushes for buffer view access tests
Gary Sweet [Wed, 7 Jun 2017 09:31:14 +0000 (10:31 +0100)]
Add missing flushes for buffer view access tests

Buffers were being mapped and written, but not flushed
before use.

Affects:

dEQP-VK.api.buffer_view.access.buffer_view_memory_test_*

Components: Vulkan

VK-GL-CTS issue: 474

Change-Id: I5874f56da87d3857b0c2c840805f932f56e8ff49

7 years agoIgnore A channel in EGL RGB5_A1 clear color tests
Alexander Galazin [Tue, 6 Jun 2017 11:22:58 +0000 (13:22 +0200)]
Ignore A channel in EGL RGB5_A1 clear color tests

Dithering can siginifcantly impact alpha channel and the framework
can't fully account it.

Components: AOSP
Affects:
dEQP-EGL.functional.color_clears.*.rgba5551*

Bug: 62383988

Change-Id: Ic8fa4da1a840da56f74af3e076d0728d9abbdadc

7 years agoAdd OWNERS in external/deqp
Chih-Hung Hsieh [Mon, 5 Jun 2017 17:48:12 +0000 (10:48 -0700)]
Add OWNERS in external/deqp

* Owners are selected from top CL approvals or owners.
  They will be suggested to review/approve future CLs.
* OWNERS files are recognized by the new find-owners plugin, see .md files in
  https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/

Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I0d256181d2ca0c0ec55cf5479ff34aa68f3190a9

7 years agoAtomic counter tests rely on stores to SSBOs
Alexander Galazin [Thu, 1 Jun 2017 06:59:16 +0000 (08:59 +0200)]
Atomic counter tests rely on stores to SSBOs

Stores to SSBOs are supported if
vertexPipelineStoresAndAtomics/fragmentStoresAndAtomics
are advertised.

VK-GL-CTS issue: 458

Components: Vulkan

Affects:
dEQP-VK.glsl.opaque_type_indexing.atomic_counter.*

Change-Id: I8bd3617522221e646526112978b8d13069f88ec3

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Tue, 30 May 2017 01:56:32 +0000 (18:56 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ib63e665cb64989f8c5f0c53c9d229e5f17172d62

7 years agoAllow pop-free clipping for lines
Boris Zanin [Tue, 16 May 2017 12:32:06 +0000 (14:32 +0200)]
Allow pop-free clipping for lines

Following test checks has been relaxed:
 * dEQP-VK.rasterization.primitives.lines_wide
 * dEQP-VK.rasterization.primitives.line_strip_wide
 * dEQP-VK.rasterization.primitives_multisample_2_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_4_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_8_bit.lines_wide

Components: Vulkan

VK-GL-CTS issue: 421

Change-Id: I21c04015d36ae55c20ef1c1dda8e2d1fee471221

7 years agoCheck 'drawIndirectFirstInstance' feature to run indirect draw tests
Yanjun Zhang [Thu, 11 May 2017 22:51:37 +0000 (15:51 -0700)]
Check 'drawIndirectFirstInstance' feature to run indirect draw tests

Component: Vulkan
VK-GL-CTS issue: 413

Change-Id: I13a86721ec76ac50af55e0730fd50e3d7ce159d8

7 years agodEQP-VK: Fix an incorrect layout transition
Jason Ekstrand [Fri, 19 May 2017 04:36:15 +0000 (21:36 -0700)]
dEQP-VK: Fix an incorrect layout transition

The tests upload data to the resolve destination using CopyImageToBuffer
prior to doing a resolve to a chunk out of the middle of the image. This
lets the test validate the resolve to a subarea works correctly.
However, they were also transitioning the destination from UNDEFINED to
TRANSFER_DST_OPTIMAL between uploading the data and doing the resolve.
This transition destroys the contents of the image making verifying that
contents incorrect.  The correct transition is from TRANSFER_DST_OPTIMAL
to TRANSFER_DST_OPTIMAL.

This affects the following tests:

 - dEQP-VK.api.copy_and_blit.resolve_image.partial*
 - dEQP-VK.api.copy_and_blit.resolve_image.with_regions*

Change-Id: I9336195d7977d7dd2ffb057525134846b10e8010

7 years agoFixed invalid usage of VkBufferImageCopy struct
Oivind Boge [Tue, 16 May 2017 14:04:01 +0000 (16:04 +0200)]
Fixed invalid usage of VkBufferImageCopy struct

The offset member of VkBufferImageCopy was violating the
valid usage. The offset is now calculated using lowest
common denominator between the pixelSize and 4.

Affects:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 422

Change-Id: I1ef07e06f790a9ed403941b1d94c7840485cec3e

7 years agoRefactor X11 and wayland platforms to run alongside each other
Slawomir Cygan [Wed, 11 Jan 2017 16:17:11 +0000 (17:17 +0100)]
Refactor X11 and wayland platforms to run alongside each other

This adds a capability for running Vulkan WSI ane EGL tests on both
X11 and wayland compositors from one binary built in 'default' target.

The change replaces X11 & wayland tcu::Platform-s with one common
'linux' platform, that is parametrized by DEQP_SUPPORT_
(X11|GLX|XCB|WAYLAND) at compile time.

This new platform supports creating WSI displays and EGL contexts
for each of compositors enabled at build-time. To choose EGL compositor
use --deqp-egl-display-type=x11 or Wayland.

No functional change is made to 'wayland' target: it is still possible
to build Wayland-only binary using that target.

VK-GL-CTS issue: 83
Components: Framework
Affects: dEQP-VK.wsi.* and all tests using EGL.

Change-Id: I1d8725d1329e1071ac545f765c374d2d7d5a29df

7 years agoFix Vulkan null driver
Pyry Haulos [Thu, 18 May 2017 22:42:53 +0000 (15:42 -0700)]
Fix Vulkan null driver

Vulkan platform was changed to use vkGetInstanceProcAddr(NULL, pName)
for loading all platform-level functions, except vkGetInstanceProcAddr
itself, in commit bbd3dce44fafaa4b1952b63564022f19b3a65ca3. Null
driver was not adjusted for that change and that resulted calling into
null function pointer early in the initialization code.

Additionally, null driver now advertises HOST_COHERENT memory.

Change-Id: I65c8b37722950de08e337d7df95aa46a0e826c7b

7 years agoUpdate vulkan.h.in to 1.0.49 and strip unused exts
Pyry Haulos [Wed, 10 May 2017 16:54:23 +0000 (09:54 -0700)]
Update vulkan.h.in to 1.0.49 and strip unused exts

This change updates vulkan.h.in to match header version 49.
Vendor-specific extensions and KHX extensions that are not covered by CTS
are removed.

gen_framework.py now auto-detects function class from its first argument,
except for vkGet*ProcAddr, which require special handling.

Components: Vulkan

Change-Id: If6e1d959091a9064585bf29ef9983d03649ce513

7 years agoRemove unused function from es31fSRGBDecodeTests.cpp
Pyry Haulos [Tue, 16 May 2017 14:25:35 +0000 (07:25 -0700)]
Remove unused function from es31fSRGBDecodeTests.cpp

Unused function causes compiler warnings to appear with recent GCC
versions.

Change-Id: I941c579994acbc9146df86acf5b9da9ee85341f5

7 years agoFix texture/sampler mapping in sRGB tests
Alexander Galazin [Thu, 11 May 2017 12:27:20 +0000 (14:27 +0200)]
Fix texture/sampler mapping in sRGB tests

sRGB decode tests assume that an API side texture with index i
is connected with a shader sampler variable uTexture with index i.

This relation was however incorrectly established, e.g.
the tests were mapping texture0 to a sampler with location 0, while
such sampler was not necessarily uTexture0.

This change fixes the mapping and makes the relation more obvious.

Components: AOSP
Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.toggled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.conversion_gpu

Google bug: 38257749

Change-Id: I16508f6033b31583b1c5973b70a610dd59e78e8f

7 years agoImport fixes from Android Vulkan CTS 1.0.2 branch
Pyry Haulos [Fri, 12 May 2017 20:26:36 +0000 (13:26 -0700)]
Import fixes from Android Vulkan CTS 1.0.2 branch

 * Android copy of mustpass is updated to exclude waived tests.

 * Add missing file to Android.mk

 * Add -fwrapv and -Wno-delete-non-virtual-dtor to Android.mk

Change-Id: I9cdb0b0490dbad4134ad085216c3969cda40747a

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Fri, 12 May 2017 17:31:29 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I11828b81ea4c9e67dc879dd98a9cbf91341de2c9

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Fri, 12 May 2017 17:31:26 +0000 (10:31 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: I6245604cf5ce44a2c4d9c064efb65b058d8f24eb

7 years agoAdd more alternatives to reflect() precision tests
Iago Toral Quiroga [Fri, 5 May 2017 06:30:15 +0000 (08:30 +0200)]
Add more alternatives to reflect() precision tests

Intel/Mesa started to generate these in some scenarios recently.

Components: Vulkan
Vk-GL-CTS Issue: 392

Affects:
dEQP-VK.glsl.builtin.precision.reflect.*

Change-Id: Ic943cf14d531e392c03adf18605e6330267be4a1

7 years agoCheck sampler_mirror_clamp_to_edge extension in tex filter tests
Yanjun Zhang [Mon, 24 Apr 2017 08:59:26 +0000 (01:59 -0700)]
Check sampler_mirror_clamp_to_edge extension in tex filter tests

Components: Vulkan
VK-GL-CTS issue: 384

Affects:
dEQP-VK.texture.filtering.*.combinations.*_mirror_clamp_to_edge_*

Change-Id: Ie829b9247cd374e6c34ac70885e9e4421d284d1e

7 years agoDo not report warning if OOM testing is incomplete
Pyry Haulos [Mon, 8 May 2017 16:15:25 +0000 (09:15 -0700)]
Do not report warning if OOM testing is incomplete

object_management.alloc_callback_fail tests are trying to exhaustively
test all OOM paths in vkCreate* functions. However, to keep test run-
time reasonable, they have a fixed maximum allocation count and if
that is exceeded report a warning since OOM testing was not
exhaustive.

Since an implementation that requires more allocations than the limit
is valid, this commit changes the tests to report clean Pass instead
of CompatibilityWarning. Note about incomplete OOM testing is included
in the test log contents instead.

Affects:

dEQP-VK.api.object_management.alloc_callback_fail.*

VK-GL-CTS issue: 399
Components: Vulkan

Change-Id: I6890321546ae42f2646b8653007172d4b8affb8a

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Fri, 12 May 2017 17:15:26 +0000 (10:15 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

7 years agoUpdate Vulkan CTS to version 1.0.2.3
Pyry Haulos [Fri, 12 May 2017 16:38:51 +0000 (09:38 -0700)]
Update Vulkan CTS to version 1.0.2.3

New tests:

 * Add tests for VK_KHR_shared_presentable_image
 * Add tests for VK_KHR_get_surface_capabilities2

Fixes:

 * makeFramebufferWithoutAttachments creates invalid framebuffer
 * Fix typo in dE-IT.build_info.de_endianness_consistent name
 * Fix - uniform buffer incorrectly dereferenced
 * Use vkGetInstanceProcAddr(NULL) to load platform funcs
 * Imgtec Waiver for texture_gather*cube*depth32f*
 * Add VK_KHR_incremental_present to the list of allowed device
extensions
 * Use -std=c++03 with GCC and clang
 * Fix GCC 6.3 warnings in vulkan-cts-1.0.2
 * Improve check_build_sanity.py
 * Relax image verification in anisotropic filtering tests
 * Respect maxColorAttachments in image tests
 * Fix SPIR-V generation in dEQP-VK.spirv_assembly
 * Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
 * Add missing barrier in ssbo layout tests

Bug: 38260702
Change-Id: I1c00d4b63c339ba69990b64a5bb225c661957e4c

7 years agoMerge "Fix GCC 6.3 warnings in aosp/master"
Treehugger Robot [Tue, 9 May 2017 18:32:17 +0000 (18:32 +0000)]
Merge "Fix GCC 6.3 warnings in aosp/master"

7 years agoFix GCC 6.3 warnings in aosp/master
Pyry Haulos [Thu, 30 Mar 2017 23:42:23 +0000 (16:42 -0700)]
Fix GCC 6.3 warnings in aosp/master

Change-Id: I0a90ba7ed2e52fdadf554236850533298b2e1a9e

7 years agoFix negative CompressedTexImage2D tests
Alexander Galazin [Mon, 8 May 2017 12:31:15 +0000 (14:31 +0200)]
Fix negative CompressedTexImage2D tests

Certain tests expect GL_VALID_VAULE for
glCompressedTexImage2D(GL_TEXTURE_2D, -1, 0x8b90, 0, 0, 0, 0, 0).

0x8b90 is a palette format PALETTE4_RGB8 and
the OES_compressed_paletted_texture extension allows
negative values for the level parameter:
    Accepted by the <level> parameter of CompressedTexImage2D
        Zero and negative values.  |level| + 1 determines the number of
        mip levels defined for the paletted texture.

This change fixes the tests in presence of
the OES_compressed_paletted_texture extension.

Components: AOSP
Google bug: 38109626

Affects:
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_tex2d
dEQP-GLES2.functional.negative_api.texture.compressedteximage2d_neg_level_cube

Change-Id: Ia37e3fecaf3547abfb209803378114043c63a243

7 years agodEQP-VK: Fix and inline the Image::getPixelOffset helper
Jason Ekstrand [Thu, 27 Apr 2017 15:02:22 +0000 (08:02 -0700)]
dEQP-VK: Fix and inline the Image::getPixelOffset helper

The helper was wrong in a number of ways.  First, it tries to calculate
an offset to the particular mip level and array layer requested even
though the driver already provides that as part of the offset returned
by getImageSubresourceLayout.  If someone tried to use this with a
non-zero mip level or array layer they would get the wrong offset
because it would be added in twice.  Second, the calculation depended on
an array called mipLevelRectSizes array which was used but never
initialized.  This commit gets rid of the helper and just does the right
calculation inside MemoryOp::readLinear and MemoryOp::uploadLinear.

This affects the following groups of tests:

 - dEQP-VK.draw.*
 - dEQP-VK.dynamic_state.*
 - dEQP-VK.query_pool.*

Change-Id: If0da72023cbc437d2a13d60f83e1230f0f90ba39

7 years agoMerge "Fix color change verification in dithering tests" into nougat-cts-dev am:...
Pyry Haulos [Wed, 3 May 2017 16:10:09 +0000 (16:10 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev am: acf47d464f
am: c2594c65ff

Change-Id: Ifd798f6964576b23950beaedc843a4efce806968

7 years agoMerge "Fix color change verification in dithering tests" into nougat-cts-dev
Pyry Haulos [Wed, 3 May 2017 16:07:36 +0000 (16:07 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev
am: acf47d464f

Change-Id: I82bfed0cc9cee128a8552b4e8cf3fb87ced37c9f

7 years agoMerge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts...
Pyry Haulos [Wed, 3 May 2017 16:05:58 +0000 (16:05 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev am: 9a83ec3f47
am: 90e6678bc9  -s ours

Change-Id: I157b06b418801793909c853f0e3f51c574283d15

7 years agoMerge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev am:...
Alexander Galazin [Wed, 3 May 2017 16:05:41 +0000 (16:05 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev am: eebcec1b52
am: 2585331908

Change-Id: Ibc91272a8ad15f813f273cf05bb6b6f846ae600f

7 years agoMerge "Fix color change verification in dithering tests" into nougat-cts-dev
Treehugger Robot [Wed, 3 May 2017 16:04:13 +0000 (16:04 +0000)]
Merge "Fix color change verification in dithering tests" into nougat-cts-dev

7 years agoMerge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev
Pyry Haulos [Wed, 3 May 2017 16:03:19 +0000 (16:03 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev
am: 9a83ec3f47

Change-Id: I1dfb480ed3b5fb7f384a8fe9b0a852134fde1500

7 years agoMerge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
Alexander Galazin [Wed, 3 May 2017 16:03:07 +0000 (16:03 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
am: eebcec1b52

Change-Id: Ib4d673157f82d00d0d27ab3496ac8a1dc6634fe1

7 years agoTry to determine renderable format in lifetime tests am: c0a5dc217f
Pyry Haulos [Wed, 3 May 2017 16:01:08 +0000 (16:01 +0000)]
Try to determine renderable format in lifetime tests am: c0a5dc217f
am: eba26e2387

Change-Id: I374e4e781d4b3d89c9e6a9e97deffe466298ddea

7 years agoMerge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev
Treehugger Robot [Wed, 3 May 2017 16:01:05 +0000 (16:01 +0000)]
Merge "DEPTH_STENCIL_OES as tex format requires OES_depth_texture" into nougat-cts-dev

7 years agoMerge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
Treehugger Robot [Wed, 3 May 2017 15:59:50 +0000 (15:59 +0000)]
Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev

7 years agoTry to determine renderable format in lifetime tests
Pyry Haulos [Wed, 3 May 2017 15:58:34 +0000 (15:58 +0000)]
Try to determine renderable format in lifetime tests
am: c0a5dc217f

Change-Id: I99514ee1a3ccb9a0aa397f0a8e9e7d45b47ec9ba

7 years agoMerge "Log which watchdog timer was exceeded"
Treehugger Robot [Fri, 28 Apr 2017 22:51:12 +0000 (22:51 +0000)]
Merge "Log which watchdog timer was exceeded"

7 years agoLog which watchdog timer was exceeded
Kalle Raita [Thu, 27 Apr 2017 18:43:27 +0000 (11:43 -0700)]
Log which watchdog timer was exceeded

Test: Timeout failure for max_concurrent.framebuffer on Marlin
Change-Id: Ie8396c6506e09bbe94c6d5dc6c29fd6e20c7f436

7 years agoAdd tests for VK_KHR_shared_presentable_image
Chris Forbes [Thu, 2 Feb 2017 20:42:12 +0000 (09:42 +1300)]
Add tests for VK_KHR_shared_presentable_image

Initial smoke test for shared image present modes. For each of the new
present modes, exercises a shared image swapchain through a number of
frames, monitoring the status via vkGetSwapchainStatusKHR.

This is not particularly rigorous, but tests if the extension works at
all.

New tests:

dEQP-VK.wsi.*.shared_presentable_image.*

Components: Vulkan

Change-Id: I0e143a2c556ea38a78c32fca4f3bd2b81d16f7dc
(cherry picked from commit 8fd97e075d00a848c5b880f9f4c67711d9cd60d6)

7 years agoAdd tests for VK_KHR_get_surface_capabilities2
Pyry Haulos [Tue, 7 Feb 2017 22:24:46 +0000 (14:24 -0800)]
Add tests for VK_KHR_get_surface_capabilities2

Surface query tests are extended with two new test cases that verify that
new extended queries return values identical to the non-extended queries.

dEQP-VK.wsi.*.surface.query_formats is changed to check for duplicate
formats in order to make validation between non-extended and extended
formats lists more robust.

New tests:
 * dEQP-VK.wsi.*.surface.query_capabilities2
 * dEQP-VK.wsi.*.surface.query_formats2

Changed tests:
 * dEQP-VK.api.info.instance.extensions
 * dEQP-VK.wsi.*.surface.query_formats

VK-GL-CTS issue: 129

Change-Id: I9a43e3d68843eccc64be837dda2142e456675c63
(cherry picked from commit 86f207a29668bd4e1e46f7c7d89e84d65e1bc64b)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Fri, 28 Apr 2017 08:14:23 +0000 (10:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

7 years agodEQP-VK: Fix and inline the Image::getPixelOffset helper
Jason Ekstrand [Thu, 27 Apr 2017 15:02:22 +0000 (08:02 -0700)]
dEQP-VK: Fix and inline the Image::getPixelOffset helper

The helper was wrong in a number of ways.  First, it tries to calculate
an offset to the particular mip level and array layer requested even
though the driver already provides that as part of the offset returned
by getImageSubresourceLayout.  If someone tried to use this with a
non-zero mip level or array layer they would get the wrong offset
because it would be added in twice.  Second, the calculation depended on
an array called mipLevelRectSizes array which was used but never
initialized.  This commit gets rid of the helper and just does the right
calculation inside MemoryOp::readLinear and MemoryOp::uploadLinear.

This affects the following groups of tests:

 - dEQP-VK.draw.*
 - dEQP-VK.dynamic_state.*
 - dEQP-VK.query_pool.*

Change-Id: If0da72023cbc437d2a13d60f83e1230f0f90ba39

7 years agomakeFramebufferWithoutAttachments creates invalid framebuffer
Alex Walters [Thu, 27 Apr 2017 09:24:08 +0000 (10:24 +0100)]
makeFramebufferWithoutAttachments creates invalid framebuffer

Current behaviour of setting width, height, and layers to zero is
invalid. The validity language specifies that width, height, and
layers must be > 0.

The same function exists in the utils files for sparse_resources
and synchronization tests, I've removed the unused copies.

Affects:

dEQP-VK.tessellation*

Components: Vulkan

VK-GL-CTS issue: 265

(cherry picked from commit bce45b549d21f068a75d005fe55bd87460b5df29)

Change-Id: I7e6196944b1197ca3ce2d16ff17623e6e9bcfae7

7 years agomakeFramebufferWithoutAttachments creates invalid framebuffer
Alex Walters [Thu, 27 Apr 2017 09:12:28 +0000 (10:12 +0100)]
makeFramebufferWithoutAttachments creates invalid framebuffer

Current behaviour of setting width, height, and layers to zero is
invalid. The validity language specifies that width, height, and
layers must be > 0.

The same function exists in the utils files for sparse_resources
and synchronization tests, I've removed the unused copies.

Affects:

dEQP-VK.tessellation*

Components: Vulkan

VK-GL-CTS issue: 265

Change-Id: I201377ec5064d84eb3beb959ac5acf72e687c0b2

7 years agoUpdate Android CTS Vulkan waivers list to match Khronos CTS
Pyry Haulos [Thu, 20 Apr 2017 22:36:04 +0000 (15:36 -0700)]
Update Android CTS Vulkan waivers list to match Khronos CTS

Bug: 36817508
Change-Id: Ib394652ca3229a06704a83bea53806a3397c7ec3

7 years agoFix error mask generation in checkLineContinuity
Alexander Galazin [Thu, 20 Apr 2017 12:08:44 +0000 (14:08 +0200)]
Fix error mask generation in checkLineContinuity

Even if some pixels are missing the function could return
all-zero errorMask if the messageLimitcounter was exhausted.

Components: AOSP
Affects: dEQP-GLES31.functional.primitive_bounding_box.lines.*

Google bug: 35987764

7 years agoEnsure expected error in copytexsubimage2d_incomplete_framebuffer
Alexander Galazin [Wed, 19 Apr 2017 06:33:39 +0000 (08:33 +0200)]
Ensure expected error in copytexsubimage2d_incomplete_framebuffer

The GLES2 version of the copytexsubimage2d_incomplete_framebuffer test could
potentially throw INVALID_OPERATION instead of expected INVALID_FRAMEBUFFER_OPERATION
due to the cubemap texture not being defined by a previous TexImage2D.
This change re-uses the GLES3 version of the same test and ensures that
INVALID_FRAMEBUFFER_OPERATION is thrown.

Affects:
dEQP-GLES2.functional.negative_api.texture.copytexsubimage2d_incomplete_framebuffer

Change-Id: I7b3f770ff31c73d770a53f6b6bdae3ea4a37b63a
Components: AOSP
Google bug: 37497541

7 years agoFix color change verification in dithering tests
Pyry Haulos [Tue, 18 Apr 2017 23:13:59 +0000 (16:13 -0700)]
Fix color change verification in dithering tests

Tests were supposed to allow color change once per row/column depending
on gradient direction but instead allowed color change in constant
direction only once over whole image.

Affects:

dEQP-GLES2.functional.dither.disabled.gradient_*
dEQP-GLES3.functional.dither.disabled.gradient_*

Bug: 37477346
Change-Id: I37ef06b4ff527f8c316eae56c8a99c88cdaaf4b4

7 years agoTry to determine renderable format in lifetime tests
Pyry Haulos [Mon, 17 Apr 2017 21:34:27 +0000 (14:34 -0700)]
Try to determine renderable format in lifetime tests

Affects:

dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
dEQP-GLES2.functional.lifetime.attach.deleted_input.texture_framebuffer
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
dEQP-GLES2.functional.lifetime.attach.deleted_output.texture_framebuffer

Bug: 36724173

Change-Id: I46196317c144f294adce65ff4690571d28e1caf3

7 years agoDEPTH_STENCIL_OES as tex format requires OES_depth_texture
Pyry Haulos [Mon, 17 Apr 2017 19:34:26 +0000 (12:34 -0700)]
DEPTH_STENCIL_OES as tex format requires OES_depth_texture

Affects:

dEQP-GLES2.functional.fbo.completeness.*
dEQP-GLES3.functional.fbo.completeness.*

Bug: 36727598
Merged-In: Ic79408c21b80ea458baecf79c042e2694e72e0b2
Change-Id: Ib302b21b2b28d4f13aa6df8bdcac878f22ae51be

7 years agoDEPTH_STENCIL_OES as tex format requires OES_depth_texture
Pyry Haulos [Mon, 17 Apr 2017 19:34:26 +0000 (12:34 -0700)]
DEPTH_STENCIL_OES as tex format requires OES_depth_texture

Affects:

dEQP-GLES2.functional.fbo.completeness.*
dEQP-GLES3.functional.fbo.completeness.*

Bug: 36727598
Change-Id: Ic79408c21b80ea458baecf79c042e2694e72e0b2

7 years agoeglGetFrameTimestamps: Use reserved enum values.
Brian Anderson [Wed, 12 Apr 2017 00:06:53 +0000 (17:06 -0700)]
eglGetFrameTimestamps: Use reserved enum values.

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

7 years agoeglGetFrameTimestamps: Allow optional present support.
Brian Anderson [Wed, 5 Apr 2017 19:42:52 +0000 (12:42 -0700)]
eglGetFrameTimestamps: Allow optional present support.

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

Change-Id: I5cfb334966f7f2794fe0043e1809de324a6e3d0e

7 years agoeglGetFrameTimestamps: pending vs. invalid timestamps.
Brian Anderson [Tue, 21 Mar 2017 20:03:33 +0000 (13:03 -0700)]
eglGetFrameTimestamps: pending vs. invalid timestamps.

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

Change-Id: I27718995c82748b55bc53e4d78a7f572e16a45ab

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Wed, 12 Apr 2017 03:44:44 +0000 (20:44 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Pyry Haulos [Wed, 12 Apr 2017 03:43:22 +0000 (11:43 +0800)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: Iff109ea0dba048599d3deb4d8f42a7cac8b62283

7 years agoFix typo in dE-IT.build_info.de_endianness_consistent name
Pyry Haulos [Wed, 12 Apr 2017 03:08:15 +0000 (11:08 +0800)]
Fix typo in dE-IT.build_info.de_endianness_consistent name

Components: AOSP

Change-Id: Ie2cb1335834c010251021bac6b3882a37ede3f75

7 years agoMerge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts...
Ian Romanick [Tue, 11 Apr 2017 17:17:48 +0000 (17:17 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev am: aeef6dd8f5
am: a4ddab16dd

Change-Id: I18fe6a8ba3ba328513afdf1f5e5d32db6de32373

7 years agoMerge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev
Ian Romanick [Tue, 11 Apr 2017 17:13:17 +0000 (17:13 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev
am: aeef6dd8f5

Change-Id: I8300511b30c7bd03885a6cb019970852f7e72693

7 years agoMerge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev
Treehugger Robot [Tue, 11 Apr 2017 16:56:42 +0000 (16:56 +0000)]
Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts-dev

7 years agoTry harder to defeat GLSL compiler dead-code optimizations
Ian Romanick [Thu, 10 Nov 2016 01:29:01 +0000 (17:29 -0800)]
Try harder to defeat GLSL compiler dead-code optimizations

A number of CTS tests generate shaders like like:

    #version 310 es

    buffer TargetInterface
    {
            highp float target;
    };

    highp vec4 readInputs()
    {
            highp vec4 retValue = vec4(0.0);
            retValue += vec4(float(target));
            return retValue;
    }

    void writeOutputs(in highp vec4 dummyValue)
    {
            target = float(dummyValue.y);
    }

    void main()
    {
            writeOutputs(readInputs());
    }

After various common optimizations this becomes:

    buffer TargetInterface
    {
            highp float target;
    };

    void main()
    {
            target = target;
    }

In the absence of memoryBarrier() or qualifiers on the buffer, there is
no guarantee about the order of writes to the buffer.  Since this write
is not guaranteed to be visible either on the GPU or the CPU, we
eliminate it.  Since there is no access to target in the shader, we
report GL_REFERENCED_BY_FRAGMENT_SHADER = GL_FALSE.  The tests expect
GL_TRUE.

The vectored versions of this test swizzle the value read from the
buffer before writing it back.  These writes are not eliminated.

Adding a uniform instead of a literal constant also prevents the reads
and writes of the SSBO from being eliminated.

v2: Ignore the uniform named "zero" in
ResourceListTestCase::verifyResourceList.  The alternative was to add
zero to the resource list, but that required making small changes
(mostly removing const) from over a dozen places in the code.  This
slightly hacky, but localized, change seemed better.

v3: Various coding standards fixes suggested by Alexander Galazin and
Pyry.  Add getDummyZeroUniformName to query name of the zero uniform and
a lot more documentation.  Both suggested by Pyry.

The following tests are affected:

- dEQP-GLES31.functional.program_interface_query.buffer_variable.random.6
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block.float
- dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block.float

Change-Id: I867ad32476269ac1272c09672be0a6d6fe37e31e
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16114
Google bug: 37228062

7 years agoMerge "Allow robustness tests on GLES 3.0"
Kalle Raita [Fri, 7 Apr 2017 19:42:06 +0000 (19:42 +0000)]
Merge "Allow robustness tests on GLES 3.0"

7 years agoAllow robustness tests on GLES 3.0
Kalle Raita [Thu, 30 Mar 2017 17:23:47 +0000 (10:23 -0700)]
Allow robustness tests on GLES 3.0

Allow selected robustness tests run on GLES 3.0 instead of always
requiring 3.1.

Affects: dEQP-EGL.functional.robustness.*
Bug: 36428911
Test: dEQP-EGL.functional.robustness.* on Pixel XL

Change-Id: I78f543dcd667b5121f61150b082fd4a4a9c14b23

7 years agoMerge vulkan-cts-1.0.2 into aosp/master
Pyry Haulos [Thu, 6 Apr 2017 22:02:17 +0000 (15:02 -0700)]
Merge vulkan-cts-1.0.2 into aosp/master

Contains following fixes that have been made after vulkan-cts-1.0.2.2:

 * Fix - uniform buffer incorrectly dereferenced
 * Use vkGetInstanceProcAddr(NULL) to load platform funcs
 * Imgtec Waiver for texture_gather*cube*depth32f*
 * Add VK_KHR_incremental_present to the list of allowed device
extensions
 * Use -std=c++03 with GCC and clang
 * Fix GCC 6.3 warnings in vulkan-cts-1.0.2
 * Improve check_build_sanity.py
 * Relax image verification in anisotropic filtering tests
 * Respect maxColorAttachments in image tests
 * Fix SPIR-V generation in dEQP-VK.spirv_assembly
 * Fix - depth/stencil images mandatory only for VK_IMAGE_TYPE_2D
 * Add missing barrier in ssbo layout tests

This merge doesn't match any Vulkan CTS release tag.

Bug: 36899783
Bug: 36817508
Change-Id: I5dff02835e5296e1c25ba67675c06e2261e5c476

7 years agoMerge "x11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found"
Pyry Haulos [Thu, 6 Apr 2017 22:00:39 +0000 (22:00 +0000)]
Merge "x11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found"

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Thu, 6 Apr 2017 18:04:35 +0000 (11:04 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Iaedfbb3579c55d33ebfc415197a67b8145725f4f

7 years agoFix - uniform buffer incorrectly dereferenced
Marcin Kańtoch [Tue, 4 Apr 2017 12:31:34 +0000 (14:31 +0200)]
Fix - uniform buffer incorrectly dereferenced

Uniform buffer is incorrectly dereferenced in
ssbo layout tests.

Affected tests: dEQP-VK.ssbo.layout.*

Change-Id: I5831ad75f558f8992bed6bdc48b1833d2ee13d26

7 years agoUse vkGetInstanceProcAddr(NULL) to load platform funcs
Pyry Haulos [Wed, 5 Apr 2017 18:05:03 +0000 (11:05 -0700)]
Use vkGetInstanceProcAddr(NULL) to load platform funcs

Vulkan specification says that only vkGetInstanceProcAddr() has to be
loaded using platform-specific means. Other 'platform'-class functions,
listed below, can be loaded using vkGetInstanceProcAddr(NULL, pName).

Following functions are loaded with vkGetInstanceProcAddr():
 * vkEnumerateInstanceExtensionProperties
 * vkEnumerateInstanceLayerProperties
 * vkCreateInstance

Change-Id: Iab0657bf93d3a36e4f4dda4a1f1550024db0890e

7 years agoDo not re-init GL functions after context reset
Pyry Haulos [Thu, 6 Apr 2017 16:03:37 +0000 (09:03 -0700)]
Do not re-init GL functions after context reset

SharedContextResetCase was calling initGLFunctions() using a context
belonging to a share group where context reset has occurred.
initGLFunctions() calls glGetError() internally and at that point it
would return GL_CONTEXT_LOST.

Affects:

dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.vertex
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.fragment
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.vertex_and_fragment
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.compute

Bug: 37077017
Change-Id: I27ae0951565760dee0bcc5040bb02a45c8f568f3

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Pyry Haulos [Wed, 5 Apr 2017 18:34:23 +0000 (11:34 -0700)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I2614d3a7ce451d47418e7c850a7c2c372f2189a9

7 years agoImgtec Waiver for texture_gather*cube*depth32f*
Alex Walters [Mon, 3 Apr 2017 10:46:36 +0000 (11:46 +0100)]
Imgtec Waiver for texture_gather*cube*depth32f*

Some versions of Imagination Technologies G6200, G6230, G6400, and
G6430 Rogue Series 6 GPU's are unable to correctly filter CEM corners
with F32 textures, this includes the ability to gather texels for texel
gather instructions.

This CL excludes the affected tests from mustpass.

Affects:

All dEQP-VK.glsl.texture_gather.basic.cube.depth32f* tests except:

dEQP-VK.glsl.texture_gather.basic.cube.depth32f.no_corners*

Components: Vulkan

VK-GL-CTS issue: 336

Change-Id: I4e20d887ad2901f78a7af326035d7a2a9ae5e76a

7 years agox11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found
Tapani Pälli [Wed, 5 Apr 2017 06:39:17 +0000 (09:39 +0300)]
x11_egl: search for glesv1_cm, toggle DEQP_SUPPORT_GLES1 on if found

Some tests require GLES1 support and report test failure if support
has not been built. Patch changes build time configure to check GLES1
via pkg-config. If it is found, we turn on GLES1 support so that tests
will run and pass.

Change-Id: I586464c5fb7bffc40355caf57b30438f37ce1f6c
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
7 years agoFix shader bugs in OOB tests
Alexander Galazin [Wed, 5 Apr 2017 07:30:06 +0000 (09:30 +0200)]
Fix shader bugs in OOB tests

1. Check that the required number of vertex shader storage blocks is supported,
   throw NotSupported otherwise.
2. Use an array instead of a vector in local_array tests.
3. Try harder to defeat compiler optimizations on arrays, i.e. initialize it
   with different values.

Components: AOSP

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.*.shader_storage_block.vertex*
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.*.local_array.*

Google bug: 36891454

Change-Id: I2aeb2d454295993126d4048759e5981421d5c0db

7 years agoAdd VK_KHR_incremental_present to the list of allowed device extensions
Iago Toral Quiroga [Tue, 4 Apr 2017 09:50:37 +0000 (11:50 +0200)]
Add VK_KHR_incremental_present to the list of allowed device extensions

Otherwise dEQP-VK.api.info.device.extensions will fail
for drivers that expose the extension.

Components: Vulkan
VK-GL-CTS issue: 346

Affects:
dEQP-VK.api.info.device.extensions

Change-Id: If1a5d971226adca2bfd1586cb1f568e2ca244b6d

7 years agoUse -std=c++03 with GCC and clang
Pyry Haulos [Thu, 30 Mar 2017 23:59:27 +0000 (16:59 -0700)]
Use -std=c++03 with GCC and clang

dEQP currently maintains minimum requirement of c++03 support from
toolchains. Use of c++11 or newer is not allowed

GCC 6.1 enables c++14 mode by default and developers might accidentally
use features from it unless we specify c++03 version.

Change-Id: If9ed0f009310b63b29b6a8a355969030b45139ba
Components: Framework

7 years agoFix GCC 6.3 warnings in vulkan-cts-1.0.2
Pyry Haulos [Thu, 30 Mar 2017 23:42:23 +0000 (16:42 -0700)]
Fix GCC 6.3 warnings in vulkan-cts-1.0.2

Change-Id: Iede7ed79a031ab38c0665d1a115e34d034d2b662