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
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ć
4b24c1482f
Fixed image declaration macros not expanding format argument. ( #3908 )
2026-08-20 11:13:40 -07: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ć
7e2f4e34c0
GL: Bind missing vertex attributes to offset 0. ( #3906 )
2026-08-19 14:01:40 -07:00
Branimir Karadžić
fde976604c
Raised minimum OpenGL version to 4.3. OpenGLES to 3.0. Removed glsl-optimizer. ( #3905 )
2026-08-19 10:12:25 -07:00
Branimir Karadžić
1eb770679f
WebGPU: Fixed timer query. Fixes #3902 . ( #3903 )
2026-08-18 00:07:52 +00:00
Branimir Karadžić
d918bd0be7
Fixed 08-update texture update size, WebGPU cube slice count, Vulkan init order. ( #3901 )
2026-08-17 04:15:05 +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ć
a772859619
Fixed missing texture3DLod/Grad aliases for GLSL >= 130. Fixes #3888 . ( #3899 )
2026-08-15 16:14:10 -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ć
0e698a6ad2
Metal: Fixed swizzled format caps, sampler border color, headless render pass, and empty frame buffer validation. ( #3896 )
2026-08-14 23:41:57 -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ć
bc70563478
Metal: Fixed pipeline state cache reusing stale uniform handles. ( #3893 )
2026-08-14 18:19:30 -07:00
Branimir Karadžić
419cf9c281
Metal: Fixed texture clear, image sub-range, and view dimension. ( #3892 )
2026-08-14 18:04:37 -07: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ć
7b41f2e108
D3D12: Fixed occlusion query results never resolving until the ring buffer filled. ( #3890 )
2026-08-14 17:11:27 -07:00
Branimir Karadžić
faa00a1639
Fixed topologyConvert strip conversion. Fixed Uint10 vertex packing. ( #3889 )
2026-08-14 23:11:26 +00:00
Branimir Karadžić
b12eef18b5
Fixed clear quad not writing stencil. ( #3887 )
2026-08-13 18:04:54 -07:00
Branimir Karadžić
e3fc300358
D3D11: Restore discrete clear for backbuffer. Fixes 13-stencil/14-shadowvolumes. ( #3885 )
2026-08-13 16:36:02 -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
Branimir Karadžić
0af3dac7bf
D3D12: Filter out mismatching clear value warnings. Fixes #3879 . ( #3882 )
2026-08-12 23:05:55 +00:00
Branimir Karadžić
e83814b122
GL: Restore texture blit and read-back fallbacks for OpenGL ES. ( #3881 )
2026-08-11 14:39:38 -07:00
Sam
56ecfded54
Fix: add missing memory barriers for compute writes ( #3878 )
...
* Fix: add missing memory barriers for compute writes
* Check define GL_TEXTURE_FETCH_BARRIER_BIT
2026-08-10 23:37:33 +00:00
Branimir Karadžić
af4015db29
Add BGFX_CONFIG_GL_NORMALIZE_NDC_CONVENTION. ( #3875 )
2026-08-06 05:30:06 -07:00
Branimir Karadžić
234d7a745d
D3D11: Fixed BGFX_FRAME_FLUSH not issuing queued commands. ( #3874 )
2026-08-05 18:25:41 -07:00
Branimir Karadžić
c0b161ef61
GL: Fixed render target MSAA on GLES 3.0 / WebGL 2. Fixes #3870 . ( #3873 )
2026-08-06 00:01:17 +00: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ć
b99e390016
Fixed blits and cached uniforms submitted at wrong view when setViewOrder is used. ( #3872 )
2026-08-05 21:44:21 +00:00
Branimir Karadžić
e75ab293cc
Metal/WebGPU: Clip view scissor and render area to the framebuffer. Fixes #3864 . ( #3866 )
2026-08-02 02:51:44 +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