Vulkan CTS 1.3.2.0

New Tests:
 * Test message passing using permuted indices
 * Add a GraphicsFuzz coverage test
 * Run dynamic_state tests for pipeline library
 * Improve AHB image_formats subtest log output
 * Test primitive ID is not affected by culling
 * Extend FSR multiview tests
 * Add tests for VK_EXT_image_view_min_lod extension
 * Extend conditional rendering tests to use buffer with device local memory
 * Test dynamic descriptors with different stage visibility
 * Add 8-bit blend_operation_advanced tests
 * Added vkCmdCopyQueryPoolResults() tests with count==1 and stride=0
 * Run FSR tests for pipeline library
 * Basic tests for VK_KHR_graphics_pipeline_library
 * Add tests for zero initialize workgroup memory
 * vulkan: KHR_format_feature_flags2 modifier coverage
 * dEQP-VK.pipeline.graphics_library
 * Add miscellaneous tests for pipeline library
 * Add imageStore tests that write constant values
 * Check dynamic viewports with depth clip control
 * Move draw buffers indexed tests from ES3.1 to ES3 group
 * Support VK_KHR_portability_enumeration
 * Rewrite portability check for Amber tests
 * vulkan: Templatize the DRM format modifier tests
 * Fix feature checks in rasterization order attachment tests
 * Add coverage for transition between compute and indirect draw
 * Rework platform memory limits
 * Enable EGL AHB tests
 * Added tests to check vkGetPhysicalDeviceImageFormatProperties with VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
 * Add a batch of GraphicsFuzz coverage tests
 * Test EarlyFragmentTests effect on color output and sample counting
 * Enable VK_KHR_pipeline_library in default device
 * Test pSetLayouts in graphics_pipeline_library
 * Actually test compatible depth/stencil attachment formats
 * modifiers: Use dedicated memory consistently
 * Rename VK_KHR_graphics_pipeline_library to EXT
 * Rename mustpass master branch to main
 * Verify Depth/Stencil Write conditions
 * Add tests for VK_EXT_primitives_generated_query
 * Add VK_EXT_graphics_pipeline_library to extensions_data.txt
 * Improve coverage of MSAA copies
 * Add a check that drmFormatModifierTilingFeatures has at least one bit set
 * Add more power of two checks
 * Add tests for surfaceless queries
 * Add depth and stencil multisample copy tests
 * Test more depth/stencil formats in load_store_op_none tests
 * Add tests to verify compressed texture downloads to non-zero mip levels
 * Merge master to graphics_pipeline_library branch
 * Add coverage for depth bias with polygon topologies and fill modes
 * Don't filter out some VK_NV extensions used in tests
 * Test SRGB formats with UNIFORM_TEXEL_BUFFERs
 * Handle VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags
 * Test constant and dynamically uniform subgroup shuffle deltas
 * Add dynamic state to instancing tests
 * Add color output check to early fragment sample count tests
 * Use common code for robustness2 tests
 * Create custom device when testing VK_NV_shading_rate_image
 * Handle cases added with merge from master
 * Resolve multisample image tests with renderArea < attachment size
 * Run pipeline tests for pipeline library
 * OpPtrEqual OpPtrNotEqual for non-variable pointers

Fixes:
 * Add check for ES compatibility extensions with Desktop OpenGL
 * Fix OpenGL implicit conversions tests
 * Fix extension promotions
 * Fix arguments for image test reference generation
 * Fix MSVC C++17 build
 * Add queue ownership release in modifier tests
 * Check for visibility in external_memory_host test
 * Avoid using unsupported rasterization order feature struct
 * Limit number of storage buffers in divide by zero compute test
 * Wait for idle queue after submitting an empty job
 * Fix GLES CTS mustpass files moved after GPL merge
 * Avoid division by zero in calculateThreshold
 * fix GL46 vector construction sizing
 * Fix build issues with older NDKs
 * Fix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subgroups
 * Fix memory leaks when creating test hierarchy
 * Improve and fix quad randomization in vertex array test
 * Fixed non zero mip compressed texture tests failure
 * Make texel conversion ignore unused channels
 * Avoid logging to stdout in buffer mem requirements tests
 * Parse test case result version when converting to XML
 * Use associated physical device from custom instance
 * Do not query unsupported structures
 * Fix GCC 11 misleading indentation warning
 * PGQ bug fixes
 * Use the correct attachment parameter when not the default FBO
 * Fix signed integer overflow in shader precision tests
 * Fix fragment_shader_interlock vs fragment_shading_rate tests
 * Remove a wrong qualityWarning for fbo completeness test
 * Fix DeqpTestRunnerTest
 * Fix dEQP-VK.image.sample_texture.* tests write out-of-bounds bug
 * Use getDevice() instead of m_logicalDevice.get() so it works in both paths
 * Fix link time optimization tests
 * Regenerate main/gl45-master.txt
 * Increase tolerance in fp64 mat3determinant compute
 * Fix subgroup size control failure logging
 * Assert that isnan and isinf cases cover intended classes
 * Improve max image samples check in KHR-GL46.multi_bind test
 * Use queues and entrypoints from custom device
 * Reduce framebuffer size on some graphicsfuzz tests
 * Fix freeing custom device in dynamic state tests
 * Fix lossy layout transitions in modifier tests
 * Fix waived tests being able to crash suite
 * Restore the default pipeline layout creation flag
 * Fix accidentally removed extension
 * fix invalid buffer bind size in KHR-GL46.sparse_buffer_tests.BufferStorageTest
 * Fixes Conditional Rendering local memory tests
 * Fix warnings with clang and GCC
 * Wait for deferred operations before obtaining RT pipeline handle
 * Reduce advertised sys mem on 32 bit Android
 * Use proper image tiling in synchronization test support checks
 * Fix incorrect layout transition in modifier tests
 * gl4cMapBufferAlignmentTests: ensure that the GL_ARB_buffer_storage extension is present
 * Fix acceleration structure vertex and index flushes
 * Fix signed integer overflow in shader operator tests
 * Remove unused variables from occlusion query tests
 * Remove EnableBlendCase from ES 3.1
 * Fix ARB_sparse_texture commit tests texture allocation
 * Fix compilation issues with ShaderLibraryCase assert
 * Check extension support before using its image extended usage bit
 * Fixes pipeline library merge
 * Keep track which SBT records are needed and initialize all needed ones
 * Fix extension data for EXT_texel_buffer_alignment
 * Fix negative shift in bitfieldExtract tests
 * Fix one more missed extension promotion
 * Update known conformance version for 1.3.1.1
 * Query default FBO Depth, Stencil only when format requires
 * Fix Zlib depedency
 * Limit dimensionality of arrays-of-arrays in random SSBO tests
 * Increase tolerance in mat3 determinant compute test
 * Modify pipeline library tests to always specify the layout
 * Check for graphics pipeline library support in FSR tests
 * Fix bad merge affecting create_device_unsupported_features test
 * Fix rounding issues with texture generation shader
 * Fix 32-bit compilation warning
 * GCC 11 build fixes for opengl-es-cts-3.2.7 branch
 * Synchronize input attachment reads in IO chains
 * Fix division by zero errors

Improvements:
 * Update KC-CTS for MR40
 * Simplify isDeviceFunctionalitySupported
 * Update Android CTS files for 2022
 * Add more video exclusions to gen_framework.py
 * Update README.md files, replacing old link
 * Rework extensions_data and mandatory_features
 * Update docs to use python3 executable where required
 * Add support for building with Visual Studio 2022
 * Switch the branch to the main mustpass
 * Notice of withdrawal of Vulkan CTS 1.2.5.x
 * Remove duplicate makeComputePipeline definitions
 * Update known conformance version for 1.3.2.0
 * Reduce and amortize memory allocations in RT utilities
 * Update KC CTS
 * framework: unify TestPackage behaviour between ES 3.1 and 3.2
 * Update vulkan-docs version
 * Use standard type definitions on all platforms
 * Add missing formats to mapTextureFormat
Support VK_KHR_portability_enumeration

The portability enumeration extension needs to be enabled if it is
present to allow for CTS to enumerate portability devices.

This commit refactors createDefaultInstance so that it only enumerates
the available instance extensions once instead of twice.

It fixees #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df
1 file changed
tree: 5005a8303b4b9b4d1b246c63632ae7ea01aa411d
  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
  15. Android.mk
  16. AndroidGen.mk
  17. CMakeLists.txt
  18. CODE_OF_CONDUCT.md
  19. LICENSE
  20. MODULE_LICENSE_APACHE2
  21. NOTICE
  22. OWNERS
  23. README.md
README.md

dEQP README

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.

Documentation

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*_angle.so .

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/build_apk.py --sdk <path to Android SDK> --ndk <path to Android NDK> --abis arm64-v8a --angle-path ~/chromium/src/out/Release/