Commit graph

15075 commits

Author SHA1 Message Date
ReinUsesLisp
153845bba3 vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers
Nvidia recently introduced a new memory type for data streaming
(awesome!), but yuzu was assuming that all heaps had enough memory
for the assumed stream buffer size (256 MiB).

This worked fine on AMD but Nvidia's new memory heap was smaller than
256 MiB. This commit changes this assumption and allocates a bit less
than the size of the preferred heap, with a maximum of 256 MiB (to avoid
allocating all system memory on integrated devices).

- Fixes a crash on NVIDIA 450.82.0.0
2020-04-17 18:12:48 -03:00
Fernando Sahmkow
74ce229ca5 Merge pull request #3703 from yuzu-emu/revert-3656-glsl-full-decompile
Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL"
2020-04-17 17:08:41 -04:00
Fernando Sahmkow
c2bd9f729c Merge pull request #3672 from lioncash/null
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
2020-04-17 17:02:35 -04:00
Rodrigo Locatti
aed8e57a1b Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL" 2020-04-17 17:41:48 -03:00
bunnei
66cb8ee64f Merge pull request #3666 from bunnei/new-vmm
Implement a new virtual memory manager
2020-04-17 16:33:08 -04:00
bunnei
d392c4e552 Merge pull request #3682 from lioncash/uam
gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator
2020-04-17 01:24:08 -04:00
bunnei
4cdbd44f51 core: hle: Address various feedback & code cleanup.
- Should be no functional changes.
2020-04-17 00:59:36 -04:00
bunnei
2e718b26c8 core: device_memory: Remove incorrect usage of constexpr. 2020-04-17 00:59:36 -04:00
bunnei
bdf7501e7b memory: Add copyright notice for Atmosphere where applicable. 2020-04-17 00:59:35 -04:00
bunnei
0cf0195874 kernel: Remove old VMManager class. 2020-04-17 00:59:35 -04:00
bunnei
a48860f7ba loader: nso: Fix loader size and arguments. 2020-04-17 00:59:35 -04:00
bunnei
9b2526392a loader: elf/kip/nro: Updates for new VMM. 2020-04-17 00:59:35 -04:00
bunnei
0707404f34 service: ldr: Updates for new VMM.
- Includes removing some service impls. that are untested.
2020-04-17 00:59:35 -04:00
bunnei
27b5b6c36f kernel: memory: page_table: Simplify GetPhysicalAddr impl. 2020-04-17 00:59:35 -04:00
bunnei
6b40850b9a kernel: svc: Updates for new VMM.
- Includes removing some SVC impls. that are untested.
2020-04-17 00:59:34 -04:00
bunnei
8a67b3058e core: memory: Fix memory access on page boundaries.
- Fixes Super Smash Bros. Ultimate.
2020-04-17 00:59:34 -04:00
bunnei
5a461a7482 video_core: memory_manager: Updates for Common::PageTable changes. 2020-04-17 00:59:34 -04:00
bunnei
43321c1a69 core: memory: Updates for new VMM. 2020-04-17 00:59:34 -04:00
bunnei
08445bbd37 common: page_table: Update to use VirtualBuffer and simplify. 2020-04-17 00:59:34 -04:00
bunnei
b592621ffe core: gdbstub: Updates for new VMM. 2020-04-17 00:59:34 -04:00
bunnei
93828bffc2 core: reporter: Updates for new VMM. 2020-04-17 00:59:33 -04:00
bunnei
88324e3513 memory: cheat_engine: Updates for new VMM. 2020-04-17 00:59:33 -04:00
bunnei
27ec77ef89 arm_test_common: Updates for new VMM. 2020-04-17 00:59:33 -04:00
bunnei
5fd6e219ea kernel: process: Updates for new VMM. 2020-04-17 00:59:33 -04:00
bunnei
7e1001c2d3 service: pl_u: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
bunnei
38b51e2ffe service: time: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
bunnei
410667d72a service: hid: Update for new shared memory layout. 2020-04-17 00:59:33 -04:00
bunnei
6d110ee83c service: irs: Update for new shared memory layout. 2020-04-17 00:59:32 -04:00
bunnei
15e751e36c kernel: resource_limit: Reserve physical memory. 2020-04-17 00:59:32 -04:00
bunnei
76a040f50d kernel: Initialize memory layout for new VMM. 2020-04-17 00:59:32 -04:00
bunnei
769f8cbf79 core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
2020-04-17 00:59:32 -04:00
bunnei
d04147e731 kernel: transfer_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
bunnei
89776f7ef7 core: Construct/Destruct DeviceMemory on Init/Shutdown. 2020-04-17 00:59:32 -04:00
bunnei
9edd67f475 kernel: shared_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
bunnei
5b2cf55742 core: device_memory: Update to use VirtualBuffer class. 2020-04-17 00:59:31 -04:00
bunnei
273f8b5fc7 common: Add VirtualBuffer class, to abstract memory virtualization. 2020-04-17 00:59:31 -04:00
bunnei
6ef844fab3 kernel: errors: Add ERR_OUT_OF_RESOURCES. 2020-04-17 00:59:31 -04:00
bunnei
1717cdf811 kernel: process_capability: Update to use Memory::PageTable. 2020-04-17 00:59:31 -04:00
bunnei
6fe68ddea2 kernel: memory: Add PageTable class, to manage process address space. 2020-04-17 00:59:31 -04:00
bunnei
ea8bc8e759 kernel: memory: Add MemoryLayout class, to build physical memory layout. 2020-04-17 00:59:31 -04:00
bunnei
9b912d155a kernel: memory: Add MemoryManager class, to manage page heaps. 2020-04-17 00:59:30 -04:00
bunnei
227e9ac5d7 kernel: memory: Add MemoryBlockManager class, to manage memory blocks. 2020-04-17 00:59:30 -04:00
bunnei
036f2f9176 kernel: memory: Add PageHeap class, to manage a heap of pages. 2020-04-17 00:59:30 -04:00
bunnei
b013b110bc kernel: memory: Add PageLinkedList class, to manage a list of pages. 2020-04-17 00:59:30 -04:00
bunnei
b94f043b7b kernel: memory: Add system_control code, which will be used for ASLR support. 2020-04-17 00:59:30 -04:00
bunnei
72d1cda09a physical_memory: Add missing include for <vector>. 2020-04-17 00:59:30 -04:00
bunnei
91a38e3fa8 kernel: memory: Add MemoryBlock class, for managing memory blocks and their state. 2020-04-17 00:59:29 -04:00
bunnei
eadd36d143 kernel: memory: Add memory_types.h, for things that are commonly used in memory code. 2020-04-17 00:59:29 -04:00
bunnei
91b899ff00 kernel: memory: Add SlabHeap class, for managing memory heaps.
- This will be used for TLS pages, among other things.
2020-04-17 00:59:29 -04:00
bunnei
9fd238a0f8 kernel: memory: Add AddressSpaceInfo class, for managing the memory address space. 2020-04-17 00:59:29 -04:00