Edit

kc3-lang/angle/src/tests/angle_unittests.gni

Branch :

  • Show log

    Commit

  • Author : Shahbaz Youssefi
    Date : 2019-12-16 16:07:04
    Hash : 86d9c93a
    Message : Use TSpan for TType's array sizes Until C++20, std::vector doesn't have a constexpr constructor, which means TType cannot use a `TVector` for `mArraySizes` if an arrayed type needs to be created constexpr. This is needed for the upcoming textureGatherOffsets implementation. A new TSpan class is introduced, based on std::span (from C++20) that holds the pointer/size allocated from a TVector without owning it. Since TVector's allocation are made from a pool, the allocated memory will live beyond the vector's destruction. `TType::mArraySizes` is changed to this type. This change will allow a new constexpr constructor to be added to TType that takes a TSpan as array directly, a value which is constexpr initialized from a static array (instead of TVector). Bug: angleproject:3569 Change-Id: I78793b0f4c64519e0ebe30cf6e0de995ba70035d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968260 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

  • src/tests/angle_unittests.gni
  • # Copyright 2015 The ANGLE Project Authors. All rights reserved.
    # Use of this source code is governed by a BSD-style license that can be
    # found in the LICENSE file.
    
    angle_unittests_sources = [
      "../common/FastVector_unittest.cpp",
      "../common/FixedVector_unittest.cpp",
      "../common/PoolAlloc_unittest.cpp",
      "../common/Optional_unittest.cpp",
      "../common/aligned_memory_unittest.cpp",
      "../common/angleutils_unittest.cpp",
      "../common/bitset_utils_unittest.cpp",
      "../common/hash_utils_unittest.cpp",
      "../common/mathutil_unittest.cpp",
      "../common/matrix_utils_unittest.cpp",
      "../common/string_utils_unittest.cpp",
      "../common/system_utils_unittest.cpp",
      "../common/utilities_unittest.cpp",
      "../common/vector_utils_unittest.cpp",
      "../feature_support_util/feature_support_util_unittest.cpp",
      "../gpu_info_util/SystemInfo_unittest.cpp",
      "../libANGLE/BinaryStream_unittest.cpp",
      "../libANGLE/BlobCache_unittest.cpp",
      "../libANGLE/Config_unittest.cpp",
      "../libANGLE/Fence_unittest.cpp",
      "../libANGLE/HandleAllocator_unittest.cpp",
      "../libANGLE/HandleRangeAllocator_unittest.cpp",
      "../libANGLE/Image_unittest.cpp",
      "../libANGLE/ImageIndexIterator_unittest.cpp",
      "../libANGLE/Observer_unittest.cpp",
      "../libANGLE/Program_unittest.cpp",
      "../libANGLE/ResourceManager_unittest.cpp",
      "../libANGLE/ResourceMap_unittest.cpp",
      "../libANGLE/SizedMRUCache_unittest.cpp",
      "../libANGLE/Surface_unittest.cpp",
      "../libANGLE/TransformFeedback_unittest.cpp",
      "../libANGLE/VaryingPacking_unittest.cpp",
      "../libANGLE/VertexArray_unittest.cpp",
      "../libANGLE/WorkerThread_unittest.cpp",
      "../libANGLE/renderer/BufferImpl_mock.h",
      "../libANGLE/renderer/FramebufferImpl_mock.h",
      "../libANGLE/renderer/ProgramImpl_mock.h",
      "../libANGLE/renderer/RenderbufferImpl_mock.h",
      "../libANGLE/renderer/ImageImpl_mock.h",
      "../libANGLE/renderer/TextureImpl_mock.h",
      "../libANGLE/renderer/TransformFeedbackImpl_mock.h",
      "../libANGLE/renderer/serial_utils_unittest.cpp",
      "../compiler/translator/span_unittest.cpp",
      "angle_unittests_utils.h",
      "compiler_tests/API_test.cpp",
      "compiler_tests/AppendixALimitations_test.cpp",
      "compiler_tests/ARB_texture_rectangle_test.cpp",
      "compiler_tests/AtomicCounter_test.cpp",
      "compiler_tests/BufferVariables_test.cpp",
      "compiler_tests/CollectVariables_test.cpp",
      "compiler_tests/ConstantFolding_test.cpp",
      "compiler_tests/ConstantFoldingNaN_test.cpp",
      "compiler_tests/ConstantFoldingOverflow_test.cpp",
      "compiler_tests/ConstructCompiler_test.cpp",
      "compiler_tests/DebugShaderPrecision_test.cpp",
      "compiler_tests/EmulateGLBaseVertexBaseInstance_test.cpp",
      "compiler_tests/EmulateGLDrawID_test.cpp",
      "compiler_tests/EmulateGLFragColorBroadcast_test.cpp",
      "compiler_tests/ExpressionLimit_test.cpp",
      "compiler_tests/EXT_YUV_target_test.cpp",
      "compiler_tests/EXT_blend_func_extended_test.cpp",
      "compiler_tests/EXT_frag_depth_test.cpp",
      "compiler_tests/EXT_shader_texture_lod_test.cpp",
      "compiler_tests/ExtensionDirective_test.cpp",
      "compiler_tests/FloatLex_test.cpp",
      "compiler_tests/FragDepth_test.cpp",
      "compiler_tests/GLSLCompatibilityOutput_test.cpp",
      "compiler_tests/GlFragDataNotModified_test.cpp",
      "compiler_tests/GeometryShader_test.cpp",
      "compiler_tests/ImmutableString_test.cpp",
      "compiler_tests/InitOutputVariables_test.cpp",
      "compiler_tests/IntermNode_test.cpp",
      "compiler_tests/NV_draw_buffers_test.cpp",
      "compiler_tests/OES_standard_derivatives_test.cpp",
      "compiler_tests/Pack_Unpack_test.cpp",
      "compiler_tests/PruneEmptyCases_test.cpp",
      "compiler_tests/PruneEmptyDeclarations_test.cpp",
      "compiler_tests/PrunePureLiteralStatements_test.cpp",
      "compiler_tests/PruneUnusedFunctions_test.cpp",
      "compiler_tests/QualificationOrderESSL31_test.cpp",
      "compiler_tests/QualificationOrder_test.cpp",
      "compiler_tests/RecordConstantPrecision_test.cpp",
      "compiler_tests/RegenerateStructNames_test.cpp",
      "compiler_tests/RemovePow_test.cpp",
      "compiler_tests/RemoveUnreferencedVariables_test.cpp",
      "compiler_tests/RewriteDoWhile_test.cpp",
      "compiler_tests/SamplerMultisample_test.cpp",
      "compiler_tests/SamplerVideoWEBGL_test.cpp",
      "compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp",
      "compiler_tests/ShaderImage_test.cpp",
      "compiler_tests/ShaderValidation_test.cpp",
      "compiler_tests/ShaderVariable_test.cpp",
      "compiler_tests/ShCompile_test.cpp",
      "compiler_tests/TextureFunction_test.cpp",
      "compiler_tests/Type_test.cpp",
      "compiler_tests/TypeTracking_test.cpp",
      "compiler_tests/UnfoldShortCircuitAST_test.cpp",
      "compiler_tests/VariablePacker_test.cpp",
      "compiler_tests/VectorizeVectorScalarArithmetic_test.cpp",
      "compiler_tests/OVR_multiview_test.cpp",
      "compiler_tests/OVR_multiview2_test.cpp",
      "compiler_tests/WorkGroupSize_test.cpp",
      "test_expectations/GPUTestExpectationsParser_unittest.cpp",
      "preprocessor_tests/char_test.cpp",
      "preprocessor_tests/comment_test.cpp",
      "preprocessor_tests/define_test.cpp",
      "preprocessor_tests/error_test.cpp",
      "preprocessor_tests/extension_test.cpp",
      "preprocessor_tests/identifier_test.cpp",
      "preprocessor_tests/if_test.cpp",
      "preprocessor_tests/input_test.cpp",
      "preprocessor_tests/location_test.cpp",
      "preprocessor_tests/MockDiagnostics.h",
      "preprocessor_tests/MockDirectiveHandler.h",
      "preprocessor_tests/number_test.cpp",
      "preprocessor_tests/operator_test.cpp",
      "preprocessor_tests/pragma_test.cpp",
      "preprocessor_tests/PreprocessorTest.cpp",
      "preprocessor_tests/PreprocessorTest.h",
      "preprocessor_tests/space_test.cpp",
      "preprocessor_tests/token_test.cpp",
      "preprocessor_tests/version_test.cpp",
      "test_utils/angle_test_instantiate.h",
      "test_utils/compiler_test.cpp",
      "test_utils/compiler_test.h",
      "test_utils/ConstantFoldingTest.h",
      "test_utils/ConstantFoldingTest.cpp",
      "test_utils/ShaderCompileTreeTest.h",
      "test_utils/ShaderCompileTreeTest.cpp",
      "test_utils/ShaderExtensionTest.h",
      "../../util/test_utils_unittest.cpp",
      "../../util/test_utils_unittest_helper.h",
    ]
    
    # TODO(jmadill): should probably call this windows sources
    angle_unittests_hlsl_sources = [
      "../tests/compiler_tests/HLSLOutput_test.cpp",
      "../tests/compiler_tests/UnrollFlatten_test.cpp",
    ]
    
    if (is_android) {
      angle_unittests_sources +=
          [ "../tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp" ]
    } else {
      angle_unittests_sources +=
          [ "../tests/compiler_tests/ImmutableString_test_autogen.cpp" ]
    }
    
    if (!is_android && !is_fuchsia) {
      angle_unittests_sources +=
          [ "../tests/test_utils/runner/TestSuite_unittest.cpp" ]
    }