Commit Graph

3621 Commits

Author SHA1 Message Date
Branimir Karadžić
f3ad0e91af Removed bgfx::weldVertices. (#3659) 2026-04-13 01:30:57 +00:00
Branimir Karadžić
2e49e0e38a GLES: Fixed ANGLE issues. (#3658) 2026-04-10 04:05:34 +00:00
Vincent Bousquet
173be4d0fa DX12: fix blitting inside a texture 2D array (#3657) 2026-04-09 21:21:17 +00:00
Vincent Bousquet
8a070c8e27 Vulkan: fix missing swapchain image acquire semaphore (#3655) 2026-04-09 21:20:28 +00:00
Branimir Karadžić
48a1f88bcc VK: Lazy transition texture state, instead of bitching about it. (#3653) 2026-04-07 21:03:08 +00:00
Branimir Karadžić
7c0d813b83 Remove unused shader parsers. (#3651)
* Removed shader parsers.

* Removed shader parsers.
2026-04-05 02:54:27 +00:00
Branimir Karadžić
9a1ce9c60b Fixed #3647. (#3648) 2026-03-31 16:34:09 -07:00
Branimir Karadžić
8532b2c45d Fix race between bgfx::begin and bgfx::frame encoder allocation. (#3646)
* Fix race between bgfx::begin and bgfx::frame encoder allocation.

* Update src/bgfx.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-25 21:36:02 -07:00
Jason Millard
9c98438372 metal: isDepth24Stencil8PixelFormatSupported is only available on macOS (#3645) 2026-03-24 23:09:10 +00:00
Matteo Valdina
fd8d480b28 Fix x86 crash: CreateTexture command buffer read uses wrong type (#3643)
The _external parameter is written to the command buffer as uint64_t (8 bytes)
but read back as uintptr_t (4 bytes on 32-bit). This causes a 4-byte
deserialization misalignment on x86, corrupting all subsequent command
buffer reads and leading to EXCEPTION_ACCESS_VIOLATION (0xC0000005) during
D3D11 initialization.

Co-authored-by: Matteo Valdina <mavaldin@microsoft.com>
2026-03-23 16:05:18 +00:00
Branimir Karadžić
3118337be2 VK: Fixed crash when using BGFX_FRAME_FLUSH. (#3640) 2026-03-22 07:09:15 +00:00
Branimir Karadžić
0499759e8c Fixed runtime renderer selection. (#3637) 2026-03-21 16:57:04 +00:00
Branimir Karadžić
42b52a7a51 VK: Fix default non-external texture state. (#3635) 2026-03-21 08:56:41 -07:00
Branimir Karadžić
f26d3b1342 Use render pass creation data for render pass hash. (#3636) 2026-03-21 07:14:13 +00:00
Branimir Karadžić
4e6b6f0264 Metal: Fix validation when instancing data is provided, but shaders doesn't use it. (#3634) 2026-03-21 05:28:35 +00:00
Daniele Bartolini
20a637e3e6 VK: only enable non-opaque compositing if requested (#3630) 2026-03-13 02:47:58 +00:00
Branimir Karadžić
a73c12db8f Added bgfx::AttribType::Int8/Uint16. (#3626) 2026-03-09 06:13:51 +00:00
Branimir Karadžić
608713739b Metal: Switched to metal-cpp. (#3624)
* Metal: Switched to metal-cpp.

* Cleanup.

* Remove more Obj-C code.

* Add metal-cpp license.

* Cleanup.

* Reduce number of leak reports.

* Reducing Obj-C code.

* renderer_mtl.mm -> .cpp

* Cleanup.

* Cleanup.
2026-03-08 23:33:43 +00:00
Branimir Karadžić
b28febb4a8 NonLocalAllocator: Remove orphaned slabs. Fixed #2867. (#3625) 2026-03-08 04:02:40 +00:00
Branimir Karadžić
2721c747ae Added BGFX_FRAME_FLUSH. (#3623) 2026-03-07 04:50:46 +00:00
Branimir Karadžić
ae080bc634 D3D11: Fix SRV for external texture. (#3622) 2026-03-06 23:41:29 +00:00
Branimir Karadžić
298f5b0202 Improved docs on bgfx::begin/end. (#3621) 2026-03-06 05:37:34 +00:00
Gary Hsu
8e68ab9a83 Add null checks for mtl when no swap chain (#3620) 2026-03-05 21:16:53 +00:00
Branimir Karadžić
de17eda241 Improved documentation. Added IDL docs. (#3619) 2026-03-05 06:55:05 +00:00
Бранимир Караџић
b121263362 VK: Fix default texture state. 2026-02-24 07:32:35 -08:00
Бранимир Караџић
33930ac14a VK: Add external texture. 2026-02-23 22:28:11 -08:00
Бранимир Караџић
de0cdd0740 Updated Tint. 2026-02-21 19:54:05 -08:00
Branimir Karadžić
91814c9729 Added flag for texture formats that can be used as back-buffer format. (#3605) 2026-02-22 02:44:26 +00:00
Branimir Karadžić
651c203116 Undo default back buffer format. Fix VK. (#3604) 2026-02-20 03:14:27 +00:00
Branimir Karadžić
856208328c Use back buffer format when capturing screen shot. (#3603) 2026-02-20 00:46:41 +00:00
Branimir Karadžić
4cb794eade VK: Initialize texture flags to 0. (#3602) 2026-02-19 17:47:48 +00:00
Branimir Karadžić
c85fa25266 Added BGFX_FRAME_* flags to add ability to discard all draw calls. (#3599) 2026-02-19 01:42:31 +00:00
Branimir Karadžić
2800f17970 Cleanup. (#3598) 2026-02-18 21:01:18 +00:00
Martijn Courteaux
f3bc108efe Restore Vulkan 1.0 compatibility. (#3597)
* vulkan: Do not hard-depend on Vulkan 1.2 and Vulkan 1.1.

* fix(ub): vector iterators are not the same as taking address of position.

* fix(ub): Mask bit iterator had implicit promotion bug.

* fix(ub): Vulkan backend shouldn't copy fragment shader source if there is none.
2026-02-18 20:12:49 +00:00
Branimir Karadžić
40e614c45d Added external texture parameter. (#3596)
* Added external texture parameter.

* Use uint64_t instead of uintptr_t for external texture because VkImage is always 64-bit.
2026-02-18 20:12:37 +00:00
Quaylyn Rimer
02e04fb458 Optimize NonLocalAllocator: sorted vector + immediate coalescing (#3593)
Replace stl::list (tinystl::vector with O(n) push_front) with a sorted
stl::vector free list that maintains address-order invariant.

Key improvements:
- free(): uses bx::upperBound for O(log n) sorted insertion + immediate
  adjacent-block coalescing instead of O(n) push_front with deferred merge
- compact(): O(1) check (m_used empty?) instead of O(n log n) sort +
  O(n) linear merge pass on every call
- alloc(): first-fit scan over cache-friendly contiguous memory instead
  of pointer-chasing through fragmented list
- add(): sorted insert with coalescing via bx::upperBound, same as free()

Uses bx::upperBound from the bx foundation library for binary search,
no std:: usage. Added operator> to Free struct for bx::compareAscending
compatibility.

The public API and behavioral semantics are unchanged. All existing
callers (dynamic index/vertex buffer allocators, uniform cache store
allocator) continue to work identically.
2026-02-17 19:27:10 +00:00
Martijn Courteaux
611baeb183 Fix iterator (#3590)
* Fix iterator

* Enters.
2026-02-12 18:12:43 +00:00
Branimir Karadžić
4ab38c657a Updated version. (#3587) 2026-02-08 01:46:54 +00:00
Branimir Karadžić
90d61887ac D3D11: Renamed dx11 to dxbc. (#3586) 2026-02-08 01:45:18 +00:00
Branimir Karadžić
011ede6b42 shaderc: HLSL/DXBC needs unorm float image load/store. (#3576) 2026-02-03 00:39:35 +00:00
Branimir Karadžić
4942e65bf9 shaderc: select (u)int variants are just for higher versions of GLSL. (#3575) 2026-02-02 22:32:11 +00:00
Branimir Karadžić
6f169c1fde shaderc: Add select. (#3572) 2026-01-31 04:28:40 +00:00
Daniele Bartolini
601111d505 Do not load RenderDoc on Wayland (#3570)
* Do not load RenderDoc on Wayland

* Update debug_renderdoc.cpp

---------

Co-authored-by: Branimir Karadžić <branimirkaradzic@gmail.com>
2026-01-31 00:56:29 +00:00
Бранимир Караџић
784f5a433a Updated version. 2026-01-30 16:56:16 -08:00
Martijn Courteaux
85d0b7ad3f Switch to BGRA8 as the default swapchain format. (#3569) 2026-01-30 18:58:02 +00:00
Branimir Karadžić
c37ba1db0f Updated version, regenerated bindings. (#3568) 2026-01-30 17:05:25 +00:00
Branimir Karadžić
78c3a1f421 Cleanup. (#3566) 2026-01-29 05:45:14 +00:00
Branimir Karadžić
c57d1d6135 Fixed #3552. (#3565) 2026-01-28 21:48:35 +00:00
Seremo
c5387cfec2 DX11/DX12: Fix detecting depth capabilities for BGFX_CAPS_FORMAT_TEXTURE_MSAA (#3562) 2026-01-22 18:34:12 +00:00
Branimir Karadžić
fa852ad431 WebGPU: Use zero init to simplify struct init. (#3561) 2026-01-22 07:09:40 +00:00