Commit Graph

60 Commits

Author SHA1 Message Date
illusion98 b90a00b7e9 Revert "[Memory] Trigger watches when making pages writable, not the other way around"
A Workaround for UE3 games causing exploding vertices.
This reverts commit 8ba6f3fc37.
2019-11-21 21:50:39 -05:00
Triang3l 8ba6f3fc37 [Memory] Trigger watches when making pages writable, not the other way around 2019-11-10 14:21:36 +03:00
Triang3l 7e6bf8022f [Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448 2019-08-24 17:42:06 +03:00
Triang3l e35c609224 Revert "[APU] Temp XMA context allocation region workaround"
This reverts commit 968c337d22.
2019-08-16 21:11:55 +03:00
Triang3l 968c337d22 [APU] Temp XMA context allocation region workaround 2019-08-16 09:47:28 +03:00
Triang3l e862169156 [Memory] BaseHeap::TranslateRelative including host address offset 2019-08-15 00:31:21 +03:00
Triang3l 2152c79965 [Memory] 0xE… adjustment in TranslateVirtual 2019-08-14 00:07:27 +03:00
Triang3l 741b5ae2ec [Memory] Add HostToGuestVirtual and use it in a couple of places 2019-08-13 23:49:49 +03:00
Triang3l cb0e18c7dc [Memory] BaseHeap::host_address_offset 2019-08-04 23:55:54 +03:00
Triang3l 25675cb8b8 [Memory] E0000000 adjustment in watches only for Windows 2019-08-04 23:10:59 +03:00
Triang3l d20c2fa9da [Memory/Vulkan] Move old memory watches to the Vulkan backend 2019-08-03 21:06:59 +03:00
Triang3l 0370f8bbd9 [Memory] Pass exact_range to watch callbacks 2019-08-03 19:16:04 +03:00
Triang3l 24383b9137 [Memory/D3D12] Unwatch up to 256 KB ranges 2019-07-31 00:18:12 +03:00
Triang3l b5fb84473d [Memory] Replace forgotten InvalidateRange in NtReadFile 2019-07-30 09:06:23 +03:00
Triang3l 4aceeb73c4 [Memory] Move new watches to heap-aware Memory from MMIOHandler 2019-07-30 08:00:20 +03:00
Triang3l 6e36101b42 [D3D12] Experimental write watch implementation for shared memory 2018-09-24 23:18:16 +03:00
Triang3l db625892ea [D3D12] Shared memory typo fix and improvements 2018-08-01 01:09:51 +03:00
Triang3l 4f7edff19d [D3D12] SHM: Watches prototype, some uploading 2018-07-26 22:52:26 +03:00
DrChat d0460122f4 [Core] BaseHeap::QueryBaseAndSize 2018-02-10 21:58:44 -06:00
DrChat e3787c05c1 [Core] QueryRegionInfo - report the original allocation size 2018-02-10 19:14:58 -06:00
DrChat 325599948a [Core] Remove hardcoded type field from HeapAllocationInfo 2018-02-10 16:47:53 -06:00
DrChat 4db94473ec [Core] Memory::GetPhysicalHeap 2018-02-10 16:45:06 -06:00
Dr. Chat aee5601c68 xboxkrnl: Initial (untested) implementation of NtProtectVirtualMemory 2017-07-24 21:41:47 -05:00
gibbed 16a15bab98 Exposed total page count. 2016-06-21 10:10:08 -05:00
gibbed 32e0ef397c Attempt at reporting something of an 'accurate' unreserved physical page
count. Still needs work.
2016-06-21 09:37:21 -05:00
Dr. Chat 0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05:00
Ben Vanik bbff23a8bb REBASE: Fixing Memory::Reset(). 2015-12-29 13:09:18 -08:00
Dr. Chat 432e32f7c2 memory Save/Restore 2015-12-29 13:09:18 -08:00
Ben Vanik ca8d658ffe Speeding up PPC tests significantly. 2015-12-27 12:03:30 -08:00
Ben Vanik 00240945fe Cleanup for the latest clang-format version. 2015-12-03 19:52:02 -08:00
Ben Vanik 249b952de9 Adding some comments. 2015-12-02 17:37:48 -08:00
Ben Vanik 3c96b6fa0a DANGER DANGER. Switching to global critical region.
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik f5e374f9b5 Changing the way the global lock works. Some things are better, I think.
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik 5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07:00
Ben Vanik 8154d1dad6 Moving xe::Memory and code cache to abstracted APIs. 2015-07-15 22:10:05 -07:00
Ben Vanik 72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Ben Vanik 52b8f4b54b Removing memory reservation value check for load/store. 2015-06-07 21:57:44 -07:00
Ben Vanik 40a6a12800 Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly. 2015-06-02 20:15:43 -07:00
Ben Vanik f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik da655d15b3 Sharing memory. 2015-05-25 00:51:23 -07:00
Ben Vanik 147a70b9c1 Rewriting memory manager. 2015-05-17 00:16:56 +01:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik 4c8f3501ad Removing xdb and old tracing code before rewrite. 2015-05-03 22:01:31 -07:00
Ben Vanik e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik 30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik ec84a688e9 Starting to properly attribute virtual vs. physical memory accesses. 2015-03-29 11:11:35 -07:00
Ben Vanik 3a197705bb Special memory functions for system allocs. 2015-03-28 15:54:44 -07:00
Ben Vanik 281abea955 Converting addresses in xe::cpu to 32bit. 2015-03-24 19:41:29 -07:00
Ben Vanik 29912f44c0 Moving alloy/ into xenia/cpu/ to start simplifying things. 2015-03-24 07:46:18 -07:00