Commit Graph

1584 Commits

Author SHA1 Message Date
Ben Vanik 6ce5fa2c48 add tests. 2014-09-13 01:04:53 -07:00
Ben Vanik 9690525abc Fixing left and right shifts. 2014-09-10 23:07:03 -07:00
Ben Vanik e50a45d33d eqv tests. 2014-09-10 21:32:55 -07:00
Ben Vanik feffe590f2 Shift tests and fix for bad sradi decoding. 2014-09-10 21:26:35 -07:00
Ben Vanik 8666c3975a Fixing alloy-test. 2014-09-10 21:24:49 -07:00
Ben Vanik 4603869bdc cntlzw tests. 2014-09-10 20:23:19 -07:00
Ben Vanik fdaee413e2 Subtract instruction tests. 2014-09-10 20:14:43 -07:00
Ben Vanik 28da7ecf5f Embarassing, but this fails. 2014-09-10 17:48:26 -07:00
Ben Vanik 67d29c191f Test path fix. 2014-09-10 17:43:38 -07:00
Ben Vanik 4d59e081b3 Switching from make to shell script for test building. 2014-09-09 22:25:37 -07:00
Ben Vanik 7a81a08486 Test runner now supports multiple tests per file. 2014-09-09 21:54:35 -07:00
Ben Vanik a337ce33ed Getting ppc tests building again (big surprise: they are failing). 2014-09-09 20:25:38 -07:00
Ben Vanik ed61d025c1 vcmpbfp 2014-09-01 14:18:41 -07:00
Ben Vanik c9229670db Fixing warnings. 2014-09-01 14:14:55 -07:00
Ben Vanik 080a0f8026 Fixing vsel. 2014-09-01 13:00:00 -07:00
Ben Vanik d30483bf53 Fixing IVM vector compare. 2014-09-01 12:24:53 -07:00
Ben Vanik 1bd789de56 A few more altivec instructions. 2014-09-01 10:50:47 -07:00
Ben Vanik c00e162b88 Unpack d3dcolor const. 2014-09-01 10:47:37 -07:00
Ben Vanik 8dcfe94d81 Fix cleanup of object table (double NtClose crash). 2014-09-01 10:03:52 -07:00
Ben Vanik 9c2cf49755 Tweaking some instructions. 2014-08-29 21:49:26 -07:00
Ben Vanik f74aafeb8a Swapping around vec128 to match AVX order.
Was really hoping all this would fix some bugs, but no luck :(
2014-08-29 20:39:26 -07:00
Ben Vanik 8ca7642226 VectorSubF32 in IVM -- how did this not exist already? 2014-08-24 21:41:16 -07:00
Ben Vanik 28bae464c2 Adding vector add tests and fixing bugs found (still broken). 2014-08-23 22:09:30 -07:00
Ben Vanik 96007049d2 Starting tests. This is going to take some time. 2014-08-23 17:09:19 -07:00
Ben Vanik 423790209b Removing implicit vector add/sub. 2014-08-23 16:32:40 -07:00
Ben Vanik 2a9f164f8e Alloy test shim. 2014-08-23 14:53:36 -07:00
Ben Vanik 389de8b107 Subtract should subtract. Thanks hlide! 2014-08-23 09:55:49 -07:00
Ben Vanik 168239b469 Optimizing eflags access (I think). 2014-08-22 21:58:57 -07:00
Ben Vanik 540b192b1a Emulating vector sub signed sat i32. 2014-08-22 21:58:46 -07:00
Ben Vanik f6c73819a3 Fixing add_carry (+typos). 2014-08-22 21:58:28 -07:00
Ben Vanik ba5b626cdf Fixing win32 build. Silly VC. 2014-08-22 18:44:52 -07:00
Ben Vanik eebe68b77a Merge branch 'master' of github.com:benvanik/xenia 2014-08-22 18:39:34 -07:00
Ben Vanik 6f802c2432 Fixing many clang warnings. 2014-08-21 23:10:08 -07:00
Ben Vanik 7ae303dfa2 alloy-sandbox running on osx (ivm only). 2014-08-21 22:46:12 -07:00
Ben Vanik 93285acf7b Fixing link errors on clang (probably breaks mdvc...) 2014-08-21 22:30:02 -07:00
Ben Vanik f65d860640 Cleaning up some clang issues. 2014-08-21 22:27:33 -07:00
Ben Vanik 52678ed1ef Removing dead ExportResolver code. 2014-08-21 21:53:06 -07:00
Ben Vanik 9b76d02f26 Fixing alloy-sandbox. 2014-08-21 21:36:34 -07:00
Ben Vanik 82b9841b5a Removing alloy/core.h. 2014-08-21 20:49:47 -07:00
Ben Vanik e1b0388faf Splitting logging core into poly. 2014-08-21 20:26:55 -07:00
Ben Vanik 08b0226a16 Finishing unique_ptr'ing and fixing file memory management (for now). 2014-08-21 07:54:19 -07:00
Ben Vanik c59d053404 unique_ptr'ing things and removing some XECLEANUP. 2014-08-20 23:26:46 -07:00
Ben Vanik 244e8a8745 Removing the last of XEDECLARECLASS. 2014-08-20 22:50:10 -07:00
Ben Vanik 06f5b8cbbf Removing dep on xenia/types.h from alloy. 2014-08-20 22:37:01 -07:00
Ben Vanik cecf83b7b7 Removing xenia/malloc.*
Using standard memory functions now.
2014-08-20 22:22:47 -07:00
Ben Vanik 609d7c755f Create README.md 2014-08-20 11:35:22 -07:00
Ben Vanik c38cf294f5 Create README.md 2014-08-20 11:27:05 -07:00
Ben Vanik 7fc87730e2 Create README.md 2014-08-20 11:19:31 -07:00
Ben Vanik 29dd4b9483 Create README.md 2014-08-20 11:17:05 -07:00
Ben Vanik d33cae1baf Auto swap for a few structs and shifting code around. 2014-08-19 22:55:09 -07:00
Ben Vanik fb98683ed3 Converting HID API to use be<> auto swapping type. 2014-08-19 22:50:21 -07:00
Ben Vanik 48a0e5c601 Shrinking alloy memory interface so that alloy-sandbox doesn't need xe. 2014-08-19 21:02:15 -07:00
Ben Vanik 76d524b655 Removing dead file. 2014-08-19 20:05:51 -07:00
Ben Vanik 41f3c92c25 Fixing build. 2014-08-19 19:41:29 -07:00
Ben Vanik b870914795 Removing use of MEMORY_BASIC_INFORMATION. 2014-08-18 22:12:21 -07:00
Ben Vanik d578f5d0f0 Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
Ben Vanik 2356164525 Fixing implicit narrow warning. 2014-08-18 21:07:16 -07:00
Ben Vanik 1c4dcd5e0e clang-format on most of kernel/ 2014-08-17 13:13:03 -07:00
Ben Vanik 854bcdb60a Moving mmap to poly, cleaning up devices. 2014-08-17 12:57:02 -07:00
Ben Vanik 24fe169f36 Last bit of string cleanup. string.h finally gone. 2014-08-17 11:48:29 -07:00
Ben Vanik 383d3acbb0 Some fs/ cleanup. 2014-08-16 21:36:01 -07:00
Ben Vanik fdab788017 Removing PAL. 2014-08-16 21:19:21 -07:00
Ben Vanik 6cb9ca432f More shared header cleanup. 2014-08-16 19:07:21 -07:00
Ben Vanik 4675161902 Header cleanup. 2014-08-16 18:31:54 -07:00
Ben Vanik 27bc4ba405 Removing XEINLINE*. 2014-08-16 18:19:35 -07:00
Ben Vanik f2a9fa3bf9 XECOUNT to countof. 2014-08-16 17:58:33 -07:00
Ben Vanik 187d0ad277 Removing XESAFERELEASE. 2014-08-16 17:33:24 -07:00
Ben Vanik 5b83cf5fd1 Moving around some math macros. 2014-08-16 17:18:20 -07:00
Ben Vanik 54ce9db743 Starting to remove some macros. 2014-08-16 16:57:00 -07:00
Ben Vanik ead74f2cdb More string switching. 2014-08-16 16:46:20 -07:00
Ben Vanik 7c5fa88661 More string swapping and cleaning up main(). 2014-08-16 16:34:13 -07:00
Ben Vanik 18ee972b47 Merge pull request #116 from wszechpolak/write-gamer-tile
Add XamUserWriteProfileSettings stub
2014-08-16 16:23:14 -07:00
wszechpolak 2c4c7e11dc Add XamUserWriteProfileSettings stub 2014-08-17 00:32:13 +02:00
Ben Vanik 0675282e19 Merge pull request #115 from wszechpolak/write-gamer-tile
Fix XamWriteGamerTile
2014-08-16 14:56:01 -07:00
wszechpolak 1f8cfb6fce Clean 2014-08-16 22:49:50 +02:00
wszechpolak b449e9f5cc Add X_ERROR_FUNCTION_FAILED 2014-08-16 22:49:13 +02:00
wszechpolak 1361fda884 Fix XamWriteGamerTile to make it support both sync/async requests 2014-08-16 22:47:08 +02:00
Ben Vanik e082d085d0 Merge pull request #114 from wszechpolak/write-gamer-tile
Added XamWriteGamerTile - should fix #109
2014-08-16 09:03:22 -07:00
wszechpolak 2f12585af9 Added XamWriteGamerTile - should fix #109 2014-08-16 12:17:43 +02:00
Ben Vanik 66d2336e38 More string conversion. 2014-08-16 02:50:08 -07:00
Ben Vanik a4dfc23abc Working on switching to std::string. 2014-08-16 02:30:23 -07:00
Ben Vanik 01f0b14250 Removing xe_thread_t. 2014-08-16 01:36:45 -07:00
Ben Vanik bca49bed4b Removing xe_mutex_t. 2014-08-16 00:56:50 -07:00
Ben Vanik 96fb484dd9 Removing unused crc32/file code from core. 2014-08-16 00:36:18 -07:00
Ben Vanik c84fcc70a4 Cleaning up kernel namespaces. 2014-08-16 00:25:13 -07:00
Ben Vanik bf48e9fbbd Part 2 of kernel cleanup: merging functions into shims. 2014-08-16 00:11:24 -07:00
Ben Vanik 916dc397ab Part 1 of kernel simplification/cleanup: removing externs. 2014-08-15 22:59:28 -07:00
Ben Vanik 56ce363ac5 Removing export impl. 2014-08-15 22:31:44 -07:00
Ben Vanik 48fbefa75e Fixing warnings/bug in NtQueryVirtualMemory. 2014-08-15 22:27:07 -07:00
Ben Vanik 1a39f5bd06 Experimenting with xdb API, starting on compare tool. 2014-08-15 22:02:11 -07:00
Ben Vanik 3de39aaf10 Postmortem debug target now loads/scans the trace and inits the filesystem. 2014-08-15 22:02:10 -07:00
Ben Vanik 4768f2fc0b Moving XdbApp under ui::. 2014-08-15 22:02:10 -07:00
Ben Vanik 21225b5917 xdb progress; skeleton trace loading. 2014-08-15 22:02:09 -07:00
Ben Vanik bae26f7dfc Skeleton xdb UI. 2014-08-15 22:02:08 -07:00
Ben Vanik c275562594 Mostly complete tracing. Probably a lot of bugs. 2014-08-15 22:02:08 -07:00
Ben Vanik cebf595958 Skeleton for xdb. 2014-08-15 22:02:07 -07:00
wszechpolak 50684f8f0d Implemented NtQueryVirtualMemory 2014-08-15 08:14:57 +02:00
wszechpolak b618f38e62 Pass base address without reference 2014-08-14 22:10:11 +02:00
wszechpolak b5826e0e94 Added stub of NtQueryVirtualMemory 2014-08-14 21:37:57 +02:00
Ben Vanik a5a0fd61e2 Full display info struct. 2014-08-08 15:24:48 -07:00
Ben Vanik fa1693d3a3 ADD_CARRY constant prop for load-CA cases. 2014-08-07 13:23:44 -07:00
Ben Vanik e4485bdab1 Fixing tracing format to match IVM and aligned loads of doubles. 2014-08-07 13:23:25 -07:00
Ben Vanik 31ee323b38 VECTOR_ADD signed/saturate. 2014-08-07 13:22:51 -07:00
Ben Vanik 04a3e53e50 Fixing IVM. 2014-08-06 17:05:15 -07:00
Ben Vanik 6b581bcc75 Simple IC for indirect calls. 2014-08-06 16:31:38 -07:00
Ben Vanik 4ce81fcda8 CAS should return a bool. 2014-08-06 15:48:31 -07:00
Ben Vanik b02ce5e95e Adding control flow simplification pass to compensate for lack of phi. 2014-08-06 14:19:42 -07:00
Ben Vanik bba3315f58 Make context promotion pass use bitmaps. 2014-08-06 14:19:07 -07:00
Ben Vanik 71ca8993b9 Constant src1 VectorSHL 2014-08-06 13:07:01 -07:00
Ben Vanik 2de7b6723d Fixed unwind info getting overwritten sometimes. 2014-08-06 11:51:37 -07:00
Ben Vanik a53ee330ce Marking branches/calls as volatile. 2014-08-06 11:41:37 -07:00
Ben Vanik 646b32ad4f Prevent context promotion across instructions marked volatile. 2014-08-06 11:40:10 -07:00
Ben Vanik 9efd372d92 Reset CFG edge tracking on re-run. 2014-08-06 11:38:36 -07:00
Ben Vanik b6046b1860 Move cr update to StoreRelease - prevents extra block. 2014-08-06 11:37:54 -07:00
Ben Vanik 5162d69ab2 String buffer using std::vector (and fixing an allocation bug). 2014-08-06 11:37:16 -07:00
Ben Vanik a085dc547e Fix potential heap corruption in code cache. 2014-08-06 11:36:16 -07:00
Ben Vanik d8502c2aa9 Trap without fragmenting blocks. 2014-08-06 09:01:36 -07:00
Ben Vanik 19274ef26d Better validation that values aren't moving between blocks. 2014-08-06 09:00:59 -07:00
Ben Vanik ff59f23de0 VectorRotateLeft for vrl*. 2014-08-05 18:57:34 -07:00
Ben Vanik 333fc71b44 vsubu*m 2014-08-05 15:14:01 -07:00
Ben Vanik f668dcd56b cr* operations. 2014-08-05 14:59:48 -07:00
Ben Vanik 75eb87f33d Adding VECTOR_SUB for vsub*. 2014-08-05 14:03:49 -07:00
Ben Vanik f149a23367 XUsbcamCreate stub. 2014-08-05 13:06:33 -07:00
Ben Vanik b58b7c1783 Debug cleanup. 2014-08-05 12:51:01 -07:00
Ben Vanik 31f886d8d9 Fixing overallocation of thread stacks (expending heap). 2014-08-05 12:05:45 -07:00
Ben Vanik 1d7b08b85b dlmalloc does not fail when it runs out of memory... 2014-08-05 12:05:27 -07:00
Ben Vanik 07afc58264 Untested VECTOR_SHA 16 variable and VECTOR_SHL 16 variable. 2014-08-05 11:49:59 -07:00
Ben Vanik 810c256f21 Fix register allocator with STORE_LOCAL. May indicate redundant stores. 2014-08-05 11:48:45 -07:00
Ben Vanik 2854841753 Better XMsg errors. 2014-08-05 10:44:55 -07:00
Ben Vanik 86241d0ae8 XNetCleanup/XNetRandom stubs. 2014-08-05 10:12:15 -07:00
Ben Vanik 3150f41ea0 oh ffs - properly suspending threads on creation. 2014-08-05 09:10:00 -07:00
Ben Vanik 2d4ae9ba64 XAudioEnableDucker 2014-08-04 22:02:28 -07:00
Ben Vanik 4e276695bf XamUserGetDeviceContext 2014-08-04 22:02:19 -07:00
Ben Vanik 8460afadd3 RtlUnicodeStringToAnsiString 2014-08-04 21:54:09 -07:00
Ben Vanik 8471408273 lhau(x), fixes #110. 2014-08-04 20:46:14 -07:00
Ben Vanik 64d8ee386b XamShowMessageBoxUI (that auto-advances). 2014-08-04 20:24:08 -07:00
Ben Vanik 66d2a8aec2 Setting XMA pointer to make errors clearer. 2014-08-04 18:55:00 -07:00
Ben Vanik a593d940eb std min/max. 2014-08-04 18:54:44 -07:00
Ben Vanik f0e9fd92a0 VECTOR_MIN and VECTOR_MAX instructions. 2014-08-04 18:54:06 -07:00
Ben Vanik e6275691cb KeEnableFpuExceptions stub. 2014-08-04 15:46:52 -07:00
Ben Vanik 296bb5c87a Dummy IRQL stuff to silence warnings. 2014-08-04 15:39:42 -07:00
Ben Vanik fd95858516 XamUserCheckPrivilege 2014-08-04 15:01:39 -07:00
Ben Vanik a98b9458b6 Adding XamVoice stubs. 2014-08-04 14:56:34 -07:00
Ben Vanik 35885f761c Misc fixes (overlapped IO, etc). 2014-08-03 22:25:38 -07:00
Ben Vanik 0a9d936f1e Better faking of the user profile. 2014-08-03 21:26:10 -07:00
Ben Vanik 57dda9c755 Factoring out XMsg app stuff. 2014-08-03 14:38:04 -07:00
Ben Vanik 19149bbba6 Stubbed out enumeration. 2014-08-02 21:37:11 -07:00
Ben Vanik f04c7b8661 ExAllocatePoolTypeWithTag 2014-08-02 16:23:02 -07:00
Ben Vanik 3f2baafb4b mmap, but ehh virtualquery... 2014-08-01 21:43:52 -07:00
Ben Vanik 4ad7662ef7 Fixing MMIO build on Windows. 2014-08-01 20:29:57 -07:00
Ben Vanik 12f734d7a0 VC++ has std::make_unique. 2014-08-01 20:28:52 -07:00
Ben Vanik 4beaacb622 Fixing build on linux. 2014-07-31 21:56:51 -07:00
Ben Vanik 0129a96225 Cross-platformizing MMIO stuff.
MSVC build likely needs some fixes.
2014-07-29 22:12:39 -07:00
Ben Vanik d56ae60460 More mac fixups. 2014-07-29 20:29:50 -07:00
Ben Vanik 0c5110ac3e Fixing warnings. 2014-07-17 20:52:56 -07:00
Ben Vanik 19b6e90b63 Alloy now builds on clang.
Hopefully not just bouncing back to MSVC failures…
2014-07-17 20:43:30 -07:00
Ben Vanik ec4f41fec4 Moving byte order/memory access to poly. 2014-07-17 19:20:17 -07:00
Ben Vanik ce70978ef6 Starting to split up alloy/core.h. 2014-07-14 19:18:42 -07:00
Ben Vanik e9284dfaed More C++11ification. 2014-07-13 22:28:00 -07:00
Ben Vanik 0a250d5e91 C++11ing some things. 2014-07-13 21:53:31 -07:00
Ben Vanik 29e4c35c38 Removing alloy::tracing, as it's unused. 2014-07-13 21:25:58 -07:00
Ben Vanik 9437d0b564 Sprucing up some of alloy. 2014-07-13 21:15:37 -07:00
Ben Vanik 48425da8ff Sandbox getting close to running. 2014-07-12 22:59:16 -07:00
Ben Vanik 4a0531abc5 Posix code cache. 2014-07-12 22:25:12 -07:00
Ben Vanik 7ee79318e8 Fixing a bunch of alloy clang issues. 2014-07-12 21:52:33 -07:00
Ben Vanik 9b78dd977b Migrating atomic ops to std::atomic where possible and poly. 2014-07-12 17:48:54 -07:00
Ben Vanik bf882714d0 Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
Ben Vanik 8a6807bd92 Fixing linter to work on Windows (ironically, by breaking it). 2014-07-11 18:43:35 -07:00
Ben Vanik 1d54342930 Starting to cleanup includes a bit. Still a mess. 2014-07-11 18:03:35 -07:00
Ben Vanik f24b45a07c Moving threading utils to poly. 2014-07-10 23:51:28 -07:00
Ben Vanik 9031d5f4a4 Fix clang warnings / move some plat code into poly. 2014-07-10 22:51:27 -07:00
Ben Vanik 7daa85179c Running clang-format on alloy.
All except x64_sequences, which needs work.
2014-07-10 20:20:00 -07:00
Ben Vanik 868803e03a Fixing file header. 2014-07-09 22:31:14 -07:00
Ben Vanik c5f114018e Replacing alloy::Mutex with std::mutex. 2014-07-09 22:28:51 -07:00
Ben Vanik 500647968c Prepping poly. 2014-07-09 22:05:41 -07:00
Ben Vanik 6b197c4c92 Removing the debugger and dependencies. Needs rethinking. 2014-07-09 21:21:40 -07:00
Ben Vanik fd2a1f85a6 Fixing #105 enough to get the games moving along. 2014-07-08 21:47:31 -07:00
Ben Vanik deaf8308fc More UNPACK forms - likely right. 2014-07-08 20:52:12 -07:00
Ben Vanik 0950e9f53c Calm some games down that hammer XMPGetStatus. 2014-07-08 16:02:42 -07:00
Ben Vanik eb7987a634 Setting default output values for pixel shaders. 2014-07-08 16:02:42 -07:00
Ben Vanik 2a68a1b35b Special casing some VC++ traps. 2014-07-08 16:02:41 -07:00
Ben Vanik a5627ee25a Hide lock logging. 2014-07-03 12:59:08 -07:00
Ben Vanik 824d3c246f Prevent null/broken shaders from dying in d3dcompiler. 2014-07-03 12:58:56 -07:00
Ben Vanik 3b853f6201 WSAStartup tweak. 2014-07-03 12:58:27 -07:00
Ben Vanik a0cb341662 Trying really hard to keep games from spinning up networking. 2014-07-02 21:57:21 -07:00
Ben Vanik d5f27dbf34 Better arg passing for Execute and experimenting with APCs. 2014-07-02 15:39:49 -07:00
Fire30 15be1061d3 Fixed arguments for NetDll_send. 2014-07-02 18:17:09 -04:00
tj 13b3fa6f84 Fixed typo in NetDll_setsockopt logging. 2014-06-24 00:38:14 -04:00
Ben Vanik 4009eb1cd8 Fail out of XamContentCreateEnumerator. 2014-06-22 21:19:48 -07:00
Ben Vanik 9905380bd0 Steal one page of physical heap - this helps catch virt underflows. 2014-06-22 21:09:33 -07:00
Ben Vanik 7b98c748fa Fixing double allocation of memory x_x 2014-06-22 21:03:41 -07:00
Ben Vanik 71eb408d67 Various fiddlings. 2014-06-22 19:41:26 -07:00
Ben Vanik a5448b1296 Fixing pack float16. 2014-06-20 20:48:02 -07:00
Ben Vanik da590bd9cc Disable logging for TlsGetValue. 2014-06-20 20:44:53 -07:00
Ben Vanik 7936fa2dbd Fix constants in pixel shaders. 2014-06-20 20:44:39 -07:00
Ben Vanik 45e149d00b Possibly correct variable EXTRACT_I16. 2014-06-10 21:38:33 -07:00
Ben Vanik 02709e0d65 Optimize EXTRACT_I32(0). 2014-06-10 21:38:17 -07:00
Ben Vanik 4089f405af PACK FLOAT16 seems correct. 2014-06-10 21:36:13 -07:00
Ben Vanik 713cfcb429 Possibly correct FLOAT16 unpack. 2014-06-10 21:35:50 -07:00
Ben Vanik 574a04a853 Preventing emulated instructions from stomping the xmm registers. 2014-06-10 21:33:58 -07:00
Ben Vanik 3845437276 Fix assert to allow 16 fetchers. 2014-06-10 21:06:36 -07:00
Ben Vanik 829b4f67bf ReadFile EOF. 2014-06-10 20:40:11 -07:00
Ben Vanik ff8c03046a VECTOR_COMPARE_UGT/UGE (probably). 2014-06-09 21:29:35 -07:00
Ben Vanik 289075d052 Constant D3DCOLOR UNPACK. Could optimize earlier. 2014-06-09 21:29:15 -07:00
Ben Vanik 5343cab851 Support constant CALL_INDIRECT. 2014-06-09 21:15:13 -07:00
Ben Vanik 95508273f6 Misc experimentation. 2014-06-08 23:11:09 -07:00
Ben Vanik 052dca5010 Const src1 permute. 2014-06-08 22:21:38 -07:00
Ben Vanik 43a3b4f3c0 Support constant value movs to mmio memory. 2014-06-08 22:21:23 -07:00
Ben Vanik 264fc7cc91 Fix assert. 2014-06-08 22:21:05 -07:00
Ben Vanik 6e76c169d6 Proper(ish) VdSwap - fixes a bunch of things.
Caching is working a bit better, now.
2014-06-08 21:24:29 -07:00
Ben Vanik 8337820500 Fiddling with interrupt triggering - still not right. 2014-06-08 11:59:57 -07:00
Ben Vanik daa8a24173 Caching states. 2014-06-08 11:51:53 -07:00
Ben Vanik 6514eaa780 Disabling paged resource caching for now, as it's broken. 2014-06-08 11:25:10 -07:00
Ben Vanik 295910c3d8 Initial refactoring of gpu/.
Runs too fast - now there are ringbuffer wrapping issues.
2014-06-08 11:23:55 -07:00
Ben Vanik 4072640a64 Skeleton of new shared GPU files. 2014-06-02 19:24:33 -07:00
Ben Vanik beb5ee40ee Dirty page table. Not yet used. 2014-06-02 07:49:45 -07:00
Ben Vanik ddbebcda6c Cleanup memory. 2014-06-02 07:11:27 -07:00
Ben Vanik 0e3854555d Pure dynamic MMIO access. Prep for more complex GPU memory management. 2014-06-01 23:36:18 -07:00
Ben Vanik 3a8065b7b1 Vertex buffer caching.
Doesn't help, though, as buffers are weird. Need to rethink all of this.
2014-06-01 09:42:07 -07:00
Ben Vanik 2d173ea62b Caching index buffers. 2014-05-31 22:26:39 -07:00
Ben Vanik 19c48c7a90 Partial texture cache - doesn't invalidate yet. 2014-05-31 17:38:32 -07:00
Ben Vanik 529a1478d8 Sampler state caching. 2014-05-31 16:34:05 -07:00
Ben Vanik 6607606b15 Moving texture code into shared/separate files. Leaking a lot. 2014-05-31 15:42:21 -07:00
Ben Vanik e42460039f Untested PACK float16_2/_4. 2014-05-31 11:23:10 -07:00
Ben Vanik 8be043fbd4 Merge pull request #86 from hlide/master
EXTRACT_I8, EXTRACT_I16, EXTRACT_I32, EXTRACT_F32: properly modified the...
2014-05-31 08:19:03 -07:00
hlide 0598df1d9e Removed weird symbols in x64_sequences.cc 2014-05-31 17:14:40 +02:00
Ben Vanik e45fc3dc56 Reducing profiling forced swap frequency. 2014-05-31 08:13:13 -07:00
Ben Vanik 430d827770 Like, really fixing SELECT. Frogger now runs ^_^ 2014-05-31 08:06:04 -07:00
hlide 8525cf739e Update x64_sequences.cc 2014-05-31 16:51:15 +02:00
hlide 334f744fb8 EXTRACT_I8, EXTRACT_I16, EXTRACT_I32, EXTRACT_F32: properly modified the code in comments 2014-05-31 14:23:22 +02:00
Ben Vanik 002aaab77d Fixing VECTOR_COMPARE_SGE. 2014-05-30 22:36:06 -07:00
Ben Vanik df5d86e78c Tweaking load/store. Nasty. 2014-05-30 22:29:08 -07:00
Ben Vanik 7acbf759e2 Fixing UNPACK D3DCOLOR. Probably. 2014-05-30 21:38:33 -07:00
Ben Vanik 0b42c72ec5 Fixing const propagated DID_CARRY. 2014-05-30 20:09:00 -07:00
Ben Vanik d65b5801f8 Adding hlide's comments for EXTRACT - need to implement/test. 2014-05-30 14:02:15 -07:00
Ben Vanik 691a3d4ade Fixing EXTRACT. 2014-05-30 14:01:52 -07:00
Ben Vanik 1729c8ce6d Constant MIN/MAX. 2014-05-30 14:00:28 -07:00
Ben Vanik 8ba95efdce Fixing mulx usage. 2014-05-30 12:41:48 -07:00
Ben Vanik 6c92e6a5c5 Increasing microprofile stack size, as some of these trees are deep. 2014-05-30 11:44:24 -07:00
Ben Vanik 0267efa5cc Always swapping the graphics system so that we see the profiler update. 2014-05-30 06:50:07 -07:00
Ben Vanik 0c55309826 Fixing COMPARE and tweaking ABS/NEG. 2014-05-29 23:11:00 -07:00
Ben Vanik 328ece538a Fixing disabled profiling. 2014-05-28 21:46:43 -07:00
Ben Vanik 997f582d1f Removing useless counters. 2014-05-28 20:32:50 -07:00
Ben Vanik 18b1f9f513 Fixing controller input. 2014-05-28 20:19:28 -07:00
Ben Vanik c06526e5df Backpatch function addresses. 2014-05-28 20:02:40 -07:00
Ben Vanik c1812406f5 Adding a bunch of profiling tracers. 2014-05-28 19:19:39 -07:00
Ben Vanik beb9bd11f0 Microprofile integration. 2014-05-28 13:59:43 -07:00
Ben Vanik 6486e0a48e Profiler skeleton. 2014-05-27 22:54:40 -07:00
Ben Vanik 2ef6545927 Trap sometimes called. 2014-05-27 19:35:52 -07:00
Ben Vanik ca22010502 Adding memory snooping for mmio accesses. Yuck. 2014-05-27 19:33:16 -07:00
Ben Vanik 192941eeb0 PACK D3DCOLOR. 2014-05-27 16:23:46 -07:00
Ben Vanik edf282abdc Disabling logging. 2014-05-27 15:26:16 -07:00
Ben Vanik b0034f3b4d Fix cntlz. 2014-05-27 15:15:52 -07:00
Ben Vanik 2856d38024 Fixing some instructions. 2014-05-27 14:31:19 -07:00
Ben Vanik 5436cde0fc Saturating unsigned VECTOR_ADD. 2014-05-27 14:27:07 -07:00
Ben Vanik 8619a15ee3 Emulated POW2/LOG2. Can probably be faked with polynomials. 2014-05-27 13:25:22 -07:00
Ben Vanik 0612a68f80 Fixing encoding of vpextr*. 2014-05-27 13:02:38 -07:00
Ben Vanik 87f8a4bb25 vector_add. 2014-05-27 13:02:23 -07:00
Ben Vanik e32342e956 Variable vector_shl int8. 2014-05-27 13:02:00 -07:00
Ben Vanik 7635bb71a0 Constant permute. 2014-05-27 12:03:40 -07:00
Ben Vanik 2d765461ff Common constant vector shifts. 2014-05-27 12:03:13 -07:00
Ben Vanik d85665bb06 More efficient 11111... vec loading. 2014-05-27 11:57:20 -07:00
Ben Vanik 16bac6d9c5 Constant support for a lot of vector ops. 2014-05-27 11:56:55 -07:00
Ben Vanik efa0565398 Fixing permute. 2014-05-27 07:53:19 -07:00
Ben Vanik 5a85263e5f Trying out a new style of JIT pattern matching. 2014-05-26 20:28:21 -07:00
Ben Vanik a001714fb0 Adding lock to stdout logging. Disable with --fast_stdout.
Fixes #78.
2014-05-21 11:24:44 -07:00
Ben Vanik 1bb0b08a14 Fixing WIN32 build. 2014-05-21 10:38:41 -07:00
Anthony Pesch 1a4355a36b implemented xerotl to replace win32 specific _rotl usage 2014-05-14 00:39:50 -07:00
Anthony Pesch f01609c5aa replace usage of itoa with snprintf 2014-05-14 00:39:47 -07:00
Anthony Pesch 68e5833647 use getpagesize on non-win32 platforms 2014-05-14 00:36:05 -07:00
Anthony Pesch 0e6c47aac5 use custom __m128 struct on non-win32 platforms to provide element-wise access
explicitly cast param for set_constant to correctly resolve overloaded function
2014-05-14 00:36:05 -07:00
Anthony Pesch c6cdf1f672 nest X64Function in its own block to avoid clang errors related to goto usage 2014-05-14 00:36:05 -07:00
Anthony Pesch 60a7e79e1a assume c++11
clang didn't like static members in anonymous structures, gave them names
WriteEvent template wouldn't resolve for temporary values without const decl in clang
added a few missing headers
added -fno-operator-names for xbyak compilation under gcc/clang
2014-05-14 00:35:21 -07:00
Shawn Hoffman 1e196df4b3 Fix spelling of GetLogicalProcessorInformation in GetProcAddress call - spelling actually matters here. 2014-03-28 21:48:20 -07:00
Ben Vanik 9a2d99d652 Fixing CFA. 2014-03-28 20:39:21 -07:00
Ben Vanik 24fc5acb07 Partially implemented Windows keyboard HID for testing. 2014-02-23 16:36:17 -08:00
Ben Vanik 86f66c4ab7 So few (faked) registers seems to break some things. 2014-02-15 15:49:41 -08:00
Ben Vanik b2f886be98 Fixing more x64 stuff. 2014-02-10 23:48:41 -08:00
Ben Vanik 74c9df6697 Re-enabling x64 backend, fixing many bugs. 2014-02-10 23:24:46 -08:00
Ben Vanik 4a584129d2 A probably-working register allocator. 2014-02-10 21:16:38 -08:00
Ben Vanik 6bd214af0b Adding a shared scratch arena for compiler passes. 2014-02-08 22:01:51 -08:00
Ben Vanik e6f3716d87 Disabling x64 backend for now, as it's rubbish. 2014-02-08 22:01:26 -08:00
Ben Vanik e36e1acc1a TLS access is slow. 2014-02-08 22:00:53 -08:00
Ben Vanik 2403f367b1 MachineInfo 2014-02-08 22:00:21 -08:00
Ben Vanik ee69696485 Hiding some D3D11 log spew. 2014-02-06 22:18:44 -08:00
Ben Vanik 6199e9f7b5 Vector constant support. 2014-02-06 22:18:30 -08:00
Ben Vanik c5b70e615f Fixing div. 2014-02-06 22:18:15 -08:00
Ben Vanik 5309356908 Fixing tail calls in the jit. 2014-02-06 21:53:31 -08:00
Ben Vanik 0d88e83daa Avoiding function lookup for compiled functions. Still need caching. 2014-02-02 14:41:57 -08:00
Ben Vanik ef5f59ed0b I seem to relearn blr != return once every month or so. 2014-02-02 14:35:16 -08:00
Ben Vanik 2d65bea0ea Fix warning. 2014-02-02 13:34:03 -08:00
Ben Vanik 05387b4996 Fixing type mismatches. 2014-02-02 13:10:24 -08:00
Ben Vanik bc54fc1ae8 UNPACK D3DCOLOR and EXTRACT INT32 variable. 2014-02-02 13:04:42 -08:00
Ben Vanik 544d453691 Stack fixes. 2014-02-02 12:28:40 -08:00
Ben Vanik 14d6855b6d PERMUTE by V128 and fixing some ops. 2014-02-02 11:23:03 -08:00
Ben Vanik 44c29a6691 Possibly working LOAD_VECTOR_SHL/SHR. 2014-02-02 02:18:59 -08:00
Ben Vanik ae02dc7eba Fixing rdx clobber from mul/div. 2014-02-02 01:51:38 -08:00
Ben Vanik bca349b302 Oh my. Basic CFA/DFA, local variable support, misc fixes, etc. 2014-02-02 00:33:57 -08:00
Ben Vanik b29276e167 Reserve address cleanup. 2014-02-01 01:13:23 -08:00
Ben Vanik 91a43a0ab6 Fixing broken temp reg. 2014-02-01 01:13:05 -08:00
Ben Vanik b1ab2fb0a7 That was a terrible idea. Let us never speak of it again. 2014-02-01 00:41:36 -08:00
Ben Vanik f524693dbb Unswapping IVM register accesses. 2014-02-01 00:20:45 -08:00
Ben Vanik 68b5a0979e Logging undefined extern calls. 2014-02-01 00:12:36 -08:00
Ben Vanik f4d0eb03bc Fixing 64bit fneg. 2014-02-01 00:08:26 -08:00
Ben Vanik 6eef76374d Fix CNTLZ with 0. 2014-02-01 00:05:53 -08:00
Ben Vanik 50cb12634e Fixed rax clobber on mul/div. 2014-02-01 00:05:38 -08:00
Ben Vanik 10c9537836 Swapping register values. 2014-02-01 00:05:21 -08:00
Ben Vanik 7044b74dc2 Fixing register value overwriting in address calculation. 2014-01-31 23:33:32 -08:00
Ben Vanik e63fbcc2cd Fixing sub w/ SET_CARRY. 2014-01-31 23:16:38 -08:00
Ben Vanik efb2b6f037 Fixing disasm of XO. 2014-01-31 22:54:50 -08:00
Ben Vanik 7141fbad27 Ignoring comment on fall-through for now, as all imports cause it. 2014-01-31 22:51:40 -08:00
Ben Vanik 6ed411a08d Fixing printing of floats. 2014-01-31 22:51:18 -08:00
Ben Vanik 458368c35e Fixing IVM SUB bug. 2014-01-31 22:51:04 -08:00
Ben Vanik 009a6d0745 Hacking together proper stack saving. Can't get >128b frames working. 2014-01-31 22:16:05 -08:00
Ben Vanik f85b83709e Refactoring of function types. Also fixes some library import bugs. 2014-01-30 00:22:55 -08:00
Ben Vanik bdee924494 Various fixes. 2014-01-28 23:51:40 -08:00
Ben Vanik 0ec8e32861 Removing stack padding. Still broken even with it. 2014-01-28 23:22:10 -08:00
Ben Vanik 949b1a2220 Adding dynamic access checks. Eww. 2014-01-28 23:21:55 -08:00
Ben Vanik 53d4cbf2c5 Messing with flags. subficx sometimes still wrong. 2014-01-28 22:49:51 -08:00
Ben Vanik 62ced2742e Handling unimplemented externs. 2014-01-28 22:11:33 -08:00
Ben Vanik 8cddfcbf19 More SSE work. 2014-01-28 22:06:45 -08:00
Ben Vanik b2e9086932 Reserving volatile XMM registers (so long as we are calling tracers). 2014-01-28 20:39:44 -08:00
Ben Vanik e5cf47a0d8 More SSE work. 2014-01-28 20:33:13 -08:00
Ben Vanik ac4360913f Fixing typo in logging. 2014-01-28 13:56:30 -08:00
Ben Vanik 0ff1fe93af Disabling logging. 2014-01-28 10:46:40 -08:00
Ben Vanik 465c3a41dd Hacking. 2014-01-28 00:19:05 -08:00
Ben Vanik 5421108b9e Bad dp checks. 2014-01-27 23:00:26 -08:00
Ben Vanik 0908891bb2 v128 tracing. 2014-01-27 22:56:56 -08:00
Ben Vanik 5b2e44b0e8 Cleaning up some constant handling. 2014-01-27 22:47:37 -08:00
Ben Vanik d67f786af8 Some binary xmm ops. 2014-01-27 22:18:44 -08:00
Ben Vanik da36baba8d Fixing 64-bit mov encoding. *shakes fist at xbyak for silently coercing* 2014-01-27 21:32:58 -08:00
Ben Vanik 8894a0f86e Fixing tracer formats. 2014-01-27 21:32:20 -08:00
Ben Vanik 01c1dd6417 Fixing unpack type. 2014-01-27 21:03:17 -08:00
Ben Vanik 9b45e6f2dc Tracers in x64, almost matching ivm. 2014-01-27 20:50:45 -08:00
Ben Vanik 58c0ea9ac7 Fixing bad vector compare. 2014-01-27 09:25:48 -08:00
Ben Vanik 6c7e392088 Fixing xmm unary ops. 2014-01-26 22:57:39 -08:00
Ben Vanik c828e5416e Starting on some unary xmm opcodes. 2014-01-26 22:47:15 -08:00
Ben Vanik 234aa4f543 Some parts of vector comparison. 2014-01-26 22:25:28 -08:00
Ben Vanik 6c6f10ad48 Moving op templates to op_utils.inl. 2014-01-26 21:40:25 -08:00
Ben Vanik ae6c903173 Reformating lambdas to make vs happier. 2014-01-26 21:34:46 -08:00
Ben Vanik 6e35b6efa3 Renaming op utils. 2014-01-26 21:30:34 -08:00
Ben Vanik ed4efccc30 Fleshing out skeletons for most sequences. 2014-01-26 21:27:45 -08:00
Ben Vanik 1988edfd55 Cleaning up a bit in prep for float/vec. 2014-01-26 21:04:30 -08:00
Ben Vanik 1518523651 Untested code for static register load/stores. 2014-01-26 18:51:56 -08:00
Ben Vanik 638afa686c Skeleton for PACK/UNPACK. 2014-01-26 18:21:12 -08:00
Ben Vanik 672a4fd504 LOAD_CLOCK. 2014-01-26 18:20:59 -08:00
Ben Vanik e785e31a6f Disabling context prop pass until register spilling is implemented. 2014-01-26 17:52:45 -08:00
Ben Vanik d323e6d3ec Indirect calls and fixing v128 const loads. 2014-01-26 17:52:32 -08:00
Ben Vanik 0123b63aa2 Adding (somewhat) ivm compatible ctx load/store tracing. 2014-01-26 17:42:03 -08:00
Ben Vanik 638d9631af Fixing register allocation bug. 2014-01-26 17:38:40 -08:00
Ben Vanik f55fb17e1b MUL/MUL_HI/DIV 2014-01-26 16:09:25 -08:00
Ben Vanik ebaf8aa16d Fixing extends. Xbyak doesn't have good validation, so expecting more :( 2014-01-26 15:46:10 -08:00
Ben Vanik e52a7bc3af Fixing things, breaking others. 2014-01-26 15:10:39 -08:00
Ben Vanik 122761835e Adding new instructions and cleaning things up a bit. 2014-01-26 12:14:29 -08:00
Ben Vanik bbf3b4bdab Fixing tail calls. 2014-01-26 11:45:58 -08:00
Ben Vanik aadf92e4ea 'Fixing' register clobbering by disabling a bunch of nonvolatile regs. 2014-01-26 11:18:12 -08:00
Ben Vanik ac59b61851 Fixing register eviction. 2014-01-26 11:17:53 -08:00
Ben Vanik 5eeeee7093 Fixing jumps. 2014-01-26 11:17:12 -08:00
Ben Vanik 7fe0a10d43 Adding back --break_on_instruction. 2014-01-26 11:16:55 -08:00
Ben Vanik 3e52a99adf Fiddling with stack. Still wrong. 2014-01-26 04:34:29 -08:00
Ben Vanik 495edda8d8 Logging comments like IVM. 2014-01-26 04:01:51 -08:00
Ben Vanik 51ae8299d9 Fixing stack size. 2014-01-26 03:54:50 -08:00
Ben Vanik 20c8eb1561 Making debug disassembly look a bit better. 2014-01-26 03:24:55 -08:00
Ben Vanik cb352c6c86 Fancy templated helpers. 2014-01-26 03:17:03 -08:00
Ben Vanik ecf0988ddb Removing SET_RETURN_ADDRESS - hopefully it'll never be needed again. 2014-01-26 01:18:59 -08:00
Ben Vanik 8789fd4134 Heuristically detecting ret - probably breaks some things. 2014-01-26 01:09:25 -08:00
Ben Vanik c74f35552a (air quotes) "register allocation" without spills. 2014-01-25 23:36:59 -08:00
Ben Vanik c4d6c7a526 Reducing value count. IVM could take advantage of this. 2014-01-25 22:47:21 -08:00
Ben Vanik 05432242ff Removing block continuation branches. 2014-01-25 21:35:59 -08:00
Ben Vanik f438fa980d Fixing source offsets. 2014-01-25 21:32:30 -08:00
Ben Vanik 0cca23cdd7 Source map in DebugInfo. IVM needs to port its stuff over eventually. 2014-01-25 21:20:28 -08:00
Ben Vanik 4609339c5a JIT hackery. Not quite working. 2014-01-25 20:30:41 -08:00
gibbed 93d61d02d7 Note about DXGI_FORMAT_B4G4R4A4_UNORM being Windows 8 only. 2014-01-25 06:15:02 -08:00
gibbed 2f8f893977 Don't need to create the mastering voice with with an explicit number of channels or sample rate. 2014-01-25 04:50:47 -08:00
gibbed 47c71d702a Audio system overhaul for support of multiple audio drivers. 2014-01-25 03:18:22 -08:00
Ben Vanik bbe50cfe26 Disabling x64 backend. 2014-01-24 23:34:18 -08:00
gibbed b6c831c7ec Wait for graphics driver to complete initialization before continuing. 2014-01-24 23:00:05 -08:00
Ben Vanik 8ae6053d0f Deleting LIR and such, wiring up for HIR->x64. 2014-01-24 22:26:15 -08:00
gibbed 764d0b89f5 Fixed fetching of non-tiled textures that don't have a pitch that is a multiple of 256 bytes. 2014-01-24 11:09:38 -08:00
gibbed 7dc8a5931f Quick hack fix for vsldoi128. 2014-01-24 10:01:45 -08:00
gibbed c6642331fa Small cleanup. 2014-01-24 03:42:07 -08:00
gibbed 1ac84cf255 VECB16, VECS8, VECI4, VECF4 macros. 2014-01-24 03:39:10 -08:00
gibbed 3a7aaadbd8 TextureSwap now swaps XE_GPU_ENDIAN_8IN32. 2014-01-24 00:06:10 -08:00
gibbed 855173b2bd Probably broke everything. 2014-01-24 00:00:20 -08:00
Ben Vanik dfbbefa97f Asserting byte swapped vbs. 2014-01-23 23:58:23 -08:00
Ben Vanik 53b9ed5214 Simplifying disassembler. Much faster than before. 2014-01-23 20:31:27 -08:00
Ben Vanik f36e6cd820 Removing JSON dumps. 2014-01-23 20:31:26 -08:00
Ben Vanik f93a21884c Moving descriptions to instr table, part of issue #51. 2014-01-23 20:31:26 -08:00
gibbed 44847e9042 Moved QueryVolume and QueryFileSystemAttributes to Device from Entry. 2014-01-23 11:23:26 -08:00
gibbed bcf75a1b98 NtQueryVolumeInformationFile. 2014-01-22 17:55:23 -08:00
gibbed 6671908375 QueryVolume, QueryFileSystemAttributes stubs with accompanying XVolumeInfo and XFileSystemAttributeInfo. Needs further improvement. 2014-01-22 17:54:10 -08:00
gibbed 61093245a5 Gah. 2014-01-22 09:47:43 -08:00
gibbed 4aeb978d89 FMT_1_5_5_5. 2014-01-22 09:45:57 -08:00
gibbed 4b70b578fd Removed hack from XE_GPU_ENDIAN_8IN16. 2014-01-22 09:45:33 -08:00
Ben Vanik 489154e548 Ignore requests for kernel32.dll 2014-01-21 21:03:27 -08:00
Ben Vanik b6d7ccfb03 Adding an ExConfig setting. 2014-01-21 20:09:39 -08:00
gibbed 302111afbf Fixed writing of too much data. 2014-01-21 19:09:07 -08:00
gibbed 1091c171b2 Maybe this will work? 2014-01-21 18:53:35 -08:00
gibbed d1005e1a34 XamShowDeviceSelectorUI. Pretends success. Probably bad, but it'll do for now. 2014-01-21 18:19:50 -08:00
gibbed a9dfe13799 Further improvements to FetchTexture2D. 2014-01-21 18:19:50 -08:00