platform/upstream/VK-GL-CTS.git
2 years agoMerge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master
Matthew Netsch [Fri, 4 Feb 2022 19:08:45 +0000 (14:08 -0500)]
Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master

Change-Id: Ie4af58da648a003481d9248fd398180587dd98fc

2 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Matthew Netsch [Fri, 4 Feb 2022 00:55:17 +0000 (00:55 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2

Change-Id: I0ae06c58b38d26deb1bebd95e78862c970b7326e

2 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Matthew Netsch [Thu, 3 Feb 2022 22:38:33 +0000 (22:38 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1

Change-Id: I7ea3c530d47c2ebcc1c8c93b30f6e177ec5fb4e7

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/master
Matthew Netsch [Thu, 3 Feb 2022 17:35:18 +0000 (17:35 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/master

Change-Id: I2eff1641d6841f3ce44e2a66f17dab7a61de4ffc

2 years agoAdd depth and stencil multisample copy tests
Ilkka Saarelainen [Wed, 10 Nov 2021 09:13:18 +0000 (11:13 +0200)]
Add depth and stencil multisample copy tests

This CL adds copy tests with depth and stencil formats using multisampling.
The tests contain following variants of the copy operation:
- full image copy
- partial image copy
- different image layouts: src/dst optimal and general (full image copy only)
- array layer to array layer copy
- all of the tests with different sample counts and following image formats:
  d32_sfloat, s8_uint, d16_unorm_s8_uint, d24_unorm_s8_uint
- all of the tests with and without VK_KHR_dedicated_allocation and VK_KHR_copy_commands2
  extensions

New tests:
dEQP-VK.api.copy_and_blit.*.depth_stencil_msaa_copy.*

Components: Vulkan

VK-GL-CTS Issue: 3065

Change-Id: Ie7097ce432b49f9f1f6db0d79fd3b43a97b784b0

2 years agoAdd color output check to early fragment sample count tests
Juha Heiskanen [Mon, 17 Jan 2022 14:36:23 +0000 (16:36 +0200)]
Add color output check to early fragment sample count tests

Additional check for the edge cases, where the sample count value
is correct, but the color output value is wrong.

Components: Vulkan

VK-GL-CTS Issue: 3452

Affects: dEQP-VK.fragment_operations.early_fragment.sample_*

Change-Id: I19bfdd4f007a75580418fb61720ba06e82610291

2 years agoTest dynamic descriptors with different stage visibility
Juha Heiskanen [Mon, 20 Dec 2021 09:58:05 +0000 (11:58 +0200)]
Test dynamic descriptors with different stage visibility

Add tests of different combinations of stage visibility to ensure that
drivers always consume all offsets even for descriptors that are
otherwise unused.

Components: Vulkan

VK-GL-CTS Issue: 3119

New tests:
dEQP-VK.pipeline.dynamic_offset.combined_descriptors.all_offsets.*
dEQP-VK.pipeline.dynamic_offset.combined_descriptors.single_offset.*

Change-Id: I439b17a143ba00aadfdb0afbcfb66418597f6969

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 26 Nov 2021 15:39:35 +0000 (17:39 +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-condition-increment-zero-to-one-divide-by-two
dEQP-VK.graphicsfuzz.cov-function-loop-condition-variable-less-than-min-itself
dEQP-VK.graphicsfuzz.cov-function-loop-copy-array-elements-based-on-arguments
dEQP-VK.graphicsfuzz.cov-function-undefined-shift-left-index-array-with-return-value
dEQP-VK.graphicsfuzz.cov-global-loop-counter-select-one-or-zero-never-greater-than-one
dEQP-VK.graphicsfuzz.cov-initialize-integer-array-variable-divided-by-itself
dEQP-VK.graphicsfuzz.cov-large-for-loop-exit-early-set-iterator-array-element
dEQP-VK.graphicsfuzz.cov-loop-condition-divide-by-uniform-always-false
dEQP-VK.graphicsfuzz.cov-loop-divide-uninitialized-vector-min-unused
dEQP-VK.graphicsfuzz.cov-loop-start-from-one-switch-case-invalid-color-never-executed
dEQP-VK.graphicsfuzz.cov-nested-structs-function-set-inner-struct-field-return
dEQP-VK.graphicsfuzz.cov-pow-distance-uniform-vector-constant-one-vector
dEQP-VK.graphicsfuzz.cov-vec2-dot-minus-negative-zero
dEQP-VK.graphicsfuzz.cov-vec2-duplicate-min-always-half

Change-Id: Ibb452dad187ec09fb9802cd05b68b5904cf8857e

2 years agoRemove EnableBlendCase from ES 3.1
Mika Väinölä [Fri, 14 Jan 2022 08:54:36 +0000 (10:54 +0200)]
Remove EnableBlendCase from ES 3.1

These tests were moved to the ES 3.0 module. Removing this class fixes
an unused function warning on GCC.

Components: OpenGL

VK-GL-CTS issue: 2328

Change-Id: I371949a10b9a8065231c5473b376b5cad616e9b2

2 years agoDelay initializing fragment_shading_rate tests
Sean Risser [Thu, 20 Jan 2022 08:35:37 +0000 (03:35 -0500)]
Delay initializing fragment_shading_rate tests

When the shading rate tests were renamed, they turned a delayed call
to createChildren into an immediate call. For partial test-suite runs,
this can significantly impact run times.

Components: Vulkan

VK-GL_CTS Issue: 3460

Affects:
dEQP-VK.fragment_shading_rate.*

Change-Id: Ie2bb7a7690b2650006da888433397dae9a5ff7cf

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Fri, 28 Jan 2022 16:03:13 +0000 (11:03 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I5a8dc102c3f0c1f8a2cd498ef343e33d471d1fa6

2 years agoFix issues in load_store_op_none tests
Ricardo Garcia [Tue, 18 Jan 2022 15:22:48 +0000 (16:22 +0100)]
Fix issues in load_store_op_none tests

This commit fixes several issues from the load_store_op_none tests:

- Checking depth/stencil image format support in a checkSupport() method
  instead of at iteration time.
- Validation error regarding mismatched attachment counts in dynamic
  rendering variants.
- Validation error regarding image layout in dynamic rendering variants.
- Wrong barriers after clearing color and depth/stencil images.
- Make the code not assume depth/stencil formats have both aspects,
  paving the way to testing more formats in the near future.

Affected tests:
dEQP-VK.*.load_store_op_none.*

Components: Vulkan
VK-GL-CTS issue: 3413

Change-Id: Iec237547f5762f299f1225eb4dda010e4256b367

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 28 Jan 2022 04:41:52 +0000 (04:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Idb8b94c0b0e0052ff4bafffcdf473b1e9aa468e1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 28 Jan 2022 01:06:25 +0000 (01:06 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I078d372dbbcb1886aa13f37995bfcf50cd97413a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 27 Jan 2022 23:10:08 +0000 (23:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I60ad45aaeeb84782bde80829cb1e731fb8e76b01

2 years agoMerge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master
Matthew Netsch [Thu, 27 Jan 2022 19:10:44 +0000 (14:10 -0500)]
Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/master

Change-Id: Ibbe18a851b45043175ae3c0d071ce9e8aa677349

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 27 Jan 2022 19:12:43 +0000 (19:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Iff22de3540519a435bbb7874188bbcadec977b05

2 years agoFix bug in calcFloatDiff
Nishit Shah [Thu, 20 Jan 2022 17:23:14 +0000 (11:23 -0600)]
Fix bug in calcFloatDiff

bsign variable in function calcFloatDiff is wrongly declared. Fixing.

VK-GL-CTS issue: 3472

Affects:
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image*
and all the tests from the vktApiImageClearingTests.cpp file.

Components: Vulkan
Signed-off-by: Nishit Shah <nishit.shah@samsung.com>
Change-Id: I654920c9de460eb04caaca988552f65da3aa2687

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Sun, 23 Jan 2022 03:57:11 +0000 (03:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I926c8aa1e147e8750a3971069d1a505432f447a5

2 years agoRelax precision for matrix precision tests
James Fitzpatrick [Wed, 19 Jan 2022 11:46:20 +0000 (11:46 +0000)]
Relax precision for matrix precision tests

The Vulkan spec does not specify the precision for inverse and
determinant built in functions, however newly added tests effecitively
adds a precision requirement for them.

The precision required in these tests is too high for some valid
implementations of these builtin functions.

Relax the precision required in the tests to allow valid
implementations to pass.

Affects:
dEQP-VK.glsl.builtin.precision*.determinant.*
dEQP-VK.glsl.builtin.precision*.inverse.*

Compontents: vulkan

VK-GL-CTS issue: 3182

Change-Id: Ib4c5b9d04578732456b8f981bc82a2c86ad877fa

2 years agoSkip the "two_draw" variants of zero_stride_with_offset tests
Shih-hsin Li [Mon, 17 Jan 2022 04:33:09 +0000 (04:33 +0000)]
Skip the "two_draw" variants of zero_stride_with_offset tests

There's only one vertex in vertex array for singleVertex config.
Non-zero stride can cause out of bound memory access error since
vkd.cmdDraw draws 6(singleVertexDrawCount) vertices in singleVertex
config.

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*.zero_stride_with_offset

Components: Vulkan

VK-GL-CTS issue: 3463

Change-Id: I77baa395c40f74f518bc9c7e8daf32c87686868a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Sat, 22 Jan 2022 16:26:06 +0000 (11:26 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I4e8734003d9e689045fd25601bc521a4fb119f0b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 21 Jan 2022 21:36:09 +0000 (16:36 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Iab61e615b3f7d5b108d925150255a73171e3d438

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 21 Jan 2022 17:33:04 +0000 (12:33 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: If56557dcb21ca8bfd90acbb2fffbd3f8ceed16f2

2 years agoRe-enable Clang warning for Amber
Mika Väinölä [Tue, 11 Jan 2022 07:45:02 +0000 (09:45 +0200)]
Re-enable Clang warning for Amber

The Amber version used by vulkan-cts-1.2.5 and later includes 4d0115c
which should fix all suggest-destructor-override warnings.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: I36437c797c067521e1444d20cfece33babfe435a

2 years agoGCC 11 build fixes
Mika Väinölä [Thu, 13 Jan 2022 08:00:09 +0000 (10:00 +0200)]
GCC 11 build fixes

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

VK-GL-CTS issue: 2842

Change-Id: I21e37ce38db08c7c7041f4628ac852588a788852

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 20 Jan 2022 21:10:44 +0000 (21:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I790e54266657e91c84b9e40f6eb7385914d569c6

2 years agoDecrease required subgroup size
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.

This CL lowers the required subgroup size to 4.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point

Components: Vulkan

VK-GL-CTS issue: 2698

Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d
(cherry picked from commit 8f9b9137470ed5b0cd0b38edd9e9c28ccf565731)

2 years agoFix for potentially uninitialized variables
Jari Komppa [Tue, 11 Jan 2022 14:58:31 +0000 (16:58 +0200)]
Fix for potentially uninitialized variables

This change adds a constructor for a struct which sets the members that
do not have a constructor of their own to known values.

This potentially affects anything that uses the reference rasterizer,
but should not change any test results.

Affects:
*

Components: Framework
VK-GL-CTS issue: 3434

Change-Id: Ie874b4baa4d2ff5a8aa66f9ea2c3cd11b37edb64

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 20 Jan 2022 17:01:38 +0000 (17:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I3080cbdc60602f0faea714502bbc5461cac257e0

2 years agoFix NULL/False to std::string conversion errors
Mika Väinölä [Fri, 17 Dec 2021 07:10:19 +0000 (09:10 +0200)]
Fix NULL/False to std::string conversion errors

Newer versions of GCC reject std::string(DE_NULL). Previously this
didn't cause any errors or warnings when compiling, but should produce
an error at runtime. This change replaces invalid values with empty
string literals and adds deFatalStr for cases that potentially
relied on the string constructor throwing an exception.

Components: Framework, OpenGL, Vulkan
VK-GL-CTS issue: 3419

Change-Id: I68ec7d1447d1e96f5d7841e0684687cdd294fe39

2 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

2 years agoFix build issues with older NDKs
Ari Suonpaa [Mon, 17 Jan 2022 05:46:33 +0000 (07:46 +0200)]
Fix build issues with older NDKs

EGL AHB tests were relying on using NDK version higher than
what was required in readme. With this change the same tests
can be compiled with and older NDK.

Now AHardwareBuffer_isSupported function is only used if available,
removing a requirement for API version 29.

Runtime version checks were also restored to make sure the
device supports the AHB API version used during compile time.

VK-GL-CTS Issue: 3443

Affects:

dEQP-EGL.functional.image.*android_native*

Components: EGL, Framework
Change-Id: I0839070dfb0152c3d5d27921c806ee7c00b96e9a

2 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master"
Matthew Netsch [Tue, 18 Jan 2022 01:19:57 +0000 (01:19 +0000)]
Merge "Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master"

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Mon, 17 Jan 2022 15:53:34 +0000 (10:53 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: Ie8cae4f01fc44c85ada450f1d0925a9f6f7efc4b

2 years agoAdd coverage for transition between compute and indirect draw
Ari Suonpaa [Thu, 13 Jan 2022 07:55:09 +0000 (09:55 +0200)]
Add coverage for transition between compute and indirect draw

This change adds a new test parameter to indirect draw tests which
enables sourcing the indirect draw data from a compute shader.

Also removed a beginCommandBuffer call from
DrawTestsBaseClass::beginRender as the compute commands needed to
be added before rendering. There wasn't an endCommandBuffer call
in endRender function either, so it makes more sense to also have
the beginCommandBuffer outside the function.

VK-GL-CTS Issue: 3391

New tests:

dEQP-VK.draw.*.indirect_draw.*_data_from_compute*

Components: Vulkan
Change-Id: Ic1c305b715513dfdb13600d7937a08ee0cf2d647

2 years agoUse the correct attachment parameter when not the default FBO
Piers Daniell [Mon, 10 Jan 2022 23:14:49 +0000 (16:14 -0700)]
Use the correct attachment parameter when not the default FBO

When using glGetFramebufferAttachmentParameteriv to query the
currently bound framebuffer, the attachment parameter is
different depending on whether the framebuffer is the default
framebuffer or not.

For the default framebuffer GL_DEPTH and GL_STENCIL can be
used, but for non-default these are invalid and
GL_DEPTH_ATTACHMENT and GL_STENCIL_ATTACHMENT must be used.

This CL updates the changes in CL 8180 and CL 8629 to
use the correct attachment parameter when not using
the default framebuffer.

VK-GL-CTS issue: 3092

Affects:
KHR-*.internalformat.renderbuffer.*

Test both with and without: --deqp-surface-type=fbo

Change-Id: Id5f27405861ec62b5fdd84e1a4c2668d8cb272a1

2 years agoRegenerate main/gl45-master.txt
Piers Daniell [Mon, 10 Jan 2022 19:47:08 +0000 (12:47 -0700)]
Regenerate main/gl45-master.txt

It appears this file from https://gerrit.khronos.org/c/vk-gl-cts/+/8539
wasn't generated corretly. Simply running build_mustpass.py
fixes it.

Without this fix validation for opengl-cts-4.6.2.0 will fail.

Affects:

cts-runner --type=gl46

Components: OpenGL

VK-GL-CTS issue: 3438

Change-Id: Ic09317a548ee9a1f8ab2a3a240ee7490979bf080

2 years agoRemove redundant load/store op none tests
Ari Suonpaa [Tue, 4 Jan 2022 13:04:12 +0000 (15:04 +0200)]
Remove redundant load/store op none tests

Load/store op none tests had originally a hard coded
depth stencil format, but was later changed to iterate
on multiple formats. The depth tests were accidentally
left there (as a duplicate) outside a format loop, and
the depth format parameter was uninitialized in these
tests.

This change removes these old tests and also fixes
the dynamic rendering tests to use correct depth
stencil formats.

VK-GL-CTS Issue: 3426

Affects:

dEQP-VK.*.suballocation.load_store_op_none.*

Components: Vulkan
Change-Id: I5c1e0a6d95bb1dbc88364f6e99f84e47619c285d

2 years agoFix vktFragmentShadingRateBasic tests
Mohankumar Nekkarakalaya [Tue, 11 Jan 2022 00:27:09 +0000 (16:27 -0800)]
Fix vktFragmentShadingRateBasic tests

Many graphics pipelines are used in dynamic render pass which uses
fragment shading attachment, but these pipelines don't have
VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
flags when they are created. Adding those flags.

Affects: dEQP-VK.fragment_shading_rate.dynamic_rendering.*

Components: Vulkan

VK-GL-CTS issue: 3440

Change-Id: I3dd0aae9d6e9f2fc0bb5266f4f4ba442ebc0317b

2 years agoUpdate KC-CTS for MR40
Matthew Netsch [Fri, 14 Jan 2022 16:09:02 +0000 (11:09 -0500)]
Update KC-CTS for MR40

Relaxes tolerance for texture lod bias

Components: Opengl
VK-GL-CTS Issue: 2229

Affects:
GL40.gtf21.GL3Tests.texture_lod_bias.*

Change-Id: I4de59e342bc180238902548519ab5b70a6f92909

2 years agoRework platform memory limits
Ilkka Saarelainen [Thu, 2 Dec 2021 05:45:44 +0000 (07:45 +0200)]
Rework platform memory limits

Some OpenGL tests in openglcts and kc_cts used Vulkan platform class to
get the available system / device memory. The memory limits are not
Vulkan related.

This CL moves the getMemoryLimits function to the base class of all
platforms, so the functions can be accessed from openglcts without
referencing any Vulkan files.

Affects:

dEQP-VK.info.memory_limits
dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*

KHR-GL4*.shader_image_load_store.advanced-*

Components:
Vulkan, OpenGL, Framework

VK-GL-CTS issue: 3360

Change-Id: I0743a83148c946d962fd793c8771f2c3c2e33ecc

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 14 Jan 2022 22:52:07 +0000 (17:52 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ic1cf8fed8e0713c216ff31212334cb53acbbf72d

2 years agoFix getting capture address in RT capture replay tests
Slawomir Cygan [Fri, 10 Dec 2021 10:34:37 +0000 (11:34 +0100)]
Fix getting capture address in RT capture replay tests

Use vkGetBufferOpaqueCaptureAddress to retreive address
used in opaqueCaptureAddress

Components: Vulkan

VK-GL-CTS Issue: 3420

Affects: dEQP-VK.ray_tracing_pipeline.capture_replay.shader_binding_tables
Change-Id: Ifaa2fe92d6517fa75a29ad21c06365efd7857de4

2 years agoRemove time measurement on deferred host build tests
Sławomir Cygan [Mon, 10 Jan 2022 15:16:38 +0000 (16:16 +0100)]
Remove time measurement on deferred host build tests

The time measurement is wrongly implemented in this test
- it measures also thread creation, allocations and VK setup time, additionally
to AS build.  It is not easily fixable.

Moreover, the spec says that offloading the work to background threads
is 'desirable', however it never says it is faster.

VK-GL-CTS Issue: 3435

Components: vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*
dEQP-VK.ray_query.acceleration_structures.*

Change-Id: I41d836e2e454b9fb9bb46109edddd4eda19370e9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 14 Jan 2022 17:36:58 +0000 (17:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I1d7510b4e0626392ff35aa1f38c1bd193b8ce319

2 years agoAdd missing barrier to fix multi-core issue
Emmanuel Tanguy [Fri, 7 Jan 2022 10:21:00 +0000 (10:21 +0000)]
Add missing barrier to fix multi-core issue

Adding missing barrier between clear and the first compute job

Components: Vulkan

VK-GL-CTS Issue: 3430

Affects:
dEQP-VK.subgroups.multiple_dispatches.uniform_subgroup_size

Change-Id: I1ee309e84d249132c1bf7c04207fdf00907391f1

2 years agoTest EarlyFragmentTests effect on color output and sample counting
Juha Heiskanen [Mon, 4 Oct 2021 07:13:19 +0000 (10:13 +0300)]
Test EarlyFragmentTests effect on color output and sample counting

Color output check has been now added to Early Fragment Tests. Also new
set of occlusion query tests created for Sample Counting.

Components: Vulkan

VK-GL-CTS Issue: 3153

Affects:
dEQP-VK.fragment_operations.early_fragment.no_early*
dEQP-VK.fragment_operations.early_fragment.early*

New tests: dEQP-VK.fragment_operations.early_fragment.sample_*

Change-Id: I5dfe3bc0fcf4636f66abc42474bbddaab7f77e6c

2 years agoAdd more power of two checks
Jari Komppa [Wed, 15 Dec 2021 10:35:10 +0000 (12:35 +0200)]
Add more power of two checks

This change adds more power of two checks for device limits.

Affects:
dEQP-VK.api.info.get_physical_device_properties2.*
dEQP-VK.info.device_properties

Components: Vulkan
VK-GL-CTS issue: 3388

Change-Id: I80a5ba5d23bd8bc35655aaa2d45c879b7dfa1749

2 years agoUpdate vulkan-docs version
Piotr Byszewski [Mon, 10 Jan 2022 18:53:14 +0000 (19:53 +0100)]
Update vulkan-docs version

Recent changes to vulkan video include generating video extension
'Std' header files from video.xml and addition of *_INVALID enum
values that have same value as *_MAX_ENUM values.
This change updates vulkan-docs to version 1.2.203 and updates
gen_framework.py script to properly handle changes in vulkan video.

Affects: *

Components: Framework, Vulkan

VK-GL-CTS issue: 3431

Change-Id: Id332ce4a6f550acc232b1dab1cbae025d1453780

2 years agoAdd missing formats to mapTextureFormat
Jari Komppa [Wed, 5 Jan 2022 18:18:23 +0000 (20:18 +0200)]
Add missing formats to mapTextureFormat

This change adds the missing formats to mapTextureFormat(). While this
does not affect existing vulkan tests, it may enable the use of those
formats eventually.

Affects:
dE-IT.framework.vulkan.image_util

Components: Vulkan
VK-GL-CTS issue: 3381

Change-Id: I5148be25ff185892e10f6bc582ef6d7557b0fe09

2 years agoRemove api.tooling_info.validate_instance_layers
Arkadiusz Sarwa [Tue, 7 Dec 2021 17:22:32 +0000 (18:22 +0100)]
Remove api.tooling_info.validate_instance_layers

Remove:
dEQP-VK.api.tooling_info.validate_instance_layers

Components: Vulkan
VK-GL-CTS issue: 3395

This reverts commit 7628909f404f665eb54c6a5019386747fb631134.

Change-Id: I68de938e73c10fed80d4e9bb3698b513a1b44315

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 14 Jan 2022 15:38:23 +0000 (15:38 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: Iaf17e9ca0e84ec83c9c0030f78cafa15d8680d9f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 14 Jan 2022 06:54:19 +0000 (06:54 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ic336acbf09ed630cc1b20ea82796f20369b1a5dc

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 14 Jan 2022 05:19:30 +0000 (05:19 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I7ec0667baf95d997230a8befced3ca4f2cda4876

2 years agoFix sType Tooling Info tests
Mohankumar Nekkarakalaya [Wed, 12 Jan 2022 21:23:25 +0000 (13:23 -0800)]
Fix sType Tooling Info tests

Tooling Info tests were not setting the sType correctly. This goes
against spec
where "sType must be
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT". These
tests also check this sType to validate functionality.

Components: Vulkan

Affects:
dEQP-VK.api.tooling_info.*

VK-GL-CTS issue: 3444

Change-Id: Ic72104261a577d7d767742d4b2828296eba3922c

2 years agoDeqpTestRunner: fix deqpLogFilename
Paul Thomson [Fri, 3 Dec 2021 16:48:36 +0000 (16:48 +0000)]
DeqpTestRunner: fix deqpLogFilename

Fix capitalization of shell argument "deqpLogFilename" in
DeqpTestRunner.java. The code still worked fine in most cases because
the default filename matches the filename passed in DeqpTestRunner.java.

Components: Android
Google bug: b/206657494

Change-Id: I857fa3994ada72aa96d199569704a46034255309
(cherry picked from commit 42017ff7072dcc7e7a7d51dd5611be05abf5460f)

2 years agoAdd format check to SharedPresentableImageTest
Mikolaj Chadzynski [Thu, 23 Dec 2021 08:38:54 +0000 (09:38 +0100)]
Add format check to SharedPresentableImageTest

The SharedPresentableImageTest does not follow Vulkan spec.
The SurfaceFormats got by getPhysicalDeviceSurfaceFormats ->
getPhysicalDeviceSurfaceFormatsKHR should be checked by
vkGetPhysicalDeviceImageFormatProperties. This is according to:
www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap33.html
"33.5. Surface Queries
In addition to the surface capabilities as obtained by surface queries
below, swapchain images are also subject to ordinary image creation
limits as reported by vkGetPhysicalDeviceImageFormatProperties. As an
application is instructed by the appropriate Valid Usage sections, both
the surface capabilities and the image creation limits have to be
satisfied whenever swapchain images are created."

Unsupported format can lead to non-deterministic behavior e.g.
a segmentation fault, a null pointer dereference in a test or a driver.

VK-GL-CTS issue: 3422

Affects:
dEQP-VK.wsi.android.shared_presentable_image.*

Components: Vulkan

Change-Id: Id4bb4d1c81e090ed1d7f34a76f3cfafc464d8cf8

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Matthew Netsch [Fri, 14 Jan 2022 00:27:33 +0000 (00:27 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8

Change-Id: I528b855678ff57681aae956eda0d05e267a1ebcf

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Thu, 13 Jan 2022 22:25:39 +0000 (22:25 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Icdb26f1240a661c1021c0da146ca4c02d0ab086c

2 years agoAvoid division by zero in calculateThreshold
Jari Komppa [Tue, 4 Jan 2022 14:53:26 +0000 (16:53 +0200)]
Avoid division by zero in calculateThreshold

The es31fCopyImageTests.cpp calculateThreshold function was written in a
too clever way, leading to division by zero in cases where texture
format did not include all channels.

Affects:
dEQP-GLES31.functional.copy_image.*_renderbuffer

Components: OpenGL
VK-GL-CTS issue: 3328

Change-Id: Iaf6b0d80f7427fee3567365603ba8dbd375f206d

2 years agoFix inl files
Matthew Netsch [Thu, 13 Jan 2022 21:38:03 +0000 (16:38 -0500)]
Fix inl files

Change-Id: I6468dff8d75e73dbd23a0a1b1b1314ea80ef954b
Components: Vulkan, Framework

2 years agoMove draw buffers indexed tests from ES3.1 to ES3 group
Ari Suonpaa [Thu, 18 Nov 2021 08:40:59 +0000 (10:40 +0200)]
Move draw buffers indexed tests from ES3.1 to ES3 group

These tests were also included in a test package where
GL45 was run with an ES3.1 context. Now there's also a
support for running ES3 tests the same way.

Note: this change renames the previous dEQP-GL45 tests
to dEQP-GL45ES31 to separate them from the new
dEQP-GL45ES3 tests. Some of the test list names have
also changed.

VK-GL-CTS Issue: 2328

Affects:

dEQP-*.draw_buffers_indexed.*
dEQP-*.functional.state_query.indexed.*
dEQP-*.functional.negative_api.fragment.*

Components: OpenGL
Change-Id: Iba54e90106b11b503e2128f6bd706fdf585949fe

2 years agoVK_EXT_pageable_device_local_memory test coverage
Piers Daniell [Mon, 9 Aug 2021 15:50:12 +0000 (09:50 -0600)]
VK_EXT_pageable_device_local_memory test coverage

This CL adds basic support for the pageableDeviceLocalMemory feature. Normally
CTS enables all known features by default, but in this case we don't
enable pageableDeviceLocalMemory by default and just to targetting
testing with a variant of the extisting dEQP-VK.memory.allocation.*
tests.

This CL also adds coverage for vkSetDeviceMemoryPriorityEXT() by
extending the existing static VK_EXT_memory_priority test with a
dynamic variant that changes the memory priority after it has
been allocated.

New tests:

dEQP-VK.memory.pageable_allocation.*
dEQP-VK.memory.binding.priority_dynamic.*

Affects:

dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.memory.binding.*

Components: Vulkan

VK-GL-CTS issue: 3060

Change-Id: Idb4e63556c8807ba2f636c90dab397f4d116223d

2 years agoRename mustpass master branch to main
Piotr Byszewski [Wed, 8 Dec 2021 19:15:02 +0000 (20:15 +0100)]
Rename mustpass master branch to main

Vulkan and OpenGL ES folders containing
mustpass files were renamed from "master" to "main".

Components: OpenGL, Vulkan

VK-GL-CTS issue: 3397

Change-Id: I07a9f48a24030abd85ead51f2778e2f4bad77df7

2 years agoMerge "Merge vk-gl-cts/dev/VK_EXT_image_view_min_lod into vk-gl-cts/master"
Matthew Netsch [Mon, 10 Jan 2022 05:07:29 +0000 (05:07 +0000)]
Merge "Merge vk-gl-cts/dev/VK_EXT_image_view_min_lod into vk-gl-cts/master"

2 years agoMerge vk-gl-cts/dev/VK_EXT_image_view_min_lod into vk-gl-cts/master
Matthew Netsch [Mon, 10 Jan 2022 02:29:28 +0000 (21:29 -0500)]
Merge vk-gl-cts/dev/VK_EXT_image_view_min_lod into vk-gl-cts/master

Change-Id: Ib627d2eae2296db3820f7e76663b9661c124b55e

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Mon, 10 Jan 2022 02:13:18 +0000 (21:13 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: Icca3c7a247a40fec46d8107c69d72ed105c16756

2 years agoFix stencil layout transitions in samplemask tests
Jari Komppa [Wed, 1 Dec 2021 15:00:14 +0000 (17:00 +0200)]
Fix stencil layout transitions in samplemask tests

This change fixes the validation layer errors for the _samplemask cases.

affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

Components: Vulkan
VK-GL-CTS issue: 3362

Change-Id: I0e1d9a44c3ed127fbde3765725243fae722ad938

2 years agoFix RGBA10x6 feature check
Vidar Lilleboe [Tue, 30 Nov 2021 13:31:36 +0000 (14:31 +0100)]
Fix RGBA10x6 feature check

Verify that the extension is available before quering for support.

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

Components: Vulkan
VK-GL-CTS issue: 3370

Change-Id: Ib8cbbbe1f8c36b5022de1c04e623d49f5fb2b4c4

2 years agoRename some waived tests for dynamic rendering
Graeme Leese [Tue, 4 Jan 2022 14:20:13 +0000 (14:20 +0000)]
Rename some waived tests for dynamic rendering

These tests were renamed in commit 90835b7 "Rename dynamic_rendering
tests", but the waivers file was not updated. (The Android waiver file
was updated, so is not changed here).

Component: Vulkan
VK-GL-CTS issue: 757

Change-Id: I0beae9cd0e6b4e33e8c8f717b0eae44797104844

2 years agoFix barrier for initializing resolve attachment image to use proper level
Sławomir Cygan [Thu, 9 Dec 2021 15:50:53 +0000 (16:50 +0100)]
Fix barrier for initializing resolve attachment image to use proper level

This changes the level in the barrier to match level used by image view
used as resolve attachment in renderpass.

VK-GL-CTS Issue: 3407

Components: Vulkan

Change-Id: I500dfdbf15c4b7cd9943d3b063122107e1890688
Affects: dEQP-VK.dynamic_rendering.*.multisample_resolve.*_resolve_level_*

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 7 Jan 2022 19:26:26 +0000 (14:26 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ib63fd21efc3a2a3e4896a212d51e3ab1f12e56d4

2 years agoMerge vk-gl-cts/master into vk-gl-cts/VK_EXT_image_view_min_lod
Matthew Netsch [Fri, 7 Jan 2022 22:23:10 +0000 (17:23 -0500)]
Merge vk-gl-cts/master into vk-gl-cts/VK_EXT_image_view_min_lod

Change-Id: I01e3abccefeb0b192cf178e7ff0858326130a663

2 years agogl4cMapBufferAlignmentTests: ensure that the GL_ARB_buffer_storage extension is present
Corentin Noël [Fri, 27 Aug 2021 12:03:34 +0000 (14:03 +0200)]
gl4cMapBufferAlignmentTests: ensure that the GL_ARB_buffer_storage extension is present

This make sure that we won't call gl.bufferStorage if this isn't possible.

Affects:

KHR-GL43.map_buffer_alignment.functional

Components: OpenGL

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Change-Id: Icdcfeba5144543ee3d8c762618ff1b7d8752f502

2 years agoUpdate README.md files, replacing old link
Jari Komppa [Wed, 17 Mar 2021 10:00:50 +0000 (12:00 +0200)]
Update README.md files, replacing old link

Update README.md files to link to the wiki instead of deprecated
information.

Affects: None

Components: Framework, OpenGL, Vulkan

VK-GL-CTS public issue: 249

Change-Id: I40e4c733e55a52952b6b198b005647e199883159

2 years agoAdd support for building with Visual Studio 2022
Arkadiusz Sarwa [Wed, 8 Dec 2021 16:04:31 +0000 (17:04 +0100)]
Add support for building with Visual Studio 2022

Components: Framework

VK-GL-CTS Issue: 3403

Change-Id: I40fb75e00cb749948f9b1e47191e8ac4baaf37bb

2 years agoRemove unused variables from occlusion query tests
Juha Heiskanen [Thu, 16 Dec 2021 09:49:58 +0000 (11:49 +0200)]
Remove unused variables from occlusion query tests

Removed unused result buffer variables in fragment operations occlusion
query tests.

Components: Vulkan

VK-GL-CTS Issue: 3418

Affects: dEQP-VK.fragment_operations.occlusion_query.*
Change-Id: I60c4f47262b3b6bb0ac3d96df6cc830a38587a0e

2 years agoAssert that isnan and isinf cases cover intended classes
David Neto [Fri, 5 Nov 2021 16:15:02 +0000 (12:15 -0400)]
Assert that isnan and isinf cases cover intended classes

Affects:
dEQP-VK.glsl.builtin.function.common.isnan.*
dEQP-VK.glsl.builtin.function.common.isinf.*

Components: Vulkan
VK-GL-CTS issue: 3282

Change-Id: Iaf972208a76e64c7ea9e74671412f3499783013b

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 26 Nov 2021 16:11:23 +0000 (18:11 +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-bitwise-and-variable-and-its-negation
dEQP-VK.graphicsfuzz.cov-bitwise-shift-right-always-select-one
dEQP-VK.graphicsfuzz.cov-extend-uniform-vec2-to-vec3-matrix-multiply
dEQP-VK.graphicsfuzz.cov-fragcoord-bitwise-and-loop-reduce-value-index-array
dEQP-VK.graphicsfuzz.cov-function-loop-same-conditions-multiple-times-struct-array
dEQP-VK.graphicsfuzz.cov-function-variable-plus-one-minus-one
dEQP-VK.graphicsfuzz.cov-integer-constant-mod-variable-increased-condition-array-element
dEQP-VK.graphicsfuzz.cov-ldexp-exponent-undefined-divided-fragcoord-never-executed
dEQP-VK.graphicsfuzz.cov-loop-exit-conditions-sampler-struct-integer-variable
dEQP-VK.graphicsfuzz.cov-mix-uninitialized-vector-select-only-defined-data
dEQP-VK.graphicsfuzz.cov-nested-loops-different-iteration-rates-function-copy-array-elements
dEQP-VK.graphicsfuzz.cov-nested-loops-divide-integer-constant-always-zero
dEQP-VK.graphicsfuzz.cov-nested-loops-redundant-condition
dEQP-VK.graphicsfuzz.cov-nouble-negation-fragcoord-cast-ivec2-bitwise-and
dEQP-VK.graphicsfuzz.cov-two-loops-global-loop-counter-shift-right-zero-increment-array-element

Change-Id: I05c88a4045b807966e5f92616d01a84b97b5acdd

2 years agoImprove AHB image_formats subtest log output
Vihanakangas [Tue, 7 Dec 2021 11:21:44 +0000 (13:21 +0200)]
Improve AHB image_formats subtest log output

Prior to this change, when one of the subtests failed,
the whole format looked like it failed. This change
does not modify the original test generation or the test names,
but rather logs out the failing "subtest"-combination,
so that taking action on said test would be easier.

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan

VK-GL-CTS Issue: 1531

Change-Id: I97c1beb5a355f90240f4a6089cf68148a76c3764

2 years agoOpPtrEqual OpPtrNotEqual for non-variable pointers
marz [Wed, 10 Nov 2021 12:09:26 +0000 (13:09 +0100)]
OpPtrEqual OpPtrNotEqual for non-variable pointers

Test checking the possibility of using OpPtrEqual and
OpPtrNotEqual without full variable pointer support
on simple data primitives like matrices and regular floats

Components: Vulkan

VK-GL-CTS issue: 2905

New tests:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.simple_variable_pointers_ptr_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.simple_variable_pointers_ptr_not_equal

Change-Id: I77d13e4ba22c4a9bd27c055233c6a1ae0e077f09

2 years agoExtend FSR multiview tests
Piotr Byszewski [Tue, 30 Nov 2021 13:59:13 +0000 (14:59 +0100)]
Extend FSR multiview tests

All multiview related tests done for VK_KHR_fragment_shading_rate
are repeated but with a correlation mask set to include both views.

Affects:
dEQP-VK.fragment_shading_rate.renderpass2.*

Components: Vulkan

VK-GL-CTS issue: 2397

Change-Id: I9ac0306454aef0df41dbc4717eaf0f3874d616d6

2 years agoHandle VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags
michal_jakubek [Thu, 5 Aug 2021 13:00:57 +0000 (15:00 +0200)]
Handle VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags

All tests use SBT with a ShaderRecordBufferKHR block
filled with certain data that is read by the shader group.
However, not all SBT elements are filled, but only these
that satisfy the Hit group index calculation equation.
The remaining are filled with empty group and dummy data.
Tests compute Hit group index on host and perform
offline raytracing. When the results from the device
and offline work are the same, the tests are passed.

New tests:
dEQP-VK.ray_tracing_pipeline.pipeline_no_null_shaders_flag.*

Components: Vulkan

VK-GL-CTS issue: 2777

Change-Id: If9eeda1f98c7a5f91c94d5ed307c92ba27f99cb5

2 years agoAdd 8-bit blend_operation_advanced tests
Jari Komppa [Mon, 15 Nov 2021 12:03:02 +0000 (14:03 +0200)]
Add 8-bit blend_operation_advanced tests

This change adds 8-bit versions of the VK_EXT_blend_operation_advanced
tests, adjusting error threshold accordingly.

This change also adds a new variant of the image comparison function,
fixing the original tests' functionality to skip some pixels from
comparison.

Affects:
dEQP-VK.pipeline.blend_operation_advanced.*

New tests:
dEQP-VK.pipeline.blend_operation_advanced.*_r8g8b8a8_unorm

Components: Vulkan
VK-GL-CTS issue: 3233

Change-Id: I155b825d7210730bf8cf4248346e81411c2b6cb3

2 years agoTest constant and dynamically uniform subgroup shuffle deltas
Ricardo Garcia [Fri, 26 Nov 2021 11:01:19 +0000 (12:01 +0100)]
Test constant and dynamically uniform subgroup shuffle deltas

Add new tests where the second argument to subgroupSuffleUp/Down/Xor is
not fully dynamic but also constant and dynamically uniform, in order to
trigger and test existing compiler optimizations.

In addition, this commit fixes several validation errors in many of the
subgroup tests.

New tests:
dEQP-VK.subgroups.shuffle.*_constant
dEQP-VK.subgroups.shuffle.*_dynamically_uniform

Affected tests:
dEQP-VK.subgroups.*

Components: Vulkan
VK-GL-CTS issue: 3342

Change-Id: I938624ae8b9713262c754dda0112cba0e3f37754

2 years agoRework platform memory limits
Ilkka Saarelainen [Thu, 2 Dec 2021 05:45:44 +0000 (07:45 +0200)]
Rework platform memory limits

Some OpenGL tests in openglcts and kc_cts used Vulkan platform class to
get the available system / device memory. The memory limits are not
Vulkan related.

This CL moves the getMemoryLimits function to the base class of all
platforms, so the functions can be accessed from openglcts without
referencing any Vulkan files.

Affects:

dEQP-VK.info.memory_limits
dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*

KHR-GL4*.shader_image_load_store.advanced-*

Components:
Vulkan, OpenGL, Framework

VK-GL-CTS issue: 3360

Change-Id: I0743a83148c946d962fd793c8771f2c3c2e33ecc

2 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Matthew Netsch [Fri, 7 Jan 2022 20:04:32 +0000 (20:04 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master

Change-Id: I06c1710694fe646df5e3d6002091931d1b94f9d1

2 years agoChecked .inl files back into the repo
Piotr Byszewski [Mon, 13 Dec 2021 14:08:09 +0000 (15:08 +0100)]
Checked .inl files back into the repo

By default .inl files won't be generated at build time but
this functionality is still present and to activate it
value of DEQP_VULKAN_INL_GEN_OUTPUTS_DIR should be changed
to point to PROJECT_BINARY_DIR.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I6ba5932aa51740048c8dcc0c0222e8f7553ac4b3

2 years agoPass force to fetch_sources
Piotr Byszewski [Fri, 10 Dec 2021 12:32:27 +0000 (13:32 +0100)]
Pass force to fetch_sources

Switching vulkan-docs folders between gitlab and github branches
results in errors on the server (clobbering the tags). Using
fetch sources with --force param resolves the issue.

Components: Vulkan

VK-GL-CTS issue: 3197

Change-Id: I913d5803836e9f7a59494e5ebf6e6261ede52948

2 years agoFix strided device address regions in RT misc tests
Ricardo Garcia [Thu, 11 Nov 2021 17:18:38 +0000 (18:18 +0100)]
Fix strided device address regions in RT misc tests

Some strided device address regions in ray tracing misc tests were being
created with the wrong size, not taking into account some tests were
storing several shader group handles in the binding tables.

In addition, this commit also fixes several validation errors in these
tests, related to bad sizes when flusing allocations and unaligned
strides in strided device address regions, which needed to be rounded
up.

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

Components: Vulkan
VK-GL-CTS issue: 3280

Change-Id: I7d20c347ff44b455547115d1a6b94c5d69a46c2c

2 years agoFix ray tracing closedFan2 tests
Ricardo Garcia [Tue, 9 Nov 2021 16:26:37 +0000 (17:26 +0100)]
Fix ray tracing closedFan2 tests

The watertightness tests for ray tracing include a closedFan2 variant
that had several issues.

These tests create a circle made of a variable number of triangles, all
of them sharing a central vertex and all of them sharing two edges with
neighboring triangles.

With that composition, closedFan2 variants created one geometry, BLAS
and instance per triangle, and tried to verify certain rules regarding
closed fans and watertightness. This had several problems:

- By having each triangle belong to a different instance, the set up
  does not meet the requirements for watertight geometry as laid out in
  the spec.

- Ray tracing shaders were increasing atomic counters, indexing them per
  ray and primitive id, in the any-hit shader. If a counter was
  increased more than once, this was considered a failure. However, in
  the closedFan2 variants all triangles have primitive id zero due to
  all of them belonging to different geometries. If a ray was found to
  hit two geometries/BLAS, it would result in a failure because the same
  counter would be increased twice, but that result is legal according
  to the spec.

This commit fixes closedFan2 tests by addressing both issues:

- The tests now create one geometry per triangle, but groups all
  geometries in a single BLAS and instance, meeting the spec
  requirements regarding closed fans.

- When increasing atomic counters, they are indexed per ray and per
  geometry index, so it is illegal to hit the same geometry twice with
  the same ray, following the rules of
  VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, but they allow
  the same ray to hit two triangles (geometries) as the spec allows.

In addition, it also removes some dead code and fixes angle calculation
so they fall in the [-pi, pi] range.

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

Components: Vulkan
VK-GL-CTS issue: 3150

Change-Id: I430be3a1830592d37b75031b8506a194c862a0d7

2 years agoReduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontempor...
Jörg Wagner [Mon, 6 Dec 2021 08:57:51 +0000 (09:57 +0100)]
Reduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Reduce the size to 32x16 to avoid avoid timeouts on low-end platforms.
This shouldn't affect the ability to find compiler bugs because the
shader itself is the same.

Affects: dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Components: Vulkan

VK-GL-CTS Issue: 3411

Change-Id: If4fac83d04723ab16e987a2f7d1495bf1a8f055f

2 years agoFix validation errors in renderpass tests
Ilkka Saarelainen [Fri, 17 Dec 2021 05:36:16 +0000 (07:36 +0200)]
Fix validation errors in renderpass tests

This CL fixes the validation errors in some of the renderpass
tests. The tests incorrectly defined subpass dependency access
scopes for depth/stencil attachments in some cases.

Affects:

dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan

VK-GL-CTS Issue: 3385

Change-Id: Ia9cc78bd28dde5b9cdbf4e28ba759e3bde44a9d0

2 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2
Matthew Netsch [Fri, 7 Jan 2022 18:35:47 +0000 (18:35 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/opengl-cts-4.6.2

Change-Id: If89ac10fcff1faaded5a2de88943cd5789e52a56

2 years agoFix compilation issues with ShaderLibraryCase assert
Tapani Pälli [Sat, 11 Dec 2021 07:58:58 +0000 (09:58 +0200)]
Fix compilation issues with ShaderLibraryCase assert

This assert was causing issues with some compilers/options.

Components: Framework, OpenGL

VK-GL-CTS issue: 3399

Fixes: a590d9ab4 ("Add check for ES compatibility extensions with Desktop OpenGL")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I070d82e7e9c0a4aafbda21cabd18a2d37b5b2cf0

2 years agoQuery default FBO Depth, Stencil only when format requires
Tapani Pälli [Tue, 21 Dec 2021 06:19:46 +0000 (08:19 +0200)]
Query default FBO Depth, Stencil only when format requires

Earlier commit removed DSA usage but introduced a problem with
framebuffer parameter type and size queries in some configs.

Without DSA, we get errors if querying for attachment that does
not exist in framebuffer. Patch introduces a check to make sure
we do not query for separate depth/stencil attachment if that
would not exist in format.

VK-GL-CTS issue: 3092

Affects:
KHR-*.internalformat.renderbuffer.*

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

2 years agoFix OpenGL implicit conversions tests
Tapani Pälli [Thu, 9 Dec 2021 12:40:31 +0000 (14:40 +0200)]
Fix OpenGL implicit conversions tests

This change removes following tests:

   dEQP-GL45.functional.shaders.implicit_conversions.es31.*
   dEQP-GL45.functional.shaders.implicit_conversions.es32.*

The problem with these tests was generated data for the tests
required OpenGL ES extension. Instead we import new generated
data for gl45 and utilize that creating following tests for
OpenGL 4.5:

   dEQP-GL45.functional.shaders.implicit_conversions.gl45.*

Affects:
   dEQP-GL45.functional.shaders.implicit_conversions.es31.*
   dEQP-GL45.functional.shaders.implicit_conversions.es32.*
   dEQP-GL45.functional.shaders.implicit_conversions.gl45.*

Components: OpenGL
VK-GL-CTS issue: 3399

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

2 years agoPick correct memoryTypeIndex for AHB
Shih-Hsin Li [Wed, 24 Nov 2021 00:32:38 +0000 (16:32 -0800)]
Pick correct memoryTypeIndex for AHB

Pick the right memoryTypeIndex for protected allocations so that
protected memory is allocated when createFlag has protected bit
set. This fixed some bindImageMemory failure caused by binding
non-protected memory in testAndroidHardwareBufferImageFormat.

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
Change-Id: Ib50a97d248930b6cc6538d1c7b84e84cddfde40e

2 years agoAllow rounding error when reading back Z buffer
Iago Toral Quiroga [Mon, 22 Nov 2021 07:29:50 +0000 (08:29 +0100)]
Allow rounding error when reading back Z buffer

The early fragment test produces Z values <= 0.5 and uses a shader
to write 0.75 that it expects to be ignored due to early fragment
tests, which it verifies by reading back the Z buffer and testing
that all values are <= 0.5.

On our platform, we observe that on storing 0.5 we retrieve
0.500008, which makes us fail the test incorrectly. Fix this
by adding a small room for rounding error, like we do for
other verification paths in these tests.

While we are doing this, lower the tolerance admited for
the late fragment test case as well.

Components: Vulkan
VK-GL-CTS Issue: 3340
Affects:
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.discard_no_early_fragment_tests_depth

Change-Id: I8e1782b81d0e74a4a5af3e3cac40c9679f543ac6