Dr. Chat
7b6f1388d6
OPCODE_ATOMIC_COMPARE_EXCHANGE
2016-01-13 01:41:58 -06:00
Dr. Chat
3ccb2a978d
Propagate vector constants.
2016-01-13 01:40:44 -06:00
Dr. Chat
4b7a403337
xe::be<uint64_t> visualizers
2016-01-13 01:30:46 -06:00
Dr. Chat
6d2f083b09
Up the maximum function count to 50,000
2016-01-13 01:30:15 -06:00
Dr. Chat
0cf6e166a1
vec128 bitwise operators
2016-01-13 01:29:47 -06:00
Ben Vanik
9c93fa5187
Cleaning up xdbf stuff.
...
- moving next to xex utils
- fixing error cases around icon setting (and allowing reset)
- making C++11
- abstracting a bit so future additions will be easier
- fixing non-xex uses
2016-01-10 11:04:55 -08:00
Ben Vanik
86b706d87c
Merge pull request #509 from x1nixmzeng/xex-resources
...
Rebrand the Xenia window with module metadata
2016-01-10 08:55:47 -08:00
x1nixmzeng
3eb602c93a
Assert library name index is in range of the string table
...
As suggested by @DrChat
2016-01-09 17:55:57 +00:00
x1nixmzeng
6530b9dc49
Added callback when new module is launched
...
This avoids having to guess the display window title format
Also manually fixed the linting errors picked out by travis which do not
get picked up using xb format locally
2016-01-09 17:36:46 +00:00
x1nixmzeng
06f259c87d
Mask the name index instead
...
The maximum number of import libraries (32) is already asserted
2016-01-09 02:43:29 +00:00
x1nixmzeng
7e4fdf7669
Fixed rare crash when accessing library import by name
...
The library name index may only be 8-bits.
This bug was not present in the previous implementation due to a bitmask
(0xFF) - see
ea99ba8e3b/src/xenia/kernel/util/xex2.cc (L272)
2016-01-09 01:19:05 +00:00
x1nixmzeng
5fa9499a12
Community feedback
...
Updated naming convention
Exposed the game name to Emulator for other uses
Fixed bug with XDBF parsing
2016-01-08 22:55:37 +00:00
x1nixmzeng
e4cef38d95
Formatting of changes
...
As per the style guide
2016-01-07 20:51:28 +00:00
x1nixmzeng
effe241a11
Removed stb_image dependency
...
Windows actually supports PNG resources
2016-01-07 20:38:27 +00:00
x1nixmzeng
92c8409b0a
Set the window icon from the module resource pool
...
Makes use of the stb_image library
Conversion to HICON seems to have broken somewhere
2016-01-07 01:32:56 +00:00
x1nixmzeng
321e2d8873
Set the window title from the module resource pool
2016-01-07 00:58:05 +00:00
x1nixmzeng
729a1af0d5
Added XDBF utility library
...
Utility library to support the XDBF file format for XEX module resources
2016-01-07 00:51:27 +00:00
Ben Vanik
16c97189dd
Splitting up debugger.h.
2016-01-01 15:52:43 -08:00
Ben Vanik
07ba1be7f5
Switching debugger to not retain XThreads.
2016-01-01 15:35:48 -08:00
Ben Vanik
1b487b67c9
Why travis doesn't have aligned_alloc but my other two unixes do, ?.
2016-01-01 13:08:15 -08:00
Ben Vanik
09aa3179fb
Adding cstdlib to memory.h.
2016-01-01 20:59:52 +00:00
Ben Vanik
c93b93fe55
Standardizing wchar->char in main().
2016-01-01 12:46:26 -08:00
Ben Vanik
c8b544ffd4
Fixing casts. This is why I need tests.
2016-01-01 12:45:06 -08:00
Ben Vanik
8770e6e6cf
Adding yaml-cpp for #428 , use rando fork until jbeder/yaml-cpp#342 lands.
2016-01-01 12:13:36 -08:00
Ben Vanik
207b835386
I have a dream that one day compilers will agree.
2016-01-01 19:19:18 +00:00
Ben Vanik
2f012fb56d
Though I disagree with these lint fixes, I want travis to shut up.
2016-01-01 18:38:20 +00:00
Ben Vanik
b02ca62388
Fixing most remaining C++ warnings in clang.
2016-01-01 18:37:33 +00:00
Ben Vanik
e029c9abdc
Cleaning up clang warnings in gpu/.
2016-01-01 16:04:47 +00:00
Ben Vanik
95d3a9c345
Minor clang warning fixes.
2016-01-01 06:01:22 +00:00
Ben Vanik
c4ca7ad2ae
Fixing builds when profiling is disabled.
2016-01-01 04:51:02 +00:00
Ben Vanik
a95be25e2f
Merge branch 'linuxfix' of https://github.com/sephiroth99/xenia into sephiroth99-linuxfix
2015-12-31 14:39:23 -08:00
Marc-Antoine Levasseur
f1829a5784
Fix the StfsContainerEntry not being initialized in StfsContainerFile
2015-12-31 13:02:24 -05:00
Ben Vanik
f26bea88d9
Replacing zlib with snappy in traces, adding trace header, docs.
2015-12-30 22:58:22 -08:00
Ben Vanik
952d35911c
Folding build_tools back into the main repo for simplicity.
2015-12-30 16:53:14 -08:00
Ben Vanik
214532a3e8
Fiddling with FPSCR and such. Still not implemented, but wiring done.
2015-12-30 16:53:14 -08:00
Ben Vanik
0482ffad5a
Allow XMA decoder to be suspended.
2015-12-30 16:53:13 -08:00
Ben Vanik
c296d581cf
Readback CA in XER.
2015-12-30 16:53:12 -08:00
sephiroth99
f5d4941716
shader_translator: Remove always true expression
...
vector_dest() returns an unsigned value, it will always be >= 0.
2015-12-30 18:43:24 -05:00
sephiroth99
f3fc50c8db
shader: Fix print format for hash
2015-12-30 18:43:24 -05:00
Dr. Chat
2a590f31fe
XFile: Track asynchronous/synchronous flag (and return appropriately in nt Read/Write file)
2015-12-30 17:36:05 -06:00
sephiroth99
962d8215da
shader_translator: Handle all enum values in switch-cases
2015-12-30 17:42:18 -05:00
sephiroth99
ee8e6e8822
debug_window: Use function to store from '__m128' variable.
2015-12-30 17:42:18 -05:00
sephiroth99
b0bce0d9ab
debug_window: Ignore other breakpoint types
...
In the breakpoints pane, add a default case for breakpoint types that
ignores the other possible types.
2015-12-30 17:42:18 -05:00
sephiroth99
6b31ddfb42
debug_window: Use correct format specifier for double value
...
Specifier 'LF' is 'long double'.
2015-12-30 17:42:18 -05:00
sephiroth99
fe30941c9b
debug_window: Use a string literal as a format string
...
Fixes clang "format-security" error.
2015-12-30 17:42:18 -05:00
sephiroth99
235f58d757
Add missing include for std::find
2015-12-30 17:42:18 -05:00
sephiroth99
058ae01568
Add default case which ignores other mouse buttons
2015-12-30 17:42:18 -05:00
sephiroth99
9451c0b1cf
Fix different types in std::min arguments
2015-12-30 17:42:18 -05:00
sephiroth99
3f49aa3cef
Add default case for unhandled target_type values
2015-12-30 17:42:18 -05:00
sephiroth99
da71bc26a2
Use correct value in unhandled case assert
2015-12-30 17:42:18 -05:00
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