SHA256
1
0
forked from jengelh/SDL2

Accepting request 436959 from home:alois:branches:games

Ref. (sr#436547), not sure if still necessary for Factory.

OBS-URL: https://build.opensuse.org/request/show/436959
OBS-URL: https://build.opensuse.org/package/show/games/SDL2?expand=0&rev=47
This commit is contained in:
Dmitriy Perlow 2016-10-29 10:26:06 +00:00 committed by Git OBS Bridge
parent 5a7abf59f2
commit ef229b3bfb
3 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,52 @@
# https://bugzilla.libsdl.org/show_bug.cgi?id=3466
# commits 5184186d4366 and fbf9b0e3589a
#
diff -udpr SDL2-2.0.5.orig/src/video/SDL_blit_N.c SDL2-2.0.5/src/video/SDL_blit_N.c
--- SDL2-2.0.5.orig/src/video/SDL_blit_N.c 2016-10-20 05:56:26.000000000 +0200
+++ SDL2-2.0.5/src/video/SDL_blit_N.c 2016-10-23 09:58:57.319897519 +0200
@@ -118,12 +118,6 @@ calc_swizzle32(const SDL_PixelFormat * s
16, 8, 0, 24,
0, NULL
};
- if (!srcfmt) {
- srcfmt = &default_pixel_format;
- }
- if (!dstfmt) {
- dstfmt = &default_pixel_format;
- }
const vector unsigned char plus = VECUINT8_LITERAL(0x00, 0x00, 0x00, 0x00,
0x04, 0x04, 0x04, 0x04,
0x08, 0x08, 0x08, 0x08,
@@ -131,11 +125,20 @@ calc_swizzle32(const SDL_PixelFormat * s
0x0C);
vector unsigned char vswiz;
vector unsigned int srcvec;
+ Uint32 rmask, gmask, bmask, amask;
+
+ if (!srcfmt) {
+ srcfmt = &default_pixel_format;
+ }
+ if (!dstfmt) {
+ dstfmt = &default_pixel_format;
+ }
+
#define RESHIFT(X) (3 - ((X) >> 3))
- Uint32 rmask = RESHIFT(srcfmt->Rshift) << (dstfmt->Rshift);
- Uint32 gmask = RESHIFT(srcfmt->Gshift) << (dstfmt->Gshift);
- Uint32 bmask = RESHIFT(srcfmt->Bshift) << (dstfmt->Bshift);
- Uint32 amask;
+ rmask = RESHIFT(srcfmt->Rshift) << (dstfmt->Rshift);
+ gmask = RESHIFT(srcfmt->Gshift) << (dstfmt->Gshift);
+ bmask = RESHIFT(srcfmt->Bshift) << (dstfmt->Bshift);
+
/* Use zero for alpha if either surface doesn't have alpha */
if (dstfmt->Amask) {
amask =
@@ -147,6 +150,7 @@ calc_swizzle32(const SDL_PixelFormat * s
0xFFFFFFFF);
}
#undef RESHIFT
+
((unsigned int *) (char *) &srcvec)[0] = (rmask | gmask | bmask | amask);
vswiz = vec_add(plus, (vector unsigned char) vec_splat(srcvec, 0));
return (vswiz);

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sun Oct 23 08:00:21 UTC 2016 - aloisio@gmx.com
- Backported commit 5184186d4366 and fbf9b0e3589a as
SDL2-ppc64-declaration-after-statement.patch to fix build
on ppc64/ppc64le
-------------------------------------------------------------------
Thu Oct 20 13:47:14 UTC 2016 - aloisio@gmx.com

View File

@ -30,6 +30,9 @@ Source: http://libsdl.org/release/%name-%version.tar.gz
Source2: http://libsdl.org/release/%name-%version.tar.gz.sig
Source3: %name.keyring
Source4: baselibs.conf
# PATCH-FIX-UPSTREAM SDL2-declaration-after-statement.patch
# backported to fix build on Factory/ppc64, cf. https://bugzilla.libsdl.org/show_bug.cgi?id=3466
Patch0: %{name}-ppc64-declaration-after-statement.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: dos2unix
@ -104,6 +107,9 @@ library.
%prep
%setup -q
%ifarch ppc64 ppc64le
%patch0 -p1
%endif
dos2unix WhatsNew.txt
dos2unix TODO.txt
dos2unix BUGS.txt