xenia-canary/src/xenia/base
Gliniak 341192f6df [Codacy] Removed most of issues under "Performance" category 2024-01-20 18:34:29 +01:00
..
testing [Base] Use disruptorplus spin wait 2022-04-26 13:56:11 -05:00
README.md Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
app_win32.manifest [Win32] Declare Windows 7-11 support in the manifest 2022-02-17 20:38:52 +03:00
arena.cc [Base] Add user-literals for several memory sizes 2022-01-02 11:51:31 -06:00
arena.h [Base] Add user-literals for several memory sizes 2022-01-02 11:51:31 -06:00
assert.h add x_kthread priority/fpu_exceptions_on fields, set fpu_exceptions_on in KeEnableFpuExceptions, set priority in SetPriority 2022-11-06 11:03:10 -08:00
atomic.h Proper misalignment for AllocatePool, add guest object table 2023-10-14 19:29:25 +02:00
bit_map.cc implement dynamically allocateable guest to host callbacks 2023-10-11 18:37:23 +02:00
bit_map.h implement dynamically allocateable guest to host callbacks 2023-10-11 18:37:23 +02:00
bit_range.h [GPU] SharedMemory: common sparse memory allocation 2020-10-06 21:32:44 +03:00
bit_stream.cc [APU] Resolved crash related to negative amount of bits to copy 2022-12-13 08:46:48 +01:00
bit_stream.h [APU] Resolved crash related to negative amount of bits to copy 2022-12-13 08:46:48 +01:00
byte_order.h Huge set of performance improvements, combined with an architecture specific build and clang-cl users have reported absurd gains over master for some gains, in the range 50%-90% 2022-08-13 12:59:00 -07:00
byte_stream.cc [Base] ByteStream assert cleanup. 2021-06-28 20:32:52 -05:00
byte_stream.h C++17ification. 2020-04-07 16:09:41 -05:00
chrono.h [Base] Add chrono support 2022-04-26 13:56:11 -05:00
chrono_steady_cast.h [Base] Add chrono support 2022-04-26 13:56:11 -05:00
clock.cc Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
clock.h Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
clock_posix.cc [Base] Fix Clock platform functions on POSIX. 2021-06-18 16:10:19 +03:00
clock_win.cc Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
clock_x64.cc squash reallocs in command buffers by using large prealloced buffer, directly use virtual memory with it so os allocs on demand 2022-08-14 13:42:08 -07:00
console.h [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
console_app_main.h [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
console_app_main_android.cc [Base] Cvars from Android Bundle/Intent 2022-07-16 13:13:08 +03:00
console_app_main_posix.cc [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
console_app_main_win.cc [Base] Changed entry point to wmain for Windows 2022-02-01 15:50:48 -06:00
console_posix.cc [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
console_win.cc "Fix" debug console, we were checking the cvar before any cvars were loaded, and the condition it checks in AttachConsole is somehow always false 2022-11-27 09:39:33 -08:00
cvar.cc Update to latest version of cxxopts 2022-09-30 06:51:25 -07:00
cvar.h Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
cvar_android.cc [Base] Use to_path for Android path argument loading 2022-07-16 13:42:04 +03:00
debug_visualizers.natvis [Base] Fix natvis for new endian_store. 2021-06-28 20:32:52 -05:00
debugging.h Directly check PEB for IsDebuggerAttached 2022-12-04 12:38:19 -08:00
debugging_mac.cc Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
debugging_posix.cc [debugging linux] Implement functions 2020-11-14 13:17:15 -06:00
debugging_win.cc Directly check PEB for IsDebuggerAttached 2022-12-04 12:38:19 -08:00
delegate.h More style. 2015-08-07 21:29:03 -07:00
exception_handler.cc [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
exception_handler.h [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
exception_handler_posix.cc [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
exception_handler_win.cc [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
filesystem.cc filesystem: use std for CreateFolder 2020-04-09 09:44:48 -05:00
filesystem.h Added Listing directories and filtering filenames by regex 2023-08-03 20:37:00 +02:00
filesystem_android.cc [Base] Android content URI file descriptor opening 2022-07-17 16:25:58 +03:00
filesystem_posix.cc [Codacy] Fixed some issues found by codacy. 2024-01-20 13:19:37 +01:00
filesystem_wildcard.cc [Base] Match exactly when no pattern in wildcard 2022-02-17 17:38:04 -06:00
filesystem_wildcard.h [Base] Match exactly when no pattern in wildcard 2022-02-17 17:38:04 -06:00
filesystem_win.cc Added Listing directories and filtering filenames by regex 2023-08-03 20:37:00 +02:00
fuzzy.cc [Base] Add missing header for VS2017 2021-01-31 23:22:59 -06:00
fuzzy.h C++17ification. 2020-04-07 16:09:41 -05:00
hash.h [D3D12] unordered_map instead of multimap in TextureCache 2021-05-05 21:40:00 +03:00
host_thread_context.cc [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
host_thread_context.h [CPU] MMIO: Arm64, load register writes + exception cleanup 2022-07-06 21:05:05 +03:00
literals.h [Base] Add user-literals for several memory sizes 2022-01-02 11:51:31 -06:00
logging.cc Added logger flags, for selectively disabling categories of logging (cpu, apu, kernel). Need to make more log messages make use of these flags. 2023-04-16 12:42:42 -04:00
logging.h Added logger flags, for selectively disabling categories of logging (cpu, apu, kernel). Need to make more log messages make use of these flags. 2023-04-16 12:42:42 -04:00
main_android.cc [Base] Android content URI file descriptor opening 2022-07-17 16:25:58 +03:00
main_android.h [Base] Cvars from Android Bundle/Intent 2022-07-16 13:13:08 +03:00
main_init_android.cc [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
main_init_posix.cc [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
main_init_win.cc Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
main_win.cc [UI] Image post-processing and full presentation/window rework 2022-01-29 13:22:03 +03:00
main_win.h [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
mapped_memory.h [Base] Android content URI file memory mapping 2022-07-17 16:34:17 +03:00
mapped_memory_posix.cc Small fixes for better cross-platform compatibility (#200) 2023-10-21 17:07:29 +02:00
mapped_memory_win.cc Huge set of performance improvements, combined with an architecture specific build and clang-cl users have reported absurd gains over master for some gains, in the range 50%-90% 2022-08-13 12:59:00 -07:00
math.h Proper misalignment for AllocatePool, add guest object table 2023-10-14 19:29:25 +02:00
memory.cc Small fixes for better cross-platform compatibility (#200) 2023-10-21 17:07:29 +02:00
memory.h Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
memory_posix.cc Small fixes for better cross-platform compatibility (#200) 2023-10-21 17:07:29 +02:00
memory_win.cc "Fix" debug console, we were checking the cvar before any cvars were loaded, and the condition it checks in AttachConsole is somehow always false 2022-11-27 09:39:33 -08:00
mutex.cc atomic cas use prefetchw if available 2022-09-17 04:04:53 -07:00
mutex.h Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
platform.h Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
platform_amd64.cc setup initial value of MSR on ppc context 2023-04-01 14:48:56 -04:00
platform_amd64.h Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-12-31 11:19:01 +01:00
platform_linux.h C++17ification. 2020-04-07 16:09:41 -05:00
platform_win.h Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
premake5.lua [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
profiling.cc Increase profiler max threads to 256 2022-05-22 13:06:50 +02:00
profiling.h Huge set of performance improvements, combined with an architecture specific build and clang-cl users have reported absurd gains over master for some gains, in the range 50%-90% 2022-08-13 12:59:00 -07:00
reset_scope.h DANGER DANGER. Switching to global critical region. 2015-09-06 09:30:54 -07:00
ring_buffer.cc Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
ring_buffer.h Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
simple_freelist.h use Sleep(0) instead of SwitchToThread, should waste less power and help the os with scheduling. 2022-09-11 14:14:48 -07:00
socket.h C++17ification. 2020-04-07 16:09:41 -05:00
socket_win.cc [Codacy] Removed most of issues under "Performance" category 2024-01-20 18:34:29 +01:00
split_map.h Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
string.cc [Base] Wrap strdup and strcasecmp in xe:: functions 2022-07-17 16:14:29 +03:00
string.h [Base] Wrap strdup and strcasecmp in xe:: functions 2022-07-17 16:14:29 +03:00
string_buffer.cc [Base] Add user-literals for several memory sizes 2022-01-02 11:51:31 -06:00
string_buffer.h [Base] Add repeating character append to StringBuffer. 2020-04-13 12:57:14 -05:00
string_key.h [Base] Fix namespacing 2021-06-02 22:28:43 -05:00
string_util.h [Patcher] Plugin Loader 2023-08-06 21:36:49 +02:00
system.h [Base] Android JNIEnv attachment and LaunchWebBrowser 2022-01-30 23:35:40 +03:00
system_android.cc [Base] GetAndroidThreadJniEnv capitals, move JNI usage tips there 2022-02-01 21:33:20 +03:00
system_gnulinux.cc [Base] Android error reporting via SIGABRT/RuntimeException 2022-01-30 18:36:11 +03:00
system_win.cc [Base] LaunchWebBrowser now takes a string view. 2021-06-28 20:32:52 -05:00
threading.cc Use stdlib 'hardware_concurrency' to get logical processor count 2016-01-20 11:04:28 -05:00
threading.h Several changes for timestamp bundle: 2023-04-16 10:08:01 -04:00
threading_mac.cc [Threading] Android thread naming and other cleanup 2020-11-22 20:03:45 +03:00
threading_posix.cc Stub event query for linux, fix missing semicolon in linux SetEventBoostPriority 2022-10-09 12:30:18 -07:00
threading_timer_queue.cc squash reallocs in command buffers by using large prealloced buffer, directly use virtual memory with it so os allocs on demand 2022-08-14 13:42:08 -07:00
threading_timer_queue.h [Base] Add TimerQueue 2022-04-26 13:56:11 -05:00
threading_win.cc Check for null string passed to Win32Thread::set_name 2023-04-30 13:22:49 -04:00
type_pool.h Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
utf8.cc Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2023-09-01 18:20:29 +02:00
utf8.h [Base] Plain string variant of UTF-8 join_paths. 2021-05-02 08:18:22 -05:00
vec128.cc [Base] Add `operator<<` string conversion for `vec128_t` 2022-01-02 15:14:58 -06:00
vec128.h [Base] Add `operator<<` string conversion for `vec128_t` 2022-01-02 15:14:58 -06:00
xxhash.h [GPU] XXH3 hash instead of XXH64 2020-12-08 22:31:09 +03:00

README.md

A lightweight cross-platform/compiler compatibility library.

This library presupposes C++11/14 support. As more compilers get C++14 it will assume that.

Other parts of the project use this to avoid creating spaghetti linkage. Code specific to the emulator should be kept out, as not all of the projects that depend on this need it.

Where possible, C++11/14 STL should be used instead of adding any code in here, and the code should be kept as small as possible (by reusing STL/etc). Third party dependencies should be kept to a minimum.

Target compilers:

  • MSVC++ 2013+
  • Clang 3.4+
  • GCC 4.8+.

Target platforms:

  • Windows 8+ (_win.cc suffix)
  • Mac OSX 10.9+ (_mac.cc suffix, falling back to _posix.cc)
  • Linux ? (_posix.cc suffix)

Avoid the use of platform-specific #ifdefs and instead try to put all platform-specific code in the appropriately suffixed cc files.