New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SDL 1 CI build fixes #1832
SDL 1 CI build fixes #1832
Conversation
// sse2neon.h is from here: https://github.com/DLTcollab/sse2neon | ||
#include "include/sse2neon.h" | ||
#else | ||
#if IS_SDLv1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Looks like two of the new mask tests are also failing on SDL 1, is that because of this bit of code perhaps: Lines 2072 to 2076 in f439234
Maybe @charlesej will know. EDIT: The failed SDL 1 tests:
|
@MyreMylar I think there needs to be a check added to the Lines 2023 to 2036 in f439234
Something like: static int
check_surface_pixel_format(SDL_Surface *surf, SDL_Surface *check_surf)
{
if ((surf->format->BytesPerPixel != check_surf->format->BytesPerPixel) ||
(surf->format->BitsPerPixel != check_surf->format->BitsPerPixel)
#if IS_SDLv2
|| (surf->format->format != check_surf->format->format)
#else
|| ((surf->flags & SDL_SRCALPHA) != (check_surf->flags & SDL_SRCALPHA))
#endif
) {
return 0;
}
return 1;
} |
Hooray, with that last fix from Charles it all runs. Probably should merge it in quick before we all break it again in every other PR 🍻 🤦 |
dst_has_alpha=False, | ||
)) | ||
|
||
# These tests trigger some of the weird SDL1 alpha blending behaviour |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes me a little nervous that these aren't correct on SDL1. Are the tests correct, or is SDL1 incorrect? Has the behaviour changed in these blit routines now? Do the SDL2 ones not match the SDL1 ones?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't need a response necessarily :) I was just thinking out loud.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, you are right to ask I'm definitely going to poke at it and see if I can figure out why this works differently.
I mean in theory you don't need to do pre-multiplied alpha blending in any of those cases because both surfaces don't have alpha but I believe I would expect it to just work boringly without going through the fancy intrinsic code....
Anyway, it just didn't seem the moment to go off on a tangent figuring that out in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 thanks, and sorry I messed this up before.
This is a grab bag of small fixes to try and get the SDL 1 build building and passing tests again on Travis CI.
There is more detail in this draft PR where I discovered most of these errors in the process of trying to write some tests for the overlay module:
#1830