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
Lioncash
55e8be595c
Fix "Entry Point Not Found crash on Windows Vista"
...
Fixes issue 6805.
https://code.google.com/p/dolphin-emu/issues/detail?id=6805
2013-12-08 18:01:49 -05: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
bc01785264
[Android] Fix an issue that occurs due to the warning dialog.
2013-11-30 19:48:08 -06:00
Ryan Houdek
65ce711a21
[Android] 0.13 release.
2013-11-30 14:28:48 -06:00
Ryan Houdek
020331383a
[Android] Fix alert when using crappy Qualcomm drivers.
2013-11-30 14:28:00 -06:00
Ryan Houdek
2ad686a2a2
[Android-overlay] Z-button support.
2013-11-29 21:50:42 -06:00
Ryan Houdek
b9f03444cd
[Android-overlay] Fix Java imports.
2013-11-29 21:32:27 -06: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
00a25cdaf5
[Android-overlay] Disable Wiimote configuration until it is wired up.
2013-11-29 21:12:36 -06:00
Lioncash
f6e89356c7
[Android] Simplify some things in the overlay. Also Javadoc the new static function.
2013-11-29 20:06:39 -05: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
Lioncash
7f85c3215b
[Android] Add Javadoc to InputOverlayDrawableJoystick.
2013-11-25 17:18:31 -05:00
degasus
0b4cb2e15f
OpenGL: split real xfb + efb2ram framebuffers
2013-11-25 22:27:11 +01:00
Lioncash
76843b450b
[Android] Build the configuration window for the overlay programmatically. Moved the overlay configuration classes into their own package. Also launch the overlay config activity through the preference XML via an embedded Intent. Lets us remove code explicitly handling this.
2013-11-25 14:23:28 -05: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
7ed8e6a29c
[Android] Fix the check for the Qualcomm graphics driver version for v53 drivers with the screen being rotated 90 degrees. Initialize the OpenGL information grabbing only once. Check for v14 Qualcomm drivers and spit out an error if the user tries selecting OpenGL ES 3.
2013-11-24 22:45:48 -06: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
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
Lioncash
42f8562e5c
[Android] Basic Wiimote binding settings now implemented.
2013-11-19 19:28:10 -05:00
Lioncash
7e544d8996
[Android] Basic UI functionality for enabling/disabling aforementioned Gamecube controllers.
2013-11-19 16:14:40 -05:00
Lioncash
53ab104d5f
[Android] Expand the input binding UI in the settings to handle 4 Gamecube controllers in the future.
...
Other changes:
- Broke out MotionAlertDialog into it's own separate class.
- Made a preference specifically for handling input bindings.
2013-11-19 15:53:30 -05: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
Lioncash
c46aabc853
Merge branch 'master' of https://code.google.com/p/dolphin-emu
2013-11-16 16:53:22 -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
Lioncash
ee32c8b4e9
[Android] Remove accidental fragment tag in GameListActivity (it was useless, since it's an empty string)
2013-11-16 15:17:37 -05:00
Ryan Houdek
2025f00f88
Woops, vim copy and paste issue with a double include.
2013-11-16 09:41:01 -06:00
Lioncash
11a156615f
[Android] Like the previous commit (but for the GameListFragment), don't constantly create a new adapter when filling the game list.
2013-11-16 05:30:58 -05:00
Lioncash
d98664b053
[Android] Simplify the FolderBrowserAdapter a little, as well as the Fill method within FolderBrowser.java. Previously the fill method would create an entire new adapter and assign it to the backing ListView. This is pretty unnecessary, so what it now does is, when the function is called, it clears out the adapter, then simply fills it in again with the new directory's contents. Simple, and doesn't require a reference to the actual ListView to be used.
2013-11-16 04:36:22 -05:00
Lioncash
c8ddc70c97
[Android] Simplify the AboutFragment view inflating. Considering the backing layout is a direct ListView, the original rootView can just be casted to a ListView, no need for an intermediate.
2013-11-16 04:09:30 -05:00
Lioncash
94f8c68a35
[Android] Use the ViewHolder design pattern for the FolderBrowserAdapter. In directories with a lot of files, this should be noticeably smoother in terms of scrolling. Also fixed the case where the subtitle text might disappear.
2013-11-16 03:56:58 -05:00
Lioncash
c90ce1aad1
[Android] Change the name of the XML layout file gamelist_folderbrowser_list.xml to gamelist_folderbrowser_list_item.xml. More accurate name on what it is.
2013-11-16 03:31:02 -05:00
Lioncash
21a196f9af
[Android] Eliminate the need to hold a reference to the shown Fragment within GameListActivity. Now we only care about the numeric ID of the one being shown.
2013-11-16 03:09:07 -05:00
Lioncash
777b5a109b
[Android] Fix the handling of orientation changes for the Fragments related to the game list. Now screen orientation changes don't kick you back to the root view.
2013-11-16 01:48:17 -05:00
Ryan Houdek
e8a4cc0f71
Screenshot capability of Software rasterizer for feature completness.
2013-11-15 22:08:08 -06:00