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
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
Tapani Pälli [Thu, 9 Dec 2021 08:20:11 +0000 (10:20 +0200)]
Add check for ES compatibility extensions with Desktop OpenGL
Affects:
dEQP-GL45.functional.shaders.functions.es31.*
dEQP-GL45.functional.shaders.arrays.es31.*
dEQP-GL45.functional.shaders.implicit_conversions.es31.*
dEQP-GL45.functional.shaders.uniform_block.es31.*
Components: Framework, OpenGL
VK-GL-CTS issue: 3399
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ife97fee3d2e5c433050142e9ba9e330bfe3cbde9
Matthew Netsch [Fri, 10 Dec 2021 01:43:38 +0000 (01:43 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/opengl-cts-4.6.1
Change-Id: I5dbe2d36f399ebb391471963192be42243fa8111
Aleksy Sokolowski [Wed, 8 Dec 2021 11:45:20 +0000 (12:45 +0100)]
Improve max image samples check in KHR-GL46.multi_bind test
The test uses fillMSTexture method to fill a shader image
using imageStore()-s. However, the test does not check if
the number of samples in the image is less than MAX_IMAGE_SAMPLES
- what may lead to invalid access on store, when MAX_IMAGE_SAMPLES
is 1.
It looks like the test needs at least 2 samples in the multisampled
image, so this change switches the texture target to non-multisampled
when MAX_IMAGE_SAMPLES is less than 2.
According to the spec:
"""
Invalid image stores will have no effect. (Invalid image atomics will
not update any texture bound to the image unit and will return zero.(...)
An access is considered invalid if: (...)
• the image has more samples than the implementation-dependent value of
MAX_IMAGE_SAMPLES.
"""
Components: OpenGL
VK-GL-CTS Issue: 3402
Affects: KHR-GL46.multi_bind.dispatch_bind_image_textures
Change-Id: I9915849f1cd3c708ae86deee40f1b94ec75d5fea
Daniel Koch [Tue, 16 Nov 2021 19:15:59 +0000 (14:15 -0500)]
Enable the dEQP-GL45 package on Android
When the AOSP ES tests were added to the GL 4.5 mustpass packages
they were only added for non-Android, resulting in an empty configuration
when run on Android.
Affects:
dEQP-GL45.*
Components: OpenGL
VK-GL-CTS issue: 3314
Change-Id: I62e72cb507bf74cf5e267f35ae5e754bd8f63656
Tapani Pälli [Mon, 11 Oct 2021 10:08:41 +0000 (13:08 +0300)]
Remove direct state access usage from RenderbufferCase
Driver might not support GL_[ARB|EXT]_direct_state_access.
Affects:
KHR-GL*internalformat.renderbuffer.*
Components: OpenGL
VK-GL-CTS issue: 3092
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I89e50d51100fc45de159ce21191a38f3c4f2de49
Piers Daniell [Thu, 17 Jun 2021 23:36:54 +0000 (17:36 -0600)]
Retry lesser FBO sample counts if UNSUPPORTED
On some of our implementations we return GL_FRAMEBUFFER_UNSUPPORTED
when the no-attachment maximum width, height and samples are all
used in combination. This is because the combination goes beyond
some of our hardware limits. It would be fine to use either
maximum width/height or maximum samples, but not all
together.
Since GL_FRAMEBUFFER_UNSUPPORTED is a valid FBO status for
implementation-defined reasons, the test should recognize this
and try again with lesser limits until the FBO is complete.
Affects:
dEQP-GL45.functional.fbo.no_attachments.maximums.all
Components: OpenGL
VK-GL-CTS issue: 2973
Change-Id: I8db2e9f802b3f4d1ee59bbfbfa1935bbe3cc6d00
Alexander Galazin [Fri, 18 Jun 2021 10:22:26 +0000 (12:22 +0200)]
Move two GL groups to single config
Move enhanced_layouts and arrays_of_arrays_gl to the single config group
since these tests do not depend on the default framebuffer
Components: OpenGL
VK-GL-CTS issue: 2969
Removed tests:
KHR-GL*.arrays_of_arrays_gl.*
KHR-GL*.enhanced_layouts.*
Added tests:
KHR-Single-GL*.arrays_of_arrays_gl.*
KHR-Single-GL*.enhanced_layouts.*
Change-Id: I2ae554c0d92c9959d71232052c3f177265a715a7
Piers Daniell [Tue, 15 Jun 2021 03:33:35 +0000 (21:33 -0600)]
Change GLSL->SPIR-V mapping of notEqual to OpFUnordNotEqual not OpFOrdNotEqual
The glslang compiler was changed in https://github.com/KhronosGroup/glslang/pull/2260
to generate OpFUnordNotEqual rather than OpFOrdNotEqual for a!=b.
Without this change the
KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test
test generates an InternalError because it can't find the
expected mapping.
Affects:
KHR-GL46.gl_spirv.spirv_glsl_to_spirv_builtin_functions_test
Change-Id: Ieda8dc02c0be90a7985b15ca28dbefb1a45cc7c1
Components: OpenGL
Piers Daniell [Fri, 11 Jun 2021 19:41:59 +0000 (13:41 -0600)]
Fix the default GL_IMAGE_BINDING_FORMAT for desktop OpenGL
The default texture format for desktop OpenGL is GL_R8 not GL_R32UI,
like it is for OpenGL ES.
See table 23.45 on page 627 of the OpenGL 4.6 core spec vs
table 21.33 on page 479 of the OpenGL ES 3.2 spec.
Affects:
KHR-GL46.shader_image_load_store.*
Change-Id: I1f5f8be422ddb358fba6df6bc450d3da702467bc
Components: OpenGL
Samuel Iglesias Gonsálvez [Wed, 2 Jun 2021 14:41:30 +0000 (16:41 +0200)]
Check resource limits properly
The tests were not checking the resource limits per stage when
creating the shaders, which could create potential issues on
some drivers. Specially the random generated tests.
Affected tests:
dEQP-VK.ssbo.layout.*
Components: Vulkan
VK-GL-CTS issue: 2953
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I7509dce38b849a0dd26f9e47d7f74e637930d897
Ricardo Garcia [Wed, 2 Jun 2021 11:34:48 +0000 (13:34 +0200)]
Capture early errors on instance creation
This commit makes CTS pass a VkDebugReportCallbackCreateInfoEXT
structure in the pNext chain of VkInstanceCreateInfo when creating the
default and other custom instances if validation is enabled from the
command line.
To achieve this, the DebugReportRecorder class has been uncoupled from
the instance and it's no longer responsible of owning the debug report
callback object (VkDebugReportCallbackEXT) that can be created using an
instance. That responsibility now falls into the default device or
custom instance wrapping objects.
This makes it possible to use the DebugReportRecorder in a
VkDebugReportCallbackCreateInfoEXT structure chained when creating
instances before they actually exist, and errors reported during the
instance creation process are handled by the recorder together with
other errors like validation errors.
In addition, the enumerate_devices_alloc_leak test has been modified to
use a custom instance (so it has validation enabled if requested) and
the API tooling info tests have been changed to use the custom instance
creation wrapper function createCustomInstanceFromContext().
Custom instance creation has been improved to detect the lack of
installed validation layers in order to avoid crashes.
Due to these changes affecting the default device and how validation is
enabled when requested, all tests are marked as affected.
Affected tests:
dEQP-VK.*
Components: Vulkan
VK-GL-CTS issue: 2952
Change-Id: I27b78e3cb101142416477ee2460283f917f58a4e
Ilkka Saarelainen [Wed, 24 Feb 2021 08:13:15 +0000 (10:13 +0200)]
Add depth execution mode tests
This CL adds tests for DepthLess, DepthGreater and DepthUnchanged
execution modes.
New tests:
dEQP-VK.spirv_assembly.instruction.graphics.execution_mode.*
Components: Vulkan
VK-GL-CTS issue: 2735
Change-Id: Ib17d8f04b1cd254b85dfad2c779cb84b5e9fde9d
Alexander Galazin [Thu, 10 Jun 2021 08:17:45 +0000 (10:17 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I5de40715011c884f0da041ed927dd418549e7685
Alexander Galazin [Thu, 10 Jun 2021 07:34:25 +0000 (09:34 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ib0f4c996967d629009113c3d17b543fc9218def0
Ricardo Garcia [Wed, 9 Jun 2021 07:42:57 +0000 (09:42 +0200)]
Test instance matrix update after command recording
This commit modifies ray query and ray tracing direction length tests so
the instance transform matrix in the top level acceleration structure is
sometimes updated after the AS build commands have been recorded in the
command buffer.
Affected tests:
dEQP-VK.ray_tracing_pipeline.direction_length.*
dEQP-VK.ray_tracing_pipeline.inside_aabbs.*
dEQP-VK.ray_query.direction_length.*
dEQP-VK.ray_query.inside_aabbs.*
Components: Vulkan
VK-GL-CTS issue: 2881
Change-Id: I9051783443e3775e20ccaa0eab32c5bc2f21d165
Ricardo Garcia [Fri, 21 May 2021 16:29:05 +0000 (18:29 +0200)]
Test null miss shader group handles work
New test that creates a miss shader binding table filled with zeros and
checks everything works as expected.
New tests:
dEQP-VK.ray_tracing_pipeline.misc.null_miss
Components: Vulkan
VK-GL-CTS issue: 2929
Change-Id: Iead899ff0e6371a77d102901c8a8cc7583de49c8
Ricardo Garcia [Tue, 25 May 2021 13:59:33 +0000 (15:59 +0200)]
Test tracing rays from inside AABBs
Test tracing rays from inside AABBs with different Tmin and Tmax values,
origins and directions to verify they always generate a hit due to the
ray origin being located inside the AABB.
New tests:
dEQP-VK.ray_query.inside_aabbs.*
dEQP-VK.ray_tracing_pipeline.inside_aabbs.*
Components: Vulkan
VK-GL-CTS issue: 2928
Change-Id: I6b0a7c3a3bbe68cd2bc3b670c6dabcfa4374d473
Samuel Iglesias Gonsálvez [Tue, 1 Jun 2021 10:46:49 +0000 (12:46 +0200)]
Fix wait semaphore count value
Components: Vulkan
VK-GL-CTS issue: 2949
Fixes:
a47665a6e "Generalize synchronization tests"
Affected tests:
dEQP-VK.synchronization.op.single_queue.binary_semaphore.*
Change-Id: I14bb0d79b67e444b20683a766b769ce3a94a3222
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Marcin Kantoch [Tue, 1 Jun 2021 09:02:50 +0000 (11:02 +0200)]
Fix internal error for fragment stage in RT tests
Previous CL added missing vertex pipeline stores check,
but forgot to do a passthough for fragment stage, which
is causing an internal error.
Affected tests:
dEQP-VK.ray_query.watertightness.*.frag.*
dEQP-VK.ray_query.builtin.*.frag.*
dEQP-VK.ray_query.advanced.*.frag.*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*frag*
Components: Vulkan
VK-GL-CTS issue: 2948
Change-Id: Id8b7a6c13bf8acda3b0fd58e2afd3f61709ed295
Alexander Galazin [Wed, 26 May 2021 07:26:56 +0000 (09:26 +0200)]
Add GL_ARB_separate_shader_objects requirement
Components: OpenGL
Affects: KHR*.shader_subroutine.subroutines_with_separate_shader_objects
VK-GL-CTS public issue: 271
Change-Id: I021776f105ec2ddf310deaf21827e5ce151784af
Alexander Galazin [Wed, 26 May 2021 07:15:00 +0000 (09:15 +0200)]
Raise glsl version to 420 for compute shaders
Components: OpenGL
Affects:
KHR*.pipeline_statistics_query_tests_ARB.*
KHR*.cull_distance.*
KHR*.texture_gather.*
VK-GL-CTS public issue: 257
Change-Id: Ic777e7a821cbab9e6b71e266591352aea2fdd81d
Alexander Galazin [Wed, 26 May 2021 07:20:59 +0000 (09:20 +0200)]
Raise glsl version to 410 core for shaders with GL_ARB_shader_atomic_counters
Components: OpenGL
Affects: KHR*.shader_subroutine.*
VK-GL-CTS public issue: 270
Change-Id: Ifed270991a1b18fb88514d6f0b96f0802498fb56
Alexander Galazin [Tue, 25 May 2021 09:51:18 +0000 (11:51 +0200)]
Remove shaders.switch from the Khronos mustpasses
Components: OpenGL
VK-GL-CTS issue: 2540
Affects: KHR*.shaders.switch.*
Change-Id: I41867656e67adc5077527a6d78791b06cee52c2f
Yiwei Zhang [Wed, 10 Mar 2021 21:58:44 +0000 (21:58 +0000)]
Add a test for VK_EXT_global_priority_query
Components: Vulkan
VK-GL-CTS Issue: 2840
New tests: dEQP-VK.api.device_init.create_device_global_priority_query
Change-Id: I5245711e6db62f5fac06c146e868dfa4e88ab918
(cherry picked from commit
9c2b7bd961ac5f0394011930be9a4b58be37f217)
Alexander Galazin [Mon, 7 Jun 2021 07:02:53 +0000 (09:02 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I357b284202a389ca269891938630e95edab57124
Ilkka Saarelainen [Mon, 31 May 2021 12:10:38 +0000 (15:10 +0300)]
Fix validation errors in ASTC decode mode tests
The tests were trying to compare the raw contents of each ASTC
block contents between the tested and reference images via UINT and
SINT image views, but the type of the image view must be compatible
with the image format.
This CL changes the test to compare individual sampled texel
values instead of raw ASTC texel block values. The generated
images now contain valid ASTC blocks instead of random values.
Affects:
dEQP-VK.image.astc_decode_mode.*
Components: Vulkan
VK-GL-CTS issue: 2820
Change-Id: I38113725692f754c5de4393b5fad5d333cf99533
Alexander Galazin [Thu, 3 Jun 2021 18:02:42 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: I070c88e5936fddc054050484c28fd892c6fb8a3a
Alexander Galazin [Thu, 3 Jun 2021 15:15:02 +0000 (17:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Id8117502d12cca36e3a414da3df7b8a3bb661cf5
Jari Komppa [Tue, 18 May 2021 12:25:07 +0000 (15:25 +0300)]
Static code analysis fix for bounding box test
After closer analysis turns out the mistake in the code
was using xmin twice; changed to use xmin and xmax.
Affects:
dEQP-GLES31.functional.primitive_bounding_box.call_order.*
Change-Id: I307126c3558e4b8700d3ed808e24c7d85bcb50dc
Components: OpenGL
Jari Komppa [Tue, 11 May 2021 06:52:45 +0000 (09:52 +0300)]
Add timer query handle reuse test for opengl es
This change adds base class for disjoint_timer_query tests
as well as test for handle reuse which was ported from the
GL4+ version.
New test: KHR-GLESEXT.disjoint_timer_query.handle_reuse
Components: OpenGL
VK-GL-CTS issue: 2911
Change-Id: I44421813a5de510e52fb6e1109fb2863856351c6
Boris Zanin [Thu, 27 May 2021 13:36:30 +0000 (15:36 +0200)]
Invalid VkPipelineRasterizationLineStateCreateInfoEXT chained
Some tests get the structure empty (and implementations most
likely ignore it), other tests get the structure with fields
inadequate to the test.
Update tests:
* dEQP-VK.rasterization.*
Components: Vulkan
VK-GL-CTS issue: 2942
Change-Id: Ie485ad55266a53e64c74eab3db31a51d781c9d57
Mika Väinölä [Tue, 25 May 2021 07:21:53 +0000 (10:21 +0300)]
Fix vertex count calculation in XFB query tests
The primitive to vertex count calculation for
VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY was
`(primCount + 4u) * 2u` when it should be `primCount * 2u + 4u`.
This change affects the bufferSize parameter passed to the tests.
The vertex count returned by this function is part of the test name
so the affected test cases are also renamed.
Affects:
dEQP-VK.transform_feedback.simple.query*
dEQP-VK.transform_feedback.simple.host_query_reset*
Components: Vulkan
VK-GL-CTS issue: 2934
Change-Id: I59e95a3240c6c45f8caf0dd4dc5b61c593059304
Piers Daniell [Mon, 17 May 2021 19:04:21 +0000 (13:04 -0600)]
Set the recursion depth for chit and miss cases
In the new dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_tracing.*
group of tests the "chit" and "miss" variants the shaders
generate additional rays, which means their recursion depth needs to be
greater than 1. In both cases "2" covers it.
Affects:
dEQP-VK.binding_model.descriptor_update.acceleration_structure.*
Components: Vulkan
VK-GL-CTS issue: 2924
Change-Id: I7acb1eda10f0ad6c7f2754deaa8451c317b4841b
Samuel Iglesias Gonsálvez [Wed, 19 May 2021 11:25:48 +0000 (13:25 +0200)]
Add depth-stencil tests that do vkCmdCopyImage() with both image aspects
Added tests:
dEQP-VK.api.copy_and_blit.*_depth_stencil_aspects*
Components: Vulkan
VK-GL-CTS issue: 2926
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I9673674035d7a3fbd1947819305ea9dcb8dede6a
marz [Thu, 22 Apr 2021 07:44:52 +0000 (09:44 +0200)]
Test for fragment shading rate in FragCoord.zw
Expansion of cases in pixel consistency test with varying shading rate
applied using zw fragment coordinates.
VK-GL-CTS issue: 2850
Components: Vulkan
Affects:
dEQP-VK.fragment_shading_rate.pixel_consistency.*
Change-Id: I8ba67a603a8b8b3b53f85207b5adae3bbc9ba51b
Samuel Iglesias Gonsálvez [Fri, 21 May 2021 08:30:32 +0000 (10:30 +0200)]
Add tests for vkCmdCopyQueryPoolResults and pipeline statistics
Added tests:
dEQP-VK.query_pool.statistics_query.*cmdcopyquerypoolresults*
Modified tests:
dEQP-VK.query_pool.statistics_query.multiple_queries.*
Renamed tests:
dEQP-VK.query_pool.statistics_query.*dstoffset* to
dEQP-VK.query_pool.statistics_query.*dstoffset_cmdcopyquerypoolresults*
Components: Vulkan
VK-GL-CTS issue: 2656
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I9cb6f4671f772834ca43f24a342323a42266c581
Alexander Galazin [Wed, 2 Jun 2021 07:40:04 +0000 (09:40 +0200)]
Update glslang, SPIR-V Tools/Headers
Components: Framework
Change-Id: I88d7d3fb789c667261db76b143979cb7e7a87f30
Yiwei Zhang [Fri, 28 May 2021 06:47:29 +0000 (06:47 +0000)]
Check return code for vkGetAndroidHardwareBufferPropertiesANDROID
Components: Vulkan
VK-GL-CTS Issue: 2944
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.*
Change-Id: I2da2fe29ae34bd78c3bf2d4e37b002ef58828c12
Vihanakangas [Wed, 3 Feb 2021 10:07:19 +0000 (12:07 +0200)]
Add script for comparing dEQP SwiftShader runs
This submit adds a new script to vk-gl-cts/scripts that checks
for differences/regression in two different deqp-vk runs using regres and SwiftShader.
The script outputs a log of found differences from
the two different runs.
Change-Id: I9bfcc74e581c939a7b541fb7bb2a7141f0b9aeed
Alexander Galazin [Mon, 31 May 2021 07:24:28 +0000 (09:24 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: Ia2f1289fc2d08e1238e0278067d1cf884e1b8287
Alexander Galazin [Mon, 31 May 2021 07:23:56 +0000 (09:23 +0200)]
Merge pull request #258 from asimiklit/fix/arrayed-tests
Disable explicit location tests for `arrayed` block members
Alexander Galazin [Sat, 29 May 2021 08:00:26 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: I7627d6a95d9d8fccff9da037851bd3f11eddc7b5
Alexander Galazin [Fri, 28 May 2021 14:51:16 +0000 (16:51 +0200)]
Update OpenGL mustpass
Components: OpenGL
Change-Id: I0ecc800bfa213c4567354afc5c5cc7c0b96dd00b
Ricardo Garcia [Fri, 28 May 2021 11:53:56 +0000 (13:53 +0200)]
Fix several issues in swapchain tests
This commit fixes the following issues found in the swapchain tests:
- The initial image layout in some render passes did not match the
actual image layout when starting the render pass.
- image_swapchain_create_info tests were using VK_KHR_bind_memory2
functions without activating the extension on the device or making
sure it was core in the used Vulkan API version.
- Many devices were being created with the wrong instance, using the
context instance instead of the custom instance created for the tests.
- Several tests using VK_SHARING_MODE_CONCURRENT did not check for the
availability of two queues or were always using one, which is invalid.
- VkDeviceGroupSwapchainCreateInfoKHR had a wrong sType.
- Swapchain resize tests were calling vkBeginCommandBuffer() on active
command buffers without waiting for them to complete execution.
- Typos and other minor issues.
Affected tests:
dEQP-VK.wsi.*.swapchain.*
Components: Vulkan
VK-GL-CTS issue: 2941
Change-Id: I54d5f46cbcb76617260439a59bf3aef4028309bb
Alexander Galazin [Thu, 13 May 2021 08:56:22 +0000 (10:56 +0200)]
Add AOSP tests to the GL4.5 mustpass
Components: OpenGL
Change-Id: I947a22b7e1f74f343e3b9eed2866a122756ef260
Alexander Galazin [Fri, 28 May 2021 08:37:34 +0000 (10:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: Ia66e6fb7a5444ffd1f1a5f14ef456c5129e0fd8f
Paul Thomson [Tue, 18 May 2021 10:54:54 +0000 (11:54 +0100)]
Fix surfaceless platform for Android
Fix Vulkan library path on Android and fix config selection when
glu::RenderConfig::DONT_CARE is used.
Affected tests:
dEQP-VK.*
Components: Framework
Change-Id: I8809dd691e144223991a693aa9b90c03cd829a63
Ricardo Garcia [Thu, 13 May 2021 11:50:34 +0000 (13:50 +0200)]
Check supportedAlpha is never zero
According to the spec, the value of supportedAlpha must contain at least
one valid VkDisplayPlaneAlphaFlagBitsKHR bit.
Affected tests:
dEQP-VK.wsi.display.get_display_plane_capabilities
Components: Vulkan
VK-GL-CTS issue: 2718
Change-Id: I4bdba857c8571d38a41bf8d69b10acc2bb5065ee
Samuel Iglesias Gonsálvez [Mon, 17 May 2021 08:04:01 +0000 (10:04 +0200)]
Do not clamp ambiguous snorms values on vkCmdCopy*() functions
As per Vulkan WG agreed, these functions perform a bit-for-bit copy
of the values, even if the result is unrepresentable.
Reverts:
* "Fixes sparse resource SNORM tests"
->
00e745999e771df2a604bf24d85594a69ad441fe
* "copies_and_blitting: fix ambiguous signed normalized 1.0 value"
->
bce4ec47056a0473ccce9cf7951023da80c3b745
Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.*.r32_sfloat.a8b8g8r8_snorm_pack32*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.*.r32_sfloat.r8g8b8a8_snorm.*
dEQP-VK.sparse_resources.image_sparse_binding.*snorm*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*snorm*
VK-GL-CTS issue: 2917
Componentes: Vulkan
Change-Id: I5878379aa78e68ac7452a83c1a64abf01c9472c8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Juha Heiskanen [Tue, 11 May 2021 13:02:55 +0000 (16:02 +0300)]
Add writing to invalid multisample indices tests
In these new tests, we check that writes to invalid sample indices are
correctly discarded.
Components: Vulkan
VK-GL-CTS Issue: 2310
New tests:
dEQP-VK.texture.multisample.invalid_sample_index.*
Change-Id: I1feb6f8d44c6cdc526eb5b3ab1d045cd3a181b17
Alexey Knyazev [Mon, 10 May 2021 12:16:20 +0000 (16:16 +0400)]
Add GL_EXT_texture_sRGB_RG8 support
Affects:
dEQP-GLES3.functional.texture.format.sized.*.srgb_rg8*
dEQP-GLES3.functional.texture.filtering.*.formats.srgb_rg8*
dEQP-GLES31.functional.texture.filtering.cube_array.formats.srg8*
dEQP-GLES31.functional.texture.format.sized.cube_array.srgb_rg8*
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.srg8.*
Components: OpenGL, AOSP
Change-Id: I5194f06dbfedc375ade3e8b4fc2e84aa65868df1
Antto Mäkinen [Mon, 12 Apr 2021 11:26:09 +0000 (14:26 +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-cast-float-to-int-and-back
dEQP-VK.graphicsfuzz.cov-clamp-vector-element-ceil-negative
dEQP-VK.graphicsfuzz.cov-clear-yz-inside-condition
dEQP-VK.graphicsfuzz.cov-conditional-discard-inside-loop
dEQP-VK.graphicsfuzz.cov-continue-break-discard-return-in-loop
dEQP-VK.graphicsfuzz.cov-cosh-clamped-to-one
dEQP-VK.graphicsfuzz.cov-double-if-true-in-loop
dEQP-VK.graphicsfuzz.cov-for-loop-min-increment-array-element
dEQP-VK.graphicsfuzz.cov-if-true-discard-in-do-while-never-reached
dEQP-VK.graphicsfuzz.cov-increment-float-in-loop-abs
dEQP-VK.graphicsfuzz.cov-increment-vector-component-with-matrix-copy
dEQP-VK.graphicsfuzz.cov-matching-conditions-break
dEQP-VK.graphicsfuzz.cov-matching-if-always-true-inside-loop
dEQP-VK.graphicsfuzz.cov-rcp-negative-int
dEQP-VK.graphicsfuzz.cov-return-after-first-iteration
Change-Id: I0dd986b855b4ce4c14fe653cfb069f1d038f6cdc
Sunny Sun [Thu, 27 May 2021 07:44:36 +0000 (15:44 +0800)]
Add a glMemoryBarrier between buffer write and read
The tests' behavior is like this:
1. Use transform feedback to write to one buffer
2. Set this buffer to texture, and then to image
3. glDispatchCompute -> use ImageLoad to read from the image
We have to add a glMemoryBarrier between step 1 and 3.
Affects:
KHR-GLES3*.core.texture_buffer.texture_buffer_operations_transform_feedback
Components: OpenGL
VK-GL-CTS issue: 2936
Change-Id: If711469a6cbf4ae1df6851e4006d937760e37ca7
Vihanakangas [Fri, 7 May 2021 14:33:38 +0000 (17:33 +0300)]
Add permutations of different cases on existing test
A test for copying a partial image with npot dimensions,
differing format from source to destination and clearing
of image was previously added. This commit adds different variations
of said test.
New tests:
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear
Affects:
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear
Components: Vulkan
VK-GL-CTS issue: 2683
Change-Id: Ib82339d66e451e34a633e45f50ed8981db21731a
Samuel Iglesias Gonsálvez [Wed, 5 May 2021 10:35:49 +0000 (12:35 +0200)]
Add multiple statistics query tests
Add tests for different query operations:
* Multiple statistics query flags enabled but only input assembly
vertices and primitives together with vertex or fragment shader
invocations.
* Partial queries.
* Add tests with/without wait flag.
* Getting query values with vkCmdCopyQueryPoolResults() and
vkGetQueryPoolResults()
- Usage of dstOffset in vkCmdCopyQueryPoolResults().
Components: vulkan, framework
VK-GL-CTS issue: 2909
Added tests:
dEQP-VK.query_pool.statistics_query.multiple_queries.*
Change-Id: I2dd5412e20268c7997a870dd33a1f3c0a1779600
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Ricardo Garcia [Tue, 20 Apr 2021 07:05:03 +0000 (09:05 +0200)]
Use arrays of pointers with non-identity matrices
Ray tracing tests were lacking coverage for using non-identity matrices
while instanceData.arrayOfPointers is set to true. This commit modifies
ray direction tests, notable for using non-identity matrices, so every
other case uses arrays of pointers for both instance data and the
ppGeometries build geometry info structure when creating the top level
acceleration structure.
Affected tests:
dEQP-VK.ray_tracing_pipeline.direction_length.*
dEQP-VK.ray_query.direction_length.*
Components: Vulkan
VK-GL-CTS issue: 2881
Change-Id: I6464673a3d62f2b77ae3ad428de09d30be123ea7
Mikko Tiusanen [Thu, 22 Apr 2021 09:06:45 +0000 (12:06 +0300)]
Remove empty subtest
Removed subtest function definitions and empty (always passing,
test not run) implementation for integer_constant_expression.
Affects:
KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_FragmentShader
Components: OpenGL, OpenGL ES
VK-GL-CTS issue: 2232
Change-Id: I42fa99f09895d00adeb25123e26c4dbaefeb498f
Mikko Tiusanen [Mon, 10 May 2021 07:32:09 +0000 (10:32 +0300)]
Lower vector constructor test shader version
Changed shaders in GLSL vector constructor tests
to require version tag matching the OpenGL 3.0
specification.
Affects:
KHR-GL30.shaders30.glsl_constructors.*
Components: OpenGL
VK-GL-CTS issue: 2892
Change-Id: I2fdff3de489bfa20115270e542104d06aeb65b0f
Mikko Tiusanen [Tue, 16 Mar 2021 08:16:05 +0000 (10:16 +0200)]
Test framebuffer completeness when layered rendering
Added OpenGL ES tests for rendering to layered (cube map) framebuffer.
VK-GL-CTS issue: 2801
Components: OpenGL
Change-Id: I1cede4806af33520612b7335d553df7da119520e
Alexander Galazin [Wed, 26 May 2021 10:40:11 +0000 (12:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: Ie5c97143a71df2572ed345e6bddf2937e81e4573
Alexander Galazin [Wed, 26 May 2021 10:03:17 +0000 (12:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I693041c49bff85c924472119584f938c958ea7eb
Slawomir Cygan [Wed, 19 May 2021 16:04:58 +0000 (18:04 +0200)]
Allow false positive hits from build-in AABBs intersector
This extends the fix from
7ff1f9cd to 'mixed' tests, which
also use AABBs.
This change allows the test to execute any hit shader,
in case of AABB geometry is used and the ray falsely 'intersects'
it.
This is needed, as the test does not calculate the proper
intersection in 'intersection' stage - it uses a shader that always
reports TRUE. Hence the test relies on build-in AABB
intersector, which may report false positives according to the
specification.
VK-GL-CTS Issue: 2848
Components: Vulkan
Affects: dEQP-VK.ray_tracing_pipeline.build.*mix*
Change-Id: Ia962992df866b68f84714dcb6429a1a90499d9b6
Alexander Galazin [Wed, 26 May 2021 09:15:08 +0000 (11:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I5a38303ad269d39786584512a105e0e4b636eca1
Alexander Galazin [Wed, 26 May 2021 08:45:36 +0000 (10:45 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I2182f671aa88657e150c9d987713b93920377b23
Alexander Galazin [Wed, 26 May 2021 07:43:38 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I6a05c3d94da3f1f6397b029997d6d43db2439548
Alexander Galazin [Wed, 26 May 2021 07:01:29 +0000 (09:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Ib9e1ec8639e95a5bda7c361e1db102b5f4f94194
Matthew Netsch [Fri, 26 Feb 2021 19:51:41 +0000 (11:51 -0800)]
Fixes ycbcr copy tests using NaNs
Removes NaNs from the source images
Components: Vulkan
VK-GL-CTS issue: 2772
Affects:
dEQP-VK.ycbcr.copy.*
Change-Id: I52d279633e081ecce0ef93681c4d199296de6107
Alexander Galazin [Fri, 21 May 2021 15:29:56 +0000 (17:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Change-Id: I8f74d90e51fc450a85239f6c65fcc792e8e370b6
Alexander Galazin [Fri, 21 May 2021 13:36:11 +0000 (15:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: If63af4526f72fc1f214b60c4c9d891718bf2b440
Alexander Galazin [Fri, 21 May 2021 12:12:54 +0000 (14:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I768331416f61a0a76c6bff504e0fedd545080f22
Alexander Galazin [Fri, 21 May 2021 11:34:48 +0000 (13:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I9ac48fcdfe6e253139ccde50371b9dbfa31ce437
Alexander Galazin [Fri, 21 May 2021 10:05:50 +0000 (12:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I9a085c6867ee119951a839b0d5eecb7fcf351029
Alexander Galazin [Fri, 21 May 2021 09:18:08 +0000 (11:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I575ea750c7a89ec9f8306537a4bc3f7fbb64a619
fred jin [Fri, 2 Apr 2021 07:39:07 +0000 (15:39 +0800)]
Fix precision issue in ShaderMatrixTest
According to the Spec, the compiler is free to promote computation
precisions, and such promotion depends on the specific shader
content or compiler.
When tests use the lowp or mediump precision in the shaders, It
can't confirm the final computation precision. Now the precision
of the shader inputs is highp, if the real computing precision in
GPU HW is lowp or mediump. It can easily get the comparison failure.
So it's better to adjust the precision of the inputs as the expected
precision in the specific tests.
Affects:
dEQP-GLES3.functional.shaders.matrix.*
Components: OpenGL
VK-GL-CTS issue: 2863
Change-Id: I30af699da12bf88596e7046922b2f1f00d5d3f06
Boris Zanin [Sun, 16 May 2021 18:04:30 +0000 (20:04 +0200)]
Remove unused check
This check is useless here. Remove it.
Also a year later there was a specification issue #1222 "Should
requiresDedicatedAllocation imply requiresDedicatedAllocation?"
That clarified this question and specification now contains
following paragraph totally invalidating this check:
When the implementation sets requiresDedicatedAllocation to VK_TRUE,
it must also set prefersDedicatedAllocation to VK_TRUE.
Update tests:
* dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
* dEQP-VK.memory.requirements.dedicated_allocation.image.*
Components: Vulkan
VK-GL-CTS issue: 391
VK-GL-CTS public issue: 267
Change-Id: I557d3c0fac752ec2f42db7e6dcd78787a0c69a26
Antto Mäkinen [Fri, 23 Apr 2021 11:32:43 +0000 (14:32 +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-atan-trunc-vec4
dEQP-VK.graphicsfuzz.cov-bitwise-inverse-uniform-condition
dEQP-VK.graphicsfuzz.cov-clamp-loop-limit-increment-float-array
dEQP-VK.graphicsfuzz.cov-clamp-lower-limit-from-always-false
dEQP-VK.graphicsfuzz.cov-function-vec2-never-discard
dEQP-VK.graphicsfuzz.cov-global-loop-counter-float-accumulate-matrix
dEQP-VK.graphicsfuzz.cov-int-div-round-to-zero
dEQP-VK.graphicsfuzz.cov-loop-abs-multiply-offset
dEQP-VK.graphicsfuzz.cov-loop-increment-or-divide-by-loop-index
dEQP-VK.graphicsfuzz.cov-matrix-double-transpose
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-do-while-accumulate-float
dEQP-VK.graphicsfuzz.cov-set-output-color-function-call-nested-loop
dEQP-VK.graphicsfuzz.cov-texel-double-negation
dEQP-VK.graphicsfuzz.cov-unused-matrix-copy-inside-loop
dEQP-VK.graphicsfuzz.cov-vector-illegal-index-never-executed
Change-Id: I26425024458bb5e080647194e90a87cc7e8512d8
Alexander Galazin [Thu, 20 May 2021 06:51:53 +0000 (08:51 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I37c6ded86ee2b7242e2146185b7683147fcdf234
Mika Väinölä [Thu, 29 Oct 2020 12:06:09 +0000 (14:06 +0200)]
Add XFB tests for VK_EXT_provoking_vertex
Test that the positions of provoking vertices are preserved in
transform feedback when transformFeedbackPreservesProvokingVertex
is advertised.
New tests:
dEQP-VK.rasterization.provoking_vertex.transform_feedback.*
Affects:
dEQP-VK.rasterization.provoking_vertex.*
Components: Vulkan
VK-GL-CTS issue: 2615
Change-Id: Id9cc1884487d204f1993aab0c8a0f618f32eb7c4
(cherry picked from commit
16663f3d6416027a00decc9810a4cfbd1d0457eb)
Mika Väinölä [Thu, 12 Dec 2019 11:12:16 +0000 (13:12 +0200)]
Add tests for VK_EXT_provoking_vertex
Replace VkScript-based provoking vertex tests with one file that tests
both the default Vulkan provoking vertex convention and different
provoking vertex modes provided by VK_EXT_provoking_vertex.
New tests:
dEQP-VK.rasterization.provoking_vertex.default.*
dEQP-VK.rasterization.provoking_vertex.first.*
dEQP-VK.rasterization.provoking_vertex.last.*
dEQP-VK.rasterization.provoking_vertex.per_pipeline.*
Affects:
dEQP-VK.rasterization.provoking_vertex.*
Components: Vulkan
VK-GL-CTS issue: 2092
Change-Id: I472c8c15ca1c0ad51a2dcc16ef9fa3d5f6ba5fa7
(cherry picked from commit
2d23e0e1a180c4dc8b5bcde8a4713527b7ef50b9)
Jari Komppa [Tue, 27 Apr 2021 12:27:51 +0000 (15:27 +0300)]
Static code analysis fixes for GL cts
This change contains multiple static code analysis fixes,
including uninitialized member variables, initialization
order and buffer overruns.
In theory these changes shouldn't change the tests, but
due to the nature of the changes, some behavior changes
may occur.
Due to the large number of files changed, the affects
mask is over-wide.
Affects:
dEQP-GL*
KHR-*
Change-Id: I57518c38fca9775691f02edfc0cbeee28294bc1e
Components: Framework, OpenGL
Ari Suonpaa [Fri, 23 Apr 2021 12:44:35 +0000 (15:44 +0300)]
Add tests for multidimensional atomic counter array
VK-GL-CTS Issue: 1916
New tests:
KHR-GLES31.core.shader_atomic_counters.advanced-usage-multidim-array*
Components: OpenGL ES
Change-Id: Ic3013a5be424238afca0f20e16ef94d3076acfdb
Slawomir Cygan [Thu, 13 May 2021 12:00:14 +0000 (12:00 +0000)]
Revert "Remove too long ray_tracing.build tests"
This reverts commit
6e14c25f5d049cb0dadebdd8a48392721b8a4d0b.
This reinstates long ray_tracing.build tests
VK-GL-CTS Issue: 2896
Components: Vulkan
Change-Id: I1b0ecaa3eeb63f5ca82d7bffe790979e21d08b7c
Affects: dEQP-VK.ray_tracing_pipeline.build.*
Ricardo Garcia [Wed, 12 May 2021 14:53:19 +0000 (16:53 +0200)]
Add missing vertex pipeline stores check with ray queries
Several tests related to ray queries were performing image stores from
vertex pipeline shader stages without checking support for vertex
pipeline stores and atomics support.
Affected tests:
dEQP-VK.ray_query.watertightness.*.vert.*
dEQP-VK.ray_query.watertightness.*.tesc.*
dEQP-VK.ray_query.watertightness.*.tese.*
dEQP-VK.ray_query.watertightness.*.geom.*
dEQP-VK.ray_query.builtin.*.vert.*
dEQP-VK.ray_query.builtin.*.tesc.*
dEQP-VK.ray_query.builtin.*.tese.*
dEQP-VK.ray_query.builtin.*.geom.*
dEQP-VK.ray_query.advanced.*.vert.*
dEQP-VK.ray_query.advanced.*.tesc.*
dEQP-VK.ray_query.advanced.*.tese.*
dEQP-VK.ray_query.advanced.*.geom.*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*vert*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tesc*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tese*
dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*geom*
Components: Vulkan
VK-GL-CTS issue: 2907
Change-Id: I1d13c227bb52dfad393c9b52681083598bff2f80
Samuel Iglesias Gonsálvez [Thu, 29 Apr 2021 08:37:42 +0000 (10:37 +0200)]
Add vkCmdCopyQueryPoolResults() tests with dstOffset != 0
Components: Vulkan
VK-GL-CTS issue: 2909
Added tests:
dEQP-VK.query_pool.*dstoffset*
Change-Id: Ib8b7173a58f370f0f7bb48a5d6a7de07621be096
Ricardo Garcia [Wed, 5 May 2021 10:35:29 +0000 (12:35 +0200)]
VK_VALVE_mutable_descriptor_type tests
This commit adds a new group of tests to check the
VK_VALVE_mutable_descriptor_type extension. The extension allows
applications to use a new type of descriptor that doesn't have a fixed
type and can mutate among several actual descriptor types.
In addition, the extension also allows creating descriptor pools and
sets that reside entirely in host memory. They can be used as the source
for descriptor copies but cannot be bound in a command buffer.
The new tests mix mutable descriptors with nonmutable ones, arrays of
them, descriptor writes, descriptor copies, host-only and normal pool
and sets, update-after-bind, different shader stages, etc.
New tests:
dEQP-VK.binding_model.mutable_descriptor.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2852
Change-Id: I19b00c2e0f56ce547a615cb39d50965f513c74db
Ilkka Saarelainen [Wed, 28 Apr 2021 09:47:03 +0000 (12:47 +0300)]
Add new multi-planar format tests
Adds new multi-planar format tests with per-plane views using compatible
formats taken from the table "Compatible Formats".
New tests:
dEQP-VK.ycbcr.plane_view.*_compatible_format_*
Affects:
dEQP-VK.ycbcr.plane_view.*
Components: Vulkan
VK-GL-CTS issue: 1630
Change-Id: Ib9a75e77990fe5c817a20b605a265f5ad326597a
Alexander Galazin [Fri, 14 May 2021 18:19:53 +0000 (20:19 +0200)]
Update Vulkan headers
Components: Vulkan
Change-Id: I0256daab1e697718a061db6eff68eb01a1cb6196
Andrii Simiklit [Tue, 13 Apr 2021 16:41:42 +0000 (19:41 +0300)]
Disable explicit location tests for `arrayed` block members
According to the OpenGL 4.5 and Open GLES 3.2 specs these tests
aren't correct:
From Section 4.4.1 (Input Layout Qualifiers) of the GLSL 4.50 spec:
"For some blocks declared as arrays, the location can only be applied
at the block level: When a block is declared as an array where
additional locations are needed for each member for each block array
element, it is a compile-time error to specify locations on the block
members. That is, when locations would be under specified by applying
them on block members, they are not allowed on block members. For
arrayed interfaces (those generally having an extra level of
arrayness due to interface expansion), the outer array is stripped
before applying this rule"
From Section 4.4.1 (Input Layout Qualifiers) of the GLSL ES 3.20 spec
"If an input is declared as an array of blocks, excluding per-vertex-arrays
as required for tessellation, it is an error to declare a member of
the block with a location qualifier"
From Section 1.1.3 (Changes from GLSL ES 3.2 revision 3) of the GLSL ES 3.20 spec:
"Arrayed blocks cannot have layout location qualifiers on members"
Here is commit related to it https://github.com/KhronosGroup/VK-GL-CTS/commit/
b1e32845c7a95cf2f4b5cd59f7ddaa3c655da626
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array.var_struct_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array.var_struct_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array.var_struct_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_array_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_explicit_location
dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array.var_struct_explicit_location
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
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
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
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
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
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
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
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
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
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
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