diff --git a/bindings/bf/bgfx.bf b/bindings/bf/bgfx.bf index 24b4ed595..e79d4c3e9 100644 --- a/bindings/bf/bgfx.bf +++ b/bindings/bf/bgfx.bf @@ -15,6 +15,8 @@ namespace Bgfx { public static class bgfx { + public typealias ViewId = uint16; + [AllowDuplicates] public enum StateFlags : uint64 { @@ -2003,7 +2005,7 @@ public static class bgfx public uint8 homogeneousDepth; public uint8 originBottomLeft; public uint8 numGPUs; - public uint32[4] gpu; + public GPU[4] gpu; public Limits limits; public uint16[85] formats; } @@ -2143,7 +2145,7 @@ public static class bgfx public struct ViewStats { public char8[256] name; - public uint16 view; + public ViewId view; public int64 cpuTimeBegin; public int64 cpuTimeEnd; public int64 gpuTimeBegin; @@ -2616,7 +2618,7 @@ public static class bgfx /// `printf` style format. /// [LinkName("bgfx_dbg_text_printf")] - public static extern void dbg_text_printf(uint16 _x, uint16 _y, uint8 _attr, char8* _format, params Object[] args ); + public static extern void dbg_text_printf(uint16 _x, uint16 _y, uint8 _attr, char8* _format, ... ); /// /// Print formatted data from variable argument list to internal debug text character-buffer (VGA-compatible text mode). @@ -3382,7 +3384,7 @@ public static class bgfx /// View name. /// [LinkName("bgfx_set_view_name")] - public static extern void set_view_name(uint16 _id, char8* _name); + public static extern void set_view_name(ViewId _id, char8* _name); /// /// Set view rectangle. Draw primitive outside view will be clipped. @@ -3395,7 +3397,7 @@ public static class bgfx /// Height of view port region. /// [LinkName("bgfx_set_view_rect")] - public static extern void set_view_rect(uint16 _id, uint16 _x, uint16 _y, uint16 _width, uint16 _height); + public static extern void set_view_rect(ViewId _id, uint16 _x, uint16 _y, uint16 _width, uint16 _height); /// /// Set view rectangle. Draw primitive outside view will be clipped. @@ -3407,7 +3409,7 @@ public static class bgfx /// Width and height will be set in respect to back-buffer size. See: `BackbufferRatio::Enum`. /// [LinkName("bgfx_set_view_rect_ratio")] - public static extern void set_view_rect_ratio(uint16 _id, uint16 _x, uint16 _y, BackbufferRatio _ratio); + public static extern void set_view_rect_ratio(ViewId _id, uint16 _x, uint16 _y, BackbufferRatio _ratio); /// /// Set view scissor. Draw primitive outside view will be clipped. When @@ -3421,7 +3423,7 @@ public static class bgfx /// Height of view scissor region. /// [LinkName("bgfx_set_view_scissor")] - public static extern void set_view_scissor(uint16 _id, uint16 _x, uint16 _y, uint16 _width, uint16 _height); + public static extern void set_view_scissor(ViewId _id, uint16 _x, uint16 _y, uint16 _width, uint16 _height); /// /// Set view clear flags. @@ -3434,7 +3436,7 @@ public static class bgfx /// Stencil clear value. /// [LinkName("bgfx_set_view_clear")] - public static extern void set_view_clear(uint16 _id, uint16 _flags, uint32 _rgba, float _depth, uint8 _stencil); + public static extern void set_view_clear(ViewId _id, uint16 _flags, uint32 _rgba, float _depth, uint8 _stencil); /// /// Set view clear flags with different clear color for each @@ -3456,7 +3458,7 @@ public static class bgfx /// Palette index for frame buffer attachment 7. /// [LinkName("bgfx_set_view_clear_mrt")] - public static extern void set_view_clear_mrt(uint16 _id, uint16 _flags, float _depth, uint8 _stencil, uint8 _c0, uint8 _c1, uint8 _c2, uint8 _c3, uint8 _c4, uint8 _c5, uint8 _c6, uint8 _c7); + public static extern void set_view_clear_mrt(ViewId _id, uint16 _flags, float _depth, uint8 _stencil, uint8 _c0, uint8 _c1, uint8 _c2, uint8 _c3, uint8 _c4, uint8 _c5, uint8 _c6, uint8 _c7); /// /// Set view sorting mode. @@ -3468,7 +3470,7 @@ public static class bgfx /// View sort mode. See `ViewMode::Enum`. /// [LinkName("bgfx_set_view_mode")] - public static extern void set_view_mode(uint16 _id, ViewMode _mode); + public static extern void set_view_mode(ViewId _id, ViewMode _mode); /// /// Set view frame buffer. @@ -3480,7 +3482,7 @@ public static class bgfx /// Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as frame buffer handle will draw primitives from this view into default back buffer. /// [LinkName("bgfx_set_view_frame_buffer")] - public static extern void set_view_frame_buffer(uint16 _id, FrameBufferHandle _handle); + public static extern void set_view_frame_buffer(ViewId _id, FrameBufferHandle _handle); /// /// Set view view and projection matrices, all draw primitives in this @@ -3492,7 +3494,7 @@ public static class bgfx /// Projection matrix. /// [LinkName("bgfx_set_view_transform")] - public static extern void set_view_transform(uint16 _id, void* _view, void* _proj); + public static extern void set_view_transform(ViewId _id, void* _view, void* _proj); /// /// Post submit view reordering. @@ -3503,14 +3505,14 @@ public static class bgfx /// View remap id table. Passing `NULL` will reset view ids to default state. /// [LinkName("bgfx_set_view_order")] - public static extern void set_view_order(uint16 _id, uint16 _num, uint16* _order); + public static extern void set_view_order(ViewId _id, uint16 _num, ViewId* _order); /// /// Reset all view settings to default. /// /// [LinkName("bgfx_reset_view")] - public static extern void reset_view(uint16 _id); + public static extern void reset_view(ViewId _id); /// /// Begin submitting draw calls from thread. @@ -3823,7 +3825,7 @@ public static class bgfx /// View id. /// [LinkName("bgfx_encoder_touch")] - public static extern void encoder_touch(Encoder* _this, uint16 _id); + public static extern void encoder_touch(Encoder* _this, ViewId _id); /// /// Submit primitive for rendering. @@ -3835,7 +3837,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_submit")] - public static extern void encoder_submit(Encoder* _this, uint16 _id, ProgramHandle _program, uint32 _depth, uint8 _flags); + public static extern void encoder_submit(Encoder* _this, ViewId _id, ProgramHandle _program, uint32 _depth, uint8 _flags); /// /// Submit primitive with occlusion query for rendering. @@ -3848,7 +3850,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_submit_occlusion_query")] - public static extern void encoder_submit_occlusion_query(Encoder* _this, uint16 _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32 _depth, uint8 _flags); + public static extern void encoder_submit_occlusion_query(Encoder* _this, ViewId _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32 _depth, uint8 _flags); /// /// Submit primitive for rendering with index and instance data info from @@ -3864,7 +3866,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_submit_indirect")] - public static extern void encoder_submit_indirect(Encoder* _this, uint16 _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint32 _depth, uint8 _flags); + public static extern void encoder_submit_indirect(Encoder* _this, ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint32 _depth, uint8 _flags); /// /// Set compute index buffer. @@ -3946,7 +3948,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_dispatch")] - public static extern void encoder_dispatch(Encoder* _this, uint16 _id, ProgramHandle _program, uint32 _numX, uint32 _numY, uint32 _numZ, uint8 _flags); + public static extern void encoder_dispatch(Encoder* _this, ViewId _id, ProgramHandle _program, uint32 _numX, uint32 _numY, uint32 _numZ, uint8 _flags); /// /// Dispatch compute indirect. @@ -3960,7 +3962,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_dispatch_indirect")] - public static extern void encoder_dispatch_indirect(Encoder* _this, uint16 _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint8 _flags); + public static extern void encoder_dispatch_indirect(Encoder* _this, ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint8 _flags); /// /// Discard previously set state for draw or compute call. @@ -3993,7 +3995,7 @@ public static class bgfx /// If texture is 3D this argument represents depth of region, otherwise it's unused. /// [LinkName("bgfx_encoder_blit")] - public static extern void encoder_blit(Encoder* _this, uint16 _id, TextureHandle _dst, uint8 _dstMip, uint16 _dstX, uint16 _dstY, uint16 _dstZ, TextureHandle _src, uint8 _srcMip, uint16 _srcX, uint16 _srcY, uint16 _srcZ, uint16 _width, uint16 _height, uint16 _depth); + public static extern void encoder_blit(Encoder* _this, ViewId _id, TextureHandle _dst, uint8 _dstMip, uint16 _dstX, uint16 _dstY, uint16 _dstZ, TextureHandle _src, uint8 _srcMip, uint16 _srcX, uint16 _srcY, uint16 _srcZ, uint16 _width, uint16 _height, uint16 _depth); /// /// Request screen shot of window back buffer. @@ -4379,7 +4381,7 @@ public static class bgfx /// View id. /// [LinkName("bgfx_touch")] - public static extern void touch(uint16 _id); + public static extern void touch(ViewId _id); /// /// Submit primitive for rendering. @@ -4391,7 +4393,7 @@ public static class bgfx /// Which states to discard for next draw. See BGFX_DISCARD_ /// [LinkName("bgfx_submit")] - public static extern void submit(uint16 _id, ProgramHandle _program, uint32 _depth, uint8 _flags); + public static extern void submit(ViewId _id, ProgramHandle _program, uint32 _depth, uint8 _flags); /// /// Submit primitive with occlusion query for rendering. @@ -4404,7 +4406,7 @@ public static class bgfx /// Which states to discard for next draw. See BGFX_DISCARD_ /// [LinkName("bgfx_submit_occlusion_query")] - public static extern void submit_occlusion_query(uint16 _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32 _depth, uint8 _flags); + public static extern void submit_occlusion_query(ViewId _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32 _depth, uint8 _flags); /// /// Submit primitive for rendering with index and instance data info from @@ -4420,7 +4422,7 @@ public static class bgfx /// Which states to discard for next draw. See BGFX_DISCARD_ /// [LinkName("bgfx_submit_indirect")] - public static extern void submit_indirect(uint16 _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint32 _depth, uint8 _flags); + public static extern void submit_indirect(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint32 _depth, uint8 _flags); /// /// Set compute index buffer. @@ -4502,7 +4504,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_dispatch")] - public static extern void dispatch(uint16 _id, ProgramHandle _program, uint32 _numX, uint32 _numY, uint32 _numZ, uint8 _flags); + public static extern void dispatch(ViewId _id, ProgramHandle _program, uint32 _numX, uint32 _numY, uint32 _numZ, uint8 _flags); /// /// Dispatch compute indirect. @@ -4516,7 +4518,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_dispatch_indirect")] - public static extern void dispatch_indirect(uint16 _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint8 _flags); + public static extern void dispatch_indirect(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, uint16 _num, uint8 _flags); /// /// Discard previously set state for draw or compute call. @@ -4549,7 +4551,7 @@ public static class bgfx /// If texture is 3D this argument represents depth of region, otherwise it's unused. /// [LinkName("bgfx_blit")] - public static extern void blit(uint16 _id, TextureHandle _dst, uint8 _dstMip, uint16 _dstX, uint16 _dstY, uint16 _dstZ, TextureHandle _src, uint8 _srcMip, uint16 _srcX, uint16 _srcY, uint16 _srcZ, uint16 _width, uint16 _height, uint16 _depth); + public static extern void blit(ViewId _id, TextureHandle _dst, uint8 _dstMip, uint16 _dstX, uint16 _dstY, uint16 _dstZ, TextureHandle _src, uint8 _srcMip, uint16 _srcX, uint16 _srcY, uint16 _srcZ, uint16 _width, uint16 _height, uint16 _depth); public static bgfx.StateFlags blend_function_separate(bgfx.StateFlags _srcRGB, bgfx.StateFlags _dstRGB, bgfx.StateFlags _srcA, bgfx.StateFlags _dstA) diff --git a/scripts/bindings-bf.lua b/scripts/bindings-bf.lua index a02b1360d..ef0df58d7 100644 --- a/scripts/bindings-bf.lua +++ b/scripts/bindings-bf.lua @@ -19,6 +19,8 @@ namespace Bgfx { public static class bgfx { + public typealias ViewId = uint16; + $types $funcs @@ -56,31 +58,21 @@ local function convert_type_0(arg) return arg.ctype:gsub("int32_t", "int") elseif hasPrefix(arg.ctype, "uint16_t") then return arg.ctype:gsub("uint16_t", "uint16") - elseif hasPrefix(arg.ctype, "bgfx_view_id_t") then - return arg.ctype:gsub("bgfx_view_id_t", "uint16") elseif hasPrefix(arg.ctype, "uint8_t") then return arg.ctype:gsub("uint8_t", "uint8") elseif hasPrefix(arg.ctype, "uintptr_t") then return arg.ctype:gsub("uintptr_t", "void*") - elseif arg.ctype == "bgfx_caps_gpu_t" then - return arg.ctype:gsub("bgfx_caps_gpu_t", "uint32") elseif arg.ctype == "const char*" then return "char8*" elseif hasPrefix(arg.ctype, "char") then return arg.ctype:gsub("char", "char8") elseif hasPrefix(arg.ctype, "byte") then return arg.ctype:gsub("byte", "uint8") - elseif hasSuffix(arg.fulltype, "Handle") then - return arg.fulltype - elseif arg.ctype == "..." then - return "params Object[] args" elseif arg.ctype == "va_list" or arg.fulltype == "bx::AllocatorI*" or arg.fulltype == "CallbackI*" or arg.fulltype == "ReleaseFn" then return "void*" - elseif arg.fulltype == "const ViewId*" then - return "uint16*" end return arg.fulltype