Commit Graph

7880 Commits

Author SHA1 Message Date
Ryan C. Gordon ca9a321715
render: GL/GLES now draw lines almost perfectly matching software renderer.
One place known to differ in a significant way is a single line segment that
starts and ends on the same point; the GL renderers will light up a single
pixel here, whereas the software renderer will not. My current belief is this
is a bug in the software renderer, based on the wording of the docs:

"SDL_RenderDrawLine() draws the line to include both end points."

You can see an example program that triggers that difference in Bug #2006.

As it stands, the GL renderers might _also_ render diagonal lines differently,
as the the Bresenham step might vary between implementations (one does three
pixels and then two, the other does two and then three, etc). But this patch
causes those lines to start and end on the correct pixel, and that's the best
we can do, and all anyone really needs here.

Not closing any bugs with this patch (yet!), but here are several that it
appears to fix. If no other corner cases pop up, we'll call this done.

Reference Bug #2006.
Reference Bug #1626.
Reference Bug #4001.
...and probably others...
2021-09-19 15:47:24 -04:00
Ryan C. Gordon 857cc7c0c9
render: constified some local variables in SDL_AllocateRenderVertices. 2021-09-19 00:38:06 -04:00
Ryan C. Gordon 5faea84c63
render: Mark viewport/cliprect dirty when window is resized.
Fixes #4751.
2021-09-18 11:54:25 -04:00
Ryan C. Gordon b8da02e6ef
include: Fix triggering of Clang's -Wexpansion-to-defined in SDL_endian.h
It doesn't like #if statements that uses a macro that uses defined(x).
2021-09-18 10:44:32 -04:00
Ryan C. Gordon 8f41412327
cmake: Patched to compile.
Too fast on the git push!!
2021-09-18 10:35:36 -04:00
Ryan C. Gordon bf1d7a3a15
cmake: Don't trust the HAVE_IMMINTRIN_H check on Apple targets.
Otherwise universal builds might try to include an Intel-specific header
on ARM builds, etc.

Fixes #4753.
2021-09-18 10:33:51 -04:00
SDL Wiki Bot ba9e2299b3 Sync wiki -> header 2021-09-18 14:19:04 +00:00
Cameron Cawley 2d44bf7dcf Update description of SDL_SetWindowAlwaysOnTop 2021-09-18 10:17:32 -04:00
Cameron Gutman 5dccffd7e4 Allow usage of the new Condition Variable code with Critical Sections
Vista and later provide the SleepConditionVariableCS() function for this.

Since SDL_syscond_srw.c doesn't require SRW locks anymore, rename it to
SDL_syscond_cv.c which better reflects the implementation of condition
variables rather than the implementation of mutexes.

Fixes #4051.
2021-09-17 19:38:09 -04:00
SDL Wiki Bot 44ab04fc63 Sync wiki -> header 2021-09-17 19:19:06 +00:00
SDL Wiki Bot 4d0c3cb2a8 Sync wiki -> header 2021-09-17 19:17:05 +00:00
SDL Wiki Bot 192538357b Sync wiki -> header 2021-09-17 19:14:05 +00:00
SDL Wiki Bot d856478f70 Sync wiki -> header 2021-09-17 19:12:05 +00:00
SDL Wiki Bot 74a1eb2106 Sync wiki -> header 2021-09-17 19:10:07 +00:00
Alex R eb8f332c26
fix: allow builtins for all archs (#4756)
* fix: allow builtins for all archs

* fix: typo
2021-09-16 17:34:49 -07:00
Alex R ebdfd0e175 atomic: detect clang separately 2021-09-16 17:33:52 -07:00
Ivan Epifanov 8d1e0ca324 Vita: add support for disabling 'screensaver' (screen dimming and suspend) 2021-09-16 09:03:17 -07:00
Ivan Epifanov 79ec8986d3 Vita: refactor gxm texture render and add SDL_RenderGeometry support 2021-09-16 09:03:17 -07:00
Zach Reedy 2a8938f2bf
Fixed: Whitespace being striped from the end of IME strings incorrectly + Regression with SDL_SetTextInputRect (#4752)
* Fixed: Whitespace being striped from the end of IME strings incorrectly

* Fixed: Google IME Candidate Window not placing correctly

* Why are PostBuild events stored in the vcxproj and not a user file?

* Revert SDL.vcxproj properly...

* Remove whitespace as per code review

* Fix Werror=declaration-after-statement error in code
2021-09-15 09:40:22 -07:00
Pierre Wendling 333ea51cac CI: Set default shell for Vita build.
vitasdk image only comes with sh.
Previously, the shell was mentioned on each run step.
2021-09-14 16:21:41 -07:00
Pierre Wendling 1e6e9f364e CI: Add PS VIta build 2021-09-14 16:21:41 -07:00
Ivan Epifanov ce177049f7 Vita: Allow completely skipping pvr init to override apphint from app 2021-09-14 16:20:50 -07:00
Misa 4a9947336c `SDL_RenderSetVSync()`: Restrict `vsync` to 0 or 1
In the future, we might want to support special swap intervals. To
prevent applications from expecting nonzero values of vsync to be the
same as "on", fail with SDL_Unsupported() if the value passed is neither
0 nor 1.
2021-09-14 16:18:02 -07:00
Misa 4549769d7d Add `SDL_RenderSetVSync()`
Currently, if an application wants to toggle VSync, they'd have to tear
down the renderer and recreate it. This patch fixes that by letting
applications call SDL_RenderSetVSync().

This is the same as the patch in #3673, except it applies to all
renderers (including PSP, even thought it seems that the VSync flag is
disabled for that renderer). Furthermore, the renderer flags also change
as well, which #3673 didn't do. It is also an API instead of using hint
callbacks (which could be potentially dangerous).

Closes #3673.
2021-09-14 09:56:29 -07:00
Ivan Epifanov b2504b5da6 Fix typos 2021-09-11 20:40:50 +03:00
Jaylon Gowie e455659467 Simplify Backspace and Enter 2021-09-10 19:49:47 -07:00
Jaylon Gowie 88578dc9cb Update Docs 2021-09-10 19:49:47 -07:00
Jaylon Gowie f162d9ee23 Fix Indentation 2021-09-10 19:49:47 -07:00
Jaylon Gowie 5fa8a042ac Fix the indentation 2021-09-10 19:49:47 -07:00
Jaylon Gowie 058c4d36b2 Add envvar to disable touchpads independently 2021-09-10 19:49:47 -07:00
Jaylon Gowie 4435543db1 Add PVR On Screen Keyboard Support 2021-09-10 19:49:47 -07:00
Cameron Cawley 67aacfe5c0 cmake: Retrieve the git revision on platforms without bash 2021-09-09 22:34:42 -04:00
Cameron Cawley 6301cfda95 cmake: Use the correct directory structure for MinGW builds 2021-09-09 22:34:42 -04:00
Ozkan Sezer e967f00271 testmouse.c: remove unused local var. 2021-09-10 00:01:20 +03:00
Cameron Cawley 830206581b Add testmouse 2021-09-09 13:46:58 -07:00
Ivan Epifanov 10d3df44f1 Vita: fix copyright dates 2021-09-09 07:22:01 -07:00
Ivan Epifanov 82c91fed21 Update docs 2021-09-09 07:22:01 -07:00
Ivan Epifanov 2a83686071 Fix default path 2021-09-09 07:22:01 -07:00
Ivan Epifanov 134dd46819 Add pvr gles/gles2 context support 2021-09-09 07:22:01 -07:00
Sam Lantinga ff85d4fbe5 Fixed Xbox Series X controller being detected by both IOKit and GCController on macOS 2021-09-08 17:51:47 -07:00
Sam Lantinga 9f8552588d Added mapping for Xbox One S controller with newer firmware on macOS 2021-09-08 17:50:17 -07:00
Sam Lantinga bf97c5a22f Make sure SDL file descriptors don't leak into child processes 2021-09-08 14:47:40 -07:00
Ethan Lee 3ed8ba7d33 winrt: Update SDL-UWP to VS2019 2021-09-08 06:26:26 -10:00
Ethan Lee b88077fe5a winrt: Move the UWP project files up one directory 2021-09-08 06:26:26 -10:00
Ethan Lee 2facf5b7b7 winrt: Remove Windows 8.x project files 2021-09-08 06:26:26 -10:00
Ethan Lee 07b59df264 winrt: Remove unused nuspec/targets files 2021-09-08 06:26:26 -10:00
Ryan C. Gordon d49d955d73
render: SDL_RenderGeometry should still render when hidden, in most cases.
(otherwise render targets may fail, etc...the check is a legacy helper for
iOS apps that crash if you try to use OpenGL while in the background.)
2021-09-08 11:44:17 -04:00
Sam Lantinga 7d66fa209a Fixed double-copy of the report in BlueZ >= 5.56 2021-09-07 17:38:26 -07:00
Sam Lantinga 7ed7644a26 Fixed compiling HIDAPI Steam Controller support with C89 compiler 2021-09-07 17:37:47 -07:00
Sam Lantinga 27a48b142b Check the pathname first, as that's a faster check for XInput devices 2021-09-07 15:50:21 -07:00