Commit Graph

6275 Commits

Author SHA1 Message Date
Gregory Hainaut cde72300a5 gsdx hack: Correct formulae for reversed texture
It fixes issues on Ace Combat UI
2015-04-13 22:14:36 +02:00
Gregory Hainaut 418f2e69a8 gsdx-ogl: implement the wildhack on the GPU
Likely much faster for opengl and much easier to implement

Note: hopefully UserHacks_round_sprite_offset will replace it
2015-04-13 22:14:36 +02:00
Gregory Hainaut 50bac01d89 gsdx hack: disable upscaling hack at native resolution 2015-04-13 22:14:36 +02:00
Gregory Hainaut 815c99b6e4 gsdx-hack: remove an extra offset + duplicate linear computing
Initially code aligned texture on pixel boundary + 1/16th. It seems to work without it.
2015-04-13 22:14:36 +02:00
Gregory Hainaut 399ddbd74a gsdx hack: reduce complexity of alpha* function
It will help the compiler to make a couple of optimizations (and it will help
a futur porting to GSVector)
2015-04-13 22:14:36 +02:00
Gregory Hainaut 1d0deb5ffe gsdx hack: move round sprite offset into a separate function
Use a boolean template to separate the linear case. I'm afraid it will
cost extra computation but 90% of sprites use nearest.
2015-04-13 22:14:36 +02:00
avih 46aecb3748 Merge pull request #503 from karasuhebi/master
Added a comment to PCSX2_keys.ini.default about F11
2015-04-13 22:06:31 +03:00
Karasuhebi 5c263ff84c Removed comment symbol for Sys_FreezeGS = F11 2015-04-13 13:28:44 -04:00
Karasuhebi e397fe105e Added a comment to PCSX2_keys.ini.default about F11
Added a comment to PCSX2_keys.ini.default about FreezeGS being
deprecated as to avoid user confusion when pressing F11 and nothing
happens.
2015-04-13 13:17:27 -04:00
Gregory Hainaut 1aebca3740 gsdx hack: m_userhacks_round_sprite_offset take precedence over m_userhacks_stretch_sprite
m_userhacks_stretch_sprite is only kept for debugging. Let's avoid bad mixing by users
2015-04-12 11:05:23 +02:00
Gregory Hainaut c4fef0256e gsdx hack: Better rounding fix letter in ace combat and line in tekken
Tekken is broken with setting UserHacks_round_sprite_offset = 2 use 1 instead.
=> game use upscaling internaly so my rounding of coordinate break everything

Yakuza uses float coordinate but this hack only correct the integer coordinate
=> the solution will be to add a dedicated hack for this game.

Colin3 got a regression but I don't know when...
2015-04-12 10:31:04 +02:00
Gregory Hainaut 06ee41957e Merge pull request #478 from PCSX2/linux-mtvu-crash-after-shutdown
MTVU: fix linux crash after a shutdown
2015-04-11 13:15:34 +02:00
Gregory Hainaut 781c1df5d0 Merge pull request #486 from PCSX2/c++11-vssappendf
C++11 vssappendf
2015-04-11 13:15:25 +02:00
Gregory Hainaut 7e89247bf4 gsdx hack: don't add extra correct for zero length texture
Otherwise t1-t0 is 16 instead of 0
2015-04-11 10:54:30 +02:00
Gregory Hainaut d2156c86eb gsdx: improve previous hack for bilinear sprite
PS2 uses a -0.5 offset before sampling so texels must be rounded to half-pixel boundary

If fixes glitches on Venus and taisho-mononoke

Note: I didn't fixed yet texture render in reverse because I don't have any test for it.
2015-04-10 09:42:39 +02:00
Gregory Hainaut f5eeb2024e gsdx: anti-glitches v3: Tester wanted
UserHacks_round_sprite_offset = 1 <= enable correction of flat sprites
UserHacks_round_sprite_offset = 2 <= enable correction of all sprites (better on a couple of dump but not sure of the consequence)

I completely redo the algorithm. This time I do the projection and
interpolation of the 2 extrem vertex. This way I can compute the min/max
valid texture coordinate.

It gives stronger guarantee that texture sampling will be done inside the texture.

However it might have a performance impact, likely reasonable because it
is limited to sprite vertex.

A big thanks you to all people that provide me GS dump and test reports.
2015-04-09 19:51:50 +02:00
Gregory Hainaut 05eb1641f2 gsdx: add glsl debug capabilities
Useful to debug bad texture sampling
2015-04-08 10:15:25 +02:00
Gregory Hainaut 98d8ad7484 gsdx: new anti-glitches upscaling hack: UserHacks_round_sprite_offset
It is replacement of the previous hack (UserHacks_stretch_sprite). Don't enable both in the same time!

The idea of the hack is to move the sprite to the pixel boundary. It
avoids most of rounding issue. It also rescales verticaly the sprite (avoid horizontal line on ace combat).
I don't like this rescaling maybe we can limit it to only 1 pixels.

On my limited testcase, results are much better with any upscaling factor.

I still have a bad line in Kingdom heart. If you have issue with others
game please provide us a GS dump.
2015-04-07 19:18:24 +02:00
avih 3077de3637 Merge pull request #496 from 3descx9/master
crc hack for Ponkotsu Roman Daikatsugeki: Bumpy Trot ( Steambot Chronicles JP)
2015-04-07 12:04:25 +03:00
ssakash defb57178f crc hack for Ponkotsu Roman Daikatsugeki: Bumpy Trot ( Steambot Chronicles JP) 2015-04-07 14:14:26 +05:30
avih a5ac81b593 Merge pull request #495 from Sarania/GSdx-new-hacks-tickbox-FIX-ERROR
GSdx: Hacks UI: Add missing BREAK that I left out
2015-04-06 22:44:41 +03:00
Blyss Sarania 506648bd6b GSdx: Hacks UI: Add missing BREAK that I left out 2015-04-06 14:39:51 -05:00
avih 91f0730373 Merge pull request #493 from Sarania/GSdx-new-hacks-tickbox
GSdx: UI for hacks: stretch sprites and align sprites
2015-04-06 21:56:21 +03:00
Blyss Sarania c6fb098703 Add two new tick boxes and associated description
For Gregory's two new awesome hacks

Also make new hacks obey "Enable HW Hacks"
2015-04-06 13:48:59 -05:00
avih d989dea64a Merge pull request #490 from ssakash/patch4
GameIndex.dbf: few compatibility updates
2015-04-06 17:39:57 +03:00
Avi Halachmi (:avih) 9a7d83989b use tabs instead of few spaces at the previous screensaver commit 2015-04-05 20:02:15 +03:00
Avi Halachmi (:avih) 8a5c8ab91c fix: disable screen saver (pcsx2_ui.ini - DisableScreenSaver)
there was already code for this, but it was broken due to:
- the message is WM_SYSCOMMAND and wParam is SC_SCREENSAVE etc.
- GSPanel doesn't get WM_SYSCOMMAND - GSFrame does.
- also disabled screen saver while paused if not set to hide the GS window.
- it's an ugly hack where windows keeps trying to activate the screen saver
  every few seconds but such code prevents it (Lilypad has the same hack).

the new code uses windows API which was designed for this.

the screen saver is now disabled while the window is focused and the emulation
is running. it's on by defauly and without GUI - the same as with normal games.

this patch addresses Windows only, but adds a placeholder for future
implementations for other platforms.
2015-04-05 19:50:31 +03:00
Gregory Hainaut 3c84e6848b gsdx: don't enable previous hack if m_upscale_multiplier <= 1 2015-04-04 01:21:46 +02:00
Gregory Hainaut 183b5d4def gsdx: improve UserHacks_align_sprite_X hack for ace combat
Game uses 1x1 texture sampling. In this condition we don't care
if texture is correctly aligned.
2015-04-03 23:00:54 +02:00
Gregory Hainaut 53ab390e72 gsdx linux: add a nice gui option for previous hack
I also added two nice tooltips :)
2015-04-03 21:25:34 +02:00
Gregory Hainaut fbaa84e691 gsdx: anti-vertical-line hack UserHacks_align_sprite_X
This ack realign sprite to full pixel coordinate

It solves vertical line in ace combat/tekken/colin mac rally
2015-04-03 21:02:25 +02:00
Gregory Hainaut e40a26be19 gsdx: add some helper to debug openGL renderer 2015-04-03 20:28:44 +02:00
Gregory Hainaut 5269e54f02 gsdx: tune previous hack
Only disable bilinear on the sprite that were forced by the user.
If the PS2 requires a bilinear filtering, there is likely a big enough texture
2015-04-03 20:09:02 +02:00
Gregory Hainaut bb728ea186 gsdx linux: filtering label was in wrong oder
The standard mode is 2
2015-04-03 20:07:50 +02:00
Gregory Hainaut d4b7410e3e gsdx linux: add a checkbox to enable easily previous hack 2015-04-03 18:33:05 +02:00
Gregory Hainaut e1a5736583 gsdx: anti-upscale-glitch hack UserHacks_SkipDraw
2x upscaling is pixel perfects. Bigger upscaling is better but not yet perfect

Feedbacks are welcomes (note it doesn't solve all upscaling issue, only wrong texture sampling)

For the history:
If you have a texture of [0;16[ texels and draws a primitive [0;16[

The formulae to sample last pixels of texture is
0.5 + (16*s-1)/(16*s) * 16
Native (s==1): 15.5 (good)
2x     (s==2): 16 (bad, outside of the texture)
4x     (s==4): 16.25 (bad, really outside of the texure))
2015-04-03 18:33:05 +02:00
Gregory Hainaut 22710d9b44 lilyPad: fix the linux crash if ini doesn't exist
All credits go to Arcum42
2015-04-03 18:33:05 +02:00
ssakash 22baaf228a update compatibility changes for games. 2015-04-03 03:26:48 +05:30
ramapcsx2 55ee181092 Merge pull request #489 from Sarania/fix-gamefix-typo
Fix a typo in manual gamefixes
2015-04-02 20:27:40 +02:00
Blyss Sarania 2ac30e7bde Fix a typo in manual gamefixes
Change "a FMV" to "an FMV"
2015-04-01 15:51:29 -05:00
Avi Halachmi (:avih) 45e2fd9204 crc hack for Raw Danger! (Zettai Zetsumei Toshi 2 US)
thanks to ssakash for the patch
2015-03-29 15:41:06 +03:00
Gregory Hainaut fd71fc4fc9 common: drop useless printf function + reimplement vssappend with C++11
Performance is not important here. I'm not sure Windows could handle VLA
* new/delete can still be used otherwise.
* Put an assert(0) because debugger surely don't use string bigger than
  128 bytes.

code is much more compact 20 lines vs 700 lines ...
2015-03-23 23:14:54 +01:00
Gregory Hainaut b2efa85a3f pcsx2: debugger: use standard sprintf function
ssprintf is nice but it doesn't worth it
2015-03-23 23:08:55 +01:00
Gregory Hainaut 45930ecbf3 gsdx: value was wrongly overwritten
Need a lots of tests to ensure at least no regression on cache behavior

Issue #332
2015-03-17 09:39:50 +01:00
Gregory Hainaut b20deb0752 MTVU: fix linux crash after a shutdown
* Lock during the reset
* Purge the ring before memory unallocation

Close issue #474
2015-03-17 09:33:20 +01:00
ramapcsx2 5ed3f5f1a4 -Fix title from 1.0.0 to 1.2.0
-Replaced googlecode link with Github
-Updated hotkeys section with more hotkeys (taken from our wiki, thanks
people!)

Thanks to karasuhebi from our forum for bringing this to my attention!
2015-03-03 09:54:39 +01:00
Gregory Hainaut 3b5367c5b7 Merge pull request #452 from turtleli/fix-linux-build-avx2-with-tsx-disabled
GSdx: Linux: Fix build failure on AVX2 processor with disabled TSX, enable SSE4.2, SSE4.1, SSSE3 builds
2015-03-01 17:53:21 +01:00
Jonathan Li 1222bcbf6e GSdx: Comment out TransactionScope code
The TransactionScope class is compiled but never used. Comment it out
for now.
2015-03-01 16:40:48 +00:00
Gregory Hainaut c1604c4b38 gsdx🧵 only keep std::mutex/std::condition_variable
Keep pthread for thread until std::thread is really working
2015-03-01 17:29:40 +01:00
3kinox 7f1e907616 + Correct faulty behaviour of std thread by using native posix handle.
+ This is not yet perfect. Really, this standard seems like a load of crap to me in fact...
At least it works now. Should test again when gcc 5 & new c++ libs gets out.. Until then, it will do.
2015-03-01 17:29:39 +01:00