Sylvain
b88b6b3c23
Remove QueueDrawLines from METAL
2022-01-07 14:10:23 -08:00
Sylvain
9aac55317d
Remove QueueDrawLines from GL, GLES, GLES2
2022-01-07 14:10:23 -08:00
Sylvain
8ea8b2e697
Use QueueDrawLine if provided, otherwise use RenderGeometry
2022-01-07 14:10:23 -08:00
Sylvain Becker
c498727471
render: Use RenderGeometry to draw lines
...
This patch is from @1bsyl
Fixes #5061 .
2022-01-07 16:14:28 -05:00
Sam Lantinga
4b38d4c96b
Leave the Metal view active on the window when recreating the Metal renderer
...
Fixes https://github.com/libsdl-org/SDL/issues/5140
Also move the metal tag definition to SDL_syswm.h so it can be used by applications
2022-01-07 12:38:45 -08:00
Ryan C. Gordon
88ac517df0
opengles2: Fix point drawing.
2022-01-07 15:04:04 -05:00
Sam Lantinga
957c48b4c7
Fixed detecting focus change to child dialogs
...
Fixes https://github.com/libsdl-org/SDL/issues/5157
2022-01-07 10:58:04 -08:00
Sam Lantinga
c477768e6f
We only need to add the sentinel at the top of SDL_WaitEventTimeout()
2022-01-06 18:58:30 -08:00
Cameron Gutman
e9134b045a
events: Only add sentinels for pumping done inside SDL_WaitEventTimeout()
...
We don't want to catch explicit SDL_PumpEvents() calls by the application with
our polling check to avoid stale data. If the call to SDL_PumpEvents() produced
no events, there will be a sentinel sitting in the queue that will cause
SDL_PollEvent() to immediately return 0 next time it is called.
Our SDL_WaitEventTimeout() implementation avoids this issue by always popping
an event after calling SDL_PumpEvents(). This will remove the new sentinel if
we didn't get any new events.
2022-01-06 18:35:23 -08:00
Sam Lantinga
954858846d
Move special sentinel handling inside SDL_PeepEvents()
2022-01-06 14:05:22 -08:00
Sam Lantinga
2592e6219b
Clarify that timeout == 0 is handled at the top of SDL_WaitEventTimeout()
2022-01-06 14:05:22 -08:00
Sam Lantinga
8ff2166855
Only return from SDL_PollEvent() if the last sentinel is consumed
2022-01-06 14:05:22 -08:00
Sam Lantinga
c9ff90b949
Clarify comment
...
Co-authored-by: Simon McVittie <smcv@debian.org>
2022-01-06 14:05:22 -08:00
Sam Lantinga
31f8c3ef44
Fixed event pump starvation if the application frequently pushes its own events
2022-01-06 14:05:22 -08:00
Wouter Wijsman
515b5f2a39
Fix build errors in PSP port
2022-01-06 10:17:05 -08:00
Wouter Wijsman
34e34ad5a5
Remove debug code from PSP renderer
2022-01-06 10:17:05 -08:00
stdgregwar
520c89a00a
cleaning
2022-01-06 10:17:05 -08:00
stdgregwar
09f4711f40
Fix LRU when destroying texture.
2022-01-06 10:17:05 -08:00
stdgregwar
c3ec62d6a6
PSP lazier blend states, display mode report with 16bit option
2022-01-06 10:17:05 -08:00
stdgregwar
0f5368fe11
PSP cached blending and texturing state, ABGR1555 stencil hack
2022-01-06 10:17:05 -08:00
stdgregwar
fe405eb27b
fixed LRU cache code
2022-01-06 10:17:05 -08:00
stdgregwar
c1f152292b
Spill render targets to ram on PSP
2022-01-06 10:17:05 -08:00
stdgregwar
77d874e3c0
Attempt to make render to texture work on PSP
2022-01-06 10:17:05 -08:00
Francisco Javier Trujillo Mata
f3255df9c0
Improve audio compatibility in PSP. Now it supports more formats and frequencies
2022-01-05 19:15:41 -05:00
Sam Lantinga
16f5b9e3c3
Filter jitter on Xbox One controllers when using raw input reports
2022-01-05 11:07:52 -08:00
Wouter Wijsman
6d46e30fed
Remove extra / in PSP GetPrefPath
2022-01-05 08:29:35 -08:00
Wouter Wijsman
33dccbb381
Make sure GetPrefPath also works without org
2022-01-05 08:29:35 -08:00
Cameron Gutman
419ae29d90
joystick: Move WGI driver initialization after Windows driver
...
WGI calls SDL_DINPUT_JoystickPresent() so we need to be sure DInput remains
initialized for the lifetime of the WGI driver to avoid a crash or duplicated
joysticks between DInput and WGI.
2022-01-04 15:53:39 -08:00
Cameron Gutman
d73bd0d2f6
dinput: Don't crash in SDL_DINPUT_JoystickPresent if DInput init failed
...
The WGI driver will call this regardless of whether our init succeeded.
2022-01-04 15:53:39 -08:00
Ozkan Sezer
565ef63873
SDL_rwops.c: simplify `foo <= 0` checks to `!foo` with unsigned types.
2022-01-04 11:40:04 +03:00
Cameron Gutman
8f924b82d9
kmsdrm: Remove gbm_bo_get_offset()
...
It is not present on some older libgbm versions that we still
support and has been unused since 85e8adf
.
2022-01-03 16:41:03 -06:00
Sam Lantinga
120c76c84b
Updated copyright for 2022
2022-01-03 09:40:21 -08:00
Sylvain
8622eda9e9
SDL_RenderGeometry / software: TRIANGLE_GET_TEXTCOORD interpolates up to the max values included, so reduce by 1
2022-01-02 22:34:56 +01:00
Ozkan Sezer
4b112620a3
SDL_cocoamodes.m (Cocoa_GetDisplayDPI): fix build using older toolchains
...
Fixes https://github.com/libsdl-org/SDL/issues/5162
2022-01-02 19:11:50 +03:00
Francisco Javier Trujillo Mata
13a9cd4797
Adding sysfilesystem driver to PSP
2022-01-02 08:06:04 -08:00
rohlem
0403fa8aa6
X11_WaitEventTimeout: remove unreachable return
...
If that condition was reachable, the return value should be negative to indicate that waiting for the timeout failed.
Otherwise, SDL_WaitEventTimeout would incorrectly return early.
2022-01-02 08:04:13 -08:00
e
d0de4c625a
Android: fixes build NDK 21d
2021-12-31 11:12:21 -08:00
Sam Lantinga
8f81699868
Only clear IME display options if SDL_HINT_IME_SHOW_UI is off (thanks opxdo!)
...
Fixes https://github.com/libsdl-org/SDL/issues/5153
2021-12-31 08:49:28 -08:00
Ryan C. Gordon
e4000c0284
video: SDL_GL_GetAttribute needs to operate on FBO 0.
...
If a different FBO is bound, this would return incorrect results.
Fixes #5082 .
2021-12-31 10:32:39 -05:00
Sam Lantinga
ab6d0d4d50
Fixed undefined behavior in SDL_memset() (thanks andrewrk!)
...
Fixes https://github.com/libsdl-org/SDL/issues/5147
2021-12-28 15:58:15 -08:00
shinyquagsire23
6a7b63802c
Fix macOS cursor jumping to corner on first titlebar click
2021-12-28 13:38:23 -08:00
Edward Li
a35a7d2507
Fix SigSegV from displayInfoInvalidate when changing resolution
2021-12-28 09:33:44 -08:00
Edward Li
1c41b53551
macOS: Calculate correct DPI by not using backingScaleFactor
2021-12-28 09:33:44 -08:00
Alex Szpakowski
724468ae2c
GL renderer uses glDrawArrays instead of glBegin/glEnd.
...
Also change internal colors sent to GL to use unorm8 components instead of float, for improved performance.
2021-12-27 10:52:47 -05:00
Sylvain
a1e992b110
Fixed bug #5118 - [Android] PointerIcon leak in Cursor API
2021-12-21 22:07:17 +01:00
Ozkan Sezer
840339c49d
SDL_utf8strlcpy: store trailing_bytes explicity as unsigned type.
2021-12-18 14:01:02 +03:00
Ozkan Sezer
507d4bcd68
SDL_utf8strlen: run bit-test explicitly on unsigned char
2021-12-18 14:01:02 +03:00
Ozkan Sezer
82fc67ae4d
SDL_joystick.c: cast the arguments to nibble() to unsigned char.
2021-12-18 14:01:02 +03:00
Ozkan Sezer
47d3e96b43
SDL_joystick.c: (unsigned char) cast to SDL_tolower() parameters.
2021-12-18 14:01:02 +03:00
Sam Lantinga
c31a40246d
Fix audio memory leaks due to invalid init (thanks Janiszewski!)
...
SDL_Init(SDL_INIT_AUDIO) did not take into account that functions like
SDL_AddAudioDevice do register events, which will need final cleanup
and only gets fired when events were actually initialised.
Sample call stack of a malloc missing its free (Linux + PA):
SDL_malloc_REAL (SDL_malloc.c:5328)
SDL_AddEvent (SDL_events.c:445)
SDL_PeepEvents_REAL (SDL_events.c:531)
SDL_PushEvent_REAL (SDL_events.c:762)
SDL_AddAudioDevice (SDL_audio.c:443)
SourceInfoCallback (SDL_pulseaudio.c:681)
context_get_source_info_callback (introspect.c:534)
run_action (pdispatch.c:288)
pa_pdispatch_run (pdispatch.c:341)
pstream_packet_callback (context.c:349)
do_read (pstream.c:1012)
Fixes https://github.com/libsdl-org/SDL/issues/3005
2021-12-17 19:04:39 -08:00
Erik Soma
71e3998d6c
Make SDL_VideoInit cleanup when errors occur before video driver creation.
2021-12-17 18:55:49 -08:00
Francisco Javier Trujillo Mata
8ed0cc4300
Fix wrong value for thread priorities following official PSP Docs
2021-12-17 13:57:22 -08:00
Sylvain
44c84c0d8e
GLES2/Big-endian: don´t swap datas for yuv textures (Thanks 0x1F9F1 !)
2021-12-17 17:44:34 +01:00
Sylvain
3a69828e87
Fixed GLES2 back-end on Big Endian Platform (see #5093 )
2021-12-17 13:15:39 +01:00
Ozkan Sezer
61107494a1
SDL_gamecontroller.c: (unsigned char) cast to SDL_isdigit() parameters.
2021-12-17 07:40:02 +03:00
Ozkan Sezer
ced442cd38
SDL_test_common.c: (unsigned char) cast to SDL_isdigit() parameter.
2021-12-17 07:33:10 +03:00
Ozkan Sezer
48d1ef8fad
another unsigned char cast in os2cp.c. code clean-up in os/2 geniconv.
2021-12-17 07:33:10 +03:00
Ozkan Sezer
dac6516057
os2iconv.c (_createUconvObj): cast to unsigned char, to be safe.
2021-12-17 02:50:40 +03:00
Ozkan Sezer
2052b5bc3e
os2messagebox: use proper UCHAR* typecast in assignment, just in case.
2021-12-17 01:10:10 +03:00
Sam Lantinga
ca18bf11ee
Don't compare raw mouse button state with windows message button state
...
When mouse buttons are swapped, right mouse button down is the same value as raw mouse button up, and conceptually the two systems use different button masks, so never cache state between the two.
Fixes https://github.com/libsdl-org/SDL/issues/5108
2021-12-16 12:01:18 -08:00
Sylvain
3d5fcb5da6
Fix warning
2021-12-16 09:19:53 -08:00
Sylvain
4342e6bd21
SDL_render.c: lighten the cast syntax
2021-12-16 09:19:53 -08:00
Sylvain
50d49c63ed
GLES2 backend: cast with SDL_Vertex and SDL_VertexSolid
2021-12-16 09:19:53 -08:00
Ethan Lee
4c9966eed6
wayland: Add a note for why we check 0,0 for fullscreen configurations
2021-12-16 10:22:27 -05:00
Sylvain
6101499c7c
BigEndian: fix code that generates illegal instruction with gcc-4.9.2 on powerpc
...
Program received signal SIGILL, Illegal instruction.
X11_InitKeyboard (_this=0x1001f8f0)
at /home/sdl/SDL_git/src/video/x11/SDL_x11keyboard.c:273
273 XKeyboardState values = { .global_auto_repeat = AutoRepeatModeOff };
2021-12-16 09:07:31 +01:00
stdgregwar
0b7b0977fc
fix PSP texure artifacts
2021-12-15 18:00:28 -08:00
Francisco Javier Trujillo Mata
996f30b0e4
Use lightweight mutex
2021-12-15 13:59:08 -08:00
Francisco Javier Trujillo Mata
0341ec93fe
Improve performance when vsync is enabled and the game is not reaching the 60 FPS
2021-12-15 11:29:49 -08:00
Sam Lantinga
67c4b99639
Fixed enabling udev hotplug detection on Linux
2021-12-15 10:39:42 -08:00
Sam Lantinga
c326ff7c6f
Re-enabled the O_CLOEXEC definition so config headers can be fixed
2021-12-14 12:42:39 -08:00
Alex Szpakowski
3a5e148b13
Renderer backends use SDL_Color instead of int for geometry colors.
2021-12-14 12:19:16 -08:00
Sam Lantinga
086c74556d
Fixed build warning on iOS
2021-12-14 12:08:36 -08:00
Sam Lantinga
b08e57e926
Don't try to create a vbo if we aren't using any vertices
2021-12-14 09:32:05 -08:00
Sylvain
b7885abc44
Fixed bug #5087 : SDL_RenderGeometryRaw() passes colors as int* instead of SDL_Color*
2021-12-14 10:31:55 +01:00
Alex Szpakowski
323ba6c008
d3d11 renderer: reduce vertex bandwidth and calculations.
2021-12-13 15:14:33 -08:00
thfrwn
2b6b69fb12
fix assertion failure in sndio audio caused by the recent hotplugging support
2021-12-13 11:26:35 -08:00
Sylvain
8927d73b1c
RenderGeometry: simplify casting (Thanks Daniel Gibson)
2021-12-12 09:55:23 +01:00
Sylvain
d7f66ba1ec
Remove strict aliasing warning in opengles2 backend
2021-12-11 20:04:53 +01:00
Sylvain
3e43d6e34b
SDL_RenderGeometry: remove some warning "dereferencing type-punned pointer might break strict-aliasing"
2021-12-11 17:19:00 +01:00
David Redondo
e2ade2bfc4
Fix build against wayland 1.20
...
Fixes #5088
2021-12-10 08:59:20 -08:00
David Gow
9da93d074b
video: x11: Set XImage's byte_order field ( fix #5081 )
...
If the X server's byte order is different from the client, things might
display in the wrong colour.
Apparently we can just set the byte_order field to the client's byte
order, and the X server will adjust everything automatically:
https://xorg.freedesktop.narkive.com/GbSD1aPq/ximage-s-byte-order-field
2021-12-09 20:40:12 -08:00
Hanseul Jun
e7f84c20bc
Fix a typo in comment.
2021-12-09 11:05:23 -08:00
Hanseul Jun
66fbf00e7d
Temporarily ignore gl_config.driver_loaded check in Cocoa_GLES_SetupWindow.
2021-12-09 11:05:23 -08:00
Valentin Hăloiu
cb8fa5f9c3
wayland: fix keycodes of swapped xkb modifier keys
2021-12-09 09:30:58 -08:00
Ozkan Sezer
615f7b4453
more updates to os2 makefile for libiconv
2021-12-08 23:51:56 +03:00
Ozkan Sezer
8d14e6ea44
replaced use of _MAX_PATH with CCHMAXPATH in os/2 code,
...
it now compiles without HAVE_LIBC
2021-12-08 14:01:02 +03:00
Sylvain
1940d289bf
SW Renderer: fix invalid read if VSYNC hint is initially set with an empty value (eg "")
...
because:
- GeHint return a value pointer.
- SetHint free internally the pointer
- The -now invalid- pointer is re-read
==9363== Invalid read of size 1
==9363== at 0x4946860: SW_CreateRenderer (SDL_render_sw.c:1044)
==9363== by 0x48F0EC3: SDL_CreateRenderer_REAL (SDL_render.c:938)
==9363== by 0x48C5921: SDL_CreateRenderer (SDL_dynapi_procs.h:332)
==9363== by 0x401584: main (main.c:421)
==9363== Address 0x9c24040 is 0 bytes inside a block of size 1 free'd
==9363== at 0x484621F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==9363== by 0x494E403: SDL_free_REAL (SDL_malloc.c:5432)
==9363== by 0x48A6153: SDL_SetHintWithPriority_REAL (SDL_hints.c:76)
==9363== by 0x48A6254: SDL_SetHint_REAL (SDL_hints.c:101)
2021-12-08 09:41:33 +01:00
Ozkan Sezer
9409642e08
fix some warnings from vita builds (missing includes)
...
also some tidy-up to whitespace.
2021-12-07 21:24:24 +03:00
stdgregwar
21d46b7e0c
PSP renderer fixed
2021-12-07 20:55:04 +03:00
Sergio Padrino
6f6382f8d0
Fix SDL_GameController API for PSP ( #3 )
...
- Add missing mapping
- Make sure the only window has the keyboard focus (so no `SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS` is needed)
2021-12-07 09:04:05 -08:00
Cameron Gutman
da0f76de6d
cocoa: Don't round scroll deltas from trackpads
...
Rounding the scroll deltas from trackpads causes jerky scrolling behavior
by artificially amplifying the effects of very small scroll movements.
We should only round events from devices with discrete scroll wheels,
because we know the smallest unit of movement there is a single tick.
2021-12-07 09:02:35 -08:00
Ozkan Sezer
8cee50eea5
removed stdlib.h from SDL_psp_main.c now that exit() is gone.
2021-12-07 19:32:56 +03:00
Ozkan Sezer
00014dc2ac
fix some warnings from psp builds (missing includes.)
2021-12-07 18:47:10 +03:00
Wouter Wijsman
da5dbb4763
Fix SDL2main on PSP ( #5076 )
...
- Fix SDL2main on PSP
SDL2main was not working for PSP, because it wasn't being activated and
it wasn't unsetting the main. Besides that a debug screen being started
was causing issues with joystick input and the sceKernelExitGame calli
is no longer needed with the current PSPDEV SDK.
- Clean up imports in PSP main
- Set PSP GPU and user modes in main
- Fix exit callback in PSP main
2021-12-07 18:43:50 +03:00
Cameron Gutman
2d673e5b56
evdev: Add support for REL_WHEEL_HI_RES and REL_HWHEEL_HI_RES
...
If supported, these come alongside the regular REL_WHEEL and REL_HWHEEL
events so it's important that we only process one or the other.
2021-12-07 07:00:31 -08:00
Ozkan Sezer
f266d92286
psp/SDL_sysjoystick.c: fix -Wshadow warnings.
2021-12-07 14:04:32 +03:00
Ozkan Sezer
801dcbc5ef
SDL_render_sw.c: fix -Wshadow warnings.
2021-12-07 14:04:10 +03:00
Wouter Wijsman
e17a3154ed
Fix build issue
2021-12-07 14:03:00 +03:00
Wouter Wijsman
7266cf66c7
Clean up PSP render code to fit C standard used better
2021-12-07 14:03:00 +03:00
Wouter Wijsman
07608bf45f
Fix ISO C90 violations in psp render code
2021-12-07 14:03:00 +03:00