966 Commits

Author SHA1 Message Date
Eugene Sandulenko
c06d47e397 COMMON: Added kFeatureHiDPI and return it from the backend 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
bb15133a0a BACKENDS: OPENGLSDL: Fix switching to full screen with Alt+Enter 2021-04-11 21:21:44 +02:00
Eugene Sandulenko
5e395d166a BACKENDS: HiDPI support in OpenGL backend 2021-04-11 21:21:44 +02:00
Thierry Crozat
b6186ccdd6 OPENGL: Fix hidden overladed virtual saveScreenshot() warning
This noisy warning at least occur when building for Android
(OpenGL, but not SDL).
2021-04-07 00:09:50 +01:00
Thierry Crozat
7408dee5df Revert "GRAPHICS: Tentative fix saveScreenshot() warning for OpenGL"
This reverts commit 0f118d0210d1dc1d4e4174fd72179de82b263ed8.
2021-04-07 00:09:50 +01:00
Cameron Cawley
cf511755b0 SDL: Improve graphics mode checks 2021-04-05 20:31:05 +01:00
antoniou79
0f118d0210 GRAPHICS: Tentative fix saveScreenshot() warning for OpenGL
Building for Android (OpenGL) had noisy warning for hiding overloaded virtual function

Added a dummy implementation in OpenGLGraphics manager, and also for OpenGLSdlGraphicsManager it now explicitly calls the SdlGraphicsManager implementation for the void argument signature.
2021-04-03 14:03:36 +03:00
Thierry Crozat
bcab931115 SDL: Fix crash when switching from OpenGL to another graphics mode
The crash was introduced in commit 12878afc0 and this reverts part
of the changes in that commit.
2021-03-26 00:00:48 +02:00
Le Philousophe
bdf012d016 GPH: Don't call DownscaleSdlGraphicsManager anymore
They are gone.
2021-03-16 16:01:38 +02:00
Cameron Cawley
8aa3e53132 SDL: Replace the use of the normal scaler for the cursor 2021-03-15 16:48:40 +02:00
Cameron Cawley
b596ebf8b8 GRAPHICS: Remove use of gBitFormat from the aspect ratio code 2021-03-15 16:48:40 +02:00
Cameron Cawley
40ee8ae527 SDL: Fix filtering with SDL 1.2 2021-03-15 16:48:40 +02:00
Cameron Cawley
f6c8207684 SDL: Minor cleanup to the aspect ratio code 2021-03-15 16:48:40 +02:00
Cameron Cawley
035f5798c4 SDL: Remove the old graphics mode enum 2021-03-15 16:48:40 +02:00
Cameron Cawley
621c4c2e9e SDL: Fix implementation of getGraphicsModeScale 2021-03-15 16:48:40 +02:00
Cameron Cawley
21c1f0d007 SDL: Restore keyboard shortcuts for switching scalers 2021-03-15 16:48:40 +02:00
Cameron Cawley
4df5e9ed51 SDL: Fix crash with small cursors when using AdvMame4x 2021-03-15 16:48:40 +02:00
Cameron Cawley
99acdb00f9 SDL: Fix crash when switching from OpenGL to Edge3x 2021-03-15 16:48:40 +02:00
Cameron Cawley
e50e010a9e SDL: Fix compilation when building without RGB colour support 2021-03-15 16:48:40 +02:00
Cameron Cawley
12878afc06 SDL: Fix building without scalers 2021-03-15 16:48:40 +02:00
Johannes Schickel
5dc207a386 SDL: Properly handle extra pixels for scalers in showOverlay. 2021-03-15 16:48:40 +02:00
Johannes Schickel
8825c9e3b4 GRAPHICS: Keep destination buffer in SourceScaler instead of SDL backend. 2021-03-15 16:48:40 +02:00
Johannes Schickel
23bee4de30 SDL: Properly look up the normal scaler plugin. 2021-03-15 16:48:40 +02:00
Johannes Schickel
e8d0182cd5 SDL: Take advantage that each ScalerPluginObject can use a scale factor of 1. 2021-03-15 16:48:40 +02:00
Johannes Schickel
b225858e41 GRAPHICS: Let ScalerPluginObject::setFactor return the old factor.
This simplifies things a bit.
2021-03-15 16:48:40 +02:00
Johannes Schickel
ee438bebc2 SDL: Disable more AR related code when USE_ASPECT is not defined. 2021-03-15 16:48:40 +02:00
Cameron Cawley
b78323897d SDL: Fix compilation 2021-03-15 16:48:40 +02:00
Martin T. H. Sandsmark
ab000b6ae3 fix cursor 2021-03-15 16:48:40 +02:00
Martin T. H. Sandsmark
fcff230fe8 fix build 2021-03-15 16:48:40 +02:00
Martin T. H. Sandsmark
f4f9957f85 scalerplugin: port to new plugin api 2021-03-15 16:48:40 +02:00
Eric Culp
39608f391c SDL,GRAPHICS: Add option for AR correction without scalers 2021-03-15 16:48:40 +02:00
Eric Culp
b80c7908fa SDL: Update comments for scaling mouse cursor 2021-03-15 16:48:40 +02:00
Eric Culp
d8240fa734 SDL: Initialize plugins when formats change. 2021-03-15 16:48:40 +02:00
Eric Culp
c7121fae65 SDL: Fix formatting for pointers. 2021-03-15 16:48:40 +02:00
Eric Culp
e35a7c72c0 SDL: Cache default graphics mode upon initialization. 2021-03-15 16:48:40 +02:00
Eric Culp
88363d5d36 SDL: Fix error when USE_SCALERS is undefined 2021-03-15 16:48:40 +02:00
Eric Culp
f9569ea2ff SDL: Fix formatting 2021-03-15 16:48:40 +02:00
Eric Culp
ee008a44b1 SDL: Formatting fix 2021-03-15 16:48:40 +02:00
Eric Culp
cbf9072e45 SDL: Fix leaks related to graphics modes
supportedGraphicsModes() now returns to OSystem_SDL a pointer to a deep copy of
surfacesdl's internal graphics mode array. Therefore each can free its
own copy without interfering with the other's.
2021-03-15 16:48:40 +02:00
Eric Culp
ab8dd417a9 SDL: Use enableSource() when scaling to the overlay
This fixes an issue where the screen would have little or no changes
and nothing would be drawn to the overlay.
2021-03-15 16:48:40 +02:00
Eric Culp
853d545284 SDL: Make sure normal scaler plugin is initialized
If a game and graphics mode were chosen from the command line, the normal
plugin might not have been loaded and it would crash upon being used to
scale the cursor. Now the normal plugin is initialized with the first
plugin to be initialized.
2021-03-15 16:48:40 +02:00
Eric Culp
a41cd52bbf SDL: Use a simple blit function instead of normal scaler plugin
For places where a blit is needed and no scaling is required, this
function is used instead.
2021-03-15 16:48:40 +02:00
Eric Culp
4c967c5fbc GRAPHICS,SDL: Revision to scaler API
oldSrcScale() is now unified with scale(). Use enableSource(bool enable)
to switch functionality. Partial screen updates are also posible because
of this.

initialize() had its prototype changes although it is functionally the
same.

setSource() no longer has a type parameter, removing support for
multiple source surfaces. They weren't useful anyway.

useOldSrc() was renamed to useOldSource() to conform to the names of
other functions.
2021-03-15 16:48:40 +02:00
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
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
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
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