bunnei
954384a84a
common: Add implementation of TinyMT (Mersenne Twister RNG).
2021-02-18 16:16:24 -08:00
bunnei
c5df99ea2f
common: alignment: Add DivideUp utility method.
2021-02-18 16:16:24 -08:00
ReinUsesLisp
a02cc7e039
common/cityhash: Use common types
...
Allow sharing return types with the rest of the code base. For example,
we use 'u128 = std::array<u64, 2>', meanwhile Google's code uses
'uint128 = std::pair<u64, u64>'.
While we are at it, use size_t instead of std::size_t.
2021-02-18 00:45:17 -03:00
bunnei
a8fbe6493e
common: wall_clock: Optimize GetClockCycles/GetCPUCycles to use a single MUL instruction.
2021-02-15 14:51:43 -08:00
bunnei
e6f71e15a1
common: Merge uint128 to a single header file with inlines.
2021-02-15 14:46:04 -08:00
lat9nq
19dad3e319
common: Add -fsized-deallocation as a Clang flag
...
Prevents an operator delete error when compiling with Clang 11.
2021-02-09 21:28:33 -05:00
Morph
1b1866e7ee
string_util: Remove MSVC workaround for converting between UTF8/UTF16
...
This has been fixed as of Visual Studio 2019 Version 16.2
2021-02-08 02:56:07 -05:00
bunnei
1c784618b5
Merge pull request #5885 from MerryMage/ring_buffer-granularity
...
ring_buffer: Remove granularity template argument
2021-02-06 13:18:41 -08:00
MerryMage
46ea7034cc
ring_buffer: Remove granularity template argument
...
Non-obvious bug in RingBuffer::Push(std::vector<T>&) when granularity != 1
Just remove it altogether because we do not have a use for granularity != 1
2021-02-06 19:16:00 +00:00
bunnei
7126a200c4
hle: kernel: Drop R_UNLESS_NOLOG in favor of expanded if-statement.
2021-02-05 14:03:36 -08:00
bunnei
559c505126
common: scope_exit: Add a cancellable ScopeExit macro.
2021-02-05 14:03:36 -08:00
bunnei
b4b968b9c4
common: common_funcs: Add R_UNLESS_NOLOG for scenarios that should not log.
2021-02-05 14:00:36 -08:00
bunnei
4bb6de297f
common: common_funcs: Change R_UNLESS to LOG_ERROR.
2021-01-28 21:51:16 -08:00
bunnei
d685f12dbc
common: common_funcs: Log error on R_UNLESS.
2021-01-28 21:42:26 -08:00
bunnei
7351708eea
common: common_funcs: Add useful kernel macro R_SUCCEED_IF.
2021-01-28 21:42:26 -08:00
bunnei
39987beb17
common: common_funcs: Add a few more useful macros for kernel code.
2021-01-28 21:42:25 -08:00
bunnei
dc5a3313a1
Merge pull request #5778 from ReinUsesLisp/shader-dir
...
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
2021-01-27 11:34:21 -08:00
bunnei
16a6a7f9d9
common: Add missing include to bit_util.h
2021-01-21 15:30:28 -08:00
Lioncash
1b0b7e4873
bit_util: Unify implementations of MostSignificantBit32/MostSignificantBit64
...
We can use the standardized CLZ facilities to perform this. This also
allows us to make utilizing functions constexpr and eliminate the
inclusion of an intrinsics header.
2021-01-21 04:07:58 -05:00
ReinUsesLisp
5f0b72553b
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
...
Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to
be in yuzu's user directory to stop commonly distributed malware from
deleting our driver shader cache. And by setting
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader
cache size.
This has only been implemented on Windows, mostly because previous tests
didn't seem to work on Linux.
Disable the precompiled cache on Nvidia's driver. There's no need to
hide information the driver already has in its own cache.
2021-01-21 00:41:03 -03:00
bunnei
2783c5b69e
Merge pull request #5360 from ReinUsesLisp/enforce-memclass-access
...
core: Silence Wclass-memaccess warnings and enforce it
2021-01-17 00:55:10 -08:00
bunnei
74cee15619
Merge pull request #5275 from FernandoS27/fast-native-clock
...
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-15 23:01:42 -08:00
bunnei
1914ab2be9
Merge pull request #5336 from lioncash/tree
...
common/tree: Convert defines over to templates
2021-01-15 21:46:25 -08:00
LC
d9a8238acb
Merge pull request #5358 from ReinUsesLisp/rename-insert-padding
...
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15 16:19:46 -05:00
ReinUsesLisp
4854f3291e
core: Silence Wclass-memaccess warnings
...
This requires making several types trivial and properly initialize
them whenever they are called.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
92ca4929f5
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
...
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15 16:27:28 -03:00
bunnei
9590588b9b
Merge pull request #5355 from lioncash/timer
...
common/timer: Remove
2021-01-15 09:42:33 -08:00
LC
4df2d09468
Merge pull request #5357 from ReinUsesLisp/alignment-log2
...
common/alignment: Rename AlignBits to AlignUpLog2 and use constraints
2021-01-15 03:12:36 -05:00
Lioncash
d5bff783bd
common/bit_util: Replace CLZ/CTZ operations with standardized ones
...
Makes for less code that we need to maintain.
2021-01-15 02:15:32 -05:00
ReinUsesLisp
14ba0b1e68
common/alignment: Upgrade to use constraints instead of static asserts
2021-01-15 04:13:39 -03:00
ReinUsesLisp
4e4056f581
common/alignment: Rename AlignBits to AlignUpLog2
...
AlignUpLog2 describes what the function does better than AlignBits.
2021-01-15 04:13:33 -03:00
Lioncash
d8771fb857
common/timer: Remove
...
This is a leftover from citra and dolphin that isn't used at all,
particularly given the <chrono> header exists.
2021-01-15 01:55:33 -05:00
ReinUsesLisp
a815988d5c
common/color: Remove
...
This is a leftover from Citra we no longer use.
2021-01-15 03:47:43 -03:00
bunnei
b824301b69
Merge pull request #5280 from FearlessTobi/port-5666
...
Port citra-emu/citra#5666 : "Rotate previous log file to "citra_log.txt.old""
2021-01-12 22:16:57 -08:00
Lioncash
d11b3ebfc4
common/tree: Convert defines over to templates
...
Reworks the tree header to operate off of templates as opposed to a
series of defines.
This allows all tree facilities to obey namespacing rules, and also
allows this code to be used within modules once compiler support is in
place.
This also gets rid to use a macro to define functions and structs for
necessary data types. With templates, these will be generated when
they're actually used, eliminating the need for the separate
declaration.
2021-01-12 16:46:36 -05:00
Lioncash
17044f999a
common/tree: Remove unused splay tree defines
...
Makes for less code to take care of.
2021-01-12 02:32:41 -05:00
Lioncash
6d1212fdb9
common/parent_of_member: Replace TYPED_STORAGE define with template alias
...
Provides the same construct, but makes it obey namespacing.
2021-01-11 18:26:04 -05:00
bunnei
bf73b6ed86
common: common_funcs: Add R_UNLESS macro.
2021-01-11 14:23:16 -08:00
bunnei
eeb0493b5d
common: Introduce useful tree structures.
2021-01-11 14:23:16 -08:00
ReinUsesLisp
7e3b53c5be
common/div_ceil: Return numerator type
...
Fixes instances where DivCeil(u32, u64) would surprisingly return u64,
instead of the more natural u32.
2021-01-09 03:16:10 -03:00
FearlessTobi
ae1899577f
Address review comments
2021-01-04 04:36:50 +01:00
xperia64
34bacedd1a
Delete the old log file before rotating ( #5675 )
2021-01-04 04:33:34 +01:00
bunnei
a8aea907f4
Fix the old log file to work with the log parser.
2021-01-03 01:44:52 +01:00
xperia64
1c775a3f66
Rotate previous log file to '.old' if it exists
2021-01-03 01:44:42 +01:00
Morph
23413c0d44
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
Fernando Sahmkow
659fb51dd9
X86/NativeClock: Reimplement RTDSC access to be lock free.
2021-01-02 04:00:27 +01:00
Fernando Sahmkow
50dd9a423a
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-02 00:43:47 +01:00
MerryMage
e3490b55c1
memory: Remove MemoryHook
2021-01-01 11:34:38 +00:00
bunnei
f1195d12cc
Merge pull request #5249 from ReinUsesLisp/lock-free-pages
...
core/memory: Read and write page table atomically
2021-01-01 02:54:01 -08:00
bunnei
41e8f75c82
Merge pull request #5208 from bunnei/service-threads
...
Service threads
2020-12-30 22:06:05 -08:00