aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-01-01Merge pull request #5249 from ReinUsesLisp/lock-free-pagesbunnei
core/memory: Read and write page table atomically
2020-12-31yuzu/main: fix mouse not showing on move and port citra-emu/citra#5476gal20
2020-12-31main: Make the loader error dialog fully translatableLioncash
Makes the dialog fully localizable and also adds disambiguation comments to help translators understand what the formatting specifiers indicate.
2020-12-31main: Tidy up enum comparisonLioncash
enum classes are comparable with one another, so these casts aren't necessary.
2020-12-31Merge pull request #5264 from 16-Bit-Dog/patch-1bunnei
Make the coding conventions more consistant
2020-12-30Merge pull request #5265 from german77/port5509bunnei
Port citra-emu/citra#5509 "Look at direction of analog axis travel instead of instantaneous sample"
2020-12-30Merge pull request #5208 from bunnei/service-threadsbunnei
Service threads
2020-12-31vulkan_instance: Allow different Vulkan versions and enforce 1.1ReinUsesLisp
For listing the available physical devices we can use Vulkan 1.0. Now that MoltenVK supports 1.1 we can require it for running games. Add missing documentation.
2020-12-31vk_device: Use an array to report lacking device limitsReinUsesLisp
This makes easier to add and tune the required device limits.
2020-12-31vk_device: Stop initialization when device is not suitableReinUsesLisp
VKDevice::IsSuitable was not being called. To address this issue, check suitability before initialization and throw an exception if it fails. By doing this, we can deduplicate some code on queue searches. Previosuly we would first search if a present and graphics queue existed, then on initialization we would search again to find the index.
2020-12-31renderer_vulkan: Remove two step initialization on VKDeviceReinUsesLisp
The Vulkan device abstraction either initializes successfully on the constructor or throws a Vulkan exception.
2020-12-31renderer_vulkan: Throw when enumerating devices failsReinUsesLisp
Report device enumeration errors with exceptions to be consistent with other initialization related function calls. Reduces the amount of code to maintain.
2020-12-31renderer_vulkan: Initialize surface in separate fileReinUsesLisp
Move surface initialization code to a separate file. It's unlikely to use this code outside of Vulkan, but keeping platform-specific code (Win32, Xlib, Wayland) in its own translation unit keeps things cleaner.
2020-12-31renderer_vulkan: Catch and report exceptionsReinUsesLisp
Move more Vulkan code to report errors with exceptions and report them through a log before notifying it with an error boolean for backwards compatibility. In the future we can replace the rasterizer two-step initialization to always use exceptions.
2020-12-31renderer_vulkan: Create debug callback on separate file and throwReinUsesLisp
Initialize debug callbacks (messenger) from a separate file. This allows sharing code with different backends. Change our Vulkan error handling to use exceptions instead of error codes, simplifying the initialization process.
2020-12-31renderer_vulkan: Move instance initialization to a separate fileReinUsesLisp
Simplify Vulkan's backend initialization code by moving it to a separate file, allowing us to initialize a Vulkan instance from different backends.
2020-12-31vulkan_common: Rename renderer_vulkan/wrapper.h to ↵ReinUsesLisp
vulkan_common/vulkan_wrapper.h Allows sharing Vulkan wrapper code between different rendering backends.
2020-12-31vulkan_common: Move dynamic library load to a separate fileReinUsesLisp
Allows us to initialize a Vulkan dynamic library from different backends without duplicating code.
2020-12-30Port citra-emu/citra#5509german
2020-12-30Make the coding conventions more consistant16-Bit-Dog
lut_index had 0 added when nothing was supposed to be added despite this, index was not added to 0 when nothing was supposed to be added...
2020-12-30half_set: Resolve -Wmaybe-uninitialized warningsLioncash
2020-12-30maxwell_to_vk: Initialize usage variable in SurfaceFormat()Lioncash
Silences a -Wmaybe-uninitialized warning
2020-12-30Merge pull request #5251 from ReinUsesLisp/wuninitializedLC
cmake: Enforce -Wuninitialized
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp
The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage.The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage. This commit aims to address those issues.
2020-12-30cmake: Enforce -WuninitializedReinUsesLisp
2020-12-30service/pcie: Fix invalid initialization argumentReinUsesLisp
2020-12-30video_core: Add a delayed destruction ring abstractionReinUsesLisp
2020-12-30host_shaders: Add Vulkan assembler compute shadersReinUsesLisp
2020-12-30host_shaders: Add helper to blit depth stencil fragment shaderReinUsesLisp
2020-12-30host_shaders: Add texture color blit fragment shaderReinUsesLisp
2020-12-30host_shaders: Add shaders to present to the swapchainReinUsesLisp
2020-12-30host_shaders: Add shaders to convert between depth and color imagesReinUsesLisp
2020-12-30host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8ReinUsesLisp
2020-12-30host_shaders: Add shader to render a full screen triangleReinUsesLisp
2020-12-30host_shaders: Add pitch linear upload compute shaderReinUsesLisp
2020-12-30host_shaders: Add block linear upload compute shadersReinUsesLisp
2020-12-30host_shaders: Add copyright headers to OpenGL present shadersReinUsesLisp
2020-12-30video_core/host_shaders: Add support for prebuilt SPIR-V shadersReinUsesLisp
Add support for building SPIR-V shaders from GLSL and generating headers to include the text of those same GLSL shaders to consume from OpenGL.
2020-12-29core/memory: Read and write page table atomicallyReinUsesLisp
Squash attributes into the pointer's integer, making them an uintptr_t pair containing 2 bits at the bottom and then the pointer. These bits are currently unused thanks to alignment requirements. Configure Dynarmic to mask out these bits on pointer reads. While we are at it, remove some unused attributes carried over from Citra. Read/Write and other hot functions use a two step unpacking process that is less readable to stop MSVC from emitting an extra AND instruction in the hot path: mov rdi,rcx shr rdx,0Ch mov r8,qword ptr [rax+8] mov rax,qword ptr [r8+rdx*8] mov rdx,rax -and al,3 and rdx,0FFFFFFFFFFFFFFFCh je Core::Memory::Memory::Impl::Read<unsigned char> mov rax,qword ptr [vaddr] movzx eax,byte ptr [rdx+rax]
2020-12-29Merge pull request #5247 from comex/xx-conceptsbunnei
k_priority_queue: Fix concepts use
2020-12-29hle: kernel: service_thread: Make thread naming more consistent.bunnei
2020-12-29hle: kernel: Manage service threads on another thread.bunnei
- This is to allow service threads to defer destruction of themselves.
2020-12-29common: ThreadWorker: Add class to help do asynchronous work.bunnei
2020-12-29Merge pull request #5246 from comex/xx-includebunnei
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29hle: kernel: Manage host thread IDs using TLS.bunnei
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29k_priority_queue: Fix concepts usecomex
- For `std::same_as`, add missing include of `<concepts>`. - For `std::convertible_to`, create a replacement in `common/concepts.h` and use that instead. This would also be found in `<concepts>`, but unlike `std::same_as`, `std::convertible_to` is not yet implemented in libc++, LLVM's STL implementation - not even in master. (In fact, `std::same_as` is the *only* concept currently implemented. For some reason.)
2020-12-29Add missing include of "core/hle/kernel/kernel.h"comex
This is needed as the header invokes methods on KernelCore.
2020-12-29Merge pull request #5245 from ameerj/sleepthread-logLC
svc: demote SleepThread log to LOG_TRACE
2020-12-29svc: demote SleepThread log to LOG_TRACEameerj
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29Merge pull request #5236 from gal20/udp_client_patchbunnei
input_common: process udp packets only for the correct pad