DirectX 11 to offer Compute Shaders for DX10 hardware

Posted on Sunday, Apr 19 2009 @ 08:35 CEST by Thomas De Maesschalck
X-bit Labs has some info about the Compute Shaders features of DirectX 11. The site reports this GPGPU functionality will also be available for current DirectX 10 and DirectX 10.1 hardware:
General-purpose processing on graphics processing units (GPGPU) is gaining popularity slowly, but surely. Unfortunately, at present there is only one standard application programming interface – OpenCL - that supports all graphics chips available today. But apparently, DirectX 11, which will enable GPGPU, physics, artificial intelligence, etc. programming via compute shaders, will also be able to take advantage of present GPUs, albeit with some limitations.

In order to popularize compute shaders (CS) among developers, the DirectX 11 includes not only compute shaders 5.0, but also compute shaders 4.0 (for Direct X10 hardware) and 4.1 (for DirectX 10.1 hardware), which are not supported by DirectX 10. Compute shaders 4.0/4.x have a number of limitations compared to version 5.0, including maximum number of threads per group (768), thread group shared memory (16KB vs. 32KB in CS 5.0), absence of atomic operations or append/consume and so on. CS 5.0 will also offer better interaction with graphics pipeline (e.g., it can output to textures), double precision and so on.

About the Author

Thomas De Maesschalck

Thomas has been messing with computer since early childhood and firmly believes the Internet is the best thing since sliced bread. Enjoys playing with new tech, is fascinated by science, and passionate about financial markets. When not behind a computer, he can be found with running shoes on or lifting heavy weights in the weight room.

Loading Comments

Use Disqus to post new comments, the old comments are listed below.

Re: DirectX 11 to offer Compute Shaders for DX10 hardware
by Anonymous on Sunday, Apr 19 2009 @ 17:10 CEST
This is one key factor to know. But there is more to the "will DX11 be a hit" puzzle than just this.

First, it has to be useful on a lot of hardware, future and existing, which the above article answers. It will be very useful on older DX10 hardware, and super useful on DX11 hardware.

Second, how hard is it for a developer to program once and use both possible models, DX11 for DX11 and DX11 for DX10/10.1 and get simple working output code for both markets. If this is easy - then DX11 should be a good hit.

It has to work on a lot of hardware, and it has to be easy for a Dev to make one program and have outputted compiled code that works on any platform, that also runs fast.

Hopefully it all comes together :)