Commit Graph

467 Commits

Author SHA1 Message Date
Branimir Karadžić
25cd95ca06 Fixed Vulkan main swap chain moving to a new native window one reset late. (#4057) 2026-10-16 23:07:20 +00:00
Branimir Karadžić
fd541f0586 Fixed 3D texture conversion of all slices, and debug asserts. (#4054) 2026-10-14 22:29:31 -07:00
Branimir Karadžić
ec6e934a2d Sampled MSAA depth reads sample 0 through ordinary samplers. (#4046) 2026-10-12 16:49:19 -07:00
Branimir Karadžić
8f451e9102 VK: Fall back to supported surface format and composite alpha. Fixes #4032. (#4035) 2026-10-08 21:47:03 -07:00
Matthew
06b2c3a4b3 NVIDIA Reflex integration. (#4029)
* Integrated NVIDIA Reflex.

* Generated bindings and replaced bools with enum.

* Merged upstream master.

* Addressed review feedback.
2026-10-08 18:44:43 -07:00
Branimir Karadžić
e13b87cdd9 Sized handle allocators, timer query rings and free handle queues by use. (#4025) 2026-10-05 02:56:08 +00:00
Branimir Karadžić
01e69a6307 Allocated texture, shader and dynamic buffer tables in blocks as handles are used. (#4024) 2026-10-04 15:45:00 +00:00
Branimir Karadžić
aa10f3accb Added BGFX_CAPS_SHADER_F16. (#4023) 2026-10-03 23:27:25 -07:00
Branimir Karadžić
500f916540 Relaxed view maximum, made view storage grow with use, up-to 4096 view ids. (#4014) 2026-10-02 16:00:20 -07:00
Branimir Karadžić
7346c3e731 Reduced per-view memory usage. (#4010) 2026-10-01 06:08:47 +00:00
Branimir Karadžić
997b0cfe36 Fixed MRT clear with UINT8_MAX palette index clearing the attachment on clear quad. (#4006) 2026-09-30 12:06:59 -07:00
Branimir Karadžić
968e4f8dd9 Added explicit texture mip count, and per-binding sampler LOD clamp. (#4002) 2026-09-28 22:00:14 -07:00
Branimir Karadžić
1fb47dca7a VK/WGPU: drain a view's blits and uniform cache before its dispatches. VK: block on the swapchain image of window framebuffers on a headless device (#3989) 2026-09-18 13:41:57 +00:00
vrimar
3ca5a63428 Recreate the main swap chain when only its flags change on reset. (#3986)
Context::reset moves the per-surface flags (MSAA, sRGB, HiDPI) off the reset flags onto SwapChain::flags, but every backend's updateResolution gate still compared only the stripped reset flags, so a runtime MSAA change was dropped.
(cherry picked from commit 1ffb270f91a63403c069fcf652bd2411d962b437)
2026-09-18 01:05:41 +00:00
Branimir Karadžić
5777fe1f66 D3D11/12/WGPU: Retried refused swap chain resize. D3D12/MTL/VK/WGPU: Fatal on failed pipeline creation. (#3985) 2026-09-17 14:14:56 +00:00
Branimir Karadžić
b380f0ee73 Fixed explicit swap chains in a headless init: MTL screenshots, MTL/VK/WGPU window list compaction, MTL/WGPU user depth pipeline format. (#3984) 2026-09-17 02:26:46 +00:00
Branimir Karadžić
bd85653546 Added cube array samplers. (#3979) 2026-09-14 00:54:40 +00:00
Branimir Karadžić
dd38b306c8 VK: Fixed image layout tracking for read-only depth/stencil attachments. (#3978) 2026-09-13 09:49:40 -07:00
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
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