Commit Graph

1826 Commits

Author SHA1 Message Date
Ben Vanik 3a7d1f21e8 Merge pull request #209 from DrChat/muladdsub_cleanup
Rewrite FMA mul sub/add to avoid register shuffling
2015-05-16 13:25:28 -07:00
Dr. Chat 4af14884ed Make sure object attributes pointer is non-NULL before reading from it 2015-05-16 15:24:23 -05:00
Ben Vanik 504b855c20 Adding frsqrte and fixing fsqrt o_o 2015-05-16 13:22:49 -07:00
Dr. Chat 5dbec09818 Change SSE opcodes back to AVX (mixing is bad) 2015-05-16 14:10:28 -05:00
Dr. Chat 65ff862495 Whoops (typo) 2015-05-16 13:41:33 -05:00
Dr. Chat 8e35ec0620 Rewrite FMA mul sub/add to avoid register shuffling
Also downgrade some AVX opcodes to SSE
2015-05-16 13:31:42 -05:00
Ben Vanik 6239ff9616 Disabling thread state 0x150 set. 2015-05-16 01:49:57 -07:00
Ben Vanik 8d4f54e240 Thread state updates. 2015-05-16 01:45:56 -07:00
Ben Vanik 88596611d1 Thread tweeks. 2015-05-16 00:12:25 -07:00
Ben Vanik cda0341c25 Setting process affinity to use all processors. 2015-05-15 23:52:48 -07:00
Ben Vanik 986534d448 Adding --mute. 2015-05-15 23:34:00 -07:00
Rick Gibbed 11ea5c5b10 Merge pull request #208 from DrChat/stack_size_fix
Increase audio worker thread and cpu interrupt thread stack size
2015-05-15 18:23:34 -05:00
Dr. Chat 420d4e43b6 Increase audio worker thread and cpu interrupt thread stack size 2015-05-15 18:12:44 -05:00
Rick Gibbed 7546cca936 Merge pull request #207 from DrChat/mul_8_fix
Fix 8bit multiply instructions
2015-05-15 10:22:30 -05:00
Dr. Chat dbdf3271fb Fix 8bit multiply instructions 2015-05-15 10:21:07 -05:00
Dr. Chat a46b63558e Clean up mul sub/mul add code and fix a minor bug in mulsub f64 2015-05-15 10:09:19 -05:00
Ben Vanik 8aa1854db4 Fixing X_ERROR_NO_MORE_FILES - I'm sure others are wrong :/ 2015-05-14 20:45:14 -07:00
Dr. Chat e6b4c6056f Calculate xex size based on the total size of all of the sections 2015-05-14 21:54:18 -05:00
Ben Vanik 380fabebe7 async errors. 2015-05-14 17:13:54 -07:00
Ben Vanik 9ea88ff901 Hack for testing completion routines - this is not correct.
Assert left in on purpose.
2015-05-14 16:35:46 -07:00
Ben Vanik 46eedeab01 Fixing up some overlapped completion routine stuff. 2015-05-14 16:35:29 -07:00
Ben Vanik a1fb99f1d3 Adding new test binaries. 2015-05-14 16:21:27 -07:00
Ben Vanik abf7b794e6 Adding --headless and basic message box UI. 2015-05-14 16:21:08 -07:00
Dr. Chat 88e3ef9884 fmadd test 2015-05-14 18:07:30 -05:00
Dr. Chat 5c10d1cdaa Tests: fadd/fmul 2015-05-14 18:07:24 -05:00
gibbed 6fe545b3e9 Return X_ERROR_PATH_NOT_FOUND instead of X_ERROR_FILE_NOT_FOUND in XamContentCreateCore. 2015-05-14 17:02:28 -05:00
gibbed 61f4095851 Set thread affinity of the specific thread, not the current thread. 2015-05-14 17:02:28 -05:00
gibbed 283f5269d5 Create native threads with default stack size. 2015-05-14 17:02:27 -05:00
Ben Vanik df600a105a Fixing constant compare. 2015-05-14 14:42:54 -07:00
gibbed ac4337cabf CR1 tests for fabs (disabled). 2015-05-14 16:02:44 -05:00
gibbed cfaa72cae6 Tests for extsb, extsh, extsw. 2015-05-14 15:56:25 -05:00
gibbed a5483ced29 Tests for cmpl, cmpli. 2015-05-14 15:36:39 -05:00
gibbed 95b6f0ac46 Tests for cmpi. 2015-05-14 15:30:35 -05:00
gibbed 4122bce07c Tests for cmp. 2015-05-14 15:24:03 -05:00
gibbed 6edc3b1c55 Tests for andis. 2015-05-14 14:57:43 -05:00
gibbed fa5e34ce19 Tests for andi. 2015-05-14 14:55:02 -05:00
gibbed ac1a805b8e Implemented RtlNtStatusToDosError lookup tables. 2015-05-14 13:41:45 -05:00
gibbed 169c0fd26b Oops. Sorting. 2015-05-14 12:01:24 -05:00
gibbed 20144709e3 Added xboxkrnl_error.cc/.h and moved RtlNtStatusToDosError to it. 2015-05-14 11:59:50 -05:00
gibbed a3621fd11b Experimental stack allocation. 2015-05-14 10:12:33 -05:00
gibbed 5660d348ea Tests for andc. 2015-05-14 02:06:58 -05:00
gibbed 5ec6b7973b Tests for and. 2015-05-14 02:06:41 -05:00
gibbed 30f4556baf CR0 tests for addze. 2015-05-14 01:43:18 -05:00
gibbed e4f8818d07 CR0 tests for addme. 2015-05-14 01:27:33 -05:00
gibbed ad9b2c792e Tests for addis. 2015-05-14 01:27:32 -05:00
gibbed eb5fcd5228 CR0 tests for adde. 2015-05-14 01:27:32 -05:00
gibbed 59fb08adaa CR0 tests for addc, addic. 2015-05-14 01:27:31 -05:00
Ben Vanik 1b4e7898a4 Merge pull request #203 from DrChat/stack_fix
Inherit exe stack size if user doesn't specify one
2015-05-13 23:01:02 -07:00
Dr. Chat 398a412707 Inherit exe stack size if user doesn't specify one 2015-05-14 00:59:29 -05:00
gibbed 081fc63fbd Enabled the constant tests for addc and addic. 2015-05-14 00:34:24 -05:00
gibbed 1bdb36eaa8 Added UploadTexture2D and UploadTextureCube to the profiler. 2015-05-13 22:02:16 -05:00
Ben Vanik 00b79d66ff Fixing sub carry flag. 2015-05-13 18:04:33 -07:00
gibbed b819c992ed CR0 tests for add. 2015-05-13 17:07:29 -05:00
gibbed bb947c6819 Value::MulHi and constant propagation for OPCODE_MUL_HI. Could maybe be reworked? 2015-05-13 16:13:06 -05:00
gibbed 9714018fbb Constant tests for srw, stvew, stvl, stvr, subf, subfc, subfe, subfic, subfme, subfze. 2015-05-13 06:38:31 -05:00
gibbed 0cf3e8c3f5 Simplify some register setup in the cntlzd and cntlzw tests. 2015-05-13 06:36:00 -05:00
gibbed 96e549d301 Constant tests for rldicr, rlwimi, rlwinm, rlwnm, sld, slw, srad, sradi, sraw, srawi, srd. 2015-05-13 03:14:06 -05:00
gibbed 5ebd4984ba Constant tests for mulhdu, mulhw, mulhwu, mulld, mulli, mullw, neg, nor, ori, rldicl. 2015-05-13 02:39:09 -05:00
Ben Vanik 6aec2c0d02 Whoops. I'm tired. 2015-05-13 00:38:55 -07:00
Ben Vanik 3b2035a054 Adding case for ObReferenceObjectByHandle, but impl still todo. 2015-05-13 00:37:35 -07:00
Ben Vanik 0d3e79ad2c Supporting const src1 mul_hi. 2015-05-13 00:19:07 -07:00
Ben Vanik 6fd7e35deb Fixing subfme. 2015-05-13 00:15:42 -07:00
gibbed 3ba6598caf Constant tests for eqv, lvexx, lvl, lvr, lssl, lvsr, mulhd. 2015-05-13 01:53:07 -05:00
Ben Vanik 4248268b4f Fixing divd constant. 2015-05-12 23:38:02 -07:00
gibbed 4327724f77 Constant tests for divw, divwu. 2015-05-13 01:27:27 -05:00
Ben Vanik 398b37dc5f Fixing addze. 2015-05-12 23:26:21 -07:00
Ben Vanik 56bd2eee2e Fixing divdu by constant -1. 2015-05-12 23:09:32 -07:00
gibbed e7b03042ba Constant tests for addic, addme, addze, divd, divdu. 2015-05-13 01:01:12 -05:00
Ben Vanik 91c6ad8715 Fixing adde_constant. 2015-05-12 22:53:20 -07:00
gibbed dda6f3b6bd sldi is not srdi. 2015-05-13 00:35:35 -05:00
gibbed dc1b1ca638 Constant tests for add, addc, adde. 2015-05-13 00:21:57 -05:00
Ben Vanik f96dda4983 Adding xb-gpu-trace-viewer project. 2015-05-12 22:14:34 -07:00
Ben Vanik 7622746ecf 4A seems more legit for video mode unk. Still no clue what it is. 2015-05-12 21:41:44 -07:00
Ben Vanik a72dc93b92 'xb gentest' to generate test binaries on Windows. 2015-05-12 21:41:44 -07:00
gibbed c00ded9fbc Fixed VdQueryVideoFlags. 2015-05-12 22:59:21 -05:00
gibbed 95080cefa2 Fixed second argument in XamEnableInactivityProcessing. 2015-05-12 21:56:24 -05:00
Ben Vanik 5fbdd6e262 Fixing XMP playlist handles. 2015-05-12 19:55:10 -07:00
Ben Vanik cbdfd09e0f Fixing SHR constant prop and new cntlz tests. 2015-05-12 18:59:45 -07:00
Ben Vanik 48ae4b65fb Fixing CountLeadingZeros constant prop. 2015-05-12 18:51:01 -07:00
Ben Vanik acfb5b5722 fnabsx 2015-05-12 18:43:16 -07:00
Ben Vanik d9eca84d0b Formatting. 2015-05-12 18:17:34 -07:00
Dr. Chat 82eecb752b Fix 8bit and 16bit mul instructions and clean up some code 2015-05-12 13:35:13 -05:00
gibbed c5c312eb8f ColorFormat::k_16_16_FLOAT support, maybe. 2015-05-12 06:51:32 -05:00
gibbed ff2c00e220 Just in case. 2015-05-12 06:51:31 -05:00
gibbed fc9f9d9a60 This is probably more correct. Gets rid of all xobject related asserts for several games. 2015-05-12 06:51:30 -05:00
gibbed 19e733cff7 Added constant tests for cntlzd and cntlzw. 2015-05-12 01:20:26 -05:00
gibbed be1c60c74f Disabled lzcnt intrinsic usage for now. 2015-05-12 00:48:39 -05:00
gibbed 24b13b03f5 Fixing more cpu feature guards. 2015-05-12 00:26:45 -05:00
Ben Vanik 497e5a9f69 Fixing cpu feature guards. 2015-05-11 22:13:55 -07:00
Ben Vanik ad7efa964f Adding --enable_haswell_instructions=false to disable modern instructions. 2015-05-11 21:42:10 -07:00
Ben Vanik fc02a0c404 Switching up std::vector use in register allocator. 2015-05-11 21:01:48 -07:00
Ben Vanik 21edd65354 Fixing warnings and style. 2015-05-09 18:13:19 -07:00
Ben Vanik 5954d23438 Merge branch 'debug' 2015-05-09 18:01:40 -07:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Dr. Chat 459024059a Setup UI menu code 2015-05-09 17:32:55 -05:00
Ben Vanik 4411a4499d XEX-style exports, dumping exports, and prepping kernel export lookup. 2015-05-09 00:59:03 -07:00
Ben Vanik 23eb343484 Calling DllMain, fixing ref count, and fixing module search. 2015-05-09 00:56:42 -07:00
Ben Vanik 0c646f4bc2 Prevent some stack overflows in MMIO handler. 2015-05-09 00:53:28 -07:00
Dr. Chat 0f2b1491b7 Call a DLL's entry-point function in XexLoadImage 2015-05-08 22:51:03 -05:00
Dr. Chat 8deb622abb Execute module entry-point function if it has one. 2015-05-08 22:50:54 -05:00
Ben Vanik 94c62b91d0 --trace_functions and --trace_function_coverage 2015-05-05 22:44:36 -07:00
Ben Vanik ade5388728 bool-ifying xe::cpu 2015-05-05 18:52:54 -07:00
Ben Vanik a38b05db24 Chunked mapped memory writer. 2015-05-05 18:52:53 -07:00
Ben Vanik 499bed21c0 Moving debugger. 2015-05-05 18:52:53 -07:00
Ben Vanik b07d5b8ed3 Fixing compile warnings. 2015-05-05 18:52:37 -07:00
Dr. Chat bffd2624fc Lookup XEX export by ordinal 2015-05-05 18:54:01 -05:00
Dr. Chat 2e9aec194f Ctrl+C Ctrl+V 2015-05-05 16:00:41 -05:00
Dr. Chat 26d8858684 Emulated vector shr 2015-05-05 15:58:51 -05:00
Rick Gibbed abf97ea44d Merge pull request #195 from DrChat/emulation
Emulate some vector arithmetic opcodes (until we get a native implementation)
2015-05-05 15:41:15 -05:00
Dr. Chat cb127ae9ba Emulate some vector arithmetic opcodes (until we get a native implementation) 2015-05-05 15:39:37 -05:00
Dr. Chat 54d84f04e3 XamLoaderLaunchTitle log parameters 2015-05-05 15:17:45 -05:00
Dr. Chat cff09a4509 OPCODE_VECTOR_SHA and SPLAT_I16 for non-AVX2 CPUs 2015-05-05 14:35:37 -05:00
gibbed 3249f84700 It's vpblendw. 2015-05-05 13:58:21 -05:00
gibbed 6694461698 Fixed ecx restore in EmitShlXX/EmitShrXX/EmitShaXX. 2015-05-05 13:58:03 -05:00
Ben Vanik 743e01209b Update x64_sequences.cc 2015-05-05 10:23:04 -07:00
Dr. Chat c3f1e74814 And actually use vpblendw 2015-05-05 12:16:38 -05:00
Dr. Chat c1f9952cbd PERMUTE_I32 Alternative instructions 2015-05-05 12:16:31 -05:00
Dr. Chat 0e836f2eec Fix CNTLZ (I think)
SAR alt. instruction
2015-05-05 08:53:41 -05:00
Ben Vanik 649eb1cf8e Merge pull request #190 from DrChat/load_module
XexLoadImage support for user modules
2015-05-04 20:32:12 -07:00
Ben Vanik 442e5f2840 clang-format 2015-05-04 20:24:02 -07:00
Ben Vanik 0f14575592 Shrinking debug info. 2015-05-04 20:24:02 -07:00
Dr. Chat 1b111f0313 Thread safety 2015-05-04 22:16:48 -05:00
Dr. Chat f12a8dbe20 Release modules on destruction 2015-05-04 22:07:58 -05:00
Dr. Chat 9f0663efa2 XexLoadImage for user modules 2015-05-04 22:03:14 -05:00
Dr. Chat d86674ed82 Whoops 2015-05-04 21:39:43 -05:00
Ben Vanik c4784e6dcd Merge pull request #187 from DrChat/upstream
XexGetProcedureAddress by proc name
2015-05-04 18:59:37 -07:00
Dr. Chat 9603a0a683 Formatting 2015-05-04 20:58:30 -05:00
Dr. Chat 1571c51a56 Kill some unused code 2015-05-04 20:33:04 -05:00
Dr. Chat e90475a31b kill the TODO 2015-05-04 20:26:18 -05:00
Dr. Chat bb398f32ca Guard test code with __try __except 2015-05-04 20:12:02 -05:00
Dr. Chat 6a602affed Don't parse loader export table for now (since it's referenced to with an exact address) 2015-05-04 18:16:31 -05:00
Dr. Chat 211cd0760a Use header->exe_address instead (in-case the module is relocated) 2015-05-04 18:11:39 -05:00
Dr. Chat be3d729831 Implemented this too (XexGetProcedureAddress) 2015-05-04 18:03:03 -05:00
Dr. Chat 49c8efdc6d XexGetProcedureAddress by name implemented. 2015-05-04 18:02:57 -05:00
Ben Vanik 78921c1a7e Merging Runtime into Processor. 2015-05-03 22:28:25 -07:00
Ben Vanik 4c8f3501ad Removing xdb and old tracing code before rewrite. 2015-05-03 22:01:31 -07:00
Ben Vanik d1ee1512b9 Fixing most clang-format errors. 2015-05-03 10:27:50 -07:00
Ben Vanik 6b22d35bfc Skeleton debugger. Here we go again! 2015-05-03 10:25:16 -07:00
Ben Vanik ce7270b839 Readme cleanup. 2015-05-02 11:07:40 -07:00
Ben Vanik d9e4bc98e1 Code cleanup: removing cxx_compat.h 2015-05-02 10:55:22 -07:00
Ben Vanik f8a2ed205e Merge pull request #185 from sephiroth99/remove_extra_headers
Remove cxx_compat.h header
2015-05-02 10:50:56 -07:00
Dr. Chat b87b7472e0 Fix splat w/ F32 2015-05-02 09:32:21 -05:00
Dr. Chat 850e80396f Whoops (again) 2015-05-02 09:32:13 -05:00
Dr. Chat 7844dfa034 Corrected vec splat alt. instructions 2015-05-02 09:32:03 -05:00
Dr. Chat b4025c889a whoops 2015-05-02 09:31:52 -05:00
Dr. Chat c464584e89 CNTLZ alternative instructions 2015-05-02 09:31:43 -05:00
Dr. Chat 414e5b2d30 Replaced some AVX2 instructions with non-AVX2 instructions if unsupported by CPU 2015-05-02 09:31:31 -05:00
Dr. Chat cad6ca6148 Include host CPU information in x64 emitter
Conflicts:
	src/xenia/cpu/backend/x64/x64_emitter.cc
2015-05-02 09:31:01 -05:00
sephiroth99 fbb3878cf4 Remove cxx_compat.h header
Revert commits 6d159dc2 and 3f480d24. Visual Studio 2013 is not
supported anymore, so they are not needed.
2015-05-02 09:36:34 -04:00
Ben Vanik e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00