Files
Vulkan-Beef/src/Library.bf
2026-04-14 14:01:37 +02:00

103 lines
2.1 KiB
Beef

// This file is NOT auto-generated
using System;
using System.Interop;
using System.Collections;
namespace Vulkan;
struct VkBool32 : uint32
{
public static operator bool(Self b) => b != VK_FALSE;
public static operator Self(bool b) => b ? VK_TRUE : VK_FALSE;
}
static
{
public const CallingConventionAttribute.Kind VKAPI_PTR =
#if BF_PLATFORM_WINDOWS
.Stdcall;
#else
.Unspecified;
#endif
public const let VK_NULL_HANDLE = 0;
}
extension VkResult
{
[NoShow(false), SkipCall, Warn("VkResult discarded")]
public void ReturnValueDiscarded();
}
extension VkFormat
{
public struct Component : this(Channel channel, int? bits, NumericFormat numericFormat)
{
public enum Channel { R, G, B, A, D, S }
}
//public struct ChromaSubsamplingInfo : this(int luma, int chroma1, int chroma2);
}
namespace Vulkan.Metadata;
extension VulkanExtension
{
public enum Kind { Instance, Device }
public struct DependencyIterator : IEnumerator<VulkanExtension>
{
public VulkanExtension ext;
public int index;
public int count;
public this(VulkanExtension ext)
{
this.ext = ext;
this.index = 0;
this.count = ext.DependencyCount;
}
public Result<VulkanExtension> GetNext() mut
{
if (index >= count) return .Err;
return .Ok(ext.GetDependency(index++));
}
}
public DependencyIterator Dependencies => .(this);
}
namespace Vulkan.External;
struct Display;
struct VisualID;
struct Window : uint32 {}
struct RROutput;
struct wl_display;
struct wl_surface;
struct HINSTANCE : int {}
struct HWND : int {}
struct HMONITOR : int {}
struct HANDLE : int {}
struct SECURITY_ATTRIBUTES;
typealias DWORD = int32;
typealias LPCWSTR = c_wchar*;
struct xcb_connection_t;
struct xcb_visualid_t;
struct xcb_window_t : uint32 {}
struct IDirectFB;
struct IDirectFBSurface;
struct zx_handle_t : int {}
struct GgpStreamDescriptor { /* this struct is propritary, so we don't know it's size */ }
typealias GgpFrameToken = uint32;
struct _screen_context;
struct _screen_window;
struct _screen_buffer;
struct NvSciSyncAttrList;
struct NvSciSyncObj;
struct NvSciSyncFence;
struct NvSciBufAttrList;
struct NvSciBufObj;