platform/upstream/VK-GL-CTS.git
3 years agoAdd possibility to run tests in separate process (Vulkan SC only)
Pawel Ksiezopolski [Fri, 26 Feb 2021 15:26:44 +0000 (16:26 +0100)]
Add possibility to run tests in separate process (Vulkan SC only)

During test tree iteration context uses DeviceDriverSC to collect
information about Vulkan objects used in tests ( graphics pipelines,
compute pipelines and all objects on which pipelines depend ).
After information about designated number of tests has been collected,
the subprocess is created and real tests are performed in it.
This suprocess reconstructs VkDeviceMemoryReservationCreateInfo
and pipeline cache to perform its job - required elements are created
from data gathered by main process and sent through a file.
Test results are sent back to main process for further processing
( cout and qpa logging, test status bookkeeping, etc )

Affects tests:
dEQP-VKSC.*

Components:
Framework VulkanSC

Change-Id: I5d4546ad109fac36f841f982e781f029c193192a

3 years agoAdaptation of dEQP-VKSC.api.* tests to Vulkan SC
Pawel Ksiezopolski [Tue, 9 Feb 2021 16:51:06 +0000 (17:51 +0100)]
Adaptation of dEQP-VKSC.api.* tests to Vulkan SC

Adaptation of Vulkan api and info test families to Vulkan SC.
Added VkDeviceMemoryReservationCreateInfo structure to majority of instances
of VkDeviceCreateInfo structure for non-default device creation.

New tests:
dEQP-VKSC.info.*
dEQP-VKSC.api.*

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

Components:
Framework Vulkan VulkanSC

Change-Id: I44dcbfcd752cbcb1254e5ef0a0a325c8b089ac70

3 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-sc-cts-dev
Pawel Ksiezopolski [Tue, 18 May 2021 13:34:01 +0000 (15:34 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-sc-cts-dev

Affects tests:
dEQP-VK.*

Components:
Framework Vulkan VulkanSC

Change-Id: Iabdd3d5f45c2368d1c7a2ee1402fcb0280cc57b2

3 years agoUpdate Vulkan headers
Alexander Galazin [Fri, 14 May 2021 18:19:53 +0000 (20:19 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I0256daab1e697718a061db6eff68eb01a1cb6196

3 years agoPortability: handle vertex input stride
Piotr Byszewski [Sat, 1 May 2021 10:27:00 +0000 (12:27 +0200)]
Portability: handle vertex input stride

KHR_portability_subset provides minVertexInputBindingStrideAlignment
property that indicates the minimum alignment for vertex input strides.
This change fixes all cases where vertex attribute offsets exceeded
vertex buffer stride on MacOS.

Note that minVertexInputBindingStrideAlignment has value of 4 on MacOS
and becouse of that check for this was not added to all 250 places in
cts code that use VkVertexInputBindingDescription. All those places
currently use stride that is multiple of 4. Check was only added to
haderrender, shaderexecutor and in spirv_assembly module.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.*

Change-Id: Ia7d74b9950e8af88c2d7a8462a830c3a6469538f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 14 May 2021 07:10:41 +0000 (09:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I3054cedfdc424f2dd8024a5c62bc5de89aaf109e

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 13 May 2021 18:24:40 +0000 (20:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ice572c5618871869c8dfea2d78f9d02b8125fc9c

3 years agoAdd test for PBO bounds
Juha Heiskanen [Fri, 30 Apr 2021 08:36:51 +0000 (11:36 +0300)]
Add test for PBO bounds

This new test is making sure the bounds are calculated correctly when
some of the pixels are skipped.

Components: OpenGL ES

VK-GL-CTS issue: 2166

New Tests:
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.pbo_bounds_2d

Change-Id: Ied58af29e6b27cd6fa5842d8ac647e265569f87e

3 years agoFix Windows MSVC build regression from GitHub!261
Piers Daniell [Wed, 12 May 2021 17:28:01 +0000 (11:28 -0600)]
Fix Windows MSVC build regression from GitHub!261

The change to add MinGW support to CTS broke the build for
MSVC on Windows.

https://github.com/KhronosGroup/VK-GL-CTS/pull/261

Components: Framework

Affects: No tests, just compile with MSVC.
GitHub issue: 125

https://github.com/KhronosGroup/VK-GL-CTS/issues/125

Change-Id: I060d5625461cb2d831585b32fe5f1c9336aeea8f

3 years agoPortability: use triangle strips in amber tests
Piotr Byszewski [Fri, 7 May 2021 10:11:04 +0000 (12:11 +0200)]
Portability: use triangle strips in amber tests

Triangle fans are under feature flag in VK_KHR_portability_subset.
This was handled in CTS but since then some new tests were added
with triangle fans. This change converts triangle fans to triangle
strips in all cases that failed for that reason on MacOS. Those
tests didn't test triangle fans and could be modified.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.draw.output_location.*
dEQP-VK.rasterization.depth_bias.*

Change-Id: Ia108c40d1e9cfeb3669de4192f6df95b26c5a50f

3 years agoPortability: handle mutableComparisonSamplers
Piotr Byszewski [Fri, 23 Apr 2021 14:47:56 +0000 (16:47 +0200)]
Portability: handle mutableComparisonSamplers

In portability compareEnabled in VkSamplerCreateInfo
can be set to true only when mutableComparisonSamplers
feature is set to true. This change verifies that
in tests that set compareEnabled to true.

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.*
dEQP-VK.glsl.texture_functions.*
dEQP-VK.glsl.texture_gather.*

Change-Id: I2ff3b6484621bffc5617b11abd71061df604fa19

3 years agoRequire geometry shaders for adjacency topologies
Sean Risser [Fri, 30 Apr 2021 17:02:57 +0000 (13:02 -0400)]
Require geometry shaders for adjacency topologies

Clipping tests would use adjacency topologies with drivers that didn't
support geometry shaders.

Components: Vulkan

Affects: dEQP-VK.clipping.clip_volume.depth_clip.*
VK-GL-CTS Issue: 2906

Change-Id: I7a41e62dcbcdcab46ce4f8b04bfe322c688fbcac

3 years agoStatic code analysis fixes
Jari Komppa [Fri, 16 Apr 2021 08:42:53 +0000 (11:42 +0300)]
Static code analysis fixes

This change contains multiple static code analysis fixes,
including uninitialized member variables, initialization
order, buffer overruns, value use before value check,
copy-paste mistakes like repeated identical checks.

In theory the changes should not change test behavior, as
the biggest changes to behavior are largely about error
handling.

Due to large number of files touched, affects mask is
over-wide.

Affects:
dEQP-VK.*

Change-Id: Ie18811d60b0b1f1165895e4c1cbf00084382a47a
Components: Vulkan

3 years agoFix inconsistent ray payloads in RT barrier tests
Ricardo Garcia [Fri, 30 Apr 2021 08:27:31 +0000 (10:27 +0200)]
Fix inconsistent ray payloads in RT barrier tests

Ray payload declarations (outgoing and incoming) were not consistent
across all ray shader stages in the ray tracing pipeline barrier tests.

In addition, this commit fixes payload and callable data names to make
it clear they are not used.

Affected tests:
dEQP-VK.ray_tracing_pipeline.barrier.*

VK-GL-CTS issue: 2900
Components: Vulkan

Change-Id: If764cf3cde9effb5868a7c03a0b2200cf9d90cb8

3 years agoNew SSBO corner case test
Toni Salmivalli [Thu, 18 Feb 2021 12:52:07 +0000 (14:52 +0200)]
New SSBO corner case test

Added a new SSBO corner case test based on a reported compiler crash on
a certain implementation.

New test:

dEQP-VK.ssbo.corner_case.long_shader_bitwise_and

Components: Vulkan

VK-GL-CTS issue: 2725

Change-Id: I8e1f730d073c20e4fa35863b608b0c6ce0adfce9

3 years agoAdd more spir-v tests with empty structs
Samuel Iglesias Gonsálvez [Wed, 21 Apr 2021 11:02:30 +0000 (13:02 +0200)]
Add more spir-v tests with empty structs

Added tests to check empty structs as:

* Function argument.
* Function return type.
* Global variable (including shared).
* Local variable.

Added tests:

   dEQP-VK.spirv_assembly.instruction.compute.empty_struct.function.*

Components: Vulkan

VK-GL-CTS issue: 2737

Change-Id: I3b2e0f48f52c66b0d50637186684d4323be979de
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFixes image sparse tests
Matthew Netsch [Thu, 6 May 2021 19:30:22 +0000 (15:30 -0400)]
Fixes image sparse tests

Tests use sparseImageLoadARB in shader
but not checking for sparse_residency

Components: Vulkan
VK-GL-CTS Issue: 2913

Affects:
dEQP-VK.image.mismatched_formats.sparse_image_read*

Change-Id: I6896c7cec530a69be8ea172205d9155ff71873f9

3 years agoFix GL compatbility mustpass file names
Alexander Galazin [Thu, 13 May 2021 09:43:02 +0000 (11:43 +0200)]
Fix GL compatbility mustpass file names

Components: OpenGL

Change-Id: If83075da35ddcf3e32acf0309a86d0459f0914a8

3 years agoAdd dynamic indexing test using gl_VertexID
Ari Suonpaa [Fri, 30 Apr 2021 12:40:41 +0000 (15:40 +0300)]
Add dynamic indexing test using gl_VertexID

VK-GL-CTS Issue: 2173

New tests:

KHR-*.shaders.indexing.tmp_array.vertexid

Components: OpenGL ES
Change-Id: I8a978b71a77dab09e127f52459b780d30b4d8541

3 years agoFix to GL 4.5 geometry shading provoking vertex tests
Tapani Pälli [Fri, 9 Apr 2021 09:50:36 +0000 (12:50 +0300)]
Fix to GL 4.5 geometry shading provoking vertex tests

Change modifies GL_LAYER_PROVOKING_VERTEX query to support all
parameters specified in OpenGL 4.6 core spec chapter "Layer and
Viewport Selection".

Components: AOSP

VK-GL-CTS Issue: 2870

Affects:
dEQP-GL45.functional.geometry_shading.*

Fixes: db1c767f7 ("Support GL 4.5 in the geometry shading tests")
Change-Id: I080e70c14e0f45c325de35d6da865440e4bb8317

3 years agoSupport GL 4.5 in the Linkage Tests
Alexander Galazin [Tue, 20 Apr 2021 09:48:49 +0000 (12:48 +0300)]
Support GL 4.5 in the Linkage Tests

Components: AOSP

Affects:
dEQP-GLES31.functional.shaders.linkage.*
dEQP-GL45.functional.shaders.linkage.*

Change-Id: I2576b06653303416d443847e7eeef9b585c15c31

3 years agoSupport GL 4.5 in the Arrays of Arrays Tests
Alexander Galazin [Wed, 31 Mar 2021 08:25:24 +0000 (11:25 +0300)]
Support GL 4.5 in the Arrays of Arrays Tests

Components: AOSP

Affects:
dEQP-GLES31.functional.shaders.arrays_of_arrays.*
dEQP-GL45.functional.shaders.arrays_of_arrays.*

Change-Id: Ib431818f389c7f4853571a4fa6a41eb4b9d7dc18

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 21 Jan 2021 08:37:10 +0000 (10:37 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-array-accesses-clamp
dEQP-VK.graphicsfuzz.cov-bitcount
dEQP-VK.graphicsfuzz.cov-cumulate-loops-unreachable
dEQP-VK.graphicsfuzz.cov-exp2-two
dEQP-VK.graphicsfuzz.cov-for-array-initializing-modulo
dEQP-VK.graphicsfuzz.cov-for-switch-fallthrough
dEQP-VK.graphicsfuzz.cov-fragcoord-multiply
dEQP-VK.graphicsfuzz.cov-if-switch-fallthrough
dEQP-VK.graphicsfuzz.cov-increment-array-element-in-loop
dEQP-VK.graphicsfuzz.cov-increment-global-counter-loop-function
dEQP-VK.graphicsfuzz.cov-increment-multiple-integers
dEQP-VK.graphicsfuzz.cov-increment-vector-array-matrix-element
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-ldexp
dEQP-VK.graphicsfuzz.cov-inst-combine-add-sub-pre-increase
dEQP-VK.graphicsfuzz.cov-inst-combine-shifts-left-shift-for
dEQP-VK.graphicsfuzz.cov-left-shift-array-access
dEQP-VK.graphicsfuzz.cov-left-shift-right-shift-compare
dEQP-VK.graphicsfuzz.cov-loop-with-two-integers
dEQP-VK.graphicsfuzz.cov-matrix-square-mul-with-vector
dEQP-VK.graphicsfuzz.cov-max-min-less-than
dEQP-VK.graphicsfuzz.cov-mod-uint-bits-float
dEQP-VK.graphicsfuzz.cov-nir-array-access
dEQP-VK.graphicsfuzz.cov-nir-opt-large-constants-for-clamp-vector-access
dEQP-VK.graphicsfuzz.cov-nir-opt-loop-unroll-if-if-if-if-do-while
dEQP-VK.graphicsfuzz.cov-packhalf-unpackunorm
dEQP-VK.graphicsfuzz.cov-reciprocal-var-minus-one
dEQP-VK.graphicsfuzz.cov-sample-texture-hundred-iterations
dEQP-VK.graphicsfuzz.cov-sign-array-access-uaddcarry
dEQP-VK.graphicsfuzz.cov-sin-mul-mat-mat-mul-vec-mat
dEQP-VK.graphicsfuzz.cov-step-sinh
dEQP-VK.graphicsfuzz.cov-uniform-vector-copy
dEQP-VK.graphicsfuzz.cov-variable-copy-in-function-tex-sample
dEQP-VK.graphicsfuzz.cov-x86-instr-info-determinant-min

Change-Id: Ibf771c0401354d0525fc1a9820fbb30a3bc34792

3 years agoUpdate Amber
Ilkka Saarelainen [Mon, 3 May 2021 09:41:34 +0000 (12:41 +0300)]
Update Amber

Amber was causing validation errors in some tests because VK_WHOLE_SIZE
as the buffer range and dynamic offsets were used together in
uniform/storage buffer bindings, which is not allowed.

This issue is fixed in the latest version of Amber.

VK-GL-CTS issue: 2873

Affects: All Amber tests

Components: Vulkan, Framework
Change-Id: I79a003adeebc4718b1c794573fa476a4288f17c5

3 years agoFix use of binary semaphore in signaled state
Lars-Ivar Hesselberg Simonsen [Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)]
Fix use of binary semaphore in signaled state

Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.

This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.

In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.

Components: Vulkan

Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue

VK-GL-CTS Issue: 2910

Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5

3 years agoFix condition for checking support of XFB streams other than 0
Sławomir Cygan [Tue, 27 Apr 2021 10:36:17 +0000 (12:36 +0200)]
Fix condition for checking support of XFB streams other than 0

This fixed the  condition checking for `transformFeedbackRasterizationStreamSelect` property,
so the test does not throw NotSupported when the property is supported.

Components: Vulkan

VK-GL-CTS Issue: 2902

Change-Id: I7e08fe7ad838ed262444fb0db6092c566e7000c0
Affect: dEQP-VK.transform_feedback.*

3 years agoMake sure minImportedHostPointerAlignment in a power of 2
Samuel Iglesias Gonsálvez [Tue, 27 Apr 2021 11:02:55 +0000 (13:02 +0200)]
Make sure minImportedHostPointerAlignment in a power of 2

Affected tests:

   dEQP-VK.memory.external_memory_host.*

Components: Vulkan
VK-GL-CTS issue: 2901

Change-Id: Iaf0de2eb803410b30edcfd394d427e90e20be2fc
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFix crash issue when AHB extension is not supported
Yuxiang Qian [Fri, 30 Apr 2021 03:22:04 +0000 (03:22 +0000)]
Fix crash issue when AHB extension is not supported

The Ahb test doesn't check if the vulkan extension
VK_ANDROID_external_memory_android_hardware_buffer is supported and
called AHB function directly, then it crashes when the extension is not
supported.
This patch will let the test first check if this extension is supported.

Affects:

dEQP-VK.draw.ahb.*

Components: Vulkan

VK-GL-CTS issue: 2915

Change-Id: Id470caef3e034f10d08cfa3bad6e9ec705104b53

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 7 May 2021 05:36:34 +0000 (08:36 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: Idf1ac33809ccda552b758c8eae75a0c253b1a925

3 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Thu, 6 May 2021 15:52:27 +0000 (17:52 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I6386631e8b4e6b1d6738cb1bb2fa50b4c8fbe7be

3 years agoMerge pull request #261 from Joshua-Ashton/mingw-support
Alexander Galazin [Thu, 6 May 2021 15:51:24 +0000 (18:51 +0300)]
Merge pull request #261 from Joshua-Ashton/mingw-support

Implement MinGW build support

3 years agoAdd TexSubImage2D format compatibility tests
Juha Heiskanen [Fri, 9 Apr 2021 10:26:37 +0000 (13:26 +0300)]
Add TexSubImage2D format compatibility tests

Add tests to exercise glTexSubImage with different (but compatible)
client format than was passed to glTexImage.

Components: OpenGL

VK-GL-CTS issue: 871

New Tests: KHR-GLES32.core.texture_compatibility.texsubimage_format*

Change-Id: Ia1182c278d4dbcfa7a5448f121b86dfe2e4f45d7

3 years agoRename all OperationId enum values
Piotr Byszewski [Wed, 21 Apr 2021 11:25:49 +0000 (13:25 +0200)]
Rename all OperationId enum values

O_TRUNC value in OperationId enum collides with the macro O_TRUNC
defined in the POSIX header fnctl.h. To avoid the collision 'O_'
prefix was replaced with 'OID_' in all values.

VK-GL-CTS issue: 2891

Components: Vulkan

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

Change-Id: Ide7fee0197ac14b2292f4b34d450b4adcaff42e9

3 years agoFix validation error 'InputNotProduced' in Amber tests
Juha Heiskanen [Wed, 21 Apr 2021 12:46:43 +0000 (15:46 +0300)]
Fix validation error 'InputNotProduced' in Amber tests

Fragment shader consumes uint value from input location 0, but vertex
shader didn't have this kind of variable. New vertex shader created
to replace the vertex passthrough shader.

Components: Vulkan

VK-GL-CTS issue: 2875

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.decorate_string

Change-Id: I0da35bf3ee54c36c74e26a5c5233a6b8949f6b9b

3 years agoDecrease 3D image size in image atomic op tests
Ricardo Garcia [Fri, 16 Apr 2021 11:38:06 +0000 (13:38 +0200)]
Decrease 3D image size in image atomic op tests

A slight decrease in image size does not affect the nature of the test
and allows the maximum used image dimensions to fall below the
maxImageDimension3D limit.

Affected tests:
dEQP-VK.image.atomic_operations.*.3d.*

Components: Vulkan
VK-GL-CTS issue: 2883

Change-Id: I717b117ff0fd8f596fafa92ede07ac864a75ab87

3 years agoFix interfaceTypeMismatch validation errors in Amber tests
Vihanakangas [Tue, 20 Apr 2021 12:51:08 +0000 (15:51 +0300)]
Fix interfaceTypeMismatch validation errors in Amber tests

Number of elements inside builtin block differed between stages.
(Vertex shader 3 vs geometry shader 4).
This commit removes the unneeded CullDistance element from the
geometry shader.

Affects:

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_pc_entry_point
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_ssbo_entry_point
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.geom_ubo_entry_point

Components: Vulkan

VK-GL-CTS issue: 2874

Change-Id: Ic85d89296239f09f6108483096a3f1a044c05de8

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 16 Apr 2021 13:16:22 +0000 (16:16 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-and-even-numbers-from-fragcoord
dEQP-VK.graphicsfuzz.cov-clamp-vector-variable-negative-offset
dEQP-VK.graphicsfuzz.cov-derivative-uniform-vector-global-loop-count
dEQP-VK.graphicsfuzz.cov-global-loop-counter-main-function-call
dEQP-VK.graphicsfuzz.cov-if-true-continue
dEQP-VK.graphicsfuzz.cov-increment-int-loop-counter-mod-array
dEQP-VK.graphicsfuzz.cov-int-full-bits-divide-by-two-loop
dEQP-VK.graphicsfuzz.cov-loop-clamp-to-one-empty-condition
dEQP-VK.graphicsfuzz.cov-loop-returns-behind-true-and-false
dEQP-VK.graphicsfuzz.cov-min-nested-loop-same-value-for-variables
dEQP-VK.graphicsfuzz.cov-multiple-one-iteration-loops-global-counter-write-matrices
dEQP-VK.graphicsfuzz.cov-return-partly-undefined-vector-from-array
dEQP-VK.graphicsfuzz.cov-sum-uniform-vector-components-round
dEQP-VK.graphicsfuzz.cov-unpack-unorm-mix-always-one
dEQP-VK.graphicsfuzz.cov-write-past-matrix-elements-unused

Change-Id: I5862c90e856a7dfda639f9300d6904456d7110c9

3 years agoCover array input to interpolateAtCentroid
Jari Komppa [Fri, 12 Mar 2021 16:07:29 +0000 (18:07 +0200)]
Cover array input to interpolateAtCentroid

Change part of the multisample interpolation tests to take
array as parameter to improve coverage.

Affects:
dEQP-VK.pipeline.multisample_interpolation.centroid_interpolation_consistency.*

Components: Vulkan
VK-GL-CTS issue: 2733

Change-Id: Iae9d0774c7b83a6d2b649440b8fbd5d061555ab5

3 years agoRe-apply CL 7106
Alexander Galazin [Wed, 5 May 2021 11:05:43 +0000 (14:05 +0300)]
Re-apply CL 7106

Components: Vulkan

Change-Id: Ic27cc6e48e2973fbc325ddd37e5653711dfdd596

3 years agoFix fallthrough compiler warning
Samuel Iglesias Gonsálvez [Tue, 27 Apr 2021 11:27:31 +0000 (13:27 +0200)]
Fix fallthrough compiler warning

external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateInheritanceTests.cpp:757:3:
warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (geometry.viewports.size() > 1)
      ^~
      external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateInheritanceTests.cpp:763:2:
      note: here
        case kInheritanceDisabled:
  ^~~~

Components: Vulkan
VK-GL-CTS issue: 2903

Affected tests:

   dEQP-VK.dynamic_state.inheritance.*

Change-Id: I0d656b60fbb1bb34d9180d94b6a7e7bf72fb29bd
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoGCC 11 build fixes
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes

Some files used std::numeric_limits without including <limits> and
failed to compile.

Some dynamic casts and calls to AndroidHardwareBufferExternalApi::
getInstance() produced nonnull warnings. Suppress these by
wrapping them in if statements.

Update Amber to suppress some new uninitialized variable warnings.

This commit also removes implicit-fallthrough from the list of ignored
GCC warnings in check_build_sanity.py. All such warnings in the CTS
should be fixed by now and recent versions of Clang also support
this warning.

Affects: All Amber tests

VK-GL-CTS issue: 2842

Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92

3 years agoFixes for robust buffer with variable pointer tests
Ricardo Garcia [Tue, 4 May 2021 08:09:55 +0000 (10:09 +0200)]
Fixes for robust buffer with variable pointer tests

This commit fixes several issues with robust buffer access with variable
pointers tests:

* The variable pointer tests were checking support for the
  variablePointersStorageBuffer feature but they weren't actually
  activating the feature when creating the robust buffer access device.

* Support checks were being done at instance creation time instead of
  using the proper checkSupport method.

* In-bound checks for 64-bit format accesses were only checking 4 out of
  every 8 bytes in the buffer.

* The verification routines were not taking into account 64-bit
  nonatomic accesses could be legally split into two 32-bit accesses
  that could be checked independently.

* The possibility of satisfying a (0,0,0,x) pattern in output data was
  not being checked correctly for 64-bit formats, always using 32-bit
  vectors and values.

Affected tests:
dEQP-VK.robustness.buffer_access.*
dEQP-VK.robustness.vertex_access.*

Components: Vulkan
VK-GL-CTS issue: 2908

Change-Id: I85aeb085cb31d63b70acec08551c53fcc7d2be3c

3 years agoAugment binding tests to test acceleration structure descriptors
Boris Zanin [Sun, 13 Dec 2020 17:02:10 +0000 (18:02 +0100)]
Augment binding tests to test acceleration structure descriptors

Add acceleration structure binding tests for following methods
 * vkUpdateDescriptorSets
 * vkUpdateDescriptorSetWithTemplate
 * vkCmdPushDescriptorSetKHR
 * vkCmdPushDescriptorSetWithTemplateKHR

Add tests:
 * dEQP-VK.binding_model.descriptor_update.acceleration_structure.*

Components: Vulkan

VK-GL-CTS issue: 2389

Change-Id: Ia92a0c6a3918e92f55fadd49709863d5049b1d54

3 years agoFix to GL 4.5 geometry shading point size tests
Tapani Pälli [Wed, 7 Apr 2021 11:27:09 +0000 (14:27 +0300)]
Fix to GL 4.5 geometry shading point size tests

Patch removes GL_EXT_geometry_point_size requirement from
shaders when running on desktop GL context.

Components: AOSP

VK-GL-CTS Issue: 2869

Affects:
dEQP-GL45.functional.geometry_shading.*

Fixes: db1c767f7 ("Support GL 4.5 in the geometry shading tests")
Change-Id: I7697ac030f97465beb4186f5666a2c70c3818502

3 years agoAdded tests for OES_EGL_image_external
Ari Suonpaa [Wed, 7 Apr 2021 12:36:42 +0000 (15:36 +0300)]
Added tests for OES_EGL_image_external

Extented EGL image format tests to use external images.

VK-GL-CTS Issue: 2671

Affects:

dEQP-EGL.functional.image.modify.*

Components: EGL
Change-Id: I7e8f717b1214f183e8478c0d4496e637033e229f

3 years agoFix EGL AHB util build issue
Ari Suonpaa [Thu, 15 Apr 2021 07:50:15 +0000 (10:50 +0300)]
Fix EGL AHB util build issue

EGL AHB utils didn't compile when using Android API version
missing the AHB API. This change adds ifdef guards to the AHB
code when the API is missing and instead returns an unsupported
image source the same way non-Android platforms do.

VK-GL-CTS Issue: 2888

Affects:

dEQP-EGL.functional.image.*android_native*

Components: EGL, Framework
Change-Id: I98dc4ce16c096c0afc8ec41f67a4c922784bddca

3 years agoChoose linear tiling when dmabuf is used in synchronization tests.
Tapani Pälli [Wed, 14 Apr 2021 07:07:19 +0000 (10:07 +0300)]
Choose linear tiling when dmabuf is used in synchronization tests.

This change is similar to commit 941682268, with dmabuf import/export we
either need to use linear tiling or additional metadata provided with
VK_EXT_image_drm_format_modifier extension.

Component: Vulkan

Affects: dEQP-VK.synchronization.cross_instance*

VK-GL-CTS issue: 2887

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I3ef9a49e122aa3cb3025f49263acd7b9caa11c10

3 years agoUpdate a batch of graphicsfuzz tests to include SPIR-V TARGET_ENV
Vihanakangas [Wed, 31 Mar 2021 17:19:49 +0000 (20:19 +0300)]
Update a batch of graphicsfuzz tests to include SPIR-V TARGET_ENV

Components: Vulkan

Affects:

dEQP-VK.graphicsfuzz.*

Change-Id: I7b460075d3c2a9e269ef19ef95d0e0ab44522f24

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-glk-cts/master
Alexander Galazin [Fri, 23 Apr 2021 06:52:43 +0000 (09:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-glk-cts/master

Change-Id: I17cce066b4beef007c29f2ec3c1ac59d7e1cdf17

3 years agoSync master and vulkan-cts-1.2.6 headers
Alexander Galazin [Fri, 23 Apr 2021 06:54:50 +0000 (09:54 +0300)]
Sync master and vulkan-cts-1.2.6 headers

Components: Vulkan

Change-Id: I7865f441d2d987f8126e1e8542a494c90fe5b45c

3 years agoAllow Vulkan CTS 1.2.6.1
Alexander Galazin [Fri, 23 Apr 2021 05:39:18 +0000 (08:39 +0300)]
Allow Vulkan CTS 1.2.6.1

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I40bad2fda3a901a164b5e9e738e27d39776f028c

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 23 Apr 2021 05:24:16 +0000 (08:24 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I558d95e4d43099527b53f45a6aef6e0c66d93fc4

3 years agoRemove too long ray_tracing.build tests
Sławomir Cygan [Mon, 19 Apr 2021 14:22:35 +0000 (16:22 +0200)]
Remove too long ray_tracing.build tests

The tests have too large runtime (up to 1h20m per
single test case) due to large AS being built on the
host.

VK-GL-CTS Issue: 2896

Components: Vulkan

Affects: dEQP-VK.ray_tracing_pipeline.build.*

Change-Id: Ib298b18967ed76d79bd150ac53d90d36332adc60

3 years agoAdd new tests for VK_EXT_extended_dynamic_state2
Vikram Kushwaha [Thu, 1 Apr 2021 23:29:39 +0000 (16:29 -0700)]
Add new tests for VK_EXT_extended_dynamic_state2

Components: Vulkan

New Tests:

dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.before_draw.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.before_draw.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_bias_enable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_bias_disable
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.before_draw.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.before_draw.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.enable_raster
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.disable_raster
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.before_draw.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.logic_op_or
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.before_draw.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.prim_restart_enable
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.before_draw.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.before_good_static.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.patch_control_points
dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.patch_control_points

Change-Id: I0c95f38c90bb411ea6e801885d11fbd931fdbe84
(cherry picked from commit 03816ca23aa419f73d87ee5830a5bf9f903bc226)

3 years agoVulkan CTS coverage for VK_EXT_ycbcr_2plane_444_formats
Piers Daniell [Fri, 12 Mar 2021 23:22:49 +0000 (16:22 -0700)]
Vulkan CTS coverage for VK_EXT_ycbcr_2plane_444_formats

This extension adds a few new 2-plane 444 YCbCr formats:
VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT
VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT

This CL extends existing YCbCr coverage to include these new formats.
In most cases the tests leverage vkGetPhysicalDeviceImageFormatProperties
to determine whether the format is supported and what image properties
it supports.

New tests:

dEQP-VK.*2plane_444*

Affects:

dEQP-VK.api.info.format_properties.*
dEQP-VK.api.info.image_format_properties.*
dEQP-VK.api.info.image_format_properties2.*
dEQP-VK.sparse_resources.*
dEQP-VK.ycbcr.*
dEQP-VK.protected_memory.interaction.ycbcr.*

Change-Id: I7b86ea1db14a953213e5277e87f274efb794d350
Components: Vulkan
(cherry picked from commit 81cc90f3eff3e224bb7c862c67a5a1b7ed6a9148)
(cherry picked from commit 5ec7dba1fbcf14b8dacdf47b9c715b9a22f6b897)

3 years agoAdd missing memory barrier between device transfer write and host read
Sławomir Cygan [Fri, 16 Apr 2021 08:51:36 +0000 (10:51 +0200)]
Add missing memory barrier between device transfer write and host read

The tests are missing a barrier between buffer being written by transfer operation
on device and reading the buffer contents on host.

Some tests were not missing this barrier, but the access flags were not reflecting
the dependency.

Components: Vulkan

VK-GL-CTS Issue: 2894

Affects:
dEQP-VK.ray_query.*
dEQP-VK.ray_tracing.*

Change-Id: I3e90e53f7db2a885805bd95d5f6033468ff8a927

3 years agoMove the hit counting from any hit to closest hit shader stage
Slawomir Cygan [Thu, 15 Apr 2021 15:20:21 +0000 (17:20 +0200)]
Move the hit counting from any hit to closest hit shader stage

Fix the counting of ray hits by moving it from any hit to closest hit shader,
as any hit shader may execute multiple times per geometry - what may happen
because triangle primitives are arranged into grid of cubes.

VK-GL-CTS Issue: 2890

Affects: dEQP-VK.ray_tracing_pipeline.misc.*stress*

Change-Id: Id7e10181d15f99685c2997003dd579ab735dc4ee
Components: Vulkan

3 years agoUse actual pipeline recursion depth when computing stack size
Slawomir Cygan [Fri, 9 Apr 2021 13:48:51 +0000 (15:48 +0200)]
Use actual pipeline recursion depth when computing stack size

Use the maximum recursion depth as set in the used pipeline,
rather than the maximum recursion depth supported by a physical
device to avoid overflowing uint32 when computing the dynamic
stack size and/or creating exceptionally large stack, not needed by
the pipeline used in this test.

Components: Vulkan

Affects: dEQP-VK.ray_tracing_pipeline.misc.callableshaderstress*

VK-GL-CTS Issue: 2880

Change-Id: Ia4feee82099d34300c70af8eab13245d29d037d9

3 years agoTests for VK_EXT_color_write_enable
Sharif Elcott [Fri, 26 Feb 2021 07:44:56 +0000 (16:44 +0900)]
Tests for VK_EXT_color_write_enable

Tests new pipeline state pColorWriteEnables, in new struct
VkPipelineColorWriteCreateInfoEXT, chained off of
VkPipelineColorBlendStateCreateInfo. Also the corresponding new dynamic
state VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT and
vkCmdSetColorWriteEnableEXT.

New tests:

dEQP-VK.pipeline.color_write_enable.*

Components: Vulkan
VK-GL-CTS issue: 2823

Change-Id: I07e6d47e647b319b14e6a50d2feb2700b2bab24e
(cherry picked from commit dcd384bb52a4ac8fc68d52f4a82f14941ba5b277)
(cherry picked from commit 520a31980be30c559a55af8985194be5028cef18)

3 years agoTests for VK_EXT_vertex_input_dynamic_state
Piers Daniell [Tue, 6 Oct 2020 22:06:46 +0000 (16:06 -0600)]
Tests for VK_EXT_vertex_input_dynamic_state

This CL expands the existing dEQP-VK.pipeline.extended_dynamic_state.*
tests to also include coverage for the vertex input pipeline state
being dynamic. The new vertex_input tests utilize the same
extended_dynamic_state test framework which verifies all combinations
of setting the dynamic state before and after the static pipeline
state works correctly.

New tests:

dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input

Affects:

dEQP-VK.pipeline.extended_dynamic_state.*

Components: Vulkan

VK-GL-CTS issue: 2610

Change-Id: I669f60ddec743571d9e3eff1120f0112a829ecb7
(cherry picked from commit 92aa842b6fd13ba0fdfea9a0fe07577816815d31)
(cherry picked from commit 416ab7627b21e1938b88045f6d4a79b3c2fe8971)

3 years agoAdd VK_NV_inherited_viewport_scissor tests
David Zhao Akeley [Tue, 16 Mar 2021 22:24:46 +0000 (15:24 -0700)]
Add VK_NV_inherited_viewport_scissor tests

Components: Vulkan AOSP

New tests:

dEQP-VK.dynamic_state.inheritance.baseline
dEQP-VK.dynamic_state.inheritance.primary
dEQP-VK.dynamic_state.inheritance.secondary
dEQP-VK.dynamic_state.inheritance.split
dEQP-VK.dynamic_state.inheritance.primary_with_count
dEQP-VK.dynamic_state.inheritance.secondary_with_count

Change-Id: I39177c2e8b58c3ff25028ddcd8fca330aac25a9c
(cherry picked from commit 5a05fa25b8df2d807f59ef3f5561706539439f27)
(cherry picked from commit 2ddddcba017b028ccd655f7d9ec715d3b56ad9db)

3 years agoReduce the number of RayQueryExt objects allocated in shader
Sławomir Cygan [Thu, 15 Apr 2021 13:22:56 +0000 (15:22 +0200)]
Reduce the number of RayQueryExt objects allocated in shader

This reduces number of RayQueryExt object allocated simultanously
in shader, to avoid running out of memory of local variables.

Components: Vulkan

VK-GL-CTS Issue: 2889

Change-Id: I16ce02af52af6ee0b10a3cf382d132b32f3cf40a
Affects: dEQP-VK.ray_query.misc.dynamic_indexing*

3 years agoTests for image OpImageWrite on mismatched signedness and type
michal_jakubek [Tue, 2 Feb 2021 22:06:29 +0000 (23:06 +0100)]
Tests for image OpImageWrite on mismatched signedness and type

New tests:
dEQP-VK.image.mismatched_write_op.mismatched_signedness_and_type.*

Components: Vulkan

VK-GL-CTS issue: 2413

Change-Id: I31f410cd19d6af92f7aed5364af79f12e8dd137b

3 years agoFix linking on MacOS
Piotr Byszewski [Tue, 6 Apr 2021 12:19:04 +0000 (14:19 +0200)]
Fix linking on MacOS

This change resolves linking issue on MacOS and adds this
platform to vulkan cts readme.

Components: Framework

Affects:
*

Change-Id: I355d9f08f0b3bd457fddb7f889ffe4ec1969e346

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 21 Apr 2021 15:54:28 +0000 (18:54 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ic854c92253dc5745bd4718fab12b567832228861

3 years agoAndroid: test list change dEQP-VK.glsl.builtin.*
Paul Thomson [Tue, 20 Apr 2021 10:00:04 +0000 (11:00 +0100)]
Android: test list change dEQP-VK.glsl.builtin.*

Move the following tests from the Android 2019 test list to the 2020
test list.

dEQP-VK.glsl.builtin.precision.asin.highp.scalar
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
dEQP-VK.glsl.builtin.precision.asin.highp.vec4

Components: AOSP

Change-Id: I6586b0cfb39be6d43278cf61378563b3f894d641

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 21 Apr 2021 09:08:43 +0000 (12:08 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I83fff4847e0bc12be0d574bd064a511784a72e09

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 19 Apr 2021 08:29:14 +0000 (11:29 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: I53ee070a94d444ca3f3d5198b205a4a7a0f3423d
(cherry picked from commit e360c1b13cdc98be2741b53e63a7a53204bb289a)

3 years agoUpdate Vulkan beta Headers
Alexander Galazin [Tue, 13 Apr 2021 09:57:15 +0000 (12:57 +0300)]
Update Vulkan beta Headers

Components: Vulkan

Change-Id: I29364f15c3c9c83424a7c0814b7634aaadfd4ab2
(cherry picked from commit 476acb91ebc242858d6d73253f54b7f8521f4d98)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 21 Apr 2021 08:18:37 +0000 (11:18 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ib3ccf6adeedb2a55ba8a96bfabb75273a1c664ea

3 years agoUpdate Vulkan Headers
Alexander Galazin [Tue, 13 Apr 2021 09:55:34 +0000 (12:55 +0300)]
Update Vulkan Headers

Components: Vulkan

Change-Id: I489a247c5d32a19dd48768654ab1ef76cce3687c
(cherry picked from commit aa398b9cbd0ea035bdcc5d48da460c005654e507)

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 29 Mar 2021 08:26:40 +0000 (11:26 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: I1f2650958b9ec4d9af8eb5e6310afa3c72395880
(cherry picked from commit e58814865924d9222859eaf8e4132e0eb842eb49)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 21 Apr 2021 06:56:03 +0000 (09:56 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I90603cf34d44bb7c6f10e81f7b594834391da05e

3 years agoUpdate glslang, SPIR-V Tools/Headers
Alexander Galazin [Wed, 21 Apr 2021 06:53:30 +0000 (09:53 +0300)]
Update glslang, SPIR-V Tools/Headers

Components: Framework

Change-Id: Ie4718ffc3e005b21992f6636e72ed57d75c074d5

3 years agoAndroid: test list change dEQP-VK.glsl.builtin.*
Paul Thomson [Tue, 20 Apr 2021 10:00:04 +0000 (11:00 +0100)]
Android: test list change dEQP-VK.glsl.builtin.*

Move the following tests from the Android 2019 test list to the 2020
test list.

dEQP-VK.glsl.builtin.precision.asin.highp.scalar
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
dEQP-VK.glsl.builtin.precision.asin.highp.vec4

Components: AOSP

Change-Id: I6586b0cfb39be6d43278cf61378563b3f894d641

3 years agoImplement MinGW build support
Joshua Ashton [Mon, 19 Apr 2021 00:40:10 +0000 (01:40 +0100)]
Implement MinGW build support

This commit adds support for building with the MinGW toolchain.

This is useful as it allows Windows builds of the CTS to be
built on Linux or other platforms.
This can then either be used on Windows natively, or under the Wine
translation layer.

It can be used by either specifying a MinGW toolchain in CMake
or using the x86_64-w64-mingw32-cmake wrapper.

Fixes: #125

Signed-off-by: Joshua Ashton <joshua@froggi.es>
3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 19 Apr 2021 08:29:14 +0000 (11:29 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: I53ee070a94d444ca3f3d5198b205a4a7a0f3423d

3 years agoUpdate Vulkan beta Headers
Alexander Galazin [Tue, 13 Apr 2021 09:57:15 +0000 (12:57 +0300)]
Update Vulkan beta Headers

Components: Vulkan

Change-Id: I29364f15c3c9c83424a7c0814b7634aaadfd4ab2

3 years agoCreate chunked mustpass
Piotr Byszewski [Fri, 19 Mar 2021 16:54:10 +0000 (17:54 +0100)]
Create chunked mustpass

Components: Framework

VK-GL-CTS issue: 2818

Affects:
*

Change-Id: If5b6baf75384d69457f17a590bc6f416edccc20f

3 years agoTest non-uniform args in ray tracing operations
Ricardo Garcia [Thu, 4 Mar 2021 15:08:24 +0000 (16:08 +0100)]
Test non-uniform args in ray tracing operations

Test that passing non-uniform values in arguments to traceRayExt() and
rayQueryInitializeEXT() works as expected.

New tests:
dEQP-VK.ray_tracing_pipeline.non_uniform_args.*
dEQP-VK.ray_query.non_uniform_args.*

Components: Vulkan
VK-GL-CTS issue: 2811

Change-Id: Ib9ee67907d822b1b1820601ca43122aadaef50d2

3 years agoSupport GL 4.5 in the Program State Query tests
Alexander Galazin [Wed, 31 Mar 2021 07:49:08 +0000 (10:49 +0300)]
Support GL 4.5 in the Program State Query tests

Components: AOSP

Affects:
dEQP-GLES31.functional.state_query.*
dEQP-GL45.functional.state_query.*

Change-Id: Id23e3852ab16c5e622dd73d097a553ede5caad4d

3 years agoAdd some simple shader tests for compatibility context
Timothy Arceri [Tue, 9 Mar 2021 02:58:12 +0000 (13:58 +1100)]
Add some simple shader tests for compatibility context

These are some simple compile tests to make sure implementations
correctly default to core shaders when no core/es/compatibility
qualifier is defined. And also correctly disable functionality
in core shaders that was moved to compatibility in GL 4.2

Here we also add some basic support for creating compat profiles
to the framework. For now we just use core function init and state
resets as a dummy for compat as we don't currently need to use any
compat features other than the context creatation itself.

Affects: KHR-GL42-COMPAT.shaders42*

Components: Framework, OpenGL

VK-GL-CTS issue: 2837

Change-Id: I055bf2e9ab7361436c8cc96f7d1acc041f61e76b

3 years agoAdd new tests for (u)int->float conversion
Tony Wasserka [Thu, 25 Mar 2021 18:26:13 +0000 (19:26 +0100)]
Add new tests for (u)int->float conversion

This adds a number of special values that triggered incorrect behavior
on our implementation.

Further, some of the min/max tests were too conservative and didn't
actually use the smallest/larged possible values. They now use the full
range of exactly convertible values instead.

Components: Vulkan

Affects: dEQP-VK.spirv_assembly.instruction.graphics.convert*to*.*

Change-Id: Ieadc40b40107318df4351826c5c33b4140c4f7f3

3 years agoTest buffer copies with varying offsets and sizes
Ricardo Garcia [Wed, 14 Apr 2021 06:36:30 +0000 (08:36 +0200)]
Test buffer copies with varying offsets and sizes

New set of tests that try to check buffer copies with unusual
combinations of source and destination offsets as well as sizes produces
the expected results.

New tests:
dEQP-VK.api.copy_and_blit.core.buffer_to_buffer_with_offset.*

Components: Vulkan
VK-GL-CTS issue: 2838

Change-Id: I4ab2df5d0e599456ac396bdfb9839b3bc18571e8

3 years agoVulkan CTS coverage for VK_EXT_ycbcr_2plane_444_formats
Piers Daniell [Fri, 12 Mar 2021 23:22:49 +0000 (16:22 -0700)]
Vulkan CTS coverage for VK_EXT_ycbcr_2plane_444_formats

This extension adds a few new 2-plane 444 YCbCr formats:
VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT
VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT
VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT
VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT

This CL extends existing YCbCr coverage to include these new formats.
In most cases the tests leverage vkGetPhysicalDeviceImageFormatProperties
to determine whether the format is supported and what image properties
it supports.

New tests:

dEQP-VK.*2plane_444*

Affects:

dEQP-VK.api.info.format_properties.*
dEQP-VK.api.info.image_format_properties.*
dEQP-VK.api.info.image_format_properties2.*
dEQP-VK.sparse_resources.*
dEQP-VK.ycbcr.*
dEQP-VK.protected_memory.interaction.ycbcr.*

Change-Id: I7b86ea1db14a953213e5277e87f274efb794d350
Components: Vulkan
(cherry picked from commit 81cc90f3eff3e224bb7c862c67a5a1b7ed6a9148)

3 years agoFix 'implicit-fallthrough' build error on GCC 9.3.0
Sławomir Cygan [Wed, 14 Apr 2021 16:12:12 +0000 (18:12 +0200)]
Fix 'implicit-fallthrough' build error on GCC 9.3.0

It seems the existing comment was not hitting the regular
expression used by the GCC compiler when reading user comments
before case switch fallthrough.

The warning is triggered by -Wextra, which on GCC enables
'-Wimplicit-fallthrough=3'.

Another way to avoid the warning would be to use
[[fallthrough]] statement, but it's from C++17, which does not seem
to be enabled.

Components: Vulkan

Change-Id: Ica52e88f94f4f1c303511d8462938856cb676146

3 years agoSupport GL 4.5 in the tessellation and geometry shader interaction tests
Alexander Galazin [Thu, 18 Mar 2021 06:44:23 +0000 (09:44 +0300)]
Support GL 4.5 in the tessellation and geometry shader interaction tests

Components: AOSP

Affects:
dEQP-GLES31.functional.tessellation_geometry_interaction.*
dEQP-GL45.functional.tessellation_geometry_interaction.*

Change-Id: If8001dfaf9ed833b5e786900a65384c92b7a56d1

3 years agoFix RT misc tests (querying shaderfloat64)
marz [Thu, 8 Apr 2021 10:01:37 +0000 (12:01 +0200)]
Fix RT misc tests (querying shaderfloat64)

Presence of data types that use double in shaders
wasn’t properly detected, the issue was solved
by changing conditions in usesF64 function.

VK-GL-CTS issue: 2867

Components: Vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.misc.*

Change-Id: Id24366f758878bb9c8a34c5d74cdaad1dcd2a469

3 years agoAdd missing rasterizationStream in pipeline creation
Lionel Landwerlin [Mon, 12 Apr 2021 10:37:57 +0000 (13:37 +0300)]
Add missing rasterizationStream in pipeline creation

This fixes some new tests added in 0ffed122cb59b6 ("Add primitive
topologies for XFB query tests").

The rasterizationStream is not specified and it fails the expectation
of transform feedback query results.

Also if an implementation does not support
transformFeedbackRasterizationStreamSelect, streamId > 0 should not be
used as per VU :

   VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-rasterizationStream-02326
   rasterizationStream must be zero if
   VkPhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackRasterizationStreamSelect
   is VK_FALSE

VK-GL-CTS Issue: 2882

Components: Vulkan

Affects:
dEQP-VK.transform_feedback.simple.query*
dEQP-VK.transform_feedback.simple.host_query*

Change-Id: I9d29796022dfb05d92906eca724cc656d8034b15

3 years agoDrop unnecessary barrier
Sagar Ghuge [Tue, 13 Apr 2021 06:06:49 +0000 (23:06 -0700)]
Drop unnecessary barrier

This extra barrier which does the transition from UNDEFINED-> GENERAL,
image data is read immediately after that, which leads to the test
failure after enabling the storage image compression.

Components: Vulkan

VK-GL-CTS Issue: 2884

Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*

Change-Id: I2ef7ca40b9c869f69654797872ebabb83bfbec10
(cherry picked from commit 4e830b7e271d5b77bc303f91ee11c7f703f14176)

3 years agoDrop unnecessary barrier
Sagar Ghuge [Tue, 13 Apr 2021 06:06:49 +0000 (23:06 -0700)]
Drop unnecessary barrier

This extra barrier which does the transition from UNDEFINED-> GENERAL,
image data is read immediately after that, which leads to the test
failure after enabling the storage image compression.

Components: Vulkan

VK-GL-CTS Issue: 2884

Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*

Change-Id: I2ef7ca40b9c869f69654797872ebabb83bfbec10

3 years agoPortability: fix ycbcr query tests
Piotr Byszewski [Fri, 5 Mar 2021 13:00:38 +0000 (14:00 +0100)]
Portability: fix ycbcr query tests

After adding support for VK_KHR_portability_subset
and executing CTS on MoltenVK some issues surfaced.
They are beeing resolved in a series of small CLs.

This change checks if VK_KHR_portability_subset is
available in ycbcr query tests (some of those tests
require tessellation isolines which are under feature
flag in portability).

See:
https://github.com/KhronosGroup/MoltenVK/issues/1285

Components: Vulkan

Affects:
dEQP-VK.ycbcr.query.*

Change-Id: I02e68718af4b7cdb0778890e231ad559e52ac19a

3 years agoMake tcu::Exception noexcept copy-constructible
Ricardo Garcia [Wed, 7 Apr 2021 14:22:03 +0000 (16:22 +0200)]
Make tcu::Exception noexcept copy-constructible

This avoids warnings when using clang-tidy and some IDEs while
preventing undefined behavior.

No tests should be affected by this change, as the interface for
tcu::Exception is not modified.

Components: Framework
VK-GL-CTS issue: 2872

Change-Id: I616ae2db1d28940251b6dcade2c4b3df7e1dc5f5

3 years agodEQP-VK.graphicsfuzz.stable-colorgrid-modulo-true-conditional-divided-1
Toni Salmivalli [Thu, 26 Nov 2020 13:11:01 +0000 (15:11 +0200)]
dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-true-conditional-divided-1

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-true-conditional-divided-1

Change-Id: I740bd7193a363ebd31b7fad1f8aa1c0251a46754

3 years agoAdd a batch of GraphicsFuzz tests
Toni Salmivalli [Thu, 26 Nov 2020 13:45:43 +0000 (15:45 +0200)]
Add a batch of GraphicsFuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.do-while-false-if
dEQP-VK.graphicsfuzz.struct-array-index
dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-float-mat-determinant-clamp
dEQP-VK.graphicsfuzz.stable-mergesort-clamped-conditional-bit-shift
dEQP-VK.graphicsfuzz.stable-quicksort-conditional-bitwise-or-clamp
dEQP-VK.graphicsfuzz.stable-triangle-clamp-conditional-mix
dEQP-VK.graphicsfuzz.stable-triangle-nested-conditional-clamped-float

Change-Id: I211d897d64f7c41b844cd0ab2bbb154b555e1496

3 years agoTests for VK_EXT_color_write_enable
Sharif Elcott [Fri, 26 Feb 2021 07:44:56 +0000 (16:44 +0900)]
Tests for VK_EXT_color_write_enable

Tests new pipeline state pColorWriteEnables, in new struct
VkPipelineColorWriteCreateInfoEXT, chained off of
VkPipelineColorBlendStateCreateInfo. Also the corresponding new dynamic
state VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT and
vkCmdSetColorWriteEnableEXT.

New tests:

dEQP-VK.pipeline.color_write_enable.*

Components: Vulkan
VK-GL-CTS issue: 2823

Change-Id: I07e6d47e647b319b14e6a50d2feb2700b2bab24e
(cherry picked from commit dcd384bb52a4ac8fc68d52f4a82f14941ba5b277)

3 years agoTests for VK_EXT_vertex_input_dynamic_state
Piers Daniell [Tue, 6 Oct 2020 22:06:46 +0000 (16:06 -0600)]
Tests for VK_EXT_vertex_input_dynamic_state

This CL expands the existing dEQP-VK.pipeline.extended_dynamic_state.*
tests to also include coverage for the vertex input pipeline state
being dynamic. The new vertex_input tests utilize the same
extended_dynamic_state test framework which verifies all combinations
of setting the dynamic state before and after the static pipeline
state works correctly.

New tests:

dEQP-VK.pipeline.extended_dynamic_state.*.vertex_input

Affects:

dEQP-VK.pipeline.extended_dynamic_state.*

Components: Vulkan

VK-GL-CTS issue: 2610

Change-Id: I669f60ddec743571d9e3eff1120f0112a829ecb7
(cherry picked from commit 92aa842b6fd13ba0fdfea9a0fe07577816815d31)

3 years agoAdd VK_NV_inherited_viewport_scissor tests
David Zhao Akeley [Tue, 16 Mar 2021 22:24:46 +0000 (15:24 -0700)]
Add VK_NV_inherited_viewport_scissor tests

Components: Vulkan AOSP

New tests:

dEQP-VK.dynamic_state.inheritance.baseline
dEQP-VK.dynamic_state.inheritance.primary
dEQP-VK.dynamic_state.inheritance.secondary
dEQP-VK.dynamic_state.inheritance.split
dEQP-VK.dynamic_state.inheritance.primary_with_count
dEQP-VK.dynamic_state.inheritance.secondary_with_count

Change-Id: I39177c2e8b58c3ff25028ddcd8fca330aac25a9c
(cherry picked from commit 5a05fa25b8df2d807f59ef3f5561706539439f27)

3 years agoUpdate Vulkan Headers
Alexander Galazin [Tue, 13 Apr 2021 09:55:34 +0000 (12:55 +0300)]
Update Vulkan Headers

Components: Vulkan

Change-Id: I489a247c5d32a19dd48768654ab1ef76cce3687c

3 years agoSupport alternate file path lists for loading libs
James Jones [Tue, 12 Jan 2021 23:59:42 +0000 (15:59 -0800)]
Support alternate file path lists for loading libs

Add a new constructor to the dynamic library
loader helper class that allows callers to specify
more than one path for the desired library. The
ordered, NULL-terminated array of paths is walked
until loading one succeeds. The intention here is
to support both versioned and unversioned file
names for portability across operating systems
with different library naming conventions, e.g:

  { libfoo.so.3, libfoo.so, DE_NULL }

Should load "libfoo" on both Linux and BSD OSs.

Components: Framework

Change-Id: I1a0e1c055dd6eeee8e091be5148b99f1f63d86f6