Commit Graph

784 Commits

Author SHA1 Message Date
gibbed
d730784efb Added XBDM stubs. 2017-01-09 04:51:55 -06:00
Dr. Chat
691c3d1021 EXTRACT_I32: Support constant src1 2016-11-11 16:50:42 -06:00
Dr. Chat
a148b965f1 KernelState should handle module launching 2016-10-24 11:01:10 -05:00
Dr. Chat
52c75c8dbc x64 backend: Pass guest return address as first argument to guest functions. 2016-08-26 13:46:21 -05:00
Dr. Chat
7683069f6c Set context/membase registers to rsi/rdi respectively.
Use offsetof for the backend thunks.
2016-08-26 11:00:42 -05:00
Dr. Chat
5f4416ee2f x64 backend: Save nonvolatile XMM registers on host -> guest transitions
Define the context and membase registers in the x64 emitter.
2016-08-22 14:55:16 -05:00
Dr. Chat
e3fdb08ad7 x64 JIT: Allocate constant data outside of the guest heap. 2016-08-18 18:26:55 -05:00
Dr. Chat
22794902f3 CNTLZ: Invert the result using xor rather than subtraction 2016-08-01 13:25:44 -05:00
Dr. Chat
a72f1d949f Constant propagation for vector SGT/UGE/UGT
Constant rounding (and fixed vec128 rounding only doing x)
2016-07-25 11:57:14 -05:00
Dr. Chat
8427acfada Use vpminud to saturate rather than bitwise ops (shaves 6 instructions per 16 in 32 saturated pack) 2016-07-23 19:19:40 -05:00
Dr. Chat
2d55b12cc9 Fix a race condition in x64 code cache involving RtlGrowFunctionTable 2016-07-19 13:59:40 -05:00
Dr. Chat
18ff97e6b6 OPCODE_IS_NAN 2016-07-11 20:44:12 -05:00
Dr. Chat
3d1d4dea47 OPCODE_DOT_PRODUCT_4 constant propagation 2016-06-28 19:39:22 -05:00
Dr. Chat
f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
gibbed
8965fda402 RSqrt for VEC128_TYPE. 2016-06-20 13:31:11 -05:00
gibbed
53e37c3167 Constant propogation for DOT_PRODUCT_3. 2016-06-20 13:30:19 -05:00
gibbed
450ca87120 Added comparison operator for --break_on_instruction. 2016-06-19 21:01:18 -05:00
gibbed
b5bef8c54d Undoing the previous commit in favor of finding a better solution (xmm1/xmm2 can't safely be used here). 2016-06-19 02:33:52 -05:00
gibbed
d04a6cc983 Added support for when both src1 and src2 are constants in EmitCommutativeBinaryXmmOp and EmitAssociativeBinaryXmmOp. 2016-06-19 02:10:40 -05:00
Dr. Chat
d5865740e2 Add a few more vector tests 2016-06-12 21:45:51 -05:00
Dr. Chat
0ef16b10e2 Constant Propagation for OPCODE_VECTOR_ADD 2016-06-12 21:41:02 -05:00
Dr. Chat
841f6fe239 Merge branch 'vulkan' 2016-06-11 19:23:23 -05:00
Dr. Chat
32011a841e Formatting. 2016-06-05 17:48:06 -05:00
Haydn Trigg
ff5529714c clang-format to Google Standards
Added formatting to code
2016-05-29 13:22:14 +09:30
Haydn Trigg
f2ca689ea0 Expanded vec128 and VectorSub
Added double precision (f64) values to the vec128 structure
Added cases for all formats of data for vector subtraction in the
Value::VectorSub function

NOTE: Unsure what the saturate function is for however maintained
original functionality
2016-05-17 05:34:09 +09:30
Dr. Chat
0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05:00
Ben Vanik
06ba273492 Warn and be ok with symbol services failing. 2016-02-21 14:26:16 -08:00
Ben Vanik
05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00
sephiroth99
5d9a4b6830 Handle all other cases in switch statements 2016-01-20 11:00:37 -05:00
sephiroth99
4c0f9e6342 Add missing includes 2016-01-20 10:36:01 -05: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
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
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
6d2f083b09 Up the maximum function count to 50,000 2016-01-13 01:30:15 -06: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
Ben Vanik
a95be25e2f Merge branch 'linuxfix' of https://github.com/sephiroth99/xenia into sephiroth99-linuxfix 2015-12-31 14:39:23 -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