from 1149_r4. updated logo and graphics.
Fixed wp8 touch bug
Merge pull request #1242 from db85/develop3d

Fixed wp8 touch bug
Merge pull request #1243 from SickheadGames/mgcb2

More MGCB Improvements
Merge pull request #1234 from totallyeviljake/ISSUE_1149_R5

ISSUE 1149
Implemented ResizePowerOfTwo.
Update MonoGame.Framework/Graphics/Effect/EffectParameter.cs

I needed to implement GetValueMatrix() for a project so I'm adding my minor work as a pull request.
Implemented ColorKeyEnabled.
Merge pull request #1248 from puargs/patch-1

Implement Graphics.Effect.EffectParameter.GetValueMatrix()
Merge pull request #1247 from SickheadGames/ResizePoT

Implemented ResizePowerOfTwo
Removed miscomitted test value.
Fixed premultiplied alpha. Removed GraphicsUtil.PremultiplyAlpha().
Merge pull request #1249 from SickheadGames/ColorKeyEnabled

Implemented chroma keying
Suppport for all Bitmap PixelFormats.
Merge branch 'PremultiplyAlpha' into MorePixelFormats
Rebase off of PremultiplyAlpha.
Merge pull request #1252 from SickheadGames/PremultiplyAlpha

Fix for Premultiply Alpha.
Merge branch 'develop3d' into MorePixelFormats
Merge pull request #1253 from SickheadGames/MorePixelFormats

Support for all PixelFormats
Ignore mip maps for non power of two textures when device doesn't support them

Added a GraphicsCapabilities class to test for non-power of two texture support. In the future this can be extended to test for other things.

This feature is important because when you supply non PoT mip maps and the device doesn't support them, you will GL errors. Also, on Android some devices support them and others don't, meaning you may test your game and have it work fine but once released it will crash on other devices.

The support for mip maps with non-PoT textures is patchy, but more and more devices have support so it'd be a shame to disable it outright.

So far I've tested on an iPad 1, Windows 7, Android 4.0 Samsung GalaxyS2, and a MacBook (not pro).

The only part I'm not confident about is the handling of OPENGL non-GLES platforms (ie desktop PC, Mac and Linux). I took the advice given here: http://aras-p.info/blog/2012/10/17/non-power-of-two-textures/ (OpenGL section), which suggests a more reliable way of deciding on PoT support is whether the card supports 8192 sized textures. This is pretty safe. The only risk is that certain older devices that don't support 8192 textures but do fully support non-PoT textures will have their non-PoT mip maps discarded. Not likely to be a problem IMO as non PoT textures are mostly for UI elements and not likely to have mip maps anyway.