Some ideas and notes
(cmake)
1. The SSE2 switch does nothing on visual studio 2010,2012 and 2013 on x64 targets, intrinsics are the documented replacement
http://msdn.microsoft.com/en-us/library/hh977022.aspx
2. On Visual Studio There is a compiler switch that applies automatically vectorization which could be used as a replacement, my idea is to add two build configurations, one for debug, and one for release, as this switch is really intended for performance comparison for tuning of the use of vector calling conventions which are recommended and used in vs2013.
Finding the matching options in GCC and offering up a cmake option for this change on supported compiler targets, would be the first step to bring other aspects of Ogre right up to date without breaking other compilers regarding vectorization
http://blogs.msdn.com/b/vcblog/archive/ ... ntion.aspx
3. Offer a cmake variable which, when used with a suitable compiler sets the ball rolling for c++ x11 code, which is used directly in place of older code where there are significant performance/reliability gains, exactly the best way to do this to support all compilers I am not sure. I think C++ x11 is supposed to offer higher performance through the VS2013 compiler on windows x64, and many of its changes address significant performance or reliability issues, and this may apply to some other compilers and platforms.
Maybe a C++ x11 branch or something
4. the use of WinRT within cmake and the Windows 8 SDK is technically incorrect and confusing. The Windows 8 SDK is the same as all other windows SDKs (7.0..etc) WinRT refers to the arm specific version I believe, and not Windows store apps, or Windows 8 versions, and the definitions in the CMake search files should be cleared up, WinRT could be adapted to specifically link to the "arm" instruction set within the Windows SDK
5. Building Ogre 2.0 Directx11 against a 2010 SDK is probably something that shouldn't be the norm, CMake needs modifications to handle the relocation of DirectX files into the Windows 8 SDK so it can find them without problems, there may as listed be a small issue with DirectX in the sample browser, if this is the case my best guess is passing the wrong parameter in to a function or calling the wrong overload of the function, but I am not yet experienced enough to debug the shader system as it's quite advanced and impressive
I know some of these are looking forward, but for the next version of Ogre I though planning and acting now could drastically improve Ogre's competitiveness against commercial technology that I guess will be getting performance specific benefits in ASAP