Previously, the Result class was reserved for inputs and outputs of
operations, so its allowed types were naturally those exposed to the
user. However, we now use the Result class internally for intermediate
results, so it now makes sense to expend the allowed types.
The types are now divided into two categories, those that are user
facing and need to be handled in implicit operations and those that are
internal can be exempt from such handling. Internal types are reserved
for texture results, as the single value mechanism is only there for
user facing results.
The patch merely adjusts the switch cases across the codebase, adding
one new internal type as an example.