diff --git a/GPU/GLES/Framebuffer.cpp b/GPU/GLES/Framebuffer.cpp index d18ca3935d..37c2b9a466 100644 --- a/GPU/GLES/Framebuffer.cpp +++ b/GPU/GLES/Framebuffer.cpp @@ -1302,7 +1302,8 @@ void FramebufferManager::ReadFramebufferToMemory(VirtualFramebuffer *vfb, bool s #ifdef USING_GLES2 PackFramebufferSync_(nvfb, x, y, w, h); #else - if (gl_extensions.ARB_pixel_buffer_object && gl_extensions.OES_texture_npot) { + // TODO: Can we fall back to sync without these? + if (gl_extensions.ARB_pixel_buffer_object && gstate_c.Supports(GPU_SUPPORTS_OES_TEXTURE_NPOT)) { if (!sync) { PackFramebufferAsync_(nvfb); } else { diff --git a/GPU/GLES/GLES_GPU.cpp b/GPU/GLES/GLES_GPU.cpp index a3eb59a352..a8936926ef 100644 --- a/GPU/GLES/GLES_GPU.cpp +++ b/GPU/GLES/GLES_GPU.cpp @@ -180,13 +180,8 @@ static const CommandTableEntry commandTable[] = { {GE_CMD_ZTEST, FLAG_FLUSHBEFOREONCHANGE}, {GE_CMD_ZTESTENABLE, FLAG_FLUSHBEFOREONCHANGE}, {GE_CMD_ZWRITEDISABLE, FLAG_FLUSHBEFOREONCHANGE}, -#ifndef USING_GLES2 {GE_CMD_LOGICOP, FLAG_FLUSHBEFOREONCHANGE}, {GE_CMD_LOGICOPENABLE, FLAG_FLUSHBEFOREONCHANGE}, -#else - {GE_CMD_LOGICOP, 0}, - {GE_CMD_LOGICOPENABLE, 0}, -#endif // Can probably ignore this one as we don't support AA lines. {GE_CMD_ANTIALIASENABLE, FLAG_FLUSHBEFOREONCHANGE}, diff --git a/GPU/GLES/TextureCache.cpp b/GPU/GLES/TextureCache.cpp index e848ba9061..d8c6555c0c 100644 --- a/GPU/GLES/TextureCache.cpp +++ b/GPU/GLES/TextureCache.cpp @@ -1498,8 +1498,9 @@ void TextureCache::SetTexture(bool force) { // Mobile devices don't get the higher scale factors, too expensive. Very rough way to decide though... if (!gstate_c.Supports(GPU_IS_MOBILE)) { - scaleFactor = std::min(gstate_c.Supports(GPU_SUPPORTS_OES_TEXTURE_NPOT) ? 5 : 4, scaleFactor); - if (!gl_extensions.OES_texture_npot && scaleFactor == 3) { + bool supportNpot = gstate_c.Supports(GPU_SUPPORTS_OES_TEXTURE_NPOT); + scaleFactor = std::min(supportNpot ? 5 : 4, scaleFactor); + if (!supportNpot && scaleFactor == 3) { scaleFactor = 2; } } else { diff --git a/GPU/GeDisasm.cpp b/GPU/GeDisasm.cpp index 2e33d664a3..28dfd3864f 100644 --- a/GPU/GeDisasm.cpp +++ b/GPU/GeDisasm.cpp @@ -68,7 +68,7 @@ void GeDescribeVertexType(u32 op, char *buffer, int len) { w += snprintf(w, end - w, "%s positions, ", typeNamesS[pos]); if (typeNames[weight] && w < end) w += snprintf(w, end - w, "%s weights (%d), ", typeNames[weight], weightCount); - else if (weightCount > 0 && w < end) + else if (weightCount > 1 && w < end) w += snprintf(w, end - w, "unknown weights (%d), ", weightCount); if (morphCount > 0 && w < end) w += snprintf(w, end - w, "%d morphs, ", morphCount);