Commit Graph

12330 Commits

Author SHA1 Message Date
Matthew Parlane 1ab8cedfce Merge pull request #280 from magumagu/d3d-texture-encoder-rounding
D3D11 backend: fix rounding in texture encoder.
2014-04-16 19:49:15 +12:00
magumagu 648b9865d8 D3D11 backend: fix rounding in texture encoder.
We need to explicitly round when converting colors from float to uint
because multiplying a normalized float by 255 might not result in a whole
number.  (The exact result here may vary depending on your
drivers/hardware.)

Ideally, we shouldn't be using floating point here, but fixing that is a
much more complicated patch.

Fixes gxtest TEV tests using Intel HD 4000.
2014-04-15 23:36:05 -07:00
Tony Wasserka 9203862a9e Merge pull request #277 from magumagu/videocommon-fix-tev
VideoCommon: fix rounding in TEV.
2014-04-16 07:22:25 +02:00
magumagu b3a67821e4 VideoCommon: fix rounding in TEV.
The hardware backends pass the TEV tests in gxtest with this change.
2014-04-15 16:47:01 -07:00
Matthew Parlane 1f0da63cbe Merge pull request #276 from neobrain/master
PixelShaderGen: Color combiner compare mode fix and simplification
2014-04-16 09:56:29 +12:00
Tony Wasserka 068f26d2aa PixelShaderGen: Fix an issue with color combiner compare mode and simplify the affected line a bit.
This was a mistake of mine when translating floating point values to integer values.
Also, the max() part of that line was just completely redundant because the sign of an absolute value is always greater than or equal to zero.

Fixes issue 7178.
2014-04-15 23:41:07 +02:00
Tony Wasserka 3c83d1150e Merge pull request #275 from magumagu/swbackend-fix-tev
Software backend: TEV combiner compare mode fixes
2014-04-15 23:39:11 +02:00
magumagu 685d612c8c Software backend: don't skip red component in TEV. 2014-04-15 14:05:12 -07:00
magumagu 5e1c6aba33 Software backend: make TEV rounding match hardware.
Formulas stolen from gxtest.  (Not sure how "==" got turned into "!=", but
I'm pretty confident the patched version is correct.)
2014-04-15 14:04:46 -07:00
Pierre Bourdon 12d7ffac13 Merge pull request #274 from Sonicadvance1/Fix-MD5Overflow
Fix the integer overflow that happens in the MD5Sum Progressbar.
2014-04-15 11:00:13 +02:00
Ryan Houdek 47f76b8907 Fix the integer overflow that happens in the MD5Sum Progressbar.
Instead of using a u64 size integer as the range on the progressbar, set the max as 1000.
Similar maximums are used in other parts of the UI.
2014-04-14 20:40:43 -05:00
Pierre Bourdon c549e2fca1 Merge pull request #265 from Sonicadvance1/GenerateMD5Sum
Add the ability to generate a file's MD5sum.
2014-04-15 01:19:53 +02:00
Ryan Houdek a30a528dd1 Add the ability to generate a files MD5sum.
This adds the ability to generate a files MD5sum in the ISO properties.
This uses polarssl to generate the MD5Sum.
2014-04-14 16:35:11 -05:00
Pierre Bourdon cf315a487f Merge pull request #271 from delroth/threading-stuff
Threading improvements: add Common::Flag and improve Common::Event
2014-04-14 23:23:16 +02:00
Pierre Bourdon 7074feacbe Common::Event: Add a faster Windows specific implementation based on the concurrency runtime. 2014-04-14 23:13:15 +02:00
Pierre Bourdon 48bd904028 Common::Event: Implement in terms of Common::Flag to get rid of a volatile and optimize with early returns and atomic swaps 2014-04-14 23:13:15 +02:00
Pierre Bourdon e24cad0780 Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks. 2014-04-14 23:13:15 +02:00
Pierre Bourdon fc71494742 Merge pull request #270 from neobrain/bitfield_fixes
Bitfield fixes
2014-04-14 20:24:01 +02:00
Tony Wasserka 774a394808 UnitTests: Add a test for BitField behavior on odd structure alignment. 2014-04-14 20:13:23 +02:00
Tony Wasserka ccc04944b2 BitField: Fix alignment issues.
At least one platform (ARM with NEON instructions enabled) generates SIGBUSes if BitField objects aren't aligned properly.
2014-04-14 20:04:44 +02:00
Pierre Bourdon 6bdcbad3e4 Common: Move the Event class to a separate file, and add tests for it. Fix includes everywhere to match this. 2014-04-14 10:54:07 +02:00
Pierre Bourdon f9fb39d383 Common: Add a 'Flag' class that is used to encapsulate a boolean flag manipulated from several threads 2014-04-14 10:54:07 +02:00
Pierre Bourdon c614a707ab Merge pull request #92 from Tilka/tab_crash
Fix crash when pressing Tab
2014-04-14 10:46:07 +02:00
Tillmann Karras 296637d6f2 Fix crash when pressing Tab
When pressing Tab for a long time, Dolphin will sooner or later crash
because the result of FindFocus() has become NULL (toctou).
2014-04-14 10:27:41 +02:00
Tony Wasserka 4f3227b4a9 Merge pull request #261 from magumagu/pixelshadergen-extra-paren
PixelShaderGen: delete extra parenthesis
2014-04-14 09:48:02 +02:00
magumagu a2150ef1f8 PixelShaderGen: delete extra parenthesis.
Without this patch, we can generate a pixel shader which doesn't compile
in some cases.
2014-04-14 00:41:27 -07:00
Matthew Parlane 4e0b7260b6 Merge pull request #263 from Sonicadvance1/DetermineMaliVersion
Add Mali driver version check and support of checking for Mali-T7xx
2014-04-14 19:20:04 +12:00
Ryan Houdek 60202cff15 Merge pull request #258 from Sonicadvance1/More-Fastmem
[ARM] Implements more fastmem instructions in lXX.
2014-04-14 00:42:44 -05:00
Ryan Houdek 3f73fc37fc [ARM] Implements more fastmem instructions in lXX.
There are a few instructions in lXX that aren't currently fastmem capable due to using a register offset.
This implements fastmem for those few instructions.
Really I'll be changing how ARMv7 fastmem works in the future so this is really temporary code.
Just don't know how long it'll stay.
This relies on PR #257
2014-04-14 00:38:46 -05:00
Ryan Houdek a07f8fb65b Merge pull request #257 from Sonicadvance1/LoadStore-Fix
[ARM] Minor cleanup to lXX and stX. Fixes a bug.
2014-04-14 00:38:13 -05:00
Ryan Houdek 3910437447 Merge pull request #272 from magumagu/jitil-fix-srawi
JitIL: fix carry computation for srawi.
2014-04-14 00:38:06 -05:00
magumagu 1a4156a4a0 JitIL: fix carry computation for srawi.
The carry computation needs to be based on the input value, not the output
of the shift.
2014-04-13 20:31:32 -07:00
Pierre Bourdon f034983b62 Merge pull request #262 from SlEePlEs5/master
Added BBA TAP backend for OS X.
2014-04-14 02:15:10 +02:00
Tony Wasserka 12841928df BitField: Optimize generated assembly by forcing inlining. 2014-04-13 13:27:01 +02:00
Pierre Bourdon 1b9addd594 Merge pull request #268 from magumagu/opengl-delete-useless-header
OpenGL backend: remove useless header Globals.h.
2014-04-13 10:25:35 +02:00
magumagu 812ff4686b OpenGL backend: remove useless header Globals.h.
The header has no content, so it can can just be deleted.
2014-04-12 19:25:37 -07:00
Tony Wasserka a516267722 Merge pull request #135 from degasus/videosw_debugutil
VideoSoftware: Remove const memory usage of DebugUtil
2014-04-12 13:58:46 +02:00
degasus 96ffbe345d VideoSoftware: remove const memory usage of DebugUtil 2014-04-12 13:32:53 +02:00
Tony Wasserka 4b60bdd2d0 Merge pull request #264 from magumagu/opengl-clear-adapters
OpenGL: Clear backend_info.Adapters on initialization
2014-04-12 10:48:10 +02:00
SlEePlEs5 891fb056a3 Added BBA TAP backend for OS X.
TUN/TAP OS X needs to be installed, and /dev/tap0 chown’d to the user.
The tap0 network interface doesn’t appear until /dev/tap0 is opened by
the program, so all bridging must be done once the game is already
running.

Unfortunately, bridging seems to be broken on OS X, so this does not
actually work over LAN (yet!).
2014-04-12 09:51:34 +02:00
magumagu f18a3cc650 OpenGL config: clear backend_info.Adapters on init
Fixes a minor UI glitch where if you switch from Direct3D to OpenGL, the
OpenGL config page would appear to have an adapter choice available.
2014-04-12 00:17:36 -07:00
Ryan Houdek a9fa49f34d Support checking for the Mali-T7xx line of GPUs.
They are similar enough that they will share bugs with their drivers, so make them fall under the same Mali-Txxx umbrella of bug issues.
If there is ever a need in the future for having separate bugs depending on family, we can support that then.
2014-04-11 23:46:44 -05:00
Ryan Houdek ed67cc3fb2 Add the ability to determine the Mali driver version.
This is the only way we can determine the video driver version with mali.
Really it's a good thing that they only push driver updates once every two years, makes it easy to determine what driver anybody is running.
2014-04-11 23:38:40 -05:00
Tony Wasserka b106dbc96e Merge pull request #235 from magumagu/videobackend-unused-config
VideoBackend: Remove unused config variables.
2014-04-12 00:06:02 +02:00
magumagu fd9c1fa746 VideoBackend: remove unused config vars.
No point to keeping around variables which are always "true".
2014-04-11 14:53:12 -07:00
Pierre Bourdon a823edcc5b Merge pull request #173 from delroth/movbe
Optimize memory access on Haswell by using MOVBE when possible.
2014-04-11 23:44:46 +02:00
Pierre Bourdon 745fe14269 Jit64: Use LoadAndSwap/SwapAndStore where it makes sense. 2014-04-11 23:33:21 +02:00
Pierre Bourdon 6cb42859d4 JitAsmCommon: Use MOVBE everywhere it matters (!x86 only code, !old CPU support code). 2014-04-11 23:33:21 +02:00
Pierre Bourdon fcbe265adc Jit_Util: Provide two util functions to load/store and swap values, using MOVBE internally when possible. 2014-04-11 23:33:21 +02:00
Pierre Bourdon b2597739ff x64Emitter: Add the MOVBE instruction. 2014-04-11 23:33:21 +02:00