Vulkan CTS

New Tests:
 * Convert ray gen. robustness tests from NV to KHR
 * Test textureSize for oob lod
 * Simplify test setup for descriptor indexing
 * Add tests for compute shaders dispatched in secondary command buffers
 * Tests for VK_EXT_image_sliced_view_of_3d
 * Add tests for vkCmdBindVertexBuffers2
 * Trivial simplification to descriptor_indexing tests
 * Add tests for component mapping on BC5 format
 * Test actual non-uniform indices in descriptor indexing tests
 * Add dynamic state test with NULL color blend pAttachments
 * Assert that the number of output buffers is correct
 * Add coverage for non-sequential dynamic vertex attributes
 * Add tests for copying disjoint image planes to and from buffers
 * Add tests for sampling depth/stencil formats interacted with border color swizzle tests.
 * Test lifespan of unused descriptors with descriptor indexing
 * Change descriptor_indexing tests to use stdint types
 * Test alphaToCoverage with depth, stencil or sample mask exports
 * Fix some indentation in descriptor indexing tests
 * Add more coverage of image copies with BC formats and mips/layers
 * Extend helper_invocation tests to cover SPIR-V 1.6
 * Test dynamic strides in instance rate attributes
 * Add xfb tests covering different streams with same location
 * Make unused shader stage tests pass layout when linking
 * Test dynamic smooth lines
 * Add tests for adjusted pipeline compatibility rules.
 * Create linked pipeline with null layout
 * Add tests for pipeline robustness with cache
 * Add coverage of vkGetImageMemoryRequirements2 for multiplanar formats
 * Add tests for reading barycentrics CHit after AHit
 * Test creating accel structures using buffers with no bound memory
 * Fix build with GCC 13
 * Simplify descriptor_indexing test binding usage
 * Test memory access write/read bit
 * Add dynamic color blend variants without dynamic logic op
 * Add robustness tests with dynamic index on vector
 * Tests for VK_EXT_pipeline_library_group_handles
 * Add tests for implicit sample shading enablement
 * Test EDS3 feature interactions
 * Modify the max_vertex tests to have room for all attributes
 * Share shader code in vertex_input tests
 * Test some EDS3 line rasterization parameters with mesh shaders
 * Simplify shader declaration in descriptor_indexing.*
 * Test all dynamic color blend states simultaneously
 * Remove unused VKUTIL_LIBS
 * Add more tests for off-screen viewports
 * Run descriptor_indexing tests in more places
 * Add float16 vertex input tests
 * Test read-only depth/stencil attachment with VRS
 * Add Amber test for simple loop that results in infinite loop on some GPUs
 * Update json parsing from latest spec repo
 * Add depth tests running on local heap with host visible memtype
 * Add coverage of copies from compressed mipmap textures
 * Expand cull distance test coverage
 * Add tests for VK_KHR_map_memory2
 * Tests for surface/swapchain maintenance1
 * Acceleration structure updates
 * VK_EXT_image_sliced_view_of_3d test improvements
 * Remove not needed else statement and commented code from subgroups tests code
 * Make dynamic primitive restart test more reliable
 * Add wait-after-signal tests for timeline semaphores
 * Test multiviewport with fragment density map
 * Compare primitives_generated and transform_feedback(written)
 * Add tests for manual derivatives with subgroups
 * Test vkGetDeviceProcAddr with device that has no extensions enabled
 * Test dynamic blend equation with dual source blending
 * Test vkCmdDrawIndirect*Count* with multiview

 * Fix upper Lod bound in image lod query tests
 * Fix rasterization tests with discardEnable
 * Add missing check for device coherent memory in mapping tests
 * Fix VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07267 validation error.
 * Fix allocation for unknown memory purpose.
 * Fix creating feedback tests with graphics libraries
 * Allow +/-0.0 for another OpQuantizeF16 test
 * Fix memory corruption during validation for decode.h264_interleaving
 * Fix OpConstantComposite mismatched types
 * Fix to handle LUNARG
 * Write gl_PointSize in fractional_spacing tests when required
 * Memory requirements for multiplanar formats, resolve null VkImage
 * Add missing check for inheritedConditionalRendering
 * Fix hit shader binding table buffer size in ray tracing pipeline tests
 * Fix errors in buffer_marker tests
 * Fix VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07163 validation error
 * Initialize VkFramebufferMixedSamplesCombinationsNV in eds tests
 * Fix VUID-VkVideoSessionCreateInfoKHR-maxActiveReferencePictures-04849
 * Fix descriptor indexing result verification
 * Fix texture tests with unnormalized coordinates
 * Fix Float16 comparison bug in spirv_assembly tests
 * Verify external FD is valid before retrieving it
 * Fix VK_EXT_global_priority tests
 * Simplify failure message
 * Set basePipelineIndex to zero for VulkanSC
 * Add missing OpExecutionMode Invocations in spirv tests
 * Initialize VkSparseImageMemoryRequirements2 struct in memory tests
 * Use the correct SPIR-V capabilities in mesh shader smoke tests
 * Add missing flags in rasterization_order_attachment_access tests
 * Add missing check for disjoint format in memory requirements tests
 * Use the correct SPIR-V capabilities for viewport index in fsr tests
 * Revert "Fix VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07267 validation error."
 * Add missing check in eds tests
 * Fix for VK_EXT_device_memory_report tests
 * Add missing ds attachment bit in depth_stencil_descriptor tests
 * Fix drmFd for negative display tests
 * Fix attachment feedback loop layout tests with unnormalized coordinates
 * Fix dispatching to custom device
 * Remove invalid new linked pipeline test with null layout
 * Add missing check for format feature color attachment blend bit
 * Add device creation and destruction to device address binding recording scope
 * Enable graphicsPipelineLibrary feature when libraries are used
 * Fix of build error on Fedora 37 and g++-12.2.1
 * Use the correct SPIR-V capabilities for viewport index in draw tests
 * Fix maxVertexOutputComponents check in transform_feedback fuzz tests
 * Invalid usage of framebuffer layers in Vulkan SC.
 * Fix memory alignment in buffer_marker tests
 * Add image barriers to line_continuity test
 * Fix invalidating memory in external_memory_host tests
 * Fix VkRectLayerKHR in incremental_present tests
 * Fix pipeline barrier in incremental_present tests
 * Write gl_PointSize in tessellation shader when required
 * Add missing barriers to host read accesses in robustness tests
 * Prepare tests for SPIRV update
 * Fix invalid usage in VulkanSC device_object_reservation tests
 * Remove invalid robustness index_access tests
 * Fix VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07149 validation error.
 * Fix color attachment mismatch in pipeline overwrite tests
 * Fix buffer size in mesh shader indirect count tests
 * Fix attachment_rate synchronization issues
 * Fix api invariance test using pvrtc formats

 * Vulkan video 1.3.244 patch
 * Avoid killing program when --help is used
 * Update glslang, SPIR-V tools and headers
 * Put local 'scripts' directory at the start of os.path
 * Update README
 * Treat VulkanSC faults as test failures
 * Fix mantissa shift converting float64 to float16
 * Fix VK/VK-SC generated file inclusion
 * Add vulkan_sci.h header for VKSC and update Json parsing files
 * for cygwin and mingw
 * Hide warnings about Wayland module defining packages that don't match the module name
 * Update scripts for vk.xml changes
 * Take ownership of H.26{4,5} slice offsets in decode API.
 * Update generated Vulkan SC files to 1.0.12 release
 * Try to inform the compiler when dynamically changing the rounding mode.
 * Unify device creation extension list for custom devices
 * Add total runtime instrumentation
 * Rename 'sanity check' for more inclusive language
 * Generate inl files for vulkansc from vk.xml
 * Show dEQP version even if building from git
 * Use DE_DECLARE_COMMAND_LINE_OPT() macro instead of open-coding it
 * remove TLS WAR as it is no longer needed
 * Update vulkan_sc_core.h header to 1.0.11
 * vulkan-video: use ESExtractor
Fix build on windows

Components: Framework

VK-GL-CTS issue: 4477

Change-Id: I423fcebc14d30bd7b2e448abecbcbbbd652ad01e
1 file changed
tree: 24e79ea17f39d30eac58010b265b3c34b162efb7
  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 Khronos Conformance Testing Suite called VK-GL-CTS which originated from dEQP (drawElements Quality Program). VK-GL-CTS contains tests for several graphics APIs, including OpenGL, OpenGL ES, EGL, Vulkan, and Vulkan SC.


Up-to-date documentation for VK-GL-CTS 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/