Sign in to follow this  
Ey-Lord

ATI and problem /w shaders

Recommended Posts

Hi there ! I got an ati 4870 with the latest driver and i can't run a programme i'm working on at school at home. It runs perfectly on any computeur with an nvidia an fail with ati's. I've narrow down the problem to one piece : We got only an height-map, made with vertex displacement in a shader. And with my ati's, it's flat. Like my vertex doesnt get changed on "y". Any idea where it may comes from ? ( or should i post some code?) Earlier the program was running fine. The only real difference i can see is that now we use 3 texture unit (with my card i dont its a problem but anyway ...) I cant see or think or something that would prevent it from running on ati's (we got no geometry sahder) Any ideas?

Share this post


Link to post
Share on other sites
At my company, we've found that the ATI cards are buggy for creating shaders. Often, the order that you execute commands (commands where the order shouldn't matter) changes the results of the calculations. We've concluded that the issue is buggy ATI drivers, and resolved this problem by specifying that our products only run on NVIDIA cards.

You may have run into the same issue - a buggy ATI driver.


Share this post


Link to post
Share on other sites
Unfortunately ATI has had shoddy support for OpenGL for many years now, and it's only getting worse. All I could suggest is make your shaders as dumb as possible. Ie: unwrap your own loops, limit if not outright eliminate "if" conditions, stop using functions, and so on. Sometimes it's not even the shader that's to blame. Sometimes active OpenGL states mess with ATI's drivers, like having linear filtering turned on for the depth buffer resulting in the depth buffer no longer being sampled properly in the shader... But in the end it all simply comes down to ATI's drivers: they suck. Hard.

Share this post


Link to post
Share on other sites
DirectX usually, yes. ATI actually has pretty decent drivers for their DX side. Engines that are cross-platform tend to use DirectX on Windows and OpenGL on the Mac platform. Take World of Warcraft, for instance. If you have it installed, you can actually request their OpenGL renderer by calling wow.exe with the -OpenGL flag, but by default it uses DirectX.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this