Branimir Karadžić
8ee74e8260
Optimized encoder bind state, and uniform updates. ( #3976 )
2026-09-12 22:43:02 +00:00
Branimir Karadžić
7e8bb589f1
Added setUniformRef, BGFX_TEXTURE_SRGB_MUTABLE, and byte-range compute buffer bindings. ( #3974 )
2026-09-12 06:49:53 +00:00
Branimir Karadžić
2e51cb6aa9
Added depth control, sample mask, and read-only depth/stencil attachments. ( #3971 )
2026-09-11 05:22:53 +00:00
Branimir Karadžić
8c8b6b5692
Raised renderer baseline, and removed caps every backend now supports. ( #3962 )
2026-09-05 05:24:56 +00:00
Branimir Karadžić
01dbbbc08c
Added swap-chain. ( #3959 )
2026-09-05 01:44:33 +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
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ć
732724bf75
VK, WebGPU: Fixed frame buffer resize on headless reset. ( #3931 )
2026-08-26 06:40:45 +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
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
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ć
d8db55f812
D3D11, D3D12, GL, VK: Resolve when blitting from sampleable MSAA surface. ( #3907 )
2026-08-20 05:39:04 +00:00
Branimir Karadžić
35a98dd645
Grow per-frame storage on-demand instead statically allocating for the maximum. ( #3900 )
2026-08-16 17:26:25 -07:00
Branimir Karadžić
1671c5d065
VK, GL: Fixed Uint10 vertex attribute format. ( #3897 )
2026-08-14 23:55:55 -07:00
Branimir Karadžić
7a09f00333
Fixed MSAA/framebuffer, format caps, stencil, and debug name issues. ( #3895 )
2026-08-15 06:08:05 +00:00
Branimir Karadžić
c53bdbbadc
VK: Fixed BGFX_STATE_BLEND_SRC_ALPHA_SAT using source alpha instead of the saturated factor. ( #3891 )
2026-08-14 17:13:21 -07:00
Branimir Karadžić
56ef37bcf8
Implemented BGFX_SAMPLER_SAMPLE_STENCIL in all backends. ( #3884 )
2026-08-13 15:38:58 -07:00
Branimir Karadžić
3d3b08778e
Support depth-1 volume textures. ( #3883 )
2026-08-12 18:24:25 -07:00
Alessandro Muntoni and alemuntoni
d2633c6ac2
Fix vkCmdBeginRenderPass crash on unused views in headless mode ( #3871 )
...
* Fix vkCmdBeginRenderPass crash on unused views in headless mode
* add m_needPresent and m_currentFramebuffer initializers
---------
Co-authored-by: alemuntoni <alemuntoni@users.noreply.github.com >
2026-08-05 21:44:58 +00:00
Branimir Karadžić
aa736d5691
VK: Fixed device memory leaks, pipeline layout lifetime, compressed blit extent, and view rect clipping. ( #3865 )
2026-08-02 02:42:07 +00:00
Branimir Karadžić
980c02ecd7
VK: Added BGFX_CONFIG_RENDERER_VULKAN_ROBUST_BUFFER_ACCESS. Fixes #3855 . ( #3859 )
2026-07-30 04:45:54 +00:00
Branimir Karadžić
8377801ee0
Add BC4S, BC5S, BC6HU, RGB10A2U and D32FS8 texture formats. ( #3857 )
2026-07-29 21:25:53 +00:00
Branimir Karadžić
ce18bdb6c6
Allow negative x/y in bgfx::setViewRect. ( #3848 )
2026-07-25 15:04:06 +00:00
Branimir Karadžić
8e50cd586c
Fixed auto-gen mips on resolved MSAA render targets. ( #3845 )
2026-07-24 22:44:05 +00:00
Alessandro Muntoni
c1da9d62b0
check validity of XGetXCBConnection ( #3844 )
2026-07-23 14:16:34 +00:00
Branimir Karadžić
435627021d
Added clear texture API. ( #3836 )
2026-07-16 05:41:58 +00:00
Branimir Karadžić
d219e7c2d6
Cleanup. ( #3835 )
2026-07-15 06:52:38 +00:00
Jason Millard
af0256b57a
VK: Fix init crash w/external device on GPU w/o video decode queues ( #3834 )
2026-07-14 22:40:08 -07:00
Branimir Karadžić
a4555482f9
Increased number of texcoord attributes, increased instance data, added int32/uint32 vertex attributes. ( #3832 )
2026-07-14 05:15:13 +00:00
Branimir Karadžić
6eb09a4a9b
Added setImage with array layer range for compute images. ( #3829 )
2026-07-13 04:19:07 +00:00
Branimir Karadžić
39a2a05a3c
Fixed warnings. ( #3830 )
2026-07-13 03:53:02 +00:00
Branimir Karadžić
7c6a7e5f00
D3D11/VK/Metal/GL: Fixed dangling framebuffer handle on destroy. ( #3827 )
2026-07-12 20:30:42 -07:00
Branimir Karadžić
1fae5a8b06
D3D11/D3D12/VK/WebGPU: Fixed blend-state, and blend factor for MRT. ( #3825 )
2026-07-13 01:43:24 +00:00
Branimir Karadžić
2877442edc
Fixed BC texture block-size rounding in readback/create/update. ( #3822 )
2026-07-12 00:07:51 -07:00
Branimir Karadžić
3920502547
VK: Mark BGRA8/RGBA8 as valid backbuffer texture formats when in headless mode. ( #3824 )
2026-07-12 00:00:47 -07:00
Branimir Karadžić
7b38346442
Added stencil write mask. ( #3821 )
2026-07-11 23:46:38 -07:00
Branimir Karadžić
f30da05ce3
Metal: Cache last pipeline. Dedup pipeline binds. ( #3799 )
2026-06-28 22:47:43 +00:00
Branimir Karadžić
fd1a8b48fc
VK: Cache last pipeline. ( #3798 )
2026-06-28 11:23:54 -07:00
Branimir Karadžić
40aa1c2220
VK: Grow descriptor pools on demand. ( #3793 )
2026-06-28 06:14:30 +00:00
Kyle Emmerich
c9bb37b668
Vulkan: Fixed capture buffer size. ( #3783 )
...
captureSize used m_width for the row count, but the swap-chain readback
copies m_height rows (capture() reports _size = height * pitch, and
ReadbackVK::pitch() is width * bpp/8). A backbuffer taller than wide
under-allocates the readback buffer and overruns it. Use m_height, which
matches the GL backend's width*height*4.
2026-06-25 15:43:37 +00:00
Branimir Karadžić
fd5fa66370
VK: Fixed present crash on resize. ( #3773 )
2026-06-20 06:44:18 -07:00
Branimir Karadžić
73629ada72
Dedup bindings per encoder. ( #3772 )
2026-06-20 05:22:12 +00:00
Branimir Karadžić
4f101d98be
Don't present BGFX_FRAME_FLUSH frames. Fixed D3D12/VK flush sync. ( #3771 )
2026-06-19 19:39:42 +00:00
Branimir Karadžić
09eaac37ae
VK: Added descriptor set cache. ( #3770 )
2026-06-19 18:21:52 +00:00
Francis De Brabandere
1d8f6d8ee9
Vulkan: do not block acquiring window swap chain images ( #3752 )
...
Acquiring waited forever for an image on every swap chain from the one
submit thread, so a single swap chain that is no longer served (e.g. a
fully occluded window on a Wayland compositor without fifo-v1, which
stops releasing buffers) stalled rendering of all windows. Window swap
chains now acquire without blocking and are skipped for the frame when
no image is available; only the main back buffer may block, as that is
the frame pacing. Image availability acts as natural back pressure, no
compositor specific behavior is needed.
2026-06-17 14:05:02 +00:00