ameerj
7c4b6aab2e
core: Remove unused includes
2021-11-03 21:42:57 -04:00
ameerj
71e19153ef
nvflinger: Use jthread and stop_token for VSync thread
...
Avoids a destruction data race that may occur on the vsync thread
2021-10-03 00:35:57 -04:00
Fernando S
55854c807d
Merge pull request #6981 from ameerj/nvflinger-hb-format
...
nvflinger: Use external surface format for framebuffer creation
2021-09-11 22:35:25 +02:00
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.
2021-09-06 23:14:31 -04:00
bunnei
e05bfd2f54
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-04 22:25:46 -07:00
bunnei
fb3e9314b9
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-09-03 21:53:00 -07:00
bunnei
0c8594b225
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
bunnei
99bc49e76e
core: hle: service: buffer_queue: Improve management of KEvent.
2021-08-07 12:18:48 -07:00
bunnei
36cf96857e
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-08-07 12:18:47 -07:00
ameerj
2c6e274b39
config, nvflinger: Add FPS cap setting
...
Allows finer tuning of the FPS limit.
2021-07-23 22:04:36 -04:00
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.
2021-06-17 01:41:56 -04:00
bunnei
d5131805ce
Merge pull request #6284 from ameerj/shantae-fix
...
nvflinger: Create layers when they are queried but not found
2021-05-16 01:45:14 -07:00
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.
2021-05-16 03:43:16 -04:00
ameerj
da62e92784
nvflinger: Create layers when they are queried but not found
...
Fixes Shantae softlock on boot.
2021-05-06 11:20:52 -04:00
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
5e5933256b
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
2021-05-05 16:40:50 -07:00
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.
2021-04-26 09:39:49 -04:00
bunnei
a4c6712a4b
common: Move settings to common from core.
...
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
bunnei
ff3c7c068b
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
2021-02-05 14:03:32 -08:00
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
bunnei
82f6037ec2
core: hle: Add missing calls to MicroProfileOnThreadExit.
2021-01-11 14:23:16 -08:00
ReinUsesLisp
b4451c5e81
core: Silence unhandled enum in switch warnings
2021-01-08 23:21:07 -03:00
ameerj
6b354ccaee
buffer_queue: Protect queue_sequence list access with a mutex
...
fixes a data race as this is an unprotected variable manipulated by multiple threads
2021-01-04 01:36:41 -05:00
bunnei
beaa25d777
hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.
...
- This behavior is a mistake, fixes Katana Zero.
2021-01-02 15:42:16 -08:00
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
...
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
2020-12-28 21:33:34 -08:00
bunnei
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
ameerj
873ad1272e
buffer_queue: better use of std::array
2020-12-18 00:12:14 -05:00
ameerj
8cb683f3b9
Overwrite slots instead of queuing them, add disconnect signal
...
Fix for Katana Zero and Yoshi's Crafted World
2020-12-17 14:22:46 -05:00
Lioncash
6b7320add4
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
2020-12-07 23:02:23 -05:00
bunnei
087f52e872
Merge pull request #4858 from lioncash/initializer
...
General: Resolve a few missing initializer warnings
2020-11-04 12:10:10 -08:00
bunnei
1d4cbb92f2
service: hle: nvflinger: Fix potential shutdown crash when GPU is destroyed.
2020-11-01 01:52:38 -07:00
Lioncash
5553bd3ba2
General: Resolve a few missing initializer warnings
...
Resolves a few -Wmissing-initializer warnings.
2020-10-29 19:37:07 -04:00
bunnei
3d592972dc
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
LC
88d5140cf2
Merge pull request #4796 from lioncash/clang
...
core: Fix clang build
2020-10-20 19:19:12 -04:00
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
2020-10-17 19:50:39 -04:00
bunnei
1f186f34a2
hle: service: vi: Implement BufferQueue::CancelBuffer.
...
- This is used by Super Mario 3D All-Stars.
2020-10-13 22:11:52 -07:00
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.
2020-09-22 17:32:33 -04:00
Lioncash
b724a4d90c
General: Tidy up clang-format warnings part 2
2020-08-13 14:19:08 -04:00
Lioncash
9b837c6069
buffer_queue: Make use of std::nullopt
...
Allows compilers to eliminate unnecessary zeroing out of the optional's
buffer.
2020-08-03 09:31:51 -04:00
Lioncash
24bd068a08
buffer_queue: Make use of designated initializers
2020-08-03 09:31:51 -04:00
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.
2020-07-27 21:21:01 -04:00
Lioncash
7b070bbf62
nvflinger: Mark interface functions with return values as [[nodiscard]]
...
Not using the return value of these functions are undeniably the source
of a bug. This way we allow compilers to loudly make any future misuses
evident.
2020-07-25 19:42:45 -04:00
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.
2020-07-25 19:04:53 -04:00
Lioncash
bef1844a51
core_timing: Make TimedCallback take std::chrono::nanoseconds
...
Enforces our desired time units directly with a concrete type.
2020-07-15 19:41:22 -04:00
Lioncash
8b50c660df
core_timing: Make use of std::chrono with ScheduleEvent
2020-07-15 18:54:15 -04:00
Fernando Sahmkow
e486c66850
NvFlinger: Clang Format.
2020-06-27 11:36:30 -04:00