Removes some pixellation from certain MDEC sequences which feature stark
red or blue detail (RE1 for example).
This filtering is done in one pass, so it's rather heavy, but the
resolution is low enough it shouldn't matter.
Looks a bit more coherent with mixed 2D and 3D in cases where adaptive
smoothing fails.
Also allows CRT-style shaders to work better as they expect 240p input
usually.
Also fixes a small regression in which shaders are built for
downsampling and cleans up some ugly code w.r.t filters.
* make texture filter a runtime setting
* only init texture pipelines if the primitive is actually textured
* don't init_pipelines constantly, only when necessary
* these are declared elsewhere so no need to do it here, too
* cleanups courtesy of r5
* flip logic to be more intuitive
* switch back to temporary var
* Savestate Performance Fix - no longer does giant memory allocations and copies
* Loadstate Performance Fix - no longer does N^2 string comparisons
* Fast Savestates (excludes text labels from the savestates, 20% speedup)
* Minor Savestate Performance Fix, no longer uses snprintf when strncpy will do. Only applies to the text labels, no effect on fast savestates.
It's still not very accurate (it's not really an overclock and it also
removes instruction cache/memory access latencies) but it's probably
easier to understand that way and it won't clash with true CPU
overclock.
should probably fix this issue, assuming that he is using single-disc game.
https://github.com/libretro/beetle-psx-libretro/issues/297
When a game is only using 1 disk to play, loading state will deduct -1 from CD_SelectedDisc which will make this < 0 causing emulation to stop during disk access.
This PR will check how many discs are there (PBP_DiscCount) and only deducts CD_SelectedDisc when its greater than 0.
The line was duplicated/long. Combined with the two ternary operators
in the same call makes it hard to read. This minor patch should ease
maintainability.