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