Greetings,
I have been playing through the original Call of Duty on PC and its expansion, United Offensive, for the first time in a couple of years, and there are two new noticeable graphical bugs that were not present when I played these games a couple years ago on the exact same hardware (AMD Radeon RX 480). I also have a newer second PC with an RDNA3 GPU (AMD Radeon RX 7900XT) and CPU, and it is suffering from the exact same issues when playing this game.
The first one is that where the water is supposed to have a reflective effect, it is now broken and only displays a downgraded backup texture. In certain levels, this downgraded texture appears quite ugly too. What's worse is that there is no known workaround except rolling back to 2 year old drivers, and there seems to be little discussion about this water texture bug online.
In addition, heavy stuttering has been introduced when either the player or surrounding NPCs fire weapons, especially in areas with a lot of nearby surfaces for light from the muzzle flashes to bounce off of. Fortunately, this bug does has a workaround by reducing [seta r_maxEntLights "8"] to a lower amount in the game's config file.
After troubleshooting using my RX 480, I have narrowed the culprit of these bugs down to AMD Adrenalin 22.7.1, which made heavy changes to OpenGL. Call of Duty 2003 and its expansion use the id Tech 3 engine, and runs using mainly OpenGL 1.3 and 2.0 with elements of DirectX 9b and 9c. Both the water texture bug and the frame stutters are present in every driver post-22.7.1, including the latest driver: Adrenalin 24.5.1.
Pictures showcasing the broken water textures, taken in the level "Train Bridge" in COD United Offensive:
AMD Adrenalin 22.6.1 & before:
AMD Adrenalin 22.7.1 & after:
Game log files:
Due to the forum character limit, I'll post the game's logs separately if you need them.
(Please note the lines near the end of the broken driver logs containing this phrase: "WARNING: missing tcMod turb in shader 'textures/sfx/trainwater". "trainwater" is the specific water texture used in the level "Train Bridge" in United Offensive. Each level in both games I believe has its own specific water texture.)
Sources with additional context:
According to the Steam Forums thread above, the users there seem to have singled out the missing presence of the legacy OpenGL extension "GL_ATI_fragment_shader" as the root cause of at least the broken water textures (I don't know if it also causes the weapons FPS stuttering) They claim that GL_ATI_fragment_shader was renamed to GL_ARB_fragment_shader, but looking up the installed extensions both within the game's log files and using GLview Extensions Viewer shows this is not the case. Both GL_ATI_fragment_shader and GL_ARB_fragment_shader are present in Adrenalin 22.6.1, however GL_ATI_fragment_shader was removed in Adrenalin 22.7.1 and hasn't returned since.
Adrenalin 22.6.1 (RX 480):
Adrenalin 22.7.1 (RX 480 - The Adapter RAM listing is incorrect):
Adrenalin 24.5.1 (RX 7900XT):
To conclude, I understand that the RX 480 is an outdated GCN card that is starting to end official driver support, and that these bugs can be fixed on that card by rolling back to driver 22.6.1 and prior. Unfortunately, my RX 7900XT has no drivers available that are before the OpenGL changes of 22.7.1 that created these bugs, making the correct reflective water texture completely inaccessible on my RDNA3 card. It is specifically for playing Call of Duty 2003 on my RX 7900XT that I would like you guys to take a look and attempt to fix this issue. I have also seen no talk of this occuring on NVidia GPU's, so it sounds like a solely AMD issue.
-----------------------------------------------------
PC Specs:
New PC---
Old PC---
Please let me know if you need anything else from me.
Thanks.
Suggest you use the 'bug report tool' & also report it at https://github.com/GPUOpen-Drivers/AMD-Gfx-Drivers
Ref. this thread to both.
I reported the bug to AMD using the Bug Report Tool last weekend, though I assume it would've been too late to get looked at for this latest driver dev period.
I updated my RX 7900XT to the new Adrenalin 24.6.1 driver and it still has the same issues.
Will have to keep waiting for now unless you guys have anything to add.
Adrenalin 24.7.1... Still the same issues.
Gonna keep posting after every driver update until this gets more attention.
With Adrenalin 22.7.1 (from July 2022) an entirely new version of OpenGL driver was released. Since then GL_ATI_fragment_shader extension is considered deprecated and there is no plan to add support of it back in a foreseeable future.
GL_ARB_fragment_shader extension is fundamentally different from GL_ATI_fragment_shader and it is not considered as a replacement.
To conclude, water rendering is going to be "as is" in CoD (2003) game
so basically you are saying (as this issue bothers the hell out of me too on my RX6700XT) that I need to switch over to the competition to be able to play CoD2003 & UO with normal water rendering...
Great marketing.
I'm not seeing the bigger picture here for sure, what the benefits of this new version of OpenGL driver is, from my standpoint it is "repairing what has already worked fine" in a way that you broke one thing that really looked spectacular in an old game when it came out. I wonder how much effort it would be to add this GL extension back...
I guess when only the two of us in the ENTIRE WORLD is complaining about it, there's not much hope...