[packages/freerdp2] - added sse patch (SSE2 runtime detection for nsc_sse2 routines), enable sse2 support on x86* - pack

qboosh qboosh at pld-linux.org
Sat Dec 3 09:14:09 CET 2016


commit d231618e73500480e9e872e53ed3227fcc22d7b8
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Dec 3 09:14:40 2016 +0100

    - added sse patch (SSE2 runtime detection for nsc_sse2 routines), enable sse2 support on x86*
    - package wlog(1) man page

 freerdp-sse.patch | 20 ++++++++++++++++++++
 freerdp2.spec     | 10 +++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)
---
diff --git a/freerdp2.spec b/freerdp2.spec
index 09f3bdb..f8173e6 100644
--- a/freerdp2.spec
+++ b/freerdp2.spec
@@ -16,10 +16,10 @@
 %bcond_without	wayland		# Wayland client
 %bcond_without	x11		# X11 client
 %bcond_with	x264		# X264 for H.264 codec [only if ffmpeg and openh264 disabled]
-%bcond_with	sse2		# SSE2 and higher instructions (SSE2 unconditionally in libfreerdp/codec/nsc_sse2.c; elsewhere >=SSE2 runtime detected)
+%bcond_without	sse2		# SSE2 and higher instructions (runtime detection with sse patch)
 
-%ifarch %{x8664} pentium4
-%define	with_sse2	1
+%ifnarch %{ix86} %{x8664} x32
+%undefine	with_sse2
 %endif
 Summary:	Remote Desktop Protocol client
 Summary(pl.UTF-8):	Klient protokołu RDP
@@ -36,6 +36,7 @@ Source0:	https://github.com/FreeRDP/FreeRDP/archive/%{gitref}/freerdp-%{version}
 Patch0:		freerdp-DirectFB-include.patch
 Patch1:		freerdp-opt.patch
 Patch2:		freerdp-gsm.patch
+Patch3:		freerdp-sse.patch
 URL:		http://www.freerdp.com/
 %{?with_directfb:BuildRequires:	DirectFB-devel}
 %{?with_alsa:BuildRequires:	alsa-lib-devel}
@@ -176,6 +177,7 @@ wykorzystujących biblioteki FreeRDP 2.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 cat << EOF > xfreerdp.desktop
 [Desktop Entry]
@@ -248,6 +250,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/winpr-hash
 %attr(755,root,root) %{_bindir}/winpr-makecert
 %{_iconsdir}/hicolor/256x256/apps/freerdp2.png
+# FIXME: should be wlog(7) or so (refers to wlog logging subsystem, not program)
+%{_mandir}/man1/wlog.1*
 
 %if %{with directfb}
 %files dfb
diff --git a/freerdp-sse.patch b/freerdp-sse.patch
new file mode 100644
index 0000000..6537683
--- /dev/null
+++ b/freerdp-sse.patch
@@ -0,0 +1,20 @@
+--- FreeRDP-06d47530b6501ce09f649814f5023c3dd88ce5a0/libfreerdp/codec/nsc_sse2.c.orig	2016-11-18 12:46:14.000000000 +0100
++++ FreeRDP-06d47530b6501ce09f649814f5023c3dd88ce5a0/libfreerdp/codec/nsc_sse2.c	2016-12-03 09:01:03.673102526 +0100
+@@ -30,6 +30,7 @@
+ 
+ #include <freerdp/codec/color.h>
+ #include <winpr/crt.h>
++#include <winpr/sysinfo.h>
+ 
+ #include "nsc_types.h"
+ #include "nsc_sse2.h"
+@@ -400,6 +401,9 @@
+ 
+ void nsc_init_sse2(NSC_CONTEXT* context)
+ {
++	if (IsProcessorFeaturePresent(PF_SSE2_INSTRUCTIONS_AVAILABLE))
++	{
+ 	IF_PROFILER(context->priv->prof_nsc_encode->name = "nsc_encode_sse2");
+ 	context->encode = nsc_encode_sse2;
++	}
+ }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/freerdp2.git/commitdiff/d231618e73500480e9e872e53ed3227fcc22d7b8



More information about the pld-cvs-commit mailing list