- Home /
SystemInfo claims support for compute shader but using it crashes the simulation
I implemented a check to see if the machine the software is running on supports compute shaders and shader model 5.0. The shader level returned is 50, and supportsComputeShaders == true. That seems to indicate that it is capable. However, in the output log generated at runtime, it fails to allocate the compute buffers and the render target used with the shader. Understandably, this then crashes.
On my dev machine the whole process executes perfectly, so I know it isn't the code itself. What concerns me is how to programmatically determine if this solution is appropriate to the machine I'm running on. The machine that crashes is an Intel Core i5 with an Intel HD 4000 series integrated GPU. I tested on several other machines with similar specs, and found the behavior to be consistent. Higher end graphics cards have no problems.
Has anyone observed a similar behavior? Is there a trick to getting more accurate information about the system you're running on? Is there another structure or functional path that gives better results?
I would like to avoid blacklisting. Our min-spec, as decided by others, is the 4000 series, so I have no say over that.