Thomas Clegg
9304c09edc
Metal: Fixed blit encoder released without endEncoding on shutdown. ( #4005 )
...
Resource updates (texture/buffer updates, texture zero-init) open a blit
encoder that is ended in submit. When updates are pending at shutdown,
RendererShutdownBegin clears m_rendererInitialized, submit is skipped, and
renderFrame's autorelease pool frees the still-open encoder, which Metal
API validation reports as 'Command encoder released without endEncoding'.
Retain the blit encoder while it's open, and end encoding before the final
command buffer kick in shutdown.
2026-09-30 10:04:53 -07:00
Branimir Karadžić
b743ef8f7e
D3D1x: Report device loss from a failed readback Map. ( #4004 )
2026-09-29 17:08:20 +00: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ć
ce3bee65f2
D3D1x/WebGPU: Survive device loss in the readback paths. ( #4001 )
2026-09-28 19:56:23 -07:00
James Green
d8b2a448aa
D3D11: Fixed the DXGI_SWAP_EFFECT_DISCARD fallback swap chain. ( #3997 )
...
The retry kept DXGI_SCALING_NONE, and createSwapChain/resizeBuffers
added DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING for every swap effect; both
are flip-model only, so the fallback failed with DXGI_ERROR_INVALID_CALL
and a bitblt chain could not be resized.
2026-09-25 15:35:15 -07:00
Branimir Karadžić
c00cc181cc
Metal: Allow metal binary. ( #3996 )
2026-09-24 22:20:22 -07:00
vrimar
ae6bc904d5
WGPU: Fixed 32-bit build, viewFormatCount narrowing since #3959 . ( #3995 )
2026-09-23 21:17:38 -07:00
Branimir Karadžić
81d81fba72
GL: Fixed timer query stall without a swap. WGPU: Reset read-only depth/stencil for swap chains. Fixed occlusion query result on handle reuse. ( #3993 )
2026-09-19 21:59:40 +00:00
Sam
e693f8f72d
GL: fix data-less compressed texture arrays and stale m_immutableStorage on handle reuse ( #3992 )
2026-09-19 12:41:29 -07:00
Branimir Karadžić
42f028887c
D3D11: Skipped MSAA resolve of integer formats. WGPU: Fixed uninitialized frame buffer size, and read-only depth/stencil pipeline state. ( #3991 )
2026-09-19 05:42:34 +00:00
Branimir Karadžić
fd070e679f
D3D12: Fixed depth-stencil plane states. ( #3990 )
2026-09-18 19:16:27 -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
Branimir Karadžić
1512f4d961
WebGL: EAC texture formats have no sRGB variant. ( #3988 )
2026-09-17 21:23:01 -07:00
U U U
d6890aa5c2
WebGL: Enabled EAC texture formats via WEBGL_compressed_texture_etc extension. ( #3980 )
...
EACR11/EACR11S/EACRG11/EACRG11S fell through to the default case, so on
WebGL the extension was never enabled and EAC textures silently failed
to load. Follow-up to #3487 .
2026-09-17 21:07:22 -07:00
Branimir Karadžić
ca8e4528a2
GL: Fixed main back buffer sRGB state with MSAA. ( #3987 )
2026-09-17 21:04:27 -07: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ć
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