This fix was originally posted in a topic which was incorrectly named so I decided to post it in a topic of it's own name.
I went to http://forums.guru3d.com/showthread.php?threadid=115614 and followed the directions and saw no speed improvement either way with my NVidia GeForce FX 5950 Ultra (Flashed 5900). However I have localized the water fix. On my card water would never show in dx9.
Deleting the line labeled "NoUserClipPlanes" under your NVidia FX card's settings in the dxsupport.cfg file fixed this water problem nicely.
I have not tried limiting to fp16 shader performance yet, but, otherwise, I see no speed benefit or hinderance to straight up dx9 in HL2 on an FX series video card which has been so modified.
While I was working on this it became relatively apparent how HL2 recognizes your video card. It does so by Vendor ID and Device ID. (Proof: I ran into a problem with this while attempting the fix. There are two listings for the NVidia GeForce FX 5950 Ultra. The first is Device ID 0x310 and the second is 0x333. Mine is the latter but I started with the former. When I changed the settings in the former nothing would happen, but when I changed them in the latter it started working.)
When you follow the instructions specified by http://forums.guru3d.com/showthread.php?threadid=115614, you are not rebadging your video card. In fact, as far as HL2 is concerned, you are deleting it from the list, forcing HL2 to go with the default settings at the very bottom of the file. The settings at the very bottom of the file are generic and thus do not incorporate any specific settings such as "NoUserClipPlanes." This tells HL2 to treat your video card as a standard, dx9 compliant, Nvidia branded video card. It is basically assuming that you have an Nvidia card from the future... as stupid as that sounds.
For those who don't know, to enable dx9 support in HL2 on an NVidia FX based Video Card you must add "-dxlevel 90" to the advanced launch options for HL2.
I went to http://forums.guru3d.com/showthread.php?threadid=115614 and followed the directions and saw no speed improvement either way with my NVidia GeForce FX 5950 Ultra (Flashed 5900). However I have localized the water fix. On my card water would never show in dx9.
Deleting the line labeled "NoUserClipPlanes" under your NVidia FX card's settings in the dxsupport.cfg file fixed this water problem nicely.
I have not tried limiting to fp16 shader performance yet, but, otherwise, I see no speed benefit or hinderance to straight up dx9 in HL2 on an FX series video card which has been so modified.
While I was working on this it became relatively apparent how HL2 recognizes your video card. It does so by Vendor ID and Device ID. (Proof: I ran into a problem with this while attempting the fix. There are two listings for the NVidia GeForce FX 5950 Ultra. The first is Device ID 0x310 and the second is 0x333. Mine is the latter but I started with the former. When I changed the settings in the former nothing would happen, but when I changed them in the latter it started working.)
When you follow the instructions specified by http://forums.guru3d.com/showthread.php?threadid=115614, you are not rebadging your video card. In fact, as far as HL2 is concerned, you are deleting it from the list, forcing HL2 to go with the default settings at the very bottom of the file. The settings at the very bottom of the file are generic and thus do not incorporate any specific settings such as "NoUserClipPlanes." This tells HL2 to treat your video card as a standard, dx9 compliant, Nvidia branded video card. It is basically assuming that you have an Nvidia card from the future... as stupid as that sounds.
For those who don't know, to enable dx9 support in HL2 on an NVidia FX based Video Card you must add "-dxlevel 90" to the advanced launch options for HL2.