Commit Graph

136 Commits

Author SHA1 Message Date
Dr. Chat
44c9e8fe25 Save/Restore the guest clock in XThreads 2015-12-29 13:09:47 -08:00
Dr. Chat
5f79d8f97e Fix RingBuffer::EndRead not detecting a split read (where second length == 0) 2015-12-29 13:09:45 -08:00
Dr. Chat
3678a22c90 Use TLS to store the current thread. 2015-12-29 13:09:24 -08:00
Dr. Chat
0b5def1ff6 MappedMemory: Support opening empty files (and extending them) / remapping files / Truncate on close 2015-12-29 13:09:21 -08:00
Dr. Chat
62351a62de filesystem::CreateFile 2015-12-29 12:35:55 -08:00
Dr. Chat
938d849c06 ByteStream class 2015-12-29 12:32:50 -08:00
Dr. Chat
42c657c40a Remove processor dependency on XThread for breakpoints 2015-12-29 12:32:47 -08:00
Ben Vanik
5019f1aa98 Possible fix for failing to create files. 2015-12-29 11:02:28 -08:00
Ben Vanik
cc72de0f64 Moving disasm to new tables.
Also adding useful CPU docs.
2015-12-28 20:49:22 -08:00
Ben Vanik
5de82887fa Adding build version information to main window/log. 2015-12-27 11:53:37 -08:00
Ben Vanik
0a316808a5 Include order fixes. 2015-12-27 10:27:46 -08:00
Ben Vanik
0e58208add Dropping elemental-forms and swapping out with imgui.
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Ben Vanik
7419e7eb4a Trace dump tool, for dumping pngs (and in the future more stuff). 2015-12-13 11:59:14 -08:00
Ben Vanik
52f339cee4 Removing bogus assert. 2015-12-05 23:24:17 -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
65130edaa1 First pass ShaderTranslator base type, able to disasm in msft style. 2015-11-28 16:19:04 -08:00
Ben Vanik
1956b8708e Fixing include orders and whitelisting others.
Will be broken until clang SVN 253772 is available on travis/snapshots.
2015-11-21 11:34:46 -08:00
Ben Vanik
93708c0c1c xe::format_string utility. 2015-11-09 11:13:34 -08:00
Ben Vanik
4af6c41740 Moving profiling.h to base - UI could be separated for cleanliness. 2015-11-07 12:31:07 -08:00
Ben Vanik
65c5279611 Fixing style. 2015-11-05 16:39:27 -08:00
Dr. Chat
88be0a362c memory::QueryProtect 2015-10-22 20:16:27 -05:00
Ben Vanik
64b8dcfd99 Lint fixes. 2015-10-17 09:30:28 -07:00
sephiroth99
7fb4fd2790 More workarounds for __m128. 2015-09-22 07:44:04 -07:00
sephiroth99
e1d569dd7c Fix usage of __m128.
With GCC and clang, __m128 is not a struct, so there are no struct members
to access the individual items in the vector.

Use standard load/store function and some hackery to workaround this
limitation.
2015-09-22 07:41:28 -07:00
sephiroth99
ff7c755bc9 memory: AlignedAlloc: fallback to aligned_alloc()
When compiling with clang++, __STDC_VERSION__ is not defined (obviously
as clang++ is not a C compiler). Because of this, check if compiling
with MSVC and fallback to the Linux implementation. If the latter is not
supported, compilation will fail, as it previously would have with the
2015-09-22 07:39:06 -07:00
Ben Vanik
83f3d520b2 Add missing header includes. 2015-09-22 07:38:59 -07:00
Ben Vanik
5d033f9cb3 A new debugger.
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Dr. Chat
2983b0c090 Update some documentation. 2015-09-11 17:12:49 -05:00
Dr. Chat
8e716a3a7e Exception handler abstraction class 2015-09-11 17:07:12 -05:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
0133bec11d Fix empty line logging. 2015-09-06 13:34:19 -07:00
Ben Vanik
790ce8aee1 Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
Ben Vanik
e48c3534cc Removing copy to temp buffer in log flush. 2015-09-06 10:28:17 -07: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
499e8b4b5b ScaleGuestDurationFileTime for absolute times. Probably right.
Fixes #409.
2015-08-30 15:40:10 -07:00
Ben Vanik
7f505a15b7 Fixing timer callbacks. 2015-08-29 23:42:40 -07:00
Ben Vanik
1d7f345960 Fix logging with null varargs. 2015-08-29 22:22:07 -07:00
Ben Vanik
a86b3821f2 Adding thread handle to logging. 2015-08-29 20:49:26 -07:00
Dr. Chat
f80e5fc98d Linting 2015-08-29 22:21:25 -05:00
Dr. Chat
3d684ac304 Fixup the premake files 2015-08-29 22:04:12 -05:00
Dr. Chat
6c83b35003 Partial frame support. 2015-08-29 21:42:06 -05:00
Dr. Chat
f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik
b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik
3c50b6739a Capturing guest/host context and showing registers in debugger. 2015-08-29 08:08:54 -07:00
Ben Vanik
ab04175aad Abstracting aligned alloc/free. 2015-08-28 14:27:44 -07:00
Ben Vanik
8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik
5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik
e6461f326c Some xb style cleanup. 2015-08-05 22:06:20 -07:00