NeoBrainX
08a9c66037
Revert the recent zcomploc changes including the Graphic_Fixes merge.
...
Reason:
- It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance.
- It provides virtually no advantages over the previous hack while introducing lots of code.
- There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc.
This reverts commit 0efd4e5c29
.
This reverts commit b4ec836aca
.
This reverts commit bb4c9e2205
.
This reverts commit 146b02615c
.
2012-08-10 20:12:02 +02:00
NeoBrainX
6e02ad55bc
Maintenance.
2012-08-07 18:57:53 +02:00
NeoBrainX
c143e08b9a
Recreate screenshot texture whenever the backbuffer resolution changes. Fixes crashes when taking screenshots after changing window size or switching to/from fullscreen mode.
2012-08-07 15:18:10 +02:00
NeoBrainX
ec859009b7
Add a sanity check for viewports with zero width/height.
...
Fixes issue 5466.
2012-08-07 01:37:31 +02:00
Pierre Bourdon
a2b71f1ed7
Clean up WX style issues mentionned in previous commits comments
2012-08-06 14:21:49 +02:00
skidau
0efd4e5c29
Skipped the ZCompLoc pass if the result can be determined at compile time. Brings back the speed lost by r146b02615c07.
2012-08-06 09:29:01 +10:00
Pierre Bourdon
86a1899b9e
Fix a wrong data type in the WBFS Blob reader causing issues on x86 systems
...
Fixes issue 5489.
2012-08-05 19:35:49 +02:00
Pierre Bourdon
d7d2e5b9bf
Link explicitly DolphinWX with GTK2 libraries
...
Fixes issue 5555.
2012-08-05 20:51:42 +02:00
Pierre Bourdon
fe1501db9a
Check if WX recognized a key before testing if it's a hotkey
...
Fixes issue 5537.
2012-08-05 17:28:57 +02:00
Pierre Bourdon
b3c9f437db
Return early from DoOpen if the user cancelled the file picker box
...
Fixes issue 5551
2012-08-05 16:53:36 +02:00
Pierre Bourdon
80bf3c2c0b
Add VTune profiling support for Dolphin's JIT
2012-08-05 16:39:15 +02:00
Pierre Bourdon
228172d656
Fix a typo in the indexed color vertex loader
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:16 +02:00
Pierre Bourdon
8597660855
Replace all of the opcode data read functions by their SSSE3 equivalent, not only the first one.
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:08 +02:00
Pierre Bourdon
d44a3471be
Fix DSP LLE thread affinity being set to the wrong core
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:00 +02:00
Pierre Bourdon
e42c6214d9
Fix a typo in GenQuantizedLoads causing issues with SSSE3 in x86 builds
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:23:46 +02:00
Pierre Bourdon
d33e48319f
Fix accesses to the 16 lower pixels of the EFB with OpenGL
...
The GL EFB cache did not clamp correctly the coordinates when computing
the rectangle it needed to cache, leading to negative values being used
as indexes and often crashes.
Fixes issue 5510.
2012-07-23 22:35:51 +02:00
skidau
00df727d2f
Optimised the JitCache struct size from 88 bytes to 80 bytes. Thanks to Lioncash for the patch.
2012-07-23 22:15:34 +10:00
Pierre Bourdon
174c1b00f8
Use the right modifier for hotkeys on Mac
...
Fixes issue 5324.
2012-07-22 19:22:50 +02:00
sktsqrl
c0060f9ef8
Merge branch 'bba'
...
OS X support not impl
2012-07-21 12:53:46 -07:00
sktsqrl
601b9fc03b
typo fix
2012-07-21 12:50:40 -07:00
sktsqrl
9442d334d8
bba: stub the os x impl
2012-07-21 12:21:55 -07:00
Scott Moreau
0e1348c839
Re-add hack to use SDL/SDL.h ifndef _WIN32.
...
The correct convention is to use #include SDL.h in all cases but we have to
do this so Externals/SDL builds, which isn't in the best shape.
2012-07-14 20:50:58 -06:00
Scott Moreau
d34418100b
Add periodic effects for haptic devices.
...
This adds support for drivers supporting sine, square and triangle
periodic haptic effects. This allows rumble to work on devices/drivers
supporting these effects, such as an xbox controller using the xpad
driver under Linux.
2012-07-12 19:47:17 -06:00
Scott Moreau
80c15f21b4
Add SDL2 support to build system.
...
Dolphin code already builds against SDL2 but the build system never
checks for SDL2, which is the what latest SDL is called now. SDL2
replaces SDL 1.3. This allows Dolphin to be build against SDL2, which
activates certain new features such as the haptic interface.
2012-07-12 19:47:17 -06:00
sktsqrl
8dd11bd1c0
fixes issue 5507
2012-07-11 20:54:50 -07:00
sktsqrl
1d44de53b5
reset samples_avail when stopping gc mic sampling. fixes Mario Party 7
2012-07-11 01:03:25 -07:00
sktsqrl
a02cbedb0f
bba: generate MAC if needed
2012-07-07 13:44:26 -07:00
Pierre Bourdon
dd48b246b2
Reduce logging verbosity in the Linux BBA code
2012-07-05 01:30:37 +02:00
Pierre Bourdon
5db70f452b
Remove the now unneeded recv sleep hack and fixes game exit by implementing a timeout on read(2) calls in the read thread.
2012-07-05 01:29:42 +02:00
sktsqrl
bb84043de0
bba: (windows) fix games which stop and restart recving, such as logging off of PSO and loggin on again without stopping dolphin
2012-07-04 16:17:47 -07:00
sktsqrl
6cccbb91ec
bba: implement recv buffer full interrupt
...
(windows) hopefully fix crashes from closing dolphin while recving
2012-07-04 16:02:05 -07:00
sktsqrl
9cff8316d2
code cleanup for win32/tap/eth
2012-07-04 16:02:04 -07:00
Pierre Bourdon
9a3dd778cb
Preliminary BBA support for Linux. Assumes that a TAP interface named 'Dolphin' exists and is preconfigured. Contains some dirty hacks.
2012-07-04 04:34:40 +02:00
skidau
c57640dfbd
Implemented proper timing in the "No audio output" back-end.
2012-07-01 17:07:58 +10:00
sktsqrl
3cb6e4a864
Redo BBA once again. Now it works on windows, if crappily.
...
To use, install OpenVPN's TAP device driver. Then create a network bridge between the TAP and your device connected to the internet.
TODO:
proper overlapped read - can look at qemu impl
non-windows impl
2012-06-29 17:33:56 -07:00
skidau
b4ec836aca
Removed the offset if the ZCompLoc GREATER or LESS function is used. Fixes the invisible player in THPS3.
2012-06-29 18:47:49 +10:00
Pierre Bourdon
b27d8ff0d6
Add a missing Invalidate() call in ~TextureCache(). Fixes a regression from 8bed27a3d1
causing textures to load improperly when a game is run two times in the same Dolphin instance
2012-06-27 20:20:28 +02:00
NeoBrainX
29e21026e9
Merge branch 'awesome-texcache-cleanups-and-fixes'
2012-06-21 22:21:34 +02:00
NeoBrainX
1c8cdebc22
Set g_texture_cache to NULL upon shutdown. Fixes a crash introduced in previous commits.
2012-06-21 14:21:16 +02:00
Pierre Bourdon
fa2ee1f4a0
Only call CheckExceptions in dcbz in interpreter mode, use FL_ENDBLOCK for Jit64. Now RS3 demo disc does ingame with Jit and block_size = 1
2012-06-20 18:33:23 +02:00
NeoBrainX
cc0523e55b
TextureCache: Properly assign texture hashes when EFB to RAM is used without caching.
...
Fixes issue 5472.
2012-06-20 18:18:21 +02:00
NeoBrainX
7dabba5095
Fix a small bug.
2012-06-20 18:18:20 +02:00
NeoBrainX
043a85f8a6
Minor cleanup.
2012-06-20 18:18:19 +02:00
NeoBrainX
8a5abbddc4
Enable texture format overlay on the fly.
2012-06-20 18:18:18 +02:00
NeoBrainX
8bed27a3d1
Enable hires textures even when texture dumping is enabled.
...
Remove some deprecated code.
2012-06-20 18:18:17 +02:00
NeoBrainX
8d30ac462a
Instead of invalidating texcache whenever the graphics configuration dialog gets opened, clean up textures on configuration changes.
2012-06-20 18:18:05 +02:00
Pierre Bourdon
30de244050
Check for DSI exceptions after a dcbz instruction. Fixes Rogue Squadron 3 in interpreter mode.
2012-06-20 12:15:22 +02:00
Pierre Bourdon
e550623b11
Added a button to dump the FakeVMEM from the memory debugger if the game uses it
2012-06-19 13:51:29 +02:00
Pierre Bourdon
988bd53b5f
Support ANSI color codes in the console logger for Linux/Mac
2012-06-19 12:11:15 +02:00
Pierre Bourdon
34606f34a9
Allow disassembly of FakeVMEM with the dolphin debugger
2012-06-19 11:57:57 +02:00
Pierre Bourdon
76a13604ef
Optimize mtmsr by going to an exception exit only if EE are enabled and some
...
exceptions are pending.
2012-06-19 06:35:30 +02:00
Pierre Bourdon
bfc797ede1
Removed an obsolete comment
2012-06-16 14:39:17 +02:00
Pierre Bourdon
e1ddbdd214
Use WriteExceptionExit and implement the change for JitIL
2012-06-16 14:38:48 +02:00
Pierre Bourdon
da4141aa9f
Simulate ARAM DMAState correctly and check for external exceptions after
...
MTMSR is executed.
This commits fixes issue 617. WWE Day of Reckoning 1 and 2 are now playable
with Dolphin.
The changes are not implemented for JitIL yet.
2012-06-16 14:38:44 +02:00
NeoBrainX
227580d1a5
Remove "Disable Textures".
2012-06-11 23:35:46 +02:00
NeoBrainX
1dd6b978c1
Remove "Disable Lighting".
2012-06-11 23:30:20 +02:00
skidau
1d9ac2f6e1
Removed the check for changed JIT blocks before invalidation. Fixes the slow speed in Zelda: Ocarina of Time Master Quest.
...
Fixes issue 5454.
2012-06-09 18:48:15 +10:00
NeoBrainX
b5ad382b07
Fast mipmaps deserves to die!!
2012-06-08 00:22:57 +02:00
NeoBrainX
0d577d886a
Remove some TODOs.
2012-06-02 19:23:20 +02:00
skidau
d74c50b942
OSX build fix for BPStructs. Thanks to pauldacheez for the fix.
2012-06-02 11:28:43 +10:00
skidau
bb4c9e2205
Fixed "Failed to compile pixel shader" error when Per-Pixel Lighting is enabled. Thanks to slmpika for the fix.
2012-06-02 11:25:44 +10:00
skidau
b0d271db3c
Changed MOVDDUP to use MOVSD on non-SSE3 CPU's.
...
Added DMA wait time under DSP HLE mode.
Fixes Knockout Kings 2003.
2012-06-02 10:06:47 +10:00
skidau
99b7c91df5
Checked if dcbst instructions are preceded by dcbt. If it is, the game is prefetching memory into the data cache, and not loading new code. In these cases, the JIT cache will no longer be flushed. Fixes the frequent "Clearing code cache" issue in games like "The Last Story".
2012-05-31 22:09:33 +10:00
NeoBrainX
372e00632d
Fix changing internal resolution via hotkeys (settings above 1.5x weren't accessible anymore before).
2012-05-29 13:11:28 +02:00
Pierre Bourdon
bfde41895f
Update the viewport when the scissor offset is changed
...
Fixes a bug with Another Code: R that was noticed when gx-optimization was
merged.
2012-05-27 08:03:26 +02:00
Glenn Rice
00f6b7b6ea
Fix core dump on start up on linux. Thanks to degasus.
2012-05-26 08:24:18 -05:00
Pierre Bourdon
1efabea9b4
Fix compilation errors with g++4.7
2012-05-26 08:09:50 +02:00
skidau
b79d8d9e10
Fixed the Cheat Search. Patch by nagosaki.
2012-05-26 15:45:58 +10:00
skidau
146b02615c
Merge rodolfoosvaldobogado's zcomploc code (Graphic_Fixes branch)
2012-05-26 13:47:07 +10:00
Braden
82cb14e49b
Actually fixes crashing on start up.
2012-05-26 13:21:30 +10:00
Braden
cbc84ecd72
set variables equal to zero or false correctly. Should fix crashes on 32bit version.
2012-05-26 13:21:30 +10:00
Braden
defb4c255d
Allows analog sticks to be used with the TAS Input Open.
2012-05-26 13:21:30 +10:00
unknown
873437d58a
Adds better support for the tas input.
2012-05-26 13:21:29 +10:00
nitsuja
9ea8d54343
remove some code that was made unused by rca287e7957c7
2012-05-26 13:19:57 +10:00
nitsuja
1f9586a8ba
compile fix for my merging of rca287e7957c7
2012-05-26 13:19:57 +10:00
nitsuja
99b202fd2e
savestate vertexmanager (base) since it affects VertexLoader::RunVertices which affects g_pVideoData
2012-05-26 13:18:08 +10:00
nitsuja
ae242e5675
added some missing VideoBackendHardware data to savestates. I think this makes savestates more stable (fewer "GFX FIFO: Unknown Opcode" errors) in dual core mode.
...
also added some extra verification markers around here, to potentially give better info on future version mismatches
2012-05-26 13:18:08 +10:00
nitsuja
2be579e8ba
fixed some graphics problems with loading savestates (for example, wrong colors on title screen of metroid prime 3)
2012-05-26 13:18:07 +10:00
nitsuja
19b0b02ad7
add some missing IPC HLE data to savestates
2012-05-26 13:14:15 +10:00
nitsuja
c9059c708e
save events in a safer way. the old way assumed that event type indices remain constant (they don't always), which could result in running arbitrary events or crashing upon loading.
2012-05-26 13:09:39 +10:00
nitsuja
a81631b58e
made savestates synchronous and immediate. this allows saving or loading while the emulator is paused, fixes issues where savestate hotkeys would get ignored if pressed too close together, might speed up savestates in some cases, and hopefully makes savestates more stable too.
...
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
2012-05-26 13:09:38 +10:00
nitsuja
108f69eaa9
to help movie sync, added some more wiimote data to savestates and disabled auto-reconnect. although I think this is basically just removing hacks and should be more correct, I don't know what side effects this could cause for normal players, so for now these changes ONLY take effect when an input movie is playing back or being recorded.
2012-05-26 12:59:08 +10:00
nitsuja
d19c389246
clean up some savestate code
2012-05-26 12:59:08 +10:00
nitsuja
8ef75dac67
add missing SI device state to saves
2012-05-26 12:59:07 +10:00
nitsuja
5423bca79c
add some more missing dsp ucode data to savestates
2012-05-26 12:59:07 +10:00
nitsuja
152351d96c
implement PointerWrap::Do(std::map<unsigned int, T>)
2012-05-26 12:59:07 +10:00
nitsuja
aa674a65f1
implement PointerWrap::DoLinkedList and use it to simplify saving CoreTiming events
2012-05-26 12:59:06 +10:00
skidau
a54e72640f
Merge branch 'misc-speedups'
...
* misc-speedups:
fixed and reenabled and slightly optimized the JIT version of fcmpo/fcmpu.
slightly more precise speed percent display (this is really minor)
a small thread synchronization speedup for dual core mode. it's most noticeable in games where the CPU is running behind compared to the GPU.
Conflicts:
Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp
The Fifo.cpp changes from rdaefb3b550e2 was not merged as there was no performance benefit.
2012-05-26 12:35:08 +10:00
Pierre Bourdon
cf69e7ca8a
Merge branch 'gx-optimization'
...
This branch reduces the number of useless state flushes in the video
emulation layer by checking whether a BP/XF change will have an effect
or not. Greatly reduces the number of GL calls per frame.
Thanks to degasus for his help!
2012-05-24 21:49:37 +02:00
NeoBrainX
4131ca8d38
Merge branch 'hires-tex-improvements'
2012-05-22 08:14:49 +02:00
Pierre Bourdon
fee2d83f68
Fix a data endianness problem introduced by r7cccb4baa724.
2012-05-20 22:16:21 +02:00
Pierre Bourdon
c95baf614d
Avoid changing video state on useless BP writes
...
When a game writes the same value that was already configured to a BP
register, Dolphin previously flushed the GPU pipeline and reconfigured
the internal video state (calling SetScissor/SetLineWidth/SetDepthMode).
Some of these useless writes still need to perform actions, for example
writes to the EFB copy trigger or the texture preload registers (which
need to reload the texture from memory).
2012-05-20 20:56:03 +02:00
Pierre Bourdon
7cccb4baa7
Check if data was modified in LoadIndexedXF too
2012-05-19 10:54:40 +02:00
Pierre Bourdon
b8d4d013f6
Compute the comparison size properly (transferSize is in u32, not in u8)
2012-05-18 23:27:02 +02:00
Pierre Bourdon
5a77cae2e3
Check if BP and XF changes actually change values before flushing
2012-05-18 23:13:53 +02:00
Matthew Parlane
1bc5f41e40
Fixes issue 5428. Thanks delroth.
2012-05-18 17:57:28 +12:00
skidau
5a8ad92302
Changed a JMP that needed to be a far JMP in JITIL.
2012-05-15 09:32:21 +10:00
NeoBrainX
54aeec7a8f
Dump the redundant "save textures" function. Use TextureCache's dumping feature instead.
2012-05-13 17:48:23 +02:00
NeoBrainX
72e83140f0
TextureCacheBase: Remove the texture size limit for custom textures. Only the GPU restrictions for maximum texture size remain.
2012-05-13 17:43:14 +02:00
NeoBrainX
41d37ab0a0
TextureCacheBase: Support loading custom mipmaps.
2012-05-13 17:42:22 +02:00