Vulkan CTS

New tests:

 * Test multiple fragment output locations
 * Try spec constants with more sizes and packing
 * Add tests for VK_EXT_filter_cubic
 * Add SampleMask write tests
 * Add drm format modifiers tests
 * Test using ViewportIndex from frag shaders only
 * Test OpArrayLength with stride larger than element size
 * Add an Amber test which uses textureOffset()
 * Test negative value conversion to b10g11r11 float format.
 * Extend Android Hardware Buffer external memory format tests
 * Test variableMultisampleRate with non-empty framebuffer
 * Test mixed sample count in empty subpass and framebuffer
 * Add fp16 float control tests without 16bit_storage requirement
 * Test interpolation functions with single components
 * Add tests for VK_AMD_shader_trinary_minmax
 * Test OpCompositeInsert with OpUndef
 * Test strided stores in SSBOs
 * Add a batch of GraphicsFuzz tests
 * Check vkGetInstanceProcAddr works with NULL instance
 * Add VK_AMD_shader_image_load_store_lod tests
 * Enable MSAAx16 non-stict wide lines rasterization tests
 * Test nearest sampling edge cases
 * Test large indirect draw count and small parameter
 * Added tests for line continuity
 * Add test api.tooling_info.validate_instance_layers
 * Test execution modes set only in Tess Control Shader
 * Add tests for VK_EXT_tooling_info
 * Add test case for negative int div and
 * Test ViewportIndex SPIR-V builtin in frag shaders
 * Add tests covering variableMultisampleRate
 * Test Stream, XfbBuffer and XfbStride decorations on structs
 * Test exact sampling with linear filtering over a solid color
 * Add dual-source blending tests
 * Add tests for scissor constraint
 * Add tests for VK_AMD_shader_explicit_vertex_parameter
 * Test not/xor SPIR-V operation sequence
 * Test filtering of YCbCr formats
 * Test winding order of primitive topologies
 * Test multiple sets with dynamic offsets
 * VK_EXT_extended_dynamic_state tests

 * Update Android API levels and grant permissions
 * Adjust framework to removal of non-API enums
 * Waiver mechanism
 * Remove TODO, FIXME that were left behind
 * Framework definitions for VK_KHR_ray_tracing

 * Fix VkPhysicalDeviceMemoryBudgetPropertiesEXT
 * Fix compilation on clang 11
 * Fix Fedora 32 gcc/clang warnings
 * Fix warnings found by compiling with MS VC++ 2019
 * Fix BindImageMemoryInfo in *render.device_group2
 * Correct few pipeline_barrier tests
 * Do not use 2D array d/s attachment created from 3D texture
 * Fix overflow in VK_EXT_subgroup_size_control tests.
 * Add conformance tests for new buffer offset rules
 * Remove non-compute variants of common function tests
 * Fixes clipping tests supported check
 * Allow RTZ rounding in spv_assembly*writes_two_buffers* tests
 * Allow Bresenham for single sample nonstrict lines
 * Split spirv_assembly tests workload
 * Add --deqp-print-validation-errors cmd line option
 * Correct few tests from indirect_dispatch group
 * Correct sparse_image_format_properties2 tests
 * Clarify integer formats conversions in blit_image tests
 * Correct external_memory_host tests
 * Correct opatomic_storage_buffer_volatile tests
 * fix input dependency for renderpass depth/stencil format tests
 * Split subgroupBroadcast tests
 * Make ImageSamplingInstance loop over pNexts
 * Fix of a build failure on QNX
 * Replace LAST with MAX_ENUM in mapBorderColor
 * Make checkSupportImageSamplingInstance loop through pNexts
 * Fix verification in multisample image store tests
 * Use mandatory formats in stencil export tests
 * Correct Flush(/Invalidate)MappedMemoryRange
 * Fix validation problems with renderpass tests
 * Clean ExternalMemoryUtil
 * Test memory leaks in vkEnumeratePhysicalDevices
 * Apply nonUniformEXT after constructing a combined image/sampler
 * Improve image logging in some renderpass tests
 * Add Mandatory extension features
 * Fix format features required with samplerYcbcrConversion
 * Fix number of pipelines/framebuffers/renderpasses created in dynamic offset tests
 * Avoid fragment shader in some depth/stencil tests
 * Fix 16bit_storage dependency in some spirv instruction fp16 tests
 * Add shaderSubgroupExtendedTypes to mandatory features
 * Fix format features required with samplerYcbcrConversion
 * Remove duplicated code from isinf/isnan tests
 * Single random float generator for precision tests
 * Add check for YCbCr Chroma Reconstruction Explicit format support
 * Fix a typo for Linux run of deqp-vk
 * Add missing writes to PointSize in subgroups tests
 * Fixes timeline semaphore test queues
 * Fix image layouts in graphics spirv_assembly tests
 * Fix maxMipMap calculation for images
 * Fix image layouts in graphics spirv_assembly tests
 * Fix descriptorCount for dEQP-VK.ycbcr.conversion
 * Clear unused image aspects in buffer to depth/stencil copy tests
 * Add storageBuffer16BitAccess to mandatory features
 * Add missing barrier before host access in draw tests
 * Don't request DebugReportRecorder with no layers
 * Require VK_EXT_filter_cubic for cubic filtering
 * Fixes execServer with target API 28
 * Fixes advanced blending tests support check
Require VK_EXT_filter_cubic for cubic filtering

Make the copy and blit tests for cubic filtering depend on
VK_EXT_filter_cubic to stop them being run on drivers supporting


Components: Vulkan

VK-GL-CTS issue: 2417

Change-Id: I3b2b689410603d639837bed48fa8f7e924da577c
1 file changed
tree: 72858b807f34b8ef605ab1f8363603a82a0b47ca
  1. .github/
  2. android/
  3. data/
  4. doc/
  5. execserver/
  6. executor/
  7. external/
  8. framework/
  9. modules/
  10. scripts/
  11. targets/
  12. .editorconfig
  13. .gitignore
  14. .travis.yml
  17. CMakeLists.txt
  21. NOTICE
  22. 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 the dEQP is available at Android Open Source Project site.

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/