Commit Graph

16140 Commits

Author SHA1 Message Date
Brick fde2378ccd Refactor alpha blitters, move the SSE41/AVX2 versions into SDL_blit_A.c 2024-07-08 20:59:42 +01:00
Brick 43a5da358d Set ALLOWABLE_ERROR_BLENDED to 0 2024-07-08 20:59:42 +01:00
Anonymous Maarten 1cddc7b66e sdlprocdump: exceptions are not handled 2024-07-08 21:30:49 +02:00
Anonymous Maarten c4cbbca185 sdlprocdump: ignore C++ exceptions 2024-07-08 20:48:33 +02:00
Sam Lantinga d6c8485f28 Make sure we're actually running on Windows before using D3D renderers 2024-07-08 11:36:11 -07:00
Sam Lantinga 4d5f139f0f Add the blit automation tests 2024-07-08 10:58:48 -07:00
Brick c457dbb629 Fix BlitNtoNPixelAlpha for formats with no dst alpha 2024-07-08 10:53:46 -07:00
Brick 3c59d3f69c Remove old references to blitter files 2024-07-08 10:53:46 -07:00
Brick 95b683ac3e Tidy up/optimize BlitNtoNPixelAlpha_SSE4_1 2024-07-08 10:53:46 -07:00
Brick 070e48f66e Tidy up/optimize BlitNtoNPixelAlpha_AVX2 2024-07-08 10:53:46 -07:00
Brick 5d875aa94e Fix rounding in MULT_DIV_255 2024-07-08 10:53:46 -07:00
Isaac Aronson b7b513b70b Fix bytes_per_pixel rename 2024-07-08 10:53:46 -07:00
Isaac Aronson 44d397282d Re-enable intrinsic blitters 2024-07-08 10:53:46 -07:00
Isaac Aronson b34faf732d Implement fast 255 mult-div in SDL_blit_auto 2024-07-08 10:53:46 -07:00
Isaac Aronson 23d4e9ec13 Support VisualC-WinRT UWP build 2024-07-08 10:53:46 -07:00
Isaac Aronson 8d099d8976 Fix formatting 2024-07-08 10:53:46 -07:00
Isaac Aronson 8e3afd56f5 Restore BlitARGB 555 and 565 blending algorithms 2024-07-08 10:53:46 -07:00
Isaac Aronson 5cec91e27a Implement accurate, performant 32-bit scalar blitter for ARGB dst case 2024-07-08 10:53:46 -07:00
Isaac Aronson e5bbe32641 Implement alpha blend as macro and replace inaccurate blitters 2024-07-08 10:53:46 -07:00
Isaac Aronson 0f351cd6af Remove ARM32 assembly/pixman blitters 2024-07-08 10:53:46 -07:00
Isaac Aronson 3ecb927587 Remove last non-SDL types from test 2024-07-08 10:53:46 -07:00
Isaac Aronson adca9d408e Fixup tests to use correct types 2024-07-08 10:53:46 -07:00
Isaac Aronson f5ee88c2cf Implement mathematically correct scalar blitters 2024-07-08 10:53:46 -07:00
Isaac Aronson f0238ef615 Fix build issues 2024-07-08 10:53:46 -07:00
Isaac Aronson 594ca1a897 Add testautomation suite for alpha blending 2024-07-08 10:53:46 -07:00
Isaac Aronson 9590a47629 Implement visually accurate SIMD blitters 2024-07-08 10:53:46 -07:00
Isaac Aronson f6f12d0451 Revert "Remove buffer in SSE4.1, use unpacklo and packus intrinsics"
This reverts commit 149cd55840e7fdfd5ecde5c545aede5822abd14e.
2024-07-08 10:53:46 -07:00
Isaac Aronson a027ad9788 Remove buffer in SSE4.1, use unpacklo and packus intrinsics 2024-07-08 10:53:46 -07:00
Isaac Aronson 2432b6686e Add back in buffer free removed during testing 2024-07-08 10:53:46 -07:00
Isaac Aronson 380bcff018 Allow arbitrary dstfmt in 1 pixel case; naming and const cleanup 2024-07-08 10:53:46 -07:00
Isaac Aronson 87958f44d0 Support arbitrary destination formats; remove buffer from AVX2 2024-07-08 10:53:46 -07:00
Isaac Aronson c80c540be3 Support older GCC and clang that lack some intrinsics 2024-07-08 10:53:46 -07:00
Isaac Aronson e8cba442c5 Clean up API surface to use attribute macros and rename convertPixels 2024-07-08 10:53:46 -07:00
Isaac Aronson bac318fc27 Check for SSE4.1 first as more common 2024-07-08 10:53:46 -07:00
Isaac Aronson 12d18c7497 Add back glob for src/video/*.c to CMakeLists.txt 2024-07-08 10:53:46 -07:00
Isaac Aronson 735cf5a6f9 Relocate intrinsic modules to src/video/ 2024-07-08 10:53:46 -07:00
Isaac Aronson f68a7edcf8 Properly shortcut only when AVX2 or SSE4.1 available 2024-07-08 10:53:46 -07:00
Isaac Aronson 3e0581c625 Merge upstream and sdl3-blitters 2024-07-08 10:53:46 -07:00
Frank Praznik 159d7087c6
wayland: Only set the window geometry when viewports are unsupported
Setting the window geometry on the xdg-toplevel path is a hack used to prevent protocol violations if a buffer with an old size is committed. Since viewports decouple the window geometry from the buffer size, this is not needed if viewports are supported.

Fixes an invalid window geometry warning and incorrect window overview size for fullscreen windows in GNOME.
2024-07-08 11:40:54 -04:00
Sam Lantinga 4fa5196820 Revert "Switch pixel format loss fields to number of bits"
This reverts commit 3c90b1c1f6.

It turns out this is problematic for sdl2-compat. We're investigating a more complete separation between SDL2 and SDL3 surfaces, but in the meantime, I'll fix the breakage.
2024-07-07 19:41:05 -07:00
Anonymous Maarten 18c9bd21b5 sdlprocdump: become C90 compatible 2024-07-07 21:18:16 +02:00
Anonymous Maarten 4d6b23b68f mingw: use DESTDIR to change the install location of the mingw package 2024-07-07 20:35:33 +02:00
SDL Wiki Bot bfa4e71284 Sync SDL3 wiki -> header 2024-07-07 18:05:35 +00:00
SDL Wiki Bot e37d6f71b3 Sync SDL3 wiki -> header 2024-07-07 18:02:15 +00:00
Giovanni Petrantoni a057240984 Fix vision os fake screen size
It never really worked, as the value was arbitrary, digging apple docs showed the right values.
2024-07-06 20:49:23 -07:00
Sam Lantinga 3c90b1c1f6 Switch pixel format loss fields to number of bits
This makes more sense and handles pixel formats with > 8 bits per channel

Fixes https://github.com/libsdl-org/SDL/issues/10168
2024-07-06 11:37:16 -07:00
mariob92 9389712917 wgl/glx: Fix attribute list for SDL_GL_FLOATBUFFERS
This commit fixes the attribute list in the WGL and GLX code when requesting a floating point pixel format. The name of the attribute was missing in the list.

Fixes libsdl-org#10189
2024-07-06 11:35:19 -07:00
SDL Wiki Bot f3ac2d9d4f Sync SDL3 wiki -> header 2024-07-06 15:46:41 +00:00
Frank Praznik fbb5652d3e
video: Document that SDL_RaiseWindow is a request and subject to window manager policy
The result of SDL_RaiseWindow is ultimately subject to window manager policy, particularly if the request would result in stealing focus from another window. Document that this is only a request, and if successful, will result in a focus gained event along with the input focus flag being set on the window.
2024-07-06 11:45:43 -04:00
Anonymous Maarten be43dec798 sdlprocdump: store context and exception record in minidump 2024-07-06 17:36:16 +02:00