// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/Array.h" #include "RHIShaderPlatform.h" #include "ShaderCompilerJobTypes.h" struct FShaderDiagnosticInfo { TArray ErrorJobs; TArray UniqueErrors; TArray UniqueWarnings; TArray ErrorPlatforms; FString TargetShaderPlatformString; RENDERCORE_API FShaderDiagnosticInfo(const TArray& Jobs); private: void AddAndProcessErrorsForJob(FShaderCommonCompileJob& Job); int32 AddAndProcessErrorsForFailedJobFiltered(FShaderCompileJob& Job, const TCHAR* FilterMessage); void AddWarningsForJob(const FShaderCommonCompileJob& Job); TArray UniqueErrorHashes; }; RENDERCORE_API FString GetSingleJobCompilationDump(const FShaderCompileJob* SingleJob); RENDERCORE_API bool IsShaderDevelopmentModeEnabled();