Commit Graph
484 Commits
Author SHA1 Message Date
Branimir Karadžić 8a9827eac9 Switched compile time ifs to if constexpr. (#4119) 2026-11-06 01:11:27 +00:00
Branimir Karadžić 00a1927c1f Fixed memory errors. (#4113) 2026-10-31 21:02:37 -07:00
Branimir Karadžić ac23f8f07d VK: Defer zero-area swap chain, fixed stale program bindings. D3D11: Skip redundant texture stage commits. (#4111) 2026-10-31 16:49:21 -07:00
Branimir Karadžić b2513038f4 Fixed GL ASTC probe, VK/WebGPU uniform offsets, and emulated compressed texture uploads. Closes #4108. Closes #4109. (#4110) 2026-10-31 12:11:00 -07:00
Branimir Karadžić b7d0751baa Texture blit fixes. (#4106) 2026-10-29 23:54:09 +00:00
Branimir Karadžić cebc89b55d shaderc: Uniform array element count is 16-bit. Closes #3226. (#4104) 2026-10-28 21:32:46 -07:00
Branimir Karadžić e7c58be8b6 Metal fixes, and instance data fallback on all renderers. (#4103) 2026-10-28 21:08:38 -07:00
Branimir Karadžić a86ec2b31d D3D11, D3D12, VK, WebGPU: Reduced submit and upload overhead. (#4092) 2026-10-25 18:55:07 -07:00
Branimir Karadžić 6b89babdad VK: Fixed descriptor pool exhaustion and occlusion query stalls. Closes #4083, #4084. (#4085) 2026-10-23 11:37:19 -07:00
Branimir Karadžić afa2d90ac7 Vulkan: Report GPU memory and viewport layer array on devices without the EXT extensions. (#4082) 2026-10-22 16:43:09 -07:00
Branimir Karadžić 71e06fd88c Fixed GL, GLES, Vulkan, and WebGPU issues. (#4081) 2026-10-22 16:23:09 -07:00
Branimir Karadžić 7afee0f9af Added MSAA sample counts to caps trace. (#4073) 2026-10-20 21:24:39 -07:00
Branimir Karadžić 8b8050788c Added per-format MSAA sample count caps, and clamp MSAA requests per format. Closes #1396. (#4072) 2026-10-20 20:35:15 -07:00
Branimir Karadžić d8d6acd94b Cleanup. (#4069) 2026-10-20 05:40:40 +00:00
Branimir Karadžić 1a1e3113d3 Fixed Vulkan Android swap chain recreation and GL multi-window vsync. Closes #4066, #4067. (#4068) 2026-10-19 20:30:44 -07:00
Branimir Karadžić a04e75687a Fixed D3D11 multi-window vsync and Vulkan GPU selection. Closes #3468, #3628, #1186, #1267. (#4062) 2026-10-17 21:15:13 +00:00
Branimir Karadžić fe3f08fb0e Added Vulkan HDR10, fixed D3D11/D3D12 HDR10 color space, and ImGui colors in HDR10. (#4061) 2026-10-17 09:57:27 -07:00
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