Ryan Houdek
cf8865a6e5
[GLExtensions] Add ARB_buffer_storage to negate at least one null pointer instance.
2014-01-17 15:52:34 +01:00
Ryan Houdek
71681de81a
[GLExtensions] Initial code drop for GLExtensions. This drops GLEW entirely from the codebase. This has been tested on Android and Linux+ATI. Of course untested on Windows and Apple. Also untested with Linux + EGL but should be fine there. There are most likely a couple of extensions I'm missing which would result in null pointer runs but not bad for the initial commit.
...
Conflicts:
CMakeLists.txt
Externals/GLew/glew.vcxproj
Externals/GLew/glew.vcxproj.filters
Source/Core/VideoBackends/OGL/CMakeLists.txt
Source/Core/VideoBackends/OGL/GLFunctions.cpp
Source/Core/VideoBackends/OGL/GLFunctions.h
Source/Core/VideoBackends/OGL/GLUtil.h
Source/Core/VideoBackends/OGL/Render.cpp
Source/VSProps/Base.props
2014-01-17 15:50:51 +01:00
degasus
770485ad04
VertexLoader: don't check for possible range
...
I(index) < std::numeric_limits<I>::max() is always true, so we don't have to check it
2014-01-16 22:07:48 +01:00
degasus
5eae39766b
enable buffer_storage on nvidia 331.38 on linux
...
it works fine here, and as the VSH is removed, this is the newest driver.
2014-01-16 17:51:38 +01:00
degasus
331af32038
fixup "Remove the ZTP speedup hack"
...
This fixes revision b49c09c36b
2014-01-16 00:26:49 +01:00
Tony Wasserka
f1adc56a56
Remove vertex streaming hack.
...
NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.
2014-01-16 00:11:12 +01:00
Tony Wasserka
b49c09c36b
Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).
...
Fixes issue 6875.
2014-01-16 00:11:12 +01:00
degasus
5e5db9fbc6
VideoCommon: cleanup of "components" usage
...
This "u32 components" is a list of flags which attributes of the vertex loader are present.
We are used to append this variable to lots of vertex generation functions, but some of them don't need it at all.
2014-01-15 16:58:36 +01:00
Pierre Bourdon
a561c436fc
Change the default GFX backend from D3D11 to OGL.
...
Rationale and discussion:
https://ml.dolphin-emu.org/archives/dolphin-dev/2014-January/000003.html
2014-01-14 21:57:32 +01:00
skidau
8b53385c54
Added a check for a redundant mov in the fastmem writes code.
...
Fixes issue 6905.
2014-01-13 22:18:19 +11:00
degasus
e00c3ce363
TextureConverter: remove implicit int->float convertion
...
They was used to check if we're writing to the first or second part of one pixel.
So this is now done with a boolean and a ternary operator.
2014-01-13 12:10:17 +01:00
Scott Mansell
9aff16e7c1
Fix stupid bug in Z16L depth texture efb2ram encoding shader.
2014-01-12 13:32:06 +13:00
Ryan Houdek
e3d103f60c
Update some of the comments in DriverDetails.h for drivers that have fixed their bugs.
2014-01-11 07:31:47 -06:00
Ryan Houdek
67f099af33
Enable buffer_storage for Nvidia drivers 332.21 and above.
2014-01-09 12:06:12 -06:00
degasus
95aa977d81
OGL: remove masking from streambuffer
...
We used this to disable pinned memory for index buffer, but as the detection
was reworked completely, it's just unused code.
2014-01-09 18:52:05 +01:00
degasus
eb310cbd1d
VideoCommon: disable efb access + perf querys on cph thread
...
The usual way to handle this kind of request is to rise a flag which the gpu thread polls.
The gpu thread itself either generates the result or just write zeros if disabled.
After this, it rise another flag which says that this work is done.
So if disabled, we still have the cpu-gpu round trip time. This commit just returns 0 on the cpu thread
instead of playing ping pong...
2014-01-09 18:37:59 +01:00
Pierre Bourdon
45f74840d6
Do not fastmem addresses that were constant propagated
2014-01-09 08:28:45 +01:00
Rachel Bryk
48470a20ca
Code cleanup
...
Move enums for max SI and EXI devices to their respective .h file, and rename them.
Use only those enums in BootManager.cpp. Same thing in Movie.cpp
Change one instance of MAX_BBMOTES to MAX_WIIMOTES in Movie.cpp, since movies do not support balance board.
2014-01-08 20:36:27 -05:00
Jasper St. Pierre
3046d0e701
NetPlay: Sync CPU engine between NetPlay clients/servers
2014-01-08 19:42:02 -05:00
Rachel Bryk
216f4c927a
Fix copy and paste error in BootManager.cpp.
2014-01-08 19:37:51 -05:00
Ryan Houdek
b55a4bb087
Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.
...
Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
2014-01-08 16:40:31 -06:00
Ryan Houdek
cdf69adcb0
Fix for previous commit. I was supposed to use GL_VERSION, not GL_RENDERER.
2014-01-07 19:35:06 -06:00
Ryan Houdek
d2e62796fc
Probe the GL_RENDERER string on Nvidia to grab the driver version.
2014-01-07 18:29:04 -06:00
Ryan Houdek
7acc64eb0a
[Android] Reenable the bug for dynamic UBO array member accesses.
...
Some information on this bug since this isn't quite true.
Seemingly with the v53 driver, Qualcomm has actually fixed this bug. So we can dynamically access UBO array members.
The issue that is cropping up is actually converting our attribute 'fposmtx' to an integer.
int posmtx = int(fpostmtx);
This line causes some seemingly garbage values to enter in to the posmtx variable.
Not sure exactly why it is failing, probably them just not actually converting the float to an integer and just handling the float directly as a integer.
So the bug is going to stay active with Qualcomm devices until we convert this vertex attribute from a float to a integer.
2014-01-07 07:56:30 -06:00
NeoBrainX
55717ed216
D3D: Verbosify an error message.
2014-01-06 10:31:09 +00:00
degasus
e6676b4565
OpenGL: fix scaled efb2ram copys
...
This fix a regression in revision 687097d4bc
because of the wrong order of moving the sampled rect and scaling.
2014-01-05 18:19:17 +01:00
Pierre Bourdon
ed67d1ae2f
Fix the Zelda: The Wind Waker heat effect glitch.
...
Let's talk a bit about this bug. 12nd oldest bug not fixed in Dolphin, it was a
lot of fun to debug and it kept me busy for a while :)
Shoutout to Nintendo for framework.map, without which this could have taken a
lot longer.
Basic debugging using apitrace shows that the heat effect is rendered in an
interesting way:
* An EFB copy texture is created, using the hardware scaler to divide the
texture resolution by two and that way create the blur effect.
* This texture is then warped using indirect texturing: a deformation map is
used to "move" the texture coordinates used to sample the framebuffer copy.
Pixel shader: http://pastie.org/private/25oe1pqn6s0h5yieks1jfw
Interestingly, when looking at apitrace, the deformation texture was only 4x4
pixels... weird. It also does not have any feature that you would expect from a
deformation map. Seeing how the heat effect glitches, this deformation texture
being wrong looks like a good candidate for the problem. Let's see how it's
loaded!
By NOPing random calls to GXSetTevIndirect, we find a call that when removed
breaks the effect completely. The parameters used for this call come from the
results of methods of JPAExTexShapeArc objects. 3 different objects go through
this code path, by breaking each one we can notice that the one "controlling"
the heat effect is the one at 0x81575b98.
Following the path of this object a bit more, we can see that it has a method
called "getIndTexId". When this is called, the returned texture ID is used to
index a map and get a JPATextureArc object stored at 0x81577bec.
Nice feature of JPATextureArc: they have a getName method. For this object, it
returns "AK_kagerouInd01". We can probably use that to see how this texture
should look like, by loading it "manually" from the Wind Waker DVD.
Unfortunately I don't know how to do that. Fortunately @Abahbob got me the
texture I wanted in less than 10min after I asked him on Twitter.
AK_kagerouInd01 is a 32x32 texture that really looks like a deformation map:
http://i.imgur.com/0TfZEVj.png . Fun fact: "kagerou" means "heat haze" in JP.
So apparently we're not using the right texture object when rendering! The
GXTexObj that maps to the JPATextureArc is at offset 0x81577bf0 and points to
data at 0x80ed0460, but we're loading texture data from 0x0039d860 instead.
I started to suspect the BP write that loads the texture parameters "did not
work" somehow. Logged that and yes: nothing gets loaded to texture stage 1! ...
but it turns out this is normal, the deformation map is loaded to texture stage
5 (hardcoded in the DOL). Wait, why is the TextureCache trying to load from
texture stage 1 then?!
Because someone sucked at hex.
Fixes issue 2338.
2014-01-05 11:33:15 +01:00
degasus
c42f274e22
OpenGL: use shader 420pack if available to staticly bind ubo location
...
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.
2014-01-05 10:38:45 +01:00
degasus
4fff5ac90d
OpenGL: drop UBO-workaround usage for efb2ram shaders
...
It's just brainfuck to use this workaroung there. Just fetch the uniform location like all other util shaders.
2014-01-05 09:52:26 +01:00
degasus
01351795f0
TextureCache: Warn for invalid custom textures
...
At the moment, custom textures with:
- invalid mipmap size
- invalid aspect ratio
- non-fractional scaling factors
are allowed. But they can't be loaded fine by the backend, so generate a warning if someone trys to load them.
2014-01-03 14:30:12 +01:00
degasus
0f0a3cc509
ogl: clamp to edge for out of bound efb access
...
fixes issue 6898
OpenGL defaults are GL_REPEAT, which is even more unlikely than GL_CLAMP_TO_EDGE.
As I can't test the behavoir of the real hardware, I changed it to how it works before,
but I guess just clip the texture makes more sense.
2014-01-03 08:15:19 +01:00
Rachel Bryk
509ec9cc99
Bootmanager.cpp fixes and clean up.
...
Some settings that bootmanger reads from game ini can be changed while a game is running, so we don't have to revert these back to what they were when starting the game, unless they were actually changed by the game ini.
Fix signed/unsigned warnings that pauldacheez pointed out.
2014-01-02 16:36:06 -05:00
Rachel Bryk
450cacd092
Allow pad settings to be set via game ini.
2014-01-02 13:13:59 -05:00
Ryan Houdek
0faf696be7
Merge Fail. We don't disable BaseVertex on broken pinned memory.
2014-01-01 17:20:09 -06:00
Ryan Houdek
d36355e45c
Merge branch 'buffer_storage'
2014-01-01 17:14:35 -06:00
Rachel Bryk
7a818e05ef
I've never claimed to be a good coder.
2014-01-01 07:45:20 -05:00
Rachel Bryk
8f34085172
Really fix android build.
2014-01-01 07:39:50 -05:00
Rachel Bryk
777c62c67a
Fix android build.
2014-01-01 07:04:30 -05:00
Rachel Bryk
8a765f8749
Allow wiimote source to be set via game ini.
2014-01-01 06:59:01 -05:00
Ryan Houdek
1118226f27
Merge branch 'master' into buffer_storage
2013-12-31 19:18:30 -06:00
Ryan Houdek
8d8b0fc884
Merge branch 'master' into buffer_storage
...
Conflicts:
Source/Core/VideoBackends/OGL/Src/Render.cpp
Source/Core/VideoCommon/Src/DriverDetails.cpp
Source/Core/VideoCommon/Src/DriverDetails.h
2013-12-31 15:41:50 -06:00
Jasper St. Pierre
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00
Jasper St. Pierre
43e618682e
Convert all vcxproj files to UNIX line endings
2013-12-31 14:03:18 -05:00
Jasper St. Pierre
b6ad8bd712
HW: Remove unnecessary "../HW/" in include paths
2013-12-31 14:03:17 -05:00
Jasper St. Pierre
70d4d973f9
TAP_Win32: Remove unnecessary Memmap.h include
2013-12-31 14:00:06 -05:00
Ryan Houdek
6d63db96e9
Disable primitive restart on buggy OS X Intel HD 3000 drivers.
2013-12-30 18:26:55 -06:00
Tony Wasserka
de16b7207c
D3D/OGL: Add a TODO noting that we don't support GX_CULL_ALL, most notably required for accurate zfreeze emulation.
2013-12-30 20:37:59 +01:00
Tony Wasserka
3aa0a63fe6
VertexShaderGen: Remove Sonic Unleashed hack. Doesn't seem to be required anymore.
...
Either way, even if it's still needed for anything, this is not the correct way to fix the issue.
2013-12-30 20:28:07 +01:00
NeoBrainX
3cfa04b5cf
VertexShaderManager: Remove a hardcoded projection hack.
2013-12-30 19:26:10 +00:00
Tony Wasserka
bbde075420
Software renderer: Add a zfreeze related TODO.
2013-12-30 20:18:53 +01:00
Ryan Houdek
a5bfdbf6cd
Free performance for AMD+Linux. Instead of disabling BaseVertex due to pinned_memory. Just disable pinned_memory for the ELEMENT_ARRAY_BUFFER type which has issues with baseVertex(ELEMENT_ARRAY_BUFFER)+pinned_memory. In my two tests with this, I went from 5FPS to 11FPS in one test, and 2FPS to 6FPS in another.
2013-12-28 08:00:44 -06:00
Ryan Houdek
0b31fc8f52
[buffer_storage] Temporary fix for Android/GLES3 just like how everything else is. Cleanup for this will be in a new branch.
2013-12-28 05:16:39 -06:00
Ryan Houdek
8fdcba0c06
[buffer_storage] Code formatting changes suggested by Bh44L
2013-12-28 05:15:43 -06:00
Ryan Houdek
935e1fdf99
[Android] Enable shader cache.
2013-12-28 04:55:39 -06:00
Ryan Houdek
c8cdc81ce3
[ARM] Implement tw/twi
2013-12-28 04:43:07 -06:00
Ryan Houdek
d8b7f4d73f
[Android] Support grabbing OpenGL extensions and a function for checking for support.
2013-12-28 01:08:52 -06:00
Ryan Houdek
e04edd89cc
Support grabbing whichever OpenGL mode we are running under from GLInterface. GLES or GL
2013-12-28 00:58:08 -06:00
Ryan Houdek
77ba051361
[buffer_storage] Add the CLIENT_STORAGE_BIT since we access the buffer more frequently on the client side than the server side. That is exactly what the hint is for.
2013-12-27 22:58:36 -06:00
Jordan Woyak
8230da26fe
Fixed issue 6245. (ISO Path's "Remove" button not being disabled when it should be)
2013-12-27 17:16:28 -06:00
Jordan Woyak
620bf0b304
Eliminate some Wiimote acceleration logic redundancy.
...
Yeah, I eliminated a total of 3 LSB of accel data in the process, but no one will notice.
2013-12-27 16:35:11 -06:00
Jordan Woyak
c5695c987b
Revert "Reading shake force from calibration rather than a constant"
...
It didn't make sense. The math was nonsensical. Calibration data was somehow applied twice. I don't even.
This reverts commit 4dad640d5f
.
Fixed issue 6702.
2013-12-27 16:00:59 -06:00
Ryan Houdek
d8ceb97a60
[buffer_storage] Require GLEW 1.10 which has the new OpenGL 4.4 methods. Fixes linux build.
2013-12-27 15:37:31 -06:00
Ryan Houdek
ce99921c20
[buffer_storage] Implement ARB_buffer_storage. Disable it for GL_ARRAY_BUFFER due to a bug in Nvidia's drivers that causes black screen with it.
2013-12-27 10:56:03 -06:00
Jordan Woyak
4d1f113ab1
Fix some emulated wiimote turntable stupidness (DJ Hero controller). Happy Christmas!
...
Fixed issue 6865.
2013-12-25 15:33:33 -06:00
Ryan Houdek
a87e0e7489
Remove our GLU dependency. Fix static zlib
2013-12-23 16:01:34 -07:00
Rachel Bryk
04b87e1dcc
Change a PanicAlert to OSD message.
2013-12-23 07:18:28 -05:00
Ryan Houdek
42217fbd75
Fix the extended information status line that shows emulated mhz + idles skipped.
2013-12-21 17:58:04 -06:00
Ryan Houdek
e697d7a2dd
[Android] Work around Qualcomm's broken garbage in their v53 drivers. This doesn't fix the issue, just a work around. This is the stupidest issue coming from Qualcomm. Now Dolphin Mobile won't crash immediately, but there are new SPS issues.
2013-12-19 17:30:39 -06:00
Ryan Houdek
945b903499
Work around AMD's broken Linux drivers when it comes to pinned memory and base_vertex usage. It seems that using pinned memory with base_vertex disabled is quicker than the other way around.
2013-12-19 09:40:13 -06:00
Ryan Houdek
a35b62358a
[Android] Things fixed in Qualcomm driver v53. GLSL Centroid usage. SHADER_INFO_LOG reporting 0 at all times. Some crazy nonsense that broke the FPS counter. Those are all fixed. glBufferSubData still makes the device do a OOM error, and is still stupidly slow to use. Many more bugs remain in this latest Qualcomm driver.
2013-12-18 22:23:26 -06:00
Ryan Houdek
8c264a3964
In the shader log message, say if the error came from a PS or VS.
2013-12-18 22:21:14 -06:00
degasus
5eab3239bb
Jit64: load second operator for double intrutions
...
SSE do support non-vector instructions, but they _all_ overwrite the dest register
if the src location isn't a register. (wtf?)
So we have to load the src into a temporay register :(
2013-12-17 08:49:06 +01:00
degasus
2fad2a3e88
Revert "Jit64: use AVX instructions in some places"
...
and the fixes afterwards
This reverts commit ff91789773
.
This reverts commit bcefa880e4
.
This reverts commit 710a0ff435
.
This reverts commit ddaf29e039
.
2013-12-17 08:49:06 +01:00
comex
1b617c736c
Add a non-tiny warning about CPUs that will silently desync.
2013-12-16 22:41:52 -05:00
comex
d619ccee21
Remove the flawed, unused attempt to manually emulate Gecko codes.
...
Parsing Gecko codes (in any manner) is much like parsing HTML with regex
- that w̷a̶y̸ l̵i̷e̴s̵ m̴̲a̵͈d̵̝n̵̙ę̵͎̞̼̙̼͔̞͖͎̝s̵̨̬̱͍͓͉̠̯̤͙̝s̷͍̲̲̭̼͍͎͖̤̭̘. Luckily, with the embedded codehandler.bin,
the monstrosity may remain at only one implementation. Anyway, removing
the inserted_asm_codes thing probably speeds up the interpreter a bit.
2013-12-16 22:27:13 -05:00
Tony Wasserka
07820aaa9e
Software renderer: Add linear interpolation of fog range adjustment factors.
2013-12-16 18:42:46 +01:00
Ryan Houdek
2e1aa64958
[Android] Fix joysticks only capable of right/down movements. Also make it capable of using onscreen joystick even if controller 1 is bound.
2013-12-12 21:24:39 -06:00
Ryan Houdek
d7be993889
Oops, I left a bit being set when it shouldn't have been.
2013-12-12 22:35:05 +00:00
Ryan Houdek
09680ccee6
Small cleanup in the EGL GLInterface.
2013-12-12 22:08:54 +00:00
Ryan Houdek
50df037bb5
[Android] Fix gamepad input.
2013-12-12 14:42:25 -06:00
Ryan Houdek
f9ff0bc55d
Have our OpenGL/ES context creation be less stupid.
2013-12-12 12:43:49 -06:00
Ryan Houdek
40b3534319
[Android] Remove the now unused texture loader on the JNI side of things.
2013-12-11 20:09:54 -06:00
Ryan Houdek
0e1e14b3a1
Fix Linux build.
2013-12-11 16:06:19 -06:00
Ryan Houdek
eb3b933dd0
Remove all instances of OpenCL in the Dolphin Project. A brief history of OpenCL in Dolphin. OpenCL was originally added to the Dolphin codebase 1 month after it was released with OS X Snow Leopard in 2009. OpenCL was one of the largest group projects that Dolphin ever has had. The OpenCL texture decoder was originally aded with version 1.0 of the OpenCL spec; This version didn't have the capability of a OpenCL-OpenGL interop which would allow for uploading textures once and have it decoded directly to a OpenGL texure. This was to be worked out when the OpenCL 1.1 spec was released and allowed the interop. This work has never been done, and no one in the team is willing to work on it for various reasons. OpenCL has had the unreasonable expectation that it increases the performance of video games that require a large amount of EFB copies like NSMBW. In reality, enabling OpenCL just put the graphics card in a higher power mode which increased the game speed. This is due to the unfortunate effect of Dolphin tending to not push GPUs out of their lower frequency power savings modes. Thanks to everyone that had contributed to the OpenCL texture decoder.
2013-12-11 15:15:55 -06:00
Tony Wasserka
c9d9081bf9
Use less brain damaged names for DLCache and TextureDecoder.
2013-12-11 20:35:12 +01:00
Lioncash
e0aa674c72
Minor const-correctness for some functions in FifoPlayer and some AudioCommon headers.
2013-12-11 08:43:58 -05:00
comex
101bded6b3
Oops, don't use -lrt on Android either.
2013-12-10 16:35:44 -05:00
comex
eaacf10f71
Fix an idiotic race condition when starting games in multiple Dolphin instances at the same time on Unix.
...
MemArena mmaps the emulated memory from a file in order to get the same
mapping at multiple addresses. A file which, formerly, was located at a
static filename: it was unlinked after creation, but the open did not
use O_EXCL, so if two instances started up on the same system at just
the right time, they would get the same memory. Naturally, this caused
extremely mysterious crashes, but only in Netplay, where the game is
automatically started when the client receives a broadcast from the
server, so races are actually quite likely.
And switch to shm_open, because it fits the bill better and avoids any
issues with using /tmp.
2013-12-10 16:20:52 -05:00
degasus
2d8515c0cf
VideoCommon: remove outdated copy of OGL::VertexManager::vFlush
2013-12-09 23:49:09 +01:00
degasus
134c89ef98
OpenGL: disable shader cache when ShaderDebugging is enabled
...
fixes 6859
2013-12-09 16:45:20 +01:00
degasus
42619c1d2d
Merge branch 'ogl-tex2d'
...
Conflicts:
Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
2013-12-09 13:04:14 +01:00
degasus
687097d4bc
OGL: use integer uniforms for efb2ram texture converter
2013-12-09 12:33:50 +01:00
Chanwoong Kim
c405d92c41
fixed issue 6852.
2013-12-07 16:07:47 +09:00
Ryan Houdek
4867937355
Add Read16/Read8 to the CBlobBigEndianReader so the key check is reading 8bit from the correct location to determin which key to use. Also change check to == 1 as suggested in the IRC channel on first implementation. Potentially fixes 6852.
2013-12-06 20:40:12 -06:00
Ryan Houdek
14d9802ea4
Oops. Fix a typo in the DriverDetails change.
2013-12-06 12:18:20 -06:00
Ryan Houdek
faf8792351
Support OS specific bugs in our DriverDetails.
2013-12-05 09:32:27 -06:00
degasus
2cbefa2905
PixelShaderManager: clear s_bViewPortChanged flag
...
This flag wasn't cleared at all, so we set our constants dirty every time...
This could fix some performance regressions because of revision 6798a4763e
2013-12-03 09:37:45 +01:00
degasus
edc879ce48
OpenGL: fix crash in revision 95aeedec19
...
Real xfb didn't provide any read_stride, so there is a division by zero.
This commit calculates the correct read_stride for real_xfb, so there is also no hack for texture vs xfb needed.
2013-12-03 00:09:37 +01:00
Ryan Houdek
7bdd8191db
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-29 21:27:17 -06:00
Ryan Houdek
49eef423a8
[Android-overlay] Add the new overlay icons. Support configuring them. Disable hardfloat since it has issues since Dalvik doesn't understand passing floats due to ABI differences.
2013-11-29 18:37:33 -06:00
degasus
69137cff4c
Merge X11+D3D FreeLook feature into DolphinWX
...
This removes the redundant code and also implements this feature for OSX and Wayland.
But so it's dropped for non-wx builds...
imo DolphinWX still isn't the best place for this, but now it's in the same file as all other hotkeys. Maybe they'll be moved to InputCommon sometimes at once ...
2013-11-29 06:09:54 +01:00
degasus
95aeedec19
OpenGL: readback efb2ram with different strides at once
...
This is done with a pixel buffer object. We still have to stall the GPU, but
we only do it once per efb2ram call.
As the cpu can't access the vram, it has to queue a memcpy for the gpu and
wait for the gpu to finish this copy. We did this for every cache line which
is just stupid. Now we copy the complete texture into a pbo and readback this
at once. So we don't have to wait for lots of round-trip-times.
2013-11-26 20:05:49 +01:00
degasus
1138c2e155
OpenGL: reset EFB after efb2ram FB initialization
2013-11-26 04:07:59 +01:00
Ryan Houdek
db9c586356
Revert "jit: change our linking module to be able to handle arbitrary exit addresses"
...
This shouldn't cause issues, but does in Windows. Revert for now.
This reverts commit 1aa06b8fa4
.
2013-11-25 16:56:04 -06:00
degasus
0b4cb2e15f
OpenGL: split real xfb + efb2ram framebuffers
2013-11-25 22:27:11 +01:00
Ryan Houdek
7718c9959e
[Android-overlay] Multiple physical gamepad support.
2013-11-25 10:58:05 -06:00
degasus
11973d31c1
TextureConverter: remove WriteIncrementSampleX
2013-11-25 17:11:41 +01:00
Ryan Houdek
421fd0e16e
Fix OpenGL ES 3.
2013-11-25 15:36:24 +00:00
degasus
64a1969e36
TextureConverter: fix scoping
2013-11-25 16:34:08 +01:00
degasus
2a2f2fd4eb
TextureConvertion: merge Write*Swizzler
2013-11-25 16:19:08 +01:00
Ryan Houdek
9dbb262aab
Fix for OpenGL ES 3.
2013-11-25 15:11:06 +00:00
degasus
6750a81972
TextureConverter: Use integer math for swizzling
...
also move int(efb_coord) -> float(ogl_fb_coord) into WriteSampleColor
2013-11-25 15:49:13 +01:00
degasus
bcb31b09d3
TextureConverter: Use gl_FragCoord instead of uv0
2013-11-25 15:01:18 +01:00
degasus
a289e0604f
TextureConverter: remove D3D9 foo
...
This file is in VideoCommon, but as D3D11 doesn't use it and D3D9 is dropped, it's time to clean up.
2013-11-25 14:53:44 +01:00
degasus
454e1dd9a2
OpenGL: attributeless rendering for efb2ram
...
This wasn't as easy as we now have to cache also the uniform locations.
2013-11-25 13:03:35 +01:00
degasus
6ed3f82aff
OpenGL: attributeless rendering for postprocessing
2013-11-25 12:36:17 +01:00
degasus
38fe05b1df
OpenGL: attributeless rendering in emulate format changes
...
only cleanup
2013-11-25 12:27:54 +01:00
degasus
dd0b74ac15
OpenGL: cleanup efb2tex
...
Also use attributeless rendering. But we need the src rect, so set it by uniform.
If there is a slowdown here (I doubt as the driver likely has a fast path to update uniforms)
then we should check if this rect changes and only then update the uniform.
2013-11-25 12:19:34 +01:00
degasus
b93756df87
OpenGL: drop texture_rect hack
...
Everything is moved to texture2d (but often in a hacky way), so we don't need this global hack any more.
2013-11-25 09:05:50 +01:00
degasus
afcf0e65d1
OpenGL: fix emulate format changes for texture2d
2013-11-25 08:59:04 +01:00
degasus
146e435009
OpenGL: fix efb2ram for texture2D
...
This was hacky as hell. Our efb2ram shader generator is just freaked out.
2013-11-25 08:56:01 +01:00
degasus
b904d56036
OpenGL: fix efb2tex for texture2d
2013-11-25 08:43:55 +01:00
degasus
1a3e790d9e
OpenGL: fix xfb for texture2d
2013-11-25 08:38:00 +01:00
degasus
e8f23af10b
OpenGL: always use texture2d as efb
2013-11-25 08:32:41 +01:00
degasus
230e12ae8c
OpenGL: also remove VAO from xfb convertion
...
We use attributeless rendering, so officially we have to bind _any_ VAO.
As the state of this VAO doesn't matter, we don't have to switch it.
Also fix an AMD issue as they don't like to render from an empty VAO.
2013-11-25 07:38:20 +01:00
Ryan Houdek
da3eef1019
Fix the issue with COLOROUT not being defined anymore. Fix a issue where Mali shader compiler is idiotic in finding an overload for the mix function.
2013-11-25 00:06:29 +00:00
Ryan Houdek
cb3dd6b94b
Merge branch 'master' into android-new-control-input-overlay
2013-11-24 17:10:24 -06:00
Ryan Houdek
2c09e8fc5a
[Android] Enable hard-float support. Requires Android NDK r9b.
2013-11-24 16:43:53 -06:00
Ryan Houdek
ba18f38e70
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Android/res/values-ja/strings.xml
Source/Android/res/values/strings.xml
Source/Android/src/org/dolphinemu/dolphinemu/AboutFragment.java
Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/folderbrowser/FolderBrowser.java
Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-24 16:12:00 -06:00
Ryan Houdek
f292819ff5
[Android] Due to recent changes in code breaking Tegra 4 support, and also the upcoming code which will be breaking GLES2 support entirely. Taking the initiative to drop the remaining support code from the codebase in preparation for the upcoming changes. For a look at how Dolphin on Tegra 4 looked like prior and would not have been able to be fixed at all due to Tegra 4 not supporting the precision we need in our shaders; Look at this Youtube video http://youtu.be/Ga7Jc_Ote7U
2013-11-24 15:49:23 -06:00
Ryan Houdek
f6f2b1fc60
[Android-overlay] Support multiple gamepads with touch screen controls.
2013-11-24 15:04:53 -06:00
degasus
d410fe7c96
OpenGL: cleanup yuv2rgb (real xfb) workflow
...
We neither scale nor render from subimages, so we by using gl_Position, we don't have to generate _any_ vertices for this converting.
Also remove the glTexSubImage optimization as every driver does it when needed. But there are some workflows (eg on APU) where it's better to realloc this texture instead of a second memcpy or stall.
2013-11-24 15:56:50 +01:00
Scott Mansell
12741f6406
Add comments for anybody attempting accuracy improvements in the future.
2013-11-25 01:30:53 +13:00
Scott Mansell
b5bd2ba847
OpenGL: Enable filtering for EFB to Real XFB copies.
...
This fixes Real XFB Jaggies in OpenGL on games which use yscaling, such
as most PAL games.
This fixes the last of the "Real XFB Macroblocking" issues for opengl,
see issue #6503
2013-11-25 01:11:42 +13:00
Ryan Houdek
6f73162df4
[ARM] Implement the Acid test in the JIT core. This test is currently broken in JIT64 since it uses cr instead of cr_fast.
2013-11-24 10:51:07 +00:00
Scott Mansell
e6b35642df
Fix Desktop GLSL versions in the recent changes.
...
Seems OpenGL ES 3 Requires you must have an lod argument, while Desktop
versions require you must not have a lod argument if you are using a
Sampler2DRect (which doesn't do Mipmapping).
2013-11-24 22:48:10 +13:00
Ryan Houdek
531f840720
Fix OpenGL ES 3 in the recent changes. texelFetch doesn't require the lod argument in desktop GLSL versions, but in GLSL ES 3 it is a required argument.
2013-11-24 07:45:42 +00:00
degasus
994426b3dc
Opengl: fix real XFB sample positions
...
(0,0) and (1,0) aren't accurate xfb sample positions. This fixes the image shift to the left and some blocking on higher IR.
2013-11-24 05:39:40 +01:00
Scott Mansell
eef2cddfd7
Opengl: Fix opengl realxfb "macroblocking"/bluring issue.
...
YUYV textures should NEVER be interpolated/filtered in RGB colour space.
Use TexelFetch to always fetch an actual texture sample.
issue 6503
2013-11-24 17:15:11 +13:00
degasus
09f4439d0c
VideoCommon: reorder cbufid in orderer. We've used once two times
2013-11-24 04:43:54 +01:00
degasus
7d58278b67
Merge branch 'efb2tex_alpha'
2013-11-24 04:02:38 +01:00
degasus
2bf7379a7f
D3D: also fix MAX_COPY_BUFFERS
...
the D3D backend caches the colmat buffers. As we've created more different colmats, the maximum of this matrices must also be updated.
2013-11-24 04:00:12 +01:00
Matthew Parlane
0a31255943
Unused arguments removed from XFBSource::Draw
...
Thanks neo.
2013-11-24 11:33:43 +13:00
Scott Mansell
43d1678fb2
Dynamically allocate color textures.
...
Saves ram when the video software backend isn't being used.
2013-11-24 00:52:17 +13:00
Scott Mansell
afe47ff847
Increase res of color texture to match PAL Super Smash Bros: Brawl
...
The pal version of SSBB has a 640x568 xfb, which is larger than the efb.
Increase the size of the static textures and put in some runtime checks
to prevent buffer overruns.
2013-11-24 00:15:08 +13:00
Scott Mansell
e720ea7837
Remove c++11 feature so VC2010 can be happy.
2013-11-23 23:44:05 +13:00
Scott Mansell
786e49ed48
Merge branch 'master' into videosoftware-xfb
...
Conflicts:
Source/Core/VideoBackends/Software/Src/EfbCopy.cpp
Source/Core/VideoBackends/Software/Src/SWRenderer.cpp
Source/Core/VideoBackends/Software/Src/SWRenderer.h
Source/Core/VideoBackends/Software/Src/SWVideoConfig.cpp
Source/Core/VideoBackends/Software/Src/SWmain.cpp
2013-11-23 23:20:45 +13:00
Tony Wasserka
672fa65ee7
OpenGL: Enable pinned memory even for index buffers (works for me). Big-ish speedup on AMD GPUs for streaming intensive games.
2013-11-22 18:09:52 +01:00
skidau
efeb0096c9
Changed the DSP ROM warning from a panic alert to an on-screen message.
2013-11-22 14:55:25 +11:00
degasus
b0a83c9aaa
VideoCommon: don't read alpha from efb which don't have alpha
...
This fixes issue 6788
2013-11-22 04:50:33 +01:00
Ryan Houdek
ea9ac07ec9
Merge branch 'master' into jit_exit_addresses
2013-11-21 21:17:58 -06:00
Tillmann Karras
ff91789773
Jit64: really fix fmrx regression
...
This is more tricky than I thought!
2013-11-21 05:31:55 +01:00
degasus
011fe86d01
jit64: add regcache option IsBound
...
Lots of x86 instructions are different on memory vs registers.
So to generate code, we often have to check if a ppc register is already bound to a x86 register.
2013-11-21 05:16:58 +01:00
Tony Wasserka
286b6110f1
Revert "Handle BP mask register better to avoid useless BP writes (causing flushes)"
...
This reverts commit 954be9e2d9
.
Fixes issue 6826.
2013-11-20 22:53:10 +01:00
Tillmann Karras
bcefa880e4
Jit64: fix fmrx regression
...
Revision ddaf29e039
introduced a register
corruption bug (#6825 ). Since fmrx/MOVSD only modifies ps0 but we save
both ps0 and ps1 in one xmm register, not loading the previous value
when binding to a x64 register trashed ps1.
But hey, a good opportunity to shave off one more instruction ;)
2013-11-20 21:30:49 +01:00
Ryan Houdek
ae11fba069
[Android] Make joysticks less dumb from a configuration standpoint.
2013-11-18 14:48:08 -06:00
comex
4f13f6ecaa
"warning fixes" commit introduced warnings; fix them. (And I refuse to use PRI macros.)
2013-11-18 14:34:21 -05:00
Tillmann Karras
b863e40677
Merge branch 'ppc_fp'
2013-11-18 19:31:09 +01:00
Matthew Parlane
e805bf6068
Only add real HID devices to HID list.
2013-11-17 21:14:22 +13:00
Matthew Parlane
b372f97675
Imagewrite.cpp had same problem.
...
I hate windows :(
2013-11-17 11:30:05 +13:00
Matthew Parlane
f4a1f183b9
std::string can't be passed to ... format.
2013-11-17 11:28:11 +13:00
Matthew Parlane
ea3990a41b
Don't pass char* to std::string.
...
Windows was fine with this :(
2013-11-17 11:25:12 +13:00
Matthew Parlane
33d8166620
Use IOFile for TextureToPng to support non-ascii
...
Changed save texture/screenshot uses to std::string
Removed unneeded new/delete calls when dealing with temp data.
2013-11-17 11:14:38 +13:00
Lioncash
cce869ae01
[Core] Fix a mismatched dealloc in Render.cpp in the OGL backend. Should be delete[]
2013-11-16 17:05:51 -05:00
Ryan Houdek
4a9c8e6f55
Change software rasterizer screenshot code due to change in api just now.
2013-11-16 15:37:40 -06:00
Matthew Parlane
71d70d896f
Api was too confusing for people.
2013-11-17 10:34:34 +13:00
Ryan Houdek
2025f00f88
Woops, vim copy and paste issue with a double include.
2013-11-16 09:41:01 -06:00
Ryan Houdek
e8a4cc0f71
Screenshot capability of Software rasterizer for feature completness.
2013-11-15 22:08:08 -06:00
Matthew Parlane
3a13dfdd9b
[OGL] Textures now save to PNG not TGA
2013-11-16 15:59:59 +13:00
Ryan Houdek
15bb974224
[Android] Add screenshot nativelibrary function.
2013-11-15 17:32:50 -06:00
Ryan Houdek
b9d7bb9012
[Android] Broken UBOs has been fixed in Adreno driver v53, so update the comment in DriverDetails.h. Also enable dynamic UBO array member access with that version since there is a high chance of it being fixed. Dynamic UBO member access is commonly noticed with character models being terrible looking.
2013-11-15 16:51:07 -06:00
Ryan Houdek
0e415467c4
[Android] Spawn a message if someone's phone doesn't support NEON. NEON is a requirement for Dolphin Mobile on ARM, CPU core will crash without it.
2013-11-15 14:17:47 -06:00
Matthew Parlane
c712fb7356
Fix introduced ImageWrite warning.
2013-11-15 17:58:57 +13:00
Jordan Cristiano
714633f311
Fixed console commands not registering. Code cleanup.
2013-11-14 22:23:55 -05:00
Ryan Houdek
117bf435b0
Fix GUI-less build. Also potentially OS X. We now require libpng due to our screenshot code relying on it now. WXWidgets links in libpng by itself so it isn't noticed in a wxwidgets build. OS X seems to not have libpng linked in from wxWidgets so just link in libpng at all times.
2013-11-15 01:09:38 +00:00
Matthew Parlane
ba71cdcc51
Goto crosses initialization error.
...
Sorry.
2013-11-15 13:05:03 +13:00
Matthew Parlane
033ed9477e
Reworked Screenshot saving.
...
Now OGL doesn't rely on WX for PNG saving.
FlipImageData supports (pixel data len > 3) now.
TextureToPng is now in ImageWrite.cpp/h
Video Common depends on zlib and png.
D3D no longer depends on zlib and png.
2013-11-15 13:00:38 +13:00
Ryan Houdek
feedee5c23
[Android-overlay] Support touch screen axises in native. Have a non-configurable main joystick on screen at this point.
2013-11-14 15:18:33 -06:00
Jordan Cristiano
2703cae8d3
Fixed ZComploc and Zfreeze values being incorrectly saved.
2013-11-14 03:15:03 -05:00
Jordan Cristiano
0fced651a5
More warning fixes, OSX build fix.
2013-11-14 03:11:40 -05:00
Matthew Parlane
7e9b970240
Use libpng for saving images.
...
TODO: Needs threading done similiar to OGL backend.
Fixes issue 6779.
2013-11-14 21:02:49 +13:00
Jordan Cristiano
c3069eda28
build fix
2013-11-14 02:27:53 -05:00
Jordan Cristiano
39a4d4329d
more warning fixes
2013-11-14 02:19:15 -05:00
Matthew Parlane
ca5b3b4773
atlbase not needed. Interim fix until I get png done.
2013-11-14 18:10:39 +13:00
Ryan Houdek
1942d79c5b
[Android-overlay] Had the action reversed.
2013-11-13 16:36:30 -06:00
Ryan Houdek
2a23bdde6f
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Core/DolphinWX/Src/Android/ButtonManager.h
2013-11-13 16:17:42 -06:00
Ryan Houdek
63a9dff3bb
Windows requires memory to be included to use unique_ptr
2013-11-13 12:51:49 -06:00
Ryan Houdek
652ef24a2e
Remove our two instances of auto_ptr and replace it with unique_ptr. auto_ptr has been deprecated.
2013-11-13 11:44:04 -06:00
Matthew Parlane
7b53574b68
Support texture and screenshot dumping using WIC, no XP support.
2013-11-14 00:48:02 +13:00
Matthew Parlane
abc3bddb54
Revert "D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features."
...
This reverts commit a83c239765
.
2013-11-14 00:34:09 +13:00
Jordan Cristiano
f96e9e1ae4
warnings and code formatting
2013-11-13 04:03:46 -05:00
Tillmann Karras
038ffea369
Jit64: don't flush clean FPRs
2013-11-13 08:03:18 +01:00
Tillmann Karras
288bef2807
x64: add small warning if CPU has SSE2 but not DAZ
2013-11-13 06:26:57 +01:00
degasus
d78c8c21a2
jit64: enable fp instructions faddx fsubx fdivx fdivsx
...
all of them are now accurate enough as we handle non-ieee floats correctly
2013-11-13 06:26:50 +01:00
Tillmann Karras
cd069fdce1
Interpreter: software-based flush-to-zero
...
bDAZ is now called bFlushToZero to better reflect what it's actually
used for.
I decided not to support any hardware-based flush-to-zero on systems
that don't support this for both inputs _and_ outputs. It makes the code
cleaner and the intersection of CPUs that support SSE2 but not DAZ
should be very small.
2013-11-13 06:24:58 +01:00
Tillmann Karras
466a7afde3
Interpreter: support non-IEEE mode emulation
...
v2: fix fxsave on visual studio, thx @ rodolfo for this patch
2013-11-13 06:24:57 +01:00
Tillmann Karras
710a0ff435
Jit64: don't unnecessarily load registers
2013-11-13 06:16:24 +01:00
Tillmann Karras
ddaf29e039
Jit64: use AVX instructions in some places
2013-11-13 06:15:56 +01:00
Tillmann Karras
ae86850a78
x64: support VEX opcode encoding
...
and add some AVX instructions
2013-11-13 06:12:23 +01:00
Tillmann Karras
22b47d5b9c
Jit64: Fix and re-enable psq_l for W=1
...
Patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 05:58:28 +01:00
Tillmann Karras
6054129df8
x64: detect FMA support
2013-11-13 04:46:34 +01:00
Tillmann Karras
2fecb033be
Jit64: micro-optimize ps_sel
...
Adapted from a patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 04:45:43 +01:00
Tillmann Karras
6f5650f82e
Fix Bluetooth warnings
2013-11-13 04:01:24 +01:00
Tillmann Karras
268bdf19ce
Fix format string warnings
2013-11-13 04:01:16 +01:00
Ryan Houdek
39ad5a2f7a
Disable Fastmem on JIT64IL. JIT64IL is completely incompatible with Fastmem and doesn't need it since it has its own way to speed up memory accesses. This fixes the JIT64IL core, which I totally didn't break but was blamed for.
2013-11-12 19:37:09 -06:00
Ryan Houdek
7c1ac441f6
Redo 'Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic.' This time with support for Windows.
2013-11-12 16:34:56 -06:00
Rachel Bryk
0f94652952
Disable wiimote source selection while netplay is running.
2013-11-12 04:16:51 -05:00
Ryan Houdek
a72b3ca20c
[ARM] Don't leave my test code in the JIT core.
2013-11-12 04:22:42 +00:00
Ryan Houdek
56557c845a
[ARM] Fix NEON emitter encodings.
2013-11-12 01:01:54 +00:00
Ryan Houdek
68ba0f7f4e
Add a comment to the magic value reading location.
2013-11-11 17:17:49 +00:00
Chanwoong Kim
22fef0da9b
Fixed a bug that incorrectly recognized as 'GameCube'. when you open the Korean Wii Disc, which is re-encrypted with a common-key(g_MasterKey).
2013-11-12 01:05:30 +09:00
Ryan Houdek
d1de336879
[ARM] More NEON emitters.
2013-11-11 01:47:05 +00:00
Jordan Cristiano
3a28afd8d5
Changed thread barrier and event to use a lamba wait predicate instead of a functor.
2013-11-10 04:57:11 -05:00
Ryan Houdek
e013a74cdb
[ARM] More NEON emitters.
2013-11-10 05:02:32 +00:00
Tony Wasserka
22f727cc69
D3D: Use D3DX11 for taking screenshots.
2013-11-10 00:22:35 +01:00
Tony Wasserka
0b02880b76
Revert "Be less dumb."
...
Revert "Actually, filename really does need to be a parameter because of some random debug thing."
Revert "fix non-HAVE_WX case"
Revert "Handle screenshot saving in RenderBase. Removes dependency on D3DX11 for screenshots (texture dumping is still broken)."
This reverts commits 00fe5057f1
, 74b5fb3ab4
, cd46138d29
and 5f72542e06
because taking screenshots in D3D still crashed for me so there was no point in the code changes (which I found ugly anyway).
2013-11-10 00:22:33 +01:00
Tony Wasserka
3de2ee5d46
D3D: Use D3DX for texture dumping.
2013-11-10 00:22:31 +01:00
Tony Wasserka
a83c239765
D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features.
...
The Dolphin development team is incapable of providing sufficient replacement for its previous usage in Dolphin and the advantages of dropping the dependency do not justify the removal of screenshots and texture dumping.
From now on, d3dx11.h, d3dx11async.h, d3dx11core.h and d3dx11tex.h are required to be stored somewhere in the header include path. I don't know if this is the case for anyone else than me, but I can't really say that I care after having people randomly merge unfinished branches into master.
2013-11-10 00:18:03 +01:00
degasus
8923968b47
Revert "VideoCommon: create native texture pool"
...
This reverts commit 6cece6b486
.
In fact, there was a _huge_ speedup on lots of games (mostly on nvidia+ogl), but there are some crashes on D3D.
I have to fix this crash and then I'll commit something like this again :-)
Conflicts:
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
2013-11-07 21:16:36 +01:00
Shawn Hoffman
33d56f50a4
Re-plumb window handle to the dsound backend.
...
Reverts parts of commit 71c01d83ab614b9e0c421d03ca694713dbabff48.
Fixes issue 6800
2013-11-07 09:24:56 -08:00
degasus
ea2d8bf328
VideoCommon: fix custom textures
...
This fix a regression by revision 6cece6b486
delete pointer must not do anything if pointer==NULL.
2013-11-07 15:55:34 +01:00
Lioncash
c33036aa01
Fix the filter for some files in the Core VS project related to the JitIL. They were in the root of the project. They should actually be in their own filter named JitILCommon.
2013-11-07 01:33:32 -05:00
degasus
1aa06b8fa4
jit: change our linking module to be able to handle arbitrary exit addresses
...
And also do this for all JIT backends...
2013-11-07 06:19:35 +01:00
Pierre Bourdon
ea6fd58b97
Use an unordered_set to track FIFO write adresses
...
Reduces CheckGatherPipe CPU consumption by 40%.
2013-11-07 03:22:32 +01:00
Pierre Bourdon
954be9e2d9
Handle BP mask register better to avoid useless BP writes (causing flushes)
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2013-11-07 03:06:53 +01:00
Tillmann Karras
cdc27e46f1
Jit64: implement ps_res
...
This is probably more accurate than it is allowed to be. After all, the
instructions are supposed to be "estimates".
2013-11-07 02:19:20 +01:00
Tillmann Karras
0a2a273a2e
Jit64: simplify ps_sel
2013-11-07 02:02:38 +01:00
Tillmann Karras
201c4c65a5
Jit64: fix typo in ps_sel and re-enable it
2013-11-07 02:02:24 +01:00
degasus
2f7ca688ae
jit64: remove dead code
2013-11-07 01:59:10 +01:00
Tillmann Karras
c29fb22cd4
Jit64: extract frsqrtex as method
2013-11-07 01:59:00 +01:00
Matthew Parlane
897bec1add
[JitIL] No more terrible usage of vectors.
...
This is possible because of C++11.
2013-11-06 22:18:08 +13:00
degasus
274f6dd7ab
ogl: check default framebuffer for msaa
...
default framebuffer must not be sampled, so throw a panicalert if it is
2013-11-05 17:38:48 +01:00
Ryan Houdek
948ace9546
[ARM] Minor idle skip optimization in bx.
2013-11-05 13:05:39 +00:00
Ryan Houdek
56685c396a
[ARM] Fix an issue with the data offset in LoadStore operations. Thanks to PPSSPP.
2013-11-05 13:05:38 +00:00
degasus
6cece6b486
VideoCommon: create native texture pool
...
We often need the same native texture objects for new textures. This commit
try to avoid destroying and creation of this textures by pooling them.
This should be a big performance gain for some efb2ram games as they may
overwrites partially a cached texture (which would be deleted) and afterwards
try to read it.
Creating/destroying sounds like an easy task, but it isn't. eg the nvidia ogl
driver synchonize their threads do avoid use-after-free issues.
2013-11-05 12:21:22 +01:00
Shawn Hoffman
f4056978c8
[windows] update SDL-2.0.0 to 2.0.1. Fixes issue 6793.
2013-11-04 23:50:52 -08:00
degasus
045efdfc3e
ogl: drop all %f from TextureConversionShader
2013-11-04 12:38:55 +01:00
Matthew Parlane
e15f628935
Fix {Read,Write}FileToString.
...
We should be using binary always.
2013-11-05 00:33:41 +13:00
comex
3f1ea21e4f
Fix warnings.
2013-11-03 20:54:06 -05:00
comex
21610c2e54
Run code through clang-modernize -add-override to add 'override' decls.
2013-11-03 20:54:05 -05:00
comex
c579637eaf
Run code through the advanced tool 'sed' to remove trailing whitespace.
2013-11-03 20:54:05 -05:00
comex
965b32be9c
Run code through clang-modernize -loop-convert to create range-based for loops, and manually fix some stuff up.
2013-11-03 20:54:01 -05:00
comex
00fe5057f1
Be less dumb.
2013-11-03 14:37:56 -05:00
Rachel Bryk
a250ab0af7
Stop saving random files to ./
2013-11-02 23:47:10 -04:00
comex
74b5fb3ab4
Actually, filename really does need to be a parameter because of some random debug thing.
2013-11-02 22:44:27 -04:00
comex
cd46138d29
fix non-HAVE_WX case
2013-11-02 22:23:29 -04:00
comex
5f72542e06
Handle screenshot saving in RenderBase. Removes dependency on D3DX11 for screenshots (texture dumping is still broken).
2013-11-02 22:19:21 -04:00
Shawn Hoffman
26059f1109
rename the dolphinwx project to dolphin, and thus change the executable name back to dolphin{d}.exe
2013-11-02 16:22:15 -07:00
Shawn Hoffman
bc45a38122
do not copy pdbs to binary dir (you can use the symbol server for $(random_build), or it will be found locally if you built it yourself)
2013-11-02 16:19:17 -07:00
Matthew Parlane
dab9af43a4
[Windows] Add missing dlls and enable OpenMP support.
2013-11-03 11:54:45 +13:00
skidau
65404e7475
Removed duplicate definition of ibuild within JitIL.h. Fixes JitIL from hanging on x64/x86.
2013-11-01 12:33:29 +11:00
comex
82729fcc8f
Merge remote-tracking branch 'shuffle2/vc12'
...
Conflicts:
Source/Core/Common/Common.vcxproj
Source/Core/Common/Common.vcxproj.filters
2013-10-31 16:51:56 -04:00
comex
4c7bbd96e4
Improve ChunkFile.h:
...
- Add support for std::set and std:pair.
- Switch from std::is_pod to std::is_trivially_copyable, to allow for
types that have constructors but trivial copy constructors. Easy,
except there are three different nonstandard versions of it required
on different platforms, in addition to the standard one.
2013-10-31 15:40:53 -04:00
degasus
498d491942
Merge branch 'viewportCorrection'
2013-10-29 22:33:51 +01:00
degasus
35824aa4d5
ogl: ceil viewport, rounding isn't supported on vs and this is more like the old behavior
2013-10-29 21:42:40 +01:00
degasus
ab35503195
ogl: don't force depth+stencil for default framebuffer
2013-10-29 19:20:40 +01:00
degasus
92fdac412b
VideoCommon: drop UpdateViewportWithCorrection
...
It's only used once in BPFunction which itself is also only used once.
So the setter is moved to BPStructs like all other ones.
2013-10-29 18:55:50 +01:00
degasus
2118c1d3c3
VideoCommon: remove constants.depthparams[2+3] as they aren't used in the shader at all
2013-10-29 18:55:50 +01:00
degasus
f4a9deefa8
ogl: remove some unneeded includes
2013-10-29 18:55:50 +01:00
degasus
8e0f91f70e
d3d: use backend based UpdateViewport instead of VideoCommon one
2013-10-29 18:55:50 +01:00
degasus
acc0b3b21c
ogl: don't call SetViewportChanged from backend as it's not needed any more
2013-10-29 18:55:50 +01:00
degasus
3151d8709c
VideoCommon: move ViewportCorrection into VideoCommon
...
D3D doesn't allow bigger viewports than rendertargets. But flipper does, so the viewport will be clipped and the transformation matrix will be changed.
This was done in the D3D backend itself. This is now moved into VideoCommon. This don't reduce code, but in this way, VideoCommon doesn't depend on the backends.
2013-10-29 18:55:50 +01:00
degasus
0002236e3e
Merge branch 'viewport_float'
2013-10-29 18:33:56 +01:00
degasus
b253d60f04
VideoCommon: Drop D3D9 SSAA implementation
...
This isn't needed for both OGL+D3D11 as they support sample shading directly. So we
could use the common MSAA util shaders instead of writing custom ones.
2013-10-29 18:20:07 +01:00
Ryan Houdek
f18c461fd6
[viewport-float] Fix OpenGL ES 3 build.
2013-10-29 17:10:02 +00:00
degasus
edf0511d4e
OGL: Use floating points for viewport parameters.
...
As told by neobain, ARB_viewport_array introduced float viewports.
They must be supported on OGL4.1+, but it's usually also implemented on 3.3 GPUs.
2013-10-29 15:29:06 +01:00
Ryan Houdek
58d42f43e3
[Android] Fix PCH build. Clean up DolphinWX cmake file a little bit. Modify our android cmake toolchain file to make the default build location not be source root, because that is stupid.
2013-10-28 19:59:03 -05:00
comex
2e983071c5
Add git.bat to the options in make_scmrev.h.js because depot_tools uses it and I'm silly.
2013-10-27 19:51:55 -04:00
Ryan Houdek
8e73e8ae5f
Wipe all traces of OpenSSL's AES implementation. Use polarssl instead.
2013-10-27 18:27:07 +00:00
Shawn Hoffman
8dcd13cca7
[vc12] std::min/max requires <algorithm> header. It should be in pch, but just add it for the single file that needs it, for now.
2013-10-26 18:04:00 -07:00
Shawn Hoffman
ccd30024b3
Update to VS2013 and a slew of build-related updates. Notes:
...
* Currently there is no DEBUGFAST configuration. Defining DEBUGFAST as a preprocessor definition in Base.props (or a global header) enables it for now, pending a better method. This was done to make managing the build harder to screw up. However it may not even be an issue anymore with the new .props usage.
* D3DX11SaveTextureToFile usage is dropped and not replaced.
* If you have $(DXSDK_DIR) in your global property sheets (Microsoft.Cpp.$(PlatformName).user), you need to remove it. The build will error out with a message if it's configured incorrectly.
* If you are on Windows 8 or above, you no longer need the June 2010 DirectX SDK installed to build dolphin. If you are in this situation, it is still required if you want your built binaries to be able to use XAudio2 and XInput on previous Windows versions.
* GLew updated to 1.10.0
* compiler switches added: /volatile:iso, /d2Zi+
* LTCG available via msbuild property: DolphinRelease
* SDL updated to 2.0.0
* All Externals (excl. OpenAL and SDL) are built from source.
* Now uses STL version of std::{mutex,condition_variable,thread}
* Now uses Build as root directory for *all* intermediate files
* Binary directory is populated as post-build msbuild action
* .gitignore is simplified
* UnitTests project is no longer compiled
2013-10-26 17:55:38 -07:00
Ryan Houdek
1eba4da21a
Revert "Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic."
...
This reverts commit b2c4901b3f
.
Breaks Windows build. GCC 4.9 isn't out yet anyway.
2013-10-26 19:21:00 -05:00
Ryan Houdek
b2c4901b3f
Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic.
2013-10-26 19:05:31 -05:00
Tony Wasserka
f82e1b9dc7
D3D: Use floating points for viewport parameters.
...
OpenGL 4.1 allows for a similar change thanks to ARB_viewport_array, but we don't make use of this, yet.
2013-10-26 12:40:37 +02:00
Ryan Houdek
c24dfe559b
[Android] Change how the onTouchEvent native method works. Just pass in the correct Button ID and Action and it'll be pressed or not. Not actually rigged up to the Java code yet. Doesn't support anything with an Axis yet so no C stick, main stick, L and R triggers
2013-10-26 05:36:20 -05:00
skidau
41f6f6adc9
Added memchecks when the MMU is enabled. Thanks to comex for the fix.
...
Fixes issue 6754.
2013-10-26 14:32:03 +11:00
comex
005af7bd63
Fix build on Mavericks.
2013-10-24 16:39:46 -04:00
Tillmann Karras
69a10869bb
Document FPSCR fields
2013-10-24 01:46:07 +02:00
Rachel Bryk
8aef60f6ca
Allow frame limit to be set via game ini.
2013-10-23 13:45:03 -04:00
Ryan Houdek
e3febb1603
[Android] Fix MIPS compiling.
2013-10-21 09:52:43 -05:00
Ryan Houdek
887f8e463d
[Android] Fix MIPS compiling.
2013-10-21 09:43:19 -05:00
Lioncash
4b774ef99a
Fix my fix.
2013-10-20 16:42:30 -04:00
Lioncash
448c19bce1
Fix an issue where my recent changes would cause compilation to fail on some distros of Linux.
...
Note that before pushing those changes, they were initially tested in a branch, and passed the compilation testing. Sorry that I didn't catch this before.
2013-10-20 16:32:40 -04:00
Lioncash
b3da5c5d58
Really fix the Linux build this time.
...
Dammit size_t :(
2013-10-19 19:59:05 -04:00
Lioncash
a5a21e7f44
Fix Linux build.
...
Turns out Hash.h needs Common.h
2013-10-19 19:59:04 -04:00
Lioncash
8b10d5b481
Add header cstdint to CommonTypes.h
2013-10-19 19:59:03 -04:00
Lioncash
1f0710caf7
Remove some more includes.
2013-10-19 19:59:03 -04:00
Lioncash
207547b425
Clean up includes in DiscIO as much as possible.
...
Also turned a long iterator declaration in VolumeDirectory.cpp to using auto in order to shorten it.
2013-10-19 19:59:02 -04:00
Lioncash
82fd579506
Remove unnecessary include of "../../Core/Src/ConfigManager.h" from BannerLoaderGC.cpp. In actuality, all that was needed here was an include of CommonTypes.h.
...
Also change Common.h to CommonTypes in BannerLoaderWii.cpp.
2013-10-19 19:59:01 -04:00
Lioncash
6adf3e37e2
Clean out unnecessary includes from the DSP JIT.
2013-10-19 19:59:00 -04:00
Lioncash
af1b5fe767
Woops forgot to clean out some files in the Jit64IL. All clean now.
2013-10-19 19:58:59 -04:00
Lioncash
80b4cb6cf3
Clean out includes from regular JitCommon.
2013-10-19 19:58:59 -04:00
Lioncash
3360ec013f
Clean out includes in JitILCommon.
2013-10-19 19:58:58 -04:00
Lioncash
22cdc0f56e
Remove some more unnecessary includes, as well as organize a little more.
2013-10-19 19:58:57 -04:00
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
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
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
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
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
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
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
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
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
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
comex
144d7e5500
Fix build-breaking typo.
2013-10-05 01:08:08 -04:00
skidau
8324510d65
Removed the IOSVersion check (caused some Wii games like Battalion Wars 2 not to boot).
2013-10-05 13:07:40 +10:00
skidau
b7d1c03c8a
Added a check for the IOS version before overriding the OSGetResetCode() function.
...
Fixes issue 6700.
2013-10-05 12:41:59 +10:00
comex
f6c0fb7bbe
Merge branch '6663'
...
Should fix some fastmem-related bugs and possibly improve performance a bit.
2013-10-04 21:19:40 -04:00
comex
a51eb5fd19
Fix idle skipping.
...
It incorrectly continued to test EAX after it was changed to load
directly to the assigned register.
Also switch from a flush to ABI_PushRegistersAndAdjustStack, to avoid
needless flushing in the no-idle case.
2013-10-04 20:33:39 -04:00
comex
3679f9ba60
Don't push registers before pairedStoreQuantized, that's dumb.
...
And fix some stuff up. It would probably be good to unify the stack
handling some more rather than having ABI_PushRegistersAndAdjustStack do
part of it and ABI_AlignStack the rest, causing unnecessary subtract
instructions on Linux x86 (only).
2013-10-04 15:48:06 -04:00
LPFaint99
8c103a8dee
ChooseMemcardPath bugfix: check for a directory separator before converting an absolute path to a relative path.
...
if the exe directory and the save directory had the same prefix, .../dolphin emulator/... and .../dolphin/... the path would previously have been incorrectly changed
2013-10-04 11:31:22 -07:00
comex
a91469ffa5
Fix stfd, which was broken in the fastmem writes commit.
2013-10-03 18:22:35 -04:00
comex
5e4665301b
Finish replacing ThunkManager with ABI_PushRegistersAndAdjustStack.
...
As part of that, change SafeLoadToEAX to SafeLoadToReg, and have JitIL
use that, which should fix fastmem on JitIL.
This should also fix a potential stack corruption issue with x86.
2013-10-03 18:22:35 -04:00
comex
a53dc6f981
Remove profiled re-JIT support in JitIL.
...
It's extremely unsafe, unused (not exposed in the GUI and not present in
any gameconfigs), and mostly obviated by fastmem. Although this type of
thing could theoretically be useful someday for fastmem support with
MMU, it's probably not the best way to do it, the existing
implementation is way too simplistic, and it can always be dug up to
provide support for a new implementation if needed.
Not like it's a big deal to keep it working, but it really seems
pointless.
2013-10-03 18:22:12 -04:00
comex
3b0c0e2500
Trap to the debugger properly after BackPatch failure.
2013-10-03 18:21:29 -04:00
Ryan Houdek
fe3d0c9aa2
[ARM] Disable subfic, it prevents Wind Waker from booting into a save game.
2013-10-03 06:43:16 +00:00
comex
cb3afe8f70
Warning fixes:
...
- Don't use %lu for size_t; they're different on Linux x86.
- has_warned_about_drivers is only used on win32, so only declare it
there to avoid a unused variable warning.
2013-10-02 20:48:37 -04:00
Lioncash
1ec4894bc5
[Common] Abstract out the decode5A3Image and decodeCI8Image functions in BannerLoaderGC, BannerLoaderWii, and GCMemcard into ColorUtil.cpp. Makes for less copied code and remains functionally the same.
2013-10-02 18:18:54 -04:00
Matthew Parlane
cd99e5e3a6
mtspr fall through to interpreter not needed for basic SPRs
2013-09-30 23:43:11 +13:00
Matthew Parlane
d261dfaf46
Upgrade libusb to 1.0.16
2013-09-30 18:36:54 +13:00
Ryan Houdek
3c53f2e5e0
[Android] Fix Fastmem on Android 4.2
2013-09-29 20:53:32 -05:00
comex
1a008b9e62
Fix use of ABI_GetAlignedFrameSize.
2013-09-29 16:36:26 -04:00
comex
ccbf2ac21a
Match ABI_AlignStack with ABI_RestoreStack properly.
...
The relevant function is entirely unused, so it shouldn't have any
effect.
2013-09-29 14:59:13 -04:00
Rachel Bryk
b0200219dd
Add literally a million blank inputs in netplay when a wiimote changes reporting mode, just to make nsmbw sync.
2013-09-28 23:39:29 -04:00
comex
853392b790
Use a separate section for enabled Gecko codes, like AR.
...
This properly fixes default gecko codes.
It makes perfect sense to have two separate cheat windows and two
separate code paths for the different code formats, right?
2013-09-28 23:38:40 -04:00
comex
f57ff0a569
Support a gcm revision-specific game ini for cheats + partially fix gecko codes in default ini.
...
The local ini is not revision-specific because it would require renaming
everything. Meh.
2013-09-28 23:38:25 -04:00
comex
1ed06f1dc4
Reset wxTAB_TRAVERSAL.
...
Fixes issue 3903.
2013-09-28 23:00:56 -04:00
Rachel Bryk
9c53a21c18
Allow setting DSP settings via game ini.
2013-09-28 08:31:28 -04:00
Rachel Bryk
785171abb4
Change iTLBHack to a bool.
...
It is only used as a bool.
Fixes issue 6668.
2013-09-28 08:07:23 -04:00
Rachel Bryk
cbd366236a
Allow loading save states via drag and drop.
2013-09-27 08:38:12 -04:00
skidau
9a2c7df8dc
Added a small disc access delay to fix the missing music in Super Monkey Ball 2.
2013-09-27 20:35:27 +10:00
comex
bea76ac129
No need to std::move a return value. Thanks Billiard.
2013-09-26 21:15:35 -04:00
Lioncash
4542b9fcbb
[Core] Fix a memory leak in NetPlayServer.cpp in function OnData().
2013-09-26 15:42:22 -04:00
Ryan Houdek
e37cb1fc76
Implement CR1 for the intepreter. To be honest I have no idea why this was never done previously, all it is is copying four bits from the FPSCR register to CR1. This fixes issue 2390.
2013-09-26 18:09:25 +00:00
Ryan Houdek
4efc3e6c8f
Quick build fix.
2013-09-26 07:50:24 +00:00
Ryan Houdek
feaf65f2ae
[Android] The dynamic UBO access isn't actually fixed, contrary to what rev cd646d8e236 said. I presumed it fixed with v4x drivers, but I didn't have the LG G2 with me to test 100% at the time. This won't afflict any Adreno device with v4x drivers since UBOs are disabled for them since they are _broken_.
2013-09-26 07:46:56 +00:00
comex
ecca0045a9
Fix Imm8 check.
...
(I blame whoever made it take a u8 despite logically being a s8.)
2013-09-25 14:29:17 -04:00
Ryan Houdek
691f76b826
[ARM] Implement CR1 setting for the few floating point instructions that I have setting the flags. For the rest, drop to interpreter if it sets CR1. At that point it'll spam a panic alert. I don't quite understand why Interpreter and JIT64/IL don't do this yet, it's a simple 4 bit copy.
2013-09-25 18:17:05 +00:00
comex
54843ad1e8
Need to reload from XMM0 in this case.
2013-09-25 14:16:20 -04:00
Rachel Bryk
74ee85aaac
Fix linux, attempt 2.
2013-09-25 06:22:11 -04:00
Rachel Bryk
f77b3ccf8a
Fix linux, probably.
2013-09-25 06:13:44 -04:00
Rachel Bryk
93f7622e16
Fix changing wiimotes when starting netplay.
...
AccessWiiMote() crashed for some users. Not sure why...
2013-09-25 05:44:16 -04:00
comex
ebe4448749
Save only the registers that need to be saved rather than going through ProtectFunction.
2013-09-25 03:15:53 -04:00
comex
2a339c926e
Fastmem writes for x86-64.
2013-09-25 03:15:53 -04:00
comex
18abc33306
2x banner images!
2013-09-25 03:06:27 -04:00
Ryan Houdek
624c92f97e
[ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations.
2013-09-25 03:00:57 +00:00
Ryan Houdek
ae75f92b2a
[ARM] psq_lx/psq_lux/psq_stx/psq_stux implementations. Four more instructions that JIT64 doesn't have.
2013-09-25 02:22:52 +00:00
Ryan Houdek
cd646d89e2
[Android] The issue with the dynamic UBO access on Adreno platforms was fixed with v41 of the video drivers. v41 and above of the video drivers fix the spiky polygon problems that are noticed ingames.
2013-09-25 01:50:02 +00:00
Ryan Houdek
357a7707a6
[ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations.
2013-09-24 21:13:33 +00:00
Ryan Houdek
74bc855f20
[ARM] ps_res implementation.
2013-09-24 21:00:50 +00:00
Ryan Houdek
3b1b0d3fb5
[ARM] ps_div implementation.
2013-09-24 20:46:57 +00:00
Ryan Houdek
94a731b49d
[ARM] fctiwx implementation.
2013-09-24 20:37:10 +00:00
Ryan Houdek
482170c3ea
[ARM] Implement subfic with optimizations stolen from JIT64.
2013-09-24 19:01:03 +00:00
Ryan Houdek
405aa30cb8
[ARM] Fix fastmem...
2013-09-24 18:03:06 +00:00
Ryan Houdek
8e2e5a4e70
[ARM] Have both fastmem and non-fastmem paths for floating point loadstores because fastmem is completely broken garbage on Android at this point in time.
2013-09-24 17:40:12 +00:00
Ryan Houdek
5866859ff0
Screw you comex, this doesn't even make any damn sense.
2013-09-24 17:25:13 +00:00
Ryan Houdek
eb6ed3e42a
[ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker.
2013-09-24 05:41:58 +00:00
comex
29dc253fde
Improve context structure handling on non-Windows.
...
Instead of copying data into and out of a fake CONTEXT structure with
only a few entries, use the platform specific structure directly with a
typedef and macros. This is needed because fastmem writes need to be
able to access any register from BackPatch. It adds a fair number of
repetitive defines, but it's better than the alternative.
2013-09-24 01:38:27 -04:00
comex
4cdce55615
Don't define _M_IX86 on ARM(!).
...
Also define _M_* in a common location, and clean up code that these
changes break (including DSPJit files that assume X86 yet are compiled
on ARM for some reason...)
2013-09-24 01:30:41 -04:00
comex
a7f2160a0f
Remove "educational purposes only" from about message.
...
Dolphin is obviously not marketed as being for educational purposes
only, and claiming otherwise in the about screen would not have any
legal weight, so don't insult everyone's intelligence.
2013-09-24 01:14:56 -04:00
comex
2f384c75d2
Only include scmrev.h from Version.cpp.
...
This way less code has to be rebuilt whenever that file gets
regenerated.
2013-09-24 01:14:56 -04:00
comex
1bf2c03a99
Fix my stupid attempt to depend on the entire Data/Sys directory.
...
Instead, if SKIP_POSTPROCESS_BUNDLE is on, just use a symlink, and if
it's off, always run the install.
2013-09-24 01:14:56 -04:00
Scott Mansell
0696fc93b2
Merge branch 'fix-field-ordering'
...
Fixes 6387
Closes 6635
2013-09-24 13:47:20 +12:00
Ryan Houdek
41ab4a2275
Nevermind the previous commit, SafeLoadToEAX already calls in to UnsafeLoadToEAX if fastmem is enabled. This one just tidys up the code.
2013-09-24 01:40:19 +00:00
Ryan Houdek
aa41978834
Enable fastmem for the lfs instruction for unix and OSX as well.
2013-09-24 01:34:08 +00:00
Ryan Houdek
3fe8134f3b
[ARM] lfsux/lfdx/lfdux/stfsx/stfsux/stfdx/stfdux implementations.
2013-09-24 01:17:24 +00:00
comex
f81df136c2
Add an explicit error message for outdated GCC, and remove some commented out code.
2013-09-23 15:01:38 -04:00
Rachel Bryk
1745bfdc45
Fix crash in gc games in netplay.
2013-09-23 11:07:15 -04:00
comex
299421a02a
Don't call into wx in static initializers - crashes on Windows.
2013-09-23 02:58:04 -04:00
Rachel Bryk
0bdef3932f
Automatically connect the appropriate wiimotes in netplay. Extensions must still be set manually.
2013-09-23 02:56:17 -04:00
Ryan Houdek
96a77f9feb
[Android] Fix the ability to stop the game and start another.
2013-09-23 01:43:18 -05:00
Scott Mansell
440353a3a1
Remove all refrences of field ordering from video backends.
...
They were unused.
2013-09-23 18:29:31 +12:00
Scott Mansell
4d3c41c8a2
Fixed issues with feild ordering.
...
This commit fixes issues with PAL games which use the incorrect feild
ordering.
We move all code that deals with indivudal fields from the indivudal
video plugins and VideoCommon and make VideoInterface always pass in
the start address of the whole XFB into VideoCommon.
2013-09-23 16:31:27 +12:00
comex
c8c83f7b8a
Remove FifoQueue iterator and RemoveThreadsafeEvents.
...
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
Rachel Bryk
0a093cf1b9
Why do compilers assume i don't know order of opperations? :(
2013-09-22 22:01:25 -04:00
comex
e82c9e616d
operator= is a function too! std::forward is still appropriate.
...
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
degasus
573dbfd494
ogl: drop glsl120 support
2013-09-22 23:45:14 +02:00
Rachel Bryk
12e7c22006
Fix recording netplay with wiimote.
2013-09-22 17:32:11 -04:00
comex
80b14e80b5
Fix crash when a player leaves in NetPlay.
...
The player ID was being written as int and read as PlayerId (u8).
2013-09-22 16:12:16 -04:00
comex
229b35bb6d
When hosting, don't try to connect if listening failed.
...
If another instance of the server is running on the same computer, this
would cause Dolphin to confusingly connect to it.
2013-09-22 16:11:47 -04:00
comex
17e753faf3
Fix FifoQueue's atomicity on ARM.
...
Theoretically.
2013-09-22 16:08:09 -04:00
comex
c3b9f3556f
Make CoreTiming's threadsafe events lock-free.
...
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
comex
7fe440340f
Improve Atomic.h:
...
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00
comex
6209067daa
Fix stack misalignment fix.
2013-09-22 15:48:27 -04:00
Rachel Bryk
9a6f28fce4
Revert "Fix stack misalignment issues."
...
This reverts commit d334a9bc23
.
This breaks single core.
2013-09-22 14:29:35 -04:00
Rachel Bryk
f3469c16a5
Merge branch 'wiimote-netplay'
...
Conflicts:
Source/Core/Core/Src/NetPlayClient.cpp
Source/Core/Core/Src/NetPlayClient.h
Source/Core/Core/Src/NetPlayProto.h
Source/Core/Core/Src/NetPlayServer.cpp
Source/Core/Core/Src/NetPlayServer.h
Source/Core/DolphinWX/Src/NetWindow.cpp
Source/Core/DolphinWX/Src/NetWindow.h
2013-09-22 14:27:52 -04:00
Rachel Bryk
75129dc3a7
Merge branch 'to-merge-after-4.0'
2013-09-22 10:58:24 -04:00
Pierre Bourdon
323ecdb772
Ship vcomp100.dll with Dolphin
2013-09-22 16:00:56 +02:00
Pierre Bourdon
1f95a294cd
Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack)
2013-09-22 16:00:56 +02:00
Pierre Bourdon
196953c50a
Use the new Dolphin icon
2013-09-22 16:00:39 +02:00
Scott Mansell
4758ef9a9e
Merge commit 'fa8a4cdbb57e'
2013-09-22 15:25:10 +12:00
Pierre Bourdon
91c0e02609
Don't require running Dolphin in the directory that contain Languages/ on Windows
2013-09-21 21:17:47 +02:00
Glenn Rice
d321aa7e7a
Pull in translations from Transifex.
2013-09-21 11:24:33 -05:00
Scott Mansell
1fb373f439
Stop dolphin from loading help.png
...
It was never used, just wasting time and resources.
This patch simply deletes two lines of code.
2013-09-21 06:34:50 +02:00
Rachel Bryk
d2c3222fcc
Fix copying Sys/Wii to User/Wii on startup.
...
Fixes issue 6621.
2013-09-21 00:34:19 -04:00
comex
d334a9bc23
Fix stack misalignment issues.
...
- Call ABI_AlignStack even on x86-64.
- Have ABI_AlignStack respect the difference in current alignment
between the root JIT function, which has a prolog, and
ProtectFunction thunks, which do not. This was causing many games
to crash on start on OS X. Since this might otherwise mean changing
the stack pointer before every call...
- Have one prolog/epilog function rather than two (one of which
definitely did not do what it was thought to do), and make it
actually work like a normal one, so that the stack frame shows up
properly in the debugger. There should be no performance impact.
2013-09-20 16:46:48 -04:00
LPFaint99
95aac4ff68
if a memcard is set to read only, fail more gracefully by reporting when writes to the file fail instead of saying that the file does not exist.
2013-09-20 12:08:58 -07:00
Lioncash
86d70cee15
Turns out CVTSD2SI in x64Emitter.cpp should actually use 64 bits instead of 32. Thanks for pointing that out hk.konpie.
2013-09-20 14:50:27 -04:00
Ryan Houdek
85f067780a
[ARM] Reenable flush per instruction with FPR cache. Something is still very wrong.
2013-09-19 02:08:20 +00:00
Ryan Houdek
930f997f04
[ARM] Fix and optimize mtcrf.
2013-09-19 02:08:19 +00:00
Ryan Houdek
1b1b5d2100
[ARM] MicroOps in the branching instructions.
2013-09-19 02:08:19 +00:00
Ryan Houdek
5158aea4dc
[ARM] Fix misuse of RBIT in crXXX, meant to use MVN.
2013-09-19 02:08:19 +00:00
Rachel Bryk
dc73222bfc
Remove suggestion to restart dolphin if a wiimote movie desyncs, since it's no longer necessary.
2013-09-18 21:51:37 -04:00
comex
ae607ea1e9
Fix missing md5thread.detach()
2013-09-18 21:48:23 -04:00
Ryan Houdek
452fd84bbd
[ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp.
2013-09-18 17:21:22 -05:00
Ryan Houdek
6fc2117503
[ARM] Enable VMOV to move from double VFP reg to two ARM registers.
2013-09-18 17:21:22 -05:00
Lioncash
af951f467e
[InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false.
2013-09-18 10:09:32 -04:00
Lioncash
d03fb11188
Fix an incorrect opcode for an SSE instruction in x64Emitter.cpp. CVTSD2SI should write 0x2D, not 0xF2.
...
Also format the NormalSSEOps enum.
2013-09-18 07:43:31 -04:00
Pierre Bourdon
86f6e8cc1e
Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire.
2013-09-18 12:33:57 +02:00
Pierre Bourdon
7aa98a3830
Fix loading of the 'projection hack enabled' gameini setting
...
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek
24a44ecfb8
[ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had.
2013-09-18 02:37:10 -05:00
Lioncash
197b317357
Fix indentation in function PSO_MakeSaveGameValid() in GCMemcard.cpp.
...
Also move the iterator variable for a for loop into the loop statement in function CARD_GetSerialNo()
2013-09-17 21:27:37 -04:00
Ryan Houdek
39a8645ffc
[ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction.
2013-09-17 22:08:23 +00:00
Ryan Houdek
06062d5744
[ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers.
2013-09-17 22:08:23 +00:00
Pierre Bourdon
ec9c395f4f
Add WBFS to the file extensions supported by Dolphin on OSX
2013-09-17 16:50:44 +02:00
Pierre Bourdon
e34d8aee1d
Add * to the characters leading a verbatim line (used in Gecko codes comments)
2013-09-17 16:50:44 +02:00
Rachel Bryk
47ce3dd09d
Really fix reading projection hacks from game inis.
2013-09-17 10:44:47 -04:00
Rachel Bryk
e3d01de01d
Fix reading projection hack from game inis in ISOProperties.
2013-09-17 10:40:12 -04:00
Rachel Bryk
ec5cf60f5e
Set L/R buttons in tas input, instead of just the analog triggers.
...
Fixes issue 6613.
2013-09-17 09:56:45 -04:00
Ryan Houdek
302e9c891b
[ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations.
2013-09-17 11:00:16 +00:00
Ryan Houdek
dcf74ef2b3
[ARM] Renables load instructions with update.
2013-09-17 11:00:15 +00:00
Lioncash
38c7d38800
Fix two wrong opcodes in the x64Emitter. PEXTRW and PINSRW were actually writing PCMPGTB opcodes. Thanks for the help Sintendo.
2013-09-16 15:59:31 -04:00
Ryan Houdek
1529bb48c8
[ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states.
2013-09-16 15:44:41 +00:00
Ryan Houdek
9b9526fba2
[ARM] Add dcbt/dcbtst/dcba noops.
2013-09-16 15:13:37 +00:00
degasus
75f2738f5c
VideoCommon: fix ogl lighting bug which happens because of NaN emulation
...
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN
As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Ryan Houdek
98fb4c146e
[ARM] ps_sel implementation.
2013-09-16 14:05:50 +00:00
Ryan Houdek
cba2dd01bc
[ARM] Remove extraneous BKPT from ps_rsqrte.
2013-09-16 13:39:02 +00:00
Ryan Houdek
a0a0c526ae
[ARM] ps_rsqrte implementation.
2013-09-16 12:59:34 +00:00
Ryan Houdek
7d410ec95c
[ARM] VRSQRTE NEON emitter.
2013-09-16 12:58:20 +00:00
Ryan Houdek
5a9cb84ae2
[ARM] ps_nmadd/ps_nmsub implementations.
2013-09-16 12:03:08 +00:00
Ryan Houdek
b7f47bc2e1
[ARM] rlwnmx implementation.
2013-09-16 11:53:22 +00:00
Ryan Houdek
43f2313ef9
[ARM] Implement ps_msub. Minor optimizations.
2013-09-16 11:53:21 +00:00
Ryan Houdek
0bcc20ca5b
[ARM] fcmpo/fcmpu implementations.
2013-09-16 08:57:51 +00:00
Ryan Houdek
c56ecce840
[ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't.
2013-09-16 07:49:16 +00:00
Ryan Houdek
beb41a8f56
[ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC)
2013-09-16 07:49:16 +00:00
Pierre Bourdon
f0fc611f15
Add a hacky check for text file size in ReadFileToString. Fixes issue 6455.
2013-09-16 06:57:44 +02:00
LPFaint99
a7e1fb81b1
Merge branch 'wad_gamenames'
2013-09-15 21:38:31 -07:00
Pierre Bourdon
037199c326
Look for portable.txt in the exe directory and activate portable mode if it exists
2013-09-16 05:46:07 +02:00
Pierre Bourdon
2c350a5e6b
Fix INIFile ignoring the last line of files
2013-09-16 05:28:14 +02:00
Rachel Bryk
b4c082f1b3
No, i don't check what i committed before pushing to master, one week before a release.
...
Fixes a mistake from 550c855ae6
.
2013-09-14 22:58:32 -04:00
Rachel Bryk
550c855ae6
Create blank ini file before editing it, if it doesn't already exists. This prevents the editor from prompting to create it.
2013-09-14 20:30:42 -04:00
LPFaint99
5d202ae9ea
proper fix for issue 6206
2013-09-14 15:09:58 -07:00
Pierre Bourdon
24e9aedc14
Merge branch 'global-user-directory'
...
Please read https://wiki.dolphin-emu.org/index.php?title=Controlling_the_Global_User_Directory
for documentation about this feature.
Thanks to neobrain and RachelB for their work on this change, and thanks to
everyone who helped test it.
2013-09-14 19:24:27 +02:00
Pierre Bourdon
4ef5624f1f
Change the name of INI options for memcard paths and NAND path to make migrating User directory from non-global to global easier
2013-09-14 17:46:41 +02:00
Pierre Bourdon
501eafb407
Overlay local gameinis over global gameinis instead of copying.
...
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Ryan Houdek
e56071f2be
[ARM] slwx/srwx/srawx implementations.
2013-09-14 09:07:34 +00:00
Ryan Houdek
81d7986202
[ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter.
2013-09-14 09:06:49 +00:00
Ryan Houdek
53498dafeb
[ARM] fmaddsx and fmaddx implementations.
2013-09-14 05:52:09 +00:00
Ryan Houdek
be4277e8a1
[ARM] stmw implementation.
2013-09-14 05:16:18 +00:00
Ryan Houdek
c211d06ad2
[ARM] stfd and stfdu implementations.
2013-09-14 05:09:46 +00:00
Ryan Houdek
6fe86f1fd1
[ARM] cntlzwx implementation.
2013-09-14 04:29:37 +00:00
Ryan Houdek
ef2ea31eac
[ARM] ps_madds0 and ps_madds1 implementations.
2013-09-14 04:12:57 +00:00
Pierre Bourdon
cf4c39d2be
IniFile: Support extending the list of loaded keys and sections with data from other ini files.
...
Changes a lot of parsing code which previously was not aware of the notion of
key/value, and operated only with raw lines. Now key/value is the default and
lines are handled as raw only if they do not contain =, or they start with $ or
+ (for Gecko/AR compatibility).
2013-09-14 06:08:31 +02:00
NeoBrainX
d1e96c7282
Display warning OSD messages when a game ini is overriding any settings.
2013-09-14 06:08:31 +02:00
Pierre Bourdon
aa202c2e21
Move global gameinis from User to Sys. Get rid of SHARED_USER.
2013-09-14 06:08:30 +02:00
Pierre Bourdon
86e765f3eb
Move Themes/ from User to Sys. Only Gameinis remain.
2013-09-14 06:08:30 +02:00
Pierre Bourdon
91a758b342
Move TextureDecoder.cl from User to Sys
2013-09-14 06:08:30 +02:00
Pierre Bourdon
c3eec379df
Move global User/Wii to Sys/Wii
2013-09-14 06:08:30 +02:00
Pierre Bourdon
e7213ca4b1
Overlay the user Shaders/ over the shared one to avoid copying files
2013-09-14 06:08:30 +02:00
Pierre Bourdon
6bdb6585d6
Overlay the user Maps/ over the shared one to avoid copying files
2013-09-14 06:08:29 +02:00
Pierre Bourdon
b587af3ea3
Change the initial user directory creation to stop special casing Windows
2013-09-14 06:08:29 +02:00
Rachel Bryk
dfcef6890e
Use global user directory on windows.
...
Can override by setting HKCU\Software\Dolphin-emu\LocalUserConfig to true.
2013-09-14 06:08:29 +02:00
Ryan Houdek
4512813cf9
[ARM] lfdu and stfsu implementations.
2013-09-14 04:00:40 +00:00
Ryan Houdek
0ae8fa964d
[ARM] lfsu implementation.
2013-09-14 03:51:32 +00:00
Ryan Houdek
aaf8e92f78
[ARM] Fixes srawix implementation.
2013-09-14 03:00:33 +00:00
Jasper St. Pierre
f830b85d10
NetPlayServer: Drop all the pads for a client when she disconnects
...
This makes intuitive sense, and prevents issues with users stealing
up all the pads and requiring admin intervention to participate.
2013-09-13 21:33:11 -04:00
comex
0040e66282
Merge branch 'geckoos-fix'
...
Fixes issue 6551.
2013-09-13 18:18:51 -04:00
comex
e15e30602c
Fix HLE_HOOK_START in the interpreter.
2013-09-13 18:18:20 -04:00
comex
e62bc44f15
Use d01f1bad for the gameid check in RunCodeHandler rather than the actual ID.
...
This avoids conflict with the icache hack. codehandleronly.s does not
actually use the gameid, so it shouldn't matter.
2013-09-13 18:14:56 -04:00
comex
e6cd3b3283
Fix placement of HLE::Patch to not get overwritten by HLE::PatchFunctions.
...
(This applies to the existing HBReload hook, which would be erased in
various circumstances depending on the type of file loaded.)
2013-09-13 15:31:51 -04:00
comex
a316e2f182
Hook the Gecko codehandler to invalidate the icache.
...
The codehandler is broken and does not do this itself. This is a hack,
but a lot simpler than the alternatives.
2013-09-13 15:31:51 -04:00
comex
354b205dec
Return correct value to fix libogc's IOS launch sequence.
2013-09-13 15:31:50 -04:00
comex
1f8237c570
Fake ticket views for missing IOS title.
2013-09-13 15:31:50 -04:00
comex
868ab1918b
Reset es_inuse upon Reset.
2013-09-13 15:31:50 -04:00
comex
39a524f47d
Returning false from an IPC_HLE method should not produce an INFO_LOG.
...
It's commonly used to delay replying to a message and is in no way an
error.
2013-09-13 15:31:50 -04:00
Ryan Houdek
1680f27739
[ARM] Disable loadstorepaired instructions when fastmem is disabled.
2013-09-12 23:07:19 -05:00
Jordan Woyak
ef1d33647f
Improve the ArraySize function a bit now that c++11 isn't forbidden there. Error messages should be friendlier now.
2013-09-12 12:57:13 -05:00
Pierre Bourdon
44066326ff
Hack the gettext detection a bit to fix translations not working on OSX buildbot builds
2013-09-12 18:22:31 +02:00
Ryan Houdek
c1ddeacc9d
[ARM] Removes extraneous fpr.Flush
2013-09-12 10:31:29 +00:00
Ryan Houdek
aa8f0c2ca4
[ARM] Fixes ps_madd implementation.
2013-09-12 10:30:52 +00:00
Ryan Houdek
8882d27689
[ARM] Fixes the ps_merge00 and ps_merge10 implementations. They both had the potential to overwrite the source registers in the moves.
2013-09-12 10:17:27 +00:00
Ryan Houdek
749b62fcd9
[ARM] Fixes orcx implementation.
2013-09-12 09:55:55 +00:00
Ryan Houdek
e1d510c2dc
[ARM] Disables loadstores with update because they are broken.
2013-09-12 09:40:10 +00:00
Ryan Houdek
2c33bab1a6
[ARM] lfsx implementation.
2013-09-12 07:52:19 +00:00
Ryan Houdek
fa5499e046
[ARM] Disable lmw when fastmem is disabled.
2013-09-12 02:51:38 -05:00
Glenn Rice
acbdcc8ea0
Use the POLARSSL_LIBRARY variable to set the link library. This fixes a
...
possible linkage issue when multiple versions of the library are around.
2013-09-11 22:09:49 -05:00
comex
b9c1af04ad
Replace the one use of CompileTimeAssert with static_assert (already used elsewhere).
2013-09-11 20:58:47 -04:00
comex
9ee50a2730
Merge branch '6584'
...
Fix for XP and lifetime issues on Mac. Fixes issue 6584.
2013-09-11 20:47:27 -04:00
Jordan Woyak
fde3815d34
Replace ARRAYSIZE macro with another ugly macro. At least this will throw an error for a non-array and won't conflict with Windows macro names.
2013-09-11 19:19:36 -05:00
Jordan Woyak
ce49964dfe
Fix "modifier" button functionality et al.
2013-09-11 17:48:04 -05:00
degasus
3fcdf5e25b
VideoCommon: use memcmp to compare shader uid
2013-09-11 17:34:23 +02:00
Jasper St. Pierre
2b10142b4f
Remove a bunch of old HLE junk
...
This hasn't been used since 2008
2013-09-10 22:35:52 -04:00
comex
56686666d6
Fix ES_DECRYPT.
...
ES_DECRYPT is usually called with the in IV parameter equal to the out
IV parameter. Dolphin was preemptively zeroing out the out buffer,
causing it to read zeroes for the IV. (Also be more correct when those
parameters *aren't* equal.)
Dolphin now has the dubious honor of having an exploit (smashstack) work
in it. It crashes in Project M, though.
2013-09-10 17:09:37 -04:00
Shawn Hoffman
484130049d
On windows, ignore WM_QUERYENDSESSION and close upon WM_ENDSESSION.
...
The messages can come through CFrame::MSWWindowProc and the wxApp implementation, so make sure to catch both.
Fixes issue 6546.
2013-09-10 03:14:21 -07:00
Shawn Hoffman
2d492bdc4f
Revert "Leak an object when quitting Dolphin to try and fix issue 6546"
...
This reverts commit 380b780dd1
.
Revert "Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose"
This reverts commit e29de302a6
.
2013-09-10 01:04:29 -07:00
comex
4add0f55e0
Fix SDIO HLE writing garbage to memory.
...
When servicing a write-register request, it wrote the contents to the
register offset plus 0x8d070000, which corresponds to the actual
hardware registers, presumably in case the application wanted to read
them directly rather than with a read-register request. WriteToHardware
doesn't handle cached writes to registers, so it decided the address was
RAM, applied RAM_MASK, and happily wrote the register contents to
0x81070000, causing random corruption. Since the PPC does not normally
have access to those registers, there is no reason to be doing this in
the first place. Use a member to store these values instead.
(Also add a proper DoState.)
2013-09-09 23:57:51 -04:00
Pierre Bourdon
e29de302a6
Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose
2013-09-09 18:49:10 +02:00
Pierre Bourdon
380b780dd1
Leak an object when quitting Dolphin to try and fix issue 6546
2013-09-09 18:44:21 +02:00
Rachel Bryk
0d341e9f28
[NetPlay] Fix copy and paste error.
2013-09-09 03:12:42 -04:00
Rachel Bryk
772046647a
Revert "Revert "NetPlay: Use the correct pad mappings for rumble""
...
This reverts commit 06140e8083
.
2013-09-09 03:09:45 -04:00
comex
06140e8083
Revert "NetPlay: Use the correct pad mappings for rumble"
...
This reverts commit 92c846de45
.
It breaks NetPlay entirely for me.
2013-09-09 02:39:28 -04:00
degasus
3ec9f9b64a
videoCommon: also reset logicOp on mode switch
2013-09-09 02:30:44 +02:00
comex
fe0a450ee4
Don't request authentication (aka I should actually test before committing).
2013-09-08 19:32:14 -04:00
comex
22d9331b96
Improve IOdarwin -
...
Add requestAuthentication, which might help someone who can't sync, and
better error reporting.
2013-09-08 18:15:49 -04:00
Ryan Houdek
4146e1f3d6
[ARM] Implement psq_st. Optimizations in psq_l and fix all the remaining bugs...except clamping within the max value range of the value. Causes some minor visual effects mostly.
2013-09-08 21:56:17 +00:00
Ryan Houdek
c1aa80cefa
[ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs.
2013-09-08 21:56:17 +00:00
NeoBrainX
3db2108dbb
Add two buttons to the ISOProperties dialog so that we still meet string freeze deadline.
2013-09-08 21:04:03 +02:00
Jasper St. Pierre
92c846de45
NetPlay: Use the correct pad mappings for rumble
...
Rename the functions around so we don't get confused again, too.
2013-09-08 13:54:05 -04:00
Ryan Houdek
ba0c52b104
[ARM] Optimization to psq_l, no need to push/pop regs anymore. Implement support for single float loading, gives a decent speedup to Ikaruga in menus and game.
2013-09-08 08:18:34 +00:00
Ryan Houdek
e5b5713d70
[ARM] Optimize that fastmem load/stores minimally.
2013-09-08 07:37:03 +00:00
Ryan Houdek
2126f405e0
[ARM] 1 instruction optimization for psq_l
2013-09-08 07:25:59 +00:00
Ryan Houdek
e6af4970d8
[ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON.
2013-09-08 07:07:15 +00:00
comex
8b4f0ef034
IODummy needs it too.
2013-09-07 16:17:00 -04:00
comex
b31502893f
Fix lifetime issues in IOWakeup.
2013-09-07 16:13:39 -04:00
comex
f4586570ac
Use SetEvent instead of CancelIoEx for XP compatibility.
2013-09-07 15:43:17 -04:00
Ryan Houdek
31b69c53f7
[ARM] Implement psq_l for 2x float loads. Couldn't find a game using quantized loads. Huge speed boost to Ikaruga and THP movies with this one.
2013-09-07 17:44:10 +00:00
Ryan Houdek
614a7c2081
[ARM] Clean up some host side register allocations I missed.
2013-09-07 17:44:10 +00:00
Glenn Rice
cf09974d61
Merge branch 'translate-about'
2013-09-07 09:56:54 -05:00
Rachel Bryk
33fb1b562f
Move some code from NetPlayClient.h to NetPlayProto.h, and only include that outside of NetPlay.
2013-09-07 00:27:35 -04:00
Rachel Bryk
2bc44f98c3
Disable gui controls for gc controllers and memory cards during netplay and movies.
2013-09-07 00:06:03 -04:00
Glenn Rice
f1c6357750
Enable translation of the about dialog.
2013-09-06 21:02:11 -05:00
Matthew Parlane
d25a8bb6cb
Fix reply after shutdown error.
...
Fixes Issue 6577
2013-09-07 13:07:00 +12:00
Ryan Houdek
67c65831bc
[ARM] Make fnabsx and ps_nabs quicker. Sleep deprivation got the better of me.
2013-09-07 00:35:12 +00:00
Ryan Houdek
ef05a14757
[ARM] Clean up FPR cache. Rapid fire floating point instruction implementations. Adds 13 new instructions.
2013-09-07 00:19:32 +00:00
comex
cd7b97f767
Make JITDISABLE not defeat grep.
2013-09-05 18:38:47 -04:00
Rachel Bryk
3baab41cf4
Allow input display to work with netplay even when not recording.
2013-09-05 16:09:56 -04:00
skidau
b2657f6a9b
Re-added the HLE code that creates the cdb.vff file on first launch of the Wii sysmenu.
...
Revert "Remove HLE_IPC_CreateVirtualFATFilesystem as it no longer takes 3 minutes to LLE like the comment says."
This reverts commit 5d47fd1dde
.
2013-09-05 21:29:04 +10:00
comex
2fb0147967
Merge branch 'comex-wiimote-fixes'
...
Should fix issue 6574.
2013-09-05 06:13:33 -04:00
Ryan Houdek
a7f244e96d
Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
...
This reverts commit 5696da0b3e
.
JMC messed up, it wasn't due to this commit.
2013-09-04 19:16:28 -05:00
Pierre Bourdon
7acee71c0c
Move swapModeTable to a local variable, avoids shader uid generation writing to it
2013-09-04 23:23:29 +02:00
Pierre Bourdon
175707739e
Move LightingUidData to the LightingShaderGen header
2013-09-04 23:23:29 +02:00
Lioncash
30da36dd1e
Fix an incorrect sizeof in a memset in GDBStub.cpp
2013-09-04 09:01:44 -04:00
comex
8992f58720
Fix Wiimote thread wakeup on externally-triggered destroy.
2013-09-04 05:32:32 -04:00
comex
dc87b6d431
Fix OS X code.
...
- Close the connection properly on destruction.
- Work around what seems like an Apple bug.
2013-09-04 05:32:13 -04:00
comex
872e9ce3da
Add accidentally omitted code in last commit.
...
(m_wiimote_thread_run_loop was being used but not set, causing
Wiimote::IOWakeup to crash on OS X; todo rebase this)
2013-09-04 04:39:18 -04:00
Ryan Houdek
5696da0b3e
Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
...
This reverts commit e110f1049c
.
This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
2013-09-04 02:55:13 -05:00
comex
02fc68ea5d
While we're at it, explicitly wake up the Wiimote thread rather than using a 1s timeout.
...
This only matters if reads are not constantly being completed by
reports anyway, but seems like a good idea.
2013-09-04 03:25:05 -04:00
comex
906de748bd
Refactor thread handling to fix OS X bug.
...
On OS X, openL2CAPChannelSync registers events on the current
thread's run loop, so Connect needs to be called on a thread that's
going to do CFRunLoopRun; this was causing all Wiimote input to be
ignored. Easiest way to do that is to use the Wiimote thread, and
have Read call CFRunLoopRun to block on events, bringing OS X's
Wiimote event loop in line with every other platform's. This also
means that the thread can't be stopped and recreated by Prepare,
so make Prepare notify it instead, which has the side effect of not
making the GUI block on Prepare. (It would be nice if the GUI also
did not block on searching for devices, because blocking the GUI
is gross, but for now...)
2013-09-04 03:24:00 -04:00
Ryan Houdek
d0d053a9f9
Fix for old libc version on bionic. Old versions would crash if the second argument was NULL.
2013-09-04 02:04:31 -05:00
comex
0e949afa57
Remove dubious retain on OS X.
...
Revert this if the claimed crash actually shows up - or better, figure
out the actual cause.
2013-09-04 01:11:04 -04:00
comex
e0214b1a38
Fix syncing wiimotes on OS X.
...
IOdarwin.mm was assuming that scanning was complete when the run loop
was stopped (which the scan callback does), but somebody else was
stopping the run loop first, causing the scan to be aborted. Wait until
the scan is actually complete.
2013-09-04 01:04:51 -04:00
comex
1ea8b93667
Fix typo in log message in WII_IOB.cpp.
2013-09-04 00:03:05 -04:00
Ryan Houdek
7e26aace9f
[ARM] Reenable ps_add. Issue is due to something in the FPR cache. Still needs to be investigated.
2013-09-04 03:27:45 +00:00
Ryan Houdek
8684b7635a
[ARM] Reimplement fastmem for the few loadstores that had it before.
2013-09-04 02:07:57 +00:00
Rachel Bryk
e9ffba7ab8
Don't ever ever let CFrame::DoStop() run twice at the same time.
2013-09-03 18:53:23 -04:00
Justin Chadwick
e110f1049c
[NetPlay] Make the Memory Card A/B setting sync across netplay.
...
Fixes issue 6575.
2013-09-03 17:41:52 -04:00
Rachel Bryk
8ae10b3e12
[NetPlay] Allow recording movies during netplay.
...
Fixes issue 6207.
2013-09-03 15:50:41 -04:00
Ryan Houdek
39ad48dfa5
[ARM] lmw implementation.
2013-09-03 09:55:15 +00:00
Ryan Houdek
30cd436e86
[ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads.
2013-09-03 09:22:43 +00:00
Ryan Houdek
d4d6eb562e
[ARM] Fix and enable fastmem for 32bit stores.
2013-09-03 05:05:10 +00:00
Ryan Houdek
cc2fa4a003
[ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this.
2013-09-03 04:11:25 +00:00
Ryan Houdek
dfce0f3b0b
[ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this.
2013-09-03 04:08:15 +00:00
Justin Chadwick
6b1c8f9d17
[Netplay] Read dual core setting before syncing it with clients.
...
Fixes issue 6573.
Fixes issue 6535.
2013-09-02 19:55:25 -04:00
comex
5b9254a1cd
fix android.
2013-09-02 17:30:31 -04:00
comex
50520c7c3d
Make fastmem work under a debugger on OS X.
...
Not only do debuggers catch the expected SIGSEGV by default, I'm not
sure there's a working way to configure either gdb or lldb not to. This
commit uses an OS X-specific mechanism to add an exception handler that
runs before the default one.
2013-09-02 17:26:32 -04:00
comex
4c3230bcde
Remove accessType from BackPatch's signature in favor of getting it from DisassembleMov.
...
It isn't easily accessible with sigaction or Mach exceptions (well,
requires an additional system call in the latter), and isn't necessary.
(and get rid of the enum, because it's only used once, and the comments
are more expressive than enum names)
2013-09-02 16:55:22 -04:00
Ryan Houdek
a7f3264fed
[ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more.
2013-09-02 14:15:37 +00:00
degasus
1b1cc82e5b
rename vertex streaming hack tooltip
...
String is copyed from issue 6552.
2013-09-02 13:33:36 +02:00
Ryan Houdek
2897619ddb
Removal of my terrible idea.
2013-09-02 05:31:48 -05:00
Ryan Houdek
e7157e7c52
[Android] Fix fastmem and enable.
2013-09-02 04:10:21 -05:00
Ryan Houdek
831963616f
[Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really.
2013-09-02 01:40:05 -05:00
Lioncash
0219049c03
Fix an accidental duplicate if-statement handling of 0x1007 in WII_IPC_HLE_Device_net.cpp
2013-09-02 01:28:48 -04:00
comex
35b8dfbe0c
A few more warnings.
2013-09-01 23:33:35 -04:00
comex
2630169229
More warnings: mark/avert truncating conversions from float.
2013-09-01 22:59:35 -04:00
comex
4f5729dd59
MSVC warnings.
2013-09-01 22:59:32 -04:00
comex
de0a5fdfbb
More trivial warning fixes.
2013-09-01 22:59:18 -04:00
comex
c08f06f8c9
Fix IOCTLV_SO_GETADDRINFO.
...
It tried to cast incoming pointers to native ones. The values are
required to be null anyway, so it doesn't really matter, but it fixes a
warning at least.
2013-09-01 22:58:40 -04:00
comex
186527544b
Fix use of deprecated APIs in IOdarwin.mm.
2013-09-01 22:58:38 -04:00
comex
403744dee8
Fix use of deprecated screen resolution API.
...
(This is currently pointless, as the code in question is not used on OS
X anyway, but I'd like to see that option come back. In any case, fixes
the warning)
2013-09-01 22:58:35 -04:00
comex
fd7cf5bb71
A bunch of trivial changes to fix clang warnings.
2013-09-01 22:58:33 -04:00
comex
71fde876df
A fix to my fix to my fix. Sorry.
...
(Avoid uninitialized m_pFile when loading WADs.)
2013-09-01 17:15:16 -04:00
Ryan Houdek
b03ff7a86b
[Android] Fix the game thread never leaving.
2013-09-01 01:10:40 -05:00
comex
a6f6695ecd
Work around MSVC bug, and make it less likely to happen again. Ew.
...
MSVC insisted on using a copy assignment where a move was intended and
ought to be used. This would have been caught, because the class in
question inherits from NonCopyable, which declares a move assignment
operator, which is supposed to delete the implicitly declared copy
assignment operator, but of course MSVC didn't do that either, causing a
class that should have been safe to be unsafe.
2013-09-01 00:04:50 -04:00
comex
5209abeb03
Better error reporting for ES / NANDContentLoader.
2013-08-31 23:49:29 -04:00
Jasper St. Pierre
3e049a130b
NetPlay: bump proto
...
As it changed with the pad mapping change.
2013-08-31 23:29:12 -04:00
Matthew Parlane
ffe710b4e8
Recvfrom tidy and store laste error.
2013-09-01 15:15:55 +12:00
Matthew Parlane
1c106abf13
Fix sendto.
...
This fixes Opera, sorry [SS]
2013-09-01 14:30:07 +12:00
Matthew Parlane
b11f14c6f7
Fix setsockopt.
2013-09-01 14:03:03 +12:00
Jasper St. Pierre
22f57cf07a
NetPlay: Don't bother with the host's controller settings
...
Use the pad mapping to calculate the number of devices
we want, and add them on each client when we get the
message.
2013-08-31 21:18:14 -04:00
comex
b187a38433
Fix inability to boot NAND contents caused by 04c41c1d38
.
...
Might be nice to refactor this code to decrease duplication, but for now
just a fix.
2013-08-31 15:06:00 -04:00
Pierre Bourdon
751c2e69f6
Add a link to our documentations guides in Dolphin
2013-08-31 10:31:43 +02:00
Matthew Parlane
676d78ec41
Fixes accept.
...
Tested with network demo from devKitPPC :)
2013-08-31 18:47:19 +12:00
comex
11cffddbf7
Fix a trivial bug in b6728c1405
.
2013-08-31 01:54:57 -04:00
comex
04c41c1d38
Fix loading DLC using IOCTL_ES_OPENTITLECONTENT & /dev/es state save.
...
(Intertwined enough that's it's easier to do in one patch.)
(1) /dev/es did not support state save, which could cause crashes and
incorrect behavior after loading.
(2) NANDContentLoader tried to read all of a title's contents into
memory when it was first opened. Two issues:
- If any contents were missing, it bailed out. However, with DLC,
only some of the contents may be downloaded, as determined by the
permission bits in the ticket. Instead, return an appropriate error
when a content is accessed that doesn't exist on the filesystem
(don't bother checking the permission bits though).
- Everything was loaded into memory - even if it consisted of 3 GB of
songs, which caused Dolphin to lag out for quite a while (and would
fail on 32-bit). Instead, open content on demand.
2013-08-31 01:38:52 -04:00
comex
4d6d4a97e4
Make NonCopyable use rvalue references.
...
This is required to be able to move objects that inherit from it.
(Note that this patch also #ifs out the class for the externals that
include it yet are compiled in pre-C++11 mode. It shouldn't matter,
since those externals don't use it.)
2013-08-31 01:38:49 -04:00
Matthew Parlane
c497d62836
Fix sysmenu test connection bug on Windows.
2013-08-31 16:44:53 +12:00
Lioncash
7ce3d846d5
Indent the code in the previous bug fix I did. Now there aren't braces on the same level as each other. Should have initially done this along with that commit.
2013-08-31 00:39:19 -04:00
LPFaint99
199c4e0d78
Merge branch 'wiiSaveExportFixes'
...
saves like super smash bros brawl, mario kart, etc which use simple copy restriction via the banner file are now able to be imported natively with the wii/wiiU system menu
save files which include subdirs are correctly packaged
NOTE: saves which include 'nocopy'/'nomove' folders will likely always require homebrew
adds feature to export all wii saves
2013-08-30 20:52:09 -07:00
Ryan Houdek
df7b4da13b
[ARM] Fastmem is back. Still disabled for Android.
2013-08-31 02:33:12 +00:00
Ryan Houdek
8b0a0daf10
Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
...
This reverts commit f485d96b0b
.
2013-08-31 02:33:11 +00:00
Lioncash
93b0f46d34
Fix a tiny bug in CodeView.cpp. If statement with more than one line was missing braces.
2013-08-30 18:29:03 -04:00
comex
b6728c1405
Avoid unnecessary bundle copies on OS X:
...
- Make "copy data into bundle" depend on the files actually being
changed, rather than being run on every build.
- postprocess_bundle depends on system files and checking the Dolphin
binary and all that, and would be iffy to try to avoid rerunning;
but it's only needed to produce a redistributable bundle, so add
SKIP_POSTPROCESS_BUNDLE to skip it for development.
2013-08-30 17:54:52 -04:00
Pierre Bourdon
6428137ca4
Set XAudio2 as the default audio backend
2013-08-30 19:12:46 +02:00
Ryan Houdek
710ac04084
[ARM] Fix the VMOV encoding to encode the destination VFP register correctly.
2013-08-30 05:13:43 -05:00
Ryan Houdek
2c1337eb5f
[ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg.
2013-08-30 09:38:11 +00:00
Pierre Bourdon
2ab7fc10da
Rollback "DSP on Thread" to only affect LLE.
...
Keep the threading code in AX HLE in case we want/need to enable it again at
some point. Not too confident about refactoring it right now.
2013-08-30 09:14:30 +02:00
Ryan Houdek
7cceace1ed
[ARM] Fix Savestates.
2013-08-30 06:43:18 +00:00
Ryan Houdek
8bb16d8e98
[Android] Android NDK now supports full implementations of std::mutex, std::thread, and std::conditional_variable so there is no need to have our own implementations there now.
2013-08-29 22:29:33 -05:00
Ryan Houdek
10c18e75de
[ARM] Fix lfs/lfd. We need to dump the fpr cache at times where VFP registers may be affected. We shouldn't need to flush D8-D15 but it doesn't seem to work. So we have to flush all registers.
2013-08-30 01:11:32 +00:00
Ryan Houdek
96394da1c2
[Android] Let NativeLibrary handle initial folder structure creation.
2013-08-29 18:07:32 -05:00
Ryan Houdek
957c263367
[Android] Add save state native functions.
2013-08-29 17:47:50 -05:00
comex
2de2e774fe
Use pthread_setname_np.
...
This makes SetCurrentThreadName actually work (name shows up in
debugger) on non-Windows.
2013-08-29 16:30:32 -04:00
Ryan Houdek
18fd690533
Only use static iconv on Android.
2013-08-29 05:53:15 -05:00
Ryan Houdek
cb8e7a1be5
Work around check_lib not finding iconv.
2013-08-29 05:40:16 -05:00
Ryan Houdek
160d72a9ae
[Android] Add in a static libiconv library so non English games don't crash Dolphin Mobile.
2013-08-29 04:43:31 -05:00
Matthew Parlane
e7bdcc34e1
Fix some enum alignments
2013-08-28 01:12:24 +12:00
Matthew Parlane
b34a5faee7
More cleaning.
2013-08-28 01:07:43 +12:00
Matthew Parlane
2a68b65cda
Merge branch 'master' into wii-network
2013-08-28 00:57:37 +12:00
Matthew Parlane
75c398118f
Fix headings and more.
2013-08-28 00:57:08 +12:00
Matthew Parlane
d493525050
Add socket cleanup.
...
Don't know what to do with remaining sockops if called from a SetRegister reset command.
2013-08-28 00:37:45 +12:00
Matthew Parlane
6748d5d087
Fix const.
2013-08-28 00:05:43 +12:00
Matthew Parlane
eebcea9174
Fixed accept.
...
Added helper functions.
Removed unused structs.
2013-08-27 23:58:26 +12:00
Matthew Parlane
4644a3bd16
Fix for Just Dance 4
...
Some clean ups.
2013-08-27 23:58:26 +12:00
degasus
15df7b3445
ogl driverdetails: add flag to disable hacked and pinned memory
...
pinned memory is broken for index buffers
hacked buffer crashes the amd driver
2013-08-26 19:45:19 +02:00
Matthew Parlane
8006c878f8
Maybe libusb_exit fails when not initialized.
2013-08-27 00:58:20 +12:00
Matthew Parlane
aa7319e043
Slightly better error handling for libusb_init not working.
2013-08-27 00:46:04 +12:00
Matthew Parlane
33761c0b65
More cleaning.
2013-08-27 00:22:44 +12:00
Matthew Parlane
69bb04f79f
Fixed inconsistent usage of sock and used fd instead.
2013-08-26 23:57:18 +12:00
Matthew Parlane
e8cde8464e
Code style fix and cleanup.
2013-08-26 23:24:41 +12:00
Matthew Parlane
5ecd86708b
Disable Wii Sockets for NetPlay and TAS
2013-08-26 23:24:01 +12:00
Matthew Parlane
15f8603d1f
Merge branch 'master' into wii-network
...
Conflicts:
Source/Core/Common/Src/CommonPaths.h
Source/Core/Common/Src/FileUtil.cpp
2013-08-26 00:50:57 +00:00
Pierre Bourdon
0e8f9d8abc
Fix a crash in the Wiimote registration code
...
The code was hitting undefined behavior, causing crashes when starting a Wii
game with Dolphin compiled with gcc >= 4.8.
Might introduce some slight change in the Wiimote activation logic.
Fixes issue 6526.
2013-08-25 21:30:43 +02:00
Rachel Bryk
18749bad68
Actually allow the dump and logs folders to be set outside of user/
2013-08-25 01:35:32 -04:00