Bugs in drivers in actual games

Hi,
I’m very curious about new drivers to graphics cards. In every new driver release I see resolved bugs like “Proper display something in game ABC”. I don’t get it. If developer released a game so he must have tested it on current drivers so that it doesn’t contain bugs.
But the most interesting thing is: why this bug is (let say) NVidia’s fault? When I write a program I know what is does on current hardware and current drivers. And no new drivers can change that. I wrote a program using specified functions (driver functions) and I know what they do and how they work.
What I’m trying to say is I think that game developers know something more than me. They know more functions, or some tricks, or maybe they interfere in driver itself?
Or they got super early released functions that doesn’t work now but will work in future and that’s why there are bugs in older drivers?
I don’t know, but I’m thinking of it…

Sorry if you don’t understand what I’m trying to say…

Firstly, a bug may be geniune and it first appeared in that game, so the fix is referring to the bug scenario (driver team cannot test each and everything!). Secondly, specific optimizations are made for different games by each hardware vendor (if the game is popular and really pushes the hardware to its limit) so nVidia e.g. adds optimizations for Doom3 and ATi adds for say half-life 2. Those optimizations can sometimes induce a bug or some visual discontinuity. I believe that the bug scenario that you are referring to, might be one of the latter cases.

Originally posted by Bobo.Bobo:
Hi,
I’m very curious about new drivers to graphics cards. In every new driver release I see resolved bugs like “Proper display something in game ABC”. I don’t get it. If developer released a game so he must have tested it on current drivers so that it doesn’t contain bugs.

It is possible that game inadvertently relies on some undefined or badly defined behaviour that has ben working until new hardware appeared, new feature was added or some driver optimalizations were made. Also it is possible that something had become broken in previous driver version.


When I write a program I know what is does on current hardware and current drivers. And no new drivers can change that.

New driver can easily break previously working behaviour because of bugs introduced to driver during optimalization, during implementation of new features or during addition of support for some new hardware. Problem is that each application uses API in its own unique way and by adding new functionality or optimalization some existing combination used by one application may become broken without that being noticed in time.


I wrote a program using specified functions (driver functions) and I know what they do and how they work.

You know what they are supposed to do should there were no bugs on both aplication and driver part.