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

//
// 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.
//
// TypeTracking_test.cpp:
//   Test for tracking types resulting from math operations, including their
//   precision.
//

#include "GLSLANG/ShaderLang.h"
#include "angle_gl.h"
#include "compiler/translator/glsl/TranslatorESSL.h"
#include "gtest/gtest.h"

usingnamespacesh;

class TypeTrackingTest : public testing::Test
{};

TEST_F(TypeTrackingTest, FunctionPrototype)
{}

TEST_F(TypeTrackingTest, BuiltInFunctionResultPrecision)
{}

TEST_F(TypeTrackingTest, BinaryMathResultPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInVecFunctionResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInMatFunctionResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInFunctionChoosesHigherPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInBoolFunctionResultType)
{}

TEST_F(TypeTrackingTest, BuiltInVecToBoolFunctionResultType)
{}

TEST_F(TypeTrackingTest, Texture2DResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, TextureCubeResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, TextureSizeResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInConstructorResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, StructConstructorResultNoPrecision)
{}

TEST_F(TypeTrackingTest, PackResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, UnpackNormResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, UnpackHalfResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInAbsSignFunctionFloatResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInAbsSignFunctionIntResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInFloatBitsToIntResultTypeAndPrecision)
{}

TEST_F(TypeTrackingTest, BuiltInIntBitsToFloatResultTypeAndPrecision)
{}

// Test that bitfieldExtract returns a precision consistent with its "value" parameter.
TEST_F(TypeTrackingTest, BuiltInBitfieldExtractResultTypeAndPrecision)
{}

// Test that signed bitfieldInsert returns a precision consistent with its "base/insert" parameters.
TEST_F(TypeTrackingTest, BuiltInBitfieldInsertResultTypeAndPrecision)
{}

// Test that signed bitfieldInsert returns a precision consistent with its "base/insert" parameters.
// Another variation on parameter precisions.
TEST_F(TypeTrackingTest, BuiltInBitfieldInsertResultTypeAndPrecision2)
{}

// Test that bitfieldReverse always results in highp precision.
TEST_F(TypeTrackingTest, BuiltInBitfieldReversePrecision)
{}

// Test that bitCount always results in lowp precision integer.
TEST_F(TypeTrackingTest, BuiltInBitCountTypeAndPrecision)
{}

// Test that findLSB always results in a lowp precision integer.
TEST_F(TypeTrackingTest, BuiltInFindLSBTypeAndPrecision)
{}

// Test that findMSB always results in a lowp precision integer.
TEST_F(TypeTrackingTest, BuiltInFindMSBTypeAndPrecision)
{}

// Test that uaddCarry always results in highp precision.
TEST_F(TypeTrackingTest, BuiltInUaddCarryPrecision)
{}

// Test that usubBorrow always results in highp precision.
TEST_F(TypeTrackingTest, BuiltInUsubBorrowPrecision)
{}