Cameron Cawley
07498687bd
GRAPHICS: Add Surface::copyRectToSurfaceWithKey()
2022-06-05 17:28:28 +03:00
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