Added ability to configure minimum uniform buffer size.

This commit is contained in:
Branimir Karadžić
2025-10-29 13:52:30 -07:00
committed by Бранимир Караџић
parent 71e0db9369
commit 16cf4f8683
13 changed files with 110 additions and 80 deletions

View File

@@ -2083,8 +2083,9 @@ public static class bgfx
public uint32 maxOcclusionQueries;
public uint32 maxEncoders;
public uint32 minResourceCbSize;
public uint32 transientVbSize;
public uint32 transientIbSize;
public uint32 maxTransientVbSize;
public uint32 matTansientIbSize;
public uint32 minUniformBufferSize;
}
public RendererType rendererType;
@@ -2138,8 +2139,9 @@ public static class bgfx
{
public uint16 maxEncoders;
public uint32 minResourceCbSize;
public uint32 transientVbSize;
public uint32 transientIbSize;
public uint32 maxTransientVbSize;
public uint32 matTransientIbSize;
public uint32 minUniformBufferSize;
}
public RendererType type;

View File

@@ -1379,9 +1379,11 @@ struct CapsLimits
// Minimum resource command buffer size.
uint minResourceCbSize;
// Maximum transient vertex buffer size.
uint transientVbSize;
uint maxTransientVbSize;
// Maximum transient index buffer size.
uint transientIbSize;
uint matTansientIbSize;
// Mimimum uniform buffer size.
uint minUniformBufferSize;
}
// Renderer capabilities.
@@ -1491,9 +1493,11 @@ struct InitLimits
// Minimum resource command buffer size.
uint minResourceCbSize;
// Maximum transient vertex buffer size.
uint transientVbSize;
uint maxTransientVbSize;
// Maximum transient index buffer size.
uint transientIbSize;
uint matTransientIbSize;
// Mimimum uniform buffer size.
uint minUniformBufferSize;
}
// Initialization parameters used by `bgfx::init`.

View File

@@ -2064,8 +2064,9 @@ public static partial class bgfx
public uint maxOcclusionQueries;
public uint maxEncoders;
public uint minResourceCbSize;
public uint transientVbSize;
public uint transientIbSize;
public uint maxTransientVbSize;
public uint matTansientIbSize;
public uint minUniformBufferSize;
}
public RendererType rendererType;
@@ -2114,8 +2115,9 @@ public static partial class bgfx
{
public ushort maxEncoders;
public uint minResourceCbSize;
public uint transientVbSize;
public uint transientIbSize;
public uint maxTransientVbSize;
public uint matTransientIbSize;
public uint minUniformBufferSize;
}
public RendererType type;

View File

@@ -9,7 +9,7 @@ import bindbc.common.types: c_int64, c_uint64, va_list;
import bindbc.bgfx.config;
static import bgfx.impl;
enum uint apiVersion = 131;
enum uint apiVersion = 132;
alias ViewID = ushort;
@@ -1027,8 +1027,9 @@ extern(C++, "bgfx") struct Caps{
uint maxOcclusionQueries; ///Maximum number of occlusion query handles.
uint maxEncoders; ///Maximum number of encoder threads.
uint minResourceCBSize; ///Minimum resource command buffer size.
uint transientVBSize; ///Maximum transient vertex buffer size.
uint transientIBSize; ///Maximum transient index buffer size.
uint maxTransientVBSize; ///Maximum transient vertex buffer size.
uint matTansientIBSize; ///Maximum transient index buffer size.
uint minUniformBufferSize; ///Mimimum uniform buffer size.
}
RendererType rendererType; ///Renderer backend type. See: `bgfx::RendererType`
@@ -1134,8 +1135,9 @@ extern(C++, "bgfx") struct Init{
extern(C++) struct Limits{
ushort maxEncoders; ///Maximum number of encoder threads.
uint minResourceCBSize; ///Minimum resource command buffer size.
uint transientVBSize; ///Maximum transient vertex buffer size.
uint transientIBSize; ///Maximum transient index buffer size.
uint maxTransientVBSize; ///Maximum transient vertex buffer size.
uint matTransientIBSize; ///Maximum transient index buffer size.
uint minUniformBufferSize; ///Mimimum uniform buffer size.
extern(D) mixin(joinFnBinds((){
FnBind[] ret = [
{q{void}, q{this}, q{}, ext: `C++`},

View File

@@ -1309,8 +1309,9 @@ pub const Caps = extern struct {
maxOcclusionQueries: u32,
maxEncoders: u32,
minResourceCbSize: u32,
transientVbSize: u32,
transientIbSize: u32,
maxTransientVbSize: u32,
matTansientIbSize: u32,
minUniformBufferSize: u32,
};
rendererType: RendererType,
@@ -1354,8 +1355,9 @@ pub const Init = extern struct {
pub const Limits = extern struct {
maxEncoders: u16,
minResourceCbSize: u32,
transientVbSize: u32,
transientIbSize: u32,
maxTransientVbSize: u32,
matTransientIbSize: u32,
minUniformBufferSize: u32,
};
type: RendererType,