diff --git a/bindings/bf/bgfx.bf b/bindings/bf/bgfx.bf index 906a2377c..cc13110fc 100644 --- a/bindings/bf/bgfx.bf +++ b/bindings/bf/bgfx.bf @@ -2016,6 +2016,22 @@ public static class bgfx Count } + [AllowDuplicates] + public enum NativeWindowHandleType : uint32 + { + /// + /// Platform default handle type (X11 on Linux). + /// + Default, + + /// + /// Wayland. + /// + Wayland, + + Count + } + [AllowDuplicates] public enum RenderFrame : uint32 { @@ -2108,6 +2124,7 @@ public static class bgfx public void* context; public void* backBuffer; public void* backBufferDS; + public NativeWindowHandleType type; } [CRepr] diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs index b8676ea61..baccff2c3 100644 --- a/bindings/cs/bgfx.cs +++ b/bindings/cs/bgfx.cs @@ -2002,6 +2002,21 @@ public static partial class bgfx Count } + public enum NativeWindowHandleType + { + /// + /// Platform default handle type (X11 on Linux). + /// + Default, + + /// + /// Wayland. + /// + Wayland, + + Count + } + public enum RenderFrame { /// @@ -2088,6 +2103,7 @@ public static partial class bgfx public void* context; public void* backBuffer; public void* backBufferDS; + public NativeWindowHandleType type; } public unsafe struct Resolution diff --git a/bindings/d/package.d b/bindings/d/package.d index d05b8c89d..606959c60 100644 --- a/bindings/d/package.d +++ b/bindings/d/package.d @@ -839,6 +839,13 @@ enum ViewMode: bgfx.fakeenum.ViewMode.Enum{ count = bgfx.fakeenum.ViewMode.Enum.count, } +///Native window handle type. +enum NativeWindowHandleType: bgfx.fakeenum.NativeWindowHandleType.Enum{ + default_ = bgfx.fakeenum.NativeWindowHandleType.Enum.default_, + wayland = bgfx.fakeenum.NativeWindowHandleType.Enum.wayland, + count = bgfx.fakeenum.NativeWindowHandleType.Enum.count, +} + ///Render frame enum. enum RenderFrame: bgfx.fakeenum.RenderFrame.Enum{ noContext = bgfx.fakeenum.RenderFrame.Enum.noContext, @@ -1073,6 +1080,7 @@ extern(C++, "bgfx") struct PlatformData{ depth/stencil surface. */ void* backBufferDS; + NativeWindowHandleType type; ///Handle type. Needed for platforms having more than one option. } ///Backbuffer resolution and reset parameters. diff --git a/bindings/zig/bgfx.zig b/bindings/zig/bgfx.zig index 757888b0f..592926858 100644 --- a/bindings/zig/bgfx.zig +++ b/bindings/zig/bgfx.zig @@ -1260,6 +1260,16 @@ pub const ViewMode = enum(c_int) { Count }; +pub const NativeWindowHandleType = enum(c_int) { + /// Platform default handle type (X11 on Linux). + Default, + + /// Wayland. + Wayland, + + Count +}; + pub const RenderFrame = enum(c_int) { /// Renderer context is not created yet. NoContext, @@ -1332,6 +1342,7 @@ pub const Caps = extern struct { context: ?*anyopaque, backBuffer: ?*anyopaque, backBufferDS: ?*anyopaque, + type: NativeWindowHandleType, }; pub const Resolution = extern struct { diff --git a/scripts/bgfx.idl b/scripts/bgfx.idl index 2852fbef7..32f143d23 100644 --- a/scripts/bgfx.idl +++ b/scripts/bgfx.idl @@ -690,6 +690,12 @@ enum.ViewMode { underscore, comment = "View modes:" } .DepthDescending --- Sort draw call depth in descending order. () +--- Native window handle type. +enum.NativeWindowHandleType { underscore, comment = "Native Window handle type:" } + .Default --- Platform default handle type (X11 on Linux). + .Wayland --- Wayland. + () + --- Render frame enum. enum.RenderFrame { underscore, comment = "" } .NoContext --- Renderer context is not created yet. @@ -774,15 +780,16 @@ struct.InternalData --- Platform data. struct.PlatformData { ctor } - .ndt "void*" --- Native display type (*nix specific). - .nwh "void*" --- Native window handle. If `NULL`, bgfx will create a headless - --- context/device, provided the rendering API supports it. - .context "void*" --- GL context, D3D device, or Vulkan device. If `NULL`, bgfx - --- will create context/device. - .backBuffer "void*" --- GL back-buffer, or D3D render target view. If `NULL` bgfx will - --- create back-buffer color surface. - .backBufferDS "void*" --- Backbuffer depth/stencil. If `NULL`, bgfx will create a back-buffer - --- depth/stencil surface. + .ndt "void*" --- Native display type (*nix specific). + .nwh "void*" --- Native window handle. If `NULL`, bgfx will create a headless + --- context/device, provided the rendering API supports it. + .context "void*" --- GL context, D3D device, or Vulkan device. If `NULL`, bgfx + --- will create context/device. + .backBuffer "void*" --- GL back-buffer, or D3D render target view. If `NULL` bgfx will + --- create back-buffer color surface. + .backBufferDS "void*" --- Backbuffer depth/stencil. If `NULL`, bgfx will create a back-buffer + --- depth/stencil surface. + .type "NativeWindowHandleType::Enum" --- Handle type. Needed for platforms having more than one option. --- Backbuffer resolution and reset parameters. struct.Resolution { ctor }