Commit graph

60 commits

Author SHA1 Message Date
elasota
2841b9931d GRAPHICS: Fix Normal and AdvMame scalers not applying cursor mask to additive texture 2023-03-05 21:13:01 +01:00
elasota
3db67a33ac GRAPHICS: Add support for pixels with masks and inverted pixels 2023-02-19 23:51:09 +01:00
Le Philousophe
c6c73ea0ea OPENGL: Properly take extra pixels into account when using scalers
As in SurfaceSDL, the dirty rect must be grown.
2023-02-13 21:08:53 +01:00
Eugene Sandulenko
e0736936e9
BACKENDS: OPENGL: Use isCLUT8() 2023-02-02 19:33:20 +01:00
Cameron Cawley
7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +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
96fd0b8418 BACKENDS: OPENGL: Fix missing default case 2022-11-06 20:02:59 +01:00
Le Philousophe
73f48341c0 BACKENDS: OPENGL: Allow to set texture wrapping mode 2022-10-16 19:43:05 +02:00
Le Philousophe
3a7f2aa1ee BACKENDS: OPENGL: Allow callers to check for texture setSize result 2022-10-09 17:25:35 +02:00
Johannes Schickel
9f3249286f BACKENDS: OPENGL: Initial WIP import for shader support 2022-10-08 23:39:18 +02:00
Cameron Cawley
863988fee4 OPENGL: Add proper error checking to the Shader class 2022-06-29 22:37:38 +01:00
Le Philousophe
98c306376f OPENGL: Merge both OpenGL shaders objects 2022-06-26 18:32:10 +02:00
Le Philousophe
4ab044a254 OPENGL: Merge both OpenGL contexts 2022-06-26 18:32:10 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Cameron Cawley
c0ea8e26c7 OPENGL: Fix crash when scaling small areas 2021-11-23 23:18:12 +00:00
Cameron Cawley
a21961516a GRAPHICS: Split ScalerPluginObject into two classes 2021-11-23 23:32:58 +01:00
Cameron Cawley
fe5b87d0f1 OPENGL: Implement scaler support 2021-11-20 01:06:23 +01:00
Cameron Cawley
30c093bbd9 OPENGL: Combine TextureCLUT8 and FakeTexture 2021-11-20 01:06:23 +01:00
Orgad Shaneh
44219dfa1a BACKENDS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Paul Gilbert
baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Cameron Cawley
b1ccd91ba6 OPENGL: Fix compilation on Android 2021-06-17 00:52:46 +01:00
Cameron Cawley
66c0c57d10 BACKENDS: Add support for OpenGL 1.1 contexts 2021-06-16 23:16:01 +01:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Cameron Cawley
c3c3137ab3 BACKENDS: Move nextHigher2() into common/algorithm.h 2019-12-14 17:09:18 +02:00
Cameron Cawley
d765440c1a OPENGL: Support RGBA8888 swapped textures when using OpenGL ES 2019-08-04 18:46:30 +01:00
Bastien Bouclet
3376597abd OPENGL: Use premultiplied alpha for color-keyed cursors
This fixes colour fringing on keyed cursors when using filtering.

Fixes Trac#10594.
2018-08-26 21:08:40 +02:00
Johannes Schickel
8ff5329b49 OPENGL: Assure color attributes for shader pipeline are always set. 2016-05-03 20:43:18 +02:00
Johannes Schickel
b7a269947f OPENGL: Flag texture dirty on allocation. 2016-03-16 20:29:31 +01:00
Johannes Schickel
1e1272a8c4 OPENGL: Store logical texture dimensions in GLTexture. 2016-03-16 20:29:31 +01:00
Johannes Schickel
26f106497a OPENGL: Implement CLUT8 look up as Pipeline. 2016-03-16 20:29:30 +01:00
Johannes Schickel
8a4938f82b OPENGL: Move pipeline code to pipelines/. 2016-03-16 20:29:30 +01:00
Johannes Schickel
ed6689d4fc OPENGL: Do not allow direct access to Context::activePipeline. 2016-03-16 20:29:27 +01:00
Johannes Schickel
b17c035642 OPENGL: Implement texture drawing in Pipeline instead of Surface. 2016-03-16 20:29:27 +01:00
Johannes Schickel
0fe580d10c OPENGL: Make shader/framebuffer part of pipeline state. 2016-03-16 20:29:27 +01:00
Johannes Schickel
c4e65732be OPENGL: Introduce abstraction for framebuffer.
This allows us to use various framebuffer settings easily. Now the GPU
accelerated CLUT8 surface implementation does not need to query former
framebuffer state anymore.
2016-03-16 20:29:26 +01:00
Johannes Schickel
5498982a37 OPENGL: Introduce ShaderManager to handle builtin shaders. 2016-03-16 20:29:26 +01:00
Johannes Schickel
f5f1b6eba0 OPENGL: Introduce pipeline abstraction to cleanup code. 2016-03-16 20:29:26 +01:00
Johannes Schickel
08553a09cf OPENGL: Support GLSL based CLUT8 look up for GLES2+. 2016-03-16 20:29:26 +01:00
Johannes Schickel
e66e9e44d3 OPENGL: Accelerate palette lookups with shaders.
This currently is limited to GL contexts.
2016-03-16 20:29:26 +01:00
Johannes Schickel
de3846923c OPENGL: Introduce simple abstraction for surfaces.
This is basically an interface extracted from Texture without any knowledge
about any actual implementation, except for copyRectToTexture, fill, and
dirty rect handling. These are convenient helpers.
2016-03-16 20:29:26 +01:00
Johannes Schickel
8b0cf0c5f7 OPENGL: Cleanup. Remove Texture::getHardwareFormat. 2016-03-16 20:29:26 +01:00
Johannes Schickel
618adec7b0 OPENGL: Move color key handling for CLUT8 to TextureCLUT8. 2016-03-16 20:29:26 +01:00
Johannes Schickel
9844d89231 OPENGL: Move max texture size information to Context. 2016-03-16 20:29:26 +01:00
Johannes Schickel
b081fe63e8 OPENGL: Create new abstraction for GL texture objects. 2016-03-16 20:29:26 +01:00
Johannes Schickel
c7c870bf7f OPENGL: (Partly) move context specific handling to Context.
This does not include (most) shader setup, and projection matrices yet.
2016-03-16 20:29:25 +01:00
Johannes Schickel
d029f16799 OPENGL: Handle destruction gracefully when no context is setup. 2016-03-16 20:29:25 +01:00
Johannes Schickel
fee1aa5502 OPENGL: Add support for shaders with GL contexts. 2016-03-16 20:29:25 +01:00
Johannes Schickel
fe88375ff3 OPENGL: Support GLES2 contexts. 2016-03-16 20:29:25 +01:00
Johannes Schickel
2277144623 OPENGL: Support RGB555 for OpenGL ES output.
This mode should *not* be used by any new engines/code. If someone is going
to use it and says it works with the OpenGL output, please make them wear a
red uniform and beam them onto a remote planet.
2016-03-16 20:29:25 +01:00