OpenGL ES CTS 3.2.6.0

New tests:
 * gles2: Add tests for EXT_clip_control
 * CTS for EXT_texture_shadow_lod
 * Add support for GL_KHR_shader_subgroup
 * Add tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.
 * Add tests for EGL 1.5
 * Add const matrix multiply test
 * Add test for vec.swizzle *= matrix
 * Add some tests for redeclarations of builtins
 * Add GL test for invalid layouts function param
 * Add GL test for preprocessor stringification
 * Add wide color tests for RGB888 surfaces.

Fixes:
 * Prefer sized formats in internalformat tests
 * Remove tests that check non-zero values for reservedMustBeZero after GL 4.2
 * Allow lower precision reference to support mediump
 * Correct usage of the DEQP_SUPPORT_X11 macro with the cts-runner
 * Disable the 565 config requirement for X11
 * Use unsized internal format in KHR-GLES2.texture_3d.[copy_sub_image|framebuffer_texture].rgba8
 * Use GL_MAX_3D_TEXTURE_SIZE_OES when testing textures 3D
 * Replace imageAtomicAdd with imageAtomicExchange in vertex shader
 * Fix invalid parameter for GLES 2.0
 * Don't allocate a GL_TEXTURE_2D_ARRAY with full render target width/height
 * Fix command line parameters processing of TestLog
 * Use maximum conformant sample count configuration
 * Fix for windows heights that are not a multiple of 4
 * Differentiate shader storage blocks needed for VS and FS
 * Remove unessential non-ascii symbols from source
 * Fix compile errors for GL subgroups
 * gl4cComputeShaderTests: correct conversion
 * Remove "using namespace glu" from header
 * framework: propagate ResourceError exception from postIterate
 * GL_ARB_enhanced_layouts: mind double types
 * GL_ARB_enhanced_layouts: use separable programs
 * GL_ARB_enhanced_layouts: no structs as VS inputs
 * GL_ARB_enhanced_layouts: remove dead code
 * GL_ARB_enhanced_layouts: fix interstage interfaces
 * GL_ARB_enhanced_layouts: fix interstage interfaces
 * GL_ARB_enhanced_layouts: use centroid and sample
 * GL_ARB_enhanced_layouts: mind double types
 * GL_ARB_enhanced_layouts: mind double types
 * GL_ARB_enhanced_layouts: use component 0 for mat
 * GL_ARB_enhanced_layouts: mind double types
 * GL_ARB_enhanced_layouts: mind aliasing bit width
 * GL_ARB_enhanced_layouts: fix arrays in {G,TC,TE}S
 * GL_ARB_enhanced_layouts: no static use of inputs
 * GL_ARB_enhanced_layouts: add missing out varyings
 * GL_ARB_enhanced_layouts: correct usage of "flat"
 * GL_ARB_enhanced_layouts: no def in untested stage
 * Fix context creation in robust_buffer_access_behavior test
 * Create context with CONTEXT_ROBUST for robust buffer access tests
 * EGL 1.5 CreatePlatform*
 * Fix deleting texture in DSA test
 * Fix GL errors expected for glClearNamedBufferData and glClearNamedBufferSubData
 * glSpirvTests: fix transform feedback query
 * Fix ARB_gl_spirv multiple shader object test
 * Update SPIR-V compiler wrapper for OpenGL
 * Terminate EGL display after use
 * Use precompiled headers on MSVC
 * Reduce padding in shared memory tests
 * Use non-arrayed varying name for TCS blocks
 * Fix build warnings in SPIR-V tests
 * Scale texture sizes to fit within available memory
 * Fix malformed assets, use DE_FATAL
 * Fix invalid combinations for texture/copy on ES2 driver
 * Free framebuffer objects after use.
 * Do not expect TCS shader with XFB variables to fail linkging in GL
 * bufSize of glGetInternalformativ does not follow spec
 * Add cases for structs as inout and out parameters.
 * Fix invalid combinations for texture/copy on ES2 driver
 * Fix resource leaks in arrays_of_arrays
 * Don't used a fragment output in the shader storage buffer object test
 * Ensure that SPIR-V Headers are always present
 * TextureBarrier required for texture_view.coherency
 * Update GL/ES mustpasses
 * Interface mismatch in KHR-GL45.enhanced_layouts.xfb_block_stride
 * Format mismatch between bound texture and image layout specifier
 * Properly handle edge case in GL FP64 tests
 * Max compiler threads only specifies a suggestion
 * Remove undefined EGL test cases
 * Test does not clean up all references
 * Exclude texture_view.view_classes
 * Fix various GCC 8 Warnings
 * Sparse Texture tests not following spec
 * Skip BC/DXT formats in Texture3D tests
 * Wrong shaders in glcParallelShaderCompileTests.cpp
 * Fixed some visual studio warnings
 * Fixes wrong MIN_MAP_BUFFER_ALIGNMENT limit
 * This change fixes an issue in BindBufferOffsetEXT
 * Retarget cts-runner to the master mustpass
Prefer sized formats in internalformat tests

These tests create a static map of format/type pairs to reference
formats, and then don't update it in subsequent tests. This goes wrong
when the ES2 version of the tests run first and leave extension-only
unsized formats in the map in place of supported-by-ES3-core sized
formats. This change uses the sized format if the test is being run in
an ES3 context, even if the test itself is an ES2 test. This means that
the map will contain valid values if an ES3 test is subsequently run.

Also, change a few places to use the IsES3Compatible helper function
instead of reimplementing it every time.

Components: OpenGL ES
VK-GL-CTS issue: 1903
Affects: KHR-GLES*.core.internalformat.texture2d.*

Change-Id: Ia9a5248085dc8bdde1d459dd4245702e6e53d26e
7 files changed
tree: f41b547092ffe09b4942a6ad8b73d1b3b58f0b6f
  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
  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 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*_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/