#include "tests/test_utils/ShaderExtensionTest.h"
namespace
{
class EXTYUVTargetTest : public sh::ShaderExtensionTest
{ … };
const char EXTYTPragma[] = …;
const char ESSL300_SimpleShader[] = …;
const char ESSL300_FragColorShader[] = …;
const char ESSL300_textureSwizzleFragColorShader[] = …;
const char ESSL300_YUVQualifierMultipleTimesShader[] = …;
const char ESSL300_YUVQualifierFailureShader1[] = …;
const char ESSL300_YUVQualifierFailureShader2[] = …;
const char ESSL300_LocationAndYUVFailureShader[] = …;
const char ESSL300_MultipleColorAndYUVOutputsFailureShader1[] = …;
const char ESSL300_MultipleColorAndYUVOutputsFailureShader2[] = …;
const char ESSL300_DepthAndYUVOutputsFailureShader[] = …;
const char ESSL300_MultipleYUVOutputsFailureShader[] = …;
const char ESSL300_YuvCscStandardEXTShader[] = …;
const char ESSL300_YuvCscStandardEXTConstructFailureShader1[] = …;
const char ESSL300_YuvCscStandardEXTConstructFailureShader2[] = …;
const char ESSL300_YuvCscStandardEXTConversionFailureShader1[] = …;
const char ESSL300_YuvCscStandardEXTConversionFailureShader2[] = …;
const char ESSL300_YuvCscStandardEXTConversionFailureShader3[] = …;
const char ESSL300_YuvCscStandardEXTConversionFailureShader4[] = …;
const char ESSL300_YuvCscStandardEXTConversionFailureShader5[] = …;
const char ESSL300_YuvCscStandardEXTQualifiersFailureShader1[] = …;
const char ESSL300_YuvCscStandardEXTQualifiersFailureShader2[] = …;
const char ESSL300_YuvCscStandardEXTQualifiersFailureShader3[] = …;
const char ESSL300_BuiltInFunctionsShader[] = …;
const char ESSL300_BuiltInFunctionsNested1Shader[] = …;
const char ESSL300_BuiltInFunctionsNested2Shader[] = …;
const char ESSL300_BuiltInFunctionsNested3Shader[] = …;
const char ESSL300_BuiltInFunctionsNested4Shader[] = …;
const char ESSL300_BuiltInFunctionsPrecisionShader[] = …;
const char ESSL300_OverloadRgb2Yuv[] = …;
const char ESSL300_OverloadYuv2Rgb[] = …;
TEST_P(EXTYUVTargetTest, CompileFailsWithoutExtension)
{ … }
TEST_P(EXTYUVTargetTest, CompileFailsWithExtensionWithoutPragma)
{ … }
TEST_P(EXTYUVTargetTest, CompileSucceedsWithExtensionAndPragma)
{ … }
INSTANTIATE_TEST_SUITE_P(…);
class EXTYUVTargetCompileSuccessTest : public EXTYUVTargetTest
{ … };
TEST_P(EXTYUVTargetCompileSuccessTest, CompileSucceeds)
{ … }
#ifdef ANGLE_ENABLE_VULKAN
TEST_P(EXTYUVTargetCompileSuccessTest, CompileSucceedsWithExtensionAndPragmaOnVulkan)
{ … }
#endif
INSTANTIATE_TEST_SUITE_P(…);
class EXTYUVTargetCompileFailureTest : public EXTYUVTargetTest
{ … };
TEST_P(EXTYUVTargetCompileFailureTest, CompileFails)
{ … }
INSTANTIATE_TEST_SUITE_P(…);
class EXTYUVNotEnabledTest : public EXTYUVTargetTest
{ … };
TEST_P(EXTYUVNotEnabledTest, CanOverloadConversions)
{ … }
INSTANTIATE_TEST_SUITE_P(…);
}