poke1024 / tove2d

Animated vector graphics for LÖVE.
Other
171 stars 8 forks source link

Latest release causes "Illegal instruction" error on Windows #24

Closed pdesaulniers closed 5 years ago

pdesaulniers commented 5 years ago

If I run the blob demo on Windows, using the latest v2.0a3 release, I get an Illegal instruction error.

I also get this error in the latest git version, built using VS Community 2017.

I'm running Windows 10, 64-bit.

The v2.0a2 release does not have this issue.

pdesaulniers commented 5 years ago

Fixed by removing /arch:AVX from the SConstruct file.

I suppose this flag should be removed, for better hardware compatibility.

Is there a feature in TOVE that requires AVX support?

poke1024 commented 5 years ago

@pdesaulniers No, AVX just makes some things considerably faster (esp. the dithering stuff in fact, where lots of pixel data is moved around). However, I haven't benchmarked this, so removing /arch:AVX is a good idea. I'll take care of it.

pdesaulniers commented 5 years ago

Actually, I'm getting the same error (SIGILL) on my low-end Linux laptop.

In this case, the fix was to remove the -mf16c flag, and to tweak common.h so that store_gpu_float uses the non-instrinsic fp16 conversion.

poke1024 commented 5 years ago

Ok, thanks a lot for debugging this. I'll change the defaults to not use this.