using Ghost.Core;
using Ghost.Graphics.Contracts;
namespace Ghost.Graphics.RHI;
public interface IShaderPipeline
{
///
/// Pipeline space
///
PipelineType Type
{
get;
}
}
public interface IPipelineLibrary : IDisposable
{
///
/// Load pipeline library from disk.
///
/// File path. If null, load default library.
void InitializeLibrary(string? filePath);
void SaveLibraryToDisk(string filePath);
bool HasPipeline(Key128 key);
Result> CompilePSO(ref readonly GraphicsPSODescriptor descriptor, ref readonly GraphicsCompiledResult compiled);
}