diff options
author | jbeich <jbeich@FreeBSD.org> | 2015-06-01 22:22:11 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2015-06-01 22:22:11 +0800 |
commit | 5ef11fd83ee762e1cbe1ae423974162fe0d5d62c (patch) | |
tree | cebd6c23428de0463a2cb9639937f2edf92fc3d7 /emulators/ppsspp | |
parent | 7ee4716dba54911af1199c5ad8bfdd816d5f317e (diff) | |
download | freebsd-ports-gnome-5ef11fd83ee762e1cbe1ae423974162fe0d5d62c.tar.gz freebsd-ports-gnome-5ef11fd83ee762e1cbe1ae423974162fe0d5d62c.tar.zst freebsd-ports-gnome-5ef11fd83ee762e1cbe1ae423974162fe0d5d62c.zip |
emulators/ppsspp{,-devel}: unbreak build with gcc5 (for dragonfly)
ext/xbrz/xbrz.cpp:619:28: sorry, unimplemented: non-trivial designated initializers not supported
const bool doLineBlend = [&]() -> bool
^
Submitted by: @Bigpet via hrydgard/ppsspp#7717
Diffstat (limited to 'emulators/ppsspp')
-rw-r--r-- | emulators/ppsspp/Makefile | 2 | ||||
-rw-r--r-- | emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp | 37 |
2 files changed, 38 insertions, 1 deletions
diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index cb25b0725991..0182e8582bf4 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -3,7 +3,7 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v DISTVERSION?= 1.0.1 -PORTREVISION?= 2 +PORTREVISION?= 3 CATEGORIES= emulators PATCH_SITES= https://projects.archlinux.org/svntogit/community.git/plain/trunk/ diff --git a/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp b/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp new file mode 100644 index 000000000000..43a966516177 --- /dev/null +++ b/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp @@ -0,0 +1,37 @@ +--- ext/xbrz/xbrz.cpp.orig 2015-02-26 20:05:06 UTC ++++ ext/xbrz/xbrz.cpp +@@ -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 +- { ++ bool doLineBlend; ++ + if (getBottomR(blend) >= BLEND_DOMINANT) +- return true; ++ doLineBlend = true; + + //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; +- ++ 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") +- if (eq(g, h) && eq(h , i) && eq(i, f) && eq(f, c) && !eq(e, i)) +- return false; +- +- return true; +- }(); ++ else if (eq(g, h) && eq(h, i) && eq(i, f) && eq(f, c) && !eq(e, i)) ++ doLineBlend = false; ++ else ++ doLineBlend = true; + + const uint32_t px = dist(e, f) <= dist(e, h) ? f : h; //choose most similar color + |