Continue working on RHI

This commit is contained in:
2025-09-12 21:44:32 +09:00
parent 1b0ef03728
commit 1dfed83e38
49 changed files with 1780 additions and 2195 deletions

View File

@@ -1,9 +1,9 @@
using Ghost.Graphics.D3D12;
using Ghost.Graphics.RHI;
namespace Ghost.Graphics.Contracts;
public interface IRenderPass : IDisposable
{
void Initialize(CommandList cmd);
void Execute(CommandList cmd);
void Initialize(ICommandBuffer cmd);
void Execute(ICommandBuffer cmd);
}

View File

@@ -3,7 +3,7 @@
namespace Ghost.Graphics.Contracts;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Interoperability", "CA1416:Validate platform compatibility", Justification = "<Pending>")]
public unsafe readonly struct ISwapChainPanelNative
public unsafe readonly struct ISwapChainPanelNative : ISwapChainPanelNative.Interface, IDisposable
{
[ComImport]
[Guid("63aad0b8-7c24-40ff-85a8-640d944cc325")]
@@ -20,13 +20,27 @@ public unsafe readonly struct ISwapChainPanelNative
}
private readonly IntPtr _nativePtr;
public readonly IntPtr NativePointer => _nativePtr;
public ISwapChainPanelNative(IntPtr nativePtr)
{
_nativePtr = nativePtr;
}
public void QueryInterface(in Guid riid, out nint ppvObject)
{
throw new NotImplementedException();
}
public uint AddRef()
{
throw new NotImplementedException();
}
public uint Release()
{
throw new NotImplementedException();
}
public static ISwapChainPanelNative FromSwapChainPanel(object panel)
{
// Get the IUnknown/IInspectable pointer