Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 6.04 KB

KTXDeveloperGuideWebGL.md

File metadata and controls

65 lines (44 loc) · 6.04 KB

KTX 2.0 / Basis Universal Textures — WebGL Tips

To ensure that transcoding from the transmission texture formats (i.e. ETC1S or UASTC) to GPU compressed formats works as expected, developers should test their WebGL applications on a wide range of platforms due to differences in compressed format support. Still, there are two setups that provide exceptionally high level of compatibility: modern Intel GPUs (Windows and Linux) and Apple M1 and newer SoC (macOS).

Warning: It is highly recommended to use Chromium Dev builds instead of altering the main Chrome or Edge installation because using non-default ANGLE backend may decrease stability or security.

Windows and Linux

Modern Intel GPUs, namely Intel HD Graphics 5xx ("Skylake") or newer, have the best compressed format coverage on Windows and Linux. OpenGL or Vulkan are required to get access to ASTC and ETC formats.

  1. Consider using the latest GPU driver. On Windows, it could be downloaded from the Intel website; on Linux, it is usually provided and maintained by OS distribution vendors.

  2. Install Google Chrome Dev or Microsoft Edge Dev.

  3. On Windows, open about://flags/#use-angle page, select OpenGL as ANGLE graphics backend, and restart the browser.

  4. Confirm enabled WebGL extensions here: https://webglreport.com/, the list should include:

macOS

Apple M1 and newer SoC support all possible compressed transcode targets: BC*, ETC*, ASTC, and PVRTC1. Most of them are available only via Metal API. Intel-based Macs support only BC* formats.

Chromium-based browsers

  1. Install Google Chrome Dev or Microsoft Edge Dev.

  2. Open about://flags/#use-angle page, select Metal as ANGLE graphics backend, and restart the browser.

  3. Confirm enabled WebGL extensions here: https://webglreport.com/, the list should include:

Safari

  1. Ensure that macOS 12 Monterey or newer is used.

  2. Ensure that Safari 16 or newer is used.

  3. Confirm enabled WebGL extensions here: https://webglreport.com/, the list should be the same as with Chromium-based browsers running on Metal.

Platform Support Table

AMD Apple Ax Apple M1 ARM Intel NVIDIA Desktop NVIDIA Tegra Qualcomm
ASTC A8 and newer 2 Mali-T620 and newer Gen9 and newer3 Adreno 3xx and newer
BC1
BC3
BC4
BC5
BC7 Radeon HD 5000 and newer1 1 Gen7 and newer1 GeForce 400 and newer1
ETC1 A7 and newer 2 Mali-300 and newer Gen8 and newer3 Adreno 2xx and newer
ETC2 / EAC A7 and newer 2 Mali-T6xx and newer Gen8 and newer3 Adreno 3xx and newer
PVRTC1 2

1 On macOS, only Metal API supports BC7.

2 Use of Metal API is required.

3 Available only on Windows and Linux, requires use of OpenGL or Vulkan.