http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program_shadow.txt
It's an extension to ARB_fragment_program that introduces a new texture type for texture sampling: SHADOW1D, SHADOW2D, and SHADOWRECT. Using these not return a sampled pixel, but instead will perform a depth comparison between the sampled pixel and the z-coordinate provided in the texture coordinate. Basically, it does exactly what ARB_shadow defines, but explicitly in a fragment program. Of interest is that by using this one disables ARB_shadow. I've read that ATI cards cannot use ARB_shadow and ARB_fragment_program on the same surface, anyway.
Also of note is that this functionality is already present in GLslang.
It's an extension to ARB_fragment_program that introduces a new texture type for texture sampling: SHADOW1D, SHADOW2D, and SHADOWRECT. Using these not return a sampled pixel, but instead will perform a depth comparison between the sampled pixel and the z-coordinate provided in the texture coordinate. Basically, it does exactly what ARB_shadow defines, but explicitly in a fragment program. Of interest is that by using this one disables ARB_shadow. I've read that ATI cards cannot use ARB_shadow and ARB_fragment_program on the same surface, anyway.
Also of note is that this functionality is already present in GLslang.