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ć
6e6c062e1f
Closed the gaps between the GLSL and HLSL halves of bgfx_shader.sh. ( #3983 )
2026-09-16 04:30:06 +00:00
Branimir Karadžić
ee7f9f66e2
Fixed EGL headless bootstrap. D3D12: fixed explicit swap chain MSAA state. GL: Cleared and blitted texture slices. ( #3981 )
2026-09-15 05:56:24 +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ć
9499caafb0
Optimized bind state hashing, and matrix cache reservation. ( #3977 )
2026-09-13 06:22:34 +00: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ć
5e4943cd0e
D3D12: Fixed swap chain resource release during reset and shutdown. ( #3973 )
2026-09-12 05:53:05 +00:00
Branimir Karadžić
90f0995f8e
Rebuilt shaders. ( #3972 )
2026-09-10 23:39:39 -07: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ć
9b636df330
GL: Don't toggle primitive restart on WebGL. Fixes #3967 . ( #3969 )
2026-09-07 20:58:25 +00:00
Branimir Karadžić
6fb33c492b
Metal: Fixed externaly created device release. ( #3966 )
2026-09-06 10:42:02 -07:00
Branimir Karadžić
7293e6f75b
D3D11, D3D12: swap chain, clear and subresource state fixes. GL: debug group must be pushed and popped on the same context. ( #3965 )
2026-09-06 00:49:55 +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ć
f3d4ad0df0
Metal: Fixed 3D texture blit. ( #3960 )
2026-09-04 18:45:26 -07:00
Branimir Karadžić
01dbbbc08c
Added swap-chain. ( #3959 )
2026-09-05 01:44:33 +00:00
Бранимир Караџић
1ac4eb3cdd
WebGPU: Fixed compressed texture update bounds, and pipeline cache key.
2026-09-03 05:26:33 +00:00
Бранимир Караџић
49d0c38c0c
D3D12: Fixed 3D UAV mip depth range.
2026-09-03 03:33:25 +00:00
Бранимир Караџић
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
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ć
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ć
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
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