Commit Graph

13375 Commits

Author SHA1 Message Date
magumagu 39d439fc48 Opcode decoding: handle missing opcodes 0x88 etc.
Hardware testing shows that they do the same thing as the 0x80 family of
opcodes: they draw quads.
2014-05-10 20:33:28 -07:00
shuffle2 2983ae2823 Merge pull request #357 from shuffle2/master
Revert "x64FPURoundMode: always set x87 precision"
2014-05-10 20:26:56 -07:00
Ryan Houdek 004af614cf Merge pull request #335 from Tilka/twx
Jit64: implement tw/twi more accurately
2014-05-10 22:26:02 -05:00
Shawn Hoffman 700c135386 Revert "x64FPURoundMode: always set x87 precision"
This reverts commit 9de77b7c23.
Setting x87 precision control is only supported on x86 platforms (not ARM or x64).
2014-05-10 20:21:07 -07:00
shuffle2 adbb4c4a0c Merge pull request #352 from shuffle2/master
[windows] Fix debug build memory leaks.
2014-05-10 20:18:03 -07:00
Ryan Houdek cdec575bef Fixes games that use the MMU to page in code(Rogue Leader).
The issue was that on memory exception we wouldn't call in to PPCAnalyst and our code_block would retain the previous blocks information.
This would cause us to compile the previous blocks instructions in prior to the exception exit.
2014-05-09 09:10:45 -05:00
magumagu 369c0c4ce2 Opcode decoding: 0xC0 isn't a valid command.
Fix our opcode decoders to handle this appropriately.
2014-05-08 15:49:19 -07:00
magumagu 4f5421ffb5 DVDInterface: code cleanup. 2014-05-08 11:47:38 -07:00
Shawn Hoffman fa65eeb492 Apparently the debug build has not been freeing memory since 2008. Undo that. 2014-05-08 00:58:55 -07:00
Tillmann Karras 452cdefaa3 Use std::make_unique where it makes sense to
(and improve some other unique_ptr initializations).

Adapted from delroth's pull request.
2014-05-06 12:35:50 +02:00
Tillmann Karras 81d4d7368a Add a std::make_unique implementation
Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.

Adapted from delroth's pull request.
2014-05-06 12:32:03 +02:00
Tony Wasserka b4e1ac5f08 Merge pull request #185 from degasus/shader-cleanup
Shader cleanup
2014-05-06 11:37:11 +02:00
Ryan Houdek aa30f5a6cb Change Android's default EFB configuration to texture instead of disabled. 2014-05-05 17:13:04 -05:00
magumagu f123e08731 DVDInterface: tweak buffered reads to be a bit faster.
A read finishes when the result is complete in the drive's buffer, not
main memory.
2014-05-05 14:52:15 -07:00
magumagu 8014795d56 DVD emulation: make seek timing more accurate.
Based on real measurements of a Gamecube disk on a Wii.  (If anyone else
is interested in running more tests, I can upload my code; it's a mess at
the moment.)

This isn't a complete model, but it's a step in the right direction:
in Metroid Prime, the loading times are sane, and I think I managed to do it
without breaking anything.
2014-05-05 14:33:00 -07:00
Ryan Houdek 0bfec024e9 Merge pull request #330 from LPFaint99/GCMemcard_addsave_fix
GCMemcard: fix edge case of adding to a fragmented memcard.
2014-05-05 16:31:33 -05:00
Ryan Houdek 34bc14e75d Fixes our post processing shaders so they work under OpenGL ES 3.0
Most of our shaders relied on implicit int->float conversions.
This fixes the assumption that this is allowed
2014-05-05 15:59:49 -05:00
Tony Wasserka edbf90f9d2 Merge pull request #336 from magumagu/xfb-vertical-scale
XFB width/height handling fixes
2014-05-05 22:05:21 +02:00
Ryan Houdek 33bdc0f985 Adds support for the PP shaders in the Android UI.
Copies over the PP shaders to the APK's assets and installs them on run.
Exposes them via the video settings UI.

This is in anticipation of dropping the workaround for rotated blits on Adreno and instead forcing shader usage by the user.
2014-05-05 13:44:08 -05:00
magumagu 727ef4a625 JIT: unify JitAsm for JIT64 and JIT64IL.
Having a bunch of nearly identical code sitting around isn't a good idea,
so fix that. JITIL had a couple of extra entry points into the JIT main
loop, so adjust the code appropriately.

Also fixes Issue 7186.
2014-05-05 11:12:22 -07:00
Tony Wasserka 093ee090b8 Merge pull request #339 from magumagu/opengl-unused-parameter
OpenGL: delete unused function parameter in TextureConverter.
2014-05-05 20:05:08 +02:00
magumagu c01ac18d4d VideoInterface: clean up naming and bitfields.
Matching the hardware more closely will hopefully make this code easier to
read.
2014-05-05 11:01:15 -07:00
magumagu 716b3fefd4 VideoCommon: recreate XFB texture when the XFB size changes.
We need to do this to correctly deal with games which dynamically change the
XFB width and height.
2014-05-05 11:01:14 -07:00
magumagu 2db2f3dce9 VideoInterface: accurate XFB width and height.
What we call "fbWidth" here is really the stride, but I'll fix that in a
followup.
2014-05-05 11:01:14 -07:00
magumagu bca0b7b543 OpenGL: delete unused function parameter in TextureConverter.
(While I'm here, also mark some functions static.)
2014-05-05 10:56:36 -07:00
Ryan Houdek 2f92b82b29 Merge pull request #345 from Sonicadvance1/Qualcomm-textureSize
Enables usage of GLSL textureSize on Qualcomm v66.
2014-05-05 11:41:40 -05:00
Tony Wasserka 4310608034 Merge pull request #344 from magumagu/tev-indirect
VideoCommon: fix indirect texture coordinate computation in TEV.
2014-05-05 17:20:54 +02:00
degasus 813e30ec2a ShaderGen: make uv readonly 2014-05-05 17:06:38 +02:00
degasus 6109958e68 ShaderGen: OGL: don't make a copy of "Normal" 2014-05-05 17:06:37 +02:00
degasus 0e0da8c8fd ShaderGen: make clipPos readonly 2014-05-05 17:06:37 +02:00
degasus c80717ac2e PixelShaderGen: extract iround 2014-05-05 17:06:37 +02:00
degasus 2bc2b73e03 PixelShaderGen: drop fmod as it isn't used any more 2014-05-05 17:06:37 +02:00
degasus c82991df5b ShaderGen: inline constant shaders 2014-05-05 17:06:37 +02:00
degasus b0878c54b2 ShaderGen: use cbuffers for D3D 2014-05-05 17:06:37 +02:00
degasus fe9fcfdd07 ShaderGen: merge early-z blocks of ogl+d3d 2014-05-05 17:06:37 +02:00
degasus 3e14bf511f ShaderGen/D3D: inline centroid 2014-05-05 17:06:36 +02:00
degasus 25b8edd2a6 ogl: fix signed vs unsigned comparison warning 2014-05-05 17:06:36 +02:00
Ryan Houdek 8bb8446e34 Enables usage of GLSL textureSize on Qualcomm v66.
Qualcomm's v66 drivers have a working textureSize() function now.
Enable usage of it.
2014-05-05 08:50:13 -05:00
magumagu 2e464800bc VideoCommon: correctly compute whether an indirect texture stage is active.
This is consistent with the implementation in PixelShaderGen.
2014-05-04 22:44:10 -07:00
magumagu 52c42a2946 VideoCommon: fix indirect texture coordinate computation in TEV.
Even if an indirect texture stage doesn't actually sample a texture, we
still need to emit the relevant math.

Fixes Issue 7092.
2014-05-04 22:12:57 -07:00
Jordan Woyak 9af18d1b96 Remove SDL from Externals. 2014-05-04 19:41:02 -05:00
Jordan Woyak 4321951987 Disable SDL input on Windows. 2014-05-04 19:09:51 -05:00
Lioncash f4d80bd8a5 Move the #pragma once header guard before the includes in Statistics.h in VideoCommon. 2014-05-04 00:24:21 -04:00
Matthew Parlane 07fbb13bba Merge pull request #290 from Linktothepast/gameini_updates
Gameini updates.
2014-05-04 11:45:14 +12:00
Tillmann Karras 4cce79e744 Jit64: implement tw/twi more accurately
Fixes issue 7253.
2014-05-03 12:30:07 +02:00
Tillmann Karras e22be59f82 Fix LTO with GCC 4.9
For LTO to work, GCC 4.9 requires using the wrappers gcc-ar and gcc-ranlibs:
http://gcc.gnu.org/gcc-4.9/changes.html

CMake doesn't account for this yet:
http://public.kitware.com/pipermail/cmake-developers/2014-January/009344.html
2014-05-03 11:54:31 +02:00
Ryan Houdek a1374dd4ba Merge pull request #329 from Tilka/rounding
Small FPU settings changes
2014-05-02 12:11:09 -05:00
LPFaint99 b549ec70b4 GCMemcard: fix edge case of adding to a fragmented memcard.
allocates last block of memcard, and then wraps around, instead of attempting to write past the end of the card
2014-05-01 12:21:48 -07:00
Tony Wasserka 557c3db462 Merge pull request #81 from degasus/skip_framelimit_hotkey
Add a hotkey for disabling the framelimit.
2014-05-01 12:40:01 +02:00
Tony Wasserka 95f097d79b Revert "Merge pull request #62 from degasus/log_truncate_path" because it was merged without consensus.
This reverts commit 1b581b7c27, reversing
changes made to 951612f08e.
2014-05-01 11:00:21 +02:00