Cameron Cawley
ce9d324a72
SURFACESDL: Fix crash when saving screenshots in paletted screen modes
2023-02-07 23:42:42 +01:00
Le Philousophe
97c8746d2e
BACKENDS: OPENGL: Use a floating point cursor size
...
When scaler shaders are used, cursor size is adapted to scale on the
game screen texture and not on the back buffer so the size is scaled
twice and is imprecise.
Using a float gives more precision without any performance impact as the
OpenGL code already expects floats.
2023-02-05 20:48:51 +01:00
Eugene Sandulenko
e0736936e9
BACKENDS: OPENGL: Use isCLUT8()
2023-02-02 19:33:20 +01:00
Vladimir Serbinenko
a1fdd9df20
MIYOO: Use 640x480 GUI
...
it looks nice and crisp on this handheld
2023-01-29 10:41:10 +01:00
Le Philousophe
0416279980
OPENGL: Fix glitch when shaking screen
...
Everything was converted to unsigned instead of the opposite.
2023-01-24 19:40:48 +01:00
Christophe Branchereau
7fa860166e
OPENDINGUX: use 320x200 videomode for the RG99 instead of 320x240
...
This allows the software upscaler to kick in, which looks
much better than IPU upscaling on the RG99
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
2023-01-23 12:04:25 +01:00
Vladimir Serbinenko
42a5aac407
SURFACESDL: Fix overlay background when using hardware palette
2023-01-20 05:45:37 +03:00
Vladimir Serbinenko
576b2be0cb
SDL: Workaround for broken SDL on Miyoo Mini
2023-01-18 00:51:38 +03:00
Vladimir Serbinenko
a0cb2fb05e
SURFACESDL: Don't pass private flags to SDL_CreateRGBSurface
...
sdl_video.h names all of SDL_RLEACCEL, SDL_SRCCOLORKEY and SDL_SRCALPHA
as private and read-only. Documentation mentions them in
SDL_CreateRGBSurface but also says they are automatically set on
either SDL_SetColorKey or on non-zero Amask.
Previously passing them created no problem but miyoo mini SDL gets confused,
so let's never pass the private flags.
2023-01-18 00:51:38 +03:00
Vladimir Serbinenko
1bc4fe5279
SDL: Move RS90-specific code to opendingux directory
2023-01-17 13:48:50 +03:00
Vladimir Serbinenko
5bdabeed7e
SURFACESDL: Make getDefaultResolution overideable by custom backends
2023-01-17 13:48:50 +03:00
Vladimir Serbinenko
81fdd308cf
SURFACESDL: Extract initing of graphics surface into a separate method.
2023-01-17 13:48:50 +03:00
Vladimir Serbinenko
4a0d9c2665
SDL: Add missing init of _prevCursorNeedsRedraw
2023-01-17 13:48:20 +03:00
Cameron Cawley
40f797fdef
SDL: Support VSync with OpenGL in SDL1 builds
2023-01-16 18:09:53 +01:00
Cameron Cawley
138a983d80
COMMON: Refactor VSync handling to match the other options
2023-01-16 18:09:53 +01:00
Christophe Branchereau
2994ab025d
OPENDINGUX: force 320x240 for the RG99
...
The device has a 320x480 screen and aspect of gui is wrong if we use
the full resolution
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
2023-01-16 10:31:14 +01:00
Vladimir Serbinenko
4e4c652433
SDL: Properly restore gfx mode if several parameters have changed
...
Currently we have bunch of else-if and only one of them triggered. When
e.g. aspect ratio correction and resolution changes only aspect ratio is
covered by restoration. If this fails the code retries the same mode endlessly
2023-01-12 16:39:38 +03:00
Vladimir Serbinenko
74336c5411
SDL: Fix potential buffer overflow
...
This causes a segmentation error on Miyoo Mini but is not specific to it
2023-01-12 14:01:45 +01:00
Le Philousophe
4f626159a1
SDL: Delete mouse scaler to avoid memory leak
2023-01-12 08:44:38 +01:00
Vladimir Serbinenko
30d9976a1c
SDL: Use hardware palette on RS90 and scale 1
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko
70b174bca5
SDL: Disable fullscreen on RS90
...
Fullscreen flag causes an error in SetVideoMode.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko
3f6691dc6d
RS90: Workaround for unusual SDL_PixelFormat
...
SDL_PixelFormat returns 0xff/0xff/0xff as pixel format for paletted HWSURFACE.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko
b91d873df6
SDL: Support auto-detection of GUI resolution.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko
47ab3fe4fc
SDL: Support double-buffering on SDL1.
2023-01-12 10:27:20 +03:00
Vladimir Serbinenko
462be38081
SDL: Support rendering to 8-bit graphics
2023-01-12 10:27:20 +03:00
Cameron Cawley
cf70814cbd
SURFACESDL: Initial support for 32-bit screen output
2023-01-11 12:57:53 +00:00
Eugene Sandulenko
aa14d59447
BACKENDS: OPENGL: Switch shaders to SearchSet
2023-01-08 01:15:51 +01:00
Eugene Sandulenko
ef65534250
BACKENDS: SHADERS: Make possibility to load shaders from SearchMan
2023-01-08 01:15:44 +01:00
Cameron Cawley
7f2d9fd0fd
GRAPHICS: Split conversion.cpp into multiple files
2022-12-22 23:45:14 +01:00
elasota
3496e82abc
BACKENDS: Add 1-pixel border to cursors to ensure linear interpolation of edge pixels doesn't get cut off half-way.
2022-11-29 00:48:00 +01:00
Le Philousophe
77fce6614e
BACKENDS: OPENGL: Disable scissor test when overlay is for games
...
WIthout this, the game cannot draw outside its area for subtitles.
This is exhibited when scaling is set to center.
2022-11-20 17:18:38 +01:00
Le Philousophe
17498383ee
BACKENDS: Fix typo in WindowedGraphicsManager
...
This was the opposite of what was needed.
2022-11-13 09:14:25 +01:00
Le Philousophe
970ea34905
ANDROID: Fix build
2022-11-12 20:49:20 +01:00
Le Philousophe
87bad2cc7d
COMMON: Allow games to use overlay for something else than GUI
...
This can be used for subtitles without changing the mouse coordinates.
2022-11-12 19:12:05 +01:00
Le Philousophe
6fa7a6f30f
BACKENDS: OPENGL: Check if libretro is here before loading shader
2022-11-11 13:24:55 +01:00
Le Philousophe
e5c1a4249a
BACKENDS: OPENGL: When no shader is selected, close
2022-11-06 20:02:59 +01:00
Le Philousophe
52903aff8a
BACKENDS: OPENGL: Close old preset before opening a new one
2022-11-06 20:02:59 +01:00
Le Philousophe
a6dd037079
BACKENDS: OPENGL: Add support for previous frames in LibRetro
2022-11-06 20:02:59 +01:00
Le Philousophe
9d1910854b
BACKENDS: OPENGL: Match vertex coordinates with RetroArch
...
This makes work shaders which ignore them.
A flip is done when rendering to output pipeline because RetroArch
renders directly on the back buffer
2022-11-06 20:02:59 +01:00
Le Philousophe
5484ebffae
BACKENDS: OPENGL: Rework LibRetro pipeline
...
This makes LibRetro behave almost like other pipelines and make the code
in OpenGLGraphicsManager somewhat simpler.
2022-11-06 20:02:59 +01:00
Le Philousophe
f9005454bd
BACKENDS: OPENGL: Allow to copy render settings between framebuffers
2022-11-06 20:02:59 +01:00
Le Philousophe
70cf4e9e3e
BACKENDS: OPENGL: Move framebuffer out of common activate code
...
This allows more control over activation process.
2022-11-06 20:02:59 +01:00
Le Philousophe
6632e909da
BACKENDS: OPENGL: Hide active pipeline and activate it as needed
...
This removes the idea of global pipeline.
The activePipeline is kept for pipeline lifecycle management only.
2022-11-06 20:02:59 +01:00
Le Philousophe
239c115249
BACKENDS: OPENGL: Rename drawTexture override
...
This prevents name hiding when using directly a subclass of Pipeline
2022-11-06 20:02:59 +01:00
Le Philousophe
769fe03a4b
BACKENDS: OPENGL: Use override keyword
2022-11-06 20:02:59 +01:00
Le Philousophe
9b951944bc
BACKENDS: OPENGL: Activate framebuffer with a specific pipeline
2022-11-06 20:02:59 +01:00
Le Philousophe
29c25ed566
BACKENDS: OPENGL: Store projection matrix as a Matrix4
...
This avoids extraneous copies when dealing with Shader class.
2022-11-06 20:02:59 +01:00
Le Philousophe
2d910e353b
BACKENDS: OPENGL: When closing reset _isAnimated to keep performace
2022-11-06 20:02:59 +01:00
Le Philousophe
b329308b7a
BACKENDS: OPENGL: Don't load a preset with no pass
2022-11-06 20:02:59 +01:00
Le Philousophe
479ef6a851
BACKENDS: OPENGL: Simplify size logic
2022-11-06 20:02:59 +01:00