diff --git a/MonoGame.Framework/Content/ContentReaders/Texture2DReader.cs b/MonoGame.Framework/Content/ContentReaders/Texture2DReader.cs index 53eb505b116..47042b382a5 100644 --- a/MonoGame.Framework/Content/ContentReaders/Texture2DReader.cs +++ b/MonoGame.Framework/Content/ContentReaders/Texture2DReader.cs @@ -110,7 +110,7 @@ protected internal override Texture2D Read(ContentReader reader, Texture2D exist case SurfaceFormat.Dxt5: convertedFormat = SurfaceFormat.RgbaPvrtc4Bpp; break; -#elif ANDROID || PSM +#elif (ANDROID && !OUYA) || PSM case SurfaceFormat.Dxt1: case SurfaceFormat.Dxt3: case SurfaceFormat.Dxt5: @@ -142,7 +142,7 @@ protected internal override Texture2D Read(ContentReader reader, Texture2D exist //Convert the image data if required switch (surfaceFormat) { -#if ANDROID || PSM +#if (ANDROID && !OUYA) || PSM //no Dxt in OpenGL ES case SurfaceFormat.Dxt1: levelData = DxtUtil.DecompressDxt1(levelData, levelWidth, levelHeight); diff --git a/MonoGame.Framework/Graphics/GraphicsExtensions.cs b/MonoGame.Framework/Graphics/GraphicsExtensions.cs index 8c074bb79cd..382b4daab19 100644 --- a/MonoGame.Framework/Graphics/GraphicsExtensions.cs +++ b/MonoGame.Framework/Graphics/GraphicsExtensions.cs @@ -506,6 +506,22 @@ internal static void GetGLFormat (this SurfaceFormat format, break; #endif +#if OUYA + case SurfaceFormat.Dxt1: + glInternalFormat = (PixelInternalFormat)0x83F1; + glFormat = (PixelFormat)All.CompressedTextureFormats; + break; + case SurfaceFormat.Dxt3: + glInternalFormat = (PixelInternalFormat)0x83F2; + glFormat = (PixelFormat)All.CompressedTextureFormats; + break; + case SurfaceFormat.Dxt5: + glInternalFormat = (PixelInternalFormat)0x83F3; + glFormat = (PixelFormat)All.CompressedTextureFormats; + break; +#endif + + #if IOS || ANDROID case SurfaceFormat.RgbPvrtc2Bpp: glInternalFormat = PixelInternalFormat.CompressedRgbPvrtc2Bppv1Img;