Created
September 27, 2025 23:01
-
-
Save seletskiy/e369574078790805413e5d9a750a8c51 to your computer and use it in GitHub Desktop.
Unreal Engine 5.6.1 + MetaHuman (Linux Support Patch)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin b/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin | |
| index a8d8d6cead22..4a2a956de9f4 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/MetaHumanCharacter.uplugin | |
| @@ -19,10 +19,7 @@ | |
| { | |
| "Name": "MetaHumanCharacterEditor", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "MetaHumanCharacter", | |
| @@ -47,26 +44,17 @@ | |
| { | |
| "Name": "MetaHumanDefaultEditorPipeline", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "MetaHumanCharacterMigrationEditor", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "InterchangeDNA", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| } | |
| ], | |
| "Plugins": [ | |
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp | |
| index 69bf329fff37..249f2a014a39 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorEyesTool.cpp | |
| @@ -1,6 +1,6 @@ | |
| // Copyright Epic Games, Inc. All Rights Reserved. | |
| -#include "MetaHUmanCharacterEditorEyesTool.h" | |
| +#include "MetaHumanCharacterEditorEyesTool.h" | |
| #include "MetaHumanCharacterEditorActor.h" | |
| #include "MetaHumanCharacterEditorSubsystem.h" | |
| #include "Tools/MetaHumanCharacterEditorToolTargetUtil.h" | |
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp | |
| index 66ef8c9dcef9..fb36aac40a45 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/Tools/MetaHumanCharacterEditorPresetsTool.cpp | |
| @@ -1,6 +1,6 @@ | |
| // Copyright Epic Games, Inc. All Rights Reserved. | |
| -#include "MetaHUmanCharacterEditorPresetsTool.h" | |
| +#include "MetaHumanCharacterEditorPresetsTool.h" | |
| #include "MetaHumanCharacterEditorActor.h" | |
| #include "MetaHumanCharacterEditorSubsystem.h" | |
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp | |
| index 705f36def8d0..2cdf7daa685b 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanCharacterEditor/Private/UI/Views/SMetaHumanCharacterEditorBodyModelToolView.cpp | |
| @@ -2,7 +2,7 @@ | |
| #include "SMetaHumanCharacterEditorBodyModelToolView.h" | |
| -#include "Tools/MetahumanCharacterEditorBodyEditingTools.h" | |
| +#include "Tools/MetaHumanCharacterEditorBodyEditingTools.h" | |
| #include "MetaHumanCharacterEditorModule.h" | |
| #include "UI/Widgets/SMetaHumanCharacterEditorToolPanel.h" | |
| #include "UI/Widgets/SMetaHumanCharacterEditorParametricView.h" | |
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h | |
| index 1fff03302423..7f095454ee25 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCharacter/Source/MetaHumanDefaultEditorPipeline/Public/MetaHumanDefaultEditorPipelineBase.h | |
| @@ -22,6 +22,7 @@ class AActor; | |
| struct FMetaHumanCharacterPreviewAssets; | |
| struct FMetaHumanCharacterGeneratedAssets; | |
| class ITargetPlatform; | |
| +class UControlRigBlueprint; | |
| class UMetaHumanCharacterEditorPipelineSpecification; | |
| class UMetaHumanCharacterInstance; | |
| diff --git a/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h b/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h | |
| index 70cdee52f601..f8fe6d2fd7a2 100644 | |
| --- a/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h | |
| +++ b/Engine/Plugins/MetaHuman/MetaHumanCoreTechLib/Source/MetaHumanCoreTechLib/Private/nls/include/nls/utils/ConfigurationParameter.h | |
| @@ -10,6 +10,9 @@ | |
| #include <typeinfo> | |
| #include <variant> | |
| +#include "Misc/GeneratedTypeName.h" | |
| +#include "Misc/StringBuilder.h" | |
| + | |
| CARBON_NAMESPACE_BEGIN(TITAN_NAMESPACE) | |
| namespace detail | |
| @@ -189,7 +192,8 @@ public: | |
| using base_type = typename std::remove_cv<typename std::remove_reference<T>::type>::type; | |
| if (!std::holds_alternative<T>(m_value)) | |
| { | |
| - CARBON_CRITICAL("parameter \"{}\" does not hold value {} (instead it has {})", m_name, typeid(T).name(), AsString()); | |
| + CARBON_CRITICAL("parameter \"{}\" does not hold value {} (instead it has {})", m_name, *WriteToAnsiString<128>(GetGeneratedTypeName<T>()), AsString()); | |
| + | |
| } | |
| return detail::Value<base_type>(m_value); | |
| } | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp | |
| index 6375674cc954..a3b78b539f7a 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/Blueprint/TG_AsyncRenderTask.cpp | |
| @@ -201,7 +201,7 @@ UTG_AsyncRenderTask* UTG_AsyncRenderTask::TG_AsyncRenderTask(UTextureGraphBase* | |
| Task->TextureGraphPtr->Initialize(); | |
| FTG_HelperFunctions::InitTargets(Task->TextureGraphPtr); | |
| Task->RegisterWithTGAsyncTaskManger(); | |
| - FWorldDelegates::OnWorldCleanup.AddUObject(Task, &UTG_AsyncRenderTaskBase::OnWorldCleanup); | |
| + FWorldDelegates::OnWorldCleanup.AddUObject(Task, &UTG_AsyncRenderTask::OnWorldCleanup); | |
| } | |
| return Task; | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp | |
| index a10c534baa8e..3b486b015da3 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Texture.cpp | |
| @@ -53,10 +53,10 @@ FArchive& operator<<(FArchive& Ar, FTG_Texture& T) | |
| int32 Version = Ar.CustomVer(FTG_CustomVersion::GUID); | |
| if (Ar.IsSaving() || | |
| - Ar.IsLoading() && Version >= FTG_CustomVersion::TGTextureAddedTexturePath) | |
| + (Ar.IsLoading() && Version >= FTG_CustomVersion::TGTextureAddedTexturePath)) | |
| { | |
| Ar << T.TexturePath; | |
| } | |
| Ar << T.Descriptor; | |
| return Ar; | |
| -} | |
| \ No newline at end of file | |
| +} | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp | |
| index 910a898e629d..7cb7e9321222 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Private/TG_Variant.cpp | |
| @@ -169,7 +169,7 @@ FTG_Texture FTG_Variant::GetTexture(FTG_EvaluationContext* InContext, FTG_Textur | |
| /// Special handling for black, white and gray textures as they are quite common in the system | |
| /// both in vector, color as well as scalar forms | |
| - if (!DesiredDesc || DesiredDesc->Width <= 1 && DesiredDesc->Height <= 1) | |
| + if (!DesiredDesc || (DesiredDesc->Width <= 1 && DesiredDesc->Height <= 1)) | |
| { | |
| if (ColorUtil::IsColorBlack(Color)) | |
| return FTG_Texture::GetBlack(); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h b/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h | |
| index 2b38e2e36415..03c7cdcb27f1 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/Public/TG_Var.h | |
| @@ -9,19 +9,21 @@ | |
| #include "TG_Var.generated.h" | |
| template <typename T> | |
| -void TG_Var_SetValueFromString(T& Value, const FString& StrVal) | |
| +TEXTUREGRAPH_API void TG_Var_SetValueFromString(T& Value, const FString& StrVal) | |
| { | |
| UE_LOG(LogTemp, Warning, TEXT("Need To Implement TG_Var_SetValueFromString")); | |
| } | |
| template <typename T> | |
| -FString TG_Var_LogValue(T& Value) | |
| +TEXTUREGRAPH_API FString TG_Var_LogValue(T& Value) | |
| { | |
| FString LogMessage = TEXT("Default Var Log : Need to define a type specific TG_Var_LogValue function"); | |
| return LogMessage; | |
| } | |
| +class UTG_Expression; | |
| + | |
| USTRUCT() | |
| struct TEXTUREGRAPH_API FTG_Var | |
| { | |
| @@ -214,41 +216,41 @@ private: | |
| mutable TSharedPtr<FConcept> Concept; | |
| }; | |
| -template <> FString TG_Var_LogValue(bool& Value); | |
| -template <> FString TG_Var_LogValue(int& Value); | |
| -template <> FString TG_Var_LogValue(float& Value); | |
| -template <> FString TG_Var_LogValue(uint8& Value); | |
| -template <> FString TG_Var_LogValue(FLinearColor& Value); | |
| -template <> FString TG_Var_LogValue(FVector4f& Value); | |
| -template <> FString TG_Var_LogValue(FVector2f& Value); | |
| -template <> FString TG_Var_LogValue(FName& Value); | |
| -template <> FString TG_Var_LogValue(FString& Value); | |
| -template <> FString TG_Var_LogValue(TObjectPtr<UObject>& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_Texture& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_Scalar& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_OutputSettings& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_TextureDescriptor& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_Variant& Value); | |
| -template <> FString TG_Var_LogValue(struct FTG_Material& Value); | |
| - | |
| - | |
| -template <> void TG_Var_SetValueFromString(int& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(bool& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(float& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(uint8& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(TObjectPtr<UObject>& Value, const FString& StrVal); | |
| - | |
| -template <> void TG_Var_SetValueFromString(FLinearColor& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(FVector4f& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(FVector2f& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(FName& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(FString& Value, const FString& StrVal); | |
| - | |
| -//template <> void TG_Var_SetValueFromString(struct FTG_Texture& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(struct FTG_Scalar& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(struct FTG_OutputSettings& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(struct FTG_TextureDescriptor& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(struct FTG_Variant& Value, const FString& StrVal); | |
| -template <> void TG_Var_SetValueFromString(struct FTG_Material& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(bool& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(int& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(float& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(uint8& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FLinearColor& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FVector4f& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FVector2f& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FName& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(FString& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(TObjectPtr<UObject>& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Texture& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Scalar& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_OutputSettings& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_TextureDescriptor& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Variant& Value); | |
| +template <> TEXTUREGRAPH_API FString TG_Var_LogValue(struct FTG_Material& Value); | |
| + | |
| + | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(int& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(bool& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(float& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(uint8& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(TObjectPtr<UObject>& Value, const FString& StrVal); | |
| + | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FLinearColor& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FVector4f& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FVector2f& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FName& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(FString& Value, const FString& StrVal); | |
| + | |
| +//template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Texture& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Scalar& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_OutputSettings& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_TextureDescriptor& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Variant& Value, const FString& StrVal); | |
| +template <> TEXTUREGRAPH_API void TG_Var_SetValueFromString(struct FTG_Material& Value, const FString& StrVal); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs b/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs | |
| index cf932ced49a5..5518ba3c5471 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraph/TextureGraph.Build.cs | |
| @@ -7,7 +7,6 @@ public class TextureGraph : ModuleRules | |
| public TextureGraph(ReadOnlyTargetRules Target) : base(Target) | |
| { | |
| PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; | |
| - bUseRTTI = true; | |
| bEnableExceptions = true; | |
| PublicIncludePathModuleNames.AddRange( | |
| new string[] | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp | |
| index 4ed3633d9d4c..6765f35b2ca6 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/2D/Tex.cpp | |
| @@ -62,7 +62,7 @@ TexDescriptor::TexDescriptor(uint32 InWidth, uint32 InHeight, EPixelFormat InFor | |
| : Name(Util::RandomID()) | |
| , Width(InWidth) | |
| , Height(InHeight) | |
| - , Format(Format) | |
| + , Format(InFormat) | |
| , NumChannels(TextureHelper::GetChannelsFromPixelFormat(InFormat)) | |
| { | |
| } | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h | |
| index a29d8e460f21..10165af679c8 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/Blob.h | |
| @@ -8,6 +8,7 @@ | |
| #include "Helper/DataUtil.h" | |
| #include "2D/TextureHelper.h" | |
| +class Blob; | |
| class Device; | |
| class RawBuffer; | |
| class BlobTransform; | |
| @@ -110,6 +111,7 @@ public: | |
| virtual FString DisplayName() const; | |
| virtual bool IsFinalised() const { return bIsFinalised; } | |
| virtual bool IsTiled() const { return false; } | |
| + virtual bool IsPromise() const { return false; } | |
| virtual bool CanCalculateHash() const { return IsFinalised(); } | |
| virtual void FinaliseNow(bool bNoCalcHash, CHashPtr FixedHash); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h | |
| index 4d2ff0c2c4f7..8bb942753837 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/BlobRef.h | |
| @@ -9,6 +9,7 @@ | |
| #define BLOB_REF_SIMPLE 1 | |
| #define DEBUG_BLOB_REF_KEEPING 0 | |
| +class Blob; | |
| template <class BlobType> | |
| class T_BlobRef | |
| { | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp | |
| index 263144fbac8c..cdb749765e02 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.cpp | |
| @@ -268,11 +268,8 @@ void TiledBlob::CopyResolveLateBound(BlobPtr RHS_) | |
| { | |
| check(RHS_ != nullptr); | |
| - TiledBlob* RHS = dynamic_cast<TiledBlob*>(RHS_.get()); | |
| - | |
| - /// If this isn't a | |
| - if (RHS) | |
| - *this = *RHS; | |
| + if (RHS_->IsTiled()) | |
| + *this = *static_cast<const TiledBlob*>(RHS_.get()); | |
| else | |
| { | |
| /// Single BlobObj type | |
| @@ -1284,12 +1281,9 @@ void TiledBlob_Promise::CopyResolveLateBound(BlobPtr RHS_) | |
| { | |
| check(RHS_ != nullptr); | |
| - TiledBlob_Promise* RHS = dynamic_cast<TiledBlob_Promise*>(RHS_.get()); | |
| - | |
| - /// If this isn't a | |
| - if (RHS) | |
| - *this = *RHS; | |
| - else if (dynamic_cast<TiledBlob*>(RHS_.get())) | |
| + if (RHS_->IsTiled() && RHS_->IsPromise()) | |
| + *this = *static_cast<TiledBlob_Promise*>(RHS_.get()); | |
| + else if (RHS_->IsTiled()) | |
| TiledBlob::CopyResolveLateBound(RHS_); | |
| else | |
| { | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h | |
| index 9d02366cf747..3c9f5a5386ec 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Data/TiledBlob.h | |
| @@ -66,7 +66,6 @@ public: | |
| virtual AsyncPrepareResult PrepareForWrite(const ResourceBindInfo& BindInfo) override; | |
| virtual FString DisplayName() const override; | |
| virtual bool IsTiled() const override { return true; } | |
| - virtual bool IsPromise() const { return false; } | |
| virtual bool CanCalculateHash() const override; | |
| virtual void SetTile(int32 X, int32 Y, BlobRef Tile); | |
| virtual void SetTiles(const BlobPtrTiles& InTiles); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp | |
| index 4c2428f1070e..1ca93670b29d 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial.cpp | |
| @@ -45,8 +45,8 @@ AsyncTransformResultPtr RenderMaterial::Exec(const TransformArgs& Args) | |
| BlobPtr TargetBlob = Args.Target.lock(); | |
| check(TargetBlob); | |
| - DeviceBuffer_FX* TargetBuffer = dynamic_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get()); | |
| - check(TargetBuffer); | |
| + check(TargetBlob->GetBufferRef().GetDeviceType() == DeviceType::FX); | |
| + DeviceBuffer_FX* TargetBuffer = static_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get()); | |
| Tex* TexObj = TargetBuffer->GetTexture().get(); | |
| check(TexObj); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp | |
| index 52a2b256aa76..bf828bec862f 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/FxMat/RenderMaterial_FX_MinMax.cpp | |
| @@ -69,8 +69,8 @@ AsyncTransformResultPtr RenderMaterial_FX_MinMax::Exec(const TransformArgs& Args | |
| check(TargetBlob); | |
| - DeviceBuffer_FX* TargetBuffer = dynamic_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get()); | |
| - check(TargetBuffer); | |
| + check(TargetBlob->GetBufferRef().GetDeviceType() == DeviceType::FX); | |
| + DeviceBuffer_FX* TargetBuffer = static_cast<DeviceBuffer_FX*>(TargetBlob->GetBufferRef().get()); | |
| Target = TargetBuffer->GetTexture(); | |
| check(Target.get()); | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Job/JobArgs.h b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Job/JobArgs.h | |
| index d6fe75712676..a5f274a2f09e 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Job/JobArgs.h | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Job/JobArgs.h | |
| @@ -65,6 +65,7 @@ public: | |
| virtual JobPtrW GeneratingJob() const { return JobPtrW(); } | |
| virtual const BufferDescriptor* GetDescriptor() const { return nullptr; } | |
| virtual bool IsLateBound(uint32 TileX, uint32 TileY) const { return false; } | |
| + virtual bool IsBlob() const { return false; } | |
| ////////////////////////////////////////////////////////////////////////// | |
| /// Inline functions | |
| @@ -141,6 +142,7 @@ public: | |
| virtual CHashPtr TileHash(uint32 TileX, uint32 TileY) const override; | |
| virtual bool IsLateBound(uint32 TileX, uint32 TileY) const override; | |
| + virtual bool IsBlob() const override { return true; } | |
| virtual JobPtrW GeneratingJob() const override; | |
| virtual const BufferDescriptor* GetDescriptor() const override; | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs | |
| index 916410737221..a5de0c29b269 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs | |
| @@ -31,7 +31,6 @@ public class TextureGraphEngine : ModuleRules | |
| public TextureGraphEngine(ReadOnlyTargetRules Target) : base(Target) | |
| { | |
| PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; | |
| - bUseRTTI = true; | |
| bEnableExceptions = true; | |
| // Disable Clang analysis due to a crash in clang-cl | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp | |
| index a0f168fe3b5d..ce5907019cc5 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Expressions/T_Filter.cpp | |
| @@ -68,7 +68,7 @@ static JobUPtr CreateWarp(FString Name, MixUpdateCyclePtr InCycle, BufferDescrip | |
| ->AddArg(ARG_FLOAT(Intensity, "Intensity")) | |
| ; | |
| - return std::move(RenderJob); | |
| + return RenderJob; | |
| } | |
| TiledBlobPtr T_Filter::CreateDirectionalWarp(MixUpdateCyclePtr InCycle, BufferDescriptor DesiredDesc, TiledBlobPtr SourceTexture, TiledBlobPtr Mask, float Intensity, float AngleRad, int32 InTargetId) | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp | |
| index 6e0ca17fa76e..e6b5f636d9f6 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mesh/T_MeshEncodedAsTexture.cpp | |
| @@ -67,7 +67,7 @@ static JobUPtr CreateGenericJob(MixUpdateCyclePtr Cycle, int32 TargetId, FString | |
| /// this can be safely deleted | |
| Result->GetBufferRef()->SetDeviceTransferChain(DeviceBuffer::FXOnlyTransferChain); | |
| - return std::move(JobP); | |
| + return JobP; | |
| } | |
| TiledBlobPtr T_MeshEncodedAsTexture::Create_WorldPos(MixUpdateCyclePtr Cycle, int32 TargetId) | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp | |
| index 2468eb91daf9..1c2f9cb679bd 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Mix/T_UpdateTargets.cpp | |
| @@ -65,7 +65,7 @@ JobUPtr T_UpdateTargets::CreateJob(MixUpdateCyclePtr Cycle, int32 TargetId, bool | |
| UpdateTargetsTransform->SetShouldUpdate(ShouldUpdate); | |
| BlobTransformPtr Transform = std::static_pointer_cast<BlobTransform>(UpdateTargetsTransform); | |
| JobUPtr job = std::make_unique<Job>(Cycle->GetMix(), TargetId, Transform); | |
| - return std::move(job); | |
| + return job; | |
| } | |
| void T_UpdateTargets::Create(MixUpdateCyclePtr Cycle, int32 TargetId, bool ShouldUpdate) | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp | |
| index 04c3c271e877..d72c8067e124 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/Transform/Utility/T_CombineTiledBlob.cpp | |
| @@ -249,8 +249,8 @@ AsyncTransformResultPtr CombineTiledBlob_Transform::Exec(const TransformArgs& Ar | |
| BlobPtr Target = Args.Target.lock(); | |
| check(Target); | |
| - DeviceBuffer_FX* DevBuffer = dynamic_cast<DeviceBuffer_FX*>(Target->GetBufferRef().get()); | |
| - check(DevBuffer); | |
| + check(Target->GetBufferRef().GetDeviceType() == DeviceType::FX); | |
| + DeviceBuffer_FX* DevBuffer = static_cast<DeviceBuffer_FX*>(Target->GetBufferRef().get()); | |
| T_Tiles<DeviceBufferRef> Tiles(Source->Rows(), Source->Cols()); | |
| DrawTilesSettings* DrawSettingsToUse = nullptr; | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/Private/Model/TextureGraphInsightSession.cpp b/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/Private/Model/TextureGraphInsightSession.cpp | |
| index a48c90dd817a..ff6b4a442111 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/Private/Model/TextureGraphInsightSession.cpp | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/Private/Model/TextureGraphInsightSession.cpp | |
| @@ -617,9 +617,9 @@ void TextureGraphInsightSession::UpdateJobRecord(JobPtrW job, JobRecord& record, | |
| for (uint32_t i = 0; i < sjob->NumArgs(); ++i) | |
| { | |
| auto arg = sjob->GetArg(i); | |
| - auto blobArg = std::dynamic_pointer_cast<JobArg_Blob>(arg); | |
| - if (blobArg) | |
| + if (arg->IsBlob()) | |
| { | |
| + auto blobArg = std::static_pointer_cast<JobArg_Blob>(arg); | |
| auto inputBlob = blobArg->GetBlob(); | |
| if (inputBlob) | |
| diff --git a/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/TextureGraphInsight.Build.cs b/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/TextureGraphInsight.Build.cs | |
| index d9f502a2a473..52f9d8c3a321 100644 | |
| --- a/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/TextureGraphInsight.Build.cs | |
| +++ b/Engine/Plugins/TextureGraph/Source/TextureGraphInsight/TextureGraphInsight.Build.cs | |
| @@ -6,7 +6,6 @@ public class TextureGraphInsight : ModuleRules | |
| public TextureGraphInsight(ReadOnlyTargetRules Target) : base(Target) | |
| { | |
| PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; | |
| - bUseRTTI = true; | |
| bEnableExceptions = true; | |
| PublicDependencyModuleNames.AddRange(new string[] { | |
| diff --git a/Engine/Plugins/TextureGraph/TextureGraph.uplugin b/Engine/Plugins/TextureGraph/TextureGraph.uplugin | |
| index 47acbe4d764e..8fc997992bfd 100644 | |
| --- a/Engine/Plugins/TextureGraph/TextureGraph.uplugin | |
| +++ b/Engine/Plugins/TextureGraph/TextureGraph.uplugin | |
| @@ -17,42 +17,27 @@ | |
| { | |
| "Name": "TextureGraphEngine", | |
| "Type": "Runtime", | |
| - "LoadingPhase": "PostConfigInit", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "PostConfigInit" | |
| }, | |
| { | |
| "Name": "TextureGraphInsight", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "TextureGraphInsightEditor", | |
| "Type": "Editor", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "TextureGraph", | |
| "Type": "Runtime", | |
| - "LoadingPhase": "Default", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "Default" | |
| }, | |
| { | |
| "Name": "TextureGraphEditor", | |
| "Type": "Editor", | |
| - "LoadingPhase": "PostEngineInit", | |
| - "PlatformAllowList": [ | |
| - "Win64" | |
| - ] | |
| + "LoadingPhase": "PostEngineInit" | |
| } | |
| ], | |
| "Plugins": [ | |
| @@ -76,8 +61,5 @@ | |
| "Name": "ImageWidgets", | |
| "Enabled": true | |
| } | |
| - ], | |
| - "SupportedTargetPlatforms": [ | |
| - "Win64" | |
| ] | |
| } | |
| \ No newline at end of file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment