svn commit: r388231 - in head/emulators: ppsspp ppsspp-devel ppsspp-devel/files ppsspp/files
Jan Beich
jbeich at FreeBSD.org
Mon Jun 1 14:22:13 UTC 2015
Author: jbeich
Date: Mon Jun 1 14:22:11 2015
New Revision: 388231
URL: https://svnweb.freebsd.org/changeset/ports/388231
Log:
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
Added:
head/emulators/ppsspp-devel/files/patch-ext_xbrz_xbrz.cpp (contents, props changed)
head/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp (contents, props changed)
Modified:
head/emulators/ppsspp-devel/Makefile (contents, props changed)
head/emulators/ppsspp/Makefile (contents, props changed)
Modified: head/emulators/ppsspp-devel/Makefile
==============================================================================
--- head/emulators/ppsspp-devel/Makefile Mon Jun 1 14:21:53 2015 (r388230)
+++ head/emulators/ppsspp-devel/Makefile Mon Jun 1 14:22:11 2015 (r388231)
@@ -2,7 +2,7 @@
DISTVERSION= 1.0.1-551
DISTVERSIONSUFFIX= -gee1299b
-PORTREVISION= 0
+PORTREVISION= 1
PKGNAMESUFFIX= -devel
GH_TAGNAME= f7a2cb6:lang 9fe3f59:native a0b878f:ext_armips
Added: head/emulators/ppsspp-devel/files/patch-ext_xbrz_xbrz.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/emulators/ppsspp-devel/files/patch-ext_xbrz_xbrz.cpp Mon Jun 1 14:22:11 2015 (r388231)
@@ -0,0 +1,37 @@
+--- ext/xbrz/xbrz.cpp.orig 2015-05-28 17:02:46 UTC
++++ ext/xbrz/xbrz.cpp
+@@ -648,23 +648,21 @@ void scalePixel(const Kernel_3x3& ker,
+ auto eq = [&](uint32_t pix1, uint32_t pix2) { return ColorDistance::dist(pix1, pix2, cfg.luminanceWeight_) < cfg.equalColorTolerance_; };
+ auto dist = [&](uint32_t pix1, uint32_t pix2) { return ColorDistance::dist(pix1, pix2, 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(e, i) && eq(g, h) && eq(h , i) && eq(i, f) && eq(f, c))
+- return false;
+-
+- return true;
+- }();
++ 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
+
Modified: head/emulators/ppsspp/Makefile
==============================================================================
--- head/emulators/ppsspp/Makefile Mon Jun 1 14:21:53 2015 (r388230)
+++ head/emulators/ppsspp/Makefile Mon Jun 1 14:22:11 2015 (r388231)
@@ -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/
Added: head/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/emulators/ppsspp/files/patch-ext_xbrz_xbrz.cpp Mon Jun 1 14:22:11 2015 (r388231)
@@ -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
+
More information about the svn-ports-all
mailing list