[arch-commits] Commit in ppsspp/trunk (PKGBUILD ppsspp-gcc5.1.patch)
Maxime Gauduin
alucryd at archlinux.org
Mon Jun 1 09:18:35 UTC 2015
Date: Monday, June 1, 2015 @ 11:18:35
Author: alucryd
Revision: 134450
gcc5.1: ppsspp 1.0.1-3
Added:
ppsspp/trunk/ppsspp-gcc5.1.patch
Modified:
ppsspp/trunk/PKGBUILD
---------------------+
PKGBUILD | 9 ++++++---
ppsspp-gcc5.1.patch | 40 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-06-01 08:48:20 UTC (rev 134449)
+++ PKGBUILD 2015-06-01 09:18:35 UTC (rev 134450)
@@ -8,7 +8,7 @@
pkgbase=ppsspp
pkgname=('ppsspp' 'ppsspp-qt')
pkgver=1.0.1
-pkgrel=2
+pkgrel=3
pkgdesc='A PSP emulator written in C++'
arch=('i686' 'x86_64')
url='http://www.ppsspp.org/'
@@ -19,12 +19,14 @@
'git+https://github.com/hrydgard/ppsspp-lang.git#commit=52c757e'
'ppsspp-native::git+https://github.com/hrydgard/native.git#commit=52ce9c1'
'ppsspp-armips::git+https://github.com/Kingcom/armips.git#commit=a0b878f'
- 'ppsspp-ffmpeg.patch')
+ 'ppsspp-ffmpeg.patch'
+ 'ppsspp-gcc5.1.patch')
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
- '4d60b99f9e6fe1bb81b2b1b648845f9e76289ba824fcb5e53f2117d0319e086d')
+ '4d60b99f9e6fe1bb81b2b1b648845f9e76289ba824fcb5e53f2117d0319e086d'
+ 'f5f946da7eb234a24338aaa990c50e35966231ea931923c35b5c09ae7ee59ad0')
prepare() {
cd ppsspp
@@ -36,6 +38,7 @@
done
patch -Np1 -i ../ppsspp-ffmpeg.patch
+ patch -Np1 -i ../ppsspp-gcc5.1.patch
}
build() {
Added: ppsspp-gcc5.1.patch
===================================================================
--- ppsspp-gcc5.1.patch (rev 0)
+++ ppsspp-gcc5.1.patch 2015-06-01 09:18:35 UTC (rev 134450)
@@ -0,0 +1,40 @@
+diff -rupN ppsspp.orig/ext/xbrz/xbrz.cpp ppsspp/ext/xbrz/xbrz.cpp
+--- ppsspp.orig/ext/xbrz/xbrz.cpp 2015-06-01 10:48:46.841998475 +0200
++++ ppsspp/ext/xbrz/xbrz.cpp 2015-06-01 10:50:31.379058513 +0200
+@@ -616,23 +616,21 @@ void scalePixel(const Kernel_3x3& ker,
+ auto eq = [&](uint32_t col1, uint32_t col2) { return ColorDistance::dist(col1, col2, cfg.luminanceWeight_) < cfg.equalColorTolerance_; };
+ auto dist = [&](uint32_t col1, uint32_t col2) { return ColorDistance::dist(col1, col2, cfg.luminanceWeight_); };
+
+- const bool doLineBlend = [&]() -> bool
+- {
+- if (getBottomR(blend) >= BLEND_DOMINANT)
+- return true;
++ bool doLineBlend;
+
+- //make sure there is no second blending in an adjacent rotation for this pixel: handles insular pixels, mario eyes
+- if (getTopR(blend) != BLEND_NONE && !eq(e, g)) //but support double-blending for 90° corners
+- return false;
+- if (getBottomL(blend) != BLEND_NONE && !eq(e, c))
+- return false;
++ if (getBottomR(blend) >= BLEND_DOMINANT)
++ doLineBlend = true;
+
+- //no full blending for L-shapes; blend corner only (handles "mario mushroom eyes")
+- if (eq(g, h) && eq(h , i) && eq(i, f) && eq(f, c) && !eq(e, i))
+- return false;
+-
+- return true;
+- }();
++ //make sure there is no second blending in an adjacent rotation for this pixel: handles insular pixels, mario eyes
++ else if (getTopR(blend) != BLEND_NONE && !eq(e, g)) //but support double-blending for 90° corners
++ doLineBlend = false;
++ else if (getBottomL(blend) != BLEND_NONE && !eq(e, c))
++ doLineBlend = false;
++ //no full blending for L-shapes; blend corner only (handles "mario mushroom eyes")
++ else if (!eq(e, i) && eq(g, h) && eq(h , i) && eq(i, f) && eq(f, c))
++ doLineBlend = false;
++ else
++ doLineBlend = true;
+
+ const uint32_t px = dist(e, f) <= dist(e, h) ? f : h; //choose most similar color
+
More information about the arch-commits
mailing list