From 2c0df8db79db7e99e5281254c198bcd92675e197 Mon Sep 17 00:00:00 2001 From: Bovine Date: Sun, 2 Feb 2014 13:51:45 -0700 Subject: [PATCH] Fixed infrequent segfault in CheckAlpha pixelData was allocated with stride shorts per row and then advanced as stride ints per row (reading every other row). Upshot: fully solid 16-bit textures with alpha channels should now properly categorize as ALPHA_FULL --- GPU/GLES/TextureCache.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPU/GLES/TextureCache.cpp b/GPU/GLES/TextureCache.cpp index daaa9e30bf..3430de5051 100644 --- a/GPU/GLES/TextureCache.cpp +++ b/GPU/GLES/TextureCache.cpp @@ -1465,7 +1465,7 @@ void TextureCache::CheckAlpha(TexCacheEntry &entry, u32 *pixelData, GLenum dstFm break; } } - p += stride; + p += stride/2; } } break; @@ -1477,7 +1477,7 @@ void TextureCache::CheckAlpha(TexCacheEntry &entry, u32 *pixelData, GLenum dstFm u32 a = p[i] & 0x00010001; hitZeroAlpha |= a ^ 0x00010001; } - p += stride; + p += stride/2; } } break;