Commit Graph

3122 Commits

Author SHA1 Message Date
Dr. Chat 0c60cc5f48 Fix GLContext::AssertExtensionsPresent not clearing the context after use 2015-12-20 20:55:04 -06:00
Dr. Chat cf41a84fe3 Fix broken check against bool constants
Fix always terminating execution in cexece branches (these are sometimes followed by exece branches)
2015-12-20 20:53:31 -06:00
sephiroth99 a281f6d70d ObjectTable: Remove explicit specialization in class scope
Function template 'LookupObject' in ObjectTable class has
a specialization in class scope, which is not allowed.

While MSVC seems OK with that, clang complains about it.

Fix this issue by moving the definition of the specialisation
outside the class scope, and moving the declaration in the
'.cc' file.
2015-12-17 01:04:44 -05:00
Ben Vanik 15816327b4 Renaming xe::cpu::frontend to xe::cpu::ppc. 2015-12-14 21:17:55 -08:00
Ben Vanik 9273359cdd Removing vestigial ContextInfo. 2015-12-14 20:57:14 -08:00
Ben Vanik 5e6c1f5a50 Removing some dead code. 2015-12-14 20:49:50 -08:00
Ben Vanik 826ea60890 gpu-trace-diff tool for running batches of diffs. 2015-12-13 16:59:43 -08:00
Dr. Chat 3ebd53ba11 Fix crandc/crnand/crnor/crorc not properly taking the complement of the CR fields. 2015-12-13 18:32:57 -06: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 95b0ecf774 Sharing more of trace viewer code. 2015-12-13 11:22:47 -08:00
Ben Vanik 5db84105c4 Utilizing fallthrough for most shader CF, hopefully speeding things up. 2015-12-13 10:14:35 -08:00
Ben Vanik b5469b57ba Moving temporary registers to exec blocks. ps may still need to be shared. 2015-12-07 22:57:28 -08:00
Ben Vanik 85b1797b9e Workaround for nvidia bug with dynamic local memory access. 2015-12-07 22:55:17 -08:00
Ben Vanik ec113275dc Making texture swizzles dynamic. Seems to fix some color swap issues.
And probably exposes many more ;)
2015-12-07 22:39:33 -08:00
Ben Vanik 09022a6ad3 gl_FragCoord support. 2015-12-07 20:45:02 -08:00
Ben Vanik 1f773f14b3 Fixing vfetch_mini use. 2015-12-07 19:16:32 -08:00
Ben Vanik 522ff9d23e Alternate indirect buffer command. 2015-12-07 19:16:01 -08:00
Ben Vanik ed0b97813a Loops in shaders (no TDRs! woo!). 2015-12-07 13:03:57 -08:00
Ben Vanik 367ca09f1d Don't duplicate vf bindings. 2015-12-07 13:03:35 -08:00
sephiroth99 f154b7ed59 Fix compilation error of translated GLSL shader.
Comparison of uvec2 and int is not possible, explicitly
use a zero-value uvec2.
2015-12-07 01:39:17 -05:00
Ben Vanik 280c0b35f6 Basic control flow skeleton and jumps implemented.
A-train's trees draw right now!
Helps a bit with #473 but still need to implement loops.
2015-12-06 11:44:22 -08:00
Ben Vanik 934b0d5bbc Marking unimplemented translations as non-fatal. 2015-12-06 11:01:04 -08:00
Ben Vanik c86e479214 Replacing old Shader with TranslatedShader. 2015-12-06 10:36:07 -08:00
Ben Vanik 083f936bbc aL placeholder until loops are implemented. 2015-12-06 00:53:25 -08:00
Ben Vanik 51a8002629 Moving GL backend to new shader translator.
This seems to make a lot of things better, but may also break things.
Cleanup to follow.
2015-12-06 00:48:41 -08:00
Ben Vanik 295c62c7a4 Guarding protect-on-release behavior behind --protect_on_release.
Workaround for #456 until it can be identified.
2015-12-05 23:27:25 -08:00
Ben Vanik 81d0376106 Fixing use before check for null. 2015-12-05 23:24:40 -08:00
Ben Vanik 52f339cee4 Removing bogus assert. 2015-12-05 23:24:17 -08:00
Ben Vanik 2b3b423776 Mostly complete new GLSL translator (modulo flow control). 2015-12-05 17:44:06 -08:00
Ben Vanik 0058cae901 Adding pseudo code for all ucode ops from AMD docs. 2015-12-05 03:10:45 -08:00
Ben Vanik 4bac581d01 Merge pull request #475 from sephiroth99/varfix
VS2015 Update 1 fix + GLContext small cleanup
2015-12-03 22:39:19 -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
Dr. Chat bc1e7684ca Pass rounding mode from i->flags for OPCODE_CONVERT 2015-12-02 14:03:15 -06:00
Dr. Chat 17d18f7154 Implement a few cases for Value::Cast/Convert 2015-12-02 14:01:28 -06:00
Dr. Chat 57a823ae39 Add (commented out) code to setup page protections for xex modules. 2015-12-01 19:53:17 -06:00
Dr. Chat 525d62d437 constant OPCODE_CONVERT and more cases for OPCODE_LOAD 2015-12-01 19:51:28 -06:00
Dr. Chat 873016f06f Fix double-swap in constant load 2015-12-01 19:03:51 -06:00
sephiroth99 e8296a8608 ui/gl: GLContext: access directly class member
In ::EndSwap, dc_ class member was accessed through a function. Access
it directly like it is done elsewhere in the class.

It is also the only place where it is used, so remove the function in
question.
2015-11-30 22:59:30 -05:00
sephiroth99 f367c4ba7b Fix compilation under VS2015 Update 1 2015-11-30 22:56:42 -05:00
Ben Vanik 82fe65475e Fixing sqrt/rsqrt mixup.
Queue the 'how did this ever work?!'
2015-11-30 17:22:08 -08:00
Ben Vanik cd50aac6d2 Skeleton SPIRV translator. 2015-11-29 19:45:55 -08:00
Ben Vanik d2f7cc1602 Reworking translator code to be pretty sexy. 2015-11-29 16:55:42 -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 bea8870700 Shuffling old-style ucode.h under gl4. 2015-11-28 16:10:27 -08:00
Ben Vanik 71b9995448 Skeleton SPIRV shader translator. 2015-11-28 16:10:26 -08:00
sephiroth99 f4dae2335c premake: Small fixes to various premake files
In particular, add the "src" group to apu/xaudio2 project, which was
missing.
2015-11-28 01:53:26 -05:00
raven02 44a1fa0c9c Fix distance vector 2015-11-28 13:17:29 +08:00
Ben Vanik 51c3df1e2e Making mtmsr & co synchronize the context. 2015-11-25 17:37:20 -08:00
Ben Vanik dfd92757a9 Adding CONTEXT_BARRIER to force the PPC context to synchronize.
This is just an annotation right now, as it's not actually needed.
2015-11-25 14:48:36 -08:00
Ben Vanik 54215d9fb4 Write shader binaries with --dump_shaders and load them in the compiler. 2015-11-24 20:45:23 -08:00
Ben Vanik 89172da4b7 Unplumbing program_cntl and simplifying shader loading. 2015-11-24 20:24:35 -08:00
Ben Vanik 6a546ebe4d Shuffling spirv code so it's not tied to xe::gpu.
Will make it easier to use in standalone apps.
2015-11-24 19:49:05 -08:00
Ben Vanik cf68d02142 Lots of cleanup in SpvEmitter. 2015-11-23 21:20:59 -08:00
Ben Vanik a7f6c1a09c Prevent seeking while playing a trace. 2015-11-22 17:44:24 -08:00
Ben Vanik e35fdff632 Porting glslang SPIRV stuff and cleaning some of it up. 2015-11-22 17:42:24 -08:00
Ben Vanik 1b1ff07bf5 Assembler/disassembler via SPIRV-Tools. 2015-11-22 17:42:23 -08:00
Ben Vanik 9072a38f38 Renaming spirv files so VS highlights them correctly. 2015-11-22 17:42:23 -08:00
Dr. Chat 414519fb6c Expose a playback percentage rather than pointers in TracePlayer 2015-11-22 11:36:31 -06:00
Dr. Chat a59e83e0d0 Style 2015-11-22 10:15:50 -06:00
Dr. Chat 646db5b8be Disable controller UI while playing a trace 2015-11-22 09:54:25 -06:00
Dr. Chat 1078d21bd2 Stop resizing columns for the fetch constants 2015-11-21 22:37:24 -06:00
Dr. Chat e565bafdab Prevent interaction with the command list UI while a trace is still playing 2015-11-21 22:29:47 -06:00
Dr. Chat 7c25795c05 Display texture guest address and swizzle information 2015-11-21 21:45:11 -06:00
Dr. Chat 7a1d7bd652 Display a progress bar while the command processor is playing a trace
- Masks a race condition in the texture cache b/t the UI thread and the GL4 command processor
2015-11-21 21:44:35 -06:00
Dr. Chat 7640448509 TracePlayer: Allow seeking forward more than one command 2015-11-21 21:42:24 -06:00
Dr. Chat 2a88225500 TracePlayer - Expose internal playback pointers 2015-11-21 21:41:41 -06:00
Ben Vanik b750875e9d Fixing style. 2015-11-21 19:07:07 -08:00
Robert Dupuis bdec7a063f Implemented REG_TO_MEM GPU opcode 2015-11-21 21:20:34 -05: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 add68c3743 spirv headers and compiler skeleton. 2015-11-21 11:22:24 -08:00
Dr. Chat 0f2f4ab9b6 Compress/decompress memory automatically in trace files 2015-11-20 17:12:13 -06:00
John Godgames bcec142d3e Fixes DXT1 Alpha issues in certain games
https://www.opengl.org/wiki/S3_Texture_Compression#DXT1_with_1-bit_Alpha
2015-11-20 05:10:28 +01:00
Dr. Chat 9ff8aa96e7 Disable GL_CULL_FACES when drawing rectangle lists. 2015-11-17 22:20:43 -06:00
Ben Vanik a556316ba2 Skip xma read when at the end of the stream. 2015-11-16 19:40:43 -08:00
Ben Vanik 2602d54775 Merge pull request #461 from DrChat/trace_viewer_open_dlg
Trace Viewer: Display a File Open Dialog if no File Specified
2015-11-16 18:26:17 -08:00
Dr. Chat f50e2ab10c Trace Viewer: Display a file picker if the user doesn't supply a file on the command line. 2015-11-15 09:15:20 -06:00
Dr. Chat 3efc7f339a Make sure texture swizzles match before performing a copy 2015-11-14 22:34:34 -06:00
Dr. Chat 4dfe1addaa Verify that LookupObject actually returns an object of the requested type. 2015-11-12 19:06:15 -06:00
Dr. Chat 7fc22f1987 Add a static kType field to all objects 2015-11-12 19:01:55 -06:00
Ben Vanik b970b970f0 Removing another scalar component swap from #273. 2015-11-12 15:53:16 -08:00
Ben Vanik 3d2a5b2495 Reverting depth clear restriction in #330.
The comment is still true: games seem to need more clears.
2015-11-12 14:15:59 -08:00
Ben Vanik e858f87e3e Reverting component changes from #273. 2015-11-12 14:14:37 -08:00
Ben Vanik b6b685aa72 Fixing lint error. 2015-11-11 15:44:24 -08:00
Dan Weatherford dca0ab38d5 Show relative constant fetch in the microcode disassembler 2015-11-11 17:13:58 -06:00
Dan Weatherford 2fda17cf3c Fix relative constant fetch on second source operand of shader instruction
The sense for this test was backwards, causing AppendSrcReg to read the wrong
const_n_rel_abs flag if the first operand was not a constant fetch.
2015-11-11 17:13:48 -06:00
Ben Vanik 6c95ca1cdb Moving graphics context creation around to hide actual creation.
Makes it easier to support APIs that don't have a concept of sharing.
2015-11-10 17:38:57 -08:00
Ben Vanik d8fa54ffc4 Fixing super class call in gl4 cp. 2015-11-09 20:28:09 -08:00
Dan Weatherford e178853e46 Partially implement XamUserWriteProfileSettings
Handles writing binary blob settings to the user profile which can then be read
by XamUserReadProfileSettings.
2015-11-09 16:53:52 -06:00
Ben Vanik ca5e8fa073 Adding a way to get an hmodule. 2015-11-09 13:59:06 -08:00
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
Dr. Chat f6eb23d86f Don't select buffer 1 if it's NULL/unavailable 2015-07-10 23:15:15 -05:00
Ben Vanik 9c965755c6 Simplified renderer interface. 2015-07-10 20:35:57 -07:00
Ben Vanik 6b52f2682e Fixing elemental input and using embedded resources. 2015-07-07 22:16:46 -07:00
Ben Vanik b09ab1f886 Merge pull request #328 from DrChat/xam_loader
Implement XamLoaderLaunchTitle/XamLoaderTerminateTitle
2015-07-07 07:46:56 -07:00
Ben Vanik 5da29d88e2 Removing old lib. 2015-07-07 07:44:51 -07:00
Ben Vanik 95e2ea11eb Cleaning up paths a bit. Need to de-globalize. 2015-07-06 23:03:24 -07:00
Ben Vanik 8c0614b202 AMD people: have at it. I ain't gonna guarantee it'll work, though. 2015-07-06 18:43:50 -07:00
Ben Vanik 253a685dde Switching to my turbo badger fork. 2015-07-06 18:12:56 -07:00
Ben Vanik f2ce11d268 Latest TB. 2015-07-06 18:12:56 -07:00
Dr. Chat f9977a25af Use std::vector to hold the xex header instead of new/delete 2015-07-06 19:45:10 -05:00
Dr. Chat b2241e3fef Avoid calling OnUnload twice. 2015-07-06 19:19:32 -05:00
Dr. Chat 0388d17a72 Formatting 2015-07-06 10:57:32 -05:00
Dr. Chat 88465de41e FscGetCacheElementCount stub 2015-07-06 10:41:14 -05:00
Dr. Chat 93f24d2047 XexModule keep track of whether it's loaded into memory or not 2015-07-06 10:40:35 -05:00
Dr. Chat 6ddd0b4700 Rewrite InterlockedPopEntrySList 2015-07-05 21:33:29 -05:00
Dr. Chat 870aa092bb KernelState::GetKernelModule 2015-07-05 17:27:25 -05:00
Dr. Chat 8adbc2cd0c Return 0 for success 2015-07-05 17:14:42 -05:00
Dr. Chat fd136c1f9f Swap to default initializers. 2015-07-05 17:05:58 -05:00
Dr. Chat 4e6b036b3c Formatting. 2015-07-05 16:28:11 -05:00
Dr. Chat 82986c6eec Use TerminateTitle rather than relying on XamLoader* being called from the main thread. 2015-07-05 16:22:45 -05:00
Dr. Chat ff72a25260 Remove dump on module launch (already dumped on load!) 2015-07-05 15:54:30 -05:00
Dr. Chat 39d6e9a20f Implement XamLoaderLaunchTitle and other loader functions. 2015-07-05 15:44:46 -05:00
Dr. Chat d6686fc345 Load default.xex as a regular module and call TerminateTitle when the main thread exits. 2015-07-05 15:44:02 -05:00
Dr. Chat 57e89e72b1 Use the actual thread handle as a wait handle, add bool XThread::running 2015-07-05 15:43:09 -05:00
Dr. Chat 5ccea06e7f KernelState::TerminateTitle 2015-07-05 15:42:30 -05:00
Dr. Chat 567bb525f8 Fix incorrectly getting the exe address 2015-07-05 15:41:47 -05:00
Dr. Chat 778acac929 XThread Terminate 2015-07-05 14:44:43 -05:00
Dr. Chat 7f53b1d630 Allow unloading of user modules 2015-07-05 14:03:00 -05:00
Dr. Chat 8210ada448 XModule OnUnload 2015-07-05 13:47:53 -05:00
Dr. Chat 4fdebd530f XThread bool guest thread 2015-07-05 13:37:10 -05:00
Dr. Chat 6bb5b002e0 Gracefully handle debugger accept thread already running 2015-07-05 13:31:51 -05:00
Dr. Chat fbfdfc8914 Don't call DllMain on non-DLLs
Gracefully handle the kernel dispatch thread already running
2015-07-05 13:31:13 -05:00
Dr. Chat 8d4582a7a4 Fix a couple of API bugs dealing with modules 2015-07-05 13:27:48 -05:00
raven02 f90cc63d4b alu: use XEEXTZ16 for uimm16 2015-07-05 04:52:53 +08:00
Dr. Chat b57a71e284 Typecast xe::be before sending it into printf 2015-07-03 22:02:58 -05:00
Ben Vanik 4097fe420e Merge pull request #322 from DrChat/xex2_patch
XEX2 Code Refactoring
2015-07-03 19:38:36 -07:00
Dr. Chat 9186d011f0 Bring back some important debug dumps 2015-07-03 21:28:02 -05:00
Dr. Chat 1788ee1589 Linting. 2015-07-03 20:11:08 -05:00
Dr. Chat 03ffb20a43 Warn when importing an unimplemented kernel function 2015-07-03 19:44:11 -05:00
Dr. Chat 8cb8098a6b Dump import libraries 2015-07-03 19:43:43 -05:00
Dr. Chat ed3db90666 Dump a few more headers (incl. execution header) 2015-07-03 19:16:36 -05:00
Dr. Chat b852ce75df Write a dummy value into unresolved import variables. 2015-07-03 19:00:07 -05:00
Dr. Chat 74d57cfd0a Dump exports by name in debug log 2015-07-03 18:45:11 -05:00
Dr. Chat e58bb5ad9f ReImplement XexModule::GetProcAddress 2015-07-03 18:29:14 -05:00
Dr. Chat d616231c8b Trigger a PPC debug trap if an unresolved import is called. 2015-07-03 18:03:33 -05: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 800f982a4d XEX2 Security Page Descriptors 2015-07-03 10:58:33 -05:00
Dr. Chat c32a94599e Use the guest copy of the xex header for guest code. 2015-07-03 10:51:56 -05:00
Dr. Chat 307feaf893 Formatting. 2015-07-03 10:51:35 -05:00
Dr. Chat 0211135fd6 Fix potential corruption for GetOptHeader 2015-07-03 10:41:43 -05:00
Dr. Chat a25090f3ca Templated XUserModule::GetOptHeader 2015-07-03 10:27:08 -05:00
Dr. Chat 82ec1c345d Dump all xex2 headers in XUserModule (minus a couple) 2015-07-03 08:17:24 -05:00
Dr. Chat 362a521c79 Rewrite XexModule to drop dependency on old xex2 headers for imports 2015-07-03 08:17:23 -05:00
Dr. Chat be5f8d3aa4 Simplify some logic in parsing import libraries
Change struct used in export lookups
2015-07-03 08:17:23 -05:00
Dr. Chat 029babaf5d Drop dependency on old-style xex2 headers 2015-07-03 08:15:53 -05:00
Dr. Chat fe87c08424 Shuffle some code around. 2015-07-03 08:15:53 -05:00
Dr. Chat e44ac54eed Remove kernel dependency on old xex header 2015-07-03 08:15:52 -05:00
Ben Vanik fd50209760 Latest TB changes. 2015-07-02 20:28:12 -07: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