Reviewed-on: #2
cosmonaut 2022-09-29 21:17:59 +00:00
parent 356f8e9ec2
commit e8cdfa9279
1 changed files with 41 additions and 15 deletions

View File

@ -36,7 +36,7 @@ namespace RefreshCS
/* Version */ /* Version */
public const uint REFRESH_MAJOR_VERSION = 1; public const uint REFRESH_MAJOR_VERSION = 1;
public const uint REFRESH_MINOR_VERSION = 7; public const uint REFRESH_MINOR_VERSION = 8;
public const uint REFRESH_PATCH_VERSION = 0; public const uint REFRESH_PATCH_VERSION = 0;
public const uint REFRESH_COMPILED_VERSION = ( public const uint REFRESH_COMPILED_VERSION = (
@ -315,6 +315,14 @@ namespace RefreshCS
IntOpaqueWhite IntOpaqueWhite
} }
public enum Backend
{
DontCare,
Vulkan,
PS5,
Invalid
}
/* Native Structures */ /* Native Structures */
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
@ -363,13 +371,6 @@ namespace RefreshCS
public uint level; public uint level;
} }
[StructLayout(LayoutKind.Sequential)]
public struct PresentationParameters
{
public IntPtr deviceWindowHandle;
public PresentMode presentMode;
}
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct SamplerStateCreateInfo public struct SamplerStateCreateInfo
{ {
@ -585,9 +586,14 @@ namespace RefreshCS
/* Init/Quit */ /* Init/Quit */
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern Backend Refresh_SelectBackend(
Backend preferredBackend,
out uint flags
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr Refresh_CreateDevice( public static extern IntPtr Refresh_CreateDevice(
in PresentationParameters presentationParameters,
byte debugMode byte debugMode
); );
@ -940,6 +946,32 @@ namespace RefreshCS
/* Submission/Presentation */ /* Submission/Presentation */
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern byte Refresh_ClaimWindow(
IntPtr device,
IntPtr windowHandle,
PresentMode presentMode
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern void Refresh_UnclaimWindow(
IntPtr device,
IntPtr windowHandle
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern void Refresh_SetSwapchainPresentMode(
IntPtr device,
IntPtr windowHandle,
PresentMode presentMode
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern TextureFormat Refresh_GetSwapchainFormat(
IntPtr device,
IntPtr windowHandle
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr Refresh_AcquireCommandBuffer( public static extern IntPtr Refresh_AcquireCommandBuffer(
IntPtr device, IntPtr device,
@ -955,12 +987,6 @@ namespace RefreshCS
out uint height out uint height
); );
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern TextureFormat Refresh_GetSwapchainFormat(
IntPtr device,
IntPtr windowHandle
);
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
public static extern void Refresh_Submit( public static extern void Refresh_Submit(
IntPtr device, IntPtr device,