Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basis Failed to transcode image (Safari 17.0, iOS 17.0) #5509

Open
cd-vaughamhong opened this issue Jul 26, 2023 · 5 comments
Open

Basis Failed to transcode image (Safari 17.0, iOS 17.0) #5509

cd-vaughamhong opened this issue Jul 26, 2023 · 5 comments
Assignees
Labels
area: graphics Graphics related issue bug

Comments

@cd-vaughamhong
Copy link

Hello!

We recently upgraded to Playcanvas 1.64.4 and basis transcode has stopped working for some platforms.

  • Safari 17.0. (OSX Ventura 13.4.1 (c))
  • iOS 17.0.

(Console errors)
Screenshot 2023-07-26 at 11 10 41 AM

(basis-worker.js)
Screenshot 2023-07-26 at 11 37 21 AM

Our basisInitialize config:
{ “glueUrl":"(some url)/assets/lib/basis/basis.wasm.js", "wasmUrl":"(some url)/assets/lib/basis/basis.wasm.wasm", "fallbackUrl":"(some url)/assets/lib/basis/basis.js", "maxRetries":3, "rgbPriority":["etc1","etc2","astc","dxt","pvr","atc"], "rgbaPriority":["astc","dxt","etc2","pvr","atc"] }

If we force the fallback path (via hard coding wasmSupport to false) instead of compileStreaming / compileManual, our basis images do load properly.

(basis.js)
Screenshot 2023-07-26 at 11 39 26 AM

Let me know if there is any other info you’d like me to gather / follow up on. Any workarounds (other than forcing fallback) would be great!

@slimbuck
Copy link
Member

Hi @cd-vaughamhong ,

I've run a few different projects which use basis and they all work fine for me (for example https://playcanv.as/p/SA7hVBLt/). This is on ventura (13.4.1 and 13.5) and safari technology preview (17.0).

Can you see if the above project works for you?

Are you able to give me access to the failing project? If I am not able to reproduce the problem then I am not able to investigate.

Thanks!

@cd-vaughamhong
Copy link
Author

cd-vaughamhong commented Jul 27, 2023

Hey @slimbuck,

Thanks for the quick reply!

  • Tried the link you provided on my Safari 17, and it runs fine.
  • Double checked that our basis.js, basis.wasm, basis.wasm.wasm files match with playcanvas 1.64.4.
  • Checked that our basis file is valid - running it through basisu looks fine.
  • Another member on our team tried on their Safari 17 (but with Ventura 13.4 instead of 13.4.1) and everything worked.
  • Unfortunately we won't be able to provide our project, but I attached a basis file (grid.basis.zip) that didn't transcode.
Screenshot 2023-07-27 at 3 31 31 PM

We did implement a quick workaround which chains the wasm basis transcoder's failure into fallback (non-wasm) basis transcoder workers. This seems to be working for us at the moment.

Let me know if you can repro with the basis file I provided, otherwise.. umm.. Safari 17 / iOS 17 (beta) wasm regression?

@mvaligursky
Copy link
Contributor

I can reproduce it in this engine example: https://playcanvas.github.io/#/graphics/texture-basis
When running on Safari Tech Preview which is 17.0
Screenshot 2023-08-16 at 10 00 32

@slimbuck
Copy link
Member

I've logged an issue on webkit https://bugs.webkit.org/show_bug.cgi?id=260252

@mvaligursky
Copy link
Contributor

mvaligursky commented Sep 21, 2023

I just tested Safari Tech Preview (Release 179 (Safari 17.0, WebKit 18617.1.8.1)) and the issue is still there.

However a workaround for this has been added here: #5657

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: graphics Graphics related issue bug
Projects
None yet
Development

No branches or pull requests

3 participants