summaryrefslogtreecommitdiff
path: root/src/common/alignment.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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.
* common/alignment: Address feedbackGravatar ReinUsesLisp2019-06-241-2/+3
|
* 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).
* common: Add function for checking word alignment to alignment.hGravatar Lioncash2018-10-181-0/+6
| | | | | This will be used in a following change to svcArbitrateLock() and svcArbitrateUnlock()
* common: Move Is4KBAligned() to alignment.hGravatar Lioncash2018-10-181-0/+6
| | | | | Aligning on 4KB pages isn't a Switch-specific thing, so this can be moved to common so it can be used with other things as well.
* Port #4182 from Citra: "Prefix all size_t with std::"Gravatar fearlessTobi2018-09-151-2/+2
|
* common: Convert type traits templates over to variable template versions ↵Gravatar Lioncash2018-08-071-2/+2
| | | | | | where applicable Uses the C++17 inline variable variants
* PICA: Align vertex attributesGravatar Jannik Vogel2016-03-131-0/+22