Updated Beef bindings (#2426)

* Vulkan shader compiler uniform size fix (>255).

* Updated IDL Beef bindings

Co-authored-by: Aleš Mlakar <ales.ambits@gmail.com>
This commit is contained in:
Aleš Mlakar 2021-03-18 01:49:01 +01:00 committed by GitHub
parent ed037a74f1
commit f2a42ec216
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 38 deletions

View File

@ -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
/// <param name="_format">`printf` style format.</param>
///
[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, ... );
/// <summary>
/// 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
/// <param name="_name">View name.</param>
///
[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);
/// <summary>
/// Set view rectangle. Draw primitive outside view will be clipped.
@ -3395,7 +3397,7 @@ public static class bgfx
/// <param name="_height">Height of view port region.</param>
///
[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);
/// <summary>
/// Set view rectangle. Draw primitive outside view will be clipped.
@ -3407,7 +3409,7 @@ public static class bgfx
/// <param name="_ratio">Width and height will be set in respect to back-buffer size. See: `BackbufferRatio::Enum`.</param>
///
[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);
/// <summary>
/// Set view scissor. Draw primitive outside view will be clipped. When
@ -3421,7 +3423,7 @@ public static class bgfx
/// <param name="_height">Height of view scissor region.</param>
///
[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);
/// <summary>
/// Set view clear flags.
@ -3434,7 +3436,7 @@ public static class bgfx
/// <param name="_stencil">Stencil clear value.</param>
///
[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);
/// <summary>
/// Set view clear flags with different clear color for each
@ -3456,7 +3458,7 @@ public static class bgfx
/// <param name="_c7">Palette index for frame buffer attachment 7.</param>
///
[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);
/// <summary>
/// Set view sorting mode.
@ -3468,7 +3470,7 @@ public static class bgfx
/// <param name="_mode">View sort mode. See `ViewMode::Enum`.</param>
///
[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);
/// <summary>
/// Set view frame buffer.
@ -3480,7 +3482,7 @@ public static class bgfx
/// <param name="_handle">Frame buffer handle. Passing `BGFX_INVALID_HANDLE` as frame buffer handle will draw primitives from this view into default back buffer.</param>
///
[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);
/// <summary>
/// Set view view and projection matrices, all draw primitives in this
@ -3492,7 +3494,7 @@ public static class bgfx
/// <param name="_proj">Projection matrix.</param>
///
[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);
/// <summary>
/// Post submit view reordering.
@ -3503,14 +3505,14 @@ public static class bgfx
/// <param name="_order">View remap id table. Passing `NULL` will reset view ids to default state.</param>
///
[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);
/// <summary>
/// Reset all view settings to default.
/// </summary>
///
[LinkName("bgfx_reset_view")]
public static extern void reset_view(uint16 _id);
public static extern void reset_view(ViewId _id);
/// <summary>
/// Begin submitting draw calls from thread.
@ -3823,7 +3825,7 @@ public static class bgfx
/// <param name="_id">View id.</param>
///
[LinkName("bgfx_encoder_touch")]
public static extern void encoder_touch(Encoder* _this, uint16 _id);
public static extern void encoder_touch(Encoder* _this, ViewId _id);
/// <summary>
/// Submit primitive for rendering.
@ -3835,7 +3837,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Submit primitive with occlusion query for rendering.
@ -3848,7 +3850,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Submit primitive for rendering with index and instance data info from
@ -3864,7 +3866,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Set compute index buffer.
@ -3946,7 +3948,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Dispatch compute indirect.
@ -3960,7 +3962,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Discard previously set state for draw or compute call.
@ -3993,7 +3995,7 @@ public static class bgfx
/// <param name="_depth">If texture is 3D this argument represents depth of region, otherwise it's unused.</param>
///
[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);
/// <summary>
/// Request screen shot of window back buffer.
@ -4379,7 +4381,7 @@ public static class bgfx
/// <param name="_id">View id.</param>
///
[LinkName("bgfx_touch")]
public static extern void touch(uint16 _id);
public static extern void touch(ViewId _id);
/// <summary>
/// Submit primitive for rendering.
@ -4391,7 +4393,7 @@ public static class bgfx
/// <param name="_flags">Which states to discard for next draw. See BGFX_DISCARD_</param>
///
[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);
/// <summary>
/// Submit primitive with occlusion query for rendering.
@ -4404,7 +4406,7 @@ public static class bgfx
/// <param name="_flags">Which states to discard for next draw. See BGFX_DISCARD_</param>
///
[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);
/// <summary>
/// Submit primitive for rendering with index and instance data info from
@ -4420,7 +4422,7 @@ public static class bgfx
/// <param name="_flags">Which states to discard for next draw. See BGFX_DISCARD_</param>
///
[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);
/// <summary>
/// Set compute index buffer.
@ -4502,7 +4504,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Dispatch compute indirect.
@ -4516,7 +4518,7 @@ public static class bgfx
/// <param name="_flags">Discard or preserve states. See `BGFX_DISCARD_*`.</param>
///
[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);
/// <summary>
/// Discard previously set state for draw or compute call.
@ -4549,7 +4551,7 @@ public static class bgfx
/// <param name="_depth">If texture is 3D this argument represents depth of region, otherwise it's unused.</param>
///
[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)

View File

@ -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