Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 164301 - media-libs/libsdl-1.2.11 problem with semitransparent blitting
Summary: media-libs/libsdl-1.2.11 problem with semitransparent blitting
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo Games
URL: http://bugzilla.libsdl.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-28 20:31 UTC by Sergey Belyashov
Modified: 2007-07-24 23:15 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-libs/libsdl-1.2.11-r1.ebuild (libsdl-1.2.11-r1.ebuild,4.78 KB, text/plain)
2007-01-28 20:31 UTC, Sergey Belyashov
Details
files/libsdl-1.2.11-asm-blit-fix.patch (libsdl-1.2.11-asm-blit-fix.patch,568 bytes, patch)
2007-01-28 20:32 UTC, Sergey Belyashov
Details | Diff
files/libsdl-1.2.11-asm-blit-fix.patch (libsdl-1.2.11-asm-blit-fix.patch,752 bytes, patch)
2007-03-15 10:02 UTC, Sergey Belyashov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Belyashov 2007-01-28 20:31:12 UTC
2 surfaces with alpha channel. One surface is fully transparent (for example). Second has opaque colors and semitransparent colors. Second surface has disabled SDL_SRCALPHA flag (no alpha blitting - only copy). When I blit second surface (src) to first (dst) ALL semitransparent colors are lost in destination (copied as fully transparent).
This bug caused by C -> assembler integration and fixed in HEAD branch of libsdl.
I build patch from SVN which fixes this bug.

Reproducible: Always

Steps to Reproduce:
Comment 1 Sergey Belyashov 2007-01-28 20:31:57 UTC
Created attachment 108410 [details]
media-libs/libsdl-1.2.11-r1.ebuild
Comment 2 Sergey Belyashov 2007-01-28 20:32:33 UTC
Created attachment 108411 [details, diff]
files/libsdl-1.2.11-asm-blit-fix.patch
Comment 3 Sergey Belyashov 2007-03-15 10:02:24 UTC
Created attachment 113341 [details, diff]
files/libsdl-1.2.11-asm-blit-fix.patch

This patch fixes both BlitRGBtoRGBPixelAlphaMMX() and BlitRGBtoRGBPixelAlphaMMX3DNOW() functions. Previous patch only fix BlitRGBtoRGBPixelAlphaMMX3DNOW which cause properly working on AMD processors and fail on Intel ones.
Comment 4 SpanKY gentoo-dev 2007-03-20 03:04:04 UTC
i dont see these changes in the upstream SDL svn repo ... did you submit it somewhere for them to fix ?
Comment 5 Sergey Belyashov 2007-03-20 13:50:08 UTC
This bugfix is only in libsdl bugzilla: http://bugzilla.libsdl.org/show_bug.cgi?id=390
Comment 6 Sergey Belyashov 2007-03-21 20:17:19 UTC
I forget to say that this patch fixes this problem at 8 (of 8) my Gentoo boxes (2 x86_64[-march=k8], 1 i686[-mtune=athlon-xp], 2 i686[-mtune=pentium4], 3 i686[-mtune=pentium-m]).
Comment 7 Sergey Belyashov 2007-04-11 08:07:27 UTC
Changes are accepted by libsdl developers:
> Fixed in svn revision #3006 for the 1.2 branch and #3007 for the 1.3 branch.

http://bugzilla.libsdl.org/show_bug.cgi?id=390#c2
Comment 8 Tristan Heaven (RETIRED) gentoo-dev 2007-07-23 23:50:04 UTC
is this fixed in 1.2.12?
Comment 9 Sergey Belyashov 2007-07-24 08:25:45 UTC
Looks like fixed. All changes of libsdl-1.2.11-asm-blit-fix.patch are applied.
Comment 10 Tristan Heaven (RETIRED) gentoo-dev 2007-07-24 23:15:12 UTC
okay, thanks