ok, i love the fact that I can write 'portable' C++ code in my pixel shaders. but the problem is that as soon as I write "recstrict(direct3d)", my code is, by definition, non-portable. how are you guys going to address portability between 'restrictions' implemented by different compilers? wouldn't it have been better to use non-platform-specific restriction identifiers?
who writes/distributes the AMP runtime components? are they a standard OS component (.so/.dll), or are they a .lib baked in at compile-time? how will these be serviced (apropos GDI+ nightmare)?
will non-Microsoft, direct3d-targeting compilers use Microsoft-supplied direct3d runtimes, or will they have to write their own?