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