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
Ben Vanik
58db76c42c
Pay no attention to the man behind the curtains.
2014-01-21 18:14:36 -08:00
Ben Vanik
1316e79a2f
Fixing missing field.
2014-01-21 18:12:18 -08:00
Ben Vanik
7d8aaaaea7
Texture wrapping modes.
2014-01-21 08:31:25 -08:00
gibbed
3a2c2beca4
Not sure if this is correct, seems to work.
2014-01-21 02:36:24 -08:00
gibbed
801758fc2f
Oops.
2014-01-21 01:54:54 -08:00
gibbed
01b00118d4
Further improvements to FetchTexture2D.
2014-01-21 01:54:34 -08:00
gibbed
efa7199974
XE_GPU_SWIZZLE_000R.
2014-01-21 01:51:56 -08:00
gibbed
9507960829
Oops. Don't need that.
2014-01-21 00:51:56 -08:00
gibbed
d75f4989a8
- Tiled texture support (largely untested).
...
- Maybe fixed FMT_8.
- Improved swapping of source texture data.
2014-01-21 00:50:18 -08:00
Ben Vanik
44c15342f5
Swizzling some textures.
2014-01-21 00:31:24 -08:00
Ben Vanik
175e21bea1
Texture filtering (mostly).
2014-01-20 23:45:45 -08:00
Ben Vanik
c660b5e4d1
Making the invalid texture bright green.
2014-01-20 22:38:07 -08:00
gibbed
e02c5157ef
Then I broke DXT3. Fixed DXT3 and DXT5. For real this time.
2014-01-20 20:29:45 -08:00
gibbed
2bda51f5ec
Fixed DXT5.
2014-01-20 20:28:42 -08:00
gibbed
e66390ae93
- Proper copying of texture data.
...
- Support for DXT3, DXT5, 32 float, 16 16 16 16 float.
- Only pad textures for formats that require it.
2014-01-20 20:14:47 -08:00
Ben Vanik
74aac97b3e
FMT_8
2014-01-20 17:54:19 -08:00
gibbed
ccfb82d883
Better texture copying. And possible support for DXT1.
2014-01-20 17:49:26 -08:00
Ben Vanik
26a2ed4d75
Fixing shaders.
2014-01-20 17:45:26 -08:00
Ben Vanik
094e165415
Fixing copy.
2014-01-20 17:00:17 -08:00
Ben Vanik
3c98e65997
Fixing texture size.
2014-01-20 16:41:21 -08:00
Ben Vanik
67cc57e918
Whoops. Re-enabling blending.
2014-01-20 16:11:55 -08:00
Ben Vanik
37ed238186
Fixing texture sizing (maybe). Need to do a custom slicing bit, probably.
2014-01-20 16:10:56 -08:00
Ben Vanik
cd72bc33a3
Texture sampling in shaders.
2014-01-20 16:05:34 -08:00
Ben Vanik
4de33a6e2d
Making texture fetching split from samplers.
2014-01-20 15:36:33 -08:00
Ben Vanik
af223b2067
Textures part 1: uploading.
2014-01-20 13:57:22 -08:00
Ben Vanik
e469d87678
Detect write to psize and include conditionally.
2014-01-20 11:07:14 -08:00
Ben Vanik
0efd7b4a62
Moving viewport transform to vertex shaders.
2014-01-20 10:46:43 -08:00
gibbed
7b9a804fc0
vsprintf.
2014-01-20 10:15:53 -08:00
gibbed
16918eea07
Disabled source offset tracking by default.
2014-01-20 08:18:49 -08:00
gibbed
5a5a93d62d
This seems to work. Perhaps cache in the future?
2014-01-20 07:41:11 -08:00
gibbed
8e5da8d853
Oops.
2014-01-20 07:30:18 -08:00
gibbed
592b1974f2
Corrected stack access in XamUserReadProfileSettings.
2014-01-20 06:08:49 -08:00
gibbed
6d7b25a338
Minor corrections to NtCreateFile, NtQueryDirectory.
2014-01-20 06:08:24 -08:00
gibbed
c673d55c1e
Corrected XFileXctdCompressionInformation handling. Needs to be further corrected in the future.
2014-01-20 06:05:36 -08:00
gibbed
e5e6a2cea6
Corrected X_FILE_INFORMATION_CLASS definition.
2014-01-20 06:01:36 -08:00
Ben Vanik
f5eefb138c
Geometry shaders now support disabled viewports.
2014-01-20 03:42:05 -08:00
Ben Vanik
e5d4cdd66d
Fixing XamInputSetState.
2014-01-20 02:36:23 -08:00
Ben Vanik
58504d8c0b
Initial pass at pointsprites. Needs a lot more work.
2014-01-20 01:13:37 -08:00
Ben Vanik
ea5a6e19dd
Disabling culling for rect lists.
2014-01-20 00:45:16 -08:00
Ben Vanik
1cd518b19c
Geometry shader work for rect lists and quad lists.
2014-01-20 00:18:14 -08:00
Ben Vanik
bcea3e00f1
Point size output from VS.
2014-01-19 16:41:52 -08:00
Ben Vanik
55fe3aca05
RECIP_IEEE.
2014-01-19 11:07:12 -08:00
Ben Vanik
cb3f2308af
Fixing shaders that fetch constants.
2014-01-19 10:29:34 -08:00
gibbed
8f4950bb6c
Corrected overlapped_ptr stack location in XamUserReadProfileSettings.
2014-01-19 10:16:12 -08:00
gibbed
e0c652b075
Pretend XMACreateContext succeeded.
2014-01-19 09:47:07 -08:00
gibbed
7e22d3be92
- Renamed SHIM_SET_RETURN macro to SHIM_SET_RETURN_64.
...
- Added SHIM_SET_RETURN_32 macro, which sign-extends to 64-bit.
- Updated all uses of SHIM_SET_RETURN to the appropriate macro (either SHIM_SET_RETURN_32 or SHIM_SET_RETURN_64).
2014-01-19 07:24:16 -08:00
gibbed
870a59f225
Turns out NtQueryDirectoryFile only returns a single entry at a time.
2014-01-19 06:57:43 -08:00
gibbed
c7276454d7
Added file_name argument to QueryDirectory.
2014-01-19 02:05:51 -08:00
Ben Vanik
71de4e77dc
Fixing memory leak and zeroing on alloc.
2014-01-19 01:51:57 -08:00
Ben Vanik
268bbf105d
QueryDirectory for STFS.
2014-01-19 01:47:06 -08:00