Commit Graph

3301 Commits

Author SHA1 Message Date
jdgleaver 317ad3181d (config_file) Enable saving of changed parameters when '#include' directives are used 2020-11-09 11:18:49 +00:00
jdgleaver 5c50d2f389 (RXML) Fix memory leak 2020-11-06 17:40:32 +00:00
HyperspaceMadness f6e35420bc Simple Shader Save Cleanup 2020-11-02 21:07:20 -05:00
twinaphex 3fdf93a273 Update libretro-common 2020-11-01 17:22:32 +01:00
HyperspaceMadness 70bf90c5d8 Shader_Preset_Simple_Save_Cleaned_2020_11_01 2020-11-01 09:18:40 -05:00
twinaphex a2a58147e7 Update libretro-common 2020-10-31 06:22:10 +01:00
Bernhard Schelling f6f8d3e235 Replace rapidjson parser/writer in discord-rpc with rjson 2020-10-29 16:55:23 +09:00
twinaphex a38bd6d71a (UWP) Buildfix 2020-10-28 19:16:27 +01:00
Bernhard Schelling cc1937a3af
Fix possible output corruption in rjson
Was possible when translation service was adding a base64 encoded string with a length less than 1536 characters.
Introduced in commit c20b01e9e1.
2020-10-26 10:44:04 +09:00
Bernhard Schelling c20b01e9e1 Replace custom JSON parser/writer in translation service with rjson 2020-10-25 21:43:30 +09:00
twinaphex ee474b4feb Add missing string.h header include 2020-10-24 17:01:55 +02:00
jdgleaver 3e52f318d5 AI Service fixes 2020-10-22 15:59:26 +01:00
jdgleaver af6c2d6969 Add API extension for overriding frontend audio latency 2020-10-20 15:37:34 +01:00
jdgleaver 4961252a7a Add API extension for cores to monitor frontend audio buffer occupancy 2020-10-17 15:06:03 +01:00
twinaphex 24392446af Assume HAVE_THREAD_ATTR cannot be defined for Emscripten 2020-10-15 06:40:37 +02:00
Bernhard Schelling b90ce9b451
Fixes for Clang warnings 2020-10-12 05:25:12 +09:00
Bernhard Schelling c0cb3373e3
Fixes for CXX_BUILD 2020-10-12 04:30:45 +09:00
schellingb ba1ed2da4b New faster json parser/writer library rjson
Replace existing libraries jsonsax_full and jsonsax with it
2020-10-12 03:02:20 +09:00
Justin Weiss 1ee7b71884 [3DS] Use the CondVar API for condition variables
The pthread wrapper uses semaphores to simulate condition variables,
but it is easy to hit the 3DS' limit of available semaphores. libctru
2.0 supplies a lightweight condition variable API. We will use that
when it exists, and backport it when it doesn't.
2020-10-10 19:31:08 -07:00
jdgleaver b431285819 (GEKKO) Remove trailing slash when calling retro_vfs_stat_impl() 2020-10-05 15:16:58 +01:00
Autechre a033f4ab62
Merge pull request #11414 from jdgleaver/cdrom-strcasestr
libretro-common/cdrom: Add missing compatibility header
2020-10-05 14:20:01 +02:00
jdgleaver 3c06a907ca Fix directory creation on GEKKO platforms when path contains a trailing slash 2020-10-05 10:59:55 +01:00
jdgleaver 6c8c8b73f2 libretro-common/cdrom: Add missing compatibility header 2020-10-05 10:28:45 +01:00
twinaphex 0ad9175d77 (sinc resampler) We don't need to keep fetching these variables
within this inner loop
2020-10-03 21:20:32 +02:00
twinaphex 66deef29c6 Cleanups/style nits 2020-10-02 21:10:07 +02:00
twinaphex c6f5973281 Replace while(true) with for(;;) 2020-10-02 21:02:59 +02:00
twinaphex f84c6ec8cd Use STRLEN_CONST where possible; and don't needlessly do strlen
twice
2020-10-02 20:57:29 +02:00
twinaphex 7e597c3fd0 Cleanups 2020-09-30 15:47:03 +02:00
twinaphex 3072342b2c Backport libretro-common changes 2020-09-30 14:50:17 +02:00
twinaphex c744baeb89 Add ctype variants to stdstring and use it in RA 2020-09-27 22:15:32 +02:00
jdgleaver 3d4ddebcaf Add several LCD-effect video filters 2020-09-24 16:11:07 +01:00
twinaphex 0e49f058f3 Use strcpy_literal in more places 2020-09-19 23:59:06 +02:00
twinaphex 1296fc4745 use strlcpy_literal for string literal copies 2020-09-19 23:28:01 +02:00
Autechre a7a28906d3
Merge pull request #11344 from Alcaro/master
Add BearSSL support, as alternative to mbedTLS
2020-09-19 15:07:30 +02:00
Alcaro 18f46e65ea Add BearSSL support 2020-09-19 00:31:36 +02:00
Alcaro c7669fdce5
Fix --enable-debug build
libretro-common/audio/audio_mixer.c:195:32: error: unknown type name ‘rwav_t’
 static bool wav_to_float(const rwav_t* wav, float** pcm, size_t samples_out)
                                ^~~~~~

plus about 500 errors when trying to use that struct
2020-09-18 21:45:32 +02:00
twinaphex c2cd39379a (gfx_widgets.c) Put FIFO queue on stack 2020-09-18 02:18:21 +02:00
Autechre 33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
Justin Weiss fb9aa961b7 [3DS] Increase file buffer size and savestate chunk size 2020-09-09 18:29:47 -07:00
jdgleaver 5a0dc5524d Fix string_list memory leaks 2020-09-08 14:58:49 +01:00
M4xw bad97e29d2 Fix Regression caused by 023fd4f3 2020-09-04 20:56:26 +02:00
twinaphex 318ac1f667 (filebrowser_parse) Use non-heap allocated string_list functions 2020-09-04 06:29:30 +02:00
twinaphex 047efd2cd4 Revert "Resync"
This reverts commit f28056364a.
2020-09-01 17:43:22 +02:00
twinaphex f28056364a Resync 2020-09-01 17:06:52 +02:00
twinaphex 11719badcb Simplify mb_to_mb_string_alloc 2020-08-29 05:21:48 +02:00
Justin Weiss f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
Justin Weiss cb2c2c530c Update libretro-common ctr_pthread.h
Older devkitARM toolchains incorrectly prevent _pthreadtypes.h from being included. Newer versions include it.

In order to make a version of ctr_pthread.h that works under both old and new toolchains, the typedefs are guarded by a define in _pthreadtypes.h that is only active if the other types are defined.

I've also added casts in order to make sure this compiles correctly with the standard pthread.h type definitions.
2020-08-27 08:36:39 -07:00
twinaphex 022fa54236 Nit 2020-08-27 15:22:40 +02:00
twinaphex c51959d45b Make net_http_urlencode thread-safe 2020-08-27 15:21:22 +02:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex 044209bc5a Create string_separate_noalloc 2020-08-26 23:46:16 +02:00
twinaphex 61c94fe248 Simplify string_list_new/string_list_initialize 2020-08-26 17:50:18 +02:00
jdgleaver 7a07cc1305 Fix 'Set Core Association' regression 2020-08-26 15:18:39 +01:00
twinaphex e2c277d2ea (libretro-common) Cleanups 2020-08-26 15:13:48 +02:00
twinaphex 74fc0ba494 Buildfix 2020-08-26 15:06:34 +02:00
twinaphex 662e37f670 Replace more instances of string_split 2020-08-26 13:35:05 +02:00
twinaphex 6df62bbccc Create string_split_noalloc 2020-08-26 03:20:42 +02:00
twinaphex a32d027f76 string_list_initialize - call deinitialize when function fails 2020-08-26 02:28:10 +02:00
twinaphex ad61d8ff92 Simplify config_get_entry 2020-08-26 02:17:37 +02:00
twinaphex 54dfaaa3bc Simplify config_get_bool 2020-08-26 01:37:57 +02:00
twinaphex 48f2612223 (config_file) config_set - some of the char arrays were too big
for the type in question
2020-08-25 20:58:55 +02:00
twinaphex 1d53f3ca29 Move static functions to the top 2020-08-25 18:38:12 +02:00
twinaphex 6cc8a2acbd Rewrite config_file_new_from_string 2020-08-25 18:37:14 +02:00
twinaphex d573a802c4 Simplify config_file_new_alloc 2020-08-25 18:12:28 +02:00
twinaphex f454665be2 Optimize config_file_exists 2020-08-25 18:10:32 +02:00
twinaphex 2c0fb6ff6c config_file_parse_line - put sub_conf on stack 2020-08-25 17:54:22 +02:00
twinaphex 6a88b3f20e Cleanup strlen_size 2020-08-25 17:24:03 +02:00
Autechre ed6f32fd80
Merge pull request #11240 from jdgleaver/string_list-safety
(string_list) Add checks to prevent undefined behaviour
2020-08-25 16:59:22 +02:00
jdgleaver 179e77c8b0 (string_list_join_concat) Prevent undefined behaviour if input string buffer is unterminated 2020-08-25 15:54:18 +01:00
twinaphex 79c8a94857 (config_file.c) config_set_string - simplify 2020-08-25 15:50:26 +02:00
twinaphex 7771dbd594 Rename config_file_new_internal to config_file_load_internal 2020-08-25 15:36:26 +02:00
twinaphex cd0a27680a (config_file.c) Cleanup 2020-08-25 15:34:11 +02:00
twinaphex 5a69e6e75c Simplify config_file.c code 2020-08-25 15:29:45 +02:00
twinaphex ce185d8be6 (DSP IIR) Prevent '-Wmaybe-uninitialized' warnings 2020-08-25 13:21:22 +02:00
twinaphex b7b96fb142 (config_file) Cleanups 2020-08-25 12:39:28 +02:00
twinaphex f18af41876 Cut down on add_sub_conf 2020-08-25 12:29:08 +02:00
twinaphex 1e5ccb7319 Create config_file_get_realpath 2020-08-25 12:20:09 +02:00
twinaphex 74a3e5be8a Simplify is_path_accessible_using_standard_io 2020-08-24 23:41:10 +02:00
twinaphex 42a3d433dc Restore this code 2020-08-24 23:25:57 +02:00
twinaphex ceca44b233 Cleanup config_initialize_internal 2020-08-24 23:09:55 +02:00
twinaphex 88f01c51a7 (config_file) Cleanups 2020-08-24 22:57:08 +02:00
twinaphex b681b2af49 config_set_string: simplify 2020-08-24 21:25:55 +02:00
twinaphex a954118faf (config_file) Cleanups 2020-08-24 21:16:25 +02:00
twinaphex 4f29bef56e (config_file) Cleanups 2020-08-24 21:11:41 +02:00
twinaphex 150e96144a Cleanup 2020-08-24 20:40:49 +02:00
twinaphex dd13e6b044 (config_file.c) Use snprintf 2020-08-24 19:39:41 +02:00
twinaphex 24910b6999 (config_file) Simplify config_sort_compare_func 2020-08-24 19:29:24 +02:00
twinaphex 8a479e6006 Create dir_list_initialize/dir_list_deinitialize 2020-08-24 18:56:25 +02:00
twinaphex cde5d37eb2 Put this behind RPNG_TEST 2020-08-24 18:17:47 +02:00
twinaphex 91cfcd1b83 Improve string_list_deinitialize 2020-08-24 15:11:38 +02:00
twinaphex 2452769a80 Cleanup 2020-08-24 14:20:46 +02:00
twinaphex 64f8a5990c Create fifo_initialize/fifo_deinitialize 2020-08-24 12:17:33 +02:00
twinaphex 9caf3080b1 Cleanup 2020-08-24 12:06:56 +02:00
twinaphex 71708f8ddd (libretro-common) Add msg_queue_initialize/msg_queue_deinitialize 2020-08-24 12:04:56 +02:00
twinaphex 7a6b9fd1b2 (Ozone) Horizontal list - put on stack - it's already on heap-allocated
struct as is
2020-08-24 10:22:32 +02:00
twinaphex 93fa9a0194 Add file_list_deinitialize - does everything that file_list_free
does except for freeing the passed struct pointer
2020-08-24 01:45:45 +02:00
twinaphex 0a69d14b11 Reimplement slang_preprocess_parse_parameters 2020-08-24 00:54:24 +02:00
twinaphex cd6e1cf3fa (libretro-common) string_list - add string_list_initialize
and string_list_deinitialize - takes a pointer to initialize
and deinitialize a string list, but importantly does not
implicitly allocate and deallocate the string list pointer
itself. This way, string lists can be put on the stack instead
of always implicitly being put on heap - the struct itself is
small enough to fit on stack
2020-08-24 00:43:55 +02:00
Alcaro e4022ab416 libretro.h: Fix contradictory comment
retro_get_system_info() says it can be called even before retro_init(), which means retro_deinit() doesn't need to be called at all. Mentioning deinit() in the struct definition is misleading and incorrect.
2020-08-23 18:29:12 +02:00
Twinaphex a175af4e6a Cleanup some unused variables 2020-08-22 18:04:34 +02:00
twinaphex 503131de66 (RPNG) Cleanups 2020-08-22 17:37:34 +02:00
twinaphex f4432acd06 (RPGN) Cleanups to IHDR code 2020-08-22 17:34:13 +02:00
twinaphex 73ed02b5f6 (RPNG) Cleanup read_chunk_header 2020-08-22 17:18:32 +02:00
twinaphex d6f22a7a4c (RPNG) Simplify png_process_ihdr 2020-08-22 16:28:50 +02:00
twinaphex c7cf9d6df7 (RPNG) Simplify rpng_start 2020-08-22 16:11:54 +02:00
twinaphex 5cc4d0da0f (RPNG) Make sure we don't use stdio/fprintf unless DEBUG is defined 2020-08-22 16:07:03 +02:00
twinaphex deafd70934 (RPNG) More simplifications - get rid of png_chunk struct, just pass
uint32_t around to function
2020-08-22 15:37:21 +02:00
twinaphex 91345fe867 (RPNG) read_chunk_header - simplify code some more 2020-08-22 15:34:32 +02:00
twinaphex 8b5b472a2d Optimize read_chunk_header 2020-08-22 14:24:11 +02:00
twinaphex 2e6b87d156 Simplify rpng.c - read_chunk 2020-08-22 14:20:50 +02:00
twinaphex 99873ccd8a Reorder structs, alignment 2020-08-21 09:57:11 +02:00
twinaphex 5a8da81d07 Simplify string_set 2020-08-20 19:12:38 +02:00
twinaphex cb0a193eea Fix RPNG build failure 2020-08-19 18:20:55 +02:00
twinaphex dff52d8688 Revert "(audio conversion) Optimize array accesses"
This reverts commit 8613ece7f5.
2020-08-19 18:18:02 +02:00
twinaphex c4be485baf Revert "Optimize png_reverse_filter_copy_line_rgb"
This reverts commit aa428cc415.
2020-08-19 18:17:16 +02:00
twinaphex ae0d63ccc0 Revert "Optimize png_reverse_filter_copy_line_rgba"
This reverts commit ad3c67f275.
2020-08-19 18:16:57 +02:00
twinaphex e8170a4354 Revert "Optimize png_reverse_filter_copy_line_gray_alpha"
This reverts commit 710226504e.
2020-08-19 18:16:42 +02:00
twinaphex 7c19d4d009 Revert "Optimize png_read_plte"
This reverts commit 107b640bc0.
2020-08-19 18:16:10 +02:00
twinaphex ea5d134337 Revert "Optimize read_chunk_header"
This reverts commit 33f9ef90d8.
2020-08-19 18:15:54 +02:00
twinaphex 282d34aeb1 Revert "(RPNG) Optimize png_reverse_filter_adam7_deinterlace_pass"
This reverts commit a283b71261.
2020-08-19 18:15:24 +02:00
twinaphex 003ff126ce Revert "(RPNG) optimizations to copy_line_bw"
This reverts commit 9b29217564.
2020-08-19 18:15:08 +02:00
Twinaphex e3d77d7f28 Remove unused variable 2020-08-19 17:21:22 +02:00
twinaphex 9b29217564 (RPNG) optimizations to copy_line_bw 2020-08-19 12:07:56 +02:00
twinaphex a283b71261 (RPNG) Optimize png_reverse_filter_adam7_deinterlace_pass 2020-08-19 10:05:09 +02:00
twinaphex 33f9ef90d8 Optimize read_chunk_header 2020-08-19 09:09:38 +02:00
twinaphex 107b640bc0 Optimize png_read_plte 2020-08-19 08:58:18 +02:00
twinaphex 710226504e Optimize png_reverse_filter_copy_line_gray_alpha 2020-08-19 08:18:09 +02:00
twinaphex ad3c67f275 Optimize png_reverse_filter_copy_line_rgba 2020-08-19 08:14:23 +02:00
twinaphex aa428cc415 Optimize png_reverse_filter_copy_line_rgb 2020-08-19 08:09:17 +02:00
twinaphex 5166eebcaf for loop cleanups - use space after 'for' 2020-08-19 03:06:22 +02:00
twinaphex 8613ece7f5 (audio conversion) Optimize array accesses 2020-08-19 02:46:54 +02:00
twinaphex b39959c985 Cleanup dylib.c 2020-08-18 15:22:46 +02:00
twinaphex 624a70f062 More strings being moved from heap to stack 2020-08-18 14:47:57 +02:00
twinaphex 216190b826 Clean up more string variables on heap - move to stack 2020-08-18 14:26:15 +02:00
twinaphex c81d06d0a1 Reorder structs, alignment 2020-08-17 15:09:19 +02:00
Alcaro df2db8bceb
stdstring: Delete duplicate function 2020-08-16 02:33:25 +02:00
twinaphex b69ceaea1b Reorder structs, alignment 2020-08-16 01:07:42 +02:00
Alcaro 37efa9d52e
rpng: delete "unused" png_chunk member
also fix a rather ugly buffer overflow that relies on the unused member existing and being null
2020-08-16 00:27:25 +02:00
twinaphex 982fbadd15 (RBMP) Reorder structs, alignment 2020-08-16 00:13:16 +02:00
twinaphex 3d2efdd2ef (RJPEG) reorder structs, alignment 2020-08-16 00:09:10 +02:00
twinaphex f48dc0ff5b Reorder structs, alignment 2020-08-15 20:38:31 +02:00
twinaphex 3ec21b292c Reorder structs, alignment 2020-08-15 01:18:23 +02:00
twinaphex a8646a2610 Reorder structs, alignment 2020-08-15 00:44:35 +02:00
twinaphex 7642cf5fa5 Struct reorders/alignment 2020-08-14 22:54:46 +02:00
twinaphex 4c0d9bc68d Struct reordering/alignment 2020-08-14 21:19:32 +02:00
twinaphex 659d50c916 Struct reorderings 2020-08-14 18:31:28 +02:00
twinaphex 023fd4f330 Alignment changes 2020-08-14 18:19:57 +02:00
twinaphex b3963a2897 Struct alignment changes 2020-08-14 18:03:09 +02:00
twinaphex d0b68ee838 (RPNG) Struct alignment changes 2020-08-14 17:54:03 +02:00