feat: add unity-aligned shader contract metadata
This commit is contained in:
@@ -617,12 +617,22 @@ Mesh* BuildMeshResource(
|
||||
|
||||
size_t CalculateBuiltinShaderMemorySize(const Shader& shader) {
|
||||
size_t memorySize = sizeof(Shader) + shader.GetName().Length() + shader.GetPath().Length();
|
||||
for (const ShaderPropertyDesc& property : shader.GetProperties()) {
|
||||
memorySize += property.name.Length();
|
||||
memorySize += property.displayName.Length();
|
||||
memorySize += property.defaultValue.Length();
|
||||
memorySize += property.semantic.Length();
|
||||
}
|
||||
for (const ShaderPass& pass : shader.GetPasses()) {
|
||||
memorySize += pass.name.Length();
|
||||
for (const ShaderPassTagEntry& tag : pass.tags) {
|
||||
memorySize += tag.name.Length();
|
||||
memorySize += tag.value.Length();
|
||||
}
|
||||
for (const ShaderResourceBindingDesc& binding : pass.resources) {
|
||||
memorySize += binding.name.Length();
|
||||
memorySize += binding.semantic.Length();
|
||||
}
|
||||
for (const ShaderStageVariant& variant : pass.variants) {
|
||||
memorySize += variant.entryPoint.Length();
|
||||
memorySize += variant.profile.Length();
|
||||
|
||||
Reference in New Issue
Block a user