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

BPTC - Add SIMD support #20

Open
ivalylo opened this issue Jul 9, 2016 · 4 comments
Open

BPTC - Add SIMD support #20

ivalylo opened this issue Jul 9, 2016 · 4 comments

Comments

@ivalylo
Copy link

ivalylo commented Jul 9, 2016

CompressorSIMD.cpp in BPTCEncoder doesn't compile. Multiple errors

@Mokosha
Copy link
Member

Mokosha commented Jul 10, 2016

Thanks for the feedback. We'll look into this. The current SIMD branch on master hasn't been updated in quite some time. We started a separate ground-up rewrite a few years ago, but that hasn't come close to being finished. In the meantime, if you'd like a fast, good SIMD compressor, I suggest you take a look at the ISPC compressor from Intel.

@ivalylo
Copy link
Author

ivalylo commented Jul 10, 2016

It wasn't so hard to fix the SIMD files issues. I had a weird problem though. If I use the fast floating point mode in Visual Studio 2015, the generated texture is pixelated. If I use precise, it works as expected. I tried to change some fpu settings, but I'm not a SSE guru, so I didn't have any luck, will just live with the precise mode.

I don't want to deal with the ISPC compiler if possible. Also, I need something easy to hack that can give me reasonable result very fast. I was able to tweak FasTC to be a lot faster and still get decent result. It's nothing clever, just more error tolerance. But for my purpose, if I can get slightly worse result for 10x speed up, I would take it. On the Sponza scene for example, the NVIDIA driver can compress the 160 MB textures in 10 sec. The quality is pretty bad of course. Currently, I'm getting 30 sec with FasTC on 6 core machine, which is not bad. My multi-threading is not optimal, since I load and compress in the same thread, so there is a lot of idling at the end. With better MT, it should be like 20 sec.

@Mokosha
Copy link
Member

Mokosha commented Aug 17, 2016

Hi, sorry I haven't responded in a while.

How did you compile it in the first place? I thought I turned off the SIMD codepath because it wasn't finished. Did you hack the CMake file?

@ivalylo
Copy link
Author

ivalylo commented Aug 18, 2016

No, I made a project in Visual Studio. Then tried to match the changes from the non-SIMD version. It wasn't much work, but of course, I'm not sure if everything was working.

@Mokosha Mokosha changed the title BPTC - CompressorSIMD.cpp doesn't compile BPTC - Add SIMD support Sep 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants