Vulkan CTS

New tests:

 * Add tests for VK_EXT_host_query_reset
 * Add scalar uint with signed int compares as Amber cases
 * Add scissor tests
 * Additional coverage for color resolve
 * Add tests for OpFUnord with NaN
 * Add alpha to coverage test with no color attachment
 * Add tests for VK_NV_cooperative_matrix
 * Add test for concurrent compute
 * Add SPIR-V ids abuse tests
 * Add testing for VK_EXT_ycbcr_image_arrays
 * Add tests for pointSize with clamping
 * Add UTF8 abuse tests for extension and layer names
 * VK_EXT_buffer_device_address tests
 * Add tests for descriptor copy
 * Add layered rendering test for secondary cmd buffer
 * Add tests checking if no depth is written when depth test is disabled
 * Add testing for VK_EXT_depth_clip_enable
 * Add more merge cache tests
 * Memory model tests for transitive av/vis ops
 * Add tests for clearing cube attachments with non zero base array layer
 * Add tests of VK_EXT_conditional_rendering for secondary command buffer
 * Add missing PointSize to some geometry tests
 * Added variants of PointCoord test with uniforms
 * Extend api.version_check.entry_points test
 * Test swizzles of 2D texture lookup coordinates
 * Add tests for vkAcquireNextImage2KHR
 * Added test for backwards subpass self dependency


 * Avoid check vulkan core features in compute tests
 * Fix image layouts in SPIR-V image sampler tests
 * Fixed dEQP-VK.binding_model.descriptor_copy.* issues.
 * Optimize format flag fetch function
 * Limit transient images tests
 * Reduce memory usage in point size clamping tests
 * Disable pipeline_create_only when running Amber tests
 * Check shaderFloat16 support in 16bit_storage.*64*
 * Fix uninitialized variable reported by gcc 8.3
 * Fix build by adding DE_UNREF
 * Invalidate memory before checking results
 * Fix validation errors in ycbcr.query.* tests
 * Don't give samplers in YCbCr descriptor updates
 * Simplify the combination passed to vkCreateImage
 * Amber: Initialize the delegate to NULL
 * Update Amber so it detects Vulkan on Android
 * Send external api base extensions when not core
 * Drop handwritten toString code
 * Fix validation errors in dEQP-VK.tessellation.*
 * Use valid deviceMask in vkAcquireNextImage2KHR
 * Fix device mask in swapchain tests
 * Disable SPIR-V ids optimization
 * Add control for subpixel bits to reference rasterizer
 * Define point sizes in dEQP-VK.query_pool.* tests
 * Fix zero height clear rectangle
 * Fix spelling of error message
 * Fix stack underflow in incremental present test
 * Check if CTS has platform display for wsi-type
 * Change render size of shaderexecutor to 128
 * Fix calls to vkBindImageMemory2
 * Fix validation errors in subgroups tests
 * Reenable coverage of opaque type indexing
 * Remove incorrect vertexPipelineStoresAndAtomics dependencies
 * Correct support conditions for float16s
 * Remove one method of specifying features in vktSpvAsm
 * pipeline timestamps test: fix too-large VkBufferCopy
 * Set correct range for OpVectorTimesScalar tests
 * Allow a tolerance for results of sqrt
 * Fix incorrect use of copyImageToBuffer in TextureRenderer::renderQuad()
 * Fix image aspects in multiview tests
 * Fix memory requirements for draw_clear tests
 * Fix damage binary length field in shadercacheSave


 * Raise VS supported version to 2015
 * Update default Android API level to 28
 * Add Amber as a test engine
 * Move VkRunner tests to Amber
 * Make renderdoc_app.h optional at build time
 * Improve shader cache hashing
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Iea26f0e9f9c0d8b69d99fa4b0763269f420858df
tree: 799ddc1a4efffde59d16482d508cb462aaca1911
  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 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/