[Chore] (MG_Test/Program): rename previous ProgramTest to ProgramUtilTest

This commit is contained in:
2025-08-09 12:38:33 +08:00
parent c34f816544
commit e848ca8730
5 changed files with 22 additions and 15 deletions
+5 -5
View File
@@ -53,8 +53,8 @@ endif()
add_executable( add_executable(
ProgramTest ProgramUtilTest
ProgramTest.cpp ProgramUtilTest.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp ${MGL_ROOT}/MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp
@@ -62,16 +62,16 @@ add_executable(
${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp ${MGL_ROOT}/MobileGL/MG_Util/ShaderTranspiler/SpvcSession.cpp
) )
target_include_directories(ProgramTest PRIVATE target_include_directories(ProgramUtilTest PRIVATE
${MGL_ROOT}/include ${MGL_ROOT}/include
${MGL_ROOT}/MobileGL ${MGL_ROOT}/MobileGL
) )
target_link_libraries( target_link_libraries(
ProgramTest ProgramUtilTest
GTest::gtest_main GTest::gtest_main
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )
include(GoogleTest) include(GoogleTest)
gtest_discover_tests(ProgramTest) gtest_discover_tests(ProgramUtilTest)
@@ -6,11 +6,11 @@
#include "Includes.h" #include "Includes.h"
using namespace MobileGL; using namespace MobileGL;
class ProgramTest : public ::testing::Test { class ProgramUtilTest : public ::testing::Test {
protected: protected:
}; };
TEST_F(ProgramTest, Sanity) { TEST_F(ProgramUtilTest, Sanity) {
ASSERT_TRUE(true); ASSERT_TRUE(true);
} }
@@ -34,7 +34,7 @@ void main(){
texCoord = Position.xy / OutSize; texCoord = Position.xy / OutSize;
})"; })";
TEST_F(ProgramTest, CompileSimpleVertexShader) { TEST_F(ProgramUtilTest, CompileSimpleVertexShader) {
using namespace MG_Util::ShaderTranspiler; using namespace MG_Util::ShaderTranspiler;
ShaderAttrib attrib { ShaderAttrib attrib {
.shaderType = GL_VERTEX_SHADER, .shaderType = GL_VERTEX_SHADER,
@@ -86,7 +86,7 @@ void main() {
fragColor = vec4(OutColor, 1.0); fragColor = vec4(OutColor, 1.0);
})"; })";
TEST_F(ProgramTest, CompileSimpleFragmentShader) { TEST_F(ProgramUtilTest, CompileSimpleFragmentShader) {
using namespace MG_Util::ShaderTranspiler; using namespace MG_Util::ShaderTranspiler;
ShaderAttrib attrib { ShaderAttrib attrib {
.shaderType = GL_FRAGMENT_SHADER, .shaderType = GL_FRAGMENT_SHADER,
@@ -115,7 +115,7 @@ void main() {
fragColor = color * ColorModulator; fragColor = color * ColorModulator;
})"; })";
TEST_F(ProgramTest, CompileFragmentShaderWithDiscard) { TEST_F(ProgramUtilTest, CompileFragmentShaderWithDiscard) {
using namespace MG_Util::ShaderTranspiler; using namespace MG_Util::ShaderTranspiler;
ShaderAttrib attrib { ShaderAttrib attrib {
.shaderType = GL_FRAGMENT_SHADER, .shaderType = GL_FRAGMENT_SHADER,
@@ -162,7 +162,7 @@ TEST_F(ProgramTest, CompileFragmentShaderWithDiscard) {
} }
} }
TEST_F(ProgramTest, CompileAndLinkProgram) { TEST_F(ProgramUtilTest, CompileAndLinkProgram) {
using namespace MG_Util::ShaderTranspiler; using namespace MG_Util::ShaderTranspiler;
ShaderAttrib vs_attrib { ShaderAttrib vs_attrib {
.shaderType = GL_VERTEX_SHADER, .shaderType = GL_VERTEX_SHADER,
@@ -196,7 +196,7 @@ TEST_F(ProgramTest, CompileAndLinkProgram) {
} }
} }
TEST_F(ProgramTest, DecompProgram) { TEST_F(ProgramUtilTest, DecompProgram) {
using namespace MG_Util::ShaderTranspiler; using namespace MG_Util::ShaderTranspiler;
ShaderAttrib vs_attrib { ShaderAttrib vs_attrib {
.shaderType = GL_VERTEX_SHADER, .shaderType = GL_VERTEX_SHADER,
@@ -114,7 +114,7 @@ namespace MobileGL {
Result<SharedPtr<glslang::TShader>> ShaderCompiler::CompileShader(const ShaderAttrib& attrib) { Result<SharedPtr<glslang::TShader>> ShaderCompiler::CompileShader(const ShaderAttrib& attrib) {
auto shaderType = attrib.shaderType; auto shaderType = attrib.shaderType;
auto sourceStr = attrib.sourceStr; auto& sourceStr = attrib.sourceStr;
auto lang = GetEShLanguageByShaderType(shaderType); auto lang = GetEShLanguageByShaderType(shaderType);
if (lang == EShLanguage::EShLangCount) { if (lang == EShLanguage::EShLangCount) {
@@ -128,7 +128,7 @@ namespace MobileGL {
SharedPtr<glslang::TShader> res; SharedPtr<glslang::TShader> res;
auto& tshader = res; auto& tshader = res;
tshader = MakeShared<glslang::TShader>(lang); tshader = MakeShared<glslang::TShader>(lang);
const char* src[] = { sourceStr.c_str() }; const char* src[] = { sourceStr.data() };
tshader->setStrings(src, 1); tshader->setStrings(src, 1);
tshader->setInvertY(true); tshader->setInvertY(true);
tshader->setEnvInput(glslang::EShSourceGlsl, lang, glslang::EShClientVulkan, 450); tshader->setEnvInput(glslang::EShSourceGlsl, lang, glslang::EShClientVulkan, 450);
+1 -1
View File
@@ -15,7 +15,7 @@ namespace MobileGL {
struct ShaderAttrib { struct ShaderAttrib {
GLenum shaderType; GLenum shaderType;
String sourceStr; StringView sourceStr;
Flags<ShaderCompileBits> flags; Flags<ShaderCompileBits> flags;
}; };
+7
View File
@@ -2,6 +2,12 @@
#define GL_UNKNOWN_MGL 0 #define GL_UNKNOWN_MGL 0
#define THROW_EXCEPTION(msg) \
throw std::runtime_error(msg);
#define THROW_UNIMPL_EXCEPTION \
THROW_EXCEPTION("Unimplemented function called!")
namespace MobileGL { namespace MobileGL {
using String = std::string; using String = std::string;
using StringStream = std::stringstream; using StringStream = std::stringstream;
@@ -18,6 +24,7 @@ namespace MobileGL {
using Bool = bool; using Bool = bool;
using Float = float; using Float = float;
using Double = double; using Double = double;
using StringView = std::string_view;
template <typename T> template <typename T>
using Vector = std::vector<T>; using Vector = std::vector<T>;
template <typename T, typename N> template <typename T, typename N>