| Age | Commit message (Collapse) | Author |
|
core/memory: Read and write page table atomically
|
|
|
|
Makes the dialog fully localizable and also adds disambiguation comments
to help translators understand what the formatting specifiers indicate.
|
|
enum classes are comparable with one another, so these casts aren't
necessary.
|
|
Make the coding conventions more consistant
|
|
Port citra-emu/citra#5509 "Look at direction of analog axis travel instead of instantaneous sample"
|
|
Service threads
|
|
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.
|
|
This makes easier to add and tune the required device limits.
|
|
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.
|
|
The Vulkan device abstraction either initializes successfully on the
constructor or throws a Vulkan exception.
|
|
Report device enumeration errors with exceptions to be consistent with
other initialization related function calls. Reduces the amount of code
to maintain.
|
|
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.
|
|
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.
|
|
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.
|
|
Simplify Vulkan's backend initialization code by moving it to a separate
file, allowing us to initialize a Vulkan instance from different
backends.
|
|
vulkan_common/vulkan_wrapper.h
Allows sharing Vulkan wrapper code between different rendering backends.
|
|
Allows us to initialize a Vulkan dynamic library from different backends
without duplicating code.
|
|
|
|
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...
|
|
|
|
Silences a -Wmaybe-uninitialized warning
|
|
cmake: Enforce -Wuninitialized
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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]
|
|
k_priority_queue: Fix concepts use
|
|
|
|
- This is to allow service threads to defer destruction of themselves.
|
|
|
|
Add missing include of "core/hle/kernel/kernel.h"
|
|
- Avoids the need to have a large map of host to guest thread IDs.
|
|
- 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.)
|
|
This is needed as the header invokes methods on KernelCore.
|
|
svc: demote SleepThread log to LOG_TRACE
|
|
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
|
|
input_common: process udp packets only for the correct pad
|