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