| Summary: | SOFT RENDERER: SDL_RenderCopyEx fails to draw when texture blend mode is enabled | ||
|---|---|---|---|
| Product: | SDL | Reporter: | edubart <edub4rt> |
| Component: | render | Assignee: | Sam Lantinga <slouken> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | CC: | meklu, rush, sylvain.becker |
| Version: | HG 2.1 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Attachments: |
a test case demonstrating the issue
RenderCopyEx patch RenderCopyEx patch - v2 rotateSurface - disable RLE acceleration One pixel off at the edge |
||
|
Description
edubart
2013-10-30 16:41:10 UTC
Created attachment 1751 [details]
a test case demonstrating the issue
Here's a test case demonstrating the issue.
Created attachment 1752 [details]
RenderCopyEx patch
This patch seems to fix the issue.
Created attachment 1754 [details]
RenderCopyEx patch - v2
A revised patch. Since the size of the rotated surface will always match the destination rectangle, we'll just unconditionally use BlitSurface.
Created attachment 1755 [details]
rotateSurface - disable RLE acceleration
For some reason setting SDL_RLEACCEL (and thus using RLEAlphaBlit instead of SoftBlit) causes the render to fail. This only affects BlitSurface rather than BlitScaled, since BlitScaled seems to always use SoftBlit.
The normal RenderCopy doesn't set any RLE flags either, and winds up using SoftBlit.
Created attachment 1768 [details]
One pixel off at the edge
Any idea why this is caused? (attached screenshot) Is it a bug in the test case?
(In reply to Damian Kaczmarek from comment #5) > Created attachment 1768 [details] > One pixel off at the edge > > Any idea why this is caused? (attached screenshot) Is it a bug in the test > case? I think you meant to post that in #2646 :) In any case, that looks like a general issue with SDL_render. I tried with older version and it appears to be fixed between SDL 2.0.3 and 2.0.4. So marking as resolved. |