56 lines
892 B
C++
56 lines
892 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
#include "HLSLTypeAliases.h"
|
|
|
|
namespace UE::HLSL
|
|
{
|
|
#endif
|
|
|
|
struct FMaterialCacheTagEntry
|
|
{
|
|
uint2 PackedUniform;
|
|
};
|
|
|
|
struct FMaterialCacheBinData
|
|
{
|
|
// DW0
|
|
uint3 ABufferPhysicalPosition;
|
|
uint PrimitiveData;
|
|
// DW4
|
|
float4 UVMinAndThreadAdvance;
|
|
// DW8
|
|
float4 UVMinAndInvSize;
|
|
// DW12
|
|
uint4 Pad16;
|
|
};
|
|
|
|
struct FMaterialCachePageWriteData
|
|
{
|
|
// DW0
|
|
uint3 ABufferPhysicalPosition;
|
|
uint Pad;
|
|
// DW4
|
|
uint2 VTPhysicalPosition;
|
|
uint Pad2;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
enum EMaterialCacheFlag
|
|
{
|
|
MatCache_None = 0u,
|
|
MatCache_DefaultBottomLayer = 1u << 0u,
|
|
};
|
|
#else // __cplusplus
|
|
// HLSL Cross-Compiler Workaround
|
|
#define EMaterialCacheFlag uint
|
|
static uint MatCache_None = 0u;
|
|
static uint MatCache_DefaultBottomLayer = 1u << 0u;
|
|
#endif // __cplusplus
|
|
|
|
#ifdef __cplusplus
|
|
} // namespace UE::HLSL
|
|
#endif
|