Commit Graph

2389 Commits

Author SHA1 Message Date
Ben Vanik 93708c0c1c xe::format_string utility. 2015-11-09 11:13:34 -08:00
Ben Vanik 65e0e907d8 Normalizing the name of the GL window demo. 2015-11-08 19:11:44 -08:00
Dr. Chat c98d10545e Invalidate MMIO Ranges when memory is released or access protections are changed. 2015-11-08 19:14:06 -06:00
Dr. Chat 529227e4e6 MMIOHandler::InvalidateRange 2015-11-08 18:18:28 -06:00
Ben Vanik 8784de0162 Cleaning up unneeded file. 2015-11-08 15:08:27 -08:00
Ben Vanik 5834a42ef3 Dependency injection for apu/gpu/hid. 2015-11-08 15:02:24 -08:00
Ben Vanik 9a6c5c5c74 95% of trace viewer now gpu backend agnostic. 2015-11-08 14:05:37 -08:00
Ben Vanik b5a18b5462 Factoring out a lot of reusable GPU code from gl4/. 2015-11-08 11:54:36 -08:00
Ben Vanik b26f4a5719 Moving imgui input to a shared place. 2015-11-07 12:42:44 -08:00
Ben Vanik 1d9f73ad13 HID demo. 2015-11-07 12:31:07 -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 563552f62f Merge pull request #453 from DrChat/instr_fixes
Fix vcmpbfp having incorrect behavior when the value is equal to the bounds
2015-11-07 12:28:44 -08:00
Dr. Chat aeb635e31d vcmpbfp tests 2015-11-07 14:27:24 -06:00
Ben Vanik 2fdb00b4ed Removing use of Emulator from hid/. 2015-11-07 11:09:47 -08:00
Ben Vanik e16fa28822 Fixing elemental clipping. 2015-11-07 11:09:24 -08:00
Ben Vanik 91229de429 Making window demo graphics API-specific. 2015-11-07 10:53:07 -08:00
Ben Vanik f065872241 Adding window demo. 2015-11-07 10:37:46 -08:00
Ben Vanik fdf59fec5f Moving elemental to immediate drawer. 2015-11-07 09:52:57 -08:00
Dr. Chat abf37ed9be Fix vcmpbfp returning that the value is out of bounds for values equal to the bounds. 2015-11-06 19:04:59 -06:00
Ben Vanik 440c807936 Fix error state shutdown crash. 2015-11-06 16:27:07 -08:00
Ben Vanik 35a9697af7 Merge pull request #446 from AlexAltea/master
Fixed mtcrf which was wrongly implemented as mtcr
2015-11-06 15:11:10 -08:00
Dr. Chat 9985187b23 Implement vpkuwum/vpkuhum
Fixed vpkuwus with signed numbers
Implement some constant sources for vec average/unpack
2015-11-06 15:18:48 -06:00
Dr. Chat 64b0cc9d5e Enabled tests for vpkuhum/vpkuwum and added test with negative numbers for vpkuwus 2015-11-06 14:57:42 -06:00
Ben Vanik d4356b8cfa Removing unused buffers. 2015-11-05 23:08:22 -08:00
Ben Vanik 4c2257a29d Moving imgui to the new ImmediateDrawer. 2015-11-05 23:03:02 -08:00
Ben Vanik c631b965d7 Adding generic immediate mode drawing API and migrating microprofile.
Future changes will move elemental-forms and imgui to the common API as
well.
2015-11-05 21:36:05 -08:00
Ben Vanik 5087ccd565 Tracking capstone next. 2015-11-05 18:43:15 -08:00
Ben Vanik 5525f6c0a2 Tracking master xbyak. 2015-11-05 17:17:52 -08:00
Ben Vanik 65c5279611 Fixing style. 2015-11-05 16:39:27 -08:00
Dr. Chat 430d4c7182 Fix rare deadlock in the MMIO handler. 2015-11-05 18:13:15 -06:00
Ben Vanik cc5ebaed6d Merge pull request #450 from DrChat/indirection_table_fallback
Indirection table fallback
2015-11-04 07:57:30 -08:00
Ben Vanik 4e09bb8e61 Merge pull request #449 from DrChat/rect_list_fix_
Rectangle List Fix (projection issues on right-aligned vertices)
2015-11-04 07:46:44 -08:00
Dr. Chat 4ca62bf02c Setup the processor before doing anything else (and return an actual error code if it fails) 2015-11-04 06:48:46 -06:00
Dr. Chat f3fe260a17 Fallback case if indirection table could not be allocated. 2015-11-04 06:46:52 -06:00
Dr. Chat 9baeef02e0 Allow rect lists to fall through if they don't match the expected format 2015-11-04 05:51:34 -06:00
Ben Vanik b9326be93c Merge pull request #447 from DrChat/excreatethread_ptr_fix
Fix ExCreateThread returning a handle when game requests a pointer
2015-11-03 20:01:12 -08:00
Dr. Chat c4165a235c Fix rectangle list fragment shader for right-aligned vertices. 2015-11-03 21:32:25 -06:00
Dr. Chat cd12b3d198 Converted MmCreateKernelStack / Implemented MmDeleteKernelStack 2015-11-01 21:59:27 -06:00
Dr. Chat b628577855 Implemented KeSetCurrentStackPointers 2015-11-01 21:56:40 -06:00
Dr. Chat cee0e582c2 Remove workarounds for handles passed into Ke* functions. 2015-10-31 10:31:35 -05:00
Dr. Chat 4d22c21688 ExCreateThread: Flag 0x80 indicates we should return the thread pointer, not handle. 2015-10-31 10:28:53 -05:00
Ben Vanik e0b3d24a50 Merge pull request #445 from DrChat/kernel_trampolines
Generate trampoline functions for GetProcAddress on kernel modules
2015-10-24 17:16:33 -07:00
Alexandro Sánchez Bach c6751c1e5f Fixed mtcrf which was wrongly implemented as mtcr 2015-10-25 00:44:33 +01:00
Dr. Chat 3547d31c3d Generate trampoline functions for GetProcAddressByOrdinal on kernel modules. 2015-10-24 14:14:08 -05:00
Dr. Chat 729f762c5d RawModule SetAddressRange/set_name 2015-10-24 14:02:08 -05:00
Dr. Chat 55e811450d Lint 2015-10-22 20:22:34 -05:00
Dr. Chat 407d79cf3e Fix MMIO handler race condition by rechecking page access protections under the global lock. 2015-10-22 20:18:08 -05: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
Ben Vanik 91dfb6a8a0 Merge pull request #436 from DrChat/misc_changes
Misc changes
2015-10-17 01:15:20 -07:00
Ben Vanik d03d0233ec Merge pull request #438 from Nukem9/patch-1
Add another likely offset for ISO magic
2015-10-17 01:13:52 -07:00
Nukem 5300d185af Add another likely offset for ISO magic
Tested with Skyrim's DISC1 ISO. It doesn't load otherwise.

(Submitting this through github's web editor)
2015-10-04 02:03:08 -04:00
sephiroth99 9dfabba583 Fix compile error uncovered by Clang 3.8. 2015-09-25 23:50:05 -04:00
Dr. Chat 22629c3ef5 Use a slightly better flag name for drawing all framebuffers 2015-09-25 18:54:28 -05:00
Dr. Chat c33e95981b Formatting. 2015-09-25 18:46:50 -05:00
Dr. Chat c150552b9c Quick-kill processing the XMA context if there's no new data available. 2015-09-25 18:40:49 -05:00
Dr. Chat f2b2cc1b6f X_STATUS_MAPPED_ALIGNMENT definition 2015-09-25 18:39:42 -05:00
Dr. Chat 71818a3129 Convert NtCreateEvent to new format 2015-09-25 18:39:14 -05:00
Dr. Chat b12480820c word_t shim parameter 2015-09-25 18:38:33 -05:00
Dr. Chat f5ee6f4cf5 XEX2 lan key header 2015-09-25 18:38:10 -05:00
Dr. Chat ba399d52b9 NtAllocateVirtualMemory: Return STATUS_MAPPED_ALIGNMENT if the base address is unaligned 2015-09-25 18:37:49 -05:00
Dr. Chat d78f43c574 XamContentOpenFile stub 2015-09-25 18:35:57 -05:00
Dr. Chat bf39e33dc0 Raw modules need to commit an executable range too! 2015-09-25 18:35:33 -05:00
Dr. Chat 9ceab26560 Print the LAN key header
Check if the module is a XEX module before calling Unload on XexModule
2015-09-25 18:34:54 -05:00
Dr. Chat 9f2cf96f8a Add a flag to copy color targets and depth targets to the screen on swap 2015-09-25 18:30:39 -05:00
Dr. Chat a9b557e8b9 Allow passing of >7 arguments through Processor::Execute
Set entry status to failed if LookupFunction failed
2015-09-25 18:24:12 -05:00
Dr. Chat 3cbc65ac29 XThread Get/Set Last Error 2015-09-25 18:22:13 -05:00
Ben Vanik ee92f75a84 Updating to the latest clang-format. Make sure to update yourselves! 2015-09-22 08:26:19 -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 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 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 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
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
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
Ben Vanik 33270cd2a0 Making tracing use the fast logger path. 2015-09-05 21:12:10 -07:00
Ben Vanik 6c07eb8e5c Faster RtlFillMemoryUlong. 2015-09-05 14:38:07 -07:00
Rhodan81 9427d03d5a Fix crash in memory allocation when there is no space to fit entire page
range
2015-09-05 15:53:05 +02:00
Dr. Chat 8024e4fd20 XMA: We can only decode an entire frame and write it out at a time! Saving samples is bad. 2015-09-02 20:20:45 -05:00
Dr. Chat 3d1f079e86 NetDll_inet_addr needs to convert endianness! 2015-09-01 23:47:54 -05:00
Ben Vanik a478658b2c Re-disabling GPU interrupt log. 2015-09-01 20:24:19 -07:00
Ben Vanik 311b65537d --log_high_frequency_kernel_calls (defaults to false) to cull some lines. 2015-09-01 18:20:08 -07:00
Ben Vanik 3c1e012098 Lookup thread/event/etc objects by name on create to try to reuse. 2015-09-01 18:09:44 -07:00
Ben Vanik 3f433fe20a Object table names are case insensitive. 2015-09-01 18:08:00 -07:00
Ben Vanik f3c75b8d87 Support ObReferenceObjectByHandle for XEvents. 2015-09-01 17:42:07 -07:00
Ben Vanik b9debbaa63 Fixing section lookup when the name is 8 characters. 2015-09-01 17:03:40 -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 5355183590 Don't double-break on debugbreak. 2015-09-01 09:45:32 -07:00
Dr. Chat 51e70be054 Don't assert on VRSAVE mfspr/mtspr (used by gcc) 2015-08-31 10:51:51 -05:00
Ben Vanik 1b916ccca2 Log module dump directly. 2015-08-30 21:33:33 -07:00
Ben Vanik a4ed79695d WSACreateEvent/CloseEvent/SetEvent. 2015-08-30 21:31:52 -07:00
Ben Vanik 7233df2778 Switch default --ignore_undefined_externs to true. 2015-08-30 20:48:41 -07:00
Ben Vanik 2f9b37c142 Logging unimplemented instructions. 2015-08-30 20:46:06 -07:00
Ben Vanik 82a72e1974 Adding MemoryBarrier opcode. 2015-08-30 17:25:02 -07:00
Ben Vanik 39989a6107 Adding log lines to help find unimplemented NtQueryInformationFile calls. 2015-08-30 16:38:51 -07:00
Ben Vanik 65812438c4 Short-circuiting lvrx/stvrx. Should help bad accesses in many games.
Fixes #411.
2015-08-30 16:38:01 -07:00
Ben Vanik dfa5b90c36 Fixing test output. 2015-08-30 16:26:36 -07:00
Ben Vanik 499e8b4b5b ScaleGuestDurationFileTime for absolute times. Probably right.
Fixes #409.
2015-08-30 15:40:10 -07:00
Ben Vanik b80a028589 Much better errors on undefined externs. 2015-08-30 15:27:12 -07:00
Ben Vanik 87094b8257 Adding XamUserContentRestriction* functions. 2015-08-30 15:00:04 -07:00
Ben Vanik 7711568af9 Implementing SetTimer and CompleteOverlappedEx APC callbacks.
Fixes #410.
2015-08-29 23:43:26 -07:00
Ben Vanik 7f505a15b7 Fixing timer callbacks. 2015-08-29 23:42:40 -07:00
Ben Vanik 7172f7575e Removing assert in keyboard display on flags. 2015-08-29 22:30:12 -07:00
Ben Vanik 1d7f345960 Fix logging with null varargs. 2015-08-29 22:22:07 -07:00
Ben Vanik 1631e0f234 Merge pull request #408 from DrChat/vcmpbfp_rc
vcmpbfp with Rc bit support
2015-08-29 22:21:36 -07:00
Dr. Chat 60538e7dda vcmpbfp with Rc bit support 2015-08-30 00:14:58 -05:00
Ben Vanik b1afab5bb7 Switching to old depth buffer clear style. 2015-08-29 22:13:19 -07:00
Ben Vanik 1cf1568189 Adding a yield in the XMA decoder to give other threads some breathing room. 2015-08-29 22:12:31 -07:00
Ben Vanik e7b46afa9d Fixing build and removing old binary libav submodule. 2015-08-29 21:04:26 -07:00
Ben Vanik 764b11fa04 Formatting premake files. 2015-08-29 20:57:31 -07:00
Ben Vanik a86b3821f2 Adding thread handle to logging. 2015-08-29 20:49:26 -07:00
Ben Vanik c486fcfcba Merge pull request #407 from DrChat/libav
Rewrote the Audio Decoder
2015-08-29 20:47:04 -07:00
Dr. Chat f80e5fc98d Linting 2015-08-29 22:21:25 -05:00
Dr. Chat 50535b07c3 Change validity checks to assert statements. 2015-08-29 22:14:20 -05:00
Dr. Chat afa013f4bf libav_verbose flag 2015-08-29 22:11:59 -05:00
Dr. Chat e3d87b1715 Whoops (formatting) 2015-08-29 22:05:33 -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
Ben Vanik 3508cce5b3 Fixing module loading. 2015-08-29 19:35:43 -07:00
Dr. Chat d8ed66c336 More improvements to the XMA decoder (and included some forgotten files) 2015-08-29 21:18:04 -05:00
Dr. Chat 0f9cd8cfb3 New WIP audio decoder 2015-08-29 21:16:57 -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 8dd59d07ac Was about to update microprofile, but the new version is meh. 2015-08-29 09:41:14 -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 a79ef87889 Adding CONTRIBUTING.md so that github shows it on issues. 2015-08-28 14:16:38 -07:00
Dr. Chat c50cc1cb84 Lint. One line of lint. 2015-08-18 19:13:36 -05:00
Dr. Chat f5104af0a2 Whoops, fix AND masks 2015-08-18 19:00:57 -05:00
Dr. Chat 29ed27bfc5 Fix up winkey GetKeystroke to not use GetAsyncKeyState, and disable GetState if Xenia is not the active window. 2015-08-18 18:57:31 -05:00
Dr. Chat 38064acd51 UI KeyEvent previous state and repeat count 2015-08-18 18:45:35 -05:00
Ben Vanik a668556d7f Fixing Windows build. 2015-08-18 14:45:49 -07:00
Ben Vanik 8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik 19299fad4b Removing apu/ deps on Emulator. 2015-08-18 10:54:56 -07:00
Ben Vanik ad090a40eb Fixing misuse of std::chrono. 2015-08-18 10:18:30 -07:00
Ben Vanik 2820ff85e5 Moving test memory to a more reasonable place. 2015-08-18 09:01:22 -07:00
Ben Vanik c6b941a709 Normalizing tests. 2015-08-18 00:27:27 -07:00
Ben Vanik c67e47a076 Test cleanup. 2015-08-18 00:16:38 -07:00
Ben Vanik 59b9e9ceb0 Fixing buffer overrun in disasm. 2015-08-17 20:38:37 -07:00
Dr. Chat 0caffd3921 Tests: vand/vand128/vandc/vandc128/vcmpxxfp128/vmaxfp/vmaxfp128/vmaxsh/vmaxuh/vminfp/vminfp128 2015-08-17 20:37:03 -05:00
Dr. Chat dde3f3dfb0 Tests: vor/vor128/vxor/vxor128 2015-08-17 12:23:01 -05:00
Dr. Chat 52c2d03c3e Tests: vpkshss128/vpkshus128/vpkswss128/vpkswus128/vpkuhum128/vpkuhus128/vpkuwum128/vpkuwus128/vupkhsb128/vupklsb128 2015-08-17 12:08:56 -05:00
Ben Vanik 55068f230e Fixing vslo and vsro. 2015-08-17 08:15:43 -07:00
Ben Vanik 359e5b578a Fixing vsl and vsr for out of range values. 2015-08-17 07:57:30 -07:00
gibbed 5d61d0baa5 Fixing vnmsubfp128. 2015-08-17 04:57:33 -05:00
Ben Vanik f98d8134c0 Merge pull request #395 from DrChat/tests
Tests: vaddfp/vaddfp128/vmsum3fp128/vsubfp/vsubfp128
2015-08-16 17:57:30 -07:00
Dr. Chat a191fbcf34 Tests: vaddfp/vaddfp128/vmsum3fp128/vsubfp/vsubfp128 2015-08-16 19:56:03 -05:00
Dr. Chat 3c968f3f1e Whoops - Fix InterlockedPopEntrySList dereferencing a NULL pointer 2015-08-16 16:54:55 -05:00
gibbed f9076d08ea Test for vsrh. 2015-08-16 16:37:28 -05:00
gibbed 9901d98c14 Test for vsrah. 2015-08-16 16:37:27 -05:00
gibbed ac4c5f4508 Test for vrlh. 2015-08-16 16:37:26 -05:00
gibbed 5621f63001 Tests for vminsh, vminuh. 2015-08-16 16:37:25 -05:00
gibbed 9fa7ec5c1f Tests for vavgsh, vavguh. 2015-08-16 16:37:25 -05:00
Ben Vanik 2b012f37bf Adding base callstack control. 2015-08-16 14:29:09 -07:00
Ben Vanik ae183f918f Merge pull request #388 from DrChat/elf_modules
(Experimental) ELF module support
2015-08-16 07:55:28 -07:00
Dr. Chat 6cd08384e7 (Experimental) ELF module support 2015-08-16 09:47:39 -05:00
gibbed defca39a21 Test for vexptefp. 2015-08-16 07:09:20 -05:00
gibbed bbde510c17 More tests for vmrghb, vmrghh, vmrghw, vmrglb, vmrglh, vmrglw. 2015-08-16 07:09:07 -05:00
gibbed 4ca24c8d3b Cleaning up test names. 2015-08-16 06:26:43 -05:00
gibbed ba9d2f0d7c More tests for vupkhsb, vupkhsh, vupklsb, vupklsh. 2015-08-16 06:09:52 -05:00
gibbed 90b33fd49f Test for vpkpx. 2015-08-16 05:55:30 -05:00
gibbed 8c07a3efdd Tests for vpkuwum. 2015-08-16 05:55:15 -05:00
gibbed 5f9ef37e94 Cleaning up tests for vpkuhus. 2015-08-16 05:54:48 -05:00
gibbed 50a5f5e8c5 Cleaning up tests for vpkuhum. 2015-08-16 05:54:22 -05:00
gibbed 67525ced44 Test for vpkshus. 2015-08-16 05:19:58 -05:00
gibbed d7c0837f40 Tests for vpkswus, vpkuwus. 2015-08-16 05:15:35 -05:00
gibbed 95d9344985 Another test for vpkswss. 2015-08-16 05:14:40 -05:00
gibbed b9d9486c62 Another test for vpkshss. 2015-08-16 05:03:19 -05:00
gibbed 3b878ed533 Test for vpkuhus. 2015-08-16 04:52:32 -05:00
gibbed 60b1a67af3 Fixing vpkuhus. 2015-08-16 04:52:19 -05:00
gibbed 9129b9caa9 Tests for vpkuhum/vpkuhus. 2015-08-16 04:07:17 -05:00
gibbed 003608fa76 More tests for vupkhsh/vupklsh. 2015-08-16 03:26:14 -05:00
gibbed 7256fe6a2b Tests for vupkhsb/vupklsb. 2015-08-16 03:16:25 -05:00
gibbed 6a675659e4 Really fix vupkhsb/vupklsb. 2015-08-16 03:15:37 -05:00
gibbed f06ddd3869 Maybe fixing vupkhsb/vupklsb. 2015-08-16 02:31:25 -05:00
Ben Vanik d71c35bbe9 Merge pull request #385 from DrChat/xex_getprocaddr_fix
XexModule::GetProcAddress false out of bounds fix
2015-08-14 18:13:35 -07:00
Dr. Chat d2f672b2c5 Shift export ordinal back by the base to avoid false positive error 2015-08-14 20:02:39 -05:00
Dr. Chat 3fcc6648d7 Fix (to the best of my knowledge) InterlockedPopEntrySList
Couple of other asserts/fixes
2015-08-13 19:06:58 -05:00
Ben Vanik 03142614ec elemental-forms is mostly style-clean. 2015-08-09 12:07:07 -07:00
Ben Vanik 0686227d23 Style fixes. 2015-08-08 16:40:14 -07:00
Ben Vanik a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik 14beb27ebc xb style. 2015-08-07 07:56:57 -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 eaa1a8ee3a Refactoring SymbolInfo/FunctionInfo/Function into Symbol/Function. 2015-08-05 21:50:02 -07:00
Ben Vanik 48d6e6becf Cleaning up debugger threading and adding hacky callstacks to UI. 2015-08-05 07:50:37 -07:00
Ben Vanik 0a8d6eec91 Simplifying debug stuff, as I'm not going to bother with gdb. 2015-08-04 18:39:51 -07:00
Ben Vanik ec326119cf Replacing beaengine in mmio handler with custom decoder.
Fixes #358.
2015-08-04 08:25:42 -07:00
Ben Vanik 90c248146e --inline_mmio_access to allow turning it off. 2015-08-03 19:07:34 -07:00
Ben Vanik b0425f7ee2 Moving source map to Function. 2015-08-01 14:07:13 -07:00
Ben Vanik 5aa50b3c18 Adding note about GPU listing. 2015-08-01 13:43:21 -07:00
Ben Vanik b67488e70a Removing beaengine disassembler use. 2015-08-01 13:30:43 -07:00
Ben Vanik 37ded9acc3 Window->Form. 2015-08-01 10:24:41 -07:00
Ben Vanik cb701fcb7c Latest linter. 2015-08-01 04:08:59 -07:00
Ben Vanik 8494ca2eaa clang fixes. 2015-08-01 03:55:50 -07:00
Ben Vanik b56b262116 Switching to python build script. 2015-07-31 23:48:24 -07:00
Ben Vanik 2f1965082c Dropping dummy drive size down to a reasonable size. Fix #377. 2015-07-31 14:15:07 -07:00
Ben Vanik 14e129ced6 Merge pull request #376 from sephiroth99/big-alloc-fix
[RFC] Fix crash when some games request too much memory
2015-07-29 23:48:12 -07:00
Ben Vanik e523ffcd51 Tweaking some thread names. 2015-07-29 23:28:45 -07:00
sephiroth99 510a8e59cf memory: fix out of bounds access in BaseHeap::AllocRange
Prevent out of bounds access of page_table_ by making sure the requested
page count fits in the requested page range.
2015-07-30 02:27:55 -04:00
Ben Vanik a9b89a790b Some more constant support for MUL_SUB. 2015-07-29 21:45:24 -07:00
Ben Vanik d8be8fdbbb Never run WSACleanup, it breaks the debugger. Some games do this
on startup just because, which decrements our WSA instance to zero.
2015-07-29 21:41:39 -07:00
Ben Vanik 9bea299a16 Massaging xinput arguments. Fixes RCR. 2015-07-29 21:41:09 -07:00
Ben Vanik c0dcf83de8 Cleanup heap use. 2015-07-29 20:33:59 -07:00
Ben Vanik c67173fe36 Switching to real page sizes, not allocation granularity. 2015-07-29 20:28:06 -07:00
Ben Vanik 122114d1d1 Fixing debugger startup race. 2015-07-29 19:52:53 -07:00
Ben Vanik 19901c4759 Replacing a use of strings for xbyak labels. 2015-07-29 18:58:45 -07:00
Ben Vanik 40e98eab7c Fix include. 2015-07-29 00:33:57 -07:00
Ben Vanik e657276996 Mostly working stack walking (besides issue #372). 2015-07-29 00:15:52 -07:00
Ben Vanik e01c2ac98d Fixing formatting. 2015-07-28 00:32:01 -07:00
Ben Vanik ad9472e60b Better sign extend, thanks to @inolen. 2015-07-27 20:25:20 -07:00
Ben Vanik 226b7ae83f Only generate .user if it doesn't exist. 2015-07-27 20:12:14 -07:00
Ben Vanik dffc1f0e14 Merge pull request #371 from DrChat/xam_enumerate_fix
Fix XamEnumerate returning a RESULT instead of a HRESULT
2015-07-27 19:59:57 -07:00
Ben Vanik b1baaa45bc Merge pull request #369 from DrChat/handle_release_fix
Fix releasing the primary handle of an object in RemoveHandle
2015-07-27 19:59:45 -07:00
Dr. Chat 1e0ba0b24c Fix XamEnumerate returning a RESULT instead of a HRESULT in extended error. 2015-07-27 21:50:26 -05:00
Dr. Chat fe7a710460 Revert license mask. 2015-07-27 18:32:41 -05:00
Dr. Chat 804b6b80ac Winkey support GetKeystroke (need to fix flags though) and support right stick 2015-07-27 18:28:08 -05:00
Dr. Chat 993c646e91 XAM_OVERLAPPED 2015-07-27 18:26:22 -05:00
Dr. Chat 997de209ec Reversed engineered X_OBJECT_HEADER a bit better 2015-07-27 18:26:07 -05:00
Dr. Chat 766788be7b XMAContext abort instantly if libav failed mid-packet. 2015-07-27 18:24:04 -05:00
Dr. Chat e37479c7b0 Convert strings before returning them 2015-07-27 18:23:11 -05:00
Dr. Chat 6a26fd08cd Xam keyboard input UI
Moved XamShowDeviceSelectorUI here
2015-07-27 18:22:51 -05:00
Dr. Chat 9b722eb602 XamContent change HDD size to 1TB, rewrite XamContentCreateEnumerator 2015-07-27 18:22:10 -05:00
Dr. Chat df500e162e Rewrite XamEnumerate to copy one item at a time (for now anyways) 2015-07-27 18:20:50 -05:00
Dr. Chat ee1565b0e8 XEnumerator write single item 2015-07-27 18:18:05 -05:00
Ben Vanik e4d9f38b82 These files should have been deleted. 2015-07-27 08:28:31 -07:00
Ben Vanik 987589dcbc Stop overwriting already-specified thread names. 2015-07-26 23:49:32 -07:00
Ben Vanik 7ecc6362de Debugger stuff. Lots of wasted work :/ 2015-07-26 22:47:16 -07:00
gibbed 42ef3f224a Oops. Fixing bad asserts. 2015-07-26 11:12:54 -05:00
gibbed b713f99e42 Constant support for VECTOR_CONVERT_I2F. 2015-07-26 10:55:41 -05:00
gibbed 20d79911f0 Constant support for Emit16_IN_32. 2015-07-26 10:54:47 -05:00
gibbed 599686f68d Unsigned Emit16_IN_32. 2015-07-26 09:57:52 -05:00
gibbed 34031e57ab Don't pass flags to XInputGetKeystroke, as on Windows it's a reserved parameter. 2015-07-26 09:31:02 -05:00
gibbed e212a7da1d Make sure the device is connected before calling XInputGetKeystroke. 2015-07-26 09:31:01 -05:00
Dr. Chat 30f3994476 Fix accidentally releasing the primary handle of a duplicated object when the duplicated handle is removed. 2015-07-25 20:00:18 -05:00
Ben Vanik abf50b477e Making shutdown clean. 2015-07-25 12:56:37 -07:00
Ben Vanik 89adaf8e85 --random_clear_color, and making default grey. 2015-07-25 12:56:21 -07:00
Ben Vanik ea4ec28acc Adding --show_profiler to show profiler by default, changing hotkey to F3. 2015-07-25 12:34:15 -07:00
Ben Vanik 8ce6765233 Fixing socket startup. 2015-07-25 12:25:15 -07:00
Dr. Chat 4301806061 Cleanup some Ke* threading APIs (and update the dispatch header when possible) 2015-07-25 11:43:25 -05:00
Dr. Chat 87ebcdea8a Fix fullscreen 2015-07-25 08:56:39 -05:00
Dr. Chat 18d8fad098 Couple of fixes for IO (null pointer deref and improper XctdCompressionInformation) 2015-07-24 23:50:02 -05:00
Dr. Chat 270686a0be Whoops, don't need these 2015-07-24 23:24:23 -05:00
Dr. Chat b8b134da75 module Retain instead of RetainHandle 2015-07-24 23:09:47 -05:00
Dr. Chat 64089558f1 XThread set exit code on exit 2015-07-24 23:09:33 -05:00
Dr. Chat c536053dec Fix improper getting arguments from stack
Also fix PrimitivePointerParam conversion error
2015-07-24 23:08:55 -05:00
Dr. Chat cf37fa7d71 Update a bunch of IO methods 2015-07-24 23:07:22 -05:00
Dr. Chat eac3243907 Include host ID in XThread name for easier debugging 2015-07-24 18:42:30 -05:00
Dr. Chat e7def962f3 Expose native thread id 2015-07-24 18:41:53 -05:00
Dr. Chat 8e41d5a707 The kernel object table now keeps track of handle reference counts. 2015-07-22 19:34:33 -05:00
Ben Vanik a42ab648ed Shuffling --debug around and making it work. 2015-07-22 17:26:10 -07:00
Ben Vanik 2f233c7974 Update premake5.lua 2015-07-22 12:30:40 -07:00
Dr. Chat 9a47082c88 Create XThread suspended and resume it when setup is complete. Fixes race condition on thread_ variable. 2015-07-22 11:56:02 -05:00
Ben Vanik d01abd4694 Starting debugger rework, adding base async socket, removing flatbuffers. 2015-07-22 00:01:36 -07:00
Ben Vanik a98fa47081 Merge pull request #361 from DrChat/misc_fixes
Misc fixes
2015-07-21 20:22:00 -07:00
Dr. Chat e6eb21f6ac %s 2015-07-21 22:20:54 -05:00
Dr. Chat dda00b604b Don't try to use an invalid file! 2015-07-21 22:14:28 -05:00
Dr. Chat 3ad3635567 X_IO_STATUS_BLOCK / X_EX_TITLE_TERMINATE_REGISTRATION 2015-07-21 22:13:29 -05:00
Dr. Chat c6e6894d9d Platform window enable/disable border support 2015-07-21 22:13:06 -05:00
Dr. Chat 9fcbd60e9b Thread state address is gone 2015-07-21 22:11:55 -05:00
Dr. Chat 8d0fef1433 Kernel state terminate notification support 2015-07-21 22:11:33 -05:00
Dr. Chat b6f8985c8c Shuffle around RTL critical section code and add asserts
Get thread ID using new api
2015-07-21 22:09:26 -05:00
Dr. Chat 7ceaf678e0 Minor XObject function changes 2015-07-21 22:07:55 -05:00
Dr. Chat b646915b77 Make XThread use its guest KTHREAD object in the pcr in r13
Shuffle around some code in XThread
2015-07-21 22:07:30 -05:00
Dr. Chat a4849ca83e XNetSetSystemLinkPort / respect optional pointers in accept 2015-07-21 22:05:56 -05:00
Ben Vanik 8126b12340 Plumbing frontbuffer_ptr around (but not using it yet). 2015-07-21 19:43:36 -07:00
Ben Vanik 7df2692822 Manual merge of part of #336. 2015-07-21 19:43:16 -07:00
Ben Vanik 2215d4707d Manual merge of #330. 2015-07-21 19:42:54 -07:00
Ben Vanik b0c223f2d8 Removing use of glewExperimental.
The trick is setting WGL_CONTEXT_PROFILE_MASK_ARB.
Fixes #359.
2015-07-21 19:33:51 -07:00
Ben Vanik 2f1d49aa32 xenia-gpu mostly clang clean. 2015-07-19 21:48:47 -07:00
Ben Vanik 5bd7833e87 More clang fixes. xenia-kernel is clean. 2015-07-19 21:29:06 -07:00
Ben Vanik bebda48a4f More clang fixes. 2015-07-19 20:46:14 -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 5c7f42e9d1 Fix for unknown kernel modules. 2015-07-19 10:55:12 -07:00
Ben Vanik 352bae30cb Removing win32 code from X64CodeCache.
Fixes #349.
2015-07-19 10:33:00 -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 91d7acf59e Fixing some particularly bad /W4. 2015-07-18 23:04:21 -07:00
Ben Vanik 4128727f6b Cleaning up some /W4 errors. 2015-07-18 16:40:22 -07:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik 6c5d230f67 Merge pull request #353 from DrChat/ob_threads
Implement ObLookupThreadByThreadId / ObOpenObjectByPointer
2015-07-18 13:27:25 -07:00
Dr. Chat b92cddc182 Implement SHA-1 in xboxkrnl (correctness not verified though)
Stubs for some weird crypto functions
2015-07-18 14:57:43 -05:00
Dr. Chat 55f5b95670 These are implemented (and formatting) 2015-07-17 20:29:39 -05:00
Dr. Chat c60d30a311 Add a few more xam exports 2015-07-17 19:57:35 -05:00
Dr. Chat c3189a6837 ObLookupThreadByThreadId / ObOpenObjectByPointer 2015-07-17 19:56:54 -05:00
Dr. Chat 1ea5a4b7b4 XThread initialize the dispatch header 2015-07-17 19:55:09 -05:00
Dr. Chat e54477d0e4 XObject::StashNative 2015-07-17 19:52:29 -05: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 fd893f730b Shuffling files around. 2015-07-17 01:15:12 -07:00
Ben Vanik 756d414386 Prep for split libraries. 2015-07-16 22:26:34 -07:00
Sinoxan 0cdff21582 Removing unnecessary unsigned checks. 2015-07-16 19:01:11 +01:00
Ben Vanik ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07: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 48d5d76882 Cleaning up RtlTimeToTimeFields/TimeFieldsToTime. Needs a non-win32 impl. 2015-07-15 22:10:24 -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 91ae97e558 Fixing lock type in VFS. 2015-07-15 22:07:46 -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 31dab70a3a Adding some docs on CPU optimizations/potential work. 2015-07-13 18:20:38 -07:00
Ben Vanik c6ebcd508d Double check ARB_bindless_texture.
May help #342.
2015-07-13 16:34:00 -07:00
Ben Vanik 15c17459be Massive refactoring of xenia::ui and GL swap behavior.
This seems to dramatically improve most games (especially with
--vsync=false), though it may cause swap issues with others.
New code should be easier to port, and enables elemental-forms to be
drawn for any emulator UI.
2015-07-12 22:04:17 -07:00
Ben Vanik 77894ac03a Skeleton debugger UI (playing with things). 2015-07-12 22:04:15 -07:00
Dr. Chat 5332290573 NetDll_WSAWaitForMultipleEvents
NetDll_WSAResetEvent
2015-07-11 19:32:33 -05:00
Dr. Chat 8499da972c Convert a couple of kernel threading APIs to new style 2015-07-11 18:17:52 -05:00
Dr. Chat f0060f8335 Allow direct typecasting of Result shim util class 2015-07-11 18:14:33 -05:00
Ben Vanik 601310c8bb Merge pull request #334 from DrChat/xma_fixes
XMA Fixes
2015-07-10 21:53:43 -07:00
Dr. Chat 90a9a71e55 Lint. 2015-07-10 23:32:05 -05:00
Dr. Chat da5868945e We aren't supposed to do this. 2015-07-10 23:26:01 -05:00
Dr. Chat ee1696e571 Fix some inconsistencies in the XMA API (and rewrite a lot of functions to the new style) 2015-07-10 23:16:42 -05:00