103 lines
2.1 KiB
Beef
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;
|