View Full Version : ATI, vertex shader, temporaries
12-13-2004, 10:26 AM
It's really easy to get one of these messages from ATI :
available number of temporary registers exceeded
Common guys! Get more men on the job!
Suggestion for GLSL Parse Tool
Have it render stuff and compare with a reference image.
12-14-2004, 02:01 PM
Yes, the problem has been there for a long time now and is pretty annoying as it basicly makes any kind of skinning shader impossible. Look here for instance.
I've only seen it related to skinning related stuff - or more precisely dynamic lookups in uniform arrays. I guess that as soon as a dynamic array lookup is performed in a shader it stops deallocating temporay registers making it run out of them pretty soon.
12-15-2004, 03:20 PM
I've seen that thread.
It's unfortunate if there isn't a workaround.
Here is a simple case that gives the same error
const vec4 tex555=vec4(0.01, 0.01, 0.01, 0.01);
gl_Position = ftransform();
for(i=0; i<28; i++)
temp += tex555;
gl_TexCoord = temp;
}Basically the same problem arises when you index something or if looping is used.
12-16-2004, 08:55 AM
I agree. In my opinion ATI seems to treat OpenGL as second-tier compared to Direct3D. Mobile chipset support is non-existant. And we all know how little they value linux support.
Perhaps a better approach for them might be to architect a core, unified approach to driver development and reuse this base for Mac, Linux, and Windows.
I even heard that they are using .Net for some of the driver utilities. Guess those won't be running on Linux or Mac....
12-16-2004, 05:03 PM
The problem with mobile chip support lies with the vendors (Dell, etc), not with ATI. ATI gives them all the drops they want. However, the vendors take a long time to integrate drops, and only do it once every year or whatever. That happens for all graphics chip brands for the same vendors, i e Dell laptops with NVIDIA drivers are equally bad.
12-17-2004, 11:00 AM
I completely agree it is formally the responsibility of the laptop vendor.
I just don't understand why ATI can't enable "unoffical" chipset support for the mobile chipsets.
I have been using the Omega drivers, which are just "modded" Catalyst drivers with mobile support enabled. I guess it could be worse....if the omega drivers didn't exist...
12-19-2004, 06:17 PM
There's always this driver modder utility:
Powered by vBulletin® Version 4.2.2 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.