I’ve just taken a look at the FX Shader Compiler’s output for the broken shader, and what changes when I comment a few lines so that it doesn’t crash my machine any more… and figured out what the problem is.
Here’s a fairly minimal shader that crashes my machine:
PixelShader = asm
{
ps_3_0
defi i0, 100,0,0,0
def c0, 0.01, [...]