HLSL: Add SampleCmp and SampleCmpLevelZero texture methods
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 61fe8f5..fc8360c 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -661,8 +661,11 @@
     // read sampler type
     const EHlslTokenClass samplerType = peek();
 
+    // TODO: for DX9
     // TSamplerDim dim = EsdNone;
 
+    bool isShadow = false;
+
     switch (samplerType) {
     case EHTokSampler:      break;
     case EHTokSampler1d:    /*dim = Esd1D*/; break;
@@ -670,7 +673,7 @@
     case EHTokSampler3d:    /*dim = Esd3D*/; break;
     case EHTokSamplerCube:  /*dim = EsdCube*/; break;
     case EHTokSamplerState: break;
-    case EHTokSamplerComparisonState: break;
+    case EHTokSamplerComparisonState: isShadow = true; break;
     default:
         return false;  // not a sampler declaration
     }
@@ -678,10 +681,9 @@
     advanceToken();  // consume the sampler type keyword
 
     TArraySizes* arraySizes = nullptr; // TODO: array
-    bool shadow = false;               // TODO: shadow
 
     TSampler sampler;
-    sampler.setPureSampler(shadow);
+    sampler.setPureSampler(isShadow);
 
     type.shallowCopy(TType(sampler, EvqUniform, arraySizes));