67f2ff2e18
[AArch64] Move the 64bit floating point instructions to scalar.
...
Instead of doing vector operations and throwing away the top 64bits of each operation, let's instead use scalar operations.
On Cortex-A57 this saves us three cycles per vector operation changed to scalar, so this saves 3-9cycles per instruction emulated.
Also puts one less micro-op in to the vector pipeline there.
On the Nvidia Denver I couldn't see any noticeable performance difference, but it's a quirky architecture so it may be noticing we are throwing away
the top bits anyway and optimizing it. The world may never know what's truly happening there.
2015-01-20 16:35:08 -06:00
217c2c9d6a
[AArch64] Add some more scalar VFP ops to the emitter.
2015-01-20 16:34:32 -06:00
7f68a357ad
Merge pull request #1914 from Sonicadvance1/AArch64_minor_improvements
...
[AArch64] Minor Improvements and bug fix.
2015-01-20 16:33:17 -06:00
cb967a6ff2
Merge pull request #1911 from Sonicadvance1/AArch64_paired_loadstores
...
[AArch64] Implements paired loadstores
2015-01-20 16:33:08 -06:00
714697faaf
Merge pull request #1909 from Sonicadvance1/GLExtensions_additions
...
Add support for two new OpenGL ES extensions.
2015-01-20 14:51:54 -06:00
4262d2199a
[AArch64] Implements paired loadstores.
2015-01-20 13:57:14 -06:00
bb042fe10f
Merge pull request #1908 from Sonicadvance1/Android_aspect_ratio
...
[Android] Expose aspect ratio to the video settings.
2015-01-20 13:07:20 -06:00
49352cfcb9
Merge pull request #1928 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-01-20 18:23:18 +01:00
e35766cbcd
Fix building with PCH disabled.
2015-01-20 17:01:37 +00:00
8ff1dc9c87
Merge pull request #1925 from Tilka/vertex_loader_jit
...
VertexLoaderX64: fix alpha of indirect 8888 colors
2015-01-20 09:40:46 +01:00
1dcf49237b
VertexLoaderX64: support VAT.ByteDequant=0
2015-01-20 09:23:15 +01:00
46ab5d63d6
VertexLoader: never reset alpha in 8888 colors
...
Fixes the opening menu of Xenoblade Chronicles.
2015-01-20 09:22:55 +01:00
6f61f90dab
Merge pull request #1777 from JosJuice/filemonitor-volumedirectory
...
Add FileMonitor support for VolumeDirectory
2015-01-20 12:32:42 +11:00
80617ec6bd
VertexLoader: remove weird line
2015-01-20 01:53:52 +01:00
873902b4a3
VertexLoader: remove non-JIT SSE code
2015-01-20 01:51:07 +01:00
38cb9bbfae
Merge pull request #1889 from magumagu/remove-hle-end
...
Remove HLE_HOOK_END.
2015-01-19 18:16:47 -06:00
0d0f7ec662
Merge pull request #1894 from Armada651/exclusive-fix
...
D3D: Fix Dolphin immediately exiting exclusive fullscreen.
2015-01-19 23:29:43 +01:00
332d5888eb
VideoConfig: Add exclusive mode flag.
...
Allows the UI to easily check the current exclusive mode state.
This simplifies a few checks and prevents the user from ever getting stuck in fullscreen.
2015-01-19 22:55:21 +01:00
7376956c92
Merge pull request #1912 from Sonicadvance1/Android_remove_workaround
...
[Android] Remove posix_memalign workaround.
2015-01-19 15:36:17 -06:00
7454297820
Merge pull request #1922 from Tilka/vertex_loader_jit
...
VertexLoader: fix position offset bug
2015-01-19 17:53:50 +01:00
804341d4fe
VertexLoader: fix position offset bug
2015-01-19 17:38:40 +01:00
4b323096ec
VertexLoader_Position: remove old JIT ideas
2015-01-19 17:36:24 +01:00
92189c03e9
Merge pull request #1921 from Sonicadvance1/loadstore_fix
...
Minor fix with psq_st{u,}x disassembly.
2015-01-19 10:17:43 -06:00
dc95ea2ce6
Minor fix with psq_st{u,}x disassembly.
2015-01-19 10:12:23 -06:00
4551bb6ce6
Add support for two new OpenGL ES extensions.
...
This adds support for OES_draw_elements_base_vertex and EXT_buffer_storage.
2015-01-18 23:01:43 -06:00
ed58b1fd5b
Merge pull request #1913 from Sonicadvance1/fix_paired_store_disassembly
...
Fixes disassembly of paired store instructions.
2015-01-18 23:27:34 -05:00
6b0431e80a
Merge pull request #1888 from john-peterson/padclamp
...
Fix the input zone drawing in input settings
2015-01-19 15:22:08 +11:00
7e64869185
Merge pull request #1887 from Tilka/vertex_loader_jit
...
VertexLoader: rewrite x64 JIT
2015-01-18 19:48:14 -06:00
5357b9c95f
Merge pull request #1899 from degasus/texcache
...
Texture Pool
2015-01-19 00:12:22 +01:00
98d99a9eef
[AArch64] Optimize loadstores address calculation.
...
For offsets that fit in the instruction encoding then we should just put it in the instruction encoding.
Saves an instruction in a large amount of loadstores.
2015-01-18 16:45:42 -06:00
cfd4348b7a
[AArch64] Fully implement cmpl and cmpli.
2015-01-18 16:45:00 -06:00
4547b64959
[AArch64] Fixe a bug in constant propagated ComputeRC.
...
Must not have been thinking, we do want to sign extend when the highest bit is set.
2015-01-18 16:44:33 -06:00
596d3fd5f2
Fixes disassembly of paired store instructions.
...
Someone thought it would be a good idea to have the location as the first argument on the instruction.
Changed it to how it is supposed to be disassembled.
2015-01-18 16:37:43 -06:00
08e50ec6dd
[Android] Remove posix_memalign workaround.
...
Google fixed the issue of posix_memalign not being available. It now works fine in r10d of the NDK.
2015-01-18 16:34:42 -06:00
8d5947efac
[AArch64] Emitter improvements.
...
Adds a bunch of new instructions to the emitter.
2015-01-18 16:25:40 -06:00
d3f49097c5
VertexLoaderX64: register symbol for code page
2015-01-18 23:20:44 +01:00
44405e2ec2
Expose the JIT quantize and dequantize arrays to all the JITs.
...
Removes the ARMv7 arrays that were being used, and lets it use the common one instead.
2015-01-18 16:20:26 -06:00
864969f300
[Android] Expose aspect ratio to the video settings.
2015-01-18 15:21:40 -06:00
9f13a77799
TexCache: don't try to aggressive reuse the entry
...
As we pool them now, freeing and reallocating them is quite fast.
2015-01-18 19:58:33 +01:00
8565f02699
TexCache: use an unordered_multimap for the tex pool
2015-01-18 19:58:33 +01:00
4639d3b1bc
TexCache: also incude textures within the render target pool
2015-01-18 19:47:48 +01:00
6cd6e6546f
TexCache: merge texture and rendertarget factory function
2015-01-18 19:47:48 +01:00
615ae9f106
TexCache: remove PC_TexFormat
...
We only support rgba32 for a while now, so there is no need to have everything in common configureable.
2015-01-18 19:47:48 +01:00
bc5cf10ad5
VertexLoaderX64: optimize color conversions
2015-01-18 17:47:18 +01:00
3f8e5cc929
Fix the input zone drawing in input settings
2015-01-18 17:25:50 +01:00
7d0cff05e9
VertexLoaderX64: make table lookup deterministic
2015-01-18 16:22:21 +01:00
1855d56f1a
VertexLoaderX64: fix a bunch of stuff
...
Suggestions by @degasus and @FioraAeterna.
2015-01-18 13:31:28 +01:00
dc01e261d1
VertexLoaderX64: fix duplicate register allocation
...
Thanks to @shuffle2 for noticing this.
2015-01-18 13:30:21 +01:00
f5545477e3
VertexLoaderX64: suggestions by @magumagu
...
- avoid register merges
- avoid redundant MOV
2015-01-18 13:30:19 +01:00
b27ba3802e
VertexLoaderX64: implement pre-Haswell fallbacks
2015-01-18 13:29:34 +01:00