Commit Graph
3862 Commits
Author SHA1 Message Date
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
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