But the shadows themselves don't need to use multi-sample buffers. So I'm not sure I follow.
I noticed these in all 3DS games with shadows:
- Shadows are cast by individual objects, not by the entire scene, like old-style projecion shadows.
- However, unlike projected shadows, the 3DS shadows don't blend against each other and in many games properly mask a light.
This can be seen in extreme in Pokedex AR mode with several pokemons: it's obvious each one has a fixed resolution shadow, but the shadows affect all models, merge together and mask lighting.
For the shadows to work this way, they need to be rendered to a screen shadow buffer, which tells how shadowed each screen pixel is. This buffer can then be read during shading and used to mask one of the lights. This technique is called "deferred shadows" and Crysis uses it. It makes rendering of shadows in forward renderers less of a hassle.
If MSAA is enabled, this buffer would need multiple samples and the fragment shader would need to be able to read multi-sampled buffers. Only DX10.1 GPUs can do this (and the PS3 and 360 with lots of hacking).
It's possible that the 3DS GPU also uses other buffers to store additional per pixel data (ID buffers, as example)