Bloodtoes
04-05-2010, 06:16 PM
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?
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?