aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [video_core, hle] remove redundant parent references in system structs (#3908)lizzie2026-06-231-124/+58
| | | | | | | | | | reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev>
* [hle/service{nvdrv,apm}] fixes for TetrisSwitch (#3983)lizzie2026-05-241-18/+17
| | | | | | | | | | | | - testriswitch submits buffers with a fence id of -1, just skip them instead of trying to process them? - apm:u, which is removed, but hey, backwards compat never hurted - another instance of shared_memory crashing NPad Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3983 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [host1x] fix ffmpeg not having va-api on freebsd, inline nvenc (#3878)lizzie2026-04-291-1/+1
| | | | | | | | | | | | | | - fix va-api not being used on freebsd small thingies dont affect a lot: - removes some pointer indirection (why save pointer to GMMU if its accesible via host1x) - use std::variant<> for decoder - miscelly vp9/v8/h264 opts Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3878 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [*] change all std::unordered_map and std::unordered_set into ↵lizzie2026-02-101-2/+2
| | | | | | | | | | | | | | | | | | | ankerl::unordered_dense::map/set variants (#3442) mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [settings, frontend] Reorganize graphics/CPU settings, saner defaults (#3233)crueter2025-12-301-5/+4
| | | | | | | | | | | | | | - Fast GPU now defaults to 256, removed 128 since it's useless. - Completely reorganized graphics and CPU settings on both platforms. Also got rid of Eden's Veil - Merged some "use ..." settings that weren't really necessary. - Changed ExtendedDynamicState to be a combo box Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3233 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [meta] remove MicroProfile (#185)crueter2025-08-061-1/+3
| | | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* Fast CPU Time & Improved Fast GPU Time (#109)swurl2025-05-291-1/+4
| | | | | | | | | | | needs android setting Signed-off-by: swurl <swurl@swurl.xyz> Co-authored-by: Aleksandr Popovich <alekpopo@pm.me> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/109 Co-authored-by: swurl <swurl@swurl.xyz> Co-committed-by: swurl <swurl@swurl.xyz>
* Port changes from Early Accessdarktux2025-04-041-33/+0
|
* video_core: make gpu context aware of rendering programLiam2024-02-261-4/+4
|
* nvnflinger/gpu: implement applet captureLiam2024-02-091-0/+15
|
* nvnflinger/gpu: implement layer stack compositionLiam2024-01-311-19/+10
|
* GPU-SMMU: Estimate game leak and preallocate device region.Fernando Sahmkow2024-01-181-2/+0
|
* GPU SMMU: Expand to 34 bitsFernando Sahmkow2024-01-181-0/+1
|
* SMMU: Initial adaptation to video_core.Fernando Sahmkow2024-01-181-13/+15
|
* NVDRV: Implement sessions and initial implementation of SMMUFernando Sahmkow2024-01-181-1/+1
|
* Query Cachge: Fully rework Vulkan's query cacheFernando Sahmkow2023-09-231-1/+3
|
* Memory Tracking: Optimize tracking to only use atomic writes when contested ↵Fernando Sahmkow2023-06-281-1/+9
| | | | with the host GPU
* MemoryTracking: Initial setup of atomic writes.Fernando Sahmkow2023-06-281-1/+3
|
* (wall, native)_clock: Add GetGPUTickMorph2023-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 tickMorph2023-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.bunnei2023-06-031-0/+1
|
* GPU: Add Reactive flushingFernando Sahmkow2023-05-071-0/+19
|
* core_timing: Use higher precision sleeps on WindowsMorph2023-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 OnCommandListEndCommandBehunin2023-02-071-1/+1
| | | | Call rasterizer->ReleaseFences() directly
* renderer_opengl: refactor context acquireLiam2022-12-131-2/+3
|
* General: address feedbackFernando Sahmkow2022-10-061-1/+1
|
* VideoCore: Refactor fencing system.Fernando Sahmkow2022-10-061-10/+7
|
* NVDRV: Further refactors and eliminate old code.Fernando Sahmkow2022-10-061-48/+0
|
* NVDRV: Refactor Host1xFernando Sahmkow2022-10-061-25/+2
|
* VideoCore: Refactor syncing.Fernando Sahmkow2022-10-061-95/+102
|
* Texture cache: Fix the remaining issues with memory mnagement and unmapping.Fernando Sahmkow2022-10-061-0/+8
|
* NVHOST_CTRl: Implement missing method and fix some stuffs.Fernando Sahmkow2022-10-061-0/+5
|
* VideoCore: implement channels on gpu caches.Fernando Sahmkow2022-10-061-387/+81
|
* general: Convert source file copyright comments over to SPDXMorph2022-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_lockMerry2022-04-071-3/+3
|
* Rasterizer: Refactor inlineToMemory.Fernando Sahmkow2022-02-011-4/+2
|
* GPU: Improve syncing.Fernando Sahmkow2022-01-291-3/+10
|
* Rasterizer: Implement Inline2Memory Acceleration.Fernando Sahmkow2022-01-291-0/+1
|
* Merge pull request #7636 from vonchenplus/buffer_queue_querybunnei2022-01-041-1/+0
|\ | | | | core:hle:service:nvflinger Implement few type in bufferqueue query method
| * Remove invalid header includeFeng Chen2021-12-281-1/+0
| |
* | gpu: Add shut down method to synchronize threads before destructionameerj2022-01-031-0/+10
| |
* | Revert "Merge pull request #7668 from ameerj/fence-stop-token"ameerj2022-01-031-6/+13
| | | | | | | | | | This reverts commit 5a612e9217db2549ef10341359787e30d4066dbf, reversing changes made to 2e61bc3d5160b31005831bd936dfdc8ddf3722f7.
* | gpu: Use std::stop_token in WaitFence for VSync threadameerj2022-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 feedbackFeng Chen2021-12-051-4/+5
|
* Support multiple videos playingFeng Chen2021-12-021-30/+13
|
* nvhost_ctrl: Refactor usage of gpu.LockSync()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 fileameerj2021-10-031-420/+800
|
* gpu: Use std::jthread for async gpu threadameerj2021-09-151-8/+0
|
* accelerateDMA: Accelerate Buffer Copies.Fernando Sahmkow2021-07-111-0/+1
|
* Fence Manager: Add fences on Reference Count.Fernando Sahmkow2021-07-091-1/+3
|