I'm still struggling with this internally as well.
The core problem as I understand it right now is that SAP supports SAML, but uses the SAML protocol to implement this. ADFS uses WS-Federation Passive Requester Profile (fed/passive) for the protocol and SAP (from what I've seen) cannot natively generate a fed/passive logon request or accept a fed/passive logon.
I'm hoping SAP will eventually support fed/passive in the portal/CE environment at some point. Alternately, Geneva server will (as I understand it) support enough SAML 2 by the time it ships that this will be more straightforward.
I'm pretty sure you can do this with third party tools like PingFederate from PingIdentity, but I don't know if you'd want to incur that additional expense and complexity.