Second Life shader variants are referred to as "classes."  

When a shader of a particular class is loaded, a lower class may 
be loaded if the class requested doesn't exist or fails to load 
for any reason.  In general, shaders that require more resources
or later hardware capabilities should be higher class and 
lower classes can be used for fallback implementations or lower
detail settings.

Which class is chosen will generally depend on graphics preferences. 

Previously, someone tried to enumerate the shaders here, but don't do 
that.  It messes with searches and the shader hierarchy changes often.


