This is an initial stab at blacklisting functionality to warn
users about drivers with known issues or just plain bad drivers
that prevent blender from starting.
validation can lead to one of 4 results
OK : No known issues, start blender normally.
Warn: Driver has known minor issues, warn the user but still allow them to start blender.
Block: Known bad driver that will crash blender, user will not be allowed to start blender.
Unsupported: This hardware is unsupported, there is no known 'good' driver that will work, user will not be allowed to start blender.
It is designed to be generic enough that all platforms can maintain
the blacklist in a single code file, however the actual notifying
of the user is currently only implemented on windows.
What is still lacking however is a way to mark a certain triplet
(renderer/vendor/version) as warned so the user will not be bugged
every time they start blender.
I was thinking of storing a text file in the user profile folder
with the hashes of the triplets that have been warned about but
given ghost has no hashing functions and i wasn't sure if i was
allowed to drag in BLI i left this part unimplemented for now
while we make up our minds.
The codestyle in ghost is somewhat confusing, I just kinda winged
it based on the other code around it.