# Copyright 2014 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_end2end_tests_sources = [
  "gl_tests/AtomicCounterBufferTest.cpp",
  "gl_tests/AttributeLayoutTest.cpp",
  "gl_tests/BindGeneratesResourceTest.cpp",
  "gl_tests/BindUniformLocationTest.cpp",
  "gl_tests/BlendFuncExtendedTest.cpp",
  "gl_tests/BlendMinMaxTest.cpp",
  "gl_tests/BlitFramebufferANGLETest.cpp",
  "gl_tests/BPTCCompressedTextureTest.cpp",
  "gl_tests/BufferDataTest.cpp",
  "gl_tests/BuiltinVariableTest.cpp",
  "gl_tests/ClearTest.cpp",
  "gl_tests/ClientArraysTest.cpp",
  "gl_tests/ColorMaskTest.cpp",
  "gl_tests/ComputeShaderTest.cpp",
  "gl_tests/ContextLostTest.cpp",
  "gl_tests/CopyCompressedTextureTest.cpp",
  "gl_tests/CopyTexImageTest.cpp",
  "gl_tests/CopyTextureTest.cpp",
  "gl_tests/CopyTexture3DTest.cpp",
  "gl_tests/CubeMapTextureTest.cpp",
  "gl_tests/DebugMarkerTest.cpp",
  "gl_tests/DebugTest.cpp",
  "gl_tests/DepthStencilFormatsTest.cpp",
  "gl_tests/DepthStencilTest.cpp",
  "gl_tests/DifferentStencilMasksTest.cpp",
  "gl_tests/DiscardFramebufferEXTTest.cpp",
  "gl_tests/DrawBaseVertexBaseInstanceTest.cpp",
  "gl_tests/DrawBuffersTest.cpp",
  "gl_tests/DrawElementsTest.cpp",
  "gl_tests/DXT1CompressedTextureTest.cpp",
  "gl_tests/DXTSRGBCompressedTextureTest.cpp",
  "gl_tests/ETCTextureTest.cpp",
  "gl_tests/ExplicitContextTest.cpp",
  "gl_tests/FenceSyncTests.cpp",
  "gl_tests/FloatingPointSurfaceTest.cpp",
  "gl_tests/FramebufferMixedSamplesTest.cpp",
  "gl_tests/FramebufferMultiviewTest.cpp",
  "gl_tests/FramebufferRenderMipmapTest.cpp",
  "gl_tests/FramebufferTest.cpp",
  "gl_tests/GeometryShaderTest.cpp",
  "gl_tests/GetImageTest.cpp",
  "gl_tests/gles1/AlphaFuncTest.cpp",
  "gl_tests/gles1/BasicDrawTest.cpp",
  "gl_tests/gles1/ClientActiveTextureTest.cpp",
  "gl_tests/gles1/ClientStateEnable.cpp",
  "gl_tests/gles1/ClipPlaneTest.cpp",
  "gl_tests/gles1/CurrentColorTest.cpp",
  "gl_tests/gles1/CurrentNormalTest.cpp",
  "gl_tests/gles1/CurrentTextureCoordsTest.cpp",
  "gl_tests/gles1/DrawTextureTest.cpp",
  "gl_tests/gles1/FogTest.cpp",
  "gl_tests/gles1/MaterialsTest.cpp",
  "gl_tests/gles1/MatrixBuiltinsTest.cpp",
  "gl_tests/gles1/MatrixLoadTest.cpp",
  "gl_tests/gles1/MatrixModeTest.cpp",
  "gl_tests/gles1/MatrixMultTest.cpp",
  "gl_tests/gles1/MatrixStackTest.cpp",
  "gl_tests/gles1/LightsTest.cpp",
  "gl_tests/gles1/PointParameterTest.cpp",
  "gl_tests/gles1/PointSpriteTest.cpp",
  "gl_tests/gles1/ShadeModelTest.cpp",
  "gl_tests/gles1/TextureEnvTest.cpp",
  "gl_tests/gles1/TextureParameterTest.cpp",
  "gl_tests/gles1/TextureTargetEnableTest.cpp",
  "gl_tests/gles1/VertexPointerTest.cpp",
  "gl_tests/GLSLTest.cpp",
  "gl_tests/ImageTest.cpp",
  "gl_tests/IncompleteTextureTest.cpp",
  "gl_tests/IndexBufferOffsetTest.cpp",
  "gl_tests/IndexedPointsTest.cpp",
  "gl_tests/InstancingTest.cpp",
  "gl_tests/LineLoopTest.cpp",
  "gl_tests/LinkAndRelinkTest.cpp",
  "gl_tests/MatrixTest.cpp",
  "gl_tests/MaxTextureSizeTest.cpp",
  "gl_tests/MemorySizeTest.cpp",
  "gl_tests/MemoryObjectTest.cpp",
  "gl_tests/MipmapTest.cpp",
  "gl_tests/MultiDrawTest.cpp",
  "gl_tests/MultisampleCompatibilityTest.cpp",
  "gl_tests/MultisampledRenderToTextureTest.cpp",
  "gl_tests/MultisampleTest.cpp",
  "gl_tests/MultithreadingTest.cpp",
  "gl_tests/MultiviewDrawTest.cpp",
  "gl_tests/media/pixel.inc",
  "gl_tests/PackUnpackTest.cpp",
  "gl_tests/PathRenderingTest.cpp",
  "gl_tests/PbufferTest.cpp",
  "gl_tests/PBOExtensionTest.cpp",
  "gl_tests/PointSpritesTest.cpp",
  "gl_tests/ProvokingVertexTest.cpp",
  "gl_tests/ObjectAllocationTest.cpp",
  "gl_tests/OcclusionQueriesTest.cpp",
  "gl_tests/ParallelShaderCompileTest.cpp",
  "gl_tests/ProgramBinaryTest.cpp",
  "gl_tests/ProgramInterfaceTest.cpp",
  "gl_tests/ProgramParameterTest.cpp",
  "gl_tests/ProgramPipelineTest.cpp",
  "gl_tests/ReadPixelsTest.cpp",
  "gl_tests/RenderbufferMultisampleTest.cpp",
  "gl_tests/RendererTest.cpp",
  "gl_tests/RequestExtensionTest.cpp",
  "gl_tests/RobustBufferAccessBehaviorTest.cpp",
  "gl_tests/RobustClientMemoryTest.cpp",
  "gl_tests/RobustResourceInitTest.cpp",
  "gl_tests/SamplersTest.cpp",
  "gl_tests/SemaphoreTest.cpp",
  "gl_tests/ShaderStorageBufferTest.cpp",
  "gl_tests/SimpleOperationTest.cpp",
  "gl_tests/SixteenBppTextureTest.cpp",
  "gl_tests/SRGBFramebufferTest.cpp",
  "gl_tests/SRGBTextureTest.cpp",
  "gl_tests/StateChangeTest.cpp",
  "gl_tests/SwizzleTest.cpp",
  "gl_tests/SyncQueriesTest.cpp",
  "gl_tests/TextureExternalUpdateTest.cpp",
  "gl_tests/TextureMultisampleTest.cpp",
  "gl_tests/TextureRectangleTest.cpp",
  "gl_tests/TextureTest.cpp",
  "gl_tests/TextureUploadFormatTest.cpp",
  "gl_tests/TimerQueriesTest.cpp",
  "gl_tests/TransformFeedbackTest.cpp",
  "gl_tests/UniformBufferTest.cpp",
  "gl_tests/UniformTest.cpp",
  "gl_tests/UnpackAlignmentTest.cpp",
  "gl_tests/UnpackRowLength.cpp",
  "gl_tests/VertexAttributeTest.cpp",
  "gl_tests/ViewportTest.cpp",
  "gl_tests/WebGLCompatibilityTest.cpp",
  "gl_tests/WebGLFramebufferTest.cpp",
  "gl_tests/WebGLReadOutsideFramebufferTest.cpp",
  "gl_tests/WEBGLVideoTextureTest.cpp",
  "egl_tests/EGLAndroidFrameBufferTargetTest.cpp",
  "egl_tests/EGLBackwardsCompatibleContextTest.cpp",
  "egl_tests/EGLBlobCacheTest.cpp",
  "egl_tests/EGLChooseConfigTest.cpp",
  "egl_tests/EGLContextCompatibilityTest.cpp",
  "egl_tests/EGLContextSharingTest.cpp",
  "egl_tests/EGLCreateContextAttribsTest.cpp",
  "egl_tests/EGLDebugTest.cpp",
  "egl_tests/EGLNoConfigContextTest.cpp",
  "egl_tests/EGLPrintEGLinfoTest.cpp",
  "egl_tests/EGLProgramCacheControlTest.cpp",
  "egl_tests/EGLQueryContextTest.cpp",
  "egl_tests/EGLRecordableTest.cpp",
  "egl_tests/EGLRobustnessTest.cpp",
  "egl_tests/EGLSanityCheckTest.cpp",
  "egl_tests/EGLSurfacelessContextTest.cpp",
  "egl_tests/EGLSurfaceTest.cpp",
  "egl_tests/EGLSyncTest.cpp",
  "test_expectations/GPUTestExpectationsTest.cpp",
  "test_utils/ANGLETest.cpp",
  "test_utils/ANGLETest.h",
  "test_utils/angle_test_platform.cpp",
  "test_utils/angle_test_platform.h",
  "test_utils/MultiviewTest.cpp",
  "test_utils/MultiviewTest.h",
  "test_utils/angle_test_configs.cpp",
  "test_utils/angle_test_configs.h",
  "test_utils/angle_test_instantiate.cpp",
  "test_utils/angle_test_instantiate.h",
  "test_utils/gl_raii.h",
]
angle_end2end_tests_mac_sources = [
  "egl_tests/EGLDeviceCGLTest.cpp",
  "egl_tests/EGLIOSurfaceClientBufferTest.cpp",
  "test_utils/angle_test_instantiate_apple.mm",
  "test_utils/angle_test_instantiate_apple.h",
]
angle_end2end_tests_win_sources = [
  "gl_tests/D3DImageFormatConversionTest.cpp",
  "egl_tests/EGLDeviceTest.cpp",
  "egl_tests/EGLPresentPathD3D11Test.cpp",
  "egl_tests/EGLStreamTest.cpp",
  "egl_tests/EGLSyncControlTest.cpp",
  "egl_tests/media/yuvtest.inl",
]
angle_end2end_tests_x11_sources = [ "egl_tests/EGLX11VisualTest.cpp" ]
