Commit Graph

9470 Commits

Author SHA1 Message Date
Бранимир Караџић
5a2eec3246 Fixed matrix cache growth strategy. Fixes #3952. 2026-09-02 16:48:04 +00:00
Бранимир Караџић
67edbbd72a D3D12: Device removed extended data. 2026-09-02 05:51:25 +00:00
Бранимир Караџић
8dbdcf411a ChunkedScratchBufferT: grow the ring where the write head is. 2026-09-02 03:12:42 +00:00
Бранимир Караџић
340ef142c3 Enable primitive restart for strip topologies. 2026-09-01 23:47:00 +00:00
Бранимир Караџић
2963e09d6b DXGI: Use IDXGISwapChain2 to set frame latency. 2026-09-01 00:45:17 +00:00
Бранимир Караџић
470cb0154e Updated Vulkan headers. 2026-08-31 04:48:00 +00:00
Бранимир Караџић
37b6ea512b Updated glslang. 2026-08-31 04:48:00 +00:00
Бранимир Караџић
bc976f168f Updated spirv-cross. 2026-08-31 04:48:00 +00:00
Бранимир Караџић
31ca235db8 Updated spirv-tools. 2026-08-31 04:48:00 +00:00
Бранимир Караџић
1e2e22d983 Updated spirv-headers. 2026-08-31 04:48:00 +00:00
Бранимир Караџић
f3ffcc648a Updated meshoptimizer. 2026-08-31 04:48:00 +00:00
Branimir Karadžić
c32236ecb3 Update AirMech section in README
Replaced AirMech screenshot with a YouTube trailer image link.
2026-08-31 03:26:47 +00:00
Nolram
a4af1f49dc Re-capitalised "nVidia" to "NVIDIA" where applicable. A minor change, but it aids consistency and is now in-line with NVIDIA's own naming policy. You're welcome Jensen. (#3945) 2026-08-31 01:17:29 +00:00
Branimir Karadžić
87ec6b86c6 Fix API selection in standalone example. (#3944) 2026-08-30 23:29:36 +00:00
Branimir Karadžić
3fab221b95 Use bx::hasUniqueObjectRepresentation to detect undesired padding. (#3943) 2026-08-30 18:38:21 +00:00
Branimir Karadžić
a7c3e28ae0 Fixed RenderBind hash collision on unoccupied bindings. (#3942) 2026-08-30 17:41:36 +00:00
Branimir Karadžić
a9dd2e20fe texturev: Added ability to delete image. (#3940) 2026-08-30 06:06:13 +00:00
Branimir Karadžić
5929f9826c VK: Fixed 3D to 2D blit, and compressed texture update region exceeding mip extent. (#3939) 2026-08-30 05:59:25 +00:00
Branimir Karadžić
c949b911fc Reduce default footprint: optional debug text, drop unused shader copies. (#3938) 2026-08-29 22:32:32 -07:00
Moţ
4b4c138fb0 vulkan: use BC1_RGBA formats so TextureFormat::BC1 keeps its 1-bit alpha (#3937)
VK_FORMAT_BC1_RGB_UNORM_BLOCK has no alpha component, so sampling a BC1
texture on Vulkan always returns a = 1.0 and the 1-bit punch-through
alpha of the source data is silently discarded.

This contradicts bgfx's own definition of the format - bgfx.h documents
TextureFormat::BC1 as "5-bit R, 6-bit G, 5-bit B, 1-bit A" - and it
disagrees with every other backend:

  D3D11/D3D12  DXGI_FORMAT_BC1_UNORM
  OpenGL       GL_COMPRESSED_RGBA_S3TC_DXT1_EXT

all of which decode the punch-through alpha. There is no separate BC1A
format in bgfx, so the RGB variant is not an intentional distinction.

Switching to the RGBA variants costs nothing in terms of support: if
textureCompressionBC is available, the specification requires all of
BC1-BC7 with the same feature set, so VK_FORMAT_BC1_RGBA_UNORM_BLOCK is
available wherever VK_FORMAT_BC1_RGB_UNORM_BLOCK is. Fully opaque BC1
blocks decode identically under both.
2026-08-29 09:06:54 -07:00
Branimir Karadžić
7d81d2874b Submit optimization: skip unused views, hash only occupied bind slots, index reserved FrameArenaT directly. (#3936) 2026-08-28 23:37:13 +00:00
Branimir Karadžić
f73862c579 D3D12: Fixed texture readback resource state. Disabled refcount asserts for external device. (#3935) 2026-08-27 19:27:48 +00:00
Branimir Karadžić
a81591b15f EGL, WGL: Fixed caller-provided context handling. (#3934) 2026-08-27 18:12:48 +00:00
Branimir Karadžić
7f0b9c930b Fixed amalgamated build. (#3933) 2026-08-27 16:08:40 +00:00
Branimir Karadžić
732724bf75 VK, WebGPU: Fixed frame buffer resize on headless reset. (#3931) 2026-08-26 06:40:45 +00:00
Branimir Karadžić
1dfc38978d D3D12: Fixed scratch descriptor heap sizing. Added present pacing for window frame buffers. (#3930) 2026-08-26 06:23:28 +00:00
Branimir Karadžić
a014198164 WebGPU: Fixed mipgen for BGRA8 textures. (#3929) 2026-08-25 18:31:48 -07:00
Branimir Karadžić
c3540fdcff Metal: Preserve swapchain framebuffer size. (#3928) 2026-08-25 07:13:27 -07:00
Robin Allen
e5969e73c6 Metal: Fix wrong setScissor: calls after window resize (#3927)
Unlike the other backends, FrameBufferMtl::postReset was empty, so nothing was
updating FrameBufferMtl::width/height on window resize, causing wrong
setScissorRect: calls to be emitted.

This adds code to postReset that sets m_width/m_height from the
sizes of the attached textures, like the other backends do.
2026-08-25 07:07:59 -07:00
Branimir Karadžić
d611ecef3f Fixed WebGPU sRGB, MSAA, depth-stencil readback, and BGRA8 storage. (#3926) 2026-08-25 05:57:56 +00:00
Branimir Karadžić
0432b5d3c5 Reworked blit to use regions, added buffer blit and read buffer. (#3924) 2026-08-25 03:31:09 +00:00
Branimir Karadžić
f564ae8bf9 Fixed device lost handling. (#3923) 2026-08-24 22:24:26 +00:00
Raziel Alphadios
aadf386aac Fix DeviceLost in D3D11 TimerQuery bypassing BGFX_FATAL with DX_CHECK (and thus being un-handleable by consumers) (#3922) 2026-08-24 18:10:04 +00:00
Branimir Karadžić
780f7bf00a Fix MSAA blit into a multisampled destination and stale MSAA resolve. (#3921) 2026-08-23 04:44:43 +00:00
Branimir Karadžić
dd961560d5 Raw buffers (#3920)
* Added raw compute buffers, resource type/dimension now comes from shader reflection. Bumped shader version to 12.

* Rebuild internal embedded shaders.

* Updated bindings.

* Rebuild embedded shaders.

* Rebuilt shaders.

* Updated bindings.
2026-08-22 20:03:12 -07:00
Gustavo Maciel
19eedfed66 Fixes missing type bug in zig-bindings introduced on #3756 (#3919)
Co-authored-by: Gustavo Maciel <gus@tavomaciel>
2026-08-23 01:47:50 +00:00
Branimir Karadžić
307cbbfbcb Preprocessor: Fix missing NL at EOF. (#3918) 2026-08-22 18:03:04 +00:00
Branimir Karadžić
6d0d15f2a5 Entry: Fixed keymapings. (#3917) 2026-08-21 23:07:36 -07:00
Lcbx
53e3c599fd python bindings follow-up (#3916)
* docs: update python bindings link

* python bindings : generate matching .pyi file (stub file used for type checking / documenting public interface)

* python bindings : make only .pyi have documentation comment / docstrings
2026-08-22 00:27:54 +00:00
Lcbx
c772ecc3f5 add python bindings generator (#3915)
* add python binding generator

* add idl generated python binding
2026-08-21 11:27:11 -07:00
puffball1567
1f0215f89d docs: add bgfxim Nim API bindings (#3913)
* docs: add bgfxim Nim API bindings

* docs: make bgfxim the default Nim binding

---------

Co-authored-by: puffball1567 <puffball1567@users.noreply.github.com>
2026-08-21 16:02:41 +00:00
Branimir Karadžić
cffee4ee96 GLES 3.2: Various fixes. (#3914) 2026-08-21 15:51:00 +00:00
Branimir Karadžić
ada201c314 GL: Fix clear of an integer render target, and several other GLES issues. (#3912) 2026-08-21 04:06:46 +00:00
Branimir Karadžić
66b560219e Metal: Fixed stencil-only framebuffer attachment. (#3911) 2026-08-21 01:15:50 +00:00
Branimir Karadžić
91b3aa3785 Fix stencil-aspect readback, depth format reporting, and blit bugs. (#3910) 2026-08-21 00:51:39 +00:00
Branimir Karadžić
8c28353267 Replaced FCPP with new preprocessor. (#3909) 2026-08-20 19:07:34 +00:00
Branimir Karadžić
4b24c1482f Fixed image declaration macros not expanding format argument. (#3908) 2026-08-20 11:13:40 -07:00
Branimir Karadžić
d8db55f812 D3D11, D3D12, GL, VK: Resolve when blitting from sampleable MSAA surface. (#3907) 2026-08-20 05:39:04 +00:00
Branimir Karadžić
7e2f4e34c0 GL: Bind missing vertex attributes to offset 0. (#3906) 2026-08-19 14:01:40 -07:00
Branimir Karadžić
fde976604c Raised minimum OpenGL version to 4.3. OpenGLES to 3.0. Removed glsl-optimizer. (#3905) 2026-08-19 10:12:25 -07:00