summaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: make gpu context aware of rendering programGravatar Liam2024-02-261-4/+4
|
* nvnflinger/gpu: implement applet captureGravatar Liam2024-02-091-0/+15
|
* nvnflinger/gpu: implement layer stack compositionGravatar Liam2024-01-311-19/+10
|
* GPU-SMMU: Estimate game leak and preallocate device region.Gravatar Fernando Sahmkow2024-01-181-2/+0
|
* GPU SMMU: Expand to 34 bitsGravatar Fernando Sahmkow2024-01-181-0/+1
|
* SMMU: Initial adaptation to video_core.Gravatar Fernando Sahmkow2024-01-181-13/+15
|
* NVDRV: Implement sessions and initial implementation of SMMUGravatar Fernando Sahmkow2024-01-181-1/+1
|
* Query Cachge: Fully rework Vulkan's query cacheGravatar Fernando Sahmkow2023-09-231-1/+3
|
* Memory Tracking: Optimize tracking to only use atomic writes when contested ↵Gravatar Fernando Sahmkow2023-06-281-1/+9
| | | | with the host GPU
* MemoryTracking: Initial setup of atomic writes.Gravatar Fernando Sahmkow2023-06-281-1/+3
|
* (wall, native)_clock: Add GetGPUTickGravatar Morph2023-06-071-8/+3
| | | | Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
* core_timing: Use CNTPCT as the guest CPU tickGravatar Morph2023-06-071-7/+7
| | | | | 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.
* core: frontend: Refactor GraphicsContext to its own module.Gravatar bunnei2023-06-031-0/+1
|
* GPU: Add Reactive flushingGravatar Fernando Sahmkow2023-05-071-0/+19
|
* core_timing: Use higher precision sleeps on WindowsGravatar Morph2023-03-051-1/+1
| | | | | | 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.
* Remove OnCommandListEndCommandGravatar Behunin2023-02-071-1/+1
| | | | Call rasterizer->ReleaseFences() directly
* renderer_opengl: refactor context acquireGravatar Liam2022-12-131-2/+3
|
* General: address feedbackGravatar Fernando Sahmkow2022-10-061-1/+1
|
* VideoCore: Refactor fencing system.Gravatar Fernando Sahmkow2022-10-061-10/+7
|
* NVDRV: Further refactors and eliminate old code.Gravatar Fernando Sahmkow2022-10-061-48/+0
|
* NVDRV: Refactor Host1xGravatar Fernando Sahmkow2022-10-061-25/+2
|
* VideoCore: Refactor syncing.Gravatar Fernando Sahmkow2022-10-061-95/+102
|
* Texture cache: Fix the remaining issues with memory mnagement and unmapping.Gravatar Fernando Sahmkow2022-10-061-0/+8
|
* NVHOST_CTRl: Implement missing method and fix some stuffs.Gravatar Fernando Sahmkow2022-10-061-0/+5
|
* VideoCore: implement channels on gpu caches.Gravatar Fernando Sahmkow2022-10-061-387/+81
|
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-231-3/+2
| | | | | 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.
* video_core: Replace lock_guard with scoped_lockGravatar Merry2022-04-071-3/+3
|
* Rasterizer: Refactor inlineToMemory.Gravatar Fernando Sahmkow2022-02-011-4/+2
|
* GPU: Improve syncing.Gravatar Fernando Sahmkow2022-01-291-3/+10
|
* Rasterizer: Implement Inline2Memory Acceleration.Gravatar Fernando Sahmkow2022-01-291-0/+1
|
* Merge pull request #7636 from vonchenplus/buffer_queue_queryGravatar bunnei2022-01-041-1/+0
|\ | | | | core:hle:service:nvflinger Implement few type in bufferqueue query method
| * Remove invalid header includeGravatar Feng Chen2021-12-281-1/+0
| |
* | gpu: Add shut down method to synchronize threads before destructionGravatar ameerj2022-01-031-0/+10
| |
* | Revert "Merge pull request #7668 from ameerj/fence-stop-token"Gravatar ameerj2022-01-031-6/+13
| | | | | | | | | | This reverts commit e7733544779f2706d108682dd027d44e7fa5ff4b, reversing changes made to abbbdc2bc027ed7af236625ae8427a46df63f7e7.
* | gpu: Use std::stop_token in WaitFence for VSync threadGravatar ameerj2022-01-031-13/+6
|/ | | | Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
* Address feedbackGravatar Feng Chen2021-12-051-4/+5
|
* Support multiple videos playingGravatar Feng Chen2021-12-021-30/+13
|
* nvhost_ctrl: Refactor usage of gpu.LockSync()Gravatar ameerj2021-10-031-8/+1
| | | | This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
* gpu: Migrate implementation to the cpp fileGravatar ameerj2021-10-031-420/+800
|
* gpu: Use std::jthread for async gpu threadGravatar ameerj2021-09-151-8/+0
|
* accelerateDMA: Accelerate Buffer Copies.Gravatar Fernando Sahmkow2021-07-111-0/+1
|
* Fence Manager: Add fences on Reference Count.Gravatar Fernando Sahmkow2021-07-091-1/+3
|
* video_core: gpu: WaitFence: Do not block threads during shutdown.Gravatar bunnei2021-05-291-1/+11
| | | | | - 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.
* perf_stats: Rework FPS counter to be more accurateGravatar ameerj2021-05-151-0/+5
| | | | | | | | | 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.
* nvhost_vic: Fix device closureGravatar ameerj2021-04-241-3/+1
| | | | | | 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.
* Merge pull request #6125 from ogniK5377/nvdec-close-devGravatar bunnei2021-04-161-5/+7
|\ | | | | nvdrv: Cleanup CDMA Processor on device closure
| * Address issuesGravatar Chloe Marcec2021-04-161-3/+2
| |
| * nvdrv: Cleanup CDMA Processor on device closureGravatar Chloe Marcec2021-03-301-5/+8
| | | | | | | | Brings us a step closer to unifying all channels to share a common interface.
* | common: Move settings to common from core.Gravatar bunnei2021-04-141-1/+1
| | | | | | | | - Removes a dependency on core and input_common from common.
* | video_core/gpu_thread: Implement a ShutDown method.Gravatar Markus Wick2021-04-071-2/+2
|/ | | | | | This was implicitly done by `is_powered_on = false`, however the explicit method allows us to block until the GPU is actually gone. This should fix a race condition while removing the other subsystems while the GPU is still active.