Commit graph

1065 commits

Author SHA1 Message Date
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