From b927f9e187a145c242f40d171d35b6822bfc2e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Fri, 26 Jan 2024 20:18:24 -0800 Subject: [PATCH] Use 32-bit arguments for indirect draw APIs. --- bindings/bf/bgfx.bf | 10 +++++----- bindings/cs/bgfx.cs | 10 +++++----- bindings/d/package.d | 12 ++++++------ bindings/zig/bgfx.zig | 20 ++++++++++---------- include/bgfx/bgfx.h | 20 ++++++++++---------- include/bgfx/c99/bgfx.h | 20 ++++++++++---------- include/bgfx/defines.h | 2 +- scripts/bgfx.idl | 18 +++++++++--------- src/bgfx.cpp | 12 ++++++------ src/bgfx.idl.inl | 10 +++++----- src/bgfx_p.h | 10 +++++----- 11 files changed, 72 insertions(+), 72 deletions(-) diff --git a/bindings/bf/bgfx.bf b/bindings/bf/bgfx.bf index 2c8422301..6706e7c54 100644 --- a/bindings/bf/bgfx.bf +++ b/bindings/bf/bgfx.bf @@ -3981,7 +3981,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, ViewId _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, uint32 _start, uint32 _num, uint32 _depth, uint8 _flags); /// /// Submit primitive for rendering with index and instance data info and @@ -4000,7 +4000,7 @@ public static class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_encoder_submit_indirect_count")] - public static extern void encoder_submit_indirect_count(Encoder* _this, ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, IndexBufferHandle _numHandle, uint32 _numIndex, uint16 _numMax, uint32 _depth, uint8 _flags); + public static extern void encoder_submit_indirect_count(Encoder* _this, ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32 _start, IndexBufferHandle _numHandle, uint32 _numIndex, uint16 _numMax, uint32 _depth, uint8 _flags); /// /// Set compute index buffer. @@ -4096,7 +4096,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, ViewId _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, uint32 _start, uint32 _num, uint8 _flags); /// /// Discard previously set state for draw or compute call. @@ -4557,7 +4557,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(ViewId _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, uint32 _start, uint32 _num, uint32 _depth, uint8 _flags); /// /// Submit primitive for rendering with index and instance data info and @@ -4576,7 +4576,7 @@ public static class bgfx /// Which states to discard for next draw. See `BGFX_DISCARD_*`. /// [LinkName("bgfx_submit_indirect_count")] - public static extern void submit_indirect_count(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16 _start, IndexBufferHandle _numHandle, uint32 _numIndex, uint16 _numMax, uint32 _depth, uint8 _flags); + public static extern void submit_indirect_count(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32 _start, IndexBufferHandle _numHandle, uint32 _numIndex, uint16 _numMax, uint32 _depth, uint8 _flags); /// /// Set compute index buffer. diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs index 530453ad8..6f8b71953 100644 --- a/bindings/cs/bgfx.cs +++ b/bindings/cs/bgfx.cs @@ -3937,7 +3937,7 @@ public static partial class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [DllImport(DllName, EntryPoint="bgfx_encoder_submit_indirect", CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe void encoder_submit_indirect(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, ushort _start, ushort _num, uint _depth, byte _flags); + public static extern unsafe void encoder_submit_indirect(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint _start, uint _num, uint _depth, byte _flags); /// /// Submit primitive for rendering with index and instance data info and @@ -3956,7 +3956,7 @@ public static partial class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [DllImport(DllName, EntryPoint="bgfx_encoder_submit_indirect_count", CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe void encoder_submit_indirect_count(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, ushort _start, IndexBufferHandle _numHandle, uint _numIndex, ushort _numMax, uint _depth, byte _flags); + public static extern unsafe void encoder_submit_indirect_count(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint _start, IndexBufferHandle _numHandle, uint _numIndex, ushort _numMax, uint _depth, byte _flags); /// /// Set compute index buffer. @@ -4052,7 +4052,7 @@ public static partial class bgfx /// Discard or preserve states. See `BGFX_DISCARD_*`. /// [DllImport(DllName, EntryPoint="bgfx_encoder_dispatch_indirect", CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe void encoder_dispatch_indirect(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, ushort _start, ushort _num, byte _flags); + public static extern unsafe void encoder_dispatch_indirect(Encoder* _this, ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint _start, uint _num, byte _flags); /// /// Discard previously set state for draw or compute call. @@ -4513,7 +4513,7 @@ public static partial class bgfx /// Which states to discard for next draw. See `BGFX_DISCARD_*`. /// [DllImport(DllName, EntryPoint="bgfx_submit_indirect", CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe void submit_indirect(ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, ushort _start, ushort _num, uint _depth, byte _flags); + public static extern unsafe void submit_indirect(ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint _start, uint _num, uint _depth, byte _flags); /// /// Submit primitive for rendering with index and instance data info and @@ -4532,7 +4532,7 @@ public static partial class bgfx /// Which states to discard for next draw. See `BGFX_DISCARD_*`. /// [DllImport(DllName, EntryPoint="bgfx_submit_indirect_count", CallingConvention = CallingConvention.Cdecl)] - public static extern unsafe void submit_indirect_count(ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, ushort _start, IndexBufferHandle _numHandle, uint _numIndex, ushort _numMax, uint _depth, byte _flags); + public static extern unsafe void submit_indirect_count(ushort _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint _start, IndexBufferHandle _numHandle, uint _numIndex, ushort _numMax, uint _depth, byte _flags); /// /// Set compute index buffer. diff --git a/bindings/d/package.d b/bindings/d/package.d index d87c83058..27ce8a9d0 100644 --- a/bindings/d/package.d +++ b/bindings/d/package.d @@ -10,7 +10,7 @@ import bindbc.bgfx.config; import bindbc.common.types: c_int64, c_uint64, va_list; static import bgfx.fakeenum; -enum uint apiVersion = 124; +enum uint apiVersion = 125; alias ViewID = ushort; @@ -1701,7 +1701,7 @@ extern(C++, "bgfx") struct Encoder{ depth = Depth for sorting. flags = Discard or preserve states. See `BGFX_DISCARD_*`. */ - {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, ushort start=0, ushort num=1, uint depth=0, ubyte flags=Discard.all}, ext: `C++`}, + {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, uint start=0, uint num=1, uint depth=0, ubyte flags=Discard.all}, ext: `C++`}, /** Submit primitive for rendering with index and instance data info and @@ -1719,7 +1719,7 @@ extern(C++, "bgfx") struct Encoder{ depth = Depth for sorting. flags = Discard or preserve states. See `BGFX_DISCARD_*`. */ - {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, ushort start, IndexBufferHandle numHandle, uint numIndex=0, ushort numMax=ushort.max, uint depth=0, ubyte flags=Discard.all}, ext: `C++`}, + {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, uint start, IndexBufferHandle numHandle, uint numIndex=0, ushort numMax=ushort.max, uint depth=0, ubyte flags=Discard.all}, ext: `C++`}, /** Set compute index buffer. @@ -1799,7 +1799,7 @@ extern(C++, "bgfx") struct Encoder{ num = Number of dispatches. flags = Discard or preserve states. See `BGFX_DISCARD_*`. */ - {q{void}, q{dispatch}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, ushort start=0, ushort num=1, ubyte flags=Discard.all}, ext: `C++`}, + {q{void}, q{dispatch}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, uint start=0, uint num=1, ubyte flags=Discard.all}, ext: `C++`}, /** Discard previously set state for draw or compute call. @@ -3409,7 +3409,7 @@ mixin(joinFnBinds((){ depth = Depth for sorting. flags = Which states to discard for next draw. See `BGFX_DISCARD_*`. */ - {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, ushort start=0, ushort num=1, uint depth=0, ubyte flags=Discard.all}, ext: `C++, "bgfx"`}, + {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, uint start=0, uint num=1, uint depth=0, ubyte flags=Discard.all}, ext: `C++, "bgfx"`}, /** * Submit primitive for rendering with index and instance data info and @@ -3427,7 +3427,7 @@ mixin(joinFnBinds((){ depth = Depth for sorting. flags = Which states to discard for next draw. See `BGFX_DISCARD_*`. */ - {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, ushort start, IndexBufferHandle numHandle, uint numIndex=0, ushort numMax=ushort.max, uint depth=0, ubyte flags=Discard.all}, ext: `C++, "bgfx"`}, + {q{void}, q{submit}, q{ViewID id, ProgramHandle program, IndirectBufferHandle indirectHandle, uint start, IndexBufferHandle numHandle, uint numIndex=0, ushort numMax=ushort.max, uint depth=0, ubyte flags=Discard.all}, ext: `C++, "bgfx"`}, /** * Set compute index buffer. diff --git a/bindings/zig/bgfx.zig b/bindings/zig/bgfx.zig index a535fd5a1..5dc617960 100644 --- a/bindings/zig/bgfx.zig +++ b/bindings/zig/bgfx.zig @@ -1770,7 +1770,7 @@ pub const Init = extern struct { /// Number of draws. /// Depth for sorting. /// Discard or preserve states. See `BGFX_DISCARD_*`. - pub inline fn submitIndirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _depth: u32, _flags: u8) void { + pub inline fn submitIndirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _depth: u32, _flags: u8) void { return bgfx_encoder_submit_indirect(self, _id, _program, _indirectHandle, _start, _num, _depth, _flags); } /// Submit primitive for rendering with index and instance data info and @@ -1785,7 +1785,7 @@ pub const Init = extern struct { /// Max number of draws. /// Depth for sorting. /// Discard or preserve states. See `BGFX_DISCARD_*`. - pub inline fn submitIndirectCount(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void { + pub inline fn submitIndirectCount(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void { return bgfx_encoder_submit_indirect_count(self, _id, _program, _indirectHandle, _start, _numHandle, _numIndex, _numMax, _depth, _flags); } /// Set compute index buffer. @@ -1849,7 +1849,7 @@ pub const Init = extern struct { /// First element in indirect buffer. /// Number of dispatches. /// Discard or preserve states. See `BGFX_DISCARD_*`. - pub inline fn dispatchIndirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _flags: u8) void { + pub inline fn dispatchIndirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _flags: u8) void { return bgfx_encoder_dispatch_indirect(self, _id, _program, _indirectHandle, _start, _num, _flags); } /// Discard previously set state for draw or compute call. @@ -3134,7 +3134,7 @@ extern fn bgfx_encoder_submit_occlusion_query(self: ?*Encoder, _id: ViewId, _pro /// Number of draws. /// Depth for sorting. /// Discard or preserve states. See `BGFX_DISCARD_*`. -extern fn bgfx_encoder_submit_indirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _depth: u32, _flags: u8) void; +extern fn bgfx_encoder_submit_indirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _depth: u32, _flags: u8) void; /// Submit primitive for rendering with index and instance data info and /// draw count from indirect buffers. @@ -3148,7 +3148,7 @@ extern fn bgfx_encoder_submit_indirect(self: ?*Encoder, _id: ViewId, _program: P /// Max number of draws. /// Depth for sorting. /// Discard or preserve states. See `BGFX_DISCARD_*`. -extern fn bgfx_encoder_submit_indirect_count(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void; +extern fn bgfx_encoder_submit_indirect_count(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void; /// Set compute index buffer. /// Compute stage. @@ -3204,7 +3204,7 @@ extern fn bgfx_encoder_dispatch(self: ?*Encoder, _id: ViewId, _program: ProgramH /// First element in indirect buffer. /// Number of dispatches. /// Discard or preserve states. See `BGFX_DISCARD_*`. -extern fn bgfx_encoder_dispatch_indirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _flags: u8) void; +extern fn bgfx_encoder_dispatch_indirect(self: ?*Encoder, _id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _flags: u8) void; /// Discard previously set state for draw or compute call. /// Discard or preserve states. See `BGFX_DISCARD_*`. @@ -3584,10 +3584,10 @@ extern fn bgfx_submit_occlusion_query(_id: ViewId, _program: ProgramHandle, _occ /// Number of draws. /// Depth for sorting. /// Which states to discard for next draw. See `BGFX_DISCARD_*`. -pub inline fn submitIndirect(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _depth: u32, _flags: u8) void { +pub inline fn submitIndirect(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _depth: u32, _flags: u8) void { return bgfx_submit_indirect(_id, _program, _indirectHandle, _start, _num, _depth, _flags); } -extern fn bgfx_submit_indirect(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _num: u16, _depth: u32, _flags: u8) void; +extern fn bgfx_submit_indirect(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _num: u32, _depth: u32, _flags: u8) void; /// Submit primitive for rendering with index and instance data info and /// draw count from indirect buffers. @@ -3601,10 +3601,10 @@ extern fn bgfx_submit_indirect(_id: ViewId, _program: ProgramHandle, _indirectHa /// Max number of draws. /// Depth for sorting. /// Which states to discard for next draw. See `BGFX_DISCARD_*`. -pub inline fn submitIndirectCount(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void { +pub inline fn submitIndirectCount(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void { return bgfx_submit_indirect_count(_id, _program, _indirectHandle, _start, _numHandle, _numIndex, _numMax, _depth, _flags); } -extern fn bgfx_submit_indirect_count(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u16, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void; +extern fn bgfx_submit_indirect_count(_id: ViewId, _program: ProgramHandle, _indirectHandle: IndirectBufferHandle, _start: u32, _numHandle: IndexBufferHandle, _numIndex: u32, _numMax: u16, _depth: u32, _flags: u8) void; /// Set compute index buffer. /// Compute stage. diff --git a/include/bgfx/bgfx.h b/include/bgfx/bgfx.h index 1af30e275..c36383e62 100644 --- a/include/bgfx/bgfx.h +++ b/include/bgfx/bgfx.h @@ -1517,8 +1517,8 @@ namespace bgfx ViewId _id , ProgramHandle _program , IndirectBufferHandle _indirectHandle - , uint16_t _start = 0 - , uint16_t _num = 1 + , uint32_t _start = 0 + , uint32_t _num = 1 , uint32_t _depth = 0 , uint8_t _flags = BGFX_DISCARD_ALL ); @@ -1544,7 +1544,7 @@ namespace bgfx ViewId _id , ProgramHandle _program , IndirectBufferHandle _indirectHandle - , uint16_t _start + , uint32_t _start , IndexBufferHandle _numHandle , uint32_t _numIndex = 0 , uint16_t _numMax = UINT16_MAX @@ -1675,8 +1675,8 @@ namespace bgfx ViewId _id , ProgramHandle _handle , IndirectBufferHandle _indirectHandle - , uint16_t _start = 0 - , uint16_t _num = 1 + , uint32_t _start = 0 + , uint32_t _num = 1 , uint8_t _flags = BGFX_DISCARD_ALL ); @@ -3994,8 +3994,8 @@ namespace bgfx ViewId _id , ProgramHandle _program , IndirectBufferHandle _indirectHandle - , uint16_t _start = 0 - , uint16_t _num = 1 + , uint32_t _start = 0 + , uint32_t _num = 1 , uint32_t _depth = 0 , uint8_t _flags = BGFX_DISCARD_ALL ); @@ -4021,7 +4021,7 @@ namespace bgfx ViewId _id , ProgramHandle _program , IndirectBufferHandle _indirectHandle - , uint16_t _start + , uint32_t _start , IndexBufferHandle _numHandle , uint32_t _numIndex = 0 , uint16_t _numMax = UINT16_MAX @@ -4152,8 +4152,8 @@ namespace bgfx ViewId _id , ProgramHandle _handle , IndirectBufferHandle _indirectHandle - , uint16_t _start = 0 - , uint16_t _num = 1 + , uint32_t _start = 0 + , uint32_t _num = 1 , uint8_t _flags = BGFX_DISCARD_ALL ); diff --git a/include/bgfx/c99/bgfx.h b/include/bgfx/c99/bgfx.h index 815ea8fdd..ff1622c46 100644 --- a/include/bgfx/c99/bgfx.h +++ b/include/bgfx/c99/bgfx.h @@ -2707,7 +2707,7 @@ BGFX_C_API void bgfx_encoder_submit_occlusion_query(bgfx_encoder_t* _this, bgfx_ * @param[in] _flags Discard or preserve states. See `BGFX_DISCARD_*`. * */ -BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags); +BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags); /** * Submit primitive for rendering with index and instance data info and @@ -2726,7 +2726,7 @@ BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id * @param[in] _flags Discard or preserve states. See `BGFX_DISCARD_*`. * */ -BGFX_C_API void bgfx_encoder_submit_indirect_count(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); +BGFX_C_API void bgfx_encoder_submit_indirect_count(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); /** * Set compute index buffer. @@ -2814,7 +2814,7 @@ BGFX_C_API void bgfx_encoder_dispatch(bgfx_encoder_t* _this, bgfx_view_id_t _id, * @param[in] _flags Discard or preserve states. See `BGFX_DISCARD_*`. * */ -BGFX_C_API void bgfx_encoder_dispatch_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags); +BGFX_C_API void bgfx_encoder_dispatch_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags); /** * Discard previously set state for draw or compute call. @@ -3288,7 +3288,7 @@ BGFX_C_API void bgfx_submit_occlusion_query(bgfx_view_id_t _id, bgfx_program_han * @param[in] _flags Which states to discard for next draw. See `BGFX_DISCARD_*`. * */ -BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags); +BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags); /** * Submit primitive for rendering with index and instance data info and @@ -3307,7 +3307,7 @@ BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _ * @param[in] _flags Which states to discard for next draw. See `BGFX_DISCARD_*`. * */ -BGFX_C_API void bgfx_submit_indirect_count(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); +BGFX_C_API void bgfx_submit_indirect_count(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); /** * Set compute index buffer. @@ -3774,8 +3774,8 @@ struct bgfx_interface_vtbl void (*encoder_touch)(bgfx_encoder_t* _this, bgfx_view_id_t _id); void (*encoder_submit)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, uint32_t _depth, uint8_t _flags); void (*encoder_submit_occlusion_query)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_occlusion_query_handle_t _occlusionQuery, uint32_t _depth, uint8_t _flags); - void (*encoder_submit_indirect)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags); - void (*encoder_submit_indirect_count)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); + void (*encoder_submit_indirect)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags); + void (*encoder_submit_indirect_count)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); void (*encoder_set_compute_index_buffer)(bgfx_encoder_t* _this, uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access); void (*encoder_set_compute_vertex_buffer)(bgfx_encoder_t* _this, uint8_t _stage, bgfx_vertex_buffer_handle_t _handle, bgfx_access_t _access); void (*encoder_set_compute_dynamic_index_buffer)(bgfx_encoder_t* _this, uint8_t _stage, bgfx_dynamic_index_buffer_handle_t _handle, bgfx_access_t _access); @@ -3783,7 +3783,7 @@ struct bgfx_interface_vtbl void (*encoder_set_compute_indirect_buffer)(bgfx_encoder_t* _this, uint8_t _stage, bgfx_indirect_buffer_handle_t _handle, bgfx_access_t _access); void (*encoder_set_image)(bgfx_encoder_t* _this, uint8_t _stage, bgfx_texture_handle_t _handle, uint8_t _mip, bgfx_access_t _access, bgfx_texture_format_t _format); void (*encoder_dispatch)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, uint32_t _numX, uint32_t _numY, uint32_t _numZ, uint8_t _flags); - void (*encoder_dispatch_indirect)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags); + void (*encoder_dispatch_indirect)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags); void (*encoder_discard)(bgfx_encoder_t* _this, uint8_t _flags); void (*encoder_blit)(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_texture_handle_t _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, bgfx_texture_handle_t _src, uint8_t _srcMip, uint16_t _srcX, uint16_t _srcY, uint16_t _srcZ, uint16_t _width, uint16_t _height, uint16_t _depth); void (*request_screen_shot)(bgfx_frame_buffer_handle_t _handle, const char* _filePath); @@ -3820,8 +3820,8 @@ struct bgfx_interface_vtbl void (*touch)(bgfx_view_id_t _id); void (*submit)(bgfx_view_id_t _id, bgfx_program_handle_t _program, uint32_t _depth, uint8_t _flags); void (*submit_occlusion_query)(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_occlusion_query_handle_t _occlusionQuery, uint32_t _depth, uint8_t _flags); - void (*submit_indirect)(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags); - void (*submit_indirect_count)(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); + void (*submit_indirect)(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags); + void (*submit_indirect_count)(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags); void (*set_compute_index_buffer)(uint8_t _stage, bgfx_index_buffer_handle_t _handle, bgfx_access_t _access); void (*set_compute_vertex_buffer)(uint8_t _stage, bgfx_vertex_buffer_handle_t _handle, bgfx_access_t _access); void (*set_compute_dynamic_index_buffer)(uint8_t _stage, bgfx_dynamic_index_buffer_handle_t _handle, bgfx_access_t _access); diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h index 0b684eabf..7ea3a5599 100644 --- a/include/bgfx/defines.h +++ b/include/bgfx/defines.h @@ -15,7 +15,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(124) +#define BGFX_API_VERSION UINT32_C(125) /** * Color RGB/alpha/depth write. When it's not specified write will be disabled. diff --git a/scripts/bgfx.idl b/scripts/bgfx.idl index 93d9a356b..3e225ddeb 100644 --- a/scripts/bgfx.idl +++ b/scripts/bgfx.idl @@ -1,7 +1,7 @@ -- vim: syntax=lua -- bgfx interface -version(124) +version(125) typedef "bool" typedef "char" @@ -2467,9 +2467,9 @@ func.Encoder.submit { cname = "submit_indirect" } .id "ViewId" --- View id. .program "ProgramHandle" --- Program. .indirectHandle "IndirectBufferHandle" --- Indirect buffer. - .start "uint16_t" --- First element in indirect buffer. + .start "uint32_t" --- First element in indirect buffer. { default = 0 } - .num "uint16_t" --- Number of draws. + .num "uint32_t" --- Number of draws. { default = 1 } .depth "uint32_t" --- Depth for sorting. { default = 0 } @@ -2486,7 +2486,7 @@ func.Encoder.submit { cname = "submit_indirect_count" } .id "ViewId" --- View id. .program "ProgramHandle" --- Program. .indirectHandle "IndirectBufferHandle" --- Indirect buffer. - .start "uint16_t" --- First element in indirect buffer. + .start "uint32_t" --- First element in indirect buffer. .numHandle "IndexBufferHandle" --- Buffer for number of draws. Must be --- created with `BGFX_BUFFER_INDEX32` and `BGFX_BUFFER_DRAW_INDIRECT`. .numIndex "uint32_t" --- Element in number buffer. @@ -2563,9 +2563,9 @@ func.Encoder.dispatch { cname = "dispatch_indirect" } .id "ViewId" --- View id. .program "ProgramHandle" --- Compute program. .indirectHandle "IndirectBufferHandle" --- Indirect buffer. - .start "uint16_t" --- First element in indirect buffer. + .start "uint32_t" --- First element in indirect buffer. { default = 0 } - .num "uint16_t" --- Number of dispatches. + .num "uint32_t" --- Number of dispatches. { default = 1 } .flags "uint8_t" --- Discard or preserve states. See `BGFX_DISCARD_*`. { default = "BGFX_DISCARD_ALL" } @@ -3037,9 +3037,9 @@ func.submit { cname = "submit_indirect" } .id "ViewId" --- View id. .program "ProgramHandle" --- Program. .indirectHandle "IndirectBufferHandle" --- Indirect buffer. - .start "uint16_t" --- First element in indirect buffer. + .start "uint32_t" --- First element in indirect buffer. { default = 0 } - .num "uint16_t" --- Number of draws. + .num "uint32_t" --- Number of draws. { default = 1 } .depth "uint32_t" --- Depth for sorting. { default = 0 } @@ -3056,7 +3056,7 @@ func.submit { cname = "submit_indirect_count" } .id "ViewId" --- View id. .program "ProgramHandle" --- Program. .indirectHandle "IndirectBufferHandle" --- Indirect buffer. - .start "uint16_t" --- First element in indirect buffer. + .start "uint32_t" --- First element in indirect buffer. .numHandle "IndexBufferHandle" --- Buffer for number of draws. Must be --- created with `BGFX_BUFFER_INDEX32` and `BGFX_BUFFER_DRAW_INDIRECT`. .numIndex "uint32_t" --- Element in number buffer. diff --git a/src/bgfx.cpp b/src/bgfx.cpp index cbe4c8582..9f294885b 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -3892,7 +3892,7 @@ namespace bgfx BGFX_ENCODER(submit(_id, _program, _occlusionQuery, _depth, _flags) ); } - void Encoder::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags) + void Encoder::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags) { BGFX_CHECK_HANDLE_INVALID_OK("submit", s_ctx->m_programHandle, _program); BGFX_CHECK_HANDLE("submit", s_ctx->m_vertexBufferHandle, _indirectHandle); @@ -3900,7 +3900,7 @@ namespace bgfx BGFX_ENCODER(submit(_id, _program, _indirectHandle, _start, _num, _depth, _flags) ); } - void Encoder::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) + void Encoder::submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) { BGFX_CHECK_HANDLE_INVALID_OK("submit", s_ctx->m_programHandle, _program); BGFX_CHECK_HANDLE("submit", s_ctx->m_vertexBufferHandle, _indirectHandle); @@ -3981,7 +3981,7 @@ namespace bgfx BGFX_ENCODER(dispatch(_id, _program, _numX, _numY, _numZ, _flags) ); } - void Encoder::dispatch(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags) + void Encoder::dispatch(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags) { BGFX_CHECK_CAPS(BGFX_CAPS_DRAW_INDIRECT, "Dispatch indirect is not supported!"); BGFX_CHECK_CAPS(BGFX_CAPS_COMPUTE, "Compute is not supported!"); @@ -5500,13 +5500,13 @@ namespace bgfx s_ctx->m_encoder0->submit(_id, _program, _occlusionQuery, _depth, _flags); } - void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags) + void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags) { BGFX_CHECK_ENCODER0(); s_ctx->m_encoder0->submit(_id, _program, _indirectHandle, _start, _num, _depth, _flags); } - void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) + void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) { BGFX_CHECK_ENCODER0(); s_ctx->m_encoder0->submit(_id, _program, _indirectHandle, _start, _numHandle, _numIndex, _numMax, _depth, _flags); @@ -5554,7 +5554,7 @@ namespace bgfx s_ctx->m_encoder0->dispatch(_id, _handle, _numX, _numY, _numZ, _flags); } - void dispatch(ViewId _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags) + void dispatch(ViewId _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags) { BGFX_CHECK_ENCODER0(); s_ctx->m_encoder0->dispatch(_id, _handle, _indirectHandle, _start, _num, _flags); diff --git a/src/bgfx.idl.inl b/src/bgfx.idl.inl index 96b033207..1fe4f4681 100644 --- a/src/bgfx.idl.inl +++ b/src/bgfx.idl.inl @@ -877,7 +877,7 @@ BGFX_C_API void bgfx_encoder_submit_occlusion_query(bgfx_encoder_t* _this, bgfx_ This->submit((bgfx::ViewId)_id, program.cpp, occlusionQuery.cpp, _depth, _flags); } -BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags) +BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags) { bgfx::Encoder* This = (bgfx::Encoder*)_this; union { bgfx_program_handle_t c; bgfx::ProgramHandle cpp; } program = { _program }; @@ -885,7 +885,7 @@ BGFX_C_API void bgfx_encoder_submit_indirect(bgfx_encoder_t* _this, bgfx_view_id This->submit((bgfx::ViewId)_id, program.cpp, indirectHandle.cpp, _start, _num, _depth, _flags); } -BGFX_C_API void bgfx_encoder_submit_indirect_count(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) +BGFX_C_API void bgfx_encoder_submit_indirect_count(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) { bgfx::Encoder* This = (bgfx::Encoder*)_this; union { bgfx_program_handle_t c; bgfx::ProgramHandle cpp; } program = { _program }; @@ -943,7 +943,7 @@ BGFX_C_API void bgfx_encoder_dispatch(bgfx_encoder_t* _this, bgfx_view_id_t _id, This->dispatch((bgfx::ViewId)_id, program.cpp, _numX, _numY, _numZ, _flags); } -BGFX_C_API void bgfx_encoder_dispatch_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags) +BGFX_C_API void bgfx_encoder_dispatch_indirect(bgfx_encoder_t* _this, bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags) { bgfx::Encoder* This = (bgfx::Encoder*)_this; union { bgfx_program_handle_t c; bgfx::ProgramHandle cpp; } program = { _program }; @@ -1157,14 +1157,14 @@ BGFX_C_API void bgfx_submit_occlusion_query(bgfx_view_id_t _id, bgfx_program_han bgfx::submit((bgfx::ViewId)_id, program.cpp, occlusionQuery.cpp, _depth, _flags); } -BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags) +BGFX_C_API void bgfx_submit_indirect(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags) { union { bgfx_program_handle_t c; bgfx::ProgramHandle cpp; } program = { _program }; union { bgfx_indirect_buffer_handle_t c; bgfx::IndirectBufferHandle cpp; } indirectHandle = { _indirectHandle }; bgfx::submit((bgfx::ViewId)_id, program.cpp, indirectHandle.cpp, _start, _num, _depth, _flags); } -BGFX_C_API void bgfx_submit_indirect_count(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) +BGFX_C_API void bgfx_submit_indirect_count(bgfx_view_id_t _id, bgfx_program_handle_t _program, bgfx_indirect_buffer_handle_t _indirectHandle, uint32_t _start, bgfx_index_buffer_handle_t _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) { union { bgfx_program_handle_t c; bgfx::ProgramHandle cpp; } program = { _program }; union { bgfx_indirect_buffer_handle_t c; bgfx::IndirectBufferHandle cpp; } indirectHandle = { _indirectHandle }; diff --git a/src/bgfx_p.h b/src/bgfx_p.h index f62540ac7..277df50d3 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -1840,8 +1840,8 @@ namespace bgfx uint32_t m_numX; uint32_t m_numY; uint32_t m_numZ; - uint16_t m_startIndirect; - uint16_t m_numIndirect; + uint32_t m_startIndirect; + uint32_t m_numIndirect; uint16_t m_numMatrices; uint8_t m_submitFlags; uint8_t m_uniformIdx; @@ -2777,7 +2777,7 @@ namespace bgfx void submit(ViewId _id, ProgramHandle _program, OcclusionQueryHandle _occlusionQuery, uint32_t _depth, uint8_t _flags); - void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint32_t _depth, uint8_t _flags) + void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint32_t _depth, uint8_t _flags) { m_draw.m_startIndirect = _start; m_draw.m_numIndirect = _num; @@ -2786,7 +2786,7 @@ namespace bgfx submit(_id, _program, handle, _depth, _flags); } - void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) + void submit(ViewId _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint32_t _start, IndexBufferHandle _numHandle, uint32_t _numIndex, uint16_t _numMax, uint32_t _depth, uint8_t _flags) { m_draw.m_numIndirectIndex = _numIndex; m_draw.m_numIndirectBuffer = _numHandle; @@ -2795,7 +2795,7 @@ namespace bgfx void dispatch(ViewId _id, ProgramHandle _handle, uint32_t _ngx, uint32_t _ngy, uint32_t _ngz, uint8_t _flags); - void dispatch(ViewId _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags) + void dispatch(ViewId _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint32_t _start, uint32_t _num, uint8_t _flags) { m_compute.m_indirectBuffer = _indirectHandle; m_compute.m_startIndirect = _start;