[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ATI linux drivers

Steve Baker:
 |Randall Hopper wrote:
 |>I'm contemplating a video card upgrade, and hoping to use the ARB profiles
 |>in Cg to work with fragment and vertex shaders in Linux.
 |Hmmm - interesting.   It *ought* to work - but whether it actually *does* is
 |another matter.

I've seen a number of Usenet, mailing list, and cgshaders posts indicating
it works fine for some folks.  A few others mentioned problems, but to what
extent all of these developers rigorously exercised the extensions, knew
what they were doing, and might have been dealing with bugs in past
versions of the Cg compilers is an unknown.  It at least sounds like a
promising approach.

 |>Any other options?
 |The main Cg compiler is Open-Sourced - right?  That means that (in
 |principle) someone could write a native Radion 'profile' for it.
 |It might not be all that difficult - how different could the nVidia
 |native 'machine code' be from the Radion's instruction-set.

Right.  However, that hinges on an assumption that all the latest ATI PS
stuff is exposed to OpenGL through an ATI-specific fragment shader
extension.  I made that assumption at first, but after further net research
last night I don't think this is correct.  In the ATI world, it appears
ATI_fragment_shader is roughly the PS 1.4-level OpenGL hook (pre-R300), and
ARB_fragment_program is the PS 2.0-level hook (R300).

Now whether the ARB extension was flowed to Linux as well as Windows is
another open question...thus my original post.

 |One problem may be that the length of a fragment program on the Radion
 |is quite small (compared to the NV30 at least) - and it's possible that
 |the overhead of using a high level language would swamp it's abilities.

Possibly.  Depends on the application of course and how similar/different
it is from Doom ;-) It will be very interesting to see how longer programs
with specific sets of instructions affect FPS performance at various
resolutions on the HW-FP cards.  Longer FPs may be possible, but are they
really practical yet.

Radeon R300 PS  : 64 ALU instructions, 32 texture instructions, and 4 levels
                  of dependent texture read
NV30 PS         : 1024 instructions