Support usampler throughout the compiler.

TRAC #23360
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
diff --git a/src/compiler/BaseTypes.h b/src/compiler/BaseTypes.h
index 77d9c54..347ae04 100644
--- a/src/compiler/BaseTypes.h
+++ b/src/compiler/BaseTypes.h
@@ -71,6 +71,8 @@
     case EbtSampler2DRect:     return "sampler2DRect";     break;
     case EbtISampler2D:        return "isampler2D";        break;
     case EbtISamplerCube:      return "isamplerCube";      break;
+    case EbtUSampler2D:        return "usampler2D";        break;
+    case EbtUSamplerCube:      return "usamplerCube";      break;
     case EbtStruct:            return "structure";         break;
     case EbtInterfaceBlock:    return "interface block";   break;
     default:                   return "unknown type";
diff --git a/src/compiler/SymbolTable.cpp b/src/compiler/SymbolTable.cpp
index 300c509..4a38447 100644
--- a/src/compiler/SymbolTable.cpp
+++ b/src/compiler/SymbolTable.cpp
@@ -52,6 +52,8 @@
     case EbtSamplerCube:        mangledName += "sC";     break;
     case EbtISampler2D:         mangledName += "is2";    break;
     case EbtISamplerCube:       mangledName += "isC";    break;
+    case EbtUSampler2D:         mangledName += "us2";    break;
+    case EbtUSamplerCube:       mangledName += "usC";    break;
     case EbtStruct:
         mangledName += "struct-";
         if (typeName)
diff --git a/src/compiler/VariableInfo.cpp b/src/compiler/VariableInfo.cpp
index e6163bd..a8dd472 100644
--- a/src/compiler/VariableInfo.cpp
+++ b/src/compiler/VariableInfo.cpp
@@ -101,6 +101,8 @@
       case EbtSampler2DRect: return SH_SAMPLER_2D_RECT_ARB;
       case EbtISampler2D: return SH_INT_SAMPLER_2D;
       case EbtISamplerCube: return SH_INT_SAMPLER_CUBE;
+      case EbtUSampler2D: return SH_UNSIGNED_INT_SAMPLER_2D;
+      case EbtUSamplerCube: return SH_UNSIGNED_INT_SAMPLER_CUBE;
       default: UNREACHABLE();
     }
     return SH_NONE;