platform/upstream/VK-GL-CTS.git
4 years agoRemove 16-bit storage requirement from half arithmetic tests
Alan Baker [Mon, 19 Aug 2019 14:33:06 +0000 (10:33 -0400)]
Remove 16-bit storage requirement from half arithmetic tests

* Rewrite float16 arithmetic tests to load/store 32-bit values
* Values store in uints and reinterpreted as half vectors
* New sets of functions to load and store variables

Component: Vulkan

VK-GL-CTS issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.*.float16.arithmetic*.*

Change-Id: I6b4665103f723b6eb1d6a11320a622c6c0470863

4 years agoAccept saturated values for the 32bit buffer
Tomasz Owczarek [Mon, 9 Sep 2019 15:03:44 +0000 (16:03 +0100)]
Accept saturated values for the 32bit buffer

API documentation, extension 1.1, vkGetQueryPoolResults description:
"If VK_QUERY_RESULT_64_BIT is not set and the result overflows a 32-bit
value, the value may either wrap or saturate."

Affects:
dEQP-VK.pipeline.timestamp.misc_tests.*

Components: Vulkan

VK-GL-CTS issue: 1985

Change-Id: Id229ea4c13b52bf27c00de734c437d878365fef9

4 years agoRemove 1.1.0.3 from the list of accepted versions
Alexander Galazin [Thu, 5 Sep 2019 08:54:18 +0000 (10:54 +0200)]
Remove 1.1.0.3 from the list of accepted versions

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I34965c973c1fe003dc5ca61e37ddce79d491acd3

4 years agoNotice of withdrawal of Vulkan CTS 1.1.2.x
Alexander Galazin [Wed, 4 Sep 2019 20:06:14 +0000 (22:06 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.2.x

Components: Vulkan

Change-Id: Icd63b3d4bf9625c4235bc47b05194ebe04fed59e

4 years agoFix Android mustpass
Alexander Galazin [Fri, 6 Sep 2019 11:48:07 +0000 (13:48 +0200)]
Fix Android mustpass

Change-Id: Ifa36b7f6beee082b41773c069f6b01b330f09cf9

4 years agodEQP-VK.graphicsfuzz.write-red-in-loop-nest
Alastair Donaldson [Wed, 21 Aug 2019 07:48:43 +0000 (08:48 +0100)]
dEQP-VK.graphicsfuzz.write-red-in-loop-nest

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.write-red-in-loop-nest

Change-Id: I026829faffa3dc27fa2269ae67bff092b3bede7d

4 years agoVK_EXT_line_rasterization tests
Jeff Bolz [Wed, 22 May 2019 19:00:25 +0000 (14:00 -0500)]
VK_EXT_line_rasterization tests

Components: Vulkan

Affects: dEQP-VK.rasterization.*
Change-Id: I69a3be4c19005f5f944da57285687cf564473da4

4 years agoFix API usage errors in geometry tests
Ilkka Saarelainen [Wed, 21 Aug 2019 11:41:07 +0000 (14:41 +0300)]
Fix API usage errors in geometry tests

Fixes validation errors in various geometry tests.

geometry.basic.output_* tests were potentially exceeding the
maxGeometryTotalOutputComponents limit because the gl_PerVertex was
implicitly declared and therefore contained gl_Position and gl_PointSize.
Now the gl_PerVertex is declared explicitly to contain only gl_Position.

Fixes flush/invalidate mapped memory range -validation errors by using the
flushAlloc/invalidateAlloc -framework functions.

Affects:
dEQP-VK.geometry.basic.output_*
dEQP-VK.geometry.instanced.*

Components: Vulkan

VK-GL-CTS issue: 1911

Change-Id: I8e4cfd5879ba8c61be3019578b8afbc76592d82e

4 years agoFix build when DEQP_HAVE_GLSLANG not defined
David Emett [Wed, 21 Aug 2019 18:48:38 +0000 (19:48 +0100)]
Fix build when DEQP_HAVE_GLSLANG not defined

Change-Id: I437a51e03c72b823ae3093fbce178f556b0e23c1

4 years agodEQP-VK.graphicsfuzz.unreachable-loops
Alastair Donaldson [Wed, 21 Aug 2019 07:51:26 +0000 (08:51 +0100)]
dEQP-VK.graphicsfuzz.unreachable-loops

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.unreachable-loops

Change-Id: I0dd661075f3ceb825bf542f0acd6bbeb3ea5c5c7

4 years agodEQP-VK.graphicsfuzz.write-before-break
Alastair Donaldson [Wed, 21 Aug 2019 07:53:19 +0000 (08:53 +0100)]
dEQP-VK.graphicsfuzz.write-before-break

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.write-before-break

Change-Id: I0a03a211a2d0696e4f6562c4604155be6eca7c24

4 years agoTest for loop with condition always false
Ari Suonpaa [Wed, 21 Aug 2019 11:02:25 +0000 (14:02 +0300)]
Test for loop with condition always false

Added a shader found by GraphicsFuzz: A function gets
passed a value which is used as a condition in a for
loop. The condition is always false. The shader should
get past the for loop and write a red color.

New tests:

dEQP-VK.graphicsfuzz.for-condition-always-false

Components: Vulkan

VK-GL-CTS issue: 1935

Change-Id: I0a1d19601d81d4aaad4961877839047f930ea735

4 years agoTest cbuffer packing with scalar block layout
Piotr Byszewski [Thu, 4 Jul 2019 11:40:03 +0000 (13:40 +0200)]
Test cbuffer packing with scalar block layout

Components: Vulkan

VK-GL-CTS issue: 1826

Add tests:
dEQP-VK.spirv_assembly.instruction.compute.hlsl_cases.cbuffer_packing

Change-Id: Ibeef726b4d0387b021184c68cd313173f834d06d

4 years agodEQP-VK.graphicsfuzz.do-while-loop-in-conditionals
Alastair Donaldson [Thu, 4 Jul 2019 13:17:15 +0000 (14:17 +0100)]
dEQP-VK.graphicsfuzz.do-while-loop-in-conditionals

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.do-while-loop-in-conditionals

Change-Id: I232d4bf0010f08d7c9352f7258fda34272e89cbc

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Wed, 4 Sep 2019 11:48:17 +0000 (13:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I6404ea1298af477547223b20cfd29d24d679578d

4 years agoFixes binding_model tests check for shaderInt64
Matthew Netsch [Tue, 27 Aug 2019 19:30:31 +0000 (15:30 -0400)]
Fixes binding_model tests check for shaderInt64

Components: Vulkan
VK-GL-CTS Issue: 1956

Affects:
dEQP-VK.binding_model.buffer_device_address.*.convert.*

Change-Id: I36d71e75eb3767d2f94ef260436b8c036f0c4ea1

4 years agoUpdate glslang, SPIR-V tools
Alexander Galazin [Mon, 2 Sep 2019 08:37:02 +0000 (10:37 +0200)]
Update glslang, SPIR-V tools

Components: Framework

Affects: dEQP-VK.*

Change-Id: I0efb840ae228f6f88dc8555977484362dd5819d5

4 years agoUpdate Vulkan headers to 1.1.121
Samuel Iglesias Gonsálvez [Fri, 30 Aug 2019 09:27:03 +0000 (11:27 +0200)]
Update Vulkan headers to 1.1.121

Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions. It was needed
to add AMD in extension postfix list in gen_framework.py.

Components: Vulkan

Change-Id: I34725518baa9ada0948c0a0d473fb1101ef1541f

4 years agoTest enum with settings for separate controls
Piotr Byszewski [Mon, 10 Jun 2019 13:09:31 +0000 (15:09 +0200)]
Test enum with settings for separate controls

The original VK_KHR_shader_controls shipped with booleans named
"separateDenormSettings" and "separateRoundingModeSettings". In
recent specification update those boolean values were changed into
a tri-state enum. This change adjusts tests to that.

Components: Vulkan

VK-GL-CTS issue: 1791

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
dEQP-VK.spirv_assembly.instruction.compute.float_controls.independence_settings.*
dEQP-VK.spirv_assembly.instruction.compute.float16.logical_nan.*
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp*
dEQP-VK.spirv_assembly.instruction.graphics.float16.logical_nan.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp*

Change-Id: Ibabef071e32c75468176d505624c1cb140c26a47

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Fri, 30 Aug 2019 11:59:52 +0000 (13:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: If203fa7411adf24da1cd1b1c88ea793bd2fc117f

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 30 Aug 2019 09:24:03 +0000 (11:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I00f17a688d8b0b2e6c13cab41f9db2f1f853ec8b

4 years agoFix uniformBufferStandardLayout enforcement to match spec
Chris Forbes [Thu, 29 Aug 2019 16:59:43 +0000 (09:59 -0700)]
Fix uniformBufferStandardLayout enforcement to match spec

This extension isn't part of 1.1 -- the spec language was just unclear
if you were looking at the output. The spec has been fixed in
https://gitlab.khronos.org/vulkan/vulkan/commit/aa98ba6f89b9ea707d7efc0c8f71dd82ac9ffb60

Affects: dEQP-VK.api.info.device.mandatory_features
VK-GL-CTS Issue: 1966

Change-Id: I321730f747200036a3d635245bf978eb49b56c2c

4 years agoUse enumerateDeviceExtensionProperties in mandatory features
Alexander Galazin [Thu, 29 Aug 2019 06:04:01 +0000 (08:04 +0200)]
Use enumerateDeviceExtensionProperties in mandatory features

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

Components: Vulkan

VK-GL-CTS issue: 1966

Change-Id: I4d72da3a36e6d31ac4025ff2b25fc3b83fdc20d3

4 years agoFixes sync test shader instance counts
Matthew Netsch [Wed, 28 Aug 2019 15:05:25 +0000 (11:05 -0400)]
Fixes sync test shader instance counts

Tests incorrectly required implementations to
execute only 1 vs instance per vertex.

Components: Vulkan
VK-GL-CTS Issue: 1958

Affects:
dEQP-VK.synchronization.op.*.write_indirect_buffer*

Change-Id: I17e42658706712a4f9d07931ac234c1e1807d693

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 30 Aug 2019 08:42:04 +0000 (10:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I3a118287f4387c798fb2beb82113029308f0762b

4 years agoAdds geometry shader check for test
Matthew Netsch [Wed, 28 Aug 2019 16:31:19 +0000 (12:31 -0400)]
Adds geometry shader check for test

Components: Vulkan
VK-GL-CTS Issue: 1900

Affects:
dEQP-VK.query_pool.statistics_query.input_assembly*.primary.*adjacency

Change-Id: I6aeb72143231d59711cb1d6ea98bc2cc0264bc84

4 years agoReduce long execution time in spirv_asm float16
Matthew Netsch [Wed, 28 Aug 2019 16:17:00 +0000 (12:17 -0400)]
Reduce long execution time in spirv_asm float16

Components: Vulkan
VK-GL-CTS Issue: 1959

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.*

Change-Id: Iddfa825ffe5bf32607043eb31b517dbba1ff62dc

4 years agoFix pixels_resolution computation in GLSL shader
Yanjun Zhang [Wed, 28 Aug 2019 00:35:26 +0000 (17:35 -0700)]
Fix pixels_resolution computation in GLSL shader

branch: vulkan-cts-1.1.3
Components: Vulkan

Affects:
dEQP-VK.image.texel_view_compatible.graphic.extended.*

VK-GL-CTS issue: 1890

Change-Id: I4aa3270545e0b873bdc8baacaf1fc3947004d003

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Thu, 29 Aug 2019 14:02:15 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I3a8423407ccb77943a3ce85b6dfbfaf679508c49

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 29 Aug 2019 12:06:21 +0000 (14:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ic4d2bda684057e57ae78e3894e646a8b4653da74

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 29 Aug 2019 10:34:59 +0000 (12:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I75388239129fe489793729297b9aff59da4d77da

4 years agoexternal fence tests: account for sync fd -1 in multiple export case
Lingfeng Yang [Wed, 21 Aug 2019 15:45:10 +0000 (08:45 -0700)]
external fence tests: account for sync fd -1 in multiple export case

Spec allows for sync fd == -1 to be returned from vkGetFenceFdKHR
as a signal that the fence is signaled.

VK-GL-CTS issue: 1937

Components: Vulkan

Affects:
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary

Change-Id: I7391d180bdc1a585c7b57930fc1750d13f7151e1
(cherry picked from commit e266d2f1ee82d20c06c3c48064f60ac4fecd8b1d)

4 years agoExplicitly use -A Win32 platform in CMake Visual Studio 2019 builds
Slawomir Cygan [Fri, 23 Aug 2019 12:33:19 +0000 (14:33 +0200)]
Explicitly use -A Win32 platform in CMake Visual Studio 2019 builds

There is a new CMake switch "-A" for selecting a platform in
Visual Studion CMake generators.

It was set only for 64-bit builds (to x64), however it seems it does not
default to Win32 - so it must be set also for 32-bit builds.

Components: Framework

VK-GL-CTS Issue: 1950

Change-Id: I4d0e9f1a9c8dd0f3060e138f613c8e5326b6fc9f

4 years agodEQP-VK.graphicsfuzz.unreachable-barrier-in-loops
Alastair Donaldson [Tue, 16 Jul 2019 10:09:38 +0000 (11:09 +0100)]
dEQP-VK.graphicsfuzz.unreachable-barrier-in-loops

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.unreachable-barrier-in-loops

Change-Id: I2b24da2b4df4e446fe7ac716b0fdc159290137d9

4 years agoImprove verification in sampled image tests
Toni Merilehti [Thu, 25 Jul 2019 10:46:52 +0000 (13:46 +0300)]
Improve verification in sampled image tests

Currently the tests use texelFetch (OpImageFetch) to get sample colors
per texel from a multisampled image and verifies that the color is
either the clear color or the primitive color used. This CL makes
the verification more strict by requiring that at least some texels
have samples of both colors as the image used is multisampled.

Affects:

dEQP-VK.pipeline.multisample.sampled_image.*

Components: Vulkan

VK-GL-CTS issue: 1797

Change-Id: I266538cad5f655ad96eb7221fbdd601b8b055ae8

4 years agodEQP-VK.graphicsfuzz.struct-used-as-temporary
Alastair Donaldson [Thu, 15 Aug 2019 15:07:13 +0000 (16:07 +0100)]
dEQP-VK.graphicsfuzz.struct-used-as-temporary

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.struct-used-as-temporary

Change-Id: Icf9311a20bbe59302e0df1b75e07f18e5d788f91

4 years agodEQP-VK.graphicsfuzz.write-red-after-search
Alastair Donaldson [Fri, 16 Aug 2019 16:21:24 +0000 (17:21 +0100)]
dEQP-VK.graphicsfuzz.write-red-after-search

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.write-red-after-search

Change-Id: Ibf93d1408b29fcdb40acc6026457e355a0294d9f

4 years agoAdd a command line option to run a fraction of tests
Jeff Bolz [Tue, 16 Jul 2019 16:34:11 +0000 (11:34 -0500)]
Add a command line option to run a fraction of tests

This is useful to easily parallelize test runs across several CPU cores.
A command line option like --deqp-case-fraction=0,2 will run 1/2 of the
tests (use 1,2 in another process to run the other half).

Components: Framework
Change-Id: I0fd2755d5b6fe458c72c22930c24346decaccbb0

4 years agoUpdate dependency test
Alexander Galazin [Mon, 26 Aug 2019 14:47:34 +0000 (16:47 +0200)]
Update dependency test

Components: Vulkan

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

Change-Id: Ia034c1521edfe2bdf3770b06c3b19416675540fa

4 years agoAdds cubic filter to allowed ycbcr format features
Matthew Netsch [Mon, 26 Aug 2019 16:26:12 +0000 (12:26 -0400)]
Adds cubic filter to allowed ycbcr format features

Components: Vulkan
VK-GL-CTS Issue: 1938

Affects:
dEQP-VK.api.info.format_properties.*

Change-Id: I9f32b902820d7a50db9ae51a5ba61f8bab9042ba

4 years ago1d_image: enforce height 1 in decompress stage as well
Lingfeng Yang [Thu, 15 Aug 2019 22:41:23 +0000 (15:41 -0700)]
1d_image: enforce height 1 in decompress stage as well

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: Id98f0a8dd132da5bcd6a3f1426021c8f36a48149

4 years agoRemove unnecessary 16-bit storage requirement
Alan Baker [Wed, 21 Aug 2019 14:42:44 +0000 (10:42 -0400)]
Remove unnecessary 16-bit storage requirement

Remove Vulkan 16-bit storage extension from float16 constant composite
tests. These tests do not load/store half floats.

Components: Vulkan

VK-GL-CTS issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.compute.opconstantcomposite.*

Change-Id: I5dc26a8f2d922862f68eec01910164d827e9fd8a

4 years agoexternal fence tests: account for sync fd -1 in multiple export case
Lingfeng Yang [Wed, 21 Aug 2019 15:45:10 +0000 (08:45 -0700)]
external fence tests: account for sync fd -1 in multiple export case

Spec allows for sync fd == -1 to be returned from vkGetFenceFdKHR
as a signal that the fence is signaled.

VK-GL-CTS issue: 1937

Components: Vulkan

Affects:
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary

Change-Id: I7391d180bdc1a585c7b57930fc1750d13f7151e1

4 years agoCheck supported features and properties for transform feedback tests
John Anthony [Thu, 11 Jul 2019 14:54:59 +0000 (16:54 +0200)]
Check supported features and properties for transform feedback tests

Builtin tests using shaderClipDistance and/or shaderCullDistance should
check if the features they need are supported. BackwardDependency test
should check if transformFeedbackDraw is supported.

Affects:
- dEQP-VK.transform_feedback.simple.xfb_clipdistance_*
- dEQP-VK.transform_feedback.simple.xfb_culldistance_*
- dEQP-VK.transform_feedback.simple.xfb_clip_and_cull_*
- dEQP-VK.transform_feedback.simple.backward_dependency

Components: Vulkan

VK-GL-CTS issue: 1934

Change-Id: I76b22a506ba608d3e3f4ea5586c74b0b7ca1066a

4 years agoFixes stencil load/store flags in renderpass tests
Matthew Netsch [Wed, 21 Aug 2019 15:43:35 +0000 (11:43 -0400)]
Fixes stencil load/store flags in renderpass tests

Components: Vulkan
VK-GL-CTS Issue: 1939

Affects:
dEQP-VK.renderpass*.simple.*stencil

Change-Id: I042c08b9bee6ba00ea3237e24f3fb6b2f1aebd9b

4 years agoReplace imageAtomicAdd with imageAtomicExchange in vertex shader
Iago Toral Quiroga [Tue, 6 Aug 2019 06:28:24 +0000 (08:28 +0200)]
Replace imageAtomicAdd with imageAtomicExchange in vertex shader

The test used imageAtomicAdd and relied on the
vertex shader being invoked exactly once per vertex
to produce the expected output before the fragment
shader (and later a compute shader) ran, however,
the OpenGL ES spec says:

"While a vertex or tessellation evaluation shader will
 be executed at least once for each unique vertex
 specified by the application, (vertex shaders) or
 generated by the tessellation primitive generator
 (tessellation evaluation shaders),it may be executed
 more than once for implementation-dependent reasons."

For platforms where the vertex sader is executed more
than once, the test won't produce the expected result.
This change fixes this issue by using atomic exchange
instead of atomic add to ensure that the value written
by the vertex shader is not dependent on the number
of vetex shader invocations.

Components: OpenGL ES

VK-GL-CTS issue: 1910

Affects:
KHR-GLES31.core.shader_image_load_store.advanced-allStages-oneImage

Change-Id: Iedaa0c11109abfdfb5a1afe5c20e8e46a5ae07f2

4 years agoFix invalid parameter for GLES 2.0
Courtney Goeltzenleuchter [Tue, 30 Jul 2019 16:20:29 +0000 (10:20 -0600)]
Fix invalid parameter for GLES 2.0

Test was creating a texture with format of GL_DEPTH_STENCIL and
internalformat of GL_DEPTH24_STENCIL8_OES. In ES 2.0 the format and
internalformat must match.
Added an extra case when running 3.0 or better that does allow different
values for format and internalformat.

Affects:

KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil

Components: OpenGL

VK-GL-CTS issue: 1903

Change-Id: I710975a0ea7c1d551f412590f887d9412be6f897

4 years agoHave just one definition of AmberTestCase
Chris Forbes [Thu, 29 Aug 2019 02:13:38 +0000 (19:13 -0700)]
Have just one definition of AmberTestCase

There were two -- an empty stub in the util header, and the real one.
This made it impossible to actually use the full API to set
feature/extension requirements, etc.

Instead, I have forward-declared the Amber Recipe type so that including
vktAmberTestCase.hpp does not involve pulling in Amber headers.

Add geometryShader feature requirement to provoking vertex Amber tests,
allowing them to skip properly on devices which do not support geometry
shaders.

Affects: dEQP-VK.rasterization.provoking_vertex.*
VK-GL-CTS Issue: 1964

Change-Id: Id6d1068c45b2aacc29d07527edd53d65953c49a3

4 years agoFix AmberTestCase feature mapping for geometryShader
Chris Forbes [Thu, 29 Aug 2019 00:44:47 +0000 (17:44 -0700)]
Fix AmberTestCase feature mapping for geometryShader

This was accidentally wired up to tessellationShader instead

VK-GL-CTS Issue: 1963
Change-Id: Id11fd09cf5c0c1353d3df4ecdcbe95bdfa9fa397

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Tue, 27 Aug 2019 09:23:35 +0000 (11:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I146c93073fe6c5c2d453759d1606859e0e1afff1

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 27 Aug 2019 07:13:13 +0000 (09:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I99471c0d878e8abb8c01d7b43a71a9b3e7fbe285

4 years agoVK_EXT_fragment_shader_interlock tests
Jeff Bolz [Thu, 16 May 2019 04:27:53 +0000 (23:27 -0500)]
VK_EXT_fragment_shader_interlock tests

Components: Vulkan
New Tests: dEQP-VK.fragment_shader_interlock.*
VK-GL-CTS issue: 1856

Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24
(cherry picked from commit 36005ceedd19e39bd11972dd39c419521767dac6)

4 years agoNew tests for VK_EXT_shader_demote_to_helper_invocation
Jeff Bolz [Sun, 2 Jun 2019 04:11:00 +0000 (23:11 -0500)]
New tests for VK_EXT_shader_demote_to_helper_invocation

Based on dEQP-VK.glsl.discard.*

New Tests: dEQP-VK.glsl.demote.*

Components: Vulkan
Change-Id: I9c2346592cac51cfe2de10f9586c4790c04766b6
(cherry picked from commit 529b996513d092334de3dabd4b3e44031201bdd9)

4 years agoUpdate SPIR-V Tools and Headers
Alexander Galazin [Mon, 26 Aug 2019 12:54:02 +0000 (14:54 +0200)]
Update SPIR-V Tools and Headers

Components: Framework

Affects: dEQP-VK.*

Change-Id: Icb7162387230660e99f40d48b8ae1f3055ef3534

4 years agoWhitelist 1.1.4.3 and 1.1.3.3 versions
Alexander Galazin [Mon, 26 Aug 2019 12:15:18 +0000 (14:15 +0200)]
Whitelist 1.1.4.3 and 1.1.3.3 versions

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ia071c4983326e9e47a58d268264e568bea777c1c

4 years agoTest coverage for VK_EXT_index_type_uint8
Piers Daniell [Wed, 24 Jul 2019 05:07:47 +0000 (23:07 -0600)]
Test coverage for VK_EXT_index_type_uint8

Adds coverage for VK_EXT_index_type_uint8 by adding
a new VK_INDEX_TYPE_UINT8_EXT variant to the existing
input_assembly tests. The coverage includes drawing
all the primitive topologies with uint8 indices,
and also primitive restart.

Affects:

dEQP-VK.pipeline.input_assembly.*

Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413
Components: Vulkan
(cherry picked from commit e0e648699ac9279650486609cf16ec6e10d73042)

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Thu, 22 Aug 2019 18:29:52 +0000 (20:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I20bbf3397d574e49dd45deb2c337201fa46bfbb3

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 22 Aug 2019 15:46:27 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: If70c0a43c7453bdea1cfe4666be9bdc946108a31

4 years agoUpdate SPIRV-Tools and SPIRV-Headers
David Neto [Thu, 11 Jul 2019 14:41:26 +0000 (10:41 -0400)]
Update SPIRV-Tools and SPIRV-Headers

Adds extra validation for VK_KHR_16bit_storage, VK_KHR_8bit_storage.
Adds a bugfix for inlining.
This change requires several other fixes before it can go in.

Components: Vulkan

Affects:
DEQP-VK:*

VK-GL-CTS issue: 1874

Change-Id: Iba20766b36e4372f07076c67a3554d174e584edf

4 years agoDon't allocate a GL_TEXTURE_2D_ARRAY with full render target width/height
Alejandro Piñeiro [Wed, 31 Jul 2019 11:03:24 +0000 (13:03 +0200)]
Don't allocate a GL_TEXTURE_2D_ARRAY with full render target width/height

On the following test:
KHR-GLES31.core.shader_image_load_store.advanced-sso-simple

Storage is specified as this:
glTexStorage3D(GL_TEXTURE_2D_ARRAY, 1, GL_RGBA32F, getWindowWidth(), getWindowHeight(), 8);

This is not an issue by default, as the default window is generall
small, but it is problematic when using the fbo surface type. In that
case the render target would be allocated with width and height as
GL_MAX_RENDERBUFFER_SIZE.

The problem is that most drivers doesn't support a texture with so big
dimensions.

This patch specify a default size, and small enough to be supported by
most driver, for the texture, as most tests on that group are already
doing.

Components: OpenGL-ES

VK-GL-CTS issue: 1905

Affects:
KHR-GLES31.core.shader_image_load_store.advanced-sso-simple

Change-Id: Ib998567151a230dd6b3550dbf6e014eed6cbb957

4 years agoRemove illegal parameter use in fbo.completeness
Courtney Goeltzenleuchter [Wed, 31 Jul 2019 15:59:40 +0000 (09:59 -0600)]
Remove illegal parameter use in fbo.completeness

dEQP.GLES2.functional.fbo.completeness.renderable.texture
was calling glTexImage2D with a internalformat of GL_SRGB8
which is not valid for GLES 2.0 even with GL_EXT_sRGB.

Affects:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.srgb8

Components: AOSP

VK-GL-CTS issue: 1906

Change-Id: I97003eda10600a0a33e7212b6b5de34c5b2c8848

4 years agoUse binding 0 for atomic counter buffers
Shahbaz Youssefi [Mon, 22 Jul 2019 18:13:55 +0000 (14:13 -0400)]
Use binding 0 for atomic counter buffers

GLES3.1 has a minimum requirement of one atomic counter buffer binding.
The following tests were binding atomic counter buffers to bindings 1
and 2 respectively:

  dEQP-GLES31.functional.atomic_counter.*
  dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier.*atomic_counter*

This makes the tests fail on implementations that support the minimum
required number of bindings.

VK-GL-CTS github issue: 156

Change-Id: I512478626b592c38e74150c83617176380f27c3d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 22 Aug 2019 11:42:23 +0000 (13:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I4059d84b79a3ad4504f436fa39dc2cddb294f8d7

4 years agoAdd touch tests for volatile atomics
Jeff Bolz [Wed, 24 Jul 2019 18:09:04 +0000 (13:09 -0500)]
Add touch tests for volatile atomics

Volatile atomics are a late addition to the SPV_KHR_vulkan_memory_model
extension. This change adds variants of the spirv_assembly opatomic tests
that use the bit to make sure it is accepted, but don't actually prove
that the access is treated as volatile.

SPIR-V issue: 476
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*atomic*

Change-Id: I38202242dade7dcf42aa2bbcd1927a1cac1bc9ad

4 years agoSpeed up hierarchy traversal, part 2
Jari Komppa [Wed, 31 Jul 2019 10:29:15 +0000 (13:29 +0300)]
Speed up hierarchy traversal, part 2

Some of the tests do premature heavy work during test hierarchy
traversal, meaning that they waste time regardless of whether the tests
are run or not. These changes move some of that work to later stage of
test run, or otherwise speed things up a bit.

Affects:

dEQP-VK.pipeline.stencil.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.transform_feedback.fuzz.*

Components: Vulkan

VK-GL-CTS issue: 1830

Change-Id: I1c124cbf17068e56375ef2e467036e959cde8aa4

4 years agoMerge common util functions, part 3
Ilkka Saarelainen [Tue, 23 Jul 2019 12:32:46 +0000 (15:32 +0300)]
Merge common util functions, part 3

Many tests have their own util functions for creating commonly used
Vulkan objects.
This CL moves the following helper functions to the framework:

- bindImage()
- bindBuffer()
- zeroBuffer()
- makeBuffer()
- makeImage()
- makeBufferCreateInfo()
- makeBufferImageCopy()

Affects: dEQP-VK.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1709

Change-Id: I77c09d4213ca708fb3255d00d2aa2506077def40

4 years agoSplit compute workload into multiple submissions
Matthew Netsch [Wed, 14 Aug 2019 11:08:32 +0000 (16:38 +0530)]
Split compute workload into multiple submissions

Reduces workload per submission

Components: Vulkan
VK-GL-CTS Issue: 1751

Affects:
dEQP-VK.memory_model.message_passing.*

Change-Id: Ia9e9b63851b18ae1d5c1b65426ee864d760bf87c

4 years ago1d_image: basic: compute: texel_view_compatible: set size.y to 1
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1

1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f
(cherry picked from commit fe76a662df108542ff27e1c4f5a83077b54444c4)

4 years ago1d_image: basic: compute: texel_view_compatible: set size.y to 1
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1

1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f

4 years agoTexel view compatible: Image: proper check for image format supports
Yahan Zhou [Fri, 9 Aug 2019 18:35:15 +0000 (11:35 -0700)]
Texel view compatible: Image: proper check for image format supports

The queried image usage is different from what is acutally used. Fix it
so that we would not end up with an unsupported usage.

Affects:
dEQP-VK.image.texel_view_compatible*

Components: Vulkan

Google bug: 139193497
VK-GL-CTS issue: 1920

Change-Id: Ib8db61808db5f9391a54b7722f965b6608e7e694

4 years agoFloat controls: graphics: fix 16bit storage validation
David Neto [Fri, 12 Jul 2019 16:38:08 +0000 (12:38 -0400)]
Float controls: graphics: fix 16bit storage validation

For graphics shaders:

Add Float16 capability and shaderFloat16 when the test case uses
16bit float in a way not supported by the 16bit storage extension.

If not using the Float16 capability, drop definitions of 16bit
constants.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

VK-GL-CTS issue: 1874

Change-Id: I1e25a706e0667a45b3e5b0a6c496c77feac90465

4 years agoNeed Float16 capability for float16 tests
David Neto [Fri, 12 Jul 2019 20:20:13 +0000 (16:20 -0400)]
Need Float16 capability for float16 tests

Fixes validation of 2537 tests.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.*

VK-GL-CTS issue: 1874

Change-Id: I68bf7951939b5ff8382ab40e9adcaa8e1ee61c4d

4 years agoFix incorrect layout transition in render pass
Piers Daniell [Tue, 13 Aug 2019 22:11:23 +0000 (16:11 -0600)]
Fix incorrect layout transition in render pass

For the dEQP-VK.device_group.* tests the renderImage was
created with an UNDEFINED layout and then explicitly
transitioned to COLOR_ATTACHMENT_OPTIMAL during the test
initialization. Then the renderPass was created using the
makeRenderPass() utility function which assumed the
image was in the UNDEFINED state. This caused the
image to be transitioned again from UNDEFINED
to COLOR_ATTACHMENT_OPTIMAL at begin render pass time,
which might modify any valid image data.

The solution is to fix the render pass creation
to indicate that the renderImage is already in the
COLOR_ATTACHMENT_OPTIMAL layout.

Affects:

dEQP-VK.device_group.*

VK-GL-CTS issue: 1922

Change-Id: I5e1dff19eb854af9651615a7318379a318b8c273
Components: Vulkan

4 years agoAdd pipeline barriers flushing buffer data to host
Panagiotis Apostolou [Thu, 25 Jul 2019 10:29:18 +0000 (12:29 +0200)]
Add pipeline barriers flushing buffer data to host

This commit adds a few buffer pipeline barriers whose purpose is to flush
gpu caches, making the buffer data visible to the host.

Affects:
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test
dEQP-VK.glsl.builtin.precision.*
dEQP-VK.glsl.builtin.function.*
dEQP-VK.api.command_buffers.record_simul_use_secondary_one_primary
dEQP-VK.synchronization.op.single_queue.*
dEQP-VK.query_pool.occlusion_query.*

Components: Vulkan

VK-GL-CTS issue: 1898

Change-Id: Ic6a467b4d1db6cebebf34c8d386e519016fc3fe9

4 years agoShare instance/device across test case instances in dEQP-VK.synchronization.*
Jeff Bolz [Thu, 18 Jul 2019 19:45:02 +0000 (14:45 -0500)]
Share instance/device across test case instances in dEQP-VK.synchronization.*

Some of the dEQP-VK.synchronization.* test groups create new devices or new
instances for each test case. This is a really expensive thing to do tens of
thousands of times, and makes this the longest-running test group in the CTS.
This change uses singleton objects to store the instance/device, and adds
cleanup callbacks to destroy the singletons when the group is finished.

VK-GL-CTS Issue: 1886
Components: Vulkan
Affects: dEQP-VK.synchronization.*

Change-Id: If935b457276790faf4a86e6f2afb5fd911987a85

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Fri, 16 Aug 2019 13:05:42 +0000 (15:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I12856e0c5f601fa1bf6022a53e5532dac5e97e1a

4 years agoFix Float16 validation for 16bt storage tests
David Neto [Mon, 15 Jul 2019 15:02:20 +0000 (11:02 -0400)]
Fix Float16 validation for 16bt storage tests

* Refactor interface functions to avoid arithmetic capabilities
  * new string template

Components: Vulkan

VK-GL-CTS issue: 1874

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

Change-Id: I05198eedb59a545785a65026847885ea7fae85bf

4 years agoFloat controls: break out extra functions as separate from constants
David Neto [Fri, 12 Jul 2019 16:27:07 +0000 (12:27 -0400)]
Float controls: break out extra functions as separate from constants

This should not be a functional change.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I03d3f2d4d9792786b159e5472368859d518cdc3e

4 years agoAccount for precision loss in unorm depth pipeline
Gary Sweet [Thu, 1 Aug 2019 11:50:40 +0000 (12:50 +0100)]
Account for precision loss in unorm depth pipeline

https://gerrit.khronos.org/#/c/4049/ introduced a regression
related to the use of depths other than 0.0 and 1.0 in the round-trip
to the depth buffer and back.

The test can now write 1.0/255.0 to gl_FragDepth and expects to see
exactly 1.0/255.0 when it is read back in the input attachment.
The unorm depth formats are only specified to be exact for the integer
values (0.0 and 1.0). We can differ by 1-bit after the round-trip.

This change adds an epsilon range check for the unorm depth tests
that resolve the issue.

Affected tests:
dEQP-VK.renderpass.dedicated_allocation.*
dEQP-VK.renderpass.suballocation.*
dEQP-VK.renderpass2.dedicated_allocation.*
dEQP-VK.renderpass2.suballocation.*

Components: Vulkan
VK_GL_CTS issue: 1908

Change-Id: Iaec3503595afd3409d2c21d8af72b469467d6673

4 years agoTest coverage for VK_EXT_index_type_uint8
Piers Daniell [Wed, 24 Jul 2019 05:07:47 +0000 (23:07 -0600)]
Test coverage for VK_EXT_index_type_uint8

Adds coverage for VK_EXT_index_type_uint8 by adding
a new VK_INDEX_TYPE_UINT8_EXT variant to the existing
input_assembly tests. The coverage includes drawing
all the primitive topologies with uint8 indices,
and also primitive restart.

Affects:

dEQP-VK.pipeline.input_assembly.*

Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413
Components: Vulkan

4 years agoNew tests for VK_EXT_shader_demote_to_helper_invocation
Jeff Bolz [Sun, 2 Jun 2019 04:11:00 +0000 (23:11 -0500)]
New tests for VK_EXT_shader_demote_to_helper_invocation

Based on dEQP-VK.glsl.discard.*

New Tests: dEQP-VK.glsl.demote.*

Components: Vulkan
Change-Id: I9c2346592cac51cfe2de10f9586c4790c04766b6

4 years agoVK_KHR_pipeline_executable_properties tests
Jason Ekstrand [Tue, 21 May 2019 23:35:19 +0000 (18:35 -0500)]
VK_KHR_pipeline_executable_properties tests

Components: Vulkan
New Tests: dEQP-VK.pipeline.executable_properties.*

Change-Id: I5534d945e65e645b8e43c23008b887797f4a5b85

4 years agodEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop
Alastair Donaldson [Thu, 4 Jul 2019 22:44:58 +0000 (23:44 +0100)]
dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop

Change-Id: I81849a849a85e36bfea53c6979f8760d91f148fe

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 15 Aug 2019 11:03:17 +0000 (13:03 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Idfcda7642a83ee8e573e7da2f847957d04c664fc

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Wed, 14 Aug 2019 15:09:33 +0000 (17:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: Idbd535ccaa0b8db6fcace470af92c29a999dede7

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Wed, 14 Aug 2019 14:11:55 +0000 (16:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I9cc0f3b31193377219058dce043d7b8a929b9eea

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Wed, 14 Aug 2019 12:04:45 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I6c972fa2e2028e4f813ab96eb565c93c440faf9d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Wed, 14 Aug 2019 11:52:47 +0000 (13:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I7f00708e05e1cf20c6439e52287d21eacf32ca01

4 years agoEarly support check for tests (part 2)
Ari Suonpaa [Tue, 25 Jun 2019 12:33:55 +0000 (15:33 +0300)]
Early support check for tests (part 2)

Moved feature and extension checks into checkSupport function
which gets called before initPrograms. This speeds up the
test execution in case a test is not supported.

This the second batch of changes.

Affects:

dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*

Components: Vulkan

VK-GL-CTS issue: 1786

Change-Id: Ibbf0b32425cce048d937b5da324ff097b46afd23

4 years agoProvide a highp variable to MAKE_HIGH_BALLOT_RESULT
Hsin-Hsiao Lin [Thu, 25 Jul 2019 07:13:34 +0000 (09:13 +0200)]
Provide a highp variable to MAKE_HIGH_BALLOT_RESULT

The MAKE_HIGH_BALLOT_RESULT macro assumes the input is 32bit.
Given a mediump variable, ex: gl_SubgroupSize, would produce an
undefined result when the input value is >= 16 and the computation
is in 16 bits.
Provide a highp input would ensure the computation is in 32 bits.

Affects:
  dEQP-VK.subgroups.ballot_other.*

Components: vulkan

VK-GL-CTS issue: 1894

Change-Id: I22987f20be3d08444c52cb722fc23494777a5636

4 years agoFloat controls: compute: fix for strict 16bit storage validation
David Neto [Thu, 11 Jul 2019 19:12:37 +0000 (15:12 -0400)]
Float controls: compute: fix for strict 16bit storage validation

Emit definitions of float constants only if those constants
are used in the rest of the shader.  In the case of 16bit
float this saves us from having to also declare a Float16 capability.

Non-storage-related use of fp16 requires Float16 capability,
and shaderFloat16 Vulkan feature from VK_KHR_shader_float16_int8.
Such uses include declaring constants, using fp16 arithmetic, etc.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*

VK-GL-CTS issue: 1874

Change-Id: Ia403aac8ae32646329f67bf48d6231af233e9c20

4 years agoUpdate device_group test to ignore VK_SUBOPTIMAL_KHR
Fabio [Thu, 25 Jul 2019 15:08:16 +0000 (17:08 +0200)]
Update device_group test to ignore VK_SUBOPTIMAL_KHR

The transform used to create the swapchain does not match the
surface rotation. This causes vkQueuePresentKHR to return
VK_SUBOPTIMAL_KHR. This return code can be ignored.

Components: Vulkan

VK-GL-CTS Issue: 1899

Affects: dEQP-VK.wsi.android.swapchain.render.device_group

Change-Id: I27d8e61007dd049b8e9cc532918056b8493a9b52

4 years agoAdd result buffer invalidates to depth stencil resolve tests
Stephen Gallimore [Wed, 31 Jul 2019 15:24:57 +0000 (16:24 +0100)]
Add result buffer invalidates to depth stencil resolve tests

Components: Vulkan
VK-GL-CTS issue: 1907
Affects: dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I90920f6005b0d6a72a78c588f4c3abec81826516

4 years agoAdd missing invalidates in depth/stencil resolve tests
Ricardo Garcia [Wed, 7 Aug 2019 14:18:53 +0000 (16:18 +0200)]
Add missing invalidates in depth/stencil resolve tests

If the driver returns a non-coherent heap then the
dEQP-VK.renderpass2.depth_stencil_resolve.* may fail unpredictably as
the verify methods do not invalidate the result buffer before reading
the contents.

Affected tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Components: Vulkan
VK-GL-CTS issue: 1907

Change-Id: I61c3fdc58ff521b751f1181282291ec1d941206b

4 years agoAdd missing checks for sampleShading feature
Chris Forbes [Sun, 28 Jul 2019 20:34:13 +0000 (13:34 -0700)]
Add missing checks for sampleShading feature

These cases were missed in the previous pass as they were masked by the
(correct) check for fragmentStoresAndAtomics.

Components: Vulkan

Affects: dEQP-VK.glsl.builtin_var.*

VK-GL-CTS Issue: 1901

Change-Id: I4d19c5075d14f60ead4c6df6370fffc870cde68a

4 years agoAlways dynamically lookup egl functions
Courtney Goeltzenleuchter [Wed, 10 Apr 2019 21:25:16 +0000 (15:25 -0600)]
Always dynamically lookup egl functions

Android's latest NDK includes support for EGL 1.5 functions.
However, only for API level 29. But due to unified headers
folks building for older API levels will also see the new
functions but won't be able to link. Making the egl functions
dynamic avoids build time issues.

Change-Id: I718e28c7422faf3c7b964ca70b86a1711a08ae54
Affects: EGL
Bug: 1873

4 years agoExplicitly set current values before drawing
James Dong [Mon, 8 Jul 2019 16:39:27 +0000 (10:39 -0600)]
Explicitly set current values before drawing

dEQP-GLES3.functional.vertex_array_objects.all_attributes was relying on
the value of disabled integer attributes. This behavior results in
undefined values, as the initial values for all vertex attributes are of
floating-point type.

Affects:

dEQP-GLES3.functional.vertex_array_objects.all_attributes

Components: AOSP

VK-GL-CTS public issue: 153

Change-Id: I8ffe4b581f100884b46fe68a751bf991cccb71e3

4 years agoBackport performance fix from cts-next-dev
Graeme Leese [Wed, 10 Jul 2019 11:13:29 +0000 (12:13 +0100)]
Backport performance fix from cts-next-dev

The subgroups tests on next-dev have been changed to run on a reduced
set of workgroup sizes to improve performance, so apply that change to
master as well.

Components: Vulkan
Affects: dEQP-VK.subgroups.*

Change-Id: I4fb386b567666589688f7265e5efe6c72d5fd0cd

4 years agoRemove superfluous shuffle code
Graeme Leese [Wed, 10 Jul 2019 10:53:32 +0000 (11:53 +0100)]
Remove superfluous shuffle code

The supportedCheck was checking whether the case was supported but the
actual test code was checking it again.

Components: Vulkan
Affects: dEQP-VK.subgroups.shuffle.*

Change-Id: Ie98cb3aef8fe3f50068fd908feae95735b892f9c

4 years agoUpdate Vulkan headers to 1.1.117
Jeff Bolz [Thu, 8 Aug 2019 04:40:54 +0000 (23:40 -0500)]
Update Vulkan headers to 1.1.117

Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions. Two minor name
remaps were necessary in gen_framework.py

Components: Vulkan
Change-Id: I44a07f3a5ccd3426c22e95c70f231a24daf0d994