Skip to main content
GameDev.net gamedev.net
🔒 Locked

The question about DirectCompute and OpenCL.

Started by shiqiu1105 Sep 11, 2010 at 8:34 AM 3 replies 1.8k views
Original Post
shiqiu1105
shiqiu1105
Because I'm trying to implement FFT on GPU, and I'm using the DX9, I wonder if I could use the advanced stuffs like OpenCL and DirectCompute.

Because I've read somewhere that those things were designed for DX11...
And my gs8400 could run the ocean demo made by nVidia..
shiqiu1105
shiqiu1105
I've just confirmed that my card could not feasibly support the ComputeShader, which I guess is the exclusive advanced feature of DX11..T-T

I guess I just have to program my own FFT in HLSL now...GOD..
SergioJdelos
SergioJdelos
You can use OpenCL with OpenGL, Direct3D 9 and even Direct3D 10. However Direct Compute is part of Direct3D 11.
damix911
damix911
Hi shiqiu1105,

I just want to add that DirectX 11 interfaces can be used on so called "downlevel" hardware, that is hardware which supports DirectX 9 and DirectX 10; however some features will be unavailable and will cause your DX11 device creation request to fail in case you explicitly request them. For instance you can not use DX11 tesselation engine on DirectX 9 and 10 cards.

However, just so you know DX11 DirectCompute works, with some limitations, on DirectX 10 (but NOT 9) cards. This post by me contains some information you may find useful. The reply to that topic posted on 3/9/2010 3:25:24 PM (which is the last one, at the time of writing) contains the working C++ and HLSL code. It works on my EN210, which is a DirectX 10.1 card, though much more recent than the GS8400. You could give it a try, and see if it works on yours.

Bye, hopefully this was helpful!

Dario

EDIT: Now the link is the right one; previous one was wrong, sorry.
shiqiu1105
shiqiu1105
Quote:
Original post by damix911
Hi shiqiu1105,

I just want to add that DirectX 11 interfaces can be used on so called "downlevel" hardware, that is hardware which supports DirectX 9 and DirectX 10; however some features will be unavailable and will cause your DX11 device creation request to fail in case you explicitly request them. For instance you can not use DX11 tesselation engine on DirectX 9 and 10 cards.

However, just so you know DX11 DirectCompute works, with some limitations, on DirectX 10 (but NOT 9) cards. This post by me contains some information you may find useful. The reply to that topic posted on 3/9/2010 3:25:24 PM (which is the last one, at the time of writing) contains the working C++ and HLSL code. It works on my EN210, which is a DirectX 10.1 card, though much more recent than the GS8400. You could give it a try, and see if it works on yours.

Bye, hopefully this was helpful!

Dario

EDIT: Now the link is the right one; previous one was wrong, sorry.



OMG u r such a nice person!!Thank you so much!!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.