We never break API in for a DRI extension. If we need to change the way things work in a non-backwards compatible manner, we introduce a new extension. During a transition period, we can leave both the old and the new extension in the driver, which allows us to move to the new interface without having to update the loader(s) in lock step.
However, we can add entry points to an extension over time as long as we don't break the old ones. As we add entry points to an extension, we increase the version number. The corresponding define can be used to guard code that accesses the new entry points at compile time and the version field in the extension struct can be used at run-time to determine how to use the extension.
|const char *||name|