Commit Graph

8999 Commits

Author SHA1 Message Date
Gregory Hainaut 332ef5892b gsdx: replace hardcoded constant with nice enum 2016-08-11 22:30:34 +02:00
Gregory Hainaut 8b94320524 gsdx ogl: implement another algo to handle alpha test
Fix rendering issue on letters on Kengo/burnout 3/...

Default algo will execute the alpha test in 2 passes. However due to blending
you can't handle accurately the color.

Fortunately for us, the rendering uses an always pass depth test so you
can execute first all the color rendering (which doesn't depends on the alpha test)
And then the depth part which depends on the alpha test.
2016-08-11 21:15:17 +02:00
Gregory Hainaut 866173a481 gsdx ogl: move zbuffer emulation code into a dedicated function
* Code was factorized a bit with the help of max_z
* Add an extra optimization if test is ZTST_GEQUAL and min z value is
the biggest value. Z test will always be pass.
Note: due to float rounding (23 bits mantissa vs 24 bits depth) the test
is done against 0xFF_FFFE and not 0xFF_FFFF. It is wrong but GPU will
also use float so impact will be null.
2016-08-11 21:14:58 +02:00
Gregory Hainaut 1fa9e3fc93 gsdx ogl: align shader self test to atst previous change 2016-08-10 11:30:13 +02:00
Gregory Hainaut 74822d6ba3 gsdx ogl: rework atst handling
* Move the rounding operation in the constant buffer
* Merge less with less equal. And merge greater with greater equal

Need test
2016-08-10 11:30:11 +02:00
Gregory Hainaut 9a188a87c2 gsdx ogl: move ATST emulation in a dedicated function
Future commit will try to reduce the number of Alpha Test possibilities
2016-08-09 20:53:44 +02:00
Gregory Hainaut fb2182dd9b gsdx small nitpick 2016-08-09 15:15:30 +02:00
FlatOutPS2 59a4442880 PCSX2: IPU Normal error end of video freeze fix
Fixes end of video freeze with IPU Normal error in games like Enter The
Matrix, Rygar, Freestyle Metal X, etc.
2016-08-09 14:06:21 +02:00
Gregory Hainaut 0b86aad059 spu2x sdl: increase the number of samples
Avoid alsa error "buffer underrun"
2016-08-09 11:38:25 +02:00
Jonathan Li efb5c85c76 3rdparty:portaudio: Fix module omission in Devel builds
Preprocessor defines were set for Release and Debug modes, but not Devel
builds. Broken since 259a39ef0c.

Fixes #1505.
2016-08-08 23:01:28 +01:00
Jonathan Li 5d6f9a316a cdvdgigaherz: Use null for event/thread handle init
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE. This should have been done in
0477e03965, I didn't check thoroughly
enough.
2016-08-08 22:34:58 +01:00
avih 5a75906ce7 Merge pull request #1492 from ssakash/EE_Cyclerate
PCSX2-WX: Add a mild overclock option on the slider
2016-08-08 19:27:33 +03:00
avih f35c5f1c91 Merge pull request #1491 from ssakash/VFrequency
PCSX2-WX: Add proper vertical frequency values on GS Frame
2016-08-08 18:44:49 +03:00
Gregory Hainaut 0dcce91a6e Merge pull request #1504 from ssakash/RemoveFunction
GSDX: Remove GetDeviceSize()
2016-08-08 16:15:07 +02:00
Akash 0ff7076d84 GUI: Convert text color for -1 value to red
* Only use dark green color for the default cycle rate. using a different color just for a single value (previously for -1) might be confusing for users.

* Use a constant RGB form of dark sea green color instead of the regular dark green color. these new RGB values have been *tuned* for perf...err perfection!
2016-08-08 19:20:51 +05:30
Akash bc54e3d01b R5900: Add a mild overclock option
* Adds a mild overclock option to have the 0 at middle of the slider.
2016-08-08 19:20:44 +05:30
Akash e738acbe3c R5900: Minor clean up (no functional change)
* Rename some variables as the previous names didn't make much sense.

* Convert unnecessary int data types to bool.
2016-08-08 18:45:00 +05:30
Avi Halachmi (:avih) 8e8b8f8ed5 widescreen cheats_ws.zip: 6 removed, 49 changed, 452 new, 2440 total
This syncs the cheats_ws.zip widescreen patches archive with Devina's
archive from 2016-08-07.

The zip file is the zipped content of folder cheats_ws at the archive,
after removing the following 10 known WIP patches: 00000000 1771BFE4
C77AF2CA DA3DD765 07652DD9 FDA1CBF6 CC96CE93 2545CA71 1CE1DA8A CD787D68

Compared to the previous content of cheats_ws.zip:
- 6 files deleted (07652DD9 1CE1DA8A 44D23E5F CC96CE93 CD787D68 FDA1CBF6)
- 49 modified files
- 452 new files (w00t!)
- 1939 files identical to before

The zip now has a total of 2440 patch files, compared to 1994 before.
2016-08-08 08:49:51 +03:00
refractionpcsx2 84f1b08033 VIF: Fix up some scenarios with Reverse VIF FIFO. Fixes #1502
-Also noted a scenario which isn't really handled correctly but unsure what would happen in those cases (if there are any). I guess we'll find out :)
2016-08-07 12:27:28 +01:00
Akash bc24e90070 GSDX: Remove GetDeviceSize()
It's not used anywhere and it doesn't seem needed.
2016-08-07 12:43:03 +05:30
Akash 005f63d455 PCSX2-WX: Improve percentage calculation on GSFrame
Calculate the percentage value using the vertical frequency fetched from counters.
2016-08-05 18:24:03 +05:30
Akash e7f66900fa Counters: Add a new function GetVerticalFrequency()
No functional changes done, the current commit helps us to pass vertical frequency values of individual video modes to GUI code for accurate percentage calculation on titlebar. (which is done on the succeeding commit)
2016-08-05 18:23:55 +05:30
Jonathan Li 0477e03965 cdvdgigaherz: Fix CreateEvent/CreateThread return value checks
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE.

Spotted using Visual Studio Code Analysis Tools (Warning C6387)
2016-08-05 00:30:25 +01:00
Jonathan Li a8286e7458 cdvdgigaherz: Remove unused variables 2016-08-04 23:46:26 +01:00
Jonathan Li af60501fb6 windows: Remove unused solution files and property sheets
The solution files are unused and for ancient Visual Studio versions -
GSDumpGUI has its own solution file, and bin2cpp is included in the main
solution file.

The property sheets have either fallen out of use or were never used in
the first place.
2016-08-04 23:09:08 +01:00
Jonathan Li 869f4d1898 gsdx: Only set ini path in GSdxApp::Init() if it's empty
Fixes a regression introduced by 46ba9aa117,
where the Linux GS replayer would always use the options in inis/GSdx.ini
(or use the default options if that doesn't exist) to replay the dump,
instead of using the GSdx.ini from the specified ini folder.
2016-08-04 00:53:50 +01:00
Gregory Hainaut e9e1b33884 gsdx: log a nice string instead of the hex format of PSM 2016-08-03 18:07:54 +02:00
Gregory Hainaut ac9f2ed284 lilypad: fix the gcc warning take 3
Signed vs non-signed comparison
2016-08-03 18:06:27 +02:00
Gregory Hainaut 41bede60eb gsdx replayer: fix broken init in replayer
"regression" from previous defered init
2016-08-03 11:57:56 +02:00
Gregory Hainaut 27f313ee16 gsdx hw: limit OI_GsMemClear to large clear
Help to reduce the speed impact
2016-08-03 11:23:23 +02:00
Jonathan Li f978f9a07d Merge pull request #1477 from turtleli/gsdx-defer-init
gsdx: Avoid illegal instruction crash on older CPUs
2016-08-02 23:00:19 +01:00
Gregory Hainaut 4eda5fb924 Revert "lilypad: use size_t instead of int for num* variable"
This reverts commit 87d73684fa.

Will do something that work ;)

close #1498
2016-08-02 22:40:03 +02:00
Gregory Hainaut 16affc9ef4 gsdx tc: potentially fix a regression
Update done on f712c5c6d0

Previous code use the size of the draw to compute latest block. I
don't know why I use .x/.y which are the origin offset so the start of the block.
2016-08-02 15:35:28 +02:00
Gregory Hainaut 2844facae5 FPU/sVU: Fix GCC warning
may be used uninitialized in this function

Jump pointer are false positive but it helps to make compiler happy
2016-08-02 15:29:38 +02:00
Gregory Hainaut 87d73684fa lilypad: use size_t instead of int for num* variable
Fix noisy GCC warning:  warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2016-08-02 15:29:38 +02:00
Avi Halachmi (:avih) 4096e72835 gameindex.dbf: updated compatibility (1 new, 23 better, 0 worse)
Updated/synced from the online compatibility list.

- Update summary:
Not at dbf (and added): 1
Not at csv (but have compat info at the dbf): 258
Unchanged: 2560
Better compat: 23
Worse compat: 0

- Status before:
Imported entries: 9706
Compatibility 1: 7 games
Compatibility 2: 31 games
Compatibility 3: 48 games
Compatibility 4: 70 games
Compatibility 5: 2665 games

- Status after:
Imported entries: 9707
Compatibility 1: 7 games
Compatibility 2: 29 games
Compatibility 3: 48 games
Compatibility 4: 71 games
Compatibility 5: 2687 games
2016-08-02 16:22:04 +03:00
Gregory Hainaut f19da94bfd Merge pull request #1476 from PCSX2/onepad-input-state
onepad 1.3: import lilypad state machine into onepad
2016-08-02 15:01:42 +02:00
Jonathan Li 44f90efb93 gsdx:psx: Fix illegal instruction crash on old CPUs
Check the instruction set first in GPUinit, GPUconfigure and GPUtext
to prevent unsupported vector instructions from being executed.

Move the vector initialisation in GPUinit to a separate function - it
avoids a vzeroupper instruction.
2016-08-01 19:38:23 +01:00
Avi Halachmi (:avih) e329b6ffd0 boot: fix: show bios info at the console title
This is a regression from 6db18446 , which, due to correctly applying
the patches when the bios starts, also updated the console title (which
happens at the same function).

So when updating the settings and loading the patches, only update the
console title if we're already outside of the bios.
2016-07-31 20:56:00 +03:00
Avi Halachmi (:avih) 6db1844656 patches: load correctly for the bios on full boot
We already had loading of the patches (and applying patch=0) before the
game elf recompiles, now do the same when the bios starts too.
2016-07-31 20:05:04 +03:00
Avi Halachmi (:avih) 2aac8d875a patches: more consistency with console messages
If the dev/verbose console source is enabled then there's no change.

If it's not enabled (i.e. most users), then:
- Don't show patch info messages twice on boot (regression from 27e7ecce).
- Show patch info messages when loading a saved state (never worked).
- Don't show patch info messages for the bios.

It still doesn't print the info when patches/fixes/etc are enabled or
disabled while a game is running, because such actions while a game is
running can have unexpected effects regardless (for instance, it's
technically impossible to unapply a patch).

If one really wants to follow the exact timing and info about patch
loading, just enable the dev/verbose console source at the console menu.
2016-07-31 19:07:14 +03:00
Gregory Hainaut 92ae8a5be7 gsdx sw: print current draw call of GetSizeFixedTEX0
To easily detect compare with hardware renderer
2016-07-31 13:19:38 +02:00
Gregory Hainaut 1ea83ba3a7 gsdx debug: log current area of the draw
This way it is easier to see which part of the texture is read, and which part
of the framebuffer is updated
2016-07-31 13:19:38 +02:00
Adam Diffin 6376e8d6e7 Just a simple grammar fix. (#1489) 2016-07-31 01:23:35 +01:00
Avi Halachmi (:avih) 5e3c2f0c6a eeCycleRage: negligible fix for the milest underclock calculation
This now makes the mildest underclock really identical to before 90b11b2 .
2016-07-30 18:11:35 +03:00
Avi Halachmi (:avih) 460b7be47a eeCycleRate: add/restore a milder underclock value to the slider
Also slightly modify the textual description of the other underclock items.

All previous values available at the slider are still there, but since
the new value is now the mildest (slider == -1), it "pushes" the previous
-1 and -2 values one notch down.

This restores the mildest value to be identical to how it behaved before
90b11b2f , which is measured as about 75% speed.

Because the "balanced" preset uses the -1 slider value, it means this
restored mild value is now also used by the balanced preset.

As a note, while the message for the mildest value was always "reduce by
about 33%", before 90b11b2f it was actually about 25% reduction (75% speed,
like with this commit now), and after that commit it was about 40% reduction
(60% speed).

Also, since we add new value to the slider only on one side, the "0"
(default) slider position is now not at the exact middle. That's fine,
but maybe we could also add a milder overclock value on the other side
to have that symetric again.
2016-07-30 17:36:34 +03:00
Avi Halachmi (:avih) 67dc3eef4b gui: eeCycleRate: more accurate description based on measurements
The ee cyclerate percentage values at the slider text were inaccurate,
and sometimes wildely so.

Add some code to measure the actual speed at runtime (disabled by default)
and update the (static) slider text values according to the measurements.

Also change the description from increase/reduce "by AA %" to "to BB %".

This makes it slightly easier to grasp. E.g. "reduce speed to 10%" is
easier to grasp than "reduce speed by 90%", and similarly, "increase
speed to 300%" is easier to grasp than "increase speed by 200%".
2016-07-30 16:04:27 +03:00
Gregory Hainaut 140fe74ca2 gsdx ogl: fix bad blending regression
(when accurate blending is disabled)

Regression was introduced in 29c97a9bf2 (11th June)
2016-07-30 09:59:53 +02:00
Avi Halachmi (:avih) e8e6d3bc77 game settings/patches: don't apply acidentally to the bios
While c782b62 added much more reliable game game startup detection, the
settings system did not yet gain that knowledge, but typically that's OK.

Typically the settings (and patches) are loaded according to the current
CRC, which happens once on bios boot (with general settings) and then again
when the game starts, which includes game-specific fixes, patches, etc.

However, if the setting are changed (and therefore also applied) after
the game CRC is known but before the game starts, such as if the user
presses Tab to change framelimiter while at the bios, then until now it
was accidentally applying the game's settings while still at the bios.

This commit makes the settings routine know whether or not the game actually
started, and apply the generic/game settings accordingly.
2016-07-29 20:55:58 +03:00
Pseudonym c782b6222c More robust eeload hooking to monitor and interfere with bios and game loading.
Maybe some other cruft can go now this should be reliable.
2016-07-29 16:51:18 +01:00