using Ghost.Core.Graphics; namespace Ghost.Graphics.RHI; public interface IShaderPipeline { /// /// Pipeline type /// PipelineType Type { get; } } public interface IPipelineLibrary { /// /// Load pipeline library from disk. /// /// File path. If null, load default library. void LoadLibraryFromDisk(string? filePath); void SaveLibraryToDisk(string filePath); GraphicsPipelineKey CompilePassPSO(IPassDescriptor descriptor, ReadOnlySpan rtvs, TextureFormat dsv); }