You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902 #ROBOMERGE-BOT: (v613-10869866) [CL 10870584 by ryan durand in Main branch]
43 lines
1.5 KiB
C++
43 lines
1.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
HlslParser.h - Interface for parsing hlsl.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Developer/ShaderCompilerCommon/Private/HlslUtils.h"
|
|
|
|
class Error;
|
|
|
|
namespace CrossCompiler
|
|
{
|
|
struct FLinearAllocator;
|
|
namespace AST
|
|
{
|
|
class FNode;
|
|
}
|
|
|
|
enum class EParseResult
|
|
{
|
|
Matched,
|
|
NotMatched,
|
|
Error,
|
|
};
|
|
|
|
namespace Parser
|
|
{
|
|
typedef void TCallback(void* CallbackData, CrossCompiler::FLinearAllocator* Allocator, CrossCompiler::TLinearArray<CrossCompiler::AST::FNode*>& ASTNodes);
|
|
|
|
// Returns true if successfully parsed
|
|
SHADERCOMPILERCOMMON_API bool Parse(const FString& Input, const FString& Filename, FCompilerMessages& OutCompilerMessages, TCallback* Callback, void* CallbackData = nullptr);
|
|
|
|
// Returns true if successfully parsed
|
|
SHADERCOMPILERCOMMON_API bool Parse(const FString& Input, const FString& Filename, FCompilerMessages& OutCompilerMessages, TFunction< void(CrossCompiler::FLinearAllocator* Allocator, CrossCompiler::TLinearArray<CrossCompiler::AST::FNode*>& ASTNodes)> Function);
|
|
|
|
// Sample callback to write out all nodes into a string; pass a valid pointer FString* as OutFStringPointer
|
|
SHADERCOMPILERCOMMON_API void WriteNodesToString(void* OutFStringPointer, CrossCompiler::FLinearAllocator* Allocator, CrossCompiler::TLinearArray<CrossCompiler::AST::FNode*>& ASTNodes);
|
|
}
|
|
}
|