Recently I've been finishing up clipping for my GUI, which is just now being tested. To clip something, I've been trying to use the scissor test in DX9, and I would need it to be applied per draw call (both for something passed to the sprite interface and for text). While messing around with this, I've deduced that DX9 doesn't apply the scissor test every draw call, instead it applies it when its rendering ends or is told to render everything it has.
So, the only way I've gotten the scissor test to work is by calling flush immediately after I draw the sprite, but this wouldn't work with my text objects (on account of the ID3DXFont interface not allowing you to prematurely flush the text to the screen, unless there's something I'm missing), so this isn't a sufficient solution.
Is there an easier way to get the scissor test to work per-draw and if so how? If not, are there any replacements?