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.
Virtual DirectCompute
Started by Such1, Nov 08 2012 09:12 AM
5 replies to this topic
Sponsor:
#3 Members - Reputation: 171
Posted 08 November 2012 - 12:01 PM
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.
#4 Members - Reputation: 408
Posted 08 November 2012 - 01:24 PM
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++.
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++.
#5 Moderators - Reputation: 5467
Posted 08 November 2012 - 02:26 PM
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.






