Skip to content

EXRLoader: Throws error in r136 on iOS below 15.1 #23260

@inear

Description

@inear

When loading a exr texture on iOS 14 or below the device throw a runtime error and prevent the texture from being loaded.

The line that triggers the error: https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/EXRLoader.js#L2165 (if using DWA compression the error is also triggered during decoding pre r136) The change was added in this commit: ab528ac

Steps to reproduce the behavior:

  1. Load exr texture with any compression type
  2. Build to device/webview or run in mobile Safari running iOS 14.x
  3. See the following error: TypeError: t.getBigInt64 is not a function. (In 't.getBigInt64(e.value,!0)', 't.getBigInt64' is undefined)

Expected behavior
The loader should detect or workaround the missing support.

The current workaround is to downgrade to version 135 and use a different compression than DWAA or DWAB.

Platform:

  • Device: Mobile
  • OS: iOS
  • Browser: Safari, WebView
  • Three.js version: r136

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions