Commit Graph

2511 Commits

Author SHA1 Message Date
Dr. Chat 6ce28ffd8c Command Processor: Replace RingbufferReader with RingBuffer
Report any packet processing errors
PM4_MEM_WRITE
2016-01-24 22:54:26 -06:00
Dr. Chat 6a67632af1 Update RingBuffer - Add immediate read/write and some error checking asserts. 2016-01-24 22:39:05 -06:00
Dr. Chat 9b1e6d6cb3 Resolve a module name to its full path before comparing names. 2016-01-24 09:50:48 -06:00
Dr. Chat 8a89a93eab Fix improperly reading 2_10_10_10 bitfields (or so I hope)
Check at runtime if a vertex fetch index doesn't match gl_VertexID
Fix trying to instantiate a vec1
2016-01-22 18:49:17 -06:00
Dr. Chat b2d8837e52 Fix depth clear when not sourcing from a depth target. 2016-01-22 18:47:27 -06:00
Ben Vanik 6c6f7c6eca Merge pull request #522 from sephiroth99/lf3
Linux compilation/link and compatibility fixes
2016-01-20 19:41:40 -08:00
sephiroth99 a74c88851b Rework RtlTime with portable time conversion functions 2016-01-20 12:26:49 -05:00
sephiroth99 bf910c2d9a Add missing definitions for XAPC constants
Fixes linking errors for these symbols.
2016-01-20 11:26:35 -05:00
sephiroth99 f17b80c61e Use stdlib 'hardware_concurrency' to get logical processor count
This has the benifit of being multiplatform.
2016-01-20 11:04:28 -05:00
sephiroth99 5d9a4b6830 Handle all other cases in switch statements 2016-01-20 11:00:37 -05:00
sephiroth99 1c14964739 Add missing override on virtual function 2016-01-20 10:57:50 -05:00
sephiroth99 4c0f9e6342 Add missing includes 2016-01-20 10:36:01 -05:00
sephiroth99 d78317847d Fix link error when profiling is disabled
These four functions are needed by microprofile even when profiling
is disabled.
2016-01-20 09:35:27 -05:00
Dr. Chat 8710b105bf Draw smaller floating point formats in the trace viewer. 2016-01-19 21:18:48 -06:00
Dr. Chat 9ed0934123 Swap to modern OpenGL for TFB usage. 2016-01-19 18:31:36 -06:00
Dr. Chat 47f5896089 Add TFB support to the trace viewer 2016-01-18 22:22:15 -06:00
Dr. Chat a34e82c77f Disable GL cull on rectangle lists 2016-01-18 21:00:58 -06:00
Dr. Chat 3859b0a091 Add an option for the draw batcher to collect vertex shader output. Disabled by default. 2016-01-18 20:57:36 -06:00
Dr. Chat 55a8964428 Fix shaders reading 10_11_11 bitfields backwards. 2016-01-18 15:46:41 -06:00
Ben Vanik 2e5c64fb13 Prevent some divide by zeros in shaders. Thanks @vlj!
Fixes #518.
2016-01-18 11:51:18 -08:00
Ben Vanik 6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Dr. Chat 34e03294ef Fix vfetch_mini instructions using stale data when following a vfetch_full that doesn't fetch anything 2016-01-16 22:39:00 -06:00
Dr. Chat e8719dd949 Fix an overflow crash in DiscImageDevice::Verify 2016-01-14 15:18:41 -06:00
Ben Vanik 9473f20c7f Fixing travis lint diff. 2016-01-13 22:55:28 -08:00
Ben Vanik 2e826f9321 Supporting constants in Haswell codepaths for mul_add/sub. 2016-01-13 22:29:39 -08:00
Dr. Chat 0771eea0b3 Change comments to comply with local regulations. 2016-01-13 19:41:15 -06:00
Dr. Chat bd6bf16bd1 New flag: disable_global_lock - Disables global lock usage in guest code. 2016-01-13 19:40:00 -06:00
Dr. Chat a5b37dce1d Shaders: Emit an unimplemented warning for indexed vertex fetch instructions 2016-01-13 01:50:20 -06:00
Dr. Chat 14c5e48120 Enable speculative PACK_TYPE_FLOAT16_3 2016-01-13 01:48:18 -06:00
Dr. Chat 36372d1eae Enforce xex memory protections 2016-01-13 01:47:06 -06:00
Dr. Chat f0802d75fa Use atomic compare exchange in stdcx/stwcx (still under the global lock) 2016-01-13 01:45:31 -06:00
Dr. Chat 51dde62f09 x64 backend vector optimizations 2016-01-13 01:43:23 -06:00
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