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.
3 years ago
Liam
cdb9fe978f
vi: implement CloseDisplay
3 years ago
Liam
2d90a927c9
core: barrier service thread shutdown
3 years ago
VonChenPlus
9982cff98b
Core: Fix get nvmap object random crash
4 years ago
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
4 years ago
Fernando Sahmkow
668e80a9f4
VideoCore: Refactor syncing.
4 years ago
Fernando Sahmkow
af35dbcf63
NVDRV: Fix Open/Close and make sure each device is correctly created.
4 years ago
Liam
35d3e7db2a
common: remove "yuzu:" prefix from thread names
3 years ago
Morph
41e855bd42
service: vi: Retrieve vsync event once per display
The display vsync event can only be retrieved once per display. Returns VI::ResultPermissionDenied if we attempt to retrieve the vsync event for the same display.
Prevents games such as .hack//G.U. Last Recode from consuming all the handles in the handle table by spamming vsync event retrievals and allows it to go in game.
3 years ago
Kelebek1
9d3b190465
Rework multi-core vsync
3 years ago
bunnei
6d160873c4
hle: service: nvflinger: Fix implicit conversion.
4 years ago
bunnei
02282477e7
yuzu: settings: Remove framerate cap and merge unlocked framerate setting.
- These were all somewhat redundant.
4 years ago
bunnei
f8aaa59990
hle: service: nvflinger: Factor speed limit into frame time calculation.
- This allows the %-based "Limit Speed Percent" setting to work with MC emulation.
- This is already supported for SC emulation.
4 years ago
Kelebek1
b23c6b456c
PR
4 years ago
Kelebek1
240650f6a6
Rework CoreTiming
4 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
bunnei
f9371f36a4
hle: service: nvflinger: Use correct logger namespace.
4 years ago
bunnei
650c9d0d62
hle: nvflinger: Use std::chrono for present_ns.
4 years ago
bunnei
7f4165fc05
hle: vi: Integrate new NVFlinger and HosBinderDriverServer service.
4 years ago
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
This reverts commit e773354477 , reversing
changes made to abbbdc2bc0 .
4 years ago
ameerj
d866916f42
gpu: Use std::stop_token in WaitFence for VSync thread
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
4 years ago
Feng Chen
1eec9590c3
Remove invalid assertion statement
4 years ago
ameerj
71e19153ef
nvflinger: Use jthread and stop_token for VSync thread
Avoids a destruction data race that may occur on the vsync thread
4 years ago
ameerj
9e2bf49677
nvflinger: Use external surface format for framebuffer creation
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
4 years ago
bunnei
e05bfd2f54
core: hle: service: buffer_queue: Improve management of KEvent.
4 years ago
bunnei
fb3e9314b9
core: hle: service: nvflinger/vi: Improve management of KEvent.
4 years ago
bunnei
0c8594b225
Revert "kernel: Various improvements to scheduler"
4 years ago
bunnei
99bc49e76e
core: hle: service: buffer_queue: Improve management of KEvent.
4 years ago
bunnei
36cf96857e
core: hle: service: nvflinger/vi: Improve management of KEvent.
4 years ago
ameerj
2c6e274b39
config, nvflinger: Add FPS cap setting
Allows finer tuning of the FPS limit.
4 years ago
ameerj
3522fc019c
nvflinger: Add toggle to disable buffer swap interval limits
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
5 years ago
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
5 years ago
ameerj
da62e92784
nvflinger: Create layers when they are queried but not found
Fixes Shantae softlock on boot.
5 years ago
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
5 years ago
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
5 years ago
Lioncash
dcb91ca4a4
service: Eliminate cases of member shadowing
Resolves a few localized instances of member variable shadowing. Brings
us a little closer to turning shadowing warnings into errors.
5 years ago
bunnei
a4c6712a4b
common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
5 years ago
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
5 years ago
bunnei
82f6037ec2
core: hle: Add missing calls to MicroProfileOnThreadExit.
5 years ago
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
5 years ago
bunnei
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
5 years ago
bunnei
1d4cbb92f2
service: hle: nvflinger: Fix potential shutdown crash when GPU is destroyed.
5 years ago
bunnei
3d592972dc
Revert "core: Fix clang build"
5 years ago
Lioncash
be1954e04c
core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
5 years ago
Lioncash
ff45c39578
General: Make use of std::nullopt where applicable
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.
5 years ago
Lioncash
a7af349dae
core_timing: Make use of uintptr_t to represent user_data
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
5 years ago
Lioncash
5dab23e017
nvflinger: Use return value of Lock()
comex reported in #4424 that we were incorrectly discarding the return
value of Lock() which is correct.
6 years ago
Lioncash
bef1844a51
core_timing: Make TimedCallback take std::chrono::nanoseconds
Enforces our desired time units directly with a concrete type.
6 years ago
Lioncash
8b50c660df
core_timing: Make use of std::chrono with ScheduleEvent
6 years ago
Fernando Sahmkow
272a87127a
Services/NvFlinger: Do vSync in a sepparate thread on Multicore.
6 years ago