Eric Fry
a716d981aa
GRAPHICS: Changed text to clarify EGA video mode.
2024-12-18 00:09:38 +02:00
Eric Fry
292d66e95f
GRAPHICS: Apply aspect ratio correction to 16 color VGA 640x350 video mode.
2024-12-18 00:09:38 +02:00
Cameron Cawley
20b41fc8d9
GRAPHICS: OPENGL: Separate the GLTexture class from the graphics manager
2024-11-30 18:21:47 +02:00
Le Philousophe
107b60ad06
BACKENDS: OPENGL: Fix segfault when compiled without RGB color
...
The cursor is not impacted by this option, only the game screen.
This fixes bug 15251.
2024-11-09 23:56:16 +01:00
Le Philousophe
7a69ccc4b8
JANITORIAL: Cleanup whitespaces problems
2024-09-29 17:08:13 +02:00
Vladimir Serbinenko
488353480f
SDL, COMMON: Support screen rotation
2024-09-29 02:10:39 +03:00
Cameron Cawley
9970ea6917
BACKENDS: OPENGL: Support aspect ratio correction for Hercules games
2024-07-01 18:40:33 +03:00
Le Philousophe
a04fe8ef2f
OPENGL: Don't always force redraw when ImGui is enabled
...
Only do it when ImGui is enabled by the engine and move the check in SDL
backend where ImGui is supported.
This makes the OpenGL backend independent of ImGui.
2024-04-28 21:48:10 +02:00
scemino
b721f95ffe
BACKENDS: Add imgui in OpenGL backend
2024-04-28 13:59:31 +02:00
Christian Kündig
7bdadaefae
EMSCRIPTEN: GRAPHICS: Fix screenshots
2024-02-27 17:07:13 +01:00
Le Philousophe
6342045cc3
BACKENDS: OPENGL: Don't take the alpha channel from the game texture
...
It's not always set correctly by engines (AGS) and a fill call to clear
the screen will set it to 0 along with the other components.
Setting the framebuffer to some transparent value is not something we
intend to do as this let the content underneath the drawing texture
visible like it's the case on ChromeOS.
This has been reported here: https://forums.scummvm.org/viewtopic.php?p=99293
2024-02-24 16:43:14 +01:00
Le Philousophe
2f34975164
COMMON: Make shaders API use the Path class
2023-12-24 13:19:25 +01:00
Le Philousophe
e689166a2c
BACKENDS: Make screenshots use the Path class
2023-12-24 13:19:25 +01:00
Le Philousophe
34c70f148d
BACKENDS: OPENGL: Don't update screen if there is no pipeline
...
This avoids crashes when updateScreen is called when context has been
destroyed and not yet created again.
2023-12-09 18:11:30 +01:00
Cameron Cawley
bcc9259382
BACKENDS: Report if the backend supports cursors with alpha channels
2023-10-29 02:02:11 +02:00
Cameron Cawley
d8cca29783
BACKENDS: Allow filling part of the screen with OSystem::fillScreen
2023-08-06 23:03:46 +02:00
Le Philousophe
adda0dc063
BACKENDS: OPENGL: Allow the backend to specify the render target
...
For now only backbuffer is used.
2023-07-03 21:50:32 +02:00
Le Philousophe
10714db6f0
BACKENDS: OPENGL: Make setSize a Framebuffer function
2023-07-03 21:50:32 +02:00
Le Philousophe
2d1ca55ffb
BACKENDS: OPENGL: Don't depend on USE_ASPECT
...
USE_ASPECT disables software aspect ratio correction.
In OpenGL it's done by GPU.
2023-06-25 15:14:13 +02:00
antoniou79
68c293a004
GUI: Ommit aspect ratio checkbox if this feature is missing
...
Also fix compilation when building for --disable-aspect (buggy end bracket in backends/graphics/surfacesdl/surfacesdl-graphics.cpp)
2023-06-17 20:21:29 +02:00
Le Philousophe
a95f42317c
BACKENDS: OPENGL: Clear screen using opaque black instead of transparent
...
This looks like an overlook since the creation of the backend.
Previous Android backend used this and it shouldn't harm other
platforms.
This should fix a bug on ChromeOS.
2023-06-04 18:22:59 +02:00
Walter Agazzi
2c1741e5c6
GRAPHICS: Preventively remove alpha channel for screenshots
...
Preserving the alpha channel for screenshots
is not really needed and causes problems in
the AGS engine (and possibily other engines)
2023-04-02 11:38:18 +02:00
elasota
18f947272a
GRAPHICS: Properly handle cursor mask texture in GL context teardown/recreate.
...
Fixes cursor transparency breaking after toggling fullscreen mode on Windows.
2023-03-05 21:13:01 +01:00
D G Turner
edf97f385c
GRAPHICS: Fix Set-But-Unused-Variable GCC Compiler Warning
2023-02-20 00:43:42 +00:00
elasota
3db67a33ac
GRAPHICS: Add support for pixels with masks and inverted pixels
2023-02-19 23:51:09 +01:00
Le Philousophe
4a7d75595d
OPENGLSDL: Make sure pipeline is destroyed when Manager is destroyed
...
When destroying the Manager its context is always destroyed.
Destroying OpenGLGraphicsManager must destroy the pipeline too.
2023-02-12 18:06:21 +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
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
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
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
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
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
1859cf455d
OPENGL: Use texture size of cursor instead of computing it
...
Computation was not correct and resulted in corrupted cursor
2022-10-29 18:08:39 +02:00
Le Philousophe
3f08b71d85
BACKENDS: OPENGL: With animated LibRetro shaders, always update screen
2022-10-22 16:51:08 +02:00
Le Philousophe
86ea6f581c
BACKENDS: OPENGL: Fix cursor scaling with LibRetro
2022-10-22 16:51:08 +02:00
Le Philousophe
396d5fb425
BACKENDS: OPENGL: ALlow the use of software scalers with LibRetro
2022-10-17 22:09:35 +02:00
Le Philousophe
d398034fe5
BACKENDS: OPENGL: Enable filtering when using scaling shaders
2022-10-16 20:42:54 +02:00
Le Philousophe
a4f8491c55
BACKENDS: OPENGL: Try to recover from shader error at startup time
...
Let's just retry without the shader.
2022-10-15 16:45:24 +02:00
Cameron Cawley
ebc79b24bb
OPENGL: Added missing USE_FORCED_GLES check
2022-10-08 23:39:18 +02:00
Cameron Cawley
aa21e7226a
OPENGL: Refactored filtering support
2022-10-08 23:39:18 +02:00
Eugene Sandulenko
da08d87257
OPENGL: Better check if shaders are supported
2022-10-08 23:39:18 +02:00
Eugene Sandulenko
3578052175
GUI: Enable filtering on platforms where shaders are not supported
2022-10-08 23:39:18 +02:00
Eugene Sandulenko
cc0740685f
OPENGL: Disable kFeatureFilteringMode because it conflicts with shaders
2022-10-08 23:39:18 +02:00
Eugene Sandulenko
b67c4c0047
OPENGL: Gracefully restore previous graphics mode on shader failure
2022-10-08 23:39:18 +02:00