ATI and arb_fragment_program_shadow

I’m trying to make my depth peeling works on ATI hardware. It works on nvidia cards. My depth texture uses COMPARE_R_TO_TEXTURE_ARB set to GL_GREATER and in the fragment I do:
TEX tmp, fragment.position, texture[0], SHADOWRECT;
ADD tmp.w, tmp.w, -0.5;
KIL tmp.w;

Is there anything which prevents this to work on ATI?
(Tested on X800 and X600)
Thank you.

I have found the SHADOW* targets to be completely broken on ATI hardware. I had to resort to using 2D targets and doing the comparisons myself in the fragment program. Also, due to patent issues, there is no ATI hardware that can do percentage closer filtering.

AFAIK there are problems with RECT targets on ATI with GLSL, you have to use standard 2D textures instead.

But I don’t know if this applies to low level shaders, too…