From recent discussion on the list, it is my understanding that some DRI drivers that implement (or will implement) EXT_texture_env_combine will have numerous software fallbacks. Is it possible to add a way for applications to detect when a texture environment will cause a software fallback? Direct3D has a mechanism called "ValidateDevice" for this purpose; you set up an environment and call ValidateDevice to see if the hardware can do it without fallbacks.
Currently the only way I see to know such cases with DRI would be to use glGetString with GL_VENDOR and GL_RENDERER and have a table of hardware capabilities in every application that really need to know this, which is not very flexible and is hard to update when DRI gets new drivers and old drivers get new features. And I hear some Linux games already have to do this.
Seems to me that a driver query would be a much better solution. Would it be feasible to implement such a mechanism?
(Of course, there are other things that could cause a fallback (e.g. stippling), but that's a smaller problem.)
There was some discussion about this about a year ago. Here's the thread that followed a discussion in one of the #dri-devel IRC meetings. Unfortunately, looking in the meeting log repository, the relevant meeting log (20021021.txt) is missing. :( I seem to recall that there were more messages on the mailing list, but I can't find them in the archive. Perhaps someone with a better memory and better searching skillz can turn them up...
http://dri.sourceforge.net/IRC-logs/ http://marc.theaimsgroup.com/?l=dri-devel&m=103487637430846&w=2 http://marc.theaimsgroup.com/?t=103524330000002&r=1&w=2
I think the conclusion was that as a tool for anything other than development / debugging, such a thing was not terribly useful. Pretty much all of the drivers have a *_DEBUG (i.e., MGA_DEBUG) that can be set to 'fall' to print a message to stderr whenever a fallback occurs.
The problem with it is, especially in the case of the MGA, changing one subtle thing (like changing the texture constant color from 0x00ffffff to 0x00ffff00) can change whether or not there is a fallback. I don't think that apps should or would, at run time, detect these types of things and change their behavior. Either it needs a constant color of 0x00ffff00 or it doesn't.
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel