Vulkan CTS

New tests:
 * Enable shadow filtering tests for non-filterable formats
 * Add BGR and BGRA formats to image view tests
 * Add tests for standard multisample positions
 * Push constant overwrite tests
 * Test large command buffers with many draw commands
 * Test barycentric coordinates in ray tracing hits
 * Ray query hitT direction length tests
 * Verify submit with wait on timeline semaphore with 0 value
 * Test timeline semaphore with two threads
 * Including testing zw components with fragcoord_msaa tests
 * Ray tracing hitT direction length tests
 * Pipeline bind point tests
 * Add tests for sparseImageFloat32Atomics
 * Add concurrent transform feedback streams query tests
 * Add tests for implicit unmap on free
 * Test variable pointers on dynamic descriptors
 * Tests for image OpImageWrite on mismatched vector sizes
 * Mix dynamic state with compute and transfer
 * Test not writing to the Position built-in
 * Add coverage for depth bias
 * Test FragCoord with per-sample input variable
 * Add new samplerless descriptor tests
 * Add tests for multisample texture size
 * VK_KHR_fragment_shading_rate pixel consistency
 * Test descriptor set layout binding ordering
 * Add descriptor update stress test
 * Coverage tests for undefined values
 * Test attributes beyond static vertex stride
 * Additional conditional rendering tests
 * Expand tests for image queries of null descriptors
 * Add FrexpStruct comparison tests
 * Test negative depthBiasClamp values
 * Add minimum nonUniform tests to descriptor indexing texts
 * Add striped 3D blitting tests
 * Add tests for logical operations
 * Test invalid Lods in the textureSize tests
 * Tests for multiple clears within render pass
 * Enable nullDescriptor for AS ray query tests
 * Test dynamic indexing of AS
 * Test dynamic indexing of ray queries
 * Test procedural geometry with complex BB sets
 * Basic tests for VK_EXT_conservative_rasterization
 * Add test for image copy special case
 * Add drawing tests for Android hardware buffer based color buffer
 * Test data spilling and unspilling around RT shader calls
 * Add new tests that verify IgnoreIntersection/TerminateRay corner cases.
 * Test maxPipelineRayRecursionDepth can be zero
 * Enable YCbCr filtering tests for non-separable chroma
 * Vulkan Portability support
 * Test terminateInvocation with frag shader side effects
 * Enable random writes for storage texel buffers
 * Test reading primitive id from frag shader after tessellation
 * Add VK_EXT_headless_surface surface tests

 * Allow more conservative coverage for degenerate triangles
 * Change format used in pipeline cache control tests
 * Include sys/system_properties.h in teglAndroidUtil.cpp
 * Add missing mandatory features
 * Ensure WSI colorspace has no effect on image contents
 * Fix recursion depth requirement in complexcontrolflow
 * Remove multiview requirement in extended dyn state tests
 * Check image extent support in watertightness tests
 * Read deserealization size from stream
 * Fix flush/invalidate in mismatched_write_op tests
 * Fix sync validation for mismatched_write_op tests
 * Check if image sample count supported by VkSampleCountFlags
 * Always accumulate errors in desc set random tests
 * Fix build indirect structure tests
 * Fix reordering vertices in geometry shader in ray_query AS test
 * Fix source blit image size
 * Fix wrong semaphore type being queried
 * Fix fragment shading rate validation errors
 * Fix missing check for supported device features
 * Allow OOM for maxImageExtent swapchain cases
 * Decrease required subgroup size
 * Add needed extension and feature checks in mismatched_write_op test
 * Fix decoration_group tests
 * Adds local multi device present mode support check
 * Remove dubious const-casting in mismatched_write_ops tests
 * Fix compute binding storage buffer alignment
 * Silence validation layers warning on missing sType
 * Fix image format in memory model tests
 * Ensure there is a committed ray intersection before calling rayQueryGetIntersectionInstanceIdEXT(..., true)
 * Fix memory scope in OpControlBarrier tests
 * Fix validation in mismatched format tests
 * Check sparse image format support before creation
 * Add VariablePointerFeatures requirement for amber test requiring it
 * Avoid querying YCbCr combined sampler count in RGBA
 * Check unsupported formats with sparse AMD bias/lod
 * Fix a Graphicsfuzz coverage test not to depend on an undefined value
 * Fix checks for conditional rendering support
 * Check for VK_KHR_portability_subset extension before checking it's features
 * Fix sync problems in conditional_rendering.draw_clear tests
 * Don't access arrays out-of-bounds in robustness2 tests
 * Clarify depth/stencil resolve write access sync
 * Fix Renderpass storeOp synchronization hazards
 * Fix back-to-back transfer command synchronization hazards
 * Simplify code for subgroup builtin mask tests
 * Fix end of Renderpass synchronization hazards
 * Fix additional RenderPass loadOp/stencilLoadOp sync hazards.
 * Fix RenderPass stencilLoadOp synchronization hazards.
 * Fix RenderPass loadOp synchronization hazards.
 * Select SPIR-V for the robustness' compute shaders
 * Fix buffer offsets in push descriptor tests
 * Destroy deferred ops before destroying devices
 * Shorten the ray so that it can't hit other cells
 * Only use AABBs for the shader record tests
 * Simplify geometry to reduce AABB precision issues
 * Fix test using protected features without creating a device with them enabled
 * Use linear tiling with external_memory_host tests
 * Remove the tests with too large device AS build workload
 * Fix robust buffer access result checking for partially out of bound cases
 * Fix required features checks in shaderRecordExplicitScalarOffset_6 test case
 * Allow false positive hits from build-in AABBs intersector
 * Fix insufficient BLAS indirect buffer size
 * Fix test does not return failure status
 * Fixes transform feedback query tests
 * Fixes Fragment Shading Rate layered tests

 * Enable validation for all custom devices
 * Add a waiver for depth bias on some Broadcom GPUs
 * Add a list of unused shaders into log
 * Change gradient generator for pipeline image tests
 * Add command line option for filtering by runner
 * Update AccessInstance::verifyResult() to support 64-bit types
Fixes transform feedback query tests

Tests were not reseting the query pool prior
to using the queries, as is required by the spec.

Components: Vulkan
VK-GL-CTS Issue: 2866


Change-Id: If62c75476f1c9a97ee4d819712bb9904dc6d83c7
1 file changed
tree: 1e06559b628c440ca00bc60d1b8ef7232f708da8
  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. .gitattributes
  14. .gitignore
  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/