You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- create utility classes (serialization context objects) which allow serialization of shader code blobs independently of "shader object" (i.e. whatever type of thing we're pushing to the cache, shader job or shader map) structure - commonize bytecode format in cache entries for shadermap and shader DDC (FShaderCodeResource struct) - rework per-shader caching to use the serialization helpers to separate serialization of job output struct data and bytecode - rework material and global shadermap DDC serialization to use the serialization helpers to separate serialization of shadermap structural data and bytecode #rb Laura.Hermanns, Zousar.Shaker #jira UE-196556 (resubmit with monolithic build fix) [CL 36153164 by dan elksnitis in 5.5 branch]
71 lines
2.5 KiB
C#
71 lines
2.5 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using System.IO;
|
|
using UnrealBuildBase;
|
|
using UnrealBuildTool;
|
|
using System;
|
|
|
|
public class RenderCore : ModuleRules
|
|
{
|
|
public RenderCore(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PublicDependencyModuleNames.AddRange(new string[] { "RHI" });
|
|
|
|
PrivateIncludePathModuleNames.AddRange(new string[] { "Shaders", "TargetPlatform" });
|
|
|
|
// JSON is used for the asset info in the shader library and dumping out frames.
|
|
PrivateDependencyModuleNames.Add("Json");
|
|
|
|
PrivateDependencyModuleNames.Add("BuildSettings");
|
|
|
|
if (Target.bBuildEditor == true)
|
|
{
|
|
DynamicallyLoadedModuleNames.Add("TargetPlatform");
|
|
// UObjects are used to produce the full path of the asset by which the shaders are identified
|
|
PrivateDependencyModuleNames.Add("CoreUObject");
|
|
PrivateIncludePathModuleNames.Add("IoStoreUtilities");
|
|
}
|
|
// shader runtime usage visualization requires ability to create images - it is only used in non-editor desktop development targets
|
|
// UE_BUILD_DEVELOPMENT is also defined for DebugGame
|
|
else if ((Target.Configuration == UnrealTargetConfiguration.Development || Target.Configuration == UnrealTargetConfiguration.DebugGame) && Array.IndexOf(Utils.GetPlatformsInClass(UnrealPlatformClass.Desktop), Target.Platform) >= 0)
|
|
{
|
|
PrivateDependencyModuleNames.Add("ImageWrapper");
|
|
}
|
|
|
|
// Copy the GPUDumpViewer's source code for the r.DumpGPU command.
|
|
if (Target.Configuration != UnrealTargetConfiguration.Shipping)
|
|
{
|
|
RuntimeDependencies.Add(Path.Combine(Unreal.EngineDirectory.ToString(), "Extras/GPUDumpViewer/..."), StagedFileType.DebugNonUFS);
|
|
}
|
|
|
|
PrivateDependencyModuleNames.AddRange(new string[] { "Core", "Projects", "ApplicationCore", "TraceLog", "CookOnTheFly" });
|
|
|
|
PublicIncludePathModuleNames.AddRange(new string[] { "RHI" });
|
|
|
|
if (Target.bBuildEditor == true)
|
|
{
|
|
PrivateDependencyModuleNames.Add("DerivedDataCache");
|
|
}
|
|
else
|
|
{
|
|
PrivateIncludePathModuleNames.Add("DerivedDataCache");
|
|
}
|
|
|
|
// Added in Dev-VT, still needed?
|
|
PrivateIncludePathModuleNames.AddRange(new string[] { "TargetPlatform" });
|
|
|
|
if (Target.IsInPlatformGroup(UnrealPlatformGroup.Windows)
|
|
|| Target.IsInPlatformGroup(UnrealPlatformGroup.Android)
|
|
|| Target.IsInPlatformGroup(UnrealPlatformGroup.Linux))
|
|
{
|
|
// For IOpenGLDynamicRHI::RHIGenerateMips
|
|
PublicIncludePathModuleNames.Add("OpenGLDrv");
|
|
}
|
|
|
|
if (Target.Configuration != UnrealTargetConfiguration.Shipping)
|
|
{
|
|
PrivateDefinitions.Add("ALLOW_SHADERMAP_TRACKING=1");
|
|
}
|
|
}
|
|
}
|