Age | Commit message (Collapse) | Author |
|
|
|
audio_core: Resolve sign conversion warnings
|
|
vk_stream_buffer: Fix initializing Vulkan with NVIDIA on Linux
|
|
shader/registry: Make use of designated initializers where applicable
|
|
vk_command_pool: Add missing header guard
|
|
audio_core: Remove unnecessary inclusions
|
|
The previous fix only partially solved the issue, as only certain GPUs that needed 9 or less MiB subtracted would work (i.e. GTX 980 Ti, GT 730). This takes from DXVK's example to divide `heap_size` by 2 to determine `allocable_size`. Additionally tested on my Quadro K4200, which previously required setting it to 12 to boot.
|
|
|
|
Same behavior, but removes header dependencies where they don't need to
be.
|
|
While were at it, we can also enable sign conversion warnings and other
common warnings as errors to prevent these from creeping back into the
codebase.
|
|
While we're at it we can make the destructor of the base class virtual
to ensure that any polymorphism issues never occur.
|
|
Allows the implementation details to be changed without recompiling any
files that include this header.
|
|
|
|
|
|
service: Restore "unused" function
|
|
Turns out this function is actually used, but within a trace log.
|
|
arithmetic_integer_immediate: Make use of std::move where applicable
|
|
acc: Partially implement LoadOpenContext
|
|
Same behavior, minus any redundant atomic reference count increments and
decrements.
|
|
renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore
|
|
Add automap feature for GC adapter
|
|
|
|
Using statements already make these unnecessary.
|
|
memory: Resolve a -Wdocumentation warning
|
|
install_dialog: Remove unused function prototype
|
|
game_list: Eliminate redundant argument copies
|
|
Same behavior, less repetition.
|
|
memory doesn't exist as a parameter any more.
|
|
Allows the compiler to warn against cases where the return value isn't
used (which would be a bug).
|
|
This function doesn't have an implementation, so it can be removed to
prevent others from unintentionally using it.
|
|
Makes the naming consistent with the rest of the functions that are
present.
|
|
Several functions can be taken by const reference to avoid copies
|
|
Places data structures where they'll eventually be moved to to avoid
needing to even move them in the first place.
|
|
Avoids unnecessary atomic increments and decrements.
|
|
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
|
|
Prevents unnecessary copying of the line being parsed.
|
|
submission_package: Account for multi-content NSPs
|
|
This is used in multiple games such as:
- Clubhouse Games: 51 Worldwide Classics
- Grandia HD Collection
- XCOM 2 Collection
- Baldur's Gate 1/2
- Dr Kawashima's Brain Training
- Super Mario 3D All-Stars
|
|
renderer_opengl: Remove emulated mailbox presentation
|
|
hid: Implement Get/SetNpadHandheldActivationMode
|
|
Emulated mailbox presentation was causing performance issues on
Nvidia's OpenGL driver. Remove it.
|
|
Test: Decrease pad_update_ns
|
|
This is a hack to destroy all HostCounter instances before the base
class destructor is called. The query cache should be redesigned to have
a proper ownership model instead of using shared pointers.
For now, destroy the host counter hierarchy from the derived class
destructor.
|
|
This reworks how host<->device synchronization works on the Vulkan
backend. Instead of "protecting" resources with a fence and signalling
these as free when the fence is known to be signalled by the host GPU,
use timeline semaphores.
Vulkan timeline semaphores allow use to work on a subset of D3D12
fences. As far as we are concerned, timeline semaphores are a value set
by the host or the device that can be waited by either of them.
Taking advantange of this, we can have a monolithically increasing
atomic value for each submission to the graphics queue. Instead of
protecting resources with a fence, we simply store the current logical
tick (the atomic value stored in CPU memory). When we want to know if a
resource is free, it can be compared to the current GPU tick.
This greatly simplifies resource management code and the free status of
resources should have less false negatives.
To workaround bugs in validation layers, when these are attached there's
a thread waiting for timeline semaphores.
|
|
|
|
Same behavior, less repetition. We can also ensure all members of Config
are initialized.
|
|
- Used in Clubhouse Games: 51 Worldwide Classics
|
|
|
|
configure_input_player: Re-add "Clear" context menu option
|
|
- Used in Super Mario 3D All-Stars
|