2023-08-14 01:26:42 +00:00
|
|
|
using Ryujinx.Graphics.Shader.IntermediateRepresentation;
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Shader.Translation
|
|
|
|
{
|
|
|
|
readonly ref struct TransformContext
|
|
|
|
{
|
|
|
|
public readonly HelperFunctionManager Hfm;
|
|
|
|
public readonly BasicBlock[] Blocks;
|
2023-08-30 00:10:34 +00:00
|
|
|
public readonly ShaderDefinitions Definitions;
|
2023-08-14 01:26:42 +00:00
|
|
|
public readonly ResourceManager ResourceManager;
|
|
|
|
public readonly IGpuAccessor GpuAccessor;
|
|
|
|
public readonly TargetLanguage TargetLanguage;
|
|
|
|
public readonly ShaderStage Stage;
|
|
|
|
public readonly ref FeatureFlags UsedFeatures;
|
|
|
|
|
|
|
|
public TransformContext(
|
|
|
|
HelperFunctionManager hfm,
|
|
|
|
BasicBlock[] blocks,
|
2023-08-30 00:10:34 +00:00
|
|
|
ShaderDefinitions definitions,
|
2023-08-14 01:26:42 +00:00
|
|
|
ResourceManager resourceManager,
|
|
|
|
IGpuAccessor gpuAccessor,
|
|
|
|
TargetLanguage targetLanguage,
|
|
|
|
ShaderStage stage,
|
|
|
|
ref FeatureFlags usedFeatures)
|
|
|
|
{
|
|
|
|
Hfm = hfm;
|
|
|
|
Blocks = blocks;
|
2023-08-30 00:10:34 +00:00
|
|
|
Definitions = definitions;
|
2023-08-14 01:26:42 +00:00
|
|
|
ResourceManager = resourceManager;
|
|
|
|
GpuAccessor = gpuAccessor;
|
|
|
|
TargetLanguage = targetLanguage;
|
|
|
|
Stage = stage;
|
|
|
|
UsedFeatures = ref usedFeatures;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|