chore: checkpoint current workspace changes

This commit is contained in:
2026-04-11 22:14:02 +08:00
parent 3e55f8c204
commit 8848cfd958
227 changed files with 34027 additions and 6711 deletions

View File

@@ -142,6 +142,37 @@ TEST(Shader, ApplyShaderStageVariantCarriesMatchedBackendCompiledBinary) {
EXPECT_EQ(compileDesc.compiledBinary[2], 0x09);
}
TEST(Shader, ApplyShaderStageVariantTreatsOpenGLHlslPrecompiledBinaryAsVulkanSpirv) {
ShaderPass pass = {};
pass.name = "GaussianSplat";
ShaderStageVariant variant = {};
variant.stage = ShaderType::Vertex;
variant.language = ShaderLanguage::HLSL;
variant.backend = ShaderBackend::Generic;
variant.entryPoint = "MainVS";
variant.profile = "vs_5_1";
variant.sourceCode = "float4 MainVS() : SV_POSITION { return 0; }";
Array<XCEngine::Core::uint8> openglPayload;
openglPayload.PushBack(0x0A);
openglPayload.PushBack(0x0B);
openglPayload.PushBack(0x0C);
variant.SetCompiledBinaryForBackend(ShaderBackend::OpenGL, openglPayload);
XCEngine::RHI::ShaderCompileDesc compileDesc = {};
::XCEngine::Rendering::Internal::ApplyShaderStageVariant(
pass,
ShaderBackend::OpenGL,
variant,
compileDesc);
EXPECT_EQ(compileDesc.compiledBinaryBackend, XCEngine::RHI::ShaderBinaryBackend::Vulkan);
ASSERT_EQ(compileDesc.compiledBinary.size(), 3u);
EXPECT_EQ(compileDesc.compiledBinary[0], 0x0A);
EXPECT_EQ(compileDesc.compiledBinary[2], 0x0C);
}
TEST(Shader, FindsBackendSpecificVariantAndFallsBackToGeneric) {
Shader shader;