Okay, so I built a nice little app to render a buffer-sized quad with an arbitrary shader on it to an offscreen buffer and save it out as a file. All in the name of speeding up some computations for precomputed textures. And I mean a huge speed-up. My tests so far indicate that the entire texture could be generated in a little over a second using GLSL, whereas it takes nearly 14 hours with my CPU version. Maybe that just means my CPU code sucks.
Anyway, it seems that shaders which take more than about a second cause windows to freak out. It says the display driver has stopped responding and I guess it aborts the process… causes the app to hang or crash and never finish what it was doing.
Is there a way to tell windows/GL/the driver “hey, it’s okay. I know this is gonna take a while but chill and all will be cool in a couple seconds”? Or, as is more likely, am I going about this problem all wrong? This sort of procedure seems a more likely candidate for compute shaders… but that’s a couple months away I reckon at least, and not very portable for a year or more until SM5-capable cards are prevalent. Not to mention that I haven’t yet figured out how compute shaders work. Maybe I should look at CUDA instead?