Flutter Impeller
compiler_unittests.cc File Reference
#include <cstring>
#include "flutter/testing/testing.h"
#include "gtest/gtest.h"
#include "impeller/base/validation.h"
#include "impeller/compiler/compiler.h"
#include "impeller/compiler/compiler_test.h"
#include "impeller/compiler/source_options.h"
#include "impeller/compiler/types.h"

Go to the source code of this file.

Namespaces

 impeller
 
 impeller::compiler
 
 impeller::compiler::testing
 

Macros

#define INSTANTIATE_TARGET_PLATFORM_TEST_SUITE_P(suite_name)
 
#define INSTANTIATE_RUNTIME_TARGET_PLATFORM_TEST_SUITE_P(suite_name)
 
#define INSTANTIATE_SKSL_TARGET_PLATFORM_TEST_SUITE_P(suite_name)
 

Functions

 impeller::compiler::testing::TEST (CompilerTest, Defines)
 
 impeller::compiler::testing::TEST (CompilerTest, ShaderKindMatchingIsSuccessful)
 
 impeller::compiler::testing::TEST_P (CompilerTest, CanCompile)
 
 impeller::compiler::testing::TEST_P (CompilerTest, CanCompileHLSL)
 
 impeller::compiler::testing::TEST_P (CompilerTest, CanCompileHLSLWithMultipleStages)
 
 impeller::compiler::testing::TEST_P (CompilerTest, CanCompileComputeShader)
 
 impeller::compiler::testing::TEST_P (CompilerTest, MustFailDueToExceedingResourcesLimit)
 
 impeller::compiler::testing::TEST_P (CompilerTest, MustFailDueToMultipleLocationPerStructMember)
 
 impeller::compiler::testing::TEST_P (CompilerTest, BindingBaseForFragShader)
 
 impeller::compiler::testing::TEST_P (CompilerTestRuntime, UniformsAppearInJson)
 
 impeller::compiler::testing::TEST_P (CompilerTestRuntime, PositionedUniformsAppearInJson)
 
 impeller::compiler::testing::TEST_P (CompilerTest, UniformsHaveBindingAndSet)
 
 impeller::compiler::testing::TEST_P (CompilerTestSkSL, SkSLTextureLookUpOrderOfOperations)
 
 impeller::compiler::testing::TEST_P (CompilerTestSkSL, CanCompileStructs)
 
 impeller::compiler::testing::INSTANTIATE_TARGET_PLATFORM_TEST_SUITE_P (CompilerSuite)
 
 impeller::compiler::testing::INSTANTIATE_RUNTIME_TARGET_PLATFORM_TEST_SUITE_P (CompilerSuite)
 
 impeller::compiler::testing::INSTANTIATE_SKSL_TARGET_PLATFORM_TEST_SUITE_P (CompilerSuite)
 

Macro Definition Documentation

◆ INSTANTIATE_RUNTIME_TARGET_PLATFORM_TEST_SUITE_P

#define INSTANTIATE_RUNTIME_TARGET_PLATFORM_TEST_SUITE_P (   suite_name)
Value:
suite_name, CompilerTestRuntime, \
::testing::Values(TargetPlatform::kRuntimeStageMetal), \
[](const ::testing::TestParamInfo<CompilerTest::ParamType>& info) { \
return TargetPlatformToString(info.param); \
});
std::string TargetPlatformToString(TargetPlatform platform)
Definition: types.cc:62
INSTANTIATE_TEST_SUITE_P(FrameBufferObject, RenderPassGLESWithDiscardFrameBufferExtTest, ::testing::ValuesIn(std::vector< DiscardFrameBufferParams >{ {.frame_buffer_id=0,.expected_attachments={GL_COLOR_EXT, GL_DEPTH_EXT, GL_STENCIL_EXT}}, {.frame_buffer_id=1,.expected_attachments={GL_COLOR_ATTACHMENT0, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT}}}), [](const ::testing::TestParamInfo< DiscardFrameBufferParams > &info) { return(info.param.frame_buffer_id==0) ? "Default" :"NonDefault";})

Definition at line 359 of file compiler_unittests.cc.

◆ INSTANTIATE_SKSL_TARGET_PLATFORM_TEST_SUITE_P

#define INSTANTIATE_SKSL_TARGET_PLATFORM_TEST_SUITE_P (   suite_name)
Value:
suite_name, CompilerTestSkSL, ::testing::Values(TargetPlatform::kSkSL), \
[](const ::testing::TestParamInfo<CompilerTest::ParamType>& info) { \
return TargetPlatformToString(info.param); \
});

Definition at line 369 of file compiler_unittests.cc.

◆ INSTANTIATE_TARGET_PLATFORM_TEST_SUITE_P

#define INSTANTIATE_TARGET_PLATFORM_TEST_SUITE_P (   suite_name)
Value:
suite_name, CompilerTest, \
::testing::Values(TargetPlatform::kOpenGLES, \
TargetPlatform::kOpenGLDesktop, \
TargetPlatform::kMetalDesktop, \
TargetPlatform::kMetalIOS, TargetPlatform::kSkSL), \
[](const ::testing::TestParamInfo<CompilerTest::ParamType>& info) { \
return TargetPlatformToString(info.param); \
});

Definition at line 346 of file compiler_unittests.cc.

Variable Documentation

◆ columns

uint32_t columns

Definition at line 131 of file compiler_unittests.cc.

◆ location

◆ type_name

std::string type_name

Definition at line 130 of file compiler_unittests.cc.

◆ uniform_name

std::string uniform_name

Definition at line 128 of file compiler_unittests.cc.

◆ vec_size

uint32_t vec_size

Definition at line 132 of file compiler_unittests.cc.