sfan5
54de743641
Workaround for too old GL header on older SDL versions
...
Problem: Since the removal of !_IRR_OPENGL_USE_EXTPOINTER_ we require some quite recent
symbols to compile the legacy GL driver. (*) Since the previous commit we prefer including
them via SDL but those are sometimes too old.
(*) This was in fact always a problem since USE_EXTPOINTER is the default.
I guess people just had recent enough headers usually.
2024-02-23 21:31:33 +01:00
sfan5
3e8d8440e3
Vendor GL headers again
...
primary reason:
The unified GLES2 driver requires OpenGL headers (really), which Android does not provide.
2024-02-23 21:31:33 +01:00
sfan5
8189b2338a
Remove now unused legacy OGLES2 driver
2024-02-23 21:31:33 +01:00
sfan5
0a77ef5dc2
Enable unified driver with all devices
2024-02-23 21:31:33 +01:00
sfan5
19f0f707a6
Use ContextManager to resolve symbols in GL driver
2024-02-23 21:31:33 +01:00
sfan5
83998f7471
Reduce OGLES extension array to ones actually used
2024-02-23 21:31:33 +01:00
sfan5
b7bb4b5958
Remove all !_IRR_OGLES1_USE_EXTPOINTER_ code
2024-02-23 21:31:33 +01:00
sfan5
f28e442bfa
Drop all !_IRR_OGLES2_USE_EXTPOINTER_ code
2024-02-23 21:31:33 +01:00
sfan5
4cd5c3489e
Drop all !_IRR_OPENGL_USE_EXTPOINTER_ code
2024-02-23 21:31:33 +01:00
sfan5
52e4d72ae2
Migrate OpenGL cache and texture handler to GL pointers
...
this makes the OpenGL 3 driver free of GL symbol references!
2024-02-23 21:31:33 +01:00
Muhammad Rifqi Priyo Susanto
2db8c8728e
Missing value_or() when printing std::optional
2024-02-23 13:17:41 +01:00
sfan5
c83f28431b
Add API to delete shader materials
2024-02-21 21:53:38 +01:00
sfan5
e60921f0cb
Drop old shader material functions
...
I'm not sure what these actually are, but the situation is the same as the last commit.
2024-02-21 21:53:38 +01:00
sfan5
92252f70d2
Drop low-level shader constant setters
...
These don't work on the modern drivers and are unused anyway.
2024-02-21 21:53:38 +01:00
SmallJoker
2bb2d3fe01
CFileSystem: Fix signed integer conversion on MinGW
2024-02-18 23:45:39 +01:00
sfan5
45ace61007
OpenGL: support scene::EHM_STREAM
...
the relevant enum value is defined in both gl3 and gles2
2024-02-18 22:43:25 +01:00
sfan5
89d0717779
Delete some dead code
2024-02-18 17:12:51 +01:00
sfan5
19819bd23a
Reduce needless use of wchar / stringw
2024-02-18 17:12:51 +01:00
sfan5
2894d9ab03
Add debug output to GL shader loading
2024-02-18 17:12:51 +01:00
HybridDog
f91be59811
Remove support for GL_POINT_SMOOTH and GL_LINE_SMOOTH antialiasing
...
These antialiasing techniques have been removed in OpenGL 3.1, they were often executed by the CPU, and Minetest does not use them.
The OpenGL wiki recommends that we do not use this functionality in our program.
https://www.khronos.org/opengl/wiki/Multisampling#Smooth_antialiasing
2024-02-17 22:04:01 +01:00
sfan5
ad96fabe4a
Remove mistaken code block from OGLES1 driver
...
Version can never be 200 here, this was probably mistakenly copy-pasted from the OpenGL driver.
2024-02-17 21:01:15 +01:00
sfan5
fe3e41e7ea
Set minimum SDL version
...
It was determined that the touch/mouse hints only exist in this version.
Since it's from 2019 this should be a reasonable minimum.
2024-02-15 10:37:24 +01:00
sfan5
4478b1f1ec
Remove old SDL Windows workaround
...
suggested by @waxtatect
2024-02-15 10:35:21 +01:00
sfan5
3992129735
Bind keypad enter on SDL
...
fixes https://github.com/minetest/minetest/issues/14170
2024-02-15 10:34:23 +01:00
Fatih Uzunoglu
0dab737d60
Do not use core::max_()
with variable that can not be addressed
...
header struct is packed, and `core::max_()` takes the input as reference.
2024-02-12 16:31:10 +01:00
Fatih Uzunoglu
330150854b
SDL: set default for ActiveIcon
...
getActiveIcon() may be called before ActiveIcon
is initialized, leading to undefined behavior.
2024-02-12 16:31:10 +01:00
y5nw
6779ac83f9
SDL: Improve handling of IMEs ( #285 )
...
* Set text input rectangle for IMEs
* Avoid unnecessarily "restarting" text input
2024-02-09 00:08:03 +01:00
Lars Müller
f1504093d1
Ensure that absent bone names work ( #284 )
2024-02-06 20:22:44 +01:00
SmallJoker
4299ee21d8
CMake: Move generator conditional expressions ( #281 )
2024-01-22 09:50:29 +01:00
grorp
66786d0059
Make IrrlichtDevice::isWindowVisible do what it says on the tin ( #279 )
2024-01-19 18:17:26 +01:00
David Heidelberg
9df2f0b944
Undefine SDL2 DirectFB video driver
...
1. we don't need it
2. it's dropped in SDL 3
3. it breaks compilation on Alpine and postmarketOS with SDL2 enabled
(and the bug never going to get fixed on SDL2 side)
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-01-18 23:28:45 +01:00
sfan5
c3571261ca
Fix build with OpenGL ES 1
2024-01-17 17:55:19 +01:00
sfan5
b349266855
Enable SDL to compile on macOS
2024-01-17 11:00:40 +01:00
sfan5
ee2467d622
Remove some dead code
2024-01-16 23:59:46 +01:00
sfan5
88ca26c418
Define extpointer for SDL + OGLES2
2024-01-16 20:23:23 +01:00
sfan5
8f44270e4a
Rip out compressed color formats
2024-01-16 20:23:23 +01:00
sfan5
f86b9b93e8
Fix crash when SDL context fails to create
2024-01-16 18:24:02 +01:00
Lars Mueller
a3ec3a88e8
Fix scene nodes not dropping meshes (memleak)
2024-01-13 18:13:04 +01:00
Gregor Parzefall
7df45b4cf3
SDL: Implement touchscreen support
2024-01-13 14:08:13 +01:00
sfan5
a2b6244f54
Fix build with older SDL2
2024-01-08 23:51:34 +01:00
David Heidelberg
73e62f8676
Keep RTTI for Minetest IPO/LTO
...
Minetest using RTTI, so we cannot apply the flag here
if we want to start using IPO/LTO.
If we keep `-fno-rtti` here, compiler loses part of informations and
cannot do efficient optimizations.
The benefit of using RTTI on Irrlicht disappears with IPO/LTO on whole binary.
Signed-off-by: David Heidelberg <david@ixit.cz>
2024-01-06 21:30:15 +01:00
HybridDog
fb4ee6ac93
Fix mip map size calculation for non-square textures
...
The size of a mip map is `max{floor(width / 2 ^ level), 1} x max{floor(height / 2 ^ level), 1}`,
where `width x height` is the size of the full-resolution image,
`level` is the integer mip map level
and the smallest mip map has `1 x 1` resolution.
If `regenerateMipMapLevels` is called with custom mip map data,
the mip map sizes are calculated in this function and separately in `uploadTexture`.
`uploadTexture` calculates a size by `floor(width / 2 ^ level) x floor(height / 2 ^ level)`.
To support non-square textures, after this change,
`uploadTexture` sets the mip map width or height to `1` if it is `0`.
2024-01-05 14:09:50 +01:00
Muhammad Rifqi Priyo Susanto
91e4129615
Windows: Return early if the clipboard data is not Unicode text
2024-01-04 21:24:50 +01:00
grorp
54b82aad26
Add IrrlichtDevice::isWindowVisible for Android
2024-01-04 16:48:35 +01:00
sfan5
03dd8b0336
Update vendored khrplatform.h
2023-12-19 22:56:31 +01:00
sfan5
6e6b4a6f3c
Fix some minor issues with GL loader
...
fixes #258
2023-12-19 22:56:31 +01:00
sfan5
0110826ce9
Resync mt_opengl_loader.cpp with BindingGenerator.lua
...
also add a warning that you can't edit it by hand
2023-12-19 22:56:31 +01:00
Vitaliy
9a439a3646
Use SDL2 by default
...
Except on Android and macOS, for now
2023-12-17 18:46:08 +01:00
paradust7
bb7c06d32a
Initialize X11 thread safety
2023-12-10 16:29:22 +01:00
Muhammad Rifqi Priyo Susanto
a2884e4000
Android: Make ALooper_pollAll call always non-blocking ( #255 )
2023-11-30 15:52:04 +01:00