We need to be able to differentiate between the four possible scenarios for
Xnack and SramEcc listed below:
Not Supported: The GPU has no support for Xnack/SramEcc
Any: Preference is unspecified. Use conservative settings that can run anywhere.
Off: Request support for Xnack/SramEcc Off
On: Request support for Xnack/SramEcc On
GCNSubtarget will track the four options based on the following criteria. If
the subtarget does not support xnack/sram-ecc we say the setting is
"NotSupported". If no subtarget features for xnack/sram-ecc are requested we
must support "Any" mode. If the subtarget features xnack/sram-ecc exist in the
feature string when initializing the subtarget, the settings are "On/Off".