Commit Graph
28 Commits
Author SHA1 Message Date
Pierre Bourdon beb4204bbb Include libavutil/mathematics.h explictly in AVIDump.cpp. Fixes issue #5266. 2012-05-02 07:29:15 +02:00
Pierre Bourdon 5e2d692cec Lock the DSP thread on its own core when using "Lock threads to cores" and "LLE on Thread". Greatly improves DSPLLE performance on Linux with >= 3 cores CPUs. 2012-05-02 07:19:14 +02:00
Pierre Bourdon c08510baa8 wxWindow::FindFocus() sometimes return NULL, check for that to avoid segfaulting 2012-04-15 02:24:41 +02:00
Pierre Bourdon 0f2d31e727 Merge branch 'zcomploc-support'
zcomploc is a feature of the GC/Wii GPU used to perform some depth operations.
It was previously not implemented in Dolphin. This commit adds support for it.

List of games fixed by this commit:

* 007: Everything or Nothing (Skybox in front of the map/models)
* Baten Kaitos (characters displayed in front of background objects)
* Tony Hawk's Pro Skater 3 (invisible skater)
* Ty the Tasmanian Tiger (floating floor)
* Super Smash Bros Brawl ("Link chasing pig" animation behind the score screen)

Fixes issue 4841.
2012-03-24 20:49:39 +01:00
Pierre Bourdon c662b8ee2f Bump the shader cache version 2012-03-24 20:46:40 +01:00
Pierre Bourdon b5ba2eb030 Merge branch 'master' into zcomploc-support 2012-03-24 18:41:51 +01:00
Pierre Bourdon 5242f09104 Fix Linux build: search for gthread-2.0 and pangocairo, then add both these libs to wx dependencies 2012-03-23 01:06:45 +01:00
Pierre Bourdon 339ee98e62 Add a comment before the zcomploc test explaining the implementation/hack 2012-03-22 22:10:23 +01:00
Pierre Bourdon 0ffc12bbfd Merge branch 'master' into zcomploc-support
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2012-03-22 15:21:52 +01:00
Pierre Bourdon 70b6c4280f Compile with /fp:precise instead of /fp:fast in release mode on Windows
/fp:fast was introducing FP precision problems, and mixing it with some
/fp:precise code caused strange game behaviors, DSI exceptions and freezes.

This commit should fix most of the issues introduced by 3.0-73 (r95517a97).

Thanks to [email protected] for tracking a lot of these Win32 bugs.

Fixes issue 4906.
Fixes issue 5138.
Probably fixes (not tested) issue 5067.
2012-03-21 22:43:44 +01:00
Pierre Bourdon b69a1d225a Use -std=gnu++0x instead of -std=c++0x
Bluez uses the non standard "typeof" instead of "__typeof__" in bluetooth.h.
Both GCC and Clang reject that with std=c++0x but accept it with gnu++0x.
2012-03-08 10:01:40 +01:00
Pierre Bourdon 63176ba38d Revert "Updated English translation, fixes issue 5214."
This reverts commit cbab832907.

As glennricster said in the comments, the modification should not be done in
that way.
2012-03-08 10:00:40 +01:00
Pierre Bourdon 008fd446f5 Replace some printfs from the PPC Interpreter code by Dolphin logger calls 2012-01-02 00:59:37 +01:00
Pierre Bourdon 59e93bff78 Fix a crash at startup with Dolphin on Linux compiled in debug mode
Use the clobber list instead of the stack to save rbx when executing the cpuid
instruction with inline assembly. This avoids breaking GCC assumptions about
the stack pointer location.
2012-01-02 00:59:37 +01:00
Pierre Bourdon af8a866afc Implement what was done by r9a627e89 using a stub device
This is arguably better then using the slot0 device for slot1, because it maps
the real hardware better (nothing can be mounted on slot1 on a Wii AFAICT).
This also makes Kirby: Return to Dreamland work properly and fixes some of the
SD card problems (libs do not expect to have the same SD card mounted two times
in RW...).
2011-12-25 01:55:25 +01:00
Pierre Bourdon 070c933088 Revert "Add unimplemented device map for sdio/slot1 and slot2. Fixes #4932."
This reverts commit 9a627e89fb.

The attempted Kirby: Return to Dreamland fix does not work properly and while
it fixes this particular game, it completely breaks SD card support on Dolphin.
BTW, I've never head of /dev/sdio/slot2 before...
2011-12-25 00:03:45 +01:00
Pierre Bourdon b20c26f0b7 Adding more drama to the git history. 2011-12-18 13:58:44 +01:00
Pierre Bourdon 252093295b Do not fail with strict drivers when compiling a not SM2.0 shader
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.

This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
2011-12-03 23:24:10 +01:00
Pierre Bourdon 7f055d6b56 UI: refactor the game list sorting code 2011-11-02 02:45:51 +01:00
Pierre Bourdon d9b3a69f47 Formatting fixes for el.po and pt_BR.po
On Linux with recent versions of gettext these formatting fixes are done
automatically by gettext when updating the PO files. They create conflicts each
time a rebase / merge is done and need to be reset manually.
2011-11-01 23:20:09 +01:00
Pierre Bourdon 8f31968466 Revert "Merge branch 'zcomploc-support'"
This reverts commit 9dad9ebe89, reversing
changes made to e76bc71efe.
2011-11-01 01:37:54 +01:00
Pierre Bourdon 1e558aedeb Added an EFB peek cache to the GL video plugin
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.

Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
2011-10-17 18:30:13 +02:00
Pierre Bourdon 59072adc32 Align stack variables on a 16-bytes boundary in SSSE3 functions
Fixes issue 4450. Thanks to pholklore1 for his patch.
2011-10-08 17:36:01 +02:00
Pierre Bourdon 9dad9ebe89 Merge branch 'zcomploc-support'
zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.

The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.

According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3

And probably other games too.

Conflicts (because of new-shadercache-uids):
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
2011-10-04 07:56:13 +02:00
Pierre Bourdon 266cafb82d Add a call to VertexManager::Flush() when changing TC gen settings
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:

Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
2011-10-01 02:36:03 +02:00
Pierre Bourdon d3ecf98213 Include the zcomploc bit in the shader UID
Fixes issues with switching zcomploc on/off during execution.
2011-09-04 05:38:32 +02:00
Pierre Bourdon 0bdf8646f0 Proof of concept zcomploc implementation
Fixes a few depth related graphics bugs. Example in Baten Kaitos (GKBEAF):

Before: http://i.imgur.com/EDdVA.png
After: http://i.imgur.com/h6GuY.png

Still a few bugs in this implementation: zcomploc switching is not yet
implemented, and the color is wrong with this test: http://codepad.org/7GpxklOi
(red on Dolphin, gray on Wii).
2011-09-04 05:08:09 +02:00
Pierre Bourdon d710eda0c5 Clean up a bit the shader code generation for alpha test fails 2011-09-04 04:44:50 +02:00