summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2019-04-07Merge pull request #2300 from FernandoS27/null-shaderbunnei
shader_cache: Permit a Null Shader in case of a bad host_ptr.
2019-04-07Merge pull request #2098 from FreddyFunk/disk-cache-zstdbunnei
gl_shader_disk_cache: Use Zstandard for compression
2019-04-07Permit a Null Shader in case of a bad host_ptr.Fernando Sahmkow
2019-04-05common/multi_level_queue: Silence truncation warning in iterator operator++Lioncash
2019-04-05common/bit_util: Make CountLeading/CountTrailing functions have the same ↵Lioncash
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-03common/lz4_compression: Remove #pragma once directive from the cpp fileLioncash
Introduced within 798d76f4c7018174e58702fb06a042dc8c84f0be, this only really has an effect within header files. Silences a -Wpragma-once-outside-header warning with clang.
2019-04-03Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionbunnei
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash
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-03-30Merge pull request #2303 from lioncash/threadbunnei
common/thread: Remove unused functions
2019-03-29common/thread: Remove unused functionsLioncash
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-29common/zstd_compression: simplify decompression interfaceunknown
2019-03-29common/zstd_compression: Add Zstandard wrapperunknown
2019-03-29common: Link libzstd_staticunknown
2019-03-29Addressed feedbackunknown
2019-03-29gl_shader_disk_cache: Use better compression for transferable and ↵unknown
precompiled shader disk chache files
2019-03-29data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache ↵unknown
to common/data_compression
2019-03-27Fixes and corrections on formatting.Fernando Sahmkow
2019-03-27Fixes to multilevelqueue's iterator.Fernando Sahmkow
2019-03-27Use MultiLevelQueue instead of old ThreadQueueListFernando Sahmkow
2019-03-27Implement intrinsics CountTrailingZeroes and test it.Fernando Sahmkow
2019-03-27Implement a MultiLevelQueueFernando Sahmkow
2019-03-22Merge pull request #2256 from bunnei/gpu-vmmbunnei
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-20common/bit_util: Fix bad merge duplicating the copy constructorLioncash
Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
2019-03-20Merge pull request #2090 from FearlessTobi/port-4599bunnei
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
2019-03-20common/uint128: Add missing header guardLioncash
2019-03-20common/uint128: Add missing top-file source textLioncash
2019-03-20gpu: Rewrite virtual memory manager using PageTable.bunnei
2019-03-20gpu: Move GPUVAddr definition to common_types.bunnei
2019-03-20common/CMakeLists: Amend boost dependencyLioncash
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-20Merge pull request #2247 from lioncash/includebunnei
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-16core: Move PageTable struct into Common.bunnei
2019-03-16Merge pull request #2129 from FernandoS27/cntpctbunnei
Correct CNTPCT from using CPU Cycles to using Clock Cycles
2019-03-16common/thread_queue_list: Remove unnecessary dependency on boostLioncash
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-10Merge pull request #2147 from ReinUsesLisp/texture-cleanbunnei
shader_ir: Remove "extras" from the MetaTexture
2019-03-07common/bit_field: Make BitField trivially copyableLioncash
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-02logging/backend: Make time_origin a class variable instead of a local staticLioncash
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-02logging/backend: Move CreateEntry into the Impl classLioncash
This function is only ever used within this source file and makes it easier to remove static state in the following change.
2019-02-27common/math_util: Move contents into the Common namespaceLioncash
These types are within the common library, so they should be within the Common namespace.
2019-02-26common/vector_math: Move Vec[x] types into the Common namespaceLioncash
These types are within the common library, so they should be using the Common namespace.
2019-02-26common/quaternion: Move Quaternion into the Common namespaceLioncash
Quaternion is within the common library, so it should be using the Common namespace.
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp
2019-02-24Remove GCC version checkstgsm
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-16Corrections, documenting and fixes.Fernando Sahmkow
2019-02-15Use u128 on Clock Cycles calculation.Fernando Sahmkow
2019-02-15Implement 128 bits Unsigned Integer Multiplication and Division.Fernando Sahmkow
2019-02-15Adressed review commentsB3n30
2019-02-15threadsafe_queue: Add WaitIfEmpty and use it in loggingB3n30
2019-02-14Merge pull request #2113 from ReinUsesLisp/vulkan-basebunnei
vulkan: Add dependencies and device abstraction
2019-02-13Make bitfield assignment operator publicfearlessTobi
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-12threadsafe_queue: Use std::size_t for representing sizeLioncash
Makes it consistent with the regular standard containers in terms of size representation. This also gets rid of dependence on our own type aliases, removing the need for an include.