Merge tag 'vulkan-cts-' into main

Vulkan CTS

New Tests:
 * Modified ray tracing inactive triangle definition
 * Add vkGetDeviceQueue2 tests for Protected memory feature
 * Separate create with unsupported feature tests
 * Split pipeline.txt mustpass into multiple files
 * More EXT_color_write_enable tests.
 * Fix subprocess count handling and releaseId logging
 * Check format features for both formats in LoadStoreTests
 * maintenance1: Pass VkTraceRaysIndirectCommand2KHR in various ways.
 * Final modifications and corrections for Vulkan SC
 * Check conditional rendering with non-zero memory offset
 * maintenance1: New VkQueryPool queries tests
 * Adaptation of most dEQP-VKSC.* tests to Vulkan SC
 * Initial implementation of Vulkan SC CTS
 * writeSupportedExtensions for VKSC
 * Test single-path switch statements
 * Add tests for VK_EXT_image_2d_view_of_3d
 * Run FSR tests with secondary command buffers
 * Expand the list of format for image store tests
 * Add tests for VK_EXT_image_compression_control
 * Test poolSizeCount can be zero
 * Add R8_UNORM to the external AHB memory tests
 * Ray query helper invocations
 * Add coverage for IsHelperInvocationEXT
 * InterpolateAt{Offset, Sample} with linear interpolation tests
 * Remove duplicated VkPhysicalDeviceVulkanSC10Features structure
 * Add tests for vkGet...SurfacePresentModes2EXT
 * Add inter-process communcation to shader cache
 * skip non-compresed 3D views of compressed images
 * Implement reference offline pipeline compiler
 * Dynamic rendering with NULL shading rate image
 * Improve coverage of MSAA copies
 * Add coverage for MSAA copies with BindImageMemory(offset != 0)
 * Bug fix for current variableSampleLocations tests + new tests
 * Add command line parameter deqp-subprocess-cfg-file
 * Add command line parameter to override Vulkan library path
 * Support VK_KHR_portability_enumeration
 * Add robustness2 limits validation test
 * Fix support check in transform feedback tests
 * Test coverage for VK_KHR_fragment_shader_barycentric
 * VK_KHR_ray_tracing_maintenance1 test plan
 * Add test for depth comparison with texel replacement
 * Add a batch of GraphicsFuzz coverage tests
 * Adaptation of dEQP-VKSC.api.* tests to Vulkan SC
 * Update CTS to VulkanSC header version 1.0.8
 * Test VkSubresourceLayout::offset is relative to the start of an image
 * Add tests verifying Vulkan SC API
 * Test imageSize() on 2D image views from 3D images
 * Add limit verification for two fields in Vulkan SC
 * maintenance1: Copying within pipeline with new stages and accesses.
 * Missing VK_KHR_object_refresh
 * Fix regression from CL-9387 to handle empty cache properly
 * Separate device feature tests
 * Fix robustness2 shaders
 * Fixed YCbCr conversion tests in Vulkan SC

 * Improve comparison of VkPhysicalDeviceMemoryProperties
 * Include the proper formats in pViewFormats list
 * Remove unneeded commented block of code
 * Fix state binding in multiview tests
 * Only request timeline semaphore extension if it's not in core
 * Fix modifier tests - Add Invalidate memory before host read.
 * Various modifications and fixes required by Vulkan SC CTS.
 * Fixes sparse flags
 * Forbid implicit cast from Move<T> to bool
 * Fix extension checks in DRM format modifier tests
 * Thread safe releaseQueue
 * Fix int64 robustness bugs
 * Fix amber-verify mismatch in builtin precision tests
 * Declare atomic_payload array coherent
 * Fix extension check in transform feedback tests
 * Image extended usage should include VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
 * Synchronize clears and reads in transient attachment tests
 * Fix entry points check for VK_KHR_draw_indirect_count
 * Add missing barrier in ray tracing tests
 * Add required support check for IsHelperInvocationEXT test
 * Fix Android build
 * Shrink the framebuffer in 2 graphicsfuzz tests
 * Fix second barrier access mask for transfers
 * Fix valid usage violation in vkFreeDescriptorSets
 * Verify rectangular lines using the strict rule
 * Add threshold to rasterization order depth checks
 * Fix barrier in layer_copy_before_resolving tests
 * Fix deqp-vksc build break from CL-9046
 * Check pipeline construction type for fsr tests
 * Fix device and memory allocation mix-up
 * Fix spec info in pipeline max varyings tests
 * Fix framebuffer size for some GraphicsFuzz tests
 * Fix redundant writes to compressed texture
 * Remove invalid texture filtering test cases
 * Fix aliasing issue for globalPriorityQuery feature
 * Fix multithreaded object counting in internally_synchronized_objects.*
 * Set pipeline layout for fragment_shading_rate tests
 * fix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subgroups_spirv16
 * Fix leak on SimpleAllocator

Improvements: * Update known conformance version for
 * Support DEQP_VULKAN_LIBRARY_PATH for Linux based platforms
 * explicitly provides ssh urls to GitRepo declarations
 * Add notice of withdrawal for 1.2.6.x
 * Add possibility to run tests in separate process (Vulkan SC only)
 * Add server to offload main test process (VulkanSC only)
Change-Id: I14fe7978fe6a6f9cf5b6a6b5000d3989c1e84d52
tree: 4d5d7ac3fa9708bdddbe3310803470c2cade7bab
  1. .github/
  2. android/
  3. data/
  4. doc/
  5. execserver/
  6. executor/
  7. external/
  8. framework/
  9. fuchsia/
  10. modules/
  11. scripts/
  12. targets/
  13. .editorconfig
  14. .gitattributes
  15. .gitignore
  18. CMakeLists.txt
  22. NOTICE
  23. OWNERS


This repository contains a GPU testing suite called dEQP (drawElements Quality Program). dEQP contains tests for several graphics APIs, including OpenGL ES, EGL, and Vulkan.


Up-to-date documentation for dEQP is available at:

The .qpa logs generated by the conformance tests may contain embedded PNG images of the results. These can be viewed with scripts/qpa_image_viewer.html, by opening the file with a web browser and following its instructions, or using the Cherry tool.

Khronos Vulkan Conformance Tests

This repository includes Khronos Vulkan CTS under external/vulkancts directory. For more information see Vulkan CTS README.

Khronos OpenGL / OpenGL ES Conformance Tests

This repository includes Khronos OpenGL / OpenGL ES CTS under external/openglcts directory. For more information see OpenGL / OpenGL ES CTS README.

ANGLE for Android

ANGLE can be built for Android by following the instructions here.

The resulting ANGLE shared object libraries can be linked against and embedded into dEQP.apk with the --angle-path option. This will cause dEQP.apk to use the ANGLE libraries for OpenGL ES calls, rather than the native drivers.

An ABI must be specified and the directory structure containing the ANGLE shared objects must match it so the build system can find the correct *.so files.

Assuming ANGLE shared objects are generated into ~/chromium/src/out/Release/ and dEQP.apk will be generated with --abis arm64-v8a, issue the following commands:

cd ~/chromium/src/out/Release/
mkdir arm64-v8a && cd arm64-v8a
cp ../lib* .

The --angle-path ~/chromium/src/out/Release/ option can then be used to link against and embed the ANGLE shared object files. The full command would be:

python scripts/android/ --sdk <path to Android SDK> --ndk <path to Android NDK> --abis arm64-v8a --angle-path ~/chromium/src/out/Release/