niansa
362f2047b4
Port changes from Early Access
2024-03-08 22:44:03 +00:00
Crimson Hawk
cdbdf63ebe
Revert "Merge branch 'master' into 'dev'"
...
This reverts merge request !17
2024-03-06 05:26:38 +00:00
AMA2581
5720814b13
modifying all the files to match the app
2024-03-06 00:19:07 +03:30
Liam
d66ca8b731
video_core: make gpu context aware of rendering program
2024-02-26 11:16:14 -05:00
Liam
0cb413c3d3
nvnflinger/gpu: implement applet capture
2024-02-09 09:20:53 -05:00
Liam
a595e9e8a7
nvnflinger/gpu: implement layer stack composition
2024-01-31 11:27:21 -05:00
Fernando Sahmkow
0adc09e0af
GPU-SMMU: Estimate game leak and preallocate device region.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
96fd1348ae
GPU SMMU: Expand to 34 bits
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
0a2536a0df
SMMU: Initial adaptation to video_core.
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
7a9d1ad2f8
NVDRV: Implement sessions and initial implementation of SMMU
2024-01-18 21:12:30 -05:00
Fernando Sahmkow
f1a2e36711
Query Cachge: Fully rework Vulkan's query cache
2023-09-23 23:05:29 +02:00
Fernando Sahmkow
da440da9f5
Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU
2023-06-28 21:32:45 +02:00
Fernando Sahmkow
47d0d292d5
MemoryTracking: Initial setup of atomic writes.
2023-06-28 19:34:21 +02:00
Morph
907507886d
(wall, native)_clock: Add GetGPUTick
...
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
2023-06-07 21:44:42 -04:00
Morph
8e56a84566
core_timing: Use CNTPCT as the guest CPU tick
...
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
2023-06-07 21:44:42 -04:00
bunnei
ae099d583c
core: frontend: Refactor GraphicsContext to its own module.
2023-06-03 00:05:31 -07:00
Fernando Sahmkow
c6cac2ffaa
GPU: Add Reactive flushing
2023-05-07 23:46:12 +02:00
Morph
bff1453282
core_timing: Use higher precision sleeps on Windows
...
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows.
Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution.
This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
2023-03-05 02:36:31 -05:00
Behunin
8551ac6008
Remove OnCommandListEndCommand
...
Call rasterizer->ReleaseFences() directly
2023-02-07 17:21:17 -07:00
Liam
d5f53da79d
renderer_opengl: refactor context acquire
2022-12-13 13:23:23 -05:00
Fernando Sahmkow
ca3db0d7c9
General: address feedback
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
920429fde7
NVDRV: Further refactors and eliminate old code.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
2931101e6f
NVDRV: Refactor Host1x
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
668e80a9f4
VideoCore: Refactor syncing.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
f350c3d74e
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
2c62563ab5
NVHOST_CTRl: Implement missing method and fix some stuffs.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
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.
2022-04-23 05:55:32 -04:00
Merry
bbc585881a
video_core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
d0a5a48948
GPU: Improve syncing.
2022-01-29 23:02:04 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
bunnei
afb06b1495
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
ameerj
c17938f96b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit e773354477
, reversing
changes made to abbbdc2bc0
.
2022-01-03 20:28:54 -05:00
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.
2022-01-03 12:31:33 -05:00
Feng Chen
e18bf4b062
Remove invalid header include
2021-12-28 18:51:11 +08:00
Feng Chen
5462485cc3
Address feedback
2021-12-05 00:06:14 +08:00
Feng Chen
2c47f8aa18
Support multiple videos playing
2021-12-02 12:48:42 +08:00
ameerj
6c0d902373
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
427bf76e62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
ameerj
877cd60b00
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
Fernando Sahmkow
be1a3f7a0f
accelerateDMA: Accelerate Buffer Copies.
2021-07-11 01:33:17 +02:00
Fernando Sahmkow
63915bf2de
Fence Manager: Add fences on Reference Count.
2021-07-09 22:20:36 +02:00
bunnei
8592f8a2b4
video_core: gpu: WaitFence: Do not block threads during shutdown.
...
- Fixes a hang on shutdown when NVFlinger thread is waiting on a syncpoint that will never occur.
- Commonly observed when stopping emulation in Super Mario Odyssey.
2021-05-29 01:06:04 -07:00
ameerj
5bef54618a
perf_stats: Rework FPS counter to be more accurate
...
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
ameerj
75e0d16caa
nvhost_vic: Fix device closure
...
Implements the OnClose method of the nvhost_vic device, and removes the remnants of an older implementation.
Also cleans up some of the surrounding code.
2021-04-24 19:22:09 -04:00
bunnei
9ad77ba6d3
Merge pull request #6125 from ogniK5377/nvdec-close-dev
...
nvdrv: Cleanup CDMA Processor on device closure
2021-04-16 23:14:44 -07:00
Chloe Marcec
edb1d5d242
Address issues
2021-04-16 13:52:32 +10:00