Commit Graph

3406 Commits

Author SHA1 Message Date
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
Paweł Kołodziejski
25c4e89b7a TINYGL: Janitorial 2022-01-01 12:00:38 +01:00
Cameron Cawley
010dfbff18 GRAPHICS: Remove manual OpenGL function loading 2021-12-30 14:57:11 +01:00
Cameron Cawley
21b0d6ded1 BACKENDS: Replace GLEW with GLAD, part of PR #3463 2021-12-30 14:53:48 +01:00
Paweł Kołodziejski
25c63234e4
TINYGL: Corrected cases for unsigned types arrays 2021-12-27 13:38:05 +01:00
Paweł Kołodziejski
6e6696271e
TINYGL: Cleanup function arguments 2021-12-27 13:22:38 +01:00
Paweł Kołodziejski
7cc90c7d44
TINYGL: Added few tglTextCoord combinations 2021-12-27 11:26:44 +01:00