Eric Culp
c5c5662330
GRAPHICS,SDL: Change oldSrcScale api
...
More bookkeeping is kept in common scaler code instead of the backend.
Plugins inheriting SourceScaler will have this functionality.
TODO: Some new functions may still be able to be combined to simplify
the API.
2021-03-15 16:48:40 +02:00
Eric Culp
c915efa452
GRAPHICS: Respect alpha and rgba formats in interpolation and conversion
2021-03-15 16:48:40 +02:00
Eric Culp
179705071d
GRAPHICS: Fix Edge3x scaler
2021-03-15 16:48:40 +02:00
Eric Culp
56d078e732
SDL: Fix assignment of variable
...
GCC seemed to allow the previous syntax but clang rejected it.
2021-03-15 16:48:40 +02:00
Eric Culp
86c2307351
GRAPHICS: Add some 32bpp abilty to Edge scalers
...
It is still broken, but it seems to be close.
2021-03-15 16:48:40 +02:00
Eric Culp
8baa92a190
SDL: Fix overlay while using oldSrcScale
...
The _destbuffer was overwriting _hwscreen even when the overlay was
visible.
2021-03-15 16:48:40 +02:00
Eric Culp
6cfba9d567
SDL: Only update if a change was made when using oldSrcScale
2021-03-15 16:48:40 +02:00
Eric Culp
1e724e6640
GRAPHICS: Use new oldSrcScale API for EdgePlugin
2021-03-15 16:48:40 +02:00
Eric Culp
3b408c2d87
SDL: Use an extra buffer for oldSrcScale so it is not confused by AR
...
If the two source images match, the scaler assumes there is not update
and does not draw to the surface. However, AR correction depends on a
redraw, so the scaler always writes to _destbuffer which is then copied
to _hwscreen to be AR corrected.
2021-03-15 16:48:40 +02:00
Eric Culp
e2484a0fba
SDL: Swap and lock the old screen
2021-03-15 16:48:40 +02:00
Eric Culp
cfbc3e91cf
SDL: Use oldSrcScale for scaler plugins that support it
2021-03-15 16:48:40 +02:00
Eric Culp
ffb52288a9
GRAPHICS: Add useOldSrc and oldSrcScale to scaler plugin API
...
This allows plugins and backends to optionally pass the previous frame's
source image so that the scaler can only update the pixels that need to
be updated.
2021-03-15 16:48:40 +02:00
Eric Culp
f40485ee37
GRAPHICS: Move and format comments from edge.cpp to edge.h
2021-03-15 16:48:40 +02:00
Eric Culp
a6e6f7676d
GRAPHICS: Remove unused parameter to findPricipleAxis in Edge plugin
2021-03-15 16:48:40 +02:00
Eric Culp
0dcd6bae37
GRAPHICS: 32bpp-ize chooseGreyscale for Edge plugin
2021-03-15 16:48:40 +02:00
Eric Culp
4552ec6138
GRAPHICS: Add function to convert pixels to 16bpp format
2021-03-15 16:48:40 +02:00
Eric Culp
c84db891bf
GRAPHICS: Remove unused define in edge.cpp.
2021-03-15 16:48:40 +02:00
Eric Culp
c9b63ba7e3
GRAPHICS: Remove more unused code from the Edge plugin.
2021-03-15 16:48:40 +02:00
Eric Culp
917ef83043
GRAPHICS: Add more templating to Edge plugin
2021-03-15 16:48:40 +02:00
Eric Culp
3574823828
GRAPHICS: Remove code from Edge plugin that will never be used.
2021-03-15 16:48:40 +02:00
Eric Culp
664ba9ae5d
GRAPHICS: Change variable name to remove shadowing
2021-03-15 16:48:40 +02:00
Eric Culp
18a099c7d3
GRAPHICS: Remove unused variable in Edge Plugin
2021-03-15 16:48:40 +02:00
Eric Culp
a4741a7268
GRAPHICS: Template Edge plugin over pixel format
...
calcPixelDiffNosqrt is the only function with a valid implementation.
The rest of the templated functions just have skeleton templates (for
now).
2021-03-15 16:48:40 +02:00
Eric Culp
f4e0331f2d
GRAPHICS: Run edge.cpp through astyle to conform to style guidelines
2021-03-15 16:48:40 +02:00
Eric Culp
5688622889
GRAPHICS: Move static variables to class members in Edge Plugin
2021-03-15 16:48:40 +02:00
Eric Culp
9ba4c24ae1
GRAPHICS: Migrate global funcs and vars to Edge Plugin class
2021-03-15 16:48:40 +02:00
Eric Culp
b2dff9413e
GRAPHICS: Rename functions in Edge filter according to guidelines
2021-03-15 16:48:40 +02:00
Eric Culp
fc3ee1989d
GRAPHICS: Change another interpolation function in Edge filter.
...
A 2 to 1 interpolation was causing errors. It is fixed, renamed, and
moved to the common interpolation file.
2021-03-15 16:48:40 +02:00
Eric Culp
457e974c86
GRAPHICS: Use correct copyright notice in edge.cpp
2021-03-15 16:48:40 +02:00
Eric Culp
e77934b73d
GRAPHICS: Change Edge filter to use shared interpolation functions
2021-03-15 16:48:40 +02:00
Eric Culp
592617e2ce
GRAPHICS: Add Edge2x/3x scaler
...
This currently does not conform to coding standards and contains a lot
of dead code (This will be fixed). Thanks to Eric Welsh for the original
patch.
2021-03-15 16:48:40 +02:00
Eric Culp
9ed7fde732
GRAPHICS: Capitalized pixel in template parameters
2021-03-15 16:48:40 +02:00
Eric Culp
267b385890
GRAPHICS: Add 2xPM scaler with 16 and 32 bit support
2021-03-15 16:48:40 +02:00
Eric Culp
d91e970f4e
GRAPHICS: Fix error in dotmatrix scaler initialization
2021-03-15 16:48:40 +02:00
Eric Culp
4a69e136d2
GRAPHICS: Add 32bpp support for TV scaler
2021-03-15 16:48:40 +02:00
Eric Culp
c7e874e2cd
GRAPHICS: Add 32bpp support to dotmatrix scaler
2021-03-15 16:48:40 +02:00
Eric Culp
3d357dc9d1
GRAPHICS: Fix Errors in ifdefs and switches for asm hq scalers
2021-03-15 16:48:40 +02:00
Eric Culp
4432c5a4d1
GRAPHICS: Add 32bpp color support for HQ scalers
...
This implementation uses 16bpp rgb conversion to lookup Yuv values. A
different implementation will need to edit ConvertYUV and InitLUT
accordingly.
2021-03-15 16:48:40 +02:00
Eric Culp
b08da82253
GRAPHICS: Add 32bpp support for the sai family of scalers
2021-03-15 16:48:40 +02:00
Eric Culp
780d5a8689
GRAPHICS: Add 4 byte per pixel support for Normal scalers
2021-03-15 16:48:40 +02:00
Eric Culp
ff6fe4360d
SDL: Change so that the Normal plugin is initialized
...
The plugin is now initially null so that a change is detected.
2021-03-15 16:48:40 +02:00
Eric Culp
c2639a9ff6
GRAPHICS: Fix formatting in template
2021-03-15 16:48:40 +02:00
Eric Culp
301197b73b
GRAPHICS: Remove unused scaler definitions
2021-03-15 16:48:40 +02:00
Eric Culp
3a42496719
GRAPHICS: Remove 1.5x scaler
2021-03-15 16:48:40 +02:00
Eric Culp
a3a9736754
GRAPHICS: Add TV scaler plugin
2021-03-15 16:48:40 +02:00
Eric Culp
7fd8107c76
GRAPHICS: Move Normal scaler functions into same file as plugin
2021-03-15 16:48:40 +02:00
Eric Culp
a15689ae38
SDL: Fix formatting
2021-03-15 16:48:40 +02:00
Eric Culp
894e8fb187
SDL: Add comments to explain scaler state changes
2021-03-15 16:48:40 +02:00
Eric Culp
dc29ae5447
SDL: Remove old scaler init and destroy code
2021-03-15 16:48:40 +02:00
Eric Culp
044d8aea63
SDL: Fix signedness of some types
2021-03-15 16:48:40 +02:00