 			) * ( 1.0 / 9.0 );
 
 		#elif defined( SHADOWMAP_TYPE_PCSS )
-
+		  return PCSS( shadowMap, shadowCoord);
 		  return texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
 
 		#else // no percentage-closer filtering:

			float searchWidth = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;
			float blockerSum = 0.0;
			numBlockers = 0.0;

			for( int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; ++i )
			{
				float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchWidth));

		{
			vec2 uv = coords.xy;
			float zReceiver = coords.z; // Assumed to be eye-space z in this code
			
			initPoissonSamples();
			// STEP 1: blocker search
			float avgBlockerDepth = 0.0;
			float numBlockers = 0.0;
