Lioncash
97cd42f5c3
Remove some unnecessary includes as well as simplifying exisiting ones if possible.
2013-10-19 19:58:56 -04:00
comex
33ee04626d
Don't define __rdtsc if x86intrin.h already does.
2013-10-19 12:40:21 -04:00
Lioncash
81964517d6
Remove a redundant assignment in Init() within PowerPC.cpp. We already assign zero to ppcState.dtlb_last.
2013-10-17 20:38:49 -04:00
Lioncash
b8a947ce0a
Fix a filter in the VS project file for JitILCommon-related files.
2013-10-17 06:36:32 -04:00
comex
de1773affb
Basic precompiled header support for Linux/OS X. Shaves 20-30% off full rebuild time on my system.
2013-10-17 00:07:35 -04:00
comex
cffe6ba3fd
Fix TextureEncoder.h
2013-10-16 23:20:51 -04:00
comex
e1f3a4d7b3
Fix out-of-tree build on OS X.
2013-10-16 23:15:21 -04:00
Tillmann Karras
e4a81f32d4
Document some UGeckoInstruction fields
2013-10-17 04:59:13 +02:00
Rachel Bryk
f605ea9eeb
[Netplay] Allow a spectator to leave without affecting players.
2013-10-16 21:44:49 -04:00
degasus
5a212a8fe0
jit64: enable faddsx again
...
It was disabled because of issue 182, but as this game depeneds on FPRF, it was just 'fixed' because of the fallback to interpreter (which implements FPRF by default).
Also enables FPRF for this game via GameIni, so that the issue is still workaround.
If there are any regressions because of this commit, please try to enable FPRF in GameIni.
2013-10-17 01:43:16 +02:00
degasus
f850d283d1
ogl: only use bufferdata if buffersubdata is broken
...
Else nvidia fallback would be slower than needed
2013-10-16 15:46:58 +02:00
Ryan Houdek
f0bf5aa113
Fix rendering on Adreno and Mali. This adds a new DriverDetails bug to know if the bufferstreaming is broken. Thanks degasus for fixing this.
2013-10-16 11:27:58 +00:00
Tillmann Karras
c234dc97c0
Jit64: optimize floating-point/paired-single arith
...
The "else if (b != d)" branch was dead code and only works if b == d. Now
the last else block with two temporary XMM registers is not needed anymore.
2013-10-16 00:52:21 +02:00
skidau
b4513313bb
Increase the trampoline cache size to cater for fastmem writes.
...
Fixes issue 6722.
2013-10-16 09:26:08 +11:00
Rachel Bryk
6eb216fc77
(Netplay) Disable record input checkbox while a game is running.
...
Fixes issue 6734.
2013-10-15 17:28:01 -04:00
comex
b11cf1fa10
Fix config file saving on Windows.
2013-10-15 17:20:00 -04:00
degasus
b1afb32188
ShaderGen: fix for commit bd80de14f4
2013-10-15 14:48:40 +02:00
degasus
bd80de14f4
ShaderGen: drop PerPixelLighting + 8Texcoord hack
...
D3D9 only supports 8 texcoords. But we need a new one for ppl, so we just store it in the first 4 texcoords in the free 4th component.
This isn't needed for both d3d11 and ogl3, so just remove it.
2013-10-15 14:38:26 +02:00
degasus
f62579761c
ShaderGen: remove nonsense for() if() {}
2013-10-15 14:31:02 +02:00
comex
72c1e143f3
Try to atomically save config files.
2013-10-15 02:59:25 -04:00
Lioncash
f3af8ee0f0
Revert "Remove some unnecessary includes."
...
Turns out this explodes on Linux.
This reverts commit c4696568cc
.
2013-10-14 04:05:38 -04:00
Lioncash
c4696568cc
Remove some unnecessary includes.
2013-10-14 04:01:57 -04:00
Lioncash
2015cd0928
[Android] Implement OnSharedPreferenceChangeListener within PrefsActivity.java. This allows us to immediately save to the ini config when a preference in the front-end is changed, rather than waiting for the settings window to close. This also allows us to remove handling for preferences from CPUSettingsFragment.java and VideoSettingsFragment.java.
2013-10-13 22:20:34 -04:00
comex
390760bd75
Perf: Use unordered_map instead of map in very slightly hot function.
...
Incrementing an unordered_map's iterator is a bit faster.
2013-10-13 15:31:42 -04:00
comex
1570558789
Remove unused variable waitingForPEInterruptDisable.
2013-10-13 14:00:38 -04:00
NeoBrainX
59ae93d04e
PixelShaderGen: Refine the comment from revision 3fbe1b1ccd
.
2013-10-13 14:59:59 +00:00
degasus
3fbe1b1ccd
VideoCommon: Update FastDepth's comment
2013-10-13 16:14:30 +02:00
degasus
6798a4763e
VideoCommon: revert the ViewPort changes
...
xfregs isn't written when calling this function, so we have to use such an invalid flag :-(
2013-10-13 15:41:11 +02:00
degasus
2754c1132e
VideoCommon: reimplement Dirty() in PixelShaderManager
...
This isn't needed in VertexShaderManager as it's still in the old dirty flag way.
But it's very importend for PixelShaderManager as some float4s aren't initialized as 0.0f
2013-10-12 20:31:59 +02:00
degasus
50c404ce4a
VideoCommon: fix dstAlpha
2013-10-12 20:31:59 +02:00
degasus
0b2fb548c3
VideoCommon: remove SetVSConstant4f
2013-10-12 20:31:59 +02:00
degasus
5de7ac4791
OGL: update ubo workaround
2013-10-12 20:31:59 +02:00
degasus
cc6c454898
VideoCommon: refactor PixelShaderManager setters
...
The old way was to use a dirty flag per setter. Now we just update the const buffer per setter directly.
The old optimization isn't needed any more as the setters don't call the backend any more.
The follow parts are rewritten:
Alpha
ZTextureType
zbias
FogParam
FogColor
Color
TexDim
IndMatrix
MaterialColor
FogRangeAdjust
Lights
2013-10-12 20:31:25 +02:00
degasus
15ed0ea9cf
videoCommon: remove not supported constant types
...
I'm pretty sure GPUs can read u8 values, but this isn't exported by the API.
But hey, see unpackSnorm4x8 :-)
2013-10-12 20:29:56 +02:00
degasus
6e2fe72b8f
D3D: also uses VideoCommon constant buffer handling
...
As now both backends uses the VideoCommon one, the old setting API was removed.
2013-10-12 20:29:56 +02:00
degasus
7c14463d11
ogl: implement useful constant buffer upload
...
this will remove the additional memcpy introduced in my last commit
2013-10-12 20:29:56 +02:00
degasus
4377618438
VideoCommon: keep a copy of the const buffer in VideoCommon
...
The upload in the backend isn't done, it's just pushed by the mostly removed SetMulti*SConstant4fv.
Also no optimizations was done on VideoCommon side, but I can start now :-)
Sorry for the hacky way, but I think this is a nice (working) snapshot for a much bigger change.
2013-10-12 20:29:56 +02:00
degasus
0753ce5bda
ogl: use GL_RGBA instead of GL_RGBA8
...
8 bit per pixel is _everywhere_ the default, so we don't need to define it explicitly.
Also we don't rely on exact 8 bit resolution.
2013-10-12 16:34:06 +02:00
Ryan Houdek
2f0aca2055
[ARM] Fix the JITILArm and JITArm dispatchers from comex's recent changes.
2013-10-12 08:30:26 +00:00
Ryan Houdek
0556193442
Build fix for previous commit.
2013-10-11 21:45:44 -05:00
Ryan Houdek
cf7521dc36
[Android] Make Tegra 4 output graphics that aren't visually appealing.
2013-10-11 21:42:07 -05:00
lioncash
615bac7ebc
[Android] Replace the getter for the adapter backing the GameListFragment with a function that simply clears the array adapter. Maintains encapsulation this way. Simplified the actual setting of the backing ArrayAdapter for GameListFragment; this allows us to make a class variable a method variable now.
...
Also fixed up the Javadoc for the OnGameListZeroListener.
2013-10-10 17:08:46 -04:00
Lioncash
511de71736
[Android] Actually show the currently selected CPU core and video backend within the settings screen.
2013-10-10 11:57:18 -04:00
Lioncash
8b6ff7a358
Revert "{Android] Eliminate need for even using a byte array when copying assets over."
...
Turns out Android devs decided to opt for one of the most retarded ways of handling assets. Assets with some specific extensions are not compressed (png, jpeg, etc), and anything else is compressed. The AssetManager is so revolutionary, that you actually can't retrieve valid FileChannel descriptors from these compressed files! To add to this revolutionary system, they actually didn't give you a straightforward way of disabling this compression. Now using FileChannels are not possible, and thus we must use the much slower way of copying everything over. Thank you Android devs. Godforbid someone would like to use a non-array based way of copying things that's actually efficient, considering DMA access is possible with FileChannels.
This reverts commit 0dd32986b8
.
2013-10-10 00:11:33 -04:00
comex
78a4dbced8
Remove more unused stuff.
2013-10-09 21:37:29 -04:00
comex
8962b9606b
One shudders to imagine what inhuman thoughts lie behind that code.
...
(Read_Opcode_JIT and Write_Opcode_JIT read/write from unrelated memory
areas.* Rename the latter and refactor.)
*except at the one specific exception handler where it doesn't. I
have no idea what this is supposed to do, but it probably doesn't do
it correctly. For now, remove the exception.
2013-10-09 21:37:29 -04:00
comex
2e32f11f03
Remove "deprecated" and unused function Read_Opcode_JIT_LC.
2013-10-09 21:37:28 -04:00
comex
5847e26d34
Minor JitCache cleanup.
2013-10-09 21:37:28 -04:00
comex
86f2e1734a
Make JIT_UNLIMITED_ICACHE always on.
...
(1) The alternative doesn't compile.
(2) Despite "unlimited" sounding like a hack, it's actually
significantly more correct then the alternative, which is no
emulated icache.
(3) Easier to wrap my head around.
2013-10-09 21:37:28 -04:00
Ryan Houdek
715d5ae8a7
Merge branch 'JitArmIL'
...
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
Ryan Houdek
7bc4838243
Add the Arm JITIL to DolphinWX.
2013-10-09 23:09:18 +00:00
Ryan Houdek
ba9f2d52e1
Add the JITIL Arm recompiler to the Android settings.
2013-10-09 23:08:12 +00:00
Ryan Houdek
bd79603c66
[ARM-JitArmIL] Enable a bunch of instructions.
2013-10-09 23:03:39 +00:00
Ryan Houdek
f5e1b4659a
[ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers.
2013-10-09 22:57:31 +00:00
Ryan Houdek
4914665429
[ARM-JITArmIL] Remove the SystemRegisters file.
2013-10-09 20:59:15 +00:00
Rachel Bryk
cc05f66ba1
Don't prepend file:// in wxUtils::Explore() on windows. Wxw will just remove it, and/or blow up trying to remove it, if the path isn't ascii.
...
Fixes issue 6721.
2013-10-09 16:18:33 -04:00
Rachel Bryk
99c89ae109
Fix unicode support for File::Rename() on windows.
...
Partial fix of issue 6721.
2013-10-09 15:33:21 -04:00
comex
d5e40bfb01
Don't waste time looking up the block if enableBlocklink is off anyway.
2013-10-09 15:01:55 -04:00
Lioncash
0dd32986b8
{Android] Eliminate need for even using a byte array when copying assets over.
2013-10-09 12:35:12 -04:00
Matthew Parlane
414ed6ef63
C.K. should fix his website before throwing stones at obsolete xml.
2013-10-09 23:56:16 +13:00
Matthew Parlane
fbcc41c18e
Fix references for OGL, SW and D3D.
2013-10-09 23:49:00 +13:00
Matthew Parlane
935ed814ea
Missed a accept error handler.
...
Init instead of memset.
2013-10-09 23:35:29 +13:00
Matthew Parlane
f811dbb575
Fix accept() bug, which was using the wrong isRW for error conversion.
...
Also fixed a debug issue where local_name is used uninitialised.
2013-10-09 22:16:04 +13:00
Ryan Houdek
932586f743
[JitArmIL] Fix Windows build?
2013-10-09 00:55:43 +00:00
Ryan Houdek
4263f062b0
[JITArmIL] Fix JITIL compiling on x86.
2013-10-08 19:16:27 -05:00
Lioncash
a317391e3d
[Android] Change the names of the functions responsible for loading/saving config values in UserPreferences.java. Makes readability better, since they have names that actually go with each other now. LoadIniToPrefs() and SavePrefsToIni().
2013-10-08 19:08:06 -04:00
Lioncash
efac4bc608
[Android] Rephrase a comment in VideoSettingsFragment.java.
2013-10-08 18:45:10 -04:00
Ryan Houdek
ce5dbfe7a7
[ARM-JITArmIL] Begin merging of the two IL cores in to a common source base.
2013-10-08 19:23:37 +00:00
Ryan Houdek
a0f2183424
[ARM-JITArmIL] Provide the necessary instructions to allow the JitArmIL to actually run. Disable branch instructions as well for now since one is wrong somewhere.
2013-10-08 16:42:33 +00:00
Ryan Houdek
7dd8deecec
[ARM] Update the ArmEmitter with a bunch of NEON emitters. This adds around 47 instruction emitters if I counted correctly. None well tested at this point. On going to add all the NEON emitters.
2013-10-08 10:17:01 +00:00
Matthew Parlane
4a0745799f
Missed OGL includes apparently.
2013-10-08 18:03:33 +13:00
Matthew Parlane
eb480a406c
Fix Windows vcxproj files.
2013-10-08 17:52:18 +13:00
Lioncash
fb4cc76b11
[Android] Remove unnecessary equals comparison in VideoSettingsFragment.java in function SupportsGLES3(). contains() can handle this situation.
2013-10-07 19:50:50 -04:00
Ryan Houdek
0236ba3f86
[ARM-JITARMIL] CMP optimization. Int3 IR. DownCount added.
2013-10-07 23:25:13 +00:00
Jasper St. Pierre
9920362581
Fix MSVC project files
...
yay relative paths
2013-10-07 18:50:21 -04:00
Jasper St. Pierre
a7c7208103
Put Plugins/ in Core/, rename to VideoBackends
2013-10-07 10:37:01 -04:00
Ryan Houdek
a4eab75d15
[ARM] Beginning of JitArmIL JIT recompiler. This code is entirely based off of magumagu's work with the JIT64IL. This puts down the base needed for the recompiler. Starfield actually runs quite a few blocks being mysteriously dying while most other games just exit out due to an instruction not being done yet. A lot of this code can be tidied up and actually shared between the two IL recompilers but isn't yet done.
2013-10-07 14:25:07 +00:00
comex
d6f0ecebb4
Fix updating the register even if an exception occurred in MMU mode.
2013-10-07 02:34:38 -04:00
comex
a9908fdf09
Fix build issues on OS X i386.
2013-10-07 02:16:51 -04:00
Ryan Houdek
c054049712
Fix PixelShaderGen from the previous commit.
2013-10-06 21:54:09 -05:00
Ryan Houdek
26c38648ec
[Android] Missed a few things for PowerVR544MP3 'support.' It doesn't actually get any video output on it just like Tegra 4.
2013-10-06 21:51:41 -05:00
Ryan Houdek
a40daac5b1
[Android] Fix an issue where emulation would crash if we couldn't retrieve GPU information. Also if we can't get the graphics information, give them the benefit of the doubt and enable the GLES3 option.
2013-10-06 21:32:05 -05:00
Ryan Houdek
d4bd5fde71
Only emit the texgens if they are used, not every single time do all of them.
2013-10-06 21:32:05 -05:00
Lioncash
cf1b634c33
[Android] Remove unnecessary attributes from the ViewPager layout XML file.
2013-10-06 20:04:53 -04:00
Lioncash
5bee29c7c2
[Android] Reflect the string change in the Tegra 4 support commit with the JP strings as well.
2013-10-06 10:45:05 -04:00
Tony Wasserka
ed88cf6cad
Removing more references to D3D9.
2013-10-06 13:37:10 +02:00
Tony Wasserka
5de6726658
Remove another D3D9 reference.
2013-10-06 13:30:59 +02:00
Tony Wasserka
d198fee21b
Remove more references to D3D9...
2013-10-06 13:30:59 +02:00
Tony Wasserka
61ed40749f
Shader generators: Remove any references to D3D9 and cleanup the affected code.
2013-10-06 13:30:56 +02:00
Tony Wasserka
0e2e71e483
Remove some now unused VideoConfig settings.
2013-10-06 13:28:46 +02:00
Tony Wasserka
755b280c3b
Rename the Direct3D11 backend to Direct3D. The new short name is D3D.
2013-10-06 13:28:45 +02:00
Tony Wasserka
3b188b0481
VideoConfigDiag: Update video backend description to reflect the D3D9 removal.
2013-10-06 13:28:45 +02:00
Lioncash
0d4df39e1f
Remove D3D9 related files.
...
Cf. issue 6167 for a list of shortcomings that made us decide on removing the backend.
2013-10-06 13:28:41 +02:00
Ryan Houdek
6bdcde9dd6
[Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
...
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
skidau
2b08172a45
Corrected the XMM0 processing for pairedStoreQuantized in the x86 build.
...
Updated the PC for the fifo writes processing in the less common case.
2013-10-06 16:31:34 +11:00
Matthew Parlane
8722b9cfb5
Missing break for IOCTL_ES_DELETETITLECONTENT
2013-10-06 16:22:44 +13:00
Lioncash
a7d073b0da
[Core] Simplify a loop within function Run() in Interpreter.cpp. The increment variable for the for loop is never used at all, so it's sensible to replace it with a while loop.
2013-10-05 14:38:21 -04:00
skidau
2d00c3a4f8
Added code to update the PC before doing a fastmem write. Fixes games with freezing and FIFO errors since r2a339c926e43c11f7b9acc8d3af202f0be54e2b0.
2013-10-05 23:23:49 +10:00
comex
6498a77362
Fix storeSingleFloat stack alignment.
2013-10-05 07:56:57 -04:00
comex
21a114ec28
...Forgot the XMM regs for x86.
2013-10-05 01:17:34 -04:00