Commit graph

408 commits

Author SHA1 Message Date
SDK-Chan
c36cc0d3ee
[core/nvdrv] Fix Random Unmap Memory Clearing (#176)
Now memory should only be unmapped after it was mapped.
Could eventually fix some graphical errors, and improve performance.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/176
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-08-14 14:30:09 +02:00
SDK-Chan
03ab350bc6
[nvdrv] Add AllocGPFIFOEX1 + modify GPFIFOEXs (#115)
I noticed that AllocGPFIFOEX was missing from eden.
It is the same as GPFIFOEX2, but is called separately, even on the real console.
I updated the struct to match closely the one seen on switchbrew, and changed the STUBS, because according to sources they seem to be complete.
My guess is that the STUBS were remained due to the unknowns back then.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/115
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-24 16:57:53 +02:00
SDK-Chan
46ddbea71c
[nvdrv] Unstub Allocate Object Context (#104)
Adds proper checking to allocate object context, and saves each context separately, based on old stubs from Yuzu's, implemented now to resolve services and better handling of future issues.

Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/104
Co-authored-by: SDK-Chan <sdkchan@eden-emu.dev>
Co-committed-by: SDK-Chan <sdkchan@eden-emu.dev>
2025-07-24 16:34:18 +02:00
lizzie
12a690e15f
[nvdrv] ZBC table implement stubs (#83)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/83

This commit introduces an implementation for `ZBCSetTable` in `nvhost_ctrl_gpu`, which is invoked by games and system services to configure default clear values for depth, stencil, and color attachments on the GPU, allowing better instructions on how the ZCull Block Compression expects to work within the emulated GPU.

This is an important step for compatibility with titles or system modules that expect ZBC configuration support.
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-21 04:35:43 +02:00
Pavel Barabanov
b66ebe638b Qlauncher firmware 19 2025-04-14 14:18:13 -04:00
crueter
9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
darktux
616619c8f7 Port changes from Early Access 2025-04-04 03:40:46 +02:00
Liam
e15b1021a4 video_core: make gpu context aware of rendering program 2024-02-26 11:16:14 -05:00
FearlessTobi
4d55e58ee4 scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
f5d736af4b vi: manage resources independently of nvnflinger and refactor 2024-02-17 18:08:38 -05:00
Liam
b1f1beae41 nvnflinger: convert to process 2024-02-17 18:01:41 -05:00
Liam
1c32e4157c nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
Liam
effe70a904 nvservices: unmap only on last container free 2024-02-09 09:20:53 -05:00
liamwhite
d26c4a5090 Merge pull request #12914 from FernandoS27/vc-refactor
VideoCore Refactor Part 1.
2024-02-08 10:59:59 -05:00
liamwhite
9e83fdcde3 Merge pull request #12883 from FernandoS27/memory_manager_mem
MemoryManager: Reduce the page table size based on last big page address.
2024-02-06 10:25:03 -05:00
Fernando Sahmkow
758d895408 Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
Fernando Sahmkow
6f91002f90 NVDRV: Refactor HeapMapper to use RangeSets 2024-02-04 20:01:50 +01:00
Fernando Sahmkow
4d65645d80 MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
Liam
5ec76db392 nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
Fernando Sahmkow
811f5f1b1e NVDRV: Join the heaper optimization blocks 2024-01-31 16:38:51 +01:00
liamwhite
ff084ece75 Merge pull request #12759 from liamwhite/mp-misc
core: miscellaneous fixes
2024-01-25 16:21:38 -05:00
Narr the Reg
aad9258100 service: properly convert buffers to strings 2024-01-23 10:24:05 -06:00
Liam
cc7a7b5253 nvservices: close map handles on session close 2024-01-22 21:18:52 -05:00
Liam
d31406f2c1 nvhost_vic: use map erase by key 2024-01-18 21:12:30 -05:00
Liam
0bb66a7b2b nvdrv: clean up preallocation 2024-01-18 21:12:30 -05:00
Liam
344d9c067c nvdrv: use correct names for interface factory 2024-01-18 21:12:30 -05:00
Liam
bf2dab5b2b nvdrv: use static typing for SessionId, smmu Asid types 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
b206089ea7 Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
aaf5f8c831 SMMU: Fix software rendering and cleanup 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
0797d63a36 SMMU: Add continuity tracking optimization. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
355bbea52d SMMU: Add Android compatibility 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
ff6cd1c212 GPU-SMMU: Estimate game leak and preallocate device region. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
bb7b14acd5 GPU SMMU: Expand to 34 bits 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
f11218a03e SMMU: Implement physical memory mirroring 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
9db159da71 SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
Fernando Sahmkow
eb4f7f35ea NVDRV: Implement sessions and initial implementation of SMMU 2024-01-18 21:12:30 -05:00
Viktor Szépe
cff668e1c4 Fix typos in src/core (#12625)
* Fix typos in src/core

* Fix typo correction

* Fix indentation of MemoryStateNames

* Fix indent
2024-01-08 13:31:48 -06:00
Liam
cb176ebdd7 nvdrv: rework to remove memcpy 2023-10-25 13:05:56 -04:00
Liam
16156ce42d nvdrv: fix up remaining copy calls 2023-10-25 13:05:56 -04:00
Liam
a059aedaf1 nvdrv: convert nvmap 2023-10-25 13:05:56 -04:00
Liam
ad86f1c9ce nvdrv: convert codec devices 2023-10-25 13:05:56 -04:00
Liam
fb546a39c7 nvdrv: convert nvhost_gpu 2023-10-25 13:05:56 -04:00
Liam
61e871d4e7 nvdrv: convert nvhost_ctrl 2023-10-25 13:05:56 -04:00
Liam
9153c0f5ce nvdrv: convert nvhost_ctrl_gpu 2023-10-25 13:05:55 -04:00
Liam
9bcb1481ff nvdrv: add ioctl command serialization, convert nvhost_as_gpu 2023-10-25 13:05:55 -04:00
Narr the Reg
9567f9aaed service: nvnflinger: Implement shared buffer
Co-authored-by: Liam <byteslice@airmail.cc>
2023-10-01 11:38:30 -06:00
Danila Malyutin
7f0de0f204 msvc: set warning level to /W4 globally
And fix a bunch of warnings
2023-09-03 18:42:10 +04:00
Liam
a8ceb25eb6 nvhost_as_gpu: ensure mappings are aligned to big page size when deallocated 2023-08-25 09:39:18 -04:00
Liam
6b6f0b21b9 k_process: PageTable -> GetPageTable 2023-07-14 21:43:15 -04:00
Morph
b8004b2472 general: Use ScratchBuffer where possible 2023-06-30 21:49:59 -04:00