summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* common/lz4_compression: Remove #pragma once directive from the cpp fileGravatar Lioncash2019-04-031-2/+0
| | | | | | | Introduced within 798d76f4c7018174e58702fb06a042dc8c84f0be, this only really has an effect within header files. Silences a -Wpragma-once-outside-header warning with clang.
* Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionGravatar bunnei2019-04-033-0/+136
|\ | | | | Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
| * Addressed feedbackGravatar unknown2019-03-295-81/+135
| |
| * gl_shader_disk_cache: Use better compression for transferable and ↵Gravatar unknown2019-03-292-8/+24
| | | | | | | | precompiled shader disk chache files
| * data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache ↵Gravatar unknown2019-03-293-0/+66
| | | | | | | | to common/data_compression
* | general: Use deducation guides for std::lock_guard and std::unique_lockGravatar Lioncash2019-04-014-14/+14
| | | | | | | | | | | | | | 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.
* | Merge pull request #2303 from lioncash/threadGravatar bunnei2019-03-302-41/+0
|\ \ | |/ |/| common/thread: Remove unused functions
| * common/thread: Remove unused functionsGravatar Lioncash2019-03-292-41/+0
| | | | | | | | | | | | | | | | | | | | 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.
* | Fixes and corrections on formatting.Gravatar Fernando Sahmkow2019-03-272-5/+10
| |
* | Fixes to multilevelqueue's iterator.Gravatar Fernando Sahmkow2019-03-271-1/+5
| |
* | Use MultiLevelQueue instead of old ThreadQueueListGravatar Fernando Sahmkow2019-03-271-12/+10
| |
* | Implement intrinsics CountTrailingZeroes and test it.Gravatar Fernando Sahmkow2019-03-271-12/+33
| |
* | Implement a MultiLevelQueueGravatar Fernando Sahmkow2019-03-273-0/+349
|/
* Merge pull request #2256 from bunnei/gpu-vmmGravatar bunnei2019-03-223-5/+10
|\ | | | | gpu: Rewrite MemoryManager based on the VMManager implementation.
| * gpu: Rewrite virtual memory manager using PageTable.Gravatar bunnei2019-03-202-1/+7
| |
| * gpu: Move GPUVAddr definition to common_types.Gravatar bunnei2019-03-201-4/+3
| |
* | common/bit_util: Fix bad merge duplicating the copy constructorGravatar Lioncash2019-03-201-2/+0
| | | | | | | | | | Introduced as a result of #2090, we already define the copy constructor further down below, so this isn't needed.
* | Merge pull request #2090 from FearlessTobi/port-4599Gravatar bunnei2019-03-202-38/+150
|\ \ | | | | | | Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
| * | Make bitfield assignment operator publicGravatar fearlessTobi2019-02-131-6/+2
| | | | | | | | | | | | | | | | | | 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
| * | common/bitfield: make it endianness-awareGravatar Weiyi Wang2019-02-061-3/+9
| | |
| * | common/swap: remove default value for swap type internal storageGravatar Weiyi Wang2019-02-061-1/+1
| | | | | | | | | | | | This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer
| * | common/swap: use template and tag for LE/BE specificationGravatar Weiyi Wang2019-02-061-39/+91
| | | | | | | | | | | | The tag can be useful for other type-generic templates like BitFields to forward the endianness specification
| * | common/swap: add swap template for enumGravatar Weiyi Wang2019-02-061-0/+52
| | |
* | | common/uint128: Add missing header guardGravatar Lioncash2019-03-201-0/+2
| | |
* | | common/uint128: Add missing top-file source textGravatar Lioncash2019-03-202-0/+7
| |/ |/|
* | common/CMakeLists: Amend boost dependencyGravatar Lioncash2019-03-201-1/+1
| | | | | | | | | | | | | | 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.
* | Merge pull request #2247 from lioncash/includeGravatar bunnei2019-03-202-4/+4
|\ \ | | | | | | common/thread_queue_list: Remove unnecessary dependency on boost
| * | common/thread_queue_list: Remove unnecessary dependency on boostGravatar Lioncash2019-03-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | core: Move PageTable struct into Common.Gravatar bunnei2019-03-165-0/+171
| | |
* | | Merge pull request #2129 from FernandoS27/cntpctGravatar bunnei2019-03-163-0/+57
|\ \ \ | |/ / |/| | Correct CNTPCT from using CPU Cycles to using Clock Cycles
| * | Corrections, documenting and fixes.Gravatar Fernando Sahmkow2019-02-162-9/+11
| | |
| * | Use u128 on Clock Cycles calculation.Gravatar Fernando Sahmkow2019-02-152-21/+26
| | |
| * | Implement 128 bits Unsigned Integer Multiplication and Division.Gravatar Fernando Sahmkow2019-02-153-0/+50
| | |
* | | Merge pull request #2147 from ReinUsesLisp/texture-cleanGravatar bunnei2019-03-101-0/+1
|\ \ \ | | | | | | | | shader_ir: Remove "extras" from the MetaTexture
| * | | shader/decode: Split memory and texture instructions decodingGravatar ReinUsesLisp2019-02-261-0/+1
| | | |
* | | | common/bit_field: Make BitField trivially copyableGravatar Lioncash2019-03-071-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | logging/backend: Make time_origin a class variable instead of a local staticGravatar Lioncash2019-03-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | logging/backend: Move CreateEntry into the Impl classGravatar Lioncash2019-03-022-29/+26
| | | | | | | | | | | | | | | | | | | | This function is only ever used within this source file and makes it easier to remove static state in the following change.
* | | | common/math_util: Move contents into the Common namespaceGravatar Lioncash2019-02-271-2/+2
| | | | | | | | | | | | | | | | | | | | These types are within the common library, so they should be within the Common namespace.
* | | | common/vector_math: Move Vec[x] types into the Common namespaceGravatar Lioncash2019-02-263-25/+25
| | | | | | | | | | | | | | | | | | | | These types are within the common library, so they should be using the Common namespace.
* | | | common/quaternion: Move Quaternion into the Common namespaceGravatar Lioncash2019-02-261-2/+2
|/ / / | | | | | | | | | | | | Quaternion is within the common library, so it should be using the Common namespace.
* | | Remove GCC version checksGravatar tgsm2019-02-241-3/+3
| | | | | | | | | | | | Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
* | | Adressed review commentsGravatar B3n302019-02-152-7/+9
| | |
* | | threadsafe_queue: Add WaitIfEmpty and use it in loggingGravatar B3n302019-02-153-14/+26
|/ /
* | Merge pull request #2113 from ReinUsesLisp/vulkan-baseGravatar bunnei2019-02-142-0/+2
|\ \ | | | | | | vulkan: Add dependencies and device abstraction
| * | logging: Add Vulkan backend logging class typeGravatar ReinUsesLisp2019-02-122-0/+2
| | |
* | | threadsafe_queue: Use std::size_t for representing sizeGravatar Lioncash2019-02-121-7/+6
| | | | | | | | | | | | | | | | | | 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.
* | | threadsafe_queue: Remove NeedSize template parameterGravatar Lioncash2019-02-121-13/+11
|/ / | | | | | | | | | | The necessity of this parameter is dubious at best, and in 2019 probably offers completely negligible savings as opposed to just leaving this enabled. This removes it and simplifies the overall interface.
* | cmake: Fix title bar issueGravatar ReinUsesLisp2019-02-061-1/+14
| |
* | cmake: Use CMAKE_COMMAND instead of "cmake"Gravatar Frederic L2019-02-061-1/+1
| | | | | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>