chromium/third_party/angle/src/tests/compiler_tests/ExtensionDirective_test.cpp

//
// Copyright 2017 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.
//
// ExtensionDirective_test.cpp:
//   Miscellaneous tests for extension directives toggling functionality correctly.
//

#include "GLSLANG/ShaderLang.h"
#include "angle_gl.h"
#include "compiler/translator/ExtensionBehavior.h"
#include "gtest/gtest.h"
#include "tests/test_utils/ShaderCompileTreeTest.h"

usingnamespacesh;

class FragmentShaderExtensionDirectiveTest : public ShaderCompileTreeTest
{};

class OESEGLImageExternalExtensionTest : public FragmentShaderExtensionDirectiveTest
{};

// OES_EGL_image_external needs to be enabled in GLSL to be able to use samplerExternalOES.
TEST_F(OESEGLImageExternalExtensionTest, SamplerExternalOESUsageNeedsExtensionDirective)
{}

class NVEGLStreamConsumerExternalExtensionTest : public FragmentShaderExtensionDirectiveTest
{};

// NV_EGL_stream_consumer_external needs to be enabled in GLSL to be able to use samplerExternalOES.
TEST_F(NVEGLStreamConsumerExternalExtensionTest, SamplerExternalOESUsageNeedsExtensionDirective)
{}

class EXTYUVTargetExtensionTest : public FragmentShaderExtensionDirectiveTest
{};

// GL_EXT_YUV_target needs to be enabled in GLSL to be able to use samplerExternal2DY2YEXT.
TEST_F(EXTYUVTargetExtensionTest, SamplerExternal2DY2YEXTUsageNeedsExtensionDirective)
{}

// GL_EXT_YUV_target needs to be enabled in GLSL to be able to use samplerExternal2DY2YEXT.
TEST_F(EXTYUVTargetExtensionTest, YUVLayoutNeedsExtensionDirective)
{}