Files
bgfx/src
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
..
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-27 16:08:40 +00:00
2026-08-22 20:03:12 -07:00
2026-08-22 20:03:12 -07:00
2026-08-22 20:03:12 -07:00
2026-08-22 20:03:12 -07:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-01-14 16:26:51 +00:00
2026-01-14 16:26:51 +00:00
2026-01-14 16:26:51 +00:00
2026-04-05 02:54:27 +00:00
2026-01-14 16:26:51 +00:00
2013-02-21 21:07:31 -08:00
2026-06-15 17:13:38 +00:00
2026-06-15 17:13:38 +00:00
2026-06-14 06:49:15 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00
2026-08-22 20:03:12 -07:00
2026-01-14 16:26:51 +00:00