[Bf-committers] OpenGL Profiles Project?
mburrack at yahoo.com
Thu Oct 7 06:55:27 CEST 2010
> > Specifically, you're putting the burden on the user to
> > whether their graphics card supports GL_POINTS
> correctly or not. End
> > users don't want to bother with that; they just want
> to get
> > modeling!
> Some cards/drivers claim X, then give you "X by software"
> correct, but too slow) or "X done to the basic level
> required by spec"
> (compliant but slow and/or not looking as expected by coder
> wanted the extras). In both cases, being able to manually
> pick Y is a
> lot better than being stuck with X,
Actually, in both cases, *using* Y is a lot better than being stuck with X. Manually choosing Y has nothing to do with it, because in both cases, X will be unequivocally less desirable. Do you want the option to be able to Y instead of X in those cases? Absolutely. Should the user have to intervene to pick Y instead of X? No, not if at all possible.
> Or the other option, the driver
> gets fixed
> or improved and X becomes fast and implements the full
> spec, so now Y
> is the wrong thing.
At which point, you update the exceptions list from:
do Y instead of X
vendor.device.version < foobar:
do Y instead of X
This is expected, and inevitable as drivers are updated. *Something* will have to be changed as the drivers are updated; in my case, it's just a configuration file instead of the code, and all you need is one updated exception config file to push out to users, instead of having every single user go back into the preferences and unselect the "do Y instead of X" option.
In fact, in my proposal, instead of *every* user doing that, only *one* has to do that and submit the updated exceptions file as a patch. All future users benefit automatically.
> So having a manual option means reducing the pains but also
> the delays
> from updating to guess code. IE, happier users, and even
> people being able to test what workarrounds must be added
> or if the
> old workarround can be disabled now or still needed.
> So in the end there should be a manual override system on
> top of code
> that tries to do a first guess. Just like the swap method
My suggestion for the Python API for the exceptions list satisfies that. Yes, you need the "manual control" one way or another; the fundamental difference I'm proposing is that, instead of having *every* user needing to modify those exceptions manually, that we save them back out and store them in such a way that they can be submitted as a patch so that, ideally, only one user (or at least a small subset) need to actually bother with the manual control. Everyone else just downloads an update and benefits automatically.
More information about the Bf-committers