Commit Graph

2833 Commits

Author SHA1 Message Date
sephiroth99 049ca6de42 Use Clang 3.8 for Linux building. 2015-09-25 23:40:56 -04:00
Ben Vanik ee92f75a84 Updating to the latest clang-format. Make sure to update yourselves! 2015-09-22 08:26:19 -07:00
Ben Vanik 2298fa8048 Now that clang-3.8 is whitelisted on travis, try that. 2015-09-22 08:19:57 -07:00
Ben Vanik a47badd84f Pulling latest submodules. 2015-09-22 07:54:46 -07:00
Ben Vanik 69b58cf189 Fixing checked build. 2015-09-22 07:52:45 -07:00
sephiroth99 8272beb8d2 Fix assignment of temporary value to non-const reference. 2015-09-22 07:45:57 -07:00
sephiroth99 08ae855e07 It seems 'export' is a reserved keyword for clang. 2015-09-22 07:45:52 -07:00
sephiroth99 f3a4e1146f Fix logical-op parenthesis error from clang. 2015-09-22 07:44:16 -07:00
sephiroth99 7fb4fd2790 More workarounds for __m128. 2015-09-22 07:44:04 -07:00
sephiroth99 7e58ad2800 Put MSVC buildoptions under Windows platform filter. 2015-09-22 07:43:59 -07:00
sephiroth99 ab2ef82d55 xobject: remove accept method of object_ref class
The removed method was causing an error in clang ("call to non-static member
function without an object argument"). As it was not used, simply remove
it.
2015-09-22 07:43:08 -07:00
sephiroth99 890e4591ce Set premake language to C for projects with C source code. 2015-09-22 07:42:52 -07:00
sephiroth99 5cec2b3d3e Move Windows specific linkoption under Windows platform section. 2015-09-22 07:42:46 -07:00
sephiroth99 9961fbde2e Set std=c++14 only when compiling C++ projects. 2015-09-22 07:41:37 -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 9134061044 Set clang as the C compiler and clang++ as the C++ compiler. 2015-09-22 07:39:42 -07:00
sephiroth99 542f5ba8e5 Move GetTempReg higher in the source file, before its first usage. 2015-09-22 07:39:26 -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 3fc1d02a09 Suspend some host threads that make guest callbacks. 2015-09-21 21:24:26 -07:00
Ben Vanik 4c8634bc31 Fixing breakpoints. 2015-09-21 21:10:57 -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
Ben Vanik 8046c19898 Correcting bad flags.txt path. Fixes #424. 2015-09-12 10:02:06 -07:00
Ben Vanik 80c75151c9 Fixing libav incomplete build issue. Fixes #425. 2015-09-12 10:00:19 -07:00
Ben Vanik 02103ddde0 Merge pull request #423 from DrChat/crash_pause
Pause Xenia if it crashes in guest code
2015-09-11 15:19:32 -07:00
Dr. Chat 2983b0c090 Update some documentation. 2015-09-11 17:12:49 -05:00
Dr. Chat cad23cea81 Pause the emulator if the guest crashes and the VS debugger isn't attached. 2015-09-11 17:09:25 -05:00
Dr. Chat 8e716a3a7e Exception handler abstraction class 2015-09-11 17:07:12 -05:00
Ben Vanik edef57065b Merge pull request #421 from DrChat/mmio_fix
Fix the MMIO handler picking up invalid accesses outside of the mapped range
2015-09-07 19:29:37 -07:00
Dr. Chat a2bc0443f2 Quick-kill the MMIO handler if the fault address is above the mapping range. 2015-09-07 21:26:33 -05:00
Ben Vanik 3ac83b16c8 Fix double window destroy. 2015-09-07 09:41:44 -07:00
Ben Vanik fa9c681c7c Implicit Window::MakeReady on context set. 2015-09-07 09:29:07 -07:00
Ben Vanik ec7c74d04c Ref count elemental. 2015-09-07 09:26:36 -07:00
Ben Vanik 539f69f368 Multi-window GL contexts. 2015-09-07 09:08:54 -07:00
Ben Vanik 5411b67e05 Only register window class once. 2015-09-07 09:08:38 -07:00
Ben Vanik 3e66afeb3a Don't steal focus on mouse move. 2015-09-07 09:08:27 -07:00
Ben Vanik 855ab7c040 Fixing set_bordered name. 2015-09-07 09:08:19 -07:00
Ben Vanik 2b30ac393d Source control. 2015-09-07 08:28:02 -07:00
Ben Vanik a1a996c1e6 Shrinking UI elements in the debugger. 2015-09-06 20:49:20 -07:00
Ben Vanik e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik 494cba7131 Removing unused XAsyncRequest. 2015-09-06 14:10:34 -07:00
Ben Vanik 8588fbc6cf Shuffling kernel util types to util/. 2015-09-06 13:45:52 -07:00
Ben Vanik 068b2056ca Explode more gracefully on crashes while crashing. 2015-09-06 13:34:39 -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 cb3dbcccbc Notes. 2015-09-06 11:05:16 -07:00
Ben Vanik e48c3534cc Removing copy to temp buffer in log flush. 2015-09-06 10:28:17 -07:00
Ben Vanik 9ae807e56e Initialize builtins to 0. 2015-09-06 10:07:27 -07:00
Ben Vanik 669f5b061f Moving DPC list into KernelState and removing unused file. 2015-09-06 09:36:39 -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