Commit Graph

217 Commits

Author SHA1 Message Date
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
Ben Vanik b0425f7ee2 Moving source map to Function. 2015-08-01 14:07:13 -07:00
Ben Vanik cb701fcb7c Latest linter. 2015-08-01 04:08:59 -07:00
Ben Vanik b56b262116 Switching to python build script. 2015-07-31 23:48:24 -07:00
Ben Vanik c67173fe36 Switching to real page sizes, not allocation granularity. 2015-07-29 20:28:06 -07:00
Ben Vanik 7ecc6362de Debugger stuff. Lots of wasted work :/ 2015-07-26 22:47:16 -07:00
Ben Vanik 8ce6765233 Fixing socket startup. 2015-07-25 12:25:15 -07:00
Dr. Chat e7def962f3 Expose native thread id 2015-07-24 18:41:53 -05:00
Ben Vanik d01abd4694 Starting debugger rework, adding base async socket, removing flatbuffers. 2015-07-22 00:01:36 -07:00
Ben Vanik 5bd7833e87 More clang fixes. xenia-kernel is clean. 2015-07-19 21:29:06 -07:00
Ben Vanik 12a29371e3 Clang fixes. 2015-07-19 18:32:48 -07:00
Ben Vanik baa86fcd1b Migrating xam UI to elemental-forms.
Fixes #345.
2015-07-19 14:43:27 -07:00
Ben Vanik edfa3f3fc0 Replacing the tick count timer with xplat abstraction (also better rate).
Fixes #346.
2015-07-19 10:11:54 -07:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Dr. Chat 7595df4876 We don't need to be the calling thread to set a thread name. 2015-07-17 19:50:04 -05:00
Ben Vanik 74d2df2004 libxenia-base can now compile with clang. 2015-07-15 23:02:04 -07:00
Ben Vanik f520d3a2a4 Run with latest clang-format. 2015-07-15 22:44:30 -07:00
Ben Vanik c3415e6332 Adding TLS abstraction. 2015-07-15 22:20:33 -07:00
Ben Vanik 8154d1dad6 Moving xe::Memory and code cache to abstracted APIs. 2015-07-15 22:10:05 -07:00
Ben Vanik fefaa31cd8 Switching a few types to their platform-agnostic versions. 2015-07-15 22:09:19 -07:00
Ben Vanik 6cf29b969d Abstraction for VirtualAlloc/VirtualFree. 2015-07-15 19:05:08 -07:00
Ben Vanik 58c3a1ba79 VirtualProtect platform abstraction. 2015-07-15 18:20:05 -07:00
Ben Vanik 99104a25a8 Fixing thread exit. 2015-07-15 18:01:17 -07:00
Ben Vanik 42400d06a9 Making stateless file IO platform-agnostic. 2015-07-15 18:01:09 -07:00
Ben Vanik a6012b73f4 Switching audio system to platform-agnostic primitives. 2015-07-14 23:13:56 -07:00
Ben Vanik 345fe60da0 Switching over kernel objects to the platform-agnostic APIs.
Possibly some regressions here.
2015-07-14 22:44:45 -07:00
Ben Vanik bd058feb39 Wait primitives. 2015-07-14 20:22:15 -07:00
Ben Vanik bd490d5833 Threading primitives, in prep for removing Win32 from kernel/ and others. 2015-07-13 22:49:29 -07:00
Ben Vanik d89bad7380 Removing uses of Sleep/SwitchToThread/etc. 2015-07-13 21:54:24 -07:00
Ben Vanik 40621a90bd Switching to standard mutex for now (but keeping xe::mutex). 2015-07-13 21:49:32 -07:00
Ben Vanik 72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Ben Vanik 4097fe420e Merge pull request #322 from DrChat/xex2_patch
XEX2 Code Refactoring
2015-07-03 19:38:36 -07:00
raven02 0f7f2f2491 gl4: swap high and low 16 bits within a 32 bit word using SSE intrinsics 2015-07-04 00:35:48 +08:00
Dr. Chat 362a521c79 Rewrite XexModule to drop dependency on old xex2 headers for imports 2015-07-03 08:17:23 -05:00
raven02 3ce6e0ccd8 Use SSE intrinsics for uint64_t byte swapping 2015-07-02 23:26:02 +08:00
raven02 fcf89a61e7 Use SSE intrinsics for uint32_t byte swapping 2015-07-02 23:25:10 +08:00
raven02 fea115a6f4 Use SSE intrinsics for uint16_t byte swapping
Part of https://github.com/benvanik/xenia/issues/308
2015-07-02 23:04:48 +08:00
Ben Vanik 4ec0655751 xe::ui control for hosting a turbobadger UI. 2015-07-01 15:58:04 -07:00
Ben Vanik dec0d12cc9 Replacing includes of windows headers with base/platform.h. 2015-07-01 09:02:04 -07:00
Ben Vanik d7a5c74bf3 Formatting: force pointers to the left side. 2015-06-30 16:16:33 -07:00
Ben Vanik cc08e9019a Move NtCreateFile/NtOpenFile to VFS, implement (mostly) for real.
Progress on #305.
2015-06-29 10:33:36 -07:00
Ben Vanik 1106029afc _wfopen -> xe::filesystem::OpenFile.
Progress on #305.
2015-06-28 17:33:46 -07:00
Ben Vanik 30e0c6dbb1 Support --target=path to stfs root.
Fixes #302.
2015-06-28 15:28:04 -07:00
Ben Vanik 7875a4b0ba Merge pull request #300 from DrChat/hmodule_fix
Swap to using HMODULE instead of handles for xex modules.
2015-06-28 12:01:32 -07:00
Ben Vanik 83872d8e8f Refactoring vfs to remove a lot of duplicated code.
Progress on #294.
2015-06-27 22:37:49 -07:00
Dr. Chat 944b39c51d Apply some lint n' stuff 2015-06-27 22:50:08 -05:00
Dr. Chat 1289e7ad22 xe::be basic arithmetic operators 2015-06-27 21:49:57 -05:00
Ben Vanik 1ac19f1b08 Replacing vfs memory mapping with base memory mapping.
Progress on #294.
2015-06-27 18:02:20 -07:00
Ben Vanik 0716cf84c0 Renaming xe::fs to xe::filesystem and xe::kernel::fs to xe::vfs.
Progress on #294.
2015-06-27 13:31:21 -07:00
Ben Vanik 9441808b40 Adding menus. 2015-06-22 23:30:34 -07:00
Ben Vanik fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
gibbed edbd724370 - Fixed a few bugs with ringbuffer, and some cleanup.
- Reworked audio system to use semaphores instead of events for waiting.
  Should fix rare issues where the XAudio2 driver would run out of buffers
  even though it was supposed to be guarded against that.
2015-06-19 21:48:51 -05:00
gibbed f1e9c36f00 Better ringbuffer implementation. 2015-06-19 09:54:21 -05:00
Drew DeVault f74d1b2f99 Add climits include to clock.cc 2015-06-16 23:45:49 -06:00
Drew DeVault 39253cbb93 Add cstring include to xenia/base/string.h 2015-06-16 23:45:37 -06:00
Drew DeVault a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Ben Vanik cabf9d6261 Adding some GPU docs and creating output directories automatically. 2015-06-10 19:20:14 -07:00
Ben Vanik 56a4620cdf Switching StringBuffer to use a raw pointer. 2015-06-10 00:24:17 -07:00
Ben Vanik 070d34cd02 Fiddling with function data. 2015-06-09 22:01:01 -07:00
Ben Vanik ba88955be4 vsnprintf return is dumb. 2015-06-07 16:13:05 -07:00
Dr. Chat 35ad3c0f1f DebugPrint to debugger util function 2015-06-06 00:48:28 -05:00
Ben Vanik bc9652e671 Actually fixing the off by one in log buffer size. 2015-06-04 20:04:39 -07:00
Ben Vanik d3ddf0e718 Make the log buffer stupid large. 2015-06-04 19:58:26 -07:00
Ben Vanik b6728ce23e Removing additional varargs trampoline in shader translator. 2015-06-03 22:34:58 -07:00
Dr. Chat 826609cd60 Cleanup some audio system code. 2015-06-03 11:14:10 -05:00
Ben Vanik e186fcaf0d Fixing end_of_file and allocation_size, some wildcard stuff, etc. 2015-06-02 22:13:16 -07:00
Dr. Chat e09ea50c74 .cpp -> .cc and add ring_buffer.cc to the project 2015-06-02 11:23:04 -05:00
Dr. Chat 8c1e476bab Restylizing. 2015-06-02 10:18:45 -05:00
Dr. Chat ad8918f326 RingBuffer util class 2015-06-02 10:11:59 -05:00
Ben Vanik d816d80190 StringBuffer cleanup. 2015-05-31 14:35:30 -07:00
gibbed 3300945660 Fixed 8-bit and 16-bit xe::lzcnt. 2015-05-28 12:16:19 -05:00
Ben Vanik db3d8fdc87 Time scaling works (num pad +/- or --time_scalar=X). 2015-05-27 19:04:47 -07:00
Ben Vanik 8244409501 Refactoring to enable future time scaling, coordinated clocks, etc. 2015-05-26 22:20:58 -07:00
Ben Vanik e3ddcd44e7 Minor fixes and fixing thread names. 2015-05-25 21:10:28 -07:00
Ben Vanik 273b9939e1 Fixing some misc thread/audio stuff. 2015-05-25 00:58:43 -07:00
Ben Vanik f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik 8ac1f61c64 RAII object reference, debug mutex, etc. 2015-05-25 00:51:24 -07:00
Ben Vanik 92f5fe3b88 Changing page_size to allocation granularity. 2015-05-18 20:47:40 -07:00
Ben Vanik d9eca84d0b Formatting. 2015-05-12 18:17:34 -07:00
gibbed be1c60c74f Disabled lzcnt intrinsic usage for now. 2015-05-12 00:48:39 -05:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik 23eb343484 Calling DllMain, fixing ref count, and fixing module search. 2015-05-09 00:56:42 -07:00
Ben Vanik 94c62b91d0 --trace_functions and --trace_function_coverage 2015-05-05 22:44:36 -07:00
Ben Vanik a38b05db24 Chunked mapped memory writer. 2015-05-05 18:52:53 -07:00
Ben Vanik d9e4bc98e1 Code cleanup: removing cxx_compat.h 2015-05-02 10:55:22 -07:00
sephiroth99 fbb3878cf4 Remove cxx_compat.h header
Revert commits 6d159dc2 and 3f480d24. Visual Studio 2013 is not
supported anymore, so they are not needed.
2015-05-02 09:36:34 -04:00
Ben Vanik e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00