summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2021-09-01common/logging: Add missing includegerman77
2021-08-31Merge pull request #6897 from FernandoS27/pineapple-does-not-belong-in-pizzabunnei
Project <tentative title>: Rework Garbage Collection.
2021-08-29Garbage Collection: Adress Feedback.Fernando Sahmkow
2021-08-28Merge pull request #6927 from german77/ngctMorph
ngct: Stub NGCT:U service
2021-08-28Garbage Collection: enable as default, eliminate option.Fernando Sahmkow
2021-08-28VideoCore: Rework Garbage Collection.Fernando Sahmkow
2021-08-27ngct: Stub NGCT:U servicegerman77
2021-08-27Revert "logging: Display backtrace on crash"Morph
2021-08-26Merge pull request #6870 from yzct12345/trace-back-stack-back-stack-backbunnei
logging: Display backtrace on crash
2021-08-24logging: Fix log filter during initializationameerj
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value. This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-22Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplacebunnei
logging: Simplify and make thread-safe
2021-08-21settings: Amend language_index maximum setting rangeMorph
The maximum is now 17 with the addition of Brazilian Portuguese
2021-08-19Merge pull request #6877 from MerryMage/dyn-ignore-assertsbunnei
dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTS
2021-08-16Merge pull request #6863 from spholz/fix-lan-playFernando S
Fix LAN Play
2021-08-15xbyak: Update include pathMerry
2021-08-13threadsafe_queue: Fix deadlockyzct12345
This fixes a lost wakeup in SPSCQueue. If the reader is in just the right position, the writer's notification will be lost and this will be a problem if the writer then does something to wait on the reader. This was discovered to affect my upcoming stacktrace PR. I don't think any performance decrease will be noticeable because an uncontended mutex is smart enough to skip the syscall. This PR might also resolve some rare deadlocks but I don't know of any examples.
2021-08-13logging: Display backtrace on crashyzct12345
This implements backtraces so we don't have to tell users how to use gdb anymore. This prints a backtrace after abort or segfault is detected. It also fixes the log getting cut off with the last line containing only a bracket. This change lets us know what caused a crash not just what happened the few seconds before it. I only know how to add support for Linux with GCC. Also this doesn't work outside of C/C++ such as in dynarmic or certain parts of graphics drivers. The good thing is that it'll try and just crash again but the stack frames are still there so the core dump will work just like before.
2021-08-13logging: Simplify and make thread-safeyzct12345
This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-12Merge branch 'yuzu-emu:master' into fix-lan-playspholz
2021-08-12configuration: add option to select network interfacespholz
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-08-11settings: Fix MSVC issueslat9nq
According to https://stackoverflow.com/questions/469508, we run into a MSVC bug (since VS 2005) when using diamond inheritance for RangedSetting. This explicitly implements those functions in RangedSetting. GetValue is implemented as just calling the inherited version. The explicit converson operator is reimplemented. I opted for this over ignoring the warning with a pragma since this specifies the inherited behavior, and I have now less faith in MSVC to pick the right one. In addition, we mark destructors as virtual to silence what I believe is a fair MSVC compilation error.
2021-08-10Merge pull request #6776 from lat9nq/ranged-settingsbunnei
settings: Implement settings ranges
2021-08-07Merge pull request #6827 from Morph1984/uuid-hashbunnei
common: uuid: Add hash function for UUID
2021-08-05Merge pull request #6822 from yzct12345/clion-assertbunnei
assert: Avoid empty macros
2021-08-06common: uuid: Add hash function for UUIDMorph
Used when UUID is a key in an unordered_map. The hash is produced by XORing the high and low 64-bits of the UUID together.
2021-08-05Merge pull request #6813 from Morph1984/hex-string-to-uuidbunnei
common: uuid: Add hex string to UUID constructor
2021-08-05assert: Verify formattingyzct12345
2021-08-05assert: Avoid empty macrosyzct12345
2021-08-04hex_util: Fix incorrect array size in AsArrayMorph
Although this isn't used, this is a potential bug as HexStringToArray will perform an out-of-bounds read.
2021-08-04common: uuid: Add hex string to UUID constructorMorph
This allows for easily converting a hex string into a Common::UUID, which is backed by a 128 bit unsigned integer.
2021-07-31settings: Use std::clamp where possiblelat9nq
Addresses PR review Co-authored-by: PixelyIon <pixelyion@protonmail.com>
2021-07-30settings: Remove unnecessary std::move usageslat9nq
Addresses review feedback. Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-07-30Merge pull request #6759 from ReinUsesLisp/pipeline-statisticsbunnei
renderer_vulkan: Add setting to log pipeline statistics
2021-07-30settings: Fix function virtualizationlat9nq
Fixes a theoretical scenario where a Setting is using the BasicSetting's GetValue function. In practice this probably only happens on yuzu-cmd, where there is no need for a Setting's additional features. Need to fix regardless.
2021-07-30settings: Implement setting rangeslat9nq
Clamps the setting's values against the specified minimum and maximum values.
2021-07-29Merge pull request #6742 from Morph1984/uuidbunnei
common: uuid: Return a lower-case hex string in Format
2021-07-28Merge pull request #6758 from jbeich/fastmembunnei
host_memory: enable fastmem on FreeBSD
2021-07-28Merge pull request #6700 from lat9nq/fullscreen-enumbunnei
general: Implement FullscreenMode enumeration
2021-07-27renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp
Use VK_KHR_pipeline_executable_properties when enabled and available to log statistics about the pipeline cache in a game. For example, this is on Turing GPUs when generating a pipeline cache from Super Smash Bros. Ultimate: Average pipeline statistics ========================================== Code size: 6433.167 Register count: 32.939 More advanced results could be presented, at the moment it's just an average of all 3D and compute pipelines.
2021-07-27host_memory: Add workaround for FreeBSD 12Jan Beich
src/common/host_memory.cpp:360:14: error: use of undeclared identifier 'memfd_create' fd = memfd_create("HostMemory", 0); ^
2021-07-27host_memory: Enable Linux implementation on FreeBSDJan Beich
HW.Memory <Critical> common/host_memory.cpp:HostMemory:492: Fastmem unavailable, falling back to VirtualBuffer for memory allocation
2021-07-27common: fs: fs_util: Add BufferToUTF8StringMorph
Allows for direct conversion to std::string without having to convert std::u8string to std::string
2021-07-26common: uuid: Return a lower-case hex string in FormatMorph
2021-07-26Merge pull request #6696 from ameerj/speed-limit-renamebunnei
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-25Merge pull request #6697 from ameerj/fps-capbunnei
config, nvflinger: Add FPS cap setting
2021-07-25Merge branch 'master' into fullscreen-enumlat9nq
2021-07-25Merge pull request #6585 from ameerj/hadesbunnei
Shader Decompiler Rewrite
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-23config, nvflinger: Add FPS cap settingameerj
Allows finer tuning of the FPS limit.
2021-07-23general: Implement FullscreenMode enumerationlat9nq
Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.