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