• Advertisement
Sign in to follow this  

Virtual DirectCompute

This topic is 1897 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys, I'm developing a game and one of the features I use is ComputeShader.
I would like to know if there is a way to run Compute shaders on software instead of hardware so I can still run on old hardware that
don't have ComputeShader compatibility.

Share this post


Link to post
Share on other sites
Advertisement
If you use a WARP device then you can run compute shaders. It's a lot faster than a ref device but still may fall flat on its face in terms of real performance. So I'd be leery of doing it without some heavy perf testing on low-end and older hardware.It could end up being a lot faster to do those calculations CPU-side using DirectXMath (or other vector math functionality) and parallelization (e.g. PPL's parallel_for and parallel_for_each) without being a huge time-sink in terms of writing and maintaining the separate code path for non-compute class hardware.

Share this post


Link to post
Share on other sites
I know I could do it in the CPU. But I would like to know if I can virtualize it so I don't have to recode the whole Shader.
What I am computing is very heavy depending on the configuration.
But it depend a lot on the option you choose. I know I wouldn't have the same performace in CPU but at least it would be supported.
So I just want to know if I can run the Shader on the CPU, so I don't have to transfer the code from HLSL to c++.

Share this post


Link to post
Share on other sites
There's no HLSL virtual machine, or anything like that. Even if there were, the CPU/GPU synchronization would have serious performance implications. The only option would be to run *everything* on WARP device, but this would likely be slower than most GPU's.

Share this post


Link to post
Share on other sites
Ok, thank you, that is what I wanted. I just want to try to make it compatible. I don't care if it is with a slower performace

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement