You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Generating mips is now always done via the FGenerateMips helper class in RenderCore, which uses either a pixel or compute shader. - OpenGL cannot use these shaders due to lack of support for SRVs that target single mips of a texture resource. As such, the RHIGenerateMips implementation for OpenGL has been kept, but moved to the IOpenGLDynamicRHI interface so that it can be removed from the base RHI contexts, which FGenerateMips makes use of. Deprecate TexCreate_GenerateMipCapable - This flag was only to make D3D11 RHI set the D3D11_RESOURCE_MISC_GENERATE_MIPS flag on texture creation. Since RHIGenerateMips is no longer implemented in D3D11 RHI, the flag is not required. - Textures should be created with TexCreate_UAV or TexCreate_RenderTargetable to make them compatible with FGenerateMips. - Added checks to FGenerateMips to catch incompatible textures. #rb christopher.waters [CL 32792595 by luke thatcher in ue5-main branch]
58 lines
2.2 KiB
C#
58 lines
2.2 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");
|
|
}
|
|
// 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" });
|
|
|
|
PrivateIncludePathModuleNames.AddRange(new string[] { "DerivedDataCache" });
|
|
|
|
PublicIncludePathModuleNames.AddRange(new string[] { "RHI" });
|
|
|
|
// 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");
|
|
}
|
|
}
|
|
}
|