cg shaders + radeon mobility 9700 = kaboom?

I’m trying to run a jogl program that uses Nvidia’s vertex and fragment/pixel shaders and it gives me an CG profile not supported error. My laptop that cannot run the code has a ATI Radeon mobility 9700 but the jogl code runs on desktops with ATI Radeon 9700 type cards (I know they are not the same cards, but if CG works on one it should definitely work on the other?). I’ve put the latest Jogl (1.1_03) and CG dlls in the class path, so I’m quite mystified. I suppose it could be the drivers, since I have not installed any 3rd party drivers–only the drivers installed by Dell. But I think CG works for C/C++ and the ARG type shaders work. So yeah, I’m out of ideas.

Any help, like any particular drivers that are known to work etc, would be appreciated. Thanks.

CG is a shading language. As such, the hardware must, minimally, be able to support programmable shaders. Almost nothing within the laptop line supports any shading capabilities until the last few months (unless you are buying Alienware laptops as they run full desktop chips, not mobile). Even getting an ATI card to run nVidia shaders is a remarkable achievement as they’re certainly not shown a preference to in the past (ie my 9700 refuses to run CG code, nor will the 3Dlabs Wildcat VP cards we have here).

You may be able to get your shader code to work by choosing a different CG profile.

I’m using the Mobility Radeon 9700 driver that came installed on my Compal CL56 (ATI 6.14.10.6422 2/10/2004). It supports the ARB_vertex_program and ARB_fragment_program OpenGL extensions, corresponding to the CG profiles “arbvp1” (CgGL.CG_PROFILE_ARBVP1) and “arbfp1” (CgGL.CG_PROFILE_ARBFP1). It doesn’t support Nvidia shader program extensions/profiles.

For example, the JOGL CG demo “cgCL_vertex_example” is set up to use the NV_vertex_program extension. Getting it to run on my laptop required changing to ARB_vertex_program.