Commit Graph

20268 Commits (42b16bb33ab0a0bb5b8e4032753fbe67bc85844f)

Author SHA1 Message Date
ameerj 61e4f2d931 dma_pusher: Rework command_headers usage
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2 years ago
ameerj bdef22ff85 buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage 2 years ago
ameerj 4bc2d82130 video_core: Add usages of ScratchBuffer 2 years ago
ameerj cfc34dd41d common: Add ScratchBuffer class
This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize
is redundant.
2 years ago
ameerj 88ba5a7f22 common: add make_unique_for_overwrite 2 years ago
Matías Locatti e44d1fe73c
Merge pull request #9474 from liamwhite/timer
kernel: add KHardwareTimer
2 years ago
Jan Beich b60a93a936 externals: update Vulkan-Headers to v1.3.238 2 years ago
liamwhite 42d81aab32
Merge pull request #9471 from german77/input
input_common: Cleanup project
2 years ago
Morph 690a4c9438 overlay_dialog: Avoid starting the input thread if non-interactive 2 years ago
Morph 190ded7f48 overlay_dialog: Hide button dialog box when both buttons are hidden
This allows for the creation of a non-interactive dialog overlay to display system messages.
2 years ago
Liam c770f25ccb kernel: remove TimeManager 2 years ago
Liam 67c0d714c5 kernel: add KHardwareTimer 2 years ago
german77 cf01a507fb input_common: Cleanup project 2 years ago
liamwhite fcc93a445f
Merge pull request #9470 from german77/silenceIkillYou
service: nfc: Silence ListDevices
2 years ago
german77 79f1f326c7 service: nfc: Silence ListDevices 2 years ago
liamwhite 2724ffd6e3
Merge pull request #9469 from Rubo3/patch-1
Use execlp instead of execl to avoid failure
2 years ago
liamwhite ee71404d71
Merge pull request #9467 from german77/folder
yuzu: Remember last selected directory
2 years ago
Marco Rubin 56b0f979eb
Use execlp instead of execl to avoid failure 2 years ago
german77 c218c7d4da yuzu: Remember last selected directory 2 years ago
german77 f999d268f9 bootmanager: Use proper camera size 2 years ago
german77 c489cbee29 bootmanager: Encapsulate all QCamera code 2 years ago
german77 dffeca66fa yuzu: fix device name setting 2 years ago
Matías Locatti fd1ea0fd84
Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442)
* Testing LTO (#4)

* Testing LTO

* clang

* linux

* Added the rest of Blinkhawk's optimizations

* Unlikely asserts

* Removing LTO from Linux builds - GCC

* Removing LTO from Linux builds - Clang
2 years ago
bunnei 48108a8c9b
Merge pull request #9456 from german77/virtual_gamepad
input_common: Add virtual gamepad
2 years ago
Liam 92ce241d4d qt: use _exit instead of exit on SIGINT 2 years ago
Liam d3123079e8 EmuThread: refactor 2 years ago
liamwhite 5da72a891f
Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2 years ago
Mai f8a7d6a0ae
Merge pull request #9461 from liamwhite/wanative
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2 years ago
Mai da31326c17
Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2 years ago
Liam 45672d43e3 qt: avoid setting WA_DontCreateNativeAncestors on all platforms 2 years ago
liamwhite a3bac5550d
Merge pull request #9451 from ameerj/camera-data-array
camera: Use pre-allocated vector for camera data
2 years ago
liamwhite 4faea2bbf4
Merge pull request #9452 from ameerj/hle-read-buffer-resreve
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2 years ago
liamwhite fa10374d39
Merge pull request #9455 from Kelebek1/audio_signal
[audio_core] Signal buffer event on audio in/out system stop
2 years ago
liamwhite 98135dee16
Merge pull request #9457 from Kelebek1/silence_tfb
Remove unimplemented geometry transform feedback log spam
2 years ago
german77 243404bf34 input_common: Add virtual gamepad 2 years ago
ameerj 7bf4bec257 camera: Use pre-allocated vector for camera data
And avoid an unnecessary copy
2 years ago
Kelebek1 f7d95d0a3a Remove unimplemented transform feedback geometry spam, it should be implemented 2 years ago
liamwhite bbb202ceed
Merge pull request #6354 from ogniK5377/device-name
Set: Allow setting device nickname
2 years ago
liamwhite 789da737af
Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
hle_ipc: Reserve vectors before populating
2 years ago
liamwhite b541a35e27
Merge pull request #9444 from german77/free_threads
kernel: process: Implement GetFreeThreadCount
2 years ago
liamwhite 6bc1a477bf
Merge pull request #8605 from devsnek/graceful-shutdown
let games gracefully exit
2 years ago
liamwhite 9bfd4d880e
Merge pull request #6769 from lat9nq/create-shortcut-2
yuzu qt, common: Add option to create game shortcuts on Linux
2 years ago
Kelebek1 6a56f42f5d Signal buffer event on audio in/out system stop, and force remove all registered audio buffers 2 years ago
Liam b81caf1879 qt: handle wayland-egl platform name 2 years ago
ameerj b1d633532f hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
2 years ago
ameerj 12c0f682e6 hle_ipc: Reserve vectors before populating 2 years ago
Narr the Reg 9ff891ce71
Merge pull request #9431 from liamwhite/sixty-five-oh-two
vulkan_common: declare storageBuffer8BitAccess
2 years ago
Matías Locatti 82d80869fc
Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2 years ago
Narr the Reg 20cbf6f3db kernel: svc: Fix duplicated InfoType enum 2 years ago
Narr the Reg dca4f0687a kernel: process: Implement GetFreeThreadCount
Used by Just Dance® 2023 Edition
2 years ago
liamwhite 3ff7a5de1a
Merge pull request #7410 from Nefsen402/wayland-fixes
Wayland fixes
2 years ago
bunnei beba9c9b61
Revert "hle: service: audio: Use default service thread." 2 years ago
liamwhite a222f02c7a
Merge pull request #6688 from yzct12345/valid-intel-max
render_vulkan: Fix validation errors on less compatible Intel GPUs
2 years ago
FernandoS27 0104e28fe4 Vulkan: Add support for VK_EXT_depth_clip_control. 2 years ago
Chloe Marcec c5f519e1e4 Set: Allow setting device nickname 2 years ago
lat9nq 5a5bb91f40 main: Address review feedback
Moves icon path to ~/.local/share/icons, though I'm opting to avoid
using the game title for the icon and desktop entry name as that would
cause filenames such as
"yuzu-cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda-demo.desktop".
2 years ago
Liam 4fce72c902 vulkan_common: declare storageBuffer8BitAccess 2 years ago
Liam 77b0d01639 spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId 2 years ago
lat9nq 18bdf45868 yuzu qt: Create shortcuts on Linux
This creates a Desktop Entry file and a PNG icon for the entry when the
user right-clicks a game and selects "Create Shortcut -> Create
{Application,Desktop} Shortcut". This uses the current executable's path
to create the shortcut.

yuzu qt: Add more error checking and OS gating for shortcuts

main: Remove FreeBSD gating for shortcuts

I'm not going to test FreeBSD, so I don't know if they follow
Freedesktop.org or not. I just have to let someone else verify that it
works there and let them enable it.

main: Move shortcut function to its own function

This function should really be in a common library, at least among
frontends.

main: Remove image manip references

main: Fix difference in MinGW and native GCC versions

main: Fix negation in creat shortcut

Addresses review comment

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>

main: Re-enable freedesktop shorcuts for FreeBSD
2 years ago
Alexander Orzechowski 09e3029c11 gl_device: Use a more robust way to use strict context mode
Instead of checking a environment variable which may not actually
exist or is just wrong, ask QT if it's running on the wayland
platform.
2 years ago
Alexander Orzechowski 2221afaf26 OpenGL: Check for threading support
We need this.
2 years ago
Alexander Orzechowski 45fcde817e wayland: Always use exclusive fullscreen
Wayland does not allow clients to choose their own size and position
on the screen. The concept of fullscreening an application by sizing
it to the screen and removing decorations does not exist. Use
exclusive fullscreen instead.
2 years ago
Alexander Orzechowski 29fbce9fe6 RenderWidget: Set WA_DontCreateNativeAncestors
Some windowing systems like wayland are designed to show hardware accellerated
surfaces as subsurfaces and not native windows.
2 years ago
Alexander Orzechowski 5754456292 emu_window_sdl2: Respect hidpi
Use SDL_GL_GetDrawableSize instead of SDL_GetWindowSize which
will return the true size our swapchain needs to be in even
for hidpi displays.
2 years ago
Alexander Orzechowski 3cc3176ad6 video_core/vulkan: Explicity check swapchain size when deciding to recreate
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
2 years ago
Liam d5f53da79d renderer_opengl: refactor context acquire 2 years ago
Liam 179adee396 emu_thread: properly force shutdown for unresponsive guest programs 2 years ago
Gus Caplan f44c60321e let games gracefully exit 2 years ago
yzct12345 f6868ae4dd Fix validation errors on less compatible Intel GPU 2 years ago
Narr the Reg 0ed80c9818 yuzu: Make unlimited frame rate non persistent between game boots 2 years ago
bunnei 339a37f8cb
Merge pull request #9398 from liamwhite/fail
general: improve handling of system startup failure
2 years ago
bunnei da58eb6208
Merge pull request #9406 from vonchenplus/topology
video_core: Adjust topology update logic and Adjust Clear Manage
2 years ago
Narr the Reg 3e1e6c66c0 input_common: Filter SDL GUID 2 years ago
Mai 8ef9075b1b
Merge pull request #9420 from liamwhite/aniso
video_core: fix off by one in anisotropic filtering amount
2 years ago
Mai 0c531ff911
Merge pull request #9419 from liamwhite/no-gl
cmake: make OpenGL loader optional
2 years ago
Mai d5684dbe7d
Merge pull request #9415 from liamwhite/dc
memory: correct semantics of data cache management operations
2 years ago
Liam ed37192441 memory: correct semantics of data cache management operations 2 years ago
Matías Locatti 623429a27e
Merge pull request #9409 from liamwhite/smaa2
video_core: Integrate SMAA
2 years ago
Liam 456322dde6 video_core: fix off by one in anisotropic filtering amount 2 years ago
Liam 8d1d6e149f cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2 years ago
Mai a5bc86a9ac
Merge pull request #9417 from liamwhite/debug-assert
memory: remove DEBUG_ASSERT pointer test
2 years ago
Liam e532b74e11 audio_core: remove explicitly defaulted and implicitly deleted constructors 2 years ago
Liam 985ed1e160 memory: remove DEBUG_ASSERT pointer test 2 years ago
liamwhite f6e705737a
Merge pull request #9412 from Saalvage/fix/trace-log-compilation
Fix compilation error
2 years ago
Salvage c586ac9be2
Remove the lock entirely as per PR discussion
Correctly unlock mutex before its destruction

As per https://en.cppreference.com/w/cpp/thread/mutex/~mutex destroying a locked mutex is undefined behavior and MSVC++ decides to throw in this case

Swap out unique for scoped lock and readd comment
2 years ago
Salvage 0e265db873
Fix compilation error 2 years ago
Liam 5b837157bd video_core: Integrate SMAA
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2 years ago
FengChen 37014e9127 video_core: Add vertex_array_instance_* sbubbed called warning 2 years ago
FengChen 1e64b5e2ec video_core: The draw manager manages whether Clear is required. 2 years ago
FengChen 15d63c3d3d video_core: Adjust topology update logic 2 years ago
Fernando S 41461514d6
Merge pull request #9401 from vonchenplus/draw_manager
video_core: Implement maxwell3d draw manager and split draw logic
2 years ago
Feng Chen bf0b957c05 video_core: Implement maxwell3d draw manager and split draw logic 2 years ago
Morph bfdd512787
Merge pull request #9365 from liamwhite/val
vulkan_common: quiet some validation errors
2 years ago
Liam 9704acb982 general: improve handling of system startup failure 2 years ago
merry e1f5f4bdea
Merge pull request #9370 from liamwhite/break-unmapped
core: add option to break on unmapped access
2 years ago
Fernando S 08d4e7c7af
Merge pull request #9393 from liamwhite/more-vulkan
vulkan_common: further initialization tweaks
2 years ago
liamwhite 4b7e73e0a6
Merge pull request #9392 from lioncash/reporter
reporter: Eliminate undefined behavior in SaveErrorReport
2 years ago
liamwhite d8534ea140
Merge pull request #9390 from lioncash/keyboard
applets: Extract callback types into aliases
2 years ago
liamwhite bbdb6d391e
Merge pull request #9389 from lioncash/emumove
emulated_console/emulated_controller: std::move ParamPackage instances where applicable
2 years ago
liamwhite a86af1b776
Merge pull request #9386 from lioncash/init
kernel: Ensure relevant class members are always initialized on construction
2 years ago
liamwhite a225ba4cda
Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2 years ago
liamwhite e86e144a7c
Merge pull request #9387 from abouvier/cmake-libusb
cmake: prefer system libusb
2 years ago
Lioncash dba84458be configure_graphics: Make SPIRV backend string translatable
The parenthetical needs to be translatable, like with GLASM
2 years ago
Alexandre Bouvier f385175aa2 cmake: prefer system libusb 2 years ago
liamwhite 04779b3d2a
Merge pull request #9369 from german77/mifare
service: nfc: Implement mifare service
2 years ago
liamwhite 90145c424d
Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
Respect render mode override
2 years ago
Liam 7e7a23363a vulkan_common: further initialization tweaks 2 years ago
Lioncash eadc1ae1e7 reporter: Pass by const reference where applicable
Same behavior, but without memory churn.
2 years ago
Lioncash e7f9f58fa4 reporter: Eliminate undefined behavior in SaveErrorReport
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.

This means we'd be dereferencing uninitialized storage.

Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2 years ago
Alexandre Bouvier e6ae720c33 cmake: use sdl2 imported target 2 years ago
Lioncash fedd857054 applets/controller: Use aliases for callbacks 2 years ago
Lioncash d8da9a2afd applets/error: Use aliases for callbacks 2 years ago
Lioncash 2b40cdf04f applets/mii_edit: Use aliases for callbacks 2 years ago
Lioncash a84676c2aa applets/profile_select: Use aliases for callbacks
Deduplicates callback definitions and situates it in one place.
2 years ago
Lioncash e26c86a6e7 applets/web_browser: Use aliases for callbacks
Deduplicates a lot of long callback declarations
2 years ago
Lioncash 9bbb77637e applets/software_keyboard: Use aliases for callbacks
Deduplicates really long std::function declarations to make the
interface nicer to read.
2 years ago
Lioncash e4a16f50ef emulated_controller: Remove unused parameter in GetMappedDevices()
This isn't used, so it can be removed to make the function a little
nicer.
2 years ago
Lioncash 87543b9dea emulated_controller: Use std::move() in GetMappedDevices()
Avoids churning allocations in a loop.
2 years ago
Lioncash 7bf4b45349 emulated_console: Amend cast in SetTouch()
id is an int value, not a u32.
2 years ago
Lioncash 4255e30722 emulated_console: std::move() ParamPackages and callbacks where applicable 2 years ago
Lioncash efa8711bf3 kernel/k_shared_memory: Ensure device_memory is always initialized 2 years ago
Lioncash c3fd211b43 kernel/k_memory_block: Ensure members are always initialized 2 years ago
Lioncash dcca650599 kernel/physical_core: Ensure is_interrupted is always initialized 2 years ago
Lioncash dddc9bb8f1 kernel/thread: Ensure stack_top and argument are always initialized 2 years ago
Lioncash 4769d798f9 kernel/kernel: Ensure shutdown threads are always initialized 2 years ago
liamwhite 3b19f741bd
Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2 years ago
Fernando Sahmkow 6352c5dc31 Vulkan: Implement Alpha coverage 2 years ago
Narr the Reg 752236caad input_common: Allow mifare files 2 years ago
Mai a52d0b82a6
Merge pull request #9381 from liamwhite/uninit
service_thread: fix uninitialized memory usage
2 years ago
Liam cec3a3cd5a service_thread: fix uninitialized memory usage 2 years ago
liamwhite 3b9db85646
Merge pull request #9232 from bunnei/audio-default-thread
hle: service: audio: Use default service thread.
2 years ago
liamwhite 522e7c5663
Merge pull request #9273 from ameerj/per-game-profile
Configuration: Add per-game input profiles
2 years ago
liamwhite ec547824f1
Merge pull request #9372 from liamwhite/vk12
vulkan_common: promote extension usages to core when possible
2 years ago
Alexandre Bouvier 8e17b5469f cmake: prefer system libraries 2 years ago
Liam 0cbfdf7ecb yuzu-cmd: link SDL2 correctly 2 years ago
Liam 157981cac5 vulkan_common: add feature test for shaderDrawParameters 2 years ago
Liam 18831e0933 vulkan_common: clean up extension usage 2 years ago
Liam ea56d8f388 vulkan_common: correct usage of timeline semaphore fallbacks 2 years ago
Liam f23f875dd8 vulkan_common: ensure all mandatory features are tested in feature report 2 years ago
Liam 06a67d2bbd vulkan_common: unsuffix 16-bit storage feature test structure 2 years ago
Liam bbc1809951 vulkan_common: unsuffix timeline semaphore feature test structure 2 years ago
Liam a9633ba8b2 vulkan_common: add logicOp to feature report 2 years ago
Liam 7fc6514be1 vulkan_common: promote host query reset usage to core 2 years ago
Liam e44a804ec7 vulkan_common: promote descriptor update template usage to core 2 years ago
Liam a948ab3e48 vulkan_common: promote timeline semaphore usage to core 2 years ago
liamwhite 02b10a6e4d
Merge pull request #9374 from liamwhite/externals
externals: update dynarmic, SDL2
2 years ago
Liam 6d2c597371 externals: update dynarmic, SDL2 2 years ago
bunnei f77cc6c412
Merge pull request #9344 from liamwhite/null
video_core: add null backend
2 years ago
liamwhite 75e16547f8
Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2 years ago
liamwhite 22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2 years ago
liamwhite ac0721a4bc
Merge pull request #9353 from vonchenplus/draw_indexed
video_core: Fine tuning the index drawing judgment logic
2 years ago
Matías Locatti c043ba8467
Merge pull request #9303 from liamwhite/new-vulkan-init
Vulkan: update initialization
2 years ago
Matías Locatti 9a5d8b356a
Merge pull request #9363 from liamwhite/gs
shader_recompiler: add gl_Layer translation GS for older hardware
2 years ago
Liam 6072b22a0b core: add option to break on unmapped access 2 years ago
liamwhite d8bd52c6f1
Merge pull request #9348 from Morph1984/when-the-network-is-down
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2 years ago
Narr the Reg a4725bcb73 service: nfc: Implement mifare service 2 years ago
Liam 3ef006b5ab shader_recompiler: add gl_Layer translation GS for older hardware 2 years ago
Feng Chen cb5400b34d video_core: Fine tuning the index drawing judgment logic 2 years ago
Liam be05cb640c vulkan_common: quiet some validation errors 2 years ago
ameerj 5b5612c1cc CMake: Consolidate common PCH headers 2 years ago
ameerj 3c39c0ac3e string_util: Fix Mingw compile error
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2 years ago
Fernando S 4e89979c87
Merge pull request #9320 from yuzu-emu/fix-audio-suspend
AudioCore: Take suspend lock when stalling the running process.
2 years ago
bunnei 8fd4e44014 audio_core: sink_stream: Hold the suspend lock when process is stalled.
- Prevents us from clashing with other callers trying to un/stall.
2 years ago
ameerj 51358d2b5e CMake: Disable PCH on MSVC + Buildcache configs 2 years ago
Kelebek1 a78372110c Respect render mode override 2 years ago
Morph 49219b8a86
Merge pull request #9349 from lat9nq/cmake-322
CMakeLists: Bump minimum required CMake version to 3.22
2 years ago
ameerj 37bc5118ea CMake: Use precompiled headers 2 years ago
ameerj cae6c13ffb value.h: remove recursive include 2 years ago
liamwhite d6b63239ae
Merge pull request #9308 from lat9nq/from-scratch
startup_checks: Use Windows flow for *nix
2 years ago
liamwhite cafca891ea
Merge pull request #9322 from german77/pump_events
input_common: Pump SDL events from main thread
2 years ago
liamwhite c845d8a9e8
Merge pull request #9352 from lioncash/vidcast
engines: Remove unnecessary casts
2 years ago
Lioncash b6d93b2c77 host1x/syncpoint_manager: Eliminate unnecessary std::function construction
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
2 years ago
Lioncash c4af7b3f5c host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref
The handle is only compared against and not modified in any way, so we
can pass it by const reference.

This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
2 years ago
Lioncash 96ffc174aa maxwell_3d: Mark shifted value as unsigned
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.

While we're in the area, we can mark Samples() as const.
2 years ago
Lioncash d7ec031419 engines: Remove unnecessary casts
In a few cases we have some casts that can be trivially removed.
2 years ago
liamwhite 55a3cbfa0d
Merge pull request #9340 from lioncash/nvdrv
nvdrv: Simplify builder declarations
2 years ago
liamwhite 55b546a110
Merge pull request #9347 from lioncash/vcast
video_core/surface: Eliminate casts in GetFormatType()
2 years ago
liamwhite 6b8ab9ed8f
Merge pull request #9346 from lioncash/vtable
producer_listener: Add virtual destructor to IProducerListener
2 years ago
liamwhite a7f1fa7bfc
Merge pull request #9345 from lioncash/fence
consumer_base: Pass std::shared_ptr by const reference
2 years ago
liamwhite b6373c5ea5
Merge pull request #9343 from lioncash/bounds
syncpoint_manager: Reduce redundant bounds checks
2 years ago
lat9nq 0941ae0b61 CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2 years ago
Morph 00fdffec58 service: nifm: Update stubs for Submit/GetRequestState/GetResult 2 years ago
Lioncash a9efea8ae9 video_core/surface: Eliminate casts in GetFormatType()
We can just compare directly and get rid of verbose casting.
2 years ago
Liam 89dd7dc180 video_core: add null backend 2 years ago
Lioncash 25dda06f49 producer_listener: Add virtual destructor to IProducerListener
Several member variables are shared_ptr's to this base class. Even
though producer listeners are still unimplemented, this ensures we
always have consistent deletion behavior once this ends up being used
polymorphically.
2 years ago
ameerj 4cbbf590e3 configure_input_player: Fix profile saving when using handheld controller type 2 years ago
ameerj 3de05726eb config: Custom profile detection fixes
Also only reads/writes applicable configs for the custom profiles.
2 years ago
ameerj b1b20ad84a configure_input_per_game: Allow configuring all 8 players 2 years ago
Lioncash ae74f46e78 buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer()
This isn't directly modified.

Also allows rvalues to be used with it.
2 years ago
Lioncash 3020f72b0c buffer_queue_consumer: std::move std::shared_ptr in Connect()
Avoids an unnecessary reference count increment and decrement
2 years ago
Lioncash c0c4f6dfa6 consumer_base: Pass shared_ptr by const reference
Avoids churning atomic reference count increments and decrements.
2 years ago
Lioncash 260a495a23 consumer_base: Remove redundant virtual
override already serves this purpose
2 years ago
Lioncash 7a329ae56c syncpoint_manager: Mark IsSyncpointAllocated() as const
This doesn't modify class state at all.
2 years ago
Lioncash d0883027d6 syncpoint_manager: Reduce number of bounds checks
The only time we need to check bounds is on the first access.
2 years ago
Morph bbb963a31a
Merge pull request #9339 from lioncash/cacheheader
common/cache_management: Amend header includes
2 years ago
Morph 51abe35e05
Merge pull request #9338 from lioncash/properties
input_common/helpers: Mark analog property structs members as static constexpr
2 years ago
Morph 64ff79f919
Merge pull request #9337 from lioncash/pbr
common/input: Add helper functions for constructing input and output devices
2 years ago
Lioncash ad787b20ca nvdrv: Simplify builder declarations
We can just use auto here. If one of these ever happens to not be
derived from nvdevice, then this will cause a compilation error.

We can also move the devices into the collection to get rid of an
unnecessary atomic reference count increment and decrement.
2 years ago
Lioncash c2c9b44749 common/cache_management: Amend header includes
Narrows the include in the header to <cstddef>, since that's what houses
size_t's definition, meanwhile the <cstdint> include can be moved into
the cpp file.
2 years ago
Lioncash 8265c167d3 input_common/helpers: Mark analog property structs members as static constexpr
These are const with no dependency on any other data members, so we can
make these static constexpr to reduce the overall object size.
2 years ago