summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader/transform_feedback: Add host API friendly TFB builderGravatar ReinUsesLisp2020-03-131-0/+2
|
* video_core: Rename "const buffer locker" to "registry"Gravatar ReinUsesLisp2020-03-091-2/+2
|
* gl_shader_cache: Rework shader cache and remove post-specializationsGravatar ReinUsesLisp2020-03-091-2/+0
| | | | | Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
* common/math_util: Support float type rectanglesGravatar ReinUsesLisp2020-02-281-2/+14
|
* Merge pull request #3326 from FearlessTobi/port-5039Gravatar bunnei2020-01-244-36/+23
|\ | | | | Port citra-emu/citra#5039: "common/logging: don't use regex for path trimming"
| * common/logging: don't use regex for path trimmingGravatar BreadFish642020-01-234-36/+23
| |
* | Address second part of review commentsGravatar FearlessTobi2020-01-231-1/+1
| |
* | Input: UDP Client to provide motion and touch controlsGravatar fearlessTobi2020-01-231-0/+9
|/ | | | | | | | An implementation of the cemuhook motion/touch protocol, this adds the ability for users to connect several different devices to citra to send direct motion and touch data to citra. Co-Authored-By: jroweboy <jroweboy@gmail.com>
* Remove unused CPU Vendor string and telemtry fieldGravatar James Rowe2020-01-173-114/+0
| | | | The information is duplicated in the brand string and the telemetry field is unused
* Fix git version in scm_rev.cppGravatar James Rowe2020-01-161-0/+5
|
* common: SPSCQueue: Notify after incrementing queue size.Gravatar bunnei2019-12-161-2/+9
|
* fix clang-format and lambda captureGravatar Weiyi Wang2019-11-231-1/+2
|
* unfold UNREACHABLE implementation for dumb compilersGravatar Weiyi Wang2019-11-231-2/+2
| | | We relies on UNREACHABLE's noreturn attribute to eliminate parent's "no return value" warning. However, this was wrapped in a `if(!false)` block, which compilers may not unfold to recognize the noreturn nature.
* common/logging: Silence no return value warningsGravatar ReinUsesLisp2019-11-151-2/+6
|
* common_funcs: Remove semicolons from INSERT_PADDING_* macrosGravatar Lioncash2019-11-141-4/+6
| | | | | Makes code that uses the macros consistent by requiring the lines to be terminated with a semicolon.
* common/hash: Remove unused HashableStructGravatar Lioncash2019-11-131-35/+0
| | | | | This is unused, so it can be removed. There's better ways of ensuring zeroed out padding bits, like using zero-initialization, anyhow.
* common_funcs: silence sign-conversion warnings in MakeMagic()Gravatar Lioncash2019-11-131-1/+1
| | | | | We can trivially resolve these by casting the characters to unsigned values and then shifting the bits.
* ci: Populate build repository from Azure environmentGravatar Zach Hilman2019-11-051-11/+2
|
* common_func: Use std::array for INSERT_PADDING_* macros.Gravatar bunnei2019-11-032-12/+17
| | | | - Zero initialization here is useful for determinism.
* common/bit_field: Remove FORCE_INLINE calls Gravatar Tobias2019-11-031-2/+2
| | | | See bunneis comment here https://github.com/citra-emu/citra/pull/4629#discussion_r258533167. They were supposed to be removed by him, but he missed them.
* Merge pull request #2971 from FernandoS27/new-scheduler-v2Gravatar David2019-10-281-0/+7
|\ | | | | Kernel: Implement a New Thread Scheduler V2
| * Kernel Scheduler: Make sure the global scheduler shutdowns correctly.Gravatar Fernando Sahmkow2019-10-151-0/+7
| |
* | Shader_IR: Address Feedback.Gravatar Fernando Sahmkow2019-10-261-1/+1
| |
* | VideoCore: Unify const buffer accessing along engines and provide ↵Gravatar Fernando Sahmkow2019-10-252-2/+15
| | | | | | | | ConstBufferLocker class to shaders.
* | common/algorithm: Add description comment indicating intended algorithmsGravatar Lioncash2019-10-151-0/+5
| | | | | | | | | | Makes it explicit that the header is intended for iterator-based algorithms that can ideally operate on any type.
* | common: Rename binary_find.h to algorithm.hGravatar Lioncash2019-10-152-1/+2
|/ | | | | | Makes the header more general for other potential algorithms in the future. While we're at it, include a missing <functional> include to satisfy the use of std::less.
* alignment: Resolve allocator construction issues on debugGravatar Lioncash2019-10-061-0/+5
| | | | | | | | | | | This was related to the source allocator being passed into the constructor potentially having a different type than allocator being constructed. We simply need to provide a constructor to handle this case. This resolves issues related to the allocator causing debug builds on MSVC to fail.
* alignment: Specify trait definitions within the allocatorGravatar Lioncash2019-10-061-0/+5
| | | | | Allows containers and other data structures to consider optimizations based off of them. We satisfy all of these requirements anyways.
* Merge pull request #2942 from ReinUsesLisp/clang-warningsGravatar bunnei2019-10-051-1/+2
|\ | | | | Silence miscellaneous warnings
| * common/file_util: Silence -WswitchGravatar ReinUsesLisp2019-10-041-1/+2
| |
* | Merge pull request #2943 from DarkLordZach/azure-titlebars-v2Gravatar bunnei2019-10-053-0/+21
|\ \ | | | | | | ci: Add custom titlebars for mainline and patreon
| * | common: Add additional SCM revision fieldsGravatar Zach Hilman2019-10-053-0/+21
| |/
* | Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Gravatar Fernando Sahmkow2019-10-041-0/+2
| | | | | | | | modes.
* | shader_ir: Corrections to outward movements and misc stuffsGravatar Fernando Sahmkow2019-10-041-0/+4
|/
* cmake: Add SCM detection for AzureGravatar Zach Hilman2019-09-221-0/+3
|
* log: Add logging class for Cheat EngineGravatar Zach Hilman2019-09-212-0/+2
| | | This is better than just using something like Common.Filesystem or Common.Memory
* shader_ir: Implement VOTEGravatar ReinUsesLisp2019-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement VOTE using Nvidia's intrinsics. Documentation about these can be found here https://developer.nvidia.com/reading-between-threads-shader-intrinsics Instead of using portable ARB instructions I opted to use Nvidia intrinsics because these are the closest we have to how Tegra X1 hardware renders. To stub VOTE on non-Nvidia drivers (including nouveau) this commit simulates a GPU with a warp size of one, returning what is meaningful for the instruction being emulated: * anyThreadNV(value) -> value * allThreadsNV(value) -> value * allThreadsEqualNV(value) -> true ballotARB, also known as "uint64_t(activeThreadsNV())", emits VOTE.ANY Rd, PT, PT; on nouveau's compiler. This doesn't match exactly to Nvidia's code VOTE.ALL Rd, PT, PT; Which is emulated with activeThreadsNV() by this commit. In theory this shouldn't really matter since .ANY, .ALL and .EQ affect the predicates (set to PT on those cases) and not the registers.
* Common/Alignment: Add noexcept where required.Gravatar Fernando Sahmkow2019-07-191-5/+5
|
* Kernel: Address FeedbackGravatar Fernando Sahmkow2019-07-191-3/+2
|
* Common: Correct alignment allocator to work on C++14 or higher.Gravatar Fernando Sahmkow2019-07-191-37/+19
|
* VM_Manager: Align allocated memory to 256bytesGravatar Fernando Sahmkow2019-07-191-0/+79
| | | | | | This commit ensures that all backing memory allocated for the Guest CPU is aligned to 256 bytes. This due to how gpu memory works and the heavy constraints it has in the alignment of physical memory.
* shader_ir: Implement a new shader scannerGravatar Fernando Sahmkow2019-07-091-0/+2
|
* texture_cache: Address FeedbackGravatar Fernando Sahmkow2019-07-053-10/+22
|
* common/alignment: Address feedbackGravatar ReinUsesLisp2019-06-241-2/+3
|
* shader: Decode SUST and implement backing image functionalityGravatar ReinUsesLisp2019-06-201-0/+1
|
* texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepthGravatar Fernando Sahmkow2019-06-201-0/+44
|
* video_core: Use un-shifted block sizes to avoid integer divisionsGravatar ReinUsesLisp2019-06-201-0/+5
| | | | | | | | | | | | Instead of storing all block width, height and depths in their shifted form: block_width = 1U << block_shift; Store them like they are provided by the emulated hardware (their block_shift form). This way we can avoid doing the costly Common::AlignUp operation to align texture sizes and drop CPU integer divisions with bitwise logic (defined in Common::AlignBits).
* Reduce amount of size calculations.Gravatar Fernando Sahmkow2019-06-201-0/+11
|
* common/hex_util: Reserve std::string memory ahead of timeGravatar Lioncash2019-06-121-0/+5
| | | | | | | | Avoids potentially performing multiple reallocations (depending on the size of the input data) by reserving the necessary amount of memory ahead of time. This is trivially doable, so there's no harm in it.
* common/hex_util: Combine HexVectorToString() and HexArrayToString()Gravatar Lioncash2019-06-122-11/+7
| | | | | | These can be generified together by using a concept type to designate them. This also has the benefit of not making copies of potentially very large arrays.