Mode negotiation

There are three types of mode calls:

If a given mode can not be set, the structure passed is changed to the suggested mode as follows:

Note: The resulting mode is guaranteed to be valid; if not, the application can assume that it cannot set any mode on the given visual and give up.