resources: split shader loader internals

This commit is contained in:
2026-04-07 11:59:50 +08:00
parent 35cd535b4c
commit d3377708d2
12 changed files with 1426 additions and 1228 deletions

View File

@@ -0,0 +1,30 @@
#pragma once
#include "ShaderIR.h"
#include <XCEngine/Core/IO/IResourceLoader.h>
#include <XCEngine/Resources/Shader/Shader.h>
#include <string>
namespace XCEngine {
namespace Resources {
Containers::String GetDefaultEntryPoint(ShaderLanguage language, ShaderType stage);
Containers::String GetDefaultProfile(
ShaderLanguage language,
ShaderBackend backend,
ShaderType stage);
size_t CalculateShaderMemorySize(const Shader& shader);
LoadResult BuildShaderFromIR(
const Containers::String& path,
const ShaderIR& shaderIR);
LoadResult LoadLegacySingleStageShader(
const Containers::String& path,
const std::string& sourceText);
} // namespace Resources
} // namespace XCEngine