summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-01-16Merge pull request #5262 from ReinUsesLisp/buffer-baseRodrigo Locatti
buffer_cache/buffer_base: Add a range tracking buffer container and tests
2021-01-16input_interpreter: Add method to check for a button press stateMorph
This allows to check for continuous input for the duration of a button press/hold
2021-01-15Merge pull request #5275 from FernandoS27/fast-native-clockbunnei
X86/NativeClock: Improve performance of clock calculations on hot path.
2021-01-15Merge pull request #5336 from lioncash/treebunnei
common/tree: Convert defines over to templates
2021-01-15Merge pull request #5297 from ReinUsesLisp/vulkan-allocator-commonRodrigo Locatti
vulkan_memory_allocator: Improvements to the memory allocator
2021-01-15Merge pull request #5358 from ReinUsesLisp/rename-insert-paddingLC
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15vulkan_memory_allocator: Remove unnecesary 'device' memory from commitsReinUsesLisp
2021-01-15vk_texture_cache: Use Download memory types for texture flushesReinUsesLisp
Use the Download memory type where it matters.
2021-01-15vulkan_memory_allocator: Add allocation support for download typesReinUsesLisp
Implements the allocator logic to handle download memory types. This will try to use HOST_CACHED_BIT when available.
2021-01-15vulkan_memory_allocator: Add "download" memory usage hintReinUsesLisp
Allow users of the allocator to hint memory usage for downloads. This removes the non-descriptive boolean passed for "host visible" or not host visible memory commits, and uses an enum to hint device local, upload and download usages.
2021-01-15vulkan_common: Move allocator to the common directoryReinUsesLisp
Allow using the abstraction from the OpenGL backend.
2021-01-15renderer_vulkan: Rename Vulkan memory manager to memory allocatorReinUsesLisp
"Memory manager" collides with the guest GPU memory manager, and a memory allocator sounds closer to what the abstraction aims to be.
2021-01-15vk_memory_manager: Improve memory manager and its APIReinUsesLisp
Fix a bug where the memory allocator could leave gaps between commits. To fix this the allocation algorithm was reworked, although it's still short in number of lines of code. Rework the allocation API to self-contained movable objects instead of naively using an unique_ptr to do the job for us. Remove the VK prefix.
2021-01-15Merge pull request #5355 from lioncash/timerbunnei
common/timer: Remove
2021-01-15Merge pull request #5357 from ReinUsesLisp/alignment-log2LC
common/alignment: Rename AlignBits to AlignUpLog2 and use constraints
2021-01-15common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash
Makes for less code that we need to maintain.
2021-01-15common/alignment: Upgrade to use constraints instead of static assertsReinUsesLisp
2021-01-15common/alignment: Rename AlignBits to AlignUpLog2ReinUsesLisp
AlignUpLog2 describes what the function does better than AlignBits.
2021-01-15common/timer: RemoveLioncash
This is a leftover from citra and dolphin that isn't used at all, particularly given the <chrono> header exists.
2021-01-15Merge pull request #5354 from ReinUsesLisp/remove-common-colorLC
common/color: Remove
2021-01-15Merge pull request #5352 from ReinUsesLisp/remove-testerLC
cmake: Remove yuzu_tester
2021-01-15common/color: RemoveReinUsesLisp
This is a leftover from Citra we no longer use.
2021-01-15core/cmake: Remove Werror flags already defined code-base wideReinUsesLisp
2021-01-15video_core/cmake: Remove Werror flags already defined code-base wideReinUsesLisp
These flags are already defined in src/cmake.
2021-01-15Merge pull request #5351 from ReinUsesLisp/vc-unused-functionsLC
cmake: Enforce -Wunused-function code-base wise
2021-01-15Merge pull request #5350 from ReinUsesLisp/vk-init-warnsRodrigo Locatti
vulkan_common: Silence missing initializer warnings
2021-01-15Merge pull request #5349 from ReinUsesLisp/anv-fixLC
vulkan_device: Enable shaderStorageImageMultisample conditionally
2021-01-15cmake: Remove yuzu_testerReinUsesLisp
We never ended up using yuzu_tester. Removing it saves code duplication with yuzu_cmd, and distribution size on prebuilt packages. For unit testing, we can use catch2 from guest code and dump the results to a file. Then execute yuzu from a script on ci if we want this to be automated.
2021-01-15cmake: Enforce -Wunused-function code-base wideReinUsesLisp
2021-01-15video_core: Enforce -Wunused-functionReinUsesLisp
Stops us from merging code with unused functions in the future. If something is invoked behind conditionally evaluated code in a way that the language can't see it (e.g. preprocessor macros), the potentially unused function should use [[maybe_unused]].
2021-01-15vk_buffer_cache: Remove unused functionReinUsesLisp
2021-01-15vulkan_common: Silence missing initializer warningsReinUsesLisp
Silence warnings explicitly initializing all members on construction.
2021-01-15vulkan_device: Enable shaderStorageImageMultisample conditionallyReinUsesLisp
Fix Vulkan initialization on ANV.
2021-01-15astc: Increase integer encoded vector sizeReinUsesLisp
Invalid ASTC textures seem to write more bytes here, increase the size to something that can't make us push out of bounds.
2021-01-15astc: Return zero on out of bound bitsReinUsesLisp
Avoid out of bound reads on invalid ASTC textures. Games can bind invalid textures that make us read or write out of bounds.
2021-01-14yuzu: Remove unused variables in Qt codeLioncash
Removes two unused variables in out Qt code. In this case the removal of these two results in less allocations, given std::map allocates on the heap.
2021-01-14Merge pull request #5343 from lioncash/qt6Morph
configure_motion_touch: Migrate off QRegExp to QRegularExpression
2021-01-13configure_motion_touch: Prevent use after move in ApplyConfiguration()Lioncash
touch_engine was being compared against after being moved into the setter for the engine, so this comparison wouldn't behave properly.
2021-01-13configure_motion_touch: Migrate off QRegExp to QRegularExpressionLioncash
QRegularExpression was introduced in Qt 5 as a better replacement for QRegExp. In Qt 6.0 QRegExp is removed entirely. To remain forward compatible with Qt 6.0, we can transition over to using QRegularExpression.
2021-01-13Merge pull request #5330 from german77/regexerrorLC
Fix IP validator error
2021-01-13Merge pull request #5342 from lioncash/qt6bunnei
yuzu: Migrate off of setMargin() to setContentsMargins()
2021-01-13Fix IP validator error where the last octet produced an error if the value ↵german
was higher than 199
2021-01-13yuzu: Migrate off of setMargin() to setContentsMargins()Lioncash
setMargin() has been deprecated since Qt 5, and replaced with setContentsMargins(). We can move over to setContentsMargins() to stay forward-compatible with Qt 6.0.
2021-01-13vulkan_device: Remove requirement on shaderStorageImageMultisampleReinUsesLisp
yuzu doesn't currently emulate MS image stores. Requiring this makes no sense for now. Fixes ANV not booting any games on Vulkan.
2021-01-13tests: Add unit tests for the GPU range tracking buffer containerReinUsesLisp
Due to how error prone the container design is, this commit adds unit tests for it. Some tests taken from here are based on bugs from using this buffer container in games, so if we ever break it in the future in a way that might harm games, the tests should fail.
2021-01-13buffer_cache/buffer_base: Add a range tracking buffer containerReinUsesLisp
It keeps track of the modified CPU and GPU ranges on a CPU page granularity, notifying the given rasterizer about state changes in the tracking behavior of the buffer. Use a small vector optimization to store buffers smaller than 256 KiB locally instead of using free store memory allocations.
2021-01-13cmake: Enforce -Werror=switch and -Werror=unused-variableMorph
2021-01-12Merge pull request #5280 from FearlessTobi/port-5666bunnei
Port citra-emu/citra#5666: "Rotate previous log file to "citra_log.txt.old""
2021-01-12Merge pull request #5311 from ReinUsesLisp/fence-waitbunnei
vk_fence_manager: Use timeline semaphores instead of spin waits