Lioncash
32e7264142
common/scope_exit: Replace std::move with std::forward in ScopeExit()
...
The template type here is actually a forwarding reference, not an rvalue
reference in this case, so it's more appropriate to use std::forward to
preserve the value category of the type being moved.
2019-04-11 20:01:33 -04:00
bunnei
74386a009b
Merge pull request #2300 from FernandoS27/null-shader
...
shader_cache: Permit a Null Shader in case of a bad host_ptr.
2019-04-07 17:58:27 -04:00
bunnei
490390548a
Merge pull request #2098 from FreddyFunk/disk-cache-zstd
...
gl_shader_disk_cache: Use Zstandard for compression
2019-04-07 17:48:33 -04:00
Fernando Sahmkow
a576cd4a8c
Permit a Null Shader in case of a bad host_ptr.
2019-04-07 07:52:01 -04:00
Lioncash
f9eb4be37b
common/multi_level_queue: Silence truncation warning in iterator operator++
2019-04-05 15:35:46 -04:00
Lioncash
3b97777861
common/bit_util: Make CountLeading/CountTrailing functions have the same return types
...
Makes the return type consistently uniform (like the intrinsics we're
wrapping). This also conveniently silences a truncation warning within
the kernel multi_level_queue.
2019-04-05 15:29:40 -04:00
Lioncash
a04ced34de
common/lz4_compression: Remove #pragma once directive from the cpp file
...
Introduced within 96e14e0718
, this only
really has an effect within header files.
Silences a -Wpragma-once-outside-header warning with clang.
2019-04-03 22:07:04 -04:00
bunnei
c92c6f2d5b
Merge pull request #2093 from FreddyFunk/disk-cache-better-compression
...
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-03 21:50:29 -04:00
Lioncash
eb88e9d088
general: Use deducation guides for std::lock_guard and std::unique_lock
...
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
2019-04-01 12:53:47 -04:00
bunnei
31ffded374
Merge pull request #2303 from lioncash/thread
...
common/thread: Remove unused functions
2019-03-30 20:10:32 -04:00
Lioncash
3fe8582363
common/thread: Remove unused functions
...
Many of these functions are carried over from Dolphin (where they aren't
used anymore). Given these have no use (and we really shouldn't be
screwing around with OS-specific thread scheduler handling from the
emulator, these can be removed.
The function for setting the thread name is left, however, since it can
have debugging utility usages.
2019-03-29 13:26:21 -04:00
unknown
ef49a1b96e
common/zstd_compression: simplify decompression interface
2019-03-29 18:22:08 +01:00
unknown
2d755221e8
common/zstd_compression: Add Zstandard wrapper
2019-03-29 18:22:08 +01:00
unknown
8583ce229a
common: Link libzstd_static
2019-03-29 18:22:07 +01:00
unknown
27aac8d363
Addressed feedback
2019-03-29 18:12:42 +01:00
unknown
19f787cdea
gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files
2019-03-29 16:42:19 +01:00
unknown
96e14e0718
data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression
2019-03-29 16:42:19 +01:00
Fernando Sahmkow
1e7fd04059
Fixes and corrections on formatting.
2019-03-27 14:49:43 -04:00
Fernando Sahmkow
15307bc4d1
Fixes to multilevelqueue's iterator.
2019-03-27 14:34:33 -04:00
Fernando Sahmkow
19cec0236a
Use MultiLevelQueue instead of old ThreadQueueList
2019-03-27 14:34:32 -04:00
Fernando Sahmkow
10cedd8bd7
Implement intrinsics CountTrailingZeroes and test it.
2019-03-27 14:34:29 -04:00
Fernando Sahmkow
8c04ac69c5
Implement a MultiLevelQueue
2019-03-27 14:33:44 -04:00
bunnei
fabddcb962
Merge pull request #2256 from bunnei/gpu-vmm
...
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-22 18:41:12 -04:00
Lioncash
9d504a4f9b
common/bit_util: Fix bad merge duplicating the copy constructor
...
Introduced as a result of #2090 , we already define the copy constructor
further down below, so this isn't needed.
2019-03-20 23:48:37 -04:00
bunnei
2d7e3fe364
Merge pull request #2090 from FearlessTobi/port-4599
...
Port citra-emu/citra#4244 and citra-emu/citra#4599 : Changes to BitField
2019-03-20 23:44:20 -04:00
Lioncash
af52b092ef
common/uint128: Add missing header guard
2019-03-20 22:39:00 -04:00
Lioncash
b39d1b1beb
common/uint128: Add missing top-file source text
2019-03-20 22:38:25 -04:00
bunnei
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
2019-03-20 22:36:02 -04:00
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
2019-03-20 22:36:02 -04:00
Lioncash
67bf0f88c4
common/CMakeLists: Amend boost dependency
...
When #2247 was created, thread_queue_list.h was the only user of
boost-related code, however #2252 moved the page table struct into
common, which makes use of Boost.ICL, so we need to add the dependency
to the common library's link interface again.
2019-03-20 21:42:13 -04:00
bunnei
0653cfa1a9
Merge pull request #2247 from lioncash/include
...
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-20 21:34:12 -04:00
bunnei
5840ce2950
core: Move PageTable struct into Common.
2019-03-16 22:05:40 -04:00
bunnei
2ad9af464a
Merge pull request #2129 from FernandoS27/cntpct
...
Correct CNTPCT from using CPU Cycles to using Clock Cycles
2019-03-16 21:58:59 -04:00
Lioncash
58312f2968
common/thread_queue_list: Remove unnecessary dependency on boost
...
We really don't need to pull in several headers of boost related
machinery just to perform the erase-remove idiom (particularly with
C++20 around the corner, which adds universal container std::erase and
std::erase_if, which we can just use instead).
With this, we don't need to link in anything boost-related into common.
2019-03-16 05:01:39 -04:00
bunnei
11ac277646
Merge pull request #2147 from ReinUsesLisp/texture-clean
...
shader_ir: Remove "extras" from the MetaTexture
2019-03-10 17:28:36 -04:00
Lioncash
b20657a36f
common/bit_field: Make BitField trivially copyable
...
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.
Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).
While we're at it, provide defaulted move constructors for consistency.
2019-03-07 17:05:44 -05:00
Lioncash
40167af31d
logging/backend: Make time_origin a class variable instead of a local static
...
Moves local global state into the Impl class itself and initializes it
at the creation of the instance instead of in the function.
This makes it nicer for weakly-ordered architectures, given the
CreateEntry() class won't need to have atomic loads executed for each
individual call to the CreateEntry class.
2019-03-02 14:44:24 -05:00
Lioncash
e52dbaf998
logging/backend: Move CreateEntry into the Impl class
...
This function is only ever used within this source file and makes it
easier to remove static state in the following change.
2019-03-02 14:44:24 -05:00
Lioncash
e59ae7210a
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-02-27 03:38:39 -05:00
Lioncash
39eccc0286
common/vector_math: Move Vec[x] types into the Common namespace
...
These types are within the common library, so they should be using the
Common namespace.
2019-02-26 22:38:36 -05:00
Lioncash
63a8d9172f
common/quaternion: Move Quaternion into the Common namespace
...
Quaternion is within the common library, so it should be using the
Common namespace.
2019-02-26 22:31:17 -05:00
ReinUsesLisp
8a7efd22ec
shader/decode: Split memory and texture instructions decoding
2019-02-26 00:11:30 -03:00
tgsm
0db81dcf3b
Remove GCC version checks
...
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-24 15:24:06 +01:00
Fernando Sahmkow
f28935f37d
Corrections, documenting and fixes.
2019-02-16 16:52:24 -04:00
Fernando Sahmkow
435c39e867
Use u128 on Clock Cycles calculation.
2019-02-15 22:57:16 -04:00
Fernando Sahmkow
68927866e2
Implement 128 bits Unsigned Integer Multiplication and Division.
2019-02-15 22:55:31 -04:00
B3n30
b2636e4b03
Adressed review comments
2019-02-15 22:14:54 +01:00
B3n30
5334e20770
threadsafe_queue: Add WaitIfEmpty and use it in logging
2019-02-15 22:12:54 +01:00
bunnei
ec0b108910
Merge pull request #2113 from ReinUsesLisp/vulkan-base
...
vulkan: Add dependencies and device abstraction
2019-02-14 10:06:48 -05:00
fearlessTobi
8c9234f34c
Make bitfield assignment operator public
...
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.
The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2019-02-13 21:15:15 +01:00