Comments (13)
Never tried Emscripten, so "will look" but fair warning that it might take a while before I get around to it.
from astc-encoder.
The only reason I opened the issue is because the warning says that on some native platforms unaligned accesses are very slow.
from astc-encoder.
I generally try to avoid unaligned access, as we've seen people try to run this on Arm systems with unaligned access disabled so it will fault if you try.
from astc-encoder.
Looks like UBSAN is flagging a few cases where we pass unaligned addresses into SIMD intrinsics. The intrinsics in question explicitly allow unaligned addresses, so this isn't necessarily a problem, but would be good to avoid if we can.
env UBSAN_OPTIONS=print_stacktrace=true ./bin/astcenc-avx2 -tl in.png out.png 6x6 -medium
from astc-encoder.
@MarkCallow I'm in two minds about this one, given that this only impacts SIMD intrinsics which explicitly allow unaligned access, but can you try this branch:
https://github.com/ARM-software/astc-encoder/tree/unaligned_ubsan
... which at least seems to make UBSAN happy for the SIMD builds.
There is no measurable impact on performance (at least on a single x86-64 machine I tested on), as this is not impacting loads we expect to hit a lot in core loops.
from astc-encoder.
Decided that a clean UBSAN was worth the cost, as it's a useful tool, so I've merged the branch into main
. Can you let me know if this solves the problem - I think it should.
from astc-encoder.
Can you let me know if this solves the problem - I think it should.
Sorry for the delay. I'll test it as soon as I have time.
from astc-encoder.
No need to apologize - there is no hurry =)
from astc-encoder.
Can you let me know if this solves the problem - I think it should.
Yes. It solved the problem. I no longer get the exception when SAFE_HEAP is defined.
When do you expect to release 4.8.0?
from astc-encoder.
When do you expect to release 4.8.0?
I didn't really have a date in mind. If you need one to pull for KTX-Tools, I can do it this week.
from astc-encoder.
I didn't really have a date in mind. If you need one to pull for KTX-Tools, I can do it this week.
I have quite a bit more work before our next release so there is no huge rush but if you can do it this week I can pull it now while there is no danger of it being a critical path item.
from astc-encoder.
OK, I'll see what I can get done. Should be this week, but we're rolling out a new CI for this based on public GitHub Actions, so might be some teething issues =)
from astc-encoder.
OK, I'll see what I can get done. Should be this week.
Thanks Pete. I've subscribed to notifications of new releases.
from astc-encoder.
Related Issues (20)
- Question about bizarre differences between `-ts` vs `-ds` HOT 3
- Compress/decompress progress callback HOT 8
- Crash: Progress Callback not initialized for Single-Threaded alpha-weight-scaling-radius path HOT 1
- Builds for wrong-architecture on M1 macs HOT 3
- How to encode RGB+A with dual weight planes? HOT 4
- How to minimize heap/stack memory usage of multiple contexts on mobile platform? HOT 4
- The png do not support to load HOT 6
- The alpha channel is painted black during compression HOT 7
- Build fails on i386 with -march=nehalem or newer HOT 6
- 4.8.0 has "possible loss of data warning" in astcenc_find_best_partitioning.cpp HOT 2
- Despite ASTCENC_INVARIANCE ON, results on M2/Neon (macOS, clang) differ from X86_64/AVX2 (Ubuntu, GCC) HOT 4
- KTX2 format support for output textures HOT 3
- ASTC encoder output is resulting in a flipped image. HOT 5
- Using -pp-premultiply with sRGB compression gives a brigher than expected output HOT 16
- NEON any/all could be faster ...
- I think maybe there's a simple mistake HOT 1
- Try NEON dot product for 8-32 widening. HOT 1
- Improve SIMD table abstraction HOT 1
- Name the application threads
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from astc-encoder.