3412 Commits

Author SHA1 Message Date
Cameron Cawley
085130c6da GRAPHICS: Move ManagedSurface::clip() to the Surface class 2022-06-03 16:00:46 +01:00
Le Philousophe
8569296384 OPENGL: Detect framebuffer support using GL_ARB_framebuffer_object
We use functions from GL_ARB_framebuffer_object extension and not from
GL_EXT_framebuffer_object where functions are suffixed by EXT.
This avoids crashes on implementations supporting only the EXT version.
2022-05-27 18:13:10 +02:00
Donovan Watteau
5b1ec56f96 JANITORIAL: Fix some lost or outdated URLs in comments 2022-05-19 07:57:31 +03:00
elasota
1ea57c994c GRAPHICS: Add support for loading oversized Mac CURS resources 2022-05-07 20:51:44 +03:00
Paweł Kołodziejski
ce97902769
TINYGL: Initialise _enableScissor for case when dirty rects are off. 2022-05-02 10:01:08 +02:00
Quote58
9d4ac18be5 COMMON: macText::plainByteMode() accounts for Mac Roman. 2022-04-18 16:26:57 +03:00
Le Philousophe
c9b4949746 AMIGAOS: Improve shader compatibility
OGLES2 doesn't support uniform booleans so we use macros to make it use
integers in this case. For other platforms, this change should be a
noop.
OGLES2 doesn't like float suffix for constants, remove it as well.
2022-04-17 12:34:38 +02:00
Donovan Watteau
f6641e18b2 BUILD: Remove support for ancient SGI MIPSpro
This very old compiler has no C++11 support, so we're now sure that
its support (and workarounds) can be removed.
2022-04-15 22:43:57 +02:00
Le Philousophe
8ec10f5892 GRAPHICS: Create a dynamic list of available renderers
This allows us to not offer a renderer which is not available on the
platform.
2022-04-10 18:11:46 +02:00
Le Philousophe
1cf0b7d1b3 OPENGL: Unbind array buffer after using it
This avoids to mangle state for engines
2022-04-09 21:46:09 +02:00
Thierry Crozat
43acda0c9a GRAPHICS: Add override for TTFont class 2022-04-05 23:18:05 +01:00
Le Philousophe
1e4696f6d0 OPENGL: Rework renderer selection code
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.

The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).

The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
2022-04-03 22:17:19 +02:00
Le Philousophe
b978cd1caa OPENGL: Allow engines to detect OpenGL info without switching
For now only OpenGL type and shaders support are available
2022-04-03 22:17:19 +02:00
Le Philousophe
89cfc283ab OPENGL: Use correct function to debug program linking 2022-04-03 09:40:51 +02:00
Torbjörn Andersson
29a6b30ec3 GRAPHICS: Fix build 2022-03-29 09:01:47 +02:00
Paul Gilbert
3989d2652b AGS: Compilation fix 2022-03-28 22:45:52 -07:00
Paul Gilbert
accd508b9c GRAPHICS: Create set of wrapper functions for accessing FreeType directly 2022-03-28 20:29:36 -07:00
Misty De Meo
8558276dd9 DIRECTOR: additional RearWindow methods 2022-03-22 12:27:13 +01:00
Misty De Meo
c2daf29bb2 DIRECTOR: implement RearWindow methods 2022-03-21 11:44:32 +01:00
Paul Gilbert
15704239b8 AGS: Properly implement alfont_get_name 2022-03-14 22:12:40 -07:00
Paul Gilbert
a2a33b8f19 GRAPHICS: Added getFontName method to TTFFont 2022-03-14 21:57:14 -07:00
Paweł Kołodziejski
de67c1ae54
TINYGL: Latest TinyGL 0.4.1 is relicensed under MIT license. 2022-03-08 15:47:20 +01:00
Cameron Cawley
460bc32cd9 OPENGL: Fix OpenGL ES v1 builds without GLAD 2022-03-07 17:40:01 +01:00
Paweł Kołodziejski
ee11c85f85 IOS: Added support for GLAD 2022-03-06 21:44:19 +01:00
Paweł Kołodziejski
710dac8029
OPENGL: Improve error handling for GL compiler by using dynamic allocated buffers. 2022-03-06 09:03:36 +01:00
Paweł Kołodziejski
786800e831
OPENGL: Skip adding suffix 'shaders' for iOS app, it has flatten tree. 2022-03-06 09:00:21 +01:00
Paul Gilbert
276e83ffee CHEWY: Fix drawing boxes and lines 2022-03-03 18:35:11 -08:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Le Philousophe
1c18c269dc ANDROID: Add GLAD support 2022-01-18 16:49:03 +01:00
Le Philousophe
a9418f8f63 GRAPHICS: Rework OpenGL detection
With GLAD it's not needed anymore to link against OpenGL libraries.
As configure knows better whether a platform supports GLAD, detection is
moved here.
To allow platforms where OpenGL should be linked at build time, the
tests are kept. Android uses them for now.
The OpenGL for Games was completely decoupled from the OpenGL for 2D
engines. This not the case anymore.
2022-01-18 16:49:03 +01:00
Le Philousophe
d9b4e457e8 ALL: Remove USE_GLES2 define
Replace it with USE_FORCED_GLES2
2022-01-18 16:49:03 +01:00
D G Turner
bcf6054c3a GRAPHICS: Fix GCC Duplicated Branch Warnings in LarryScale
These are flagged by GCC if -Wduplicated-branches is enabled.
2022-01-12 08:26:39 +00:00
D G Turner
42f3fb2e93 GRAPHICS: Fix GCC Compiler Duplicated Branch Warnings in Nano SVG
These are emitted if the build is compiled with -Wduplicated-branches.
2022-01-12 04:59:23 +00:00
Paweł Kołodziejski
4f0e5ed3c0 GRAPHICS: Moved shader code where it's actually used 2022-01-10 03:34:48 +01:00
Paweł Kołodziejski
3dd3e76bc2 BACKENDS3D: Shader code files shouldn't be moved 2022-01-10 02:38:44 +01:00
Paweł Kołodziejski
d1d77f887e BACKENDS3D: Moved Surfaces and Texture specific backend code to backends 2022-01-10 01:21:49 +01:00
Le Philousophe
faa16c9023 GRAPHICS: Fix UB when bytesPerPixel == 4
It doesn't even work on x86(_64) as 1 is not shifted
2022-01-06 19:39:05 +02:00
Le Philousophe
a110714141 GRAPHICS: Remove superfluous memset
Surface::create already initialized memory to 0 and getPixels can be
nullptr if bitmap size is 0. In this case memset gets called with
nullptr which is undefined behaviour.
2022-01-06 19:39:05 +02:00
Le Philousophe
5f86c391ec GRAPHICS: Remove global variables of HQ scaler
This allows multiple instances to run in parallel
2022-01-03 10:52:11 +01:00
Le Philousophe
2b549a763a GRAPHICS: Make HQx ASM scalers relocations free
This is considered as a good practice to not have relocations in text
segment.
The binary is now completely PIC and can easily be relocated at any
address (ASLR).
2022-01-03 10:52:11 +01:00
Paweł Kołodziejski
a37fdcf2f1 TINYGL: Move gl_vertex_transform to GLContext 2022-01-02 10:43:29 +01:00
Paweł Kołodziejski
8ae516bd52 TINYGL: Janitorial 2022-01-02 09:22:49 +01:00
Paweł Kołodziejski
a4ec998a51 TINYGL: Small corrections for params type 2022-01-02 09:20:34 +01:00
Paweł Kołodziejski
cf8b3cc1f9 TINYGL: Move function to GLContext 2022-01-01 17:42:32 +01:00
Paweł Kołodziejski
c3a73efa8d TINYGL: No need to check for current_texture 2022-01-01 17:38:48 +01:00
Paweł Kołodziejski
a70168e416 TINYGL: Split/move functions to API and internal implementation. 2022-01-01 17:21:42 +01:00
Paweł Kołodziejski
af399f0a50 TINYGL: Janitorial 2022-01-01 17:16:10 +01:00
Paweł Kołodziejski
69198d5d30 TINYGL: Corrected variable type 2022-01-01 14:07:07 +01:00
Paweł Kołodziejski
fef0e04cb7 TINYGL: No need to check for current_texture 2022-01-01 14:06:45 +01:00
Paweł Kołodziejski
04b13dc61a TINYGL: Split/move functions to API and internal implementation. 2022-01-01 14:06:10 +01:00