degasus
732e0ff03a
VertexLoaderArm64: Mark register allocation as static const.
2016-09-26 22:19:07 +02:00
degasus
7c9bba2213
Arm64Emitter: Fix std::array initializer.
2016-09-26 22:17:25 +02:00
degasus
11bfc7fe77
JitArm64: Move memcheck check into fallback code.
...
So now each implemented slowmem instruction should check for DSI on each own.
2016-09-26 22:17:25 +02:00
degasus
39c08694a0
JitArm64: Optimize addic.
...
If simm < 0, it's faster to call MOVI2R(-simm) as only the lower bits are set.
2016-09-26 22:17:25 +02:00
degasus
1f94abea18
JitArm64: Optimize logic immediate instructions.
...
Try to use also the immediate instruction on ARM.
2016-09-26 22:17:25 +02:00
degasus
258f48572d
VertexLoaderJit: Fix out-of-bounds access for zfreeze.
...
This fixes a GCC6.1 warning.
2016-09-17 16:47:12 +02:00
degasus
735da0ed69
Fifo: Use SyncGPU timings for single core.
2016-09-17 16:25:13 +02:00
degasus
a0dcebba37
JitArm64: replace MOVI2R with MOVP2R when possible.
...
This skips the (u64) cast.
2016-09-10 11:01:18 +02:00
degasus
789e776a47
JitArm64: Fix block linking.
...
Double negation fail, sorry.
2016-09-10 11:01:18 +02:00
degasus
be763949bc
JitArm64: Drop 32bit alignment restriction of the memarea.
...
ADD() is almost as fast as MOVK(), and we already have a register for the memory location. Let's just use it.
2016-09-10 11:01:18 +02:00
degasus
a4d72ac6e3
MMU: Add small BAT comment.
2016-09-06 08:43:31 +02:00
degasus
ce5dac11a2
Boot: Update BAT lookup table on booting ELF.
2016-09-06 08:43:31 +02:00
degasus
6493ea1eb9
MMU: Coding style fixes.
2016-09-06 08:43:31 +02:00
degasus
ae1421b606
JitArm64: Rebase failure.
2016-09-06 08:43:31 +02:00
degasus
2925a5b219
Jit64: Simplify dcbz.
2016-09-06 08:43:31 +02:00
degasus
ef0dcfe558
MMU: Small fixes.
2016-09-06 08:43:31 +02:00
degasus
82bdc4ef86
PixelEngine: Delay token updates by events.
...
To still get a speedup, mark if already an event is queued.
If so, don't raise a new event.
2016-08-10 13:24:57 +02:00
degasus
a051db9792
PixelEngine: Cleanup PE Token.
...
This also affects the behavior a bit, it should now fit better to the one of the commonly more used PE Finish flag.
2016-08-10 10:07:53 +02:00
degasus
367e1b4d4c
PixelEngine: Drop write-only variables.
2016-08-10 10:07:53 +02:00
degasus
447b23e09a
JitArm64: Load memory base based on MSR.DR.
2016-08-08 20:19:57 +02:00
degasus
77cfd0d4fd
JitArm64: Fix rfi
2016-08-08 20:19:57 +02:00
degasus
85affe995e
JitCache: Do not use block 0.
...
This ID is reserved for invalid blocks. So this block can't be invalidated.
2016-08-06 14:16:13 +02:00
degasus
814f29b25b
JitCache: Implement block unlinking.
2016-08-06 11:41:39 +02:00
degasus
f9e5660106
JitCache: Implement block unlinking.
2016-07-16 09:24:10 +02:00
degasus
3b3cbc4aab
BusyLoopTest: Only run 10 times.
...
Running this test 100 times is not worth to spend 1 second.
2016-06-27 22:06:52 +02:00
degasus
d79aeaa1e9
VideoCommon: Drop GetConfigName.
...
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus
5f2f462067
VideoBackends: Merge ShowConfig functions.
2016-06-26 12:34:59 +02:00
degasus
7833ff25df
VideoBackends: Merge Initialize and Shutdown functions.
2016-06-26 12:34:59 +02:00
degasus
ca96302a36
PowerPC: Dedoublify CheckExternalExceptions.
2016-06-26 11:29:25 +02:00
degasus
4c5f8f9c91
CoreTiming: Drop ProcessFifoWaitEvents.
...
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00
degasus
fdbda7b7dd
Null: Create Visual Studio project file.
...
Why is this so stupid on linux.....
2016-06-25 22:40:23 +02:00
degasus
59e4882af3
nullvideo: initial release of null video backend
2016-06-25 22:40:23 +02:00
degasus
c5e8238cc7
JitArm64: Fix dispatcher with MMU.
2016-05-20 08:32:16 +02:00
degasus
8e902abca3
JitArm64: Implement DSI exception.
...
Ok, this falls back on all memory instructions, but it's a way to start.
2016-05-20 08:32:16 +02:00
degasus
5db61b4bbb
JitArm64: Fix broken block handling.
2016-05-19 19:20:44 +02:00
degasus
37e2e92e33
JitArm64: Handle ISI excepction.
2016-05-19 19:20:44 +02:00
degasus
95ebb2991f
JitArm64: Check Exceptions on mtmsr.
2016-05-19 19:20:44 +02:00
degasus
782c68cf00
JitArm64: Clean up LWZ idle skipping.
2016-05-19 19:20:44 +02:00
degasus
c04cff57da
GLExtensions: Fix OpenGL ES 3.2 handling.
2016-05-18 23:22:46 +02:00
degasus
3a452f3cc5
VideoSW: Fix XFB config.
2016-05-18 18:37:44 +02:00
degasus
fa3526962d
VideoSW: Drop Update in XFB copy.
2016-05-18 18:37:44 +02:00
degasus
637851fce0
JitArm64: optimize bclrx
...
the unconditional path is the most common, so no need to switch to far code here.
2016-05-14 00:05:55 +02:00
degasus
b6f16352e4
JitArm64: Check downcount on block linking.
...
This skips one B() call.
2016-05-14 00:04:58 +02:00
degasus
10e716c623
JitCommon: Pass jit block instead of host pointer on linking.
...
So the JIT may do more fancy stuff.
2016-05-14 00:04:58 +02:00
degasus
cf3c65fbd0
JitArm64: Use B() instead of BR() to jumo to ASM.
...
Avoid indirect jumps as good as possible. This is a noticeable speedup.
2016-05-14 00:04:58 +02:00
degasus
b2be9bd7f7
JitArm64: Inline JitAsm in JitArm64.
...
So they share the same emitter, and so they are in the same 128MB range.
This allows us to use B() to jump to the dispatcher.
However, so we have to regenerate them on every cache clear.
2016-05-14 00:04:58 +02:00
degasus
bca0e06a95
OGL: Use coherent mapping on Qualcomm devices.
2016-05-11 23:55:28 +02:00
degasus
7517d126c8
DriverDetails: Drop BUG_BROKENALPHATEST.
...
This flag is not in use at all.
2016-05-11 21:22:09 +02:00
degasus
6219c39cf5
OGL: Drop QC ES3.1 workaround.
...
This was never tested well:
HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
degasus
2030ad4577
SCM: Use std::string.
...
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
degasus
6f2d8483b7
VideoSW: Fix special case.
...
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
2016-04-30 13:14:09 +02:00
degasus
170a7f1a06
CoreTiming: Trim max slicelength to the given value.
...
Previously it was underclocking by 50% when there were
no events to schedule.
2016-04-30 19:28:14 +12:00
degasus
3a4ff30745
Android: Also create directorys for the Wii files.
2016-04-24 14:44:30 +02:00
degasus
18db9498d7
Android: Check asset overwrite per file.
...
So new files will be added, eg the missed Wii directory.
2016-04-24 14:44:30 +02:00
degasus
3f704dca75
Android: Also copy sys/Wii directory.
...
Seems like this one was just missed, some games just did not start without it.
2016-04-24 14:44:30 +02:00
degasus
ef01f234df
PixelShaderGen: Fixes implicit type conversion or PR #3772 .
...
This regression did only happen on OpenGL ES.
2016-04-10 12:49:32 +02:00
degasus
10e4f7e7bf
PixelShaderGen: Move constant multiplication to constant generation.
...
No need to do this within the shader per pixel if it can be done once.
2016-04-09 12:25:00 +02:00
degasus
6cd7740f4b
Android: Update gradle version
2016-04-02 13:56:30 +02:00
degasus
ab44d2ec5c
VideoSW: Drop SetTevReg for colors.
2016-03-06 11:05:49 +01:00
degasus
7a154181b4
VideoSW: Drop SetScissor().
...
Just access the global state directly.
2016-03-06 10:24:28 +01:00
degasus
8b0fd623e5
VideoSW: Drop SetViewOffset.
...
Just use the global state.
2016-03-06 10:22:44 +01:00
degasus
54a4d68c9a
JitArm64: implement dcbx
2016-03-05 00:29:38 +01:00
degasus
9bf50fb93d
JitArm64: Fix mulli.
...
mulli has no inst.OE
2016-03-04 22:51:47 +01:00
degasus
9ed465f4ac
JitArm64: Implement mulhwx
2016-03-04 22:51:46 +01:00
degasus
889a0d396d
JitArm64: Align farcode entry points to 16 bytes
2016-03-04 22:49:02 +01:00
degasus
eaa0e275db
JitArm64: Use immediate WriteExceptionExit more often.
2016-03-04 22:49:01 +01:00
degasus
689205f0a4
JitArm64: small cleanup, no changes
2016-03-04 22:49:01 +01:00
degasus
7b017c6a65
JitArm64: Use a register as PC argument for the dispatcher.
2016-03-04 19:50:12 +01:00
degasus
050932ed23
JitArm64: Rename global registers.
2016-03-04 19:50:12 +01:00
degasus
57d76cefb0
JitArm64: Merge WriteExceptionExit.
2016-03-04 19:50:12 +01:00
degasus
55b9ce9b5b
JitArm64: Store memory pointer once, not per block.
2016-03-04 19:50:12 +01:00
degasus
56c8f65bc2
JitArm64: Precheck for exceptions before calling PowerPC::CheckExceptions.
2016-03-04 19:50:12 +01:00
degasus
aea48c4591
JitArm64: Drop unused WriteExceptionExit.
2016-03-04 19:50:11 +01:00
degasus
c5b0dc98c2
JitArm64: Fix LWZ idle skipping.
2016-03-04 19:50:11 +01:00
degasus
1544e4049d
CustomTextures: Fix loading of the last mipmaps.
...
Non-square textures still have mipmaps down to 1x1.
2016-03-02 23:25:04 +01:00
degasus
64f9941595
EGL: Also check for higher GL versions.
...
Seems like NVidia just ignores the forward compatible flag.
Additionally, they neither enable any extension which was designed later...
So either compatible profile, or a huge list of core profiles....
2016-03-01 07:55:57 +01:00
degasus
e2725792d4
JitArm64: Optimize addi
2016-02-29 08:39:24 +01:00
degasus
4478146c80
JitArm64: Split addi from arith_imm.
...
They ARM assembly has different immediate versions for logic and additions, so there is no use in merging those instructions.
2016-02-29 08:39:14 +01:00
degasus
68defb72a3
JitArm64: Don't generate the carry if it's not used any more.
2016-02-27 21:27:29 +01:00
degasus
3286bbd9bd
JitArm64: Track single precision in ps_sel.
2016-02-25 19:47:07 +01:00
degasus
141e299161
JitArm64: Track single precision in fctiwzx.
2016-02-25 19:47:07 +01:00
degasus
e0793a274f
JitArm64: Track singles in fselx.
2016-02-25 19:47:07 +01:00
degasus
b4d0307b25
JitArm64: Remove LoadTo* helpers.
2016-02-25 19:47:07 +01:00
degasus
2112d8dfda
JitArm64: Replace REG_IS_LOADED with REG_LOWER_PAIR
2016-02-25 19:47:07 +01:00
degasus
c30a66b2d5
JitArm64: Track singles in fabs.
2016-02-25 19:47:07 +01:00
degasus
84395b65f6
JitArm64: Track singles in psq_st.
2016-02-25 19:47:06 +01:00
degasus
fe87462be8
JitArm64: Track singles in stfs.
2016-02-25 19:47:06 +01:00
degasus
5fad3d94a0
JitArm64: Track singles in fcmpX.
2016-02-25 19:47:06 +01:00
degasus
c8948ff8c7
JitArm64: Track single precision in ps_maddXX.
2016-02-25 19:47:06 +01:00
degasus
7fd68c8761
JitArm64: Track singles in ps_sumX.
2016-02-25 19:47:06 +01:00
degasus
ca091b9e92
JitArm64: Track single precision in ps_res.
2016-02-25 19:47:06 +01:00
degasus
d185d2f704
JitArm64: Track singles in ps_mulsX.
2016-02-25 19:47:06 +01:00
degasus
6572790d8b
JitArm64: Track singles in ps_mergeXX.
2016-02-25 19:47:06 +01:00
degasus
5506295123
JitArm64: Track singles in frspx.
2016-02-25 19:47:06 +01:00
degasus
0efdd5cacd
JitArm64: Track singles in paired fp_logic.
2016-02-25 19:47:06 +01:00
degasus
003288a886
JitArm64: Track singles in fp_arith.
2016-02-25 19:47:05 +01:00
degasus
ae1b5ff9e8
JitArm64: Track single precision in load/store.
2016-02-25 19:47:05 +01:00
degasus
1e59dc1025
JitArm64: Single precision tracking.
2016-02-25 19:47:05 +01:00
degasus
f259a8d6cf
JitArm64: Merge more stuff into ps_maddXX.
2016-02-12 23:26:47 +01:00
degasus
8b32cd0738
JitArm64: Merge ps_sumX.
2016-02-12 10:09:57 +01:00