* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
* provide more information during achievement load process
* update rcheevos version
* do disconnected processing even when no game is loaded
* make loading widget unique
* only show loading indicator with verbose messages on
* Touch up the documentation for a few environment calls
* Touch up more comments
* Update docs for more environment calls
* Add doc comments for more environment calls
* Change various @returns to indicate that the environment call is available
- Some environment calls might be recognized but ignored (e.g. when fast-forwarding during netplay)
* Note some deprecated symbols
* Touch up the docs for RETRO_ENVIRONMENT_SET_MESSAGE
* Touch up the docs for RETRO_ENVIRONMENT_SET_PIXEL_FORMAT
* Add more doc comments
* (libretro) Add more doxygen documentation for the libretro API
* (libretro) Add doxygen comments for the callbacks
* Document retro_init and retro_deinit
* Add comments for retro_log-related symbols
* Add a comment
* Clean up some camera-related comments
* Clean up frame time-related callbacks
* Correct some information about major callbacks
* Clarify some parameter info
* Fix incorrect info about retro_set_environment
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* (libretro) Add doxygen docs on RETRO_THROTTLE
* Touch up the docs for RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK
* Touch up the docs for some macros
* Touch up the docs for some more environment calls
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Tidy up the doc comments for clamping.h
- It was a low-hanging fruit
* Define some sections for constants
- Doxygen will group all contained symbols on one page
* Fix a duplicate @see
* Polish up the docs for the rumble interface
* Polish up the docs for RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Document INLINE
* Clean up some tags
* Touch up the docs for the sensor interface
* Add docs for RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK
* Update docs for RETRO_ENVIRONMENT_GET_INPUT_BITMASKS and accompanying names
* Update some group definitions
* Spiff up the docs for retro_dirent.h
* Document dylib.h
* Document base64.h
* Document crc32.h
* Touch up the docs for audio conversion functions
* Clean up some Doxygen tags
* Refine the docs for RETRO_ENVIRONMENT_GET_PERF_INTERFACE
* Fix incorrect infor in dylib.h
* Touch up the docs for RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE
* Revise the docs for RETRO_ENVIRONMENT_SET_GEOMETRY
* Revise the docs for RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE
* Revise a function's doc
* Touch up most of the rthreads docs
* Touch up the retro_timers.h docs
* Revise the subsystem docs
* Fix some incorrect @see's
* Touch up the docs for RETRO_ENVIRONMENT_GET_LED_INTERFACE
* Give the RETRO_ENVIRONMENT_GET_SAVESTATE_CONTEXT docs a makeover
* Slight cleanup to the microphone docs
* Slight cleanup to the device power docs
* Touch up serialization quirk docs
* Give the MIDI docs a haircut
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Freshen up rtime's docs
* Improve the docs and accompanying definitions for RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE
- Revise the text of the documentation
- Introduce an enum that defines the flags (it's still an int, so ABI compatibility will be fine)
- Move the documentation for each bit to its corresponding enum
* Shine the shoes of RETRO_ENVIRONMENT_GET_INPUT_MAX_USERS's docs
* Freshen up the docs for fifo_queue.h
* Document most of task_queue.h
* Put retro_dirent's symbols in a group
* Finish documenting task_queue.h
* Document some compatibility headers
* Document read_stdin
* Document file_stream_transforms.h
* Document the VFS API
- Not the wrappers, just the plain API itself
* (Docs) Add doxygen notes about RETRO_DEVICE_*
* Fix some line breaks
* Revise RETRO_DEVICE docs
* Document strl.h
* Update the features_cpu.h docs
* Rewrite the docs for file_stream.h
* Update the docs for retro_endianness.h
* Update the docs for retro_miscellaneous.h
* Document the RETRO_VFS_SEEK_POSITION constants
* Finish documenting rthreads.h
* Document network_stream.h
* Put the RETRO_MEMORY defines in a defgroup
* Move a doc comment in retro_common.h to file scope
* Revise the docs for RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, and accompanying symbols
* Fix the @param/in/out order in libretro.h's @param declarations
* Tidy up the docs for RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION
* Spiff up the docs for RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER
* Fix some tags
* Polish up RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE's docs
* libretro: Add header doxygen
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Clean up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY
* Clean up the docs for RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE
* Touch up some comment syntax for RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE
* Fix some inaccuracies
* Re-add the license statement for libretro.h
* Touch up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2
* Touch up docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY
* Touch up docs for some options-related symbols
* Fix some syntax that was preventing most doc files from being generated
* Express retro_core_option_definition docs in terms of retro_core_option_v2_definition
* Finalize some core option-related docs
* Fix some incorrect info about achievements
* Polish up the docs for RETRO_ENVIRONMENT_SET_MEMORY_MAPS
* Polish up the docs for RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION
* Add a notice for `RETRO_ENVIRONMENT_GET_LOG_INTERFACE`
* Update the disk control interface docs
* Add a sentence to a doc comment
* Update a comment
* Remove an irrelevant @todo
* Touch up the docs for `retro_message_target`
* Touch up the docs for `retro_message_type`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_MESSAGE_EXT`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY`
* Revise a comment
* Revise the docs for `RETRO_ENVIRONMENT_SET_VARIABLE`
* Add a `@see`
* Clean up the `RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE` docs
* Update the Doxyfile
* libretro: Add three more environment callback doxygen docs
* doxygen: Remove @example reference
---------
Co-authored-by: Rob Loach <robloach@gmail.com>
Adds support for sub-frame shaders to vulkan/glcore/dx10-11-12.
Builds on the concept already present for frame duplication in use for BFI, to present multiple 'sub' frames per real frame to the shaders, so they can run at a higher framerate than the content framerate. Must be enabled via subframe shaders setting under synchronization settings to be active.
Will allow BFI to be implemented inside of the shaders, among any other use for the higher framerate shader authors can devise.
CurrentSubFrame and TotalSubFrames have been available inside the shaders to track what they want to do on an given subframe. TotalSubFrames will always be 1 when the setting is disabled (and when in menu/ff/pause). Framecount will not increment on sub-frames, as it does not for injected bfi frames now. Should not interfere with any existing shaders that do not check for subframes.
Loading the last used disc for multi-disc content was automatic.
However, in some cases it is not wanted, as described in #16018
Option is added for controlling the function. Disabling the
option will also implicitly disable index saving.
The check for sleeping to sync to a specific speed that is meant for fast forward/vrr could be true for a non-vrr normal core running state causing a possible sleep in a situation it was not intended for, especially at higher hz, and thus interfering with frame pacing.
- Allow starting netplay host while a netpacket core is running without restart
- Allow connecting to a host while a netpacket core is running without restart
- Avoid clients getting stuck in connection loop if the host has the content paused while a client connects by automatically unpausing
* Add xdelta in deps
* Include <assert.h> in xdelta3.h
- Otherwise the static_assert calls can fail
* Build xdelta3 in Makefile.common
* Add xdelta support to the softpatching infrastructure
- The patching itself isn't fully implemented yet
* Adjust how xdelta3.h checks the sizes of some types
- Now checks max values instead of relying on autotools
* Add some enums that were excluded by the cherry-pick
* Remove stray whitespace
* Adjust SIZE macros in xdelta3.h
- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX
* Reintegrate xdelta support
* Enable support for xdelta's secondary compressors
- Necessary for some patches
* Fix some format specifiers
* Remove unnecessary files from xdelta
* Include xdelta3.h with a relative path
* Add xdelta3 headers to HEADERS variable
* Gate Xdelta support behind HAVE_XDELTA
- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found
* Disable HAVE_XDELTA on platforms where the build recently failed
- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong
* Fix a potential memory leak
- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream
* Split the --help printout for --xdelta into its own strlcat call
- GCC was complaining about #ifdefs within macro arguments being non-portable
* Fix some incorrect printf format specifiers
* Modify Xdelta to adhere to C89
- It's mostly using RetroArch's INLINE macro instead of the inline keyword
* Slight cleanups
* Remove a stray comma that was hindering C89 builds
* Add XDelta support to CHANGES.md
* Change how the xdelta patch's name is computed
- To be in line with other recent refactoring
* Fix an incorrect merge
- Whoops, this part was from before I figured out how to get the size of a patched file
* Explain the song-and-dance behind computing a patched file's size
* Define some XDelta3-related constants to 0 on 32-bit platforms
* Adjust some Xdelta-related macro definitions
- Exclude the encoder, since we're not making patches
- Move some #defines to after inclusion of <stdint.h>, to fix undefined behavior
- Remove _WIN32_WINNT overrides, since they were for code that we're not using
* Fix Xdelta support
* Wrap an encoder-only function in `#if XD3_ENCODER`
- Contentless support and populated content paths are not mutually exclusive in practice
- It just looked that way because most cores that support contentless mode to date don't use softpatching very much
* High Hz Synchronization
Makes adjustment to driver_adjust_system_rates and related functions to handle Hz skew adjustment for high refresh rates better, especially when using effective refresh modifiers like swap interval or BFI.
* Reorder for Build Fix
Reorder declaration for build fix