chore: checkpoint current workspace changes
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user