sephiroth99
16ade60d37
Pass a C string for logging argument
2015-12-30 17:42:18 -05:00
sephiroth99
d982b54bda
byte_stream: Remove template specialization in class scope
2015-12-30 17:42:18 -05:00
sephiroth99
a743c12e72
byte_stream: add missing include for memcpy
2015-12-30 17:42:18 -05:00
sephiroth99
fa953fe758
bit_map: Add missing include for size_t definition
2015-12-30 17:42:18 -05:00
sephiroth99
fc04ca040f
Fix building with profiling disabled
2015-12-30 17:42:18 -05:00
Ben Vanik
cbc74c92f4
Fixing CR update for divwu/divdu/mulhwu.
2015-12-30 10:04:57 -08:00
Ben Vanik
69c7bac8db
Fixing branch address calculation.
2015-12-30 09:47:24 -08:00
Ben Vanik
3c332ef1f5
Adding/removing saturate checks where required.
2015-12-30 09:31:03 -08:00
Ben Vanik
76ed07cfff
Adding back FILE_FLAG_BACKUP_SEMANTICS.
2015-12-30 09:19:54 -08:00
Ben Vanik
74d71f7a4a
Fixing the rlw* instructions.
2015-12-30 09:02:29 -08:00
Ben Vanik
b09e32ec15
Adding tests for broken rlwnm and rliwnm. Not yet fixed.
2015-12-29 20:58:38 -08:00
Ben Vanik
321e2663ef
Fixing mullw.
2015-12-29 20:42:20 -08:00
Ben Vanik
431088d35e
Faster clearing of heaps to speed up tests.
2015-12-29 20:26:01 -08:00
Ben Vanik
d7eff7c9e3
Marking some memory instructions as kM.
2015-12-29 17:53:49 -08:00
Ben Vanik
077f73449d
More gracefully handle killed threads. Still needs some UI love.
2015-12-29 15:19:31 -08:00
Ben Vanik
cc37fb1358
Updating to the latest capstone. Fixes #440 .
2015-12-29 15:19:08 -08:00
Ben Vanik
3ca0bff246
Avoid duplicate object handle assignment on creation.
2015-12-29 14:03:23 -08:00
Ben Vanik
9c694f07b3
Better trap message.
2015-12-29 13:40:53 -08:00
Ben Vanik
948aa2400d
Formatting all code. Too gnarly to rebase properly.
2015-12-29 13:13:34 -08:00
Dr. Chat
4e7dfa477b
Assign XModule path on load rather than in the constructor
2015-12-29 13:10:03 -08:00
Dr. Chat
c242a01043
Mark XThreads as running before calling Execute
2015-12-29 13:10:02 -08:00
Dr. Chat
6108ff1608
Use a 64-bit bitmap rather than a 32-bit bitmap.
2015-12-29 13:10:02 -08:00
Dr. Chat
764dcba75a
Update TLS comments
2015-12-29 13:10:01 -08:00
Dr. Chat
5cb591b993
Compensate for static TLS when accessing dynamic TLS.
2015-12-29 13:10:01 -08:00
Dr. Chat
bca5fb5382
XThread acquire mutants on restore
2015-12-29 13:10:00 -08:00
Dr. Chat
5c94062110
XFile setup async_event_ in the restore constructor
2015-12-29 13:10:00 -08:00
Dr. Chat
fefc2036b3
Fix XSemaphores saving/restoring a bad counter
2015-12-29 13:09:59 -08:00
Dr. Chat
d4da8cab4e
BitMap: Change the size param to the number of entries (bits)
2015-12-29 13:09:59 -08:00
Dr. Chat
eee0bb070c
Store thread TLS in guest memory rather than using host APIs
2015-12-29 13:09:58 -08:00
Dr. Chat
c5ac4185ac
Threadsafe bitmap class
2015-12-29 13:09:58 -08:00
Dr. Chat
bb5fd73b9e
Register user-modules with the kernel in UserModule::Restore
2015-12-29 13:09:57 -08:00
Dr. Chat
2855036f72
Remove modules from the object table if they fail to load.
2015-12-29 13:09:57 -08:00
Dr. Chat
3e6c70defa
Fixup UserModule::LoadFromFile to use new vfs API
2015-12-29 13:09:56 -08:00
Dr. Chat
f4154810b6
XamModule::LoaderData::launch_data_present
2015-12-29 13:09:56 -08:00
Dr. Chat
08663fd745
Non-const ByteStream::data()
2015-12-29 13:09:55 -08:00
Dr. Chat
68f9949829
Make XObject::GetWaitHandle a protected function
2015-12-29 13:09:55 -08:00
Dr. Chat
e619e4590c
debugger: Don't feed the stack walker an XThread's wait handle
2015-12-29 13:09:54 -08:00
Dr. Chat
8f92c60a0b
ObCreateSymbolicLink/ObDeleteSymbolicLink
2015-12-29 13:09:54 -08:00
Dr. Chat
9cf324f689
Fix VFS files not having correct paths recorded.
2015-12-29 13:09:53 -08:00
Dr. Chat
ab9fac9a98
XMutant Save/Restore
2015-12-29 13:09:53 -08:00
Dr. Chat
5aff9d12ee
Call XObject::WaitCallback on successful waits
2015-12-29 13:09:52 -08:00
Dr. Chat
d0f547020a
XamLoaderLaunchData: Fix incorrect return values when launch data is not present.
2015-12-29 13:09:52 -08:00
Dr. Chat
b9159ddee8
X64CodeCache: Add a couple of overflow debug asserts
2015-12-29 13:09:52 -08:00
Dr. Chat
f5237d486a
KernelState::TerminateTitle - Release the global lock in smaller regions / No need for an argument specifying if called from guest
2015-12-29 13:09:51 -08:00
Dr. Chat
366f91e191
XFile Save/Restore
2015-12-29 13:09:51 -08:00
Ben Vanik
383a173a18
REBASE: fixing xthread instruction decoding.
2015-12-29 13:09:50 -08:00
Dr. Chat
bcacb9b127
Remove vfs dependency on kernel, implement I/O completion ports
2015-12-29 13:09:50 -08:00
Dr. Chat
a5c22ec214
XThread: Only need to retain a pointer to our object - not a handle.
2015-12-29 13:09:49 -08:00
Dr. Chat
621d3f8abb
XThread free stack on destruction
2015-12-29 13:09:49 -08:00
Dr. Chat
07d31862f1
XThread: Special case save/restore for threads no longer running.
2015-12-29 13:09:48 -08:00
Dr. Chat
b58e9afbf1
Fix XThread::StepIntoBranch not properly stepping into blr/bctr
2015-12-29 13:09:48 -08:00
Dr. Chat
44c9e8fe25
Save/Restore the guest clock in XThreads
2015-12-29 13:09:47 -08:00
Dr. Chat
adec5602c2
XModule log on save/restore
2015-12-29 13:09:47 -08:00
Dr. Chat
6f4626118e
Fix infinite loop in StepToSafePoint after stepping to an address once
2015-12-29 13:09:46 -08:00
Dr. Chat
4cbe219476
Don't update the dispatch header in KetSetEvent/KeResetEvent (threading issues)
2015-12-29 13:09:46 -08:00
Dr. Chat
5f79d8f97e
Fix RingBuffer::EndRead not detecting a split read (where second length == 0)
2015-12-29 13:09:45 -08:00
Dr. Chat
d0284e943d
XSemaphore Save/Restore
2015-12-29 13:09:45 -08:00
Dr. Chat
afb514528e
Save/Restore XThreads before any other kernel objects
2015-12-29 13:09:44 -08:00
Dr. Chat
b97a39150b
Rewrite Rtl critical section implementation (and implement full waiters)
2015-12-29 13:09:44 -08:00
Dr. Chat
606aa9af6f
XThread: Update the PC when we step out of an export!
2015-12-29 13:09:43 -08:00
Dr. Chat
ee0a41aa2c
Fix AudioSystem Restore and cleanup some code
2015-12-29 13:09:43 -08:00
Dr. Chat
b94ab4acbc
AudioSystem Save/Restore
2015-12-29 13:09:42 -08:00
Dr. Chat
d2d97fe58f
XThread - Fix unconditional conditional branch check
2015-12-29 13:09:42 -08:00
Dr. Chat
4eff2d8420
AudioSystem - switch to a free flag for free clients rather than a queue.
2015-12-29 13:09:41 -08:00
Dr. Chat
6997970d52
GraphicsSystem Save/Restore
2015-12-29 13:09:41 -08:00
Dr. Chat
9ed81b6876
Fix not assigning write access to WriteCombine pages on restore.
2015-12-29 13:09:40 -08:00
Dr. Chat
1442f50058
X64Backend: Take a reference of the pair rather than a copy (and formatting)
2015-12-29 13:09:40 -08:00
Dr. Chat
49ed0915d4
Add (temporary) shortcuts to save(F7)/restore(F8) to a file called "test.sav"
2015-12-29 13:09:39 -08:00
Dr. Chat
24f8295daa
Make KernelState::TerminateTitle try to terminate XThreads safely.
2015-12-29 13:09:39 -08:00
Dr. Chat
3007a98d2d
Install false-branch breakpoint only if the opcode is conditional.
2015-12-29 13:09:38 -08:00
Dr. Chat
f9de61ceed
XThread::StepToSafePoint - Handle cases where the thread hasn't started yet.
2015-12-29 13:09:37 -08:00
Dr. Chat
0f82e0d090
Make the processor automatically generate any ungenerated functions when installing a breakpoint.
2015-12-29 13:09:37 -08:00
Dr. Chat
5ef21d3714
memory: Write no access pages to the savefile.
2015-12-29 13:09:36 -08:00
Dr. Chat
20fb20d7f6
Hold the global lock while restoring from a file.
2015-12-29 13:09:36 -08:00
Dr. Chat
a6322c7bf4
NativeList getters/setters
2015-12-29 13:09:36 -08:00
Dr. Chat
89c408965e
Can't call constructors from other constructors
2015-12-29 13:09:35 -08:00
Dr. Chat
ce2d6da2a1
Processor breakpoints: Change iterators to C++11 syntax where necessary
2015-12-29 13:09:35 -08:00
Dr. Chat
7d30e1297a
NotifyListener Save/Restore
2015-12-29 13:09:34 -08:00
Dr. Chat
87931369e4
XObject no kernel state constructor
2015-12-29 13:09:34 -08:00
Dr. Chat
b3ed0fa445
NativeList default constructor
2015-12-29 13:09:33 -08:00
Dr. Chat
23b6a1f943
Fix xam_net.cc
2015-12-29 13:09:33 -08:00
Dr. Chat
4a3773d2fb
XModule Save/Restore
2015-12-29 13:09:32 -08:00
Dr. Chat
93602ed48a
No need to double-retain Ke* objects, as having them in the object table is enough.
2015-12-29 13:09:32 -08:00
Dr. Chat
a4865bd24a
Retain objects when restored into the object table.
2015-12-29 13:09:31 -08:00
Dr. Chat
c8a2298b9d
Remove ~NotifyListener call to UnregisterNotifyListener (as it's impossible for this to occur)
2015-12-29 13:09:26 -08:00
Dr. Chat
290d5d9594
Fix incorrect double-retaining of objects on restore.
2015-12-29 13:09:24 -08:00
Dr. Chat
3678a22c90
Use TLS to store the current thread.
2015-12-29 13:09:24 -08:00
Dr. Chat
7e88e54cbe
XObject::host_object -> XObject::is_host_object
2015-12-29 13:09:23 -08:00
Dr. Chat
1e36ea8b69
Use c_str() when passing a string to sprintf!
2015-12-29 13:09:23 -08:00
Dr. Chat
c44742b0e3
XEvent write signaled state
2015-12-29 13:09:22 -08:00
Dr. Chat
e54850e1f2
XThread::set_name - Use more efficient xe::format_string instead of a StringBuffer
2015-12-29 13:09:22 -08:00
Dr. Chat
e4e1bc1060
Remove dead code from UserModule (how did this even get here?)
2015-12-29 13:09:22 -08:00
Dr. Chat
0b5def1ff6
MappedMemory: Support opening empty files (and extending them) / remapping files / Truncate on close
2015-12-29 13:09:21 -08:00
Dr. Chat
8a9493a048
Remove unused XboxkrnlModule::LaunchModule
2015-12-29 13:09:21 -08:00
Dr. Chat
442f063ddf
XThread Save: Handle emulated instructions/MMIO/etc that call out of guest code
2015-12-29 13:09:20 -08:00
Dr. Chat
785824531c
Fix the assert on no restore handler found
2015-12-29 13:09:20 -08:00
Dr. Chat
6e0057020c
XEvent Save/Restore (TODO: Write signaled state)
2015-12-29 13:09:19 -08:00
Dr. Chat
ce92dd5691
ObjectTable Save/Restore (and overloads/PurgeAllObjects/GetAllObjects)
2015-12-29 13:09:19 -08:00
Ben Vanik
bbff23a8bb
REBASE: Fixing Memory::Reset().
2015-12-29 13:09:18 -08:00
Dr. Chat
432e32f7c2
memory Save/Restore
2015-12-29 13:09:18 -08:00
Dr. Chat
aa7919bd89
emulator.cc savestates
...
Change UserModule::Launch to be non-blocking (returns the main thread)
2015-12-29 13:09:17 -08:00
Dr. Chat
52ec24ea6a
Stash handles rather than native pointers in Ke* objects.
2015-12-29 13:09:17 -08:00
Dr. Chat
4301641bdf
XThread Save/Restore
2015-12-29 13:09:16 -08:00
Ben Vanik
194c13f977
REBASE: Fix vector out of range access.
2015-12-29 13:09:16 -08:00
Dr. Chat
5517518d36
XObject savestate setup (Save/Restore, tracks all handles, tracks if host object)
2015-12-29 12:35:59 -08:00
Dr. Chat
1ce6a7580b
Fix CaptureStackTrace with null out_stack_hash
2015-12-29 12:35:59 -08:00
Dr. Chat
712a5da64b
KernelState::Save/Restore (and misc. changes)
2015-12-29 12:35:58 -08:00
Dr. Chat
d99008bfac
RawModule::SetAddressRange - Notify the backend about this range.
2015-12-29 12:35:58 -08:00
Dr. Chat
38a09cbcc2
ExecuteRaw: Pass in 0xBC... magic so Xenia will return to the guest caller.
2015-12-29 12:35:57 -08:00
Dr. Chat
6d98628962
Remove Function::Call extern handler shortcut (as we need old behavior for savestates)
2015-12-29 12:35:56 -08:00
Dr. Chat
67a45203e3
Uninstall the X64 backend exception callback on exit.
2015-12-29 12:35:56 -08:00
Dr. Chat
62351a62de
filesystem::CreateFile
2015-12-29 12:35:55 -08:00
Dr. Chat
e206d13af7
Flag mfmsr/mtmsr/mtmsrd as context-synchronizing instructions
2015-12-29 12:35:04 -08:00
Dr. Chat
ed85346f3b
XObject Save/Restore
2015-12-29 12:32:50 -08:00
Dr. Chat
938d849c06
ByteStream class
2015-12-29 12:32:50 -08:00
Dr. Chat
4a13316daa
Track export data on kernel trampolines as well.
2015-12-29 12:32:49 -08:00
Dr. Chat
b8d4f26e46
Fix NtWaitForMultipleObjectsEx definition
2015-12-29 12:32:49 -08:00
Dr. Chat
87cdce1440
Export kBlocking tag
2015-12-29 12:32:48 -08:00
Dr. Chat
db8eb83057
Track export data on Guest Functions
2015-12-29 12:32:47 -08:00
Dr. Chat
42c657c40a
Remove processor dependency on XThread for breakpoints
2015-12-29 12:32:47 -08:00
Dr. Chat
666f5543a8
Cleanup ThreadState and XThread
2015-12-29 12:32:46 -08:00
Dr. Chat
41d5b41523
Automatically install any CPU breakpoints in any newly-defined functions if necessary.
2015-12-29 12:32:01 -08:00
Dr. Chat
d09e3b7953
Fix incorrect backend breakpoints implementation
2015-12-29 12:32:00 -08:00
Dr. Chat
28468f8a18
cpu::Processor now tracks a pointer to the emulator.
2015-12-29 12:32:00 -08:00
Dr. Chat
7d59258839
Processor::ExecuteRaw
...
Changed the breakpoint lock to a recursive mutex.
2015-12-29 12:28:57 -08:00
Dr. Chat
ac706f6923
Allow breakpoint addresses to be changed after creation
2015-12-29 12:28:56 -08:00
Dr. Chat
e383e2f101
Processor breakpoint support
2015-12-29 12:28:56 -08:00
Ben Vanik
5019f1aa98
Possible fix for failing to create files.
2015-12-29 11:02:28 -08:00
Ben Vanik
214957da3a
Adding finer-grained instruction classification.
2015-12-29 11:02:00 -08:00
Ben Vanik
cc72de0f64
Moving disasm to new tables.
...
Also adding useful CPU docs.
2015-12-28 20:49:22 -08:00
Ben Vanik
cd938be678
Removing all uses of the old PPC tables besides disasm.
2015-12-28 10:08:38 -08:00
Ben Vanik
990d973c74
New ppc opcode decoder.
...
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00
Ben Vanik
ca8d658ffe
Speeding up PPC tests significantly.
2015-12-27 12:03:30 -08:00
Ben Vanik
5de82887fa
Adding build version information to main window/log.
2015-12-27 11:53:37 -08:00
Ben Vanik
5f61c6ad07
Adding icon.
2015-12-27 11:09:19 -08:00
Ben Vanik
484972db30
Fixed mutation of vectors during iteration.
2015-12-27 10:48:38 -08:00
Ben Vanik
0a316808a5
Include order fixes.
2015-12-27 10:27:46 -08:00
Ben Vanik
6b92c1a01e
Moving GPU flags to graphics_system.cc so all graphical exes get them.
2015-12-27 10:21:11 -08:00
Ben Vanik
629a75c162
Merge pull request #493 from parkerlamb/nv_optimus
...
Nvidia Optimus support
2015-12-27 10:15:40 -08:00
Ben Vanik
0e58208add
Dropping elemental-forms and swapping out with imgui.
...
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Parker Lamb
b59ee24f5d
NvOptimusEnablement and AmdPowerXpressRequestHighPerformance symbols are
...
now exported for laptops with dual graphics
2015-12-26 22:14:13 -06:00
Ben Vanik
3b11de2c2d
Merge pull request #492 from DrChat/gl_backend_changes
...
GL Backend Changes/Fixes
2015-12-22 23:52:46 -08:00
Dr. Chat
990a8baf1b
Fix cases where GL_INFO_LOG_LENGTH returns 0.
2015-12-22 20:15:07 -06:00
Dr. Chat
b49114bad6
GLContext: Keep track of robust access support for WasLost
2015-12-22 15:53:51 -06:00
Dr. Chat
cde39953ab
Fix TracePlayer::PlayTraceOnThread not signifying it's done with the trace if a break is pending.
2015-12-22 15:46:39 -06:00
Dr. Chat
a4f6e60e20
Blitter::Draw assert on zero src texture
2015-12-22 15:44:51 -06:00
Dr. Chat
ab93a6bf64
If last framebuffer texture isn't set, use active framebuffer otherwise don't draw.
2015-12-22 15:44:02 -06:00
Dr. Chat
919d3d080b
Assert on context loss due to a TDR
2015-12-22 15:43:08 -06:00
Dr. Chat
59bee898f7
Always output the shader info log if it's not empty.
2015-12-22 14:41:18 -06:00
Dr. Chat
30eda6909f
GLContext::WasLost - Determines if we lost the context due to a TDR or another outstanding event.
2015-12-20 21:13:51 -06:00
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