summaryrefslogtreecommitdiffstats
path: root/platform
diff options
context:
space:
mode:
Diffstat (limited to 'platform')
-rw-r--r--platform/android/display_server_android.cpp6
-rw-r--r--platform/android/export/export.cpp18
-rw-r--r--platform/android/export/export_plugin.cpp2
-rw-r--r--platform/iphone/app_delegate.h2
-rw-r--r--platform/iphone/display_layer.mm2
-rw-r--r--platform/iphone/display_server_iphone.mm10
-rw-r--r--platform/iphone/platform_config.h3
-rw-r--r--platform/javascript/display_server_javascript.cpp8
-rw-r--r--platform/javascript/export/export.cpp2
-rw-r--r--platform/javascript/export/export_plugin.cpp2
-rw-r--r--platform/linuxbsd/SCsub2
-rw-r--r--platform/linuxbsd/display_server_x11.cpp56
-rw-r--r--platform/linuxbsd/display_server_x11.h8
-rw-r--r--platform/linuxbsd/gl_manager_x11.cpp18
-rw-r--r--platform/linuxbsd/gl_manager_x11.h13
-rw-r--r--platform/linuxbsd/platform_config.h3
-rw-r--r--platform/osx/display_server_osx.mm2
-rw-r--r--platform/osx/platform_config.h3
-rw-r--r--platform/uwp/os_uwp.cpp8
-rw-r--r--platform/windows/detect.py2
-rw-r--r--platform/windows/display_server_windows.cpp60
-rw-r--r--platform/windows/display_server_windows.h4
-rw-r--r--platform/windows/gl_manager_windows.cpp4
-rw-r--r--platform/windows/gl_manager_windows.h13
-rw-r--r--platform/windows/platform_config.h3
25 files changed, 128 insertions, 126 deletions
diff --git a/platform/android/display_server_android.cpp b/platform/android/display_server_android.cpp
index 720752d28f..084761b794 100644
--- a/platform/android/display_server_android.cpp
+++ b/platform/android/display_server_android.cpp
@@ -411,9 +411,9 @@ DisplayServerAndroid::DisplayServerAndroid(const String &p_rendering_driver, Dis
if (rendering_driver == "opengl") {
bool gl_initialization_error = false;
- if (RasterizerGLES2::is_viable() == OK) {
- RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ if (RasterizerOpenGLis_viable() == OK) {
+ RasterizerOpenGLregister_config();
+ RasterizerOpenGLmake_current();
} else {
gl_initialization_error = true;
}
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index e01ad004a0..1cac0ed4ce 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -1599,7 +1599,7 @@
//public:
// virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) override {
// String driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name");
-// if (driver == "GLES2") {
+// if (driver == "OpenGL") {
// r_features->push_back("etc");
// }
// // FIXME: Review what texture formats are used for Vulkan.
@@ -1769,10 +1769,10 @@
// String tmp_export_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport.apk");
-//#define CLEANUP_AND_RETURN(m_err) \
-// { \
-// DirAccess::remove_file_or_error(tmp_export_path); \
-// return m_err; \
+//#define CLEANUP_AND_RETURN(m_err)
+// {
+// DirAccess::remove_file_or_error(tmp_export_path);
+// return m_err;
// }
// // Export to temporary APK before sending to device.
@@ -2565,10 +2565,10 @@
// String tmp_unaligned_path = EditorSettings::get_singleton()->get_cache_dir().plus_file("tmpexport-unaligned.apk");
-//#define CLEANUP_AND_RETURN(m_err) \
-// { \
-// DirAccess::remove_file_or_error(tmp_unaligned_path); \
-// return m_err; \
+//#define CLEANUP_AND_RETURN(m_err)
+// {
+// DirAccess::remove_file_or_error(tmp_unaligned_path);
+// return m_err;
// }
// zipFile unaligned_apk = zipOpen2(tmp_unaligned_path.utf8().get_data(), APPEND_STATUS_CREATE, nullptr, &io2);
diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp
index aa1aa4d264..50823884cd 100644
--- a/platform/android/export/export_plugin.cpp
+++ b/platform/android/export/export_plugin.cpp
@@ -1612,7 +1612,7 @@ Vector<String> EditorExportPlatformAndroid::get_enabled_abis(const Ref<EditorExp
void EditorExportPlatformAndroid::get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) {
String driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name");
- if (driver == "GLES2") {
+ if (driver == "OpenGL") {
r_features->push_back("etc");
}
// FIXME: Review what texture formats are used for Vulkan.
diff --git a/platform/iphone/app_delegate.h b/platform/iphone/app_delegate.h
index d6a2292dd2..68cfde6508 100644
--- a/platform/iphone/app_delegate.h
+++ b/platform/iphone/app_delegate.h
@@ -32,7 +32,7 @@
@class ViewController;
-// FIXME: Add support for both GLES2 and Vulkan when GLES2 is implemented again,
+// FIXME: Add support for both OpenGL and Vulkan when OpenGL is implemented again,
// so it can't be done with compilation time branching.
//#if defined(OPENGL_ENABLED)
//@interface AppDelegate : NSObject <UIApplicationDelegate, GLViewDelegate> {
diff --git a/platform/iphone/display_layer.mm b/platform/iphone/display_layer.mm
index b8df81b89a..afa75f53ed 100644
--- a/platform/iphone/display_layer.mm
+++ b/platform/iphone/display_layer.mm
@@ -89,7 +89,7 @@
// FIXME: Add Vulkan support via MoltenVK. Add fallback code back?
// Create GL ES 2 context
- if (GLOBAL_GET("rendering/driver/driver_name") == "GLES2") {
+ if (GLOBAL_GET("rendering/driver/driver_name") == "opengl") {
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
NSLog(@"Setting up an OpenGL ES 2.0 context.");
if (!context) {
diff --git a/platform/iphone/display_server_iphone.mm b/platform/iphone/display_server_iphone.mm
index e18448fb6d..33601da1c8 100644
--- a/platform/iphone/display_server_iphone.mm
+++ b/platform/iphone/display_server_iphone.mm
@@ -52,7 +52,7 @@ DisplayServerIPhone::DisplayServerIPhone(const String &p_rendering_driver, Windo
rendering_driver = p_rendering_driver;
#if defined(OPENGL_ENABLED)
- // FIXME: Add support for both GLES2 and Vulkan when GLES2 is implemented
+ // FIXME: Add support for both OpenGL and Vulkan when OpenGL is implemented
// again,
if (rendering_driver == "opengl_es") {
@@ -60,9 +60,9 @@ DisplayServerIPhone::DisplayServerIPhone(const String &p_rendering_driver, Windo
// FIXME: Add Vulkan support via MoltenVK. Add fallback code back?
- if (RasterizerGLES2::is_viable() == OK) {
- RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ if (RasterizerOpenGLis_viable() == OK) {
+ RasterizerOpenGLregister_config();
+ RasterizerOpenGLmake_current();
} else {
gl_initialization_error = true;
}
@@ -83,7 +83,7 @@ DisplayServerIPhone::DisplayServerIPhone(const String &p_rendering_driver, Windo
// reset this to what it should be, it will have been set to 0 after
// rendering_server->init() is called
- // RasterizerStorageGLES2::system_fbo = gl_view_base_fb;
+ // RasterizerStorageOpenGLsystem_fbo = gl_view_base_fb;
}
#endif
diff --git a/platform/iphone/platform_config.h b/platform/iphone/platform_config.h
index f8a8eb15d2..68ef4e31a7 100644
--- a/platform/iphone/platform_config.h
+++ b/platform/iphone/platform_config.h
@@ -30,8 +30,7 @@
#include <alloca.h>
-#define GLES2_INCLUDE_H <ES2/gl.h>
-#define GLES3_INCLUDE_H <ES3/gl.h>
+#define OPENGL_INCLUDE_H <ES3/gl.h>
#define PLATFORM_REFCOUNT
diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp
index c2eb826db9..dacae912b5 100644
--- a/platform/javascript/display_server_javascript.cpp
+++ b/platform/javascript/display_server_javascript.cpp
@@ -677,7 +677,7 @@ DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_drive
// Expose method for requesting quit.
godot_js_os_request_quit_cb(request_quit_callback);
- RasterizerDummy::make_current(); // TODO GLES2 in Godot 4.0... or webgpu?
+ RasterizerDummy::make_current(); // TODO OpenGL in Godot 4.0... or webgpu?
#if 0
EmscriptenWebGLContextAttributes attributes;
emscripten_webgl_init_context_attributes(&attributes);
@@ -691,10 +691,10 @@ DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_drive
bool gl_initialization_error = false;
- if (RasterizerGLES2::is_viable() == OK) {
+ if (RasterizerOpenGLis_viable() == OK) {
attributes.majorVersion = 1;
- RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ RasterizerOpenGLregister_config();
+ RasterizerOpenGLmake_current();
} else {
gl_initialization_error = true;
}
diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp
index 503e58f9a8..5130630c18 100644
--- a/platform/javascript/export/export.cpp
+++ b/platform/javascript/export/export.cpp
@@ -316,7 +316,7 @@ void EditorExportPlatformJavaScript::get_preset_features(const Ref<EditorExportP
if (p_preset->get("vram_texture_compression/for_mobile")) {
String driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name");
- if (driver == "GLES2") {
+ if (driver == "OpenGL") {
r_features->push_back("etc");
} else if (driver == "Vulkan") {
// FIXME: Review if this is correct.
diff --git a/platform/javascript/export/export_plugin.cpp b/platform/javascript/export/export_plugin.cpp
index 1084a0adf7..b98e87e789 100644
--- a/platform/javascript/export/export_plugin.cpp
+++ b/platform/javascript/export/export_plugin.cpp
@@ -300,7 +300,7 @@ void EditorExportPlatformJavaScript::get_preset_features(const Ref<EditorExportP
if (p_preset->get("vram_texture_compression/for_mobile")) {
String driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name");
- if (driver == "GLES2") {
+ if (driver == "OpenGL") {
r_features->push_back("etc");
} else if (driver == "Vulkan") {
// FIXME: Review if this is correct.
diff --git a/platform/linuxbsd/SCsub b/platform/linuxbsd/SCsub
index 05393f6246..cec8706fbc 100644
--- a/platform/linuxbsd/SCsub
+++ b/platform/linuxbsd/SCsub
@@ -20,8 +20,6 @@ if "x11" in env and env["x11"]:
"key_mapping_x11.cpp",
]
-#"context_gl_x11.cpp",
-
if "vulkan" in env and env["vulkan"]:
common_linuxbsd.append("vulkan_context_x11.cpp")
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp
index 18247deafb..4421c868d8 100644
--- a/platform/linuxbsd/display_server_x11.cpp
+++ b/platform/linuxbsd/display_server_x11.cpp
@@ -44,8 +44,8 @@
#include "servers/rendering/renderer_rd/renderer_compositor_rd.h"
#endif
-#if defined(GLES_X11_ENABLED)
-#include "drivers/gles2/rasterizer_gles2.h"
+#if defined(OPENGL_ENABLED)
+#include "drivers/opengl/rasterizer_opengl.h"
#endif
#include <limits.h>
@@ -889,7 +889,7 @@ void DisplayServerX11::delete_sub_window(WindowID p_id) {
context_vulkan->window_destroy(p_id);
}
#endif
-#ifdef GLES_X11_ENABLED
+#ifdef OPENGL_ENABLED
if (gl_manager) {
gl_manager->window_destroy(p_id);
}
@@ -1064,7 +1064,7 @@ int DisplayServerX11::window_get_current_screen(WindowID p_window) const {
}
void DisplayServerX11::gl_window_make_current(DisplayServer::WindowID p_window_id) {
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
if (gl_manager)
gl_manager->window_make_current(p_window_id);
#endif
@@ -2666,7 +2666,7 @@ void DisplayServerX11::_window_changed(XEvent *event) {
context_vulkan->window_resize(window_id, wd.size.width, wd.size.height);
}
#endif
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
if (gl_manager) {
gl_manager->window_resize(window_id, wd.size.width, wd.size.height);
}
@@ -3547,19 +3547,19 @@ void DisplayServerX11::process_events() {
}
void DisplayServerX11::release_rendering_thread() {
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
// gl_manager->release_current();
#endif
}
void DisplayServerX11::make_rendering_thread() {
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
// gl_manager->make_current();
#endif
}
void DisplayServerX11::swap_buffers() {
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
if (gl_manager) {
gl_manager->swap_buffers();
}
@@ -3710,7 +3710,7 @@ void DisplayServerX11::window_set_vsync_mode(DisplayServer::VSyncMode p_vsync_mo
}
#endif
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
if (gl_manager) {
gl_manager->set_use_vsync(p_vsync_mode == DisplayServer::VSYNC_ENABLED);
}
@@ -3724,7 +3724,7 @@ DisplayServer::VSyncMode DisplayServerX11::window_get_vsync_mode(WindowID p_wind
return context_vulkan->get_vsync_mode(p_window);
}
#endif
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
if (gl_manager) {
return gl_manager->is_using_vsync() ? DisplayServer::VSYNC_ENABLED : DisplayServer::VSYNC_DISABLED;
}
@@ -3738,10 +3738,8 @@ Vector<String> DisplayServerX11::get_rendering_drivers_func() {
#ifdef VULKAN_ENABLED
drivers.push_back("vulkan");
#endif
-#ifdef GLES_X11_ENABLED
- // drivers.push_back("opengl");
- drivers.push_back("GLES2");
- drivers.push_back("GLES3");
+#ifdef OPENGL_ENABLED
+ drivers.push_back("opengl");
#endif
return drivers;
@@ -3750,7 +3748,7 @@ Vector<String> DisplayServerX11::get_rendering_drivers_func() {
DisplayServer *DisplayServerX11::create_func(const String &p_rendering_driver, WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) {
DisplayServer *ds = memnew(DisplayServerX11(p_rendering_driver, p_mode, p_vsync_mode, p_flags, p_resolution, r_error));
if (r_error != OK) {
- OS::get_singleton()->alert("Your video card driver does not support any of the supported Vulkan versions.\n"
+ OS::get_singleton()->alert("Your video card driver does not support any of the supported Vulkan or OpenGL versions.\n"
"Please update your drivers or if you have a very old or integrated GPU, upgrade it.\n"
"If you have updated your graphics drivers recently, try rebooting.",
"Unable to initialize Video driver");
@@ -3926,11 +3924,11 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
ERR_FAIL_COND_V_MSG(err != OK, INVALID_WINDOW_ID, "Can't create a Vulkan window");
}
#endif
-#ifdef GLES_X11_ENABLED
+#ifdef OPENGL_ENABLED
print_line("rendering_driver " + rendering_driver);
if (gl_manager) {
Error err = gl_manager->window_create(id, wd.x11_window, x11_display, p_rect.size.width, p_rect.size.height);
- ERR_FAIL_COND_V_MSG(err != OK, INVALID_WINDOW_ID, "Can't create a GLES2 window");
+ ERR_FAIL_COND_V_MSG(err != OK, INVALID_WINDOW_ID, "Can't create an OpenGL window");
}
#endif
@@ -4114,15 +4112,13 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
xdnd_selection = XInternAtom(x11_display, "XdndSelection", False);
//!!!!!!!!!!!!!!!!!!!!!!!!!!
- //TODO - do Vulkan and GLES2 support checks, driver selection and fallback
+ //TODO - do Vulkan and OpenGL support checks, driver selection and fallback
rendering_driver = p_rendering_driver;
#ifndef _MSC_VER
//#warning Forcing vulkan rendering driver because OpenGL not implemented yet
//#warning Forcing opengl rendering driver because selecting properly is too much effort
#endif
- // rendering_driver = "vulkan";
- //rendering_driver = "GLES2";
bool driver_found = false;
#if defined(VULKAN_ENABLED)
@@ -4138,9 +4134,9 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
}
#endif
// Init context and rendering device
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
print_line("rendering_driver " + rendering_driver);
- if (rendering_driver == "GLES2") {
+ if (rendering_driver == "opengl") {
if (getenv("DRI_PRIME") == nullptr) {
int use_prime = -1;
@@ -4182,7 +4178,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
}
}
- GLManager_X11::ContextType opengl_api_type = GLManager_X11::GLES_2_0_COMPATIBLE;
+ GLManager_X11::ContextType opengl_api_type = GLManager_X11::GLES_3_0_COMPATIBLE;
gl_manager = memnew(GLManager_X11(p_resolution, opengl_api_type));
@@ -4197,9 +4193,9 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
// gl_manager->set_use_vsync(current_videomode.use_vsync);
if (true) {
- // if (RasterizerGLES2::is_viable() == OK) {
- // RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ // if (RasterizerOpenGL::is_viable() == OK) {
+ // RasterizerOpenGL::register_config();
+ RasterizerOpenGL::make_current();
} else {
memdelete(gl_manager);
gl_manager = nullptr;
@@ -4415,9 +4411,9 @@ DisplayServerX11::~DisplayServerX11() {
context_vulkan->window_destroy(E.key);
}
#endif
-#ifdef GLES_X11_ENABLED
- if (rendering_driver == "GLES2") {
- gl_manager->window_destroy(E->key());
+#ifdef OPENGL_ENABLED
+ if (rendering_driver == "opengl") {
+ gl_manager->window_destroy(E.key);
}
#endif
@@ -4444,7 +4440,7 @@ DisplayServerX11::~DisplayServerX11() {
}
#endif
-#ifdef GLES_X11_ENABLED
+#ifdef OPENGL_ENABLED
if (gl_manager) {
memdelete(gl_manager);
gl_manager = nullptr;
diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h
index bbf0e64fd3..ba25829974 100644
--- a/platform/linuxbsd/display_server_x11.h
+++ b/platform/linuxbsd/display_server_x11.h
@@ -31,7 +31,7 @@
#ifndef DISPLAY_SERVER_X11_H
#define DISPLAY_SERVER_X11_H
-#include "drivers/gles_common/rasterizer_platforms.h"
+#include "drivers/opengl/rasterizer_platforms.h"
#ifdef X11_ENABLED
@@ -48,7 +48,7 @@
#include "servers/rendering/renderer_compositor.h"
#include "servers/rendering_server.h"
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
#include "gl_manager_x11.h"
#endif
@@ -101,7 +101,7 @@ class DisplayServerX11 : public DisplayServer {
Atom requested;
int xdnd_version;
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
GLManager_X11 *gl_manager = nullptr;
#endif
#if defined(VULKAN_ENABLED)
@@ -339,7 +339,7 @@ public:
virtual void window_set_max_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID) override;
virtual Size2i window_get_max_size(WindowID p_window = MAIN_WINDOW_ID) const override;
- virtual void gl_window_make_current(DisplayServer::WindowID p_window_id);
+ virtual void gl_window_make_current(DisplayServer::WindowID p_window_id) override;
virtual void window_set_transient(WindowID p_window, WindowID p_parent) override;
diff --git a/platform/linuxbsd/gl_manager_x11.cpp b/platform/linuxbsd/gl_manager_x11.cpp
index e3d12dcb01..5928ff3147 100644
--- a/platform/linuxbsd/gl_manager_x11.cpp
+++ b/platform/linuxbsd/gl_manager_x11.cpp
@@ -31,7 +31,7 @@
#include "gl_manager_x11.h"
#ifdef X11_ENABLED
-#if defined(GLES_X11_ENABLED)
+#if defined(OPENGL_ENABLED)
#include <stdio.h>
#include <stdlib.h>
@@ -174,9 +174,19 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) {
int (*oldHandler)(Display *, XErrorEvent *) = XSetErrorHandler(&ctxErrorHandler);
switch (context_type) {
- case GLES_2_0_COMPATIBLE: {
- gl_display.context->glx_context = glXCreateNewContext(gl_display.x11_display, fbconfig, GLX_RGBA_TYPE, 0, true);
- ERR_FAIL_COND_V(!gl_display.context->glx_context, ERR_UNCONFIGURED);
+ case GLES_3_0_COMPATIBLE: {
+ // FIXME: Use `GLX_CONTEXT_CORE_PROFILE_BIT_ARB` instead of compatibility profile
+ // once deprecated API usages are fixed.
+ static int context_attribs[] = {
+ GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
+ GLX_CONTEXT_MINOR_VERSION_ARB, 3,
+ GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB,
+ GLX_CONTEXT_FLAGS_ARB, GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB /*|GLX_CONTEXT_DEBUG_BIT_ARB*/,
+ None
+ };
+
+ gl_display.context->glx_context = glXCreateContextAttribsARB(x11_display, fbconfig, nullptr, true, context_attribs);
+ ERR_FAIL_COND_V(ctxErrorOccurred || !gl_display.context->glx_context, ERR_UNCONFIGURED);
} break;
}
diff --git a/platform/linuxbsd/gl_manager_x11.h b/platform/linuxbsd/gl_manager_x11.h
index 6781312074..e2e2545f3e 100644
--- a/platform/linuxbsd/gl_manager_x11.h
+++ b/platform/linuxbsd/gl_manager_x11.h
@@ -28,13 +28,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#pragma once
+#ifndef GL_MANAGER_X11_H
+#define GL_MANAGER_X11_H
#ifdef X11_ENABLED
-#include "drivers/gles_common/rasterizer_platforms.h"
+#include "drivers/opengl/rasterizer_platforms.h"
-#if defined(GLES_X11_ENABLED)
+#ifdef OPENGL_ENABLED
#include "core/os/os.h"
#include "core/templates/local_vector.h"
@@ -47,7 +48,7 @@ struct GLManager_X11_Private;
class GLManager_X11 {
public:
enum ContextType {
- GLES_2_0_COMPATIBLE,
+ GLES_3_0_COMPATIBLE,
};
private:
@@ -123,5 +124,7 @@ public:
~GLManager_X11();
};
-#endif // GLES_X11_ENABLED
+#endif // OPENGL_ENABLED
#endif // X11_ENABLED
+
+#endif // GL_MANAGER_X11_H
diff --git a/platform/linuxbsd/platform_config.h b/platform/linuxbsd/platform_config.h
index cdf989fee7..aa78b48bb0 100644
--- a/platform/linuxbsd/platform_config.h
+++ b/platform/linuxbsd/platform_config.h
@@ -44,5 +44,4 @@
#endif
#endif
-#define GLES3_INCLUDE_H "thirdparty/glad/glad/glad.h"
-#define GLES2_INCLUDE_H "thirdparty/glad/glad/glad.h"
+#define OPENGL_INCLUDE_H "thirdparty/glad/glad/glad.h"
diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm
index 3fe055a511..b9d47a757c 100644
--- a/platform/osx/display_server_osx.mm
+++ b/platform/osx/display_server_osx.mm
@@ -3750,7 +3750,7 @@ DisplayServerOSX::DisplayServerOSX(const String &p_rendering_driver, WindowMode
[main_menu setSubmenu:apple_menu forItem:menu_item];
//!!!!!!!!!!!!!!!!!!!!!!!!!!
- //TODO - do Vulkan and GLES2 support checks, driver selection and fallback
+ //TODO - do Vulkan and OpenGL support checks, driver selection and fallback
rendering_driver = p_rendering_driver;
#ifndef _MSC_VER
diff --git a/platform/osx/platform_config.h b/platform/osx/platform_config.h
index d36a72f9a1..7bfa466b97 100644
--- a/platform/osx/platform_config.h
+++ b/platform/osx/platform_config.h
@@ -30,6 +30,5 @@
#include <alloca.h>
-#define GLES3_INCLUDE_H "thirdparty/glad/glad/glad.h"
-#define GLES2_INCLUDE_H "thirdparty/glad/glad/glad.h"
+#define OPENGL_INCLUDE_H "thirdparty/glad/glad/glad.h"
#define PTHREAD_RENAME_SELF
diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp
index 1a84f5da38..2d355f5f42 100644
--- a/platform/uwp/os_uwp.cpp
+++ b/platform/uwp/os_uwp.cpp
@@ -161,7 +161,7 @@ Error OS_UWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
outside = true;
// FIXME: Hardcoded for now, add Vulkan support.
- p_video_driver = VIDEO_DRIVER_GLES2;
+ p_video_driver = VIDEO_DRIVER_OPENGL;
ContextEGL_UWP::Driver opengl_api_type = ContextEGL_UWP::GLES_2_0;
bool gl_initialization_error = false;
@@ -175,9 +175,9 @@ Error OS_UWP::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
}
if (opengl_api_type == ContextEGL_UWP::GLES_2_0) {
- if (RasterizerGLES2::is_viable() == OK) {
- RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ if (RasterizerOpenGLis_viable() == OK) {
+ RasterizerOpenGLregister_config();
+ RasterizerOpenGLmake_current();
} else {
gl_initialization_error = true;
}
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index d8a1ff4c80..4740181df0 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -279,7 +279,7 @@ def configure_msvc(env, manual_msvc_config):
if not env["use_volk"]:
LIBS += ["vulkan"]
- # env.AppendUnique(CPPDEFINES = ['OPENGL_ENABLED'])
+ env.AppendUnique(CPPDEFINES=["OPENGL_ENABLED"])
LIBS += ["opengl32"]
env.Append(LINKFLAGS=[p + env["LIBSUFFIX"] for p in LIBS])
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 4b09edabdb..fda0bb1627 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -38,8 +38,8 @@
#include <avrt.h>
-#if defined(GLES_WINDOWS_ENABLED)
-#include "drivers/gles2/rasterizer_gles2.h"
+#if defined(OPENGL_ENABLED)
+#include "drivers/opengl/rasterizer_opengl.h"
#endif
static String format_error_message(DWORD id) {
@@ -537,8 +537,8 @@ void DisplayServerWindows::delete_sub_window(WindowID p_window) {
context_vulkan->window_destroy(p_window);
}
#endif
-#ifdef GLES_WINDOWS_ENABLED
- if (rendering_driver == "GLES2") {
+#ifdef OPENGL_ENABLED
+ if (rendering_driver == "opengl") {
gl_manager->window_destroy(p_window);
}
#endif
@@ -552,7 +552,7 @@ void DisplayServerWindows::delete_sub_window(WindowID p_window) {
}
void DisplayServerWindows::gl_window_make_current(DisplayServer::WindowID p_window_id) {
-#if defined(GLES_WINDOWS_ENABLED)
+#if defined(OPENGL_ENABLED)
gl_manager->window_make_current(p_window_id);
#endif
}
@@ -827,8 +827,8 @@ void DisplayServerWindows::window_set_size(const Size2i p_size, WindowID p_windo
context_vulkan->window_resize(p_window, w, h);
}
#endif
-#if defined(GLES_WINDOWS_ENABLED)
- if (rendering_driver == "GLES2") {
+#if defined(OPENGL_ENABLED)
+ if (rendering_driver == "opengl") {
gl_manager->window_resize(p_window, w, h);
}
#endif
@@ -1611,7 +1611,7 @@ void DisplayServerWindows::make_rendering_thread() {
}
void DisplayServerWindows::swap_buffers() {
-#if defined(GLES_WINDOWS_ENABLED)
+#if defined(OPENGL_ENABLED)
gl_manager->swap_buffers();
#endif
}
@@ -1765,17 +1765,18 @@ void DisplayServerWindows::set_icon(const Ref<Image> &p_icon) {
void DisplayServerWindows::window_set_vsync_mode(DisplayServer::VSyncMode p_vsync_mode, WindowID p_window) {
_THREAD_SAFE_METHOD_
#if defined(VULKAN_ENABLED)
- context_vulkan->set_vsync_mode(p_window, p_vsync_mode);
+ // TODO disabling for now
+ //context_vulkan->set_vsync_mode(p_window, p_vsync_mode);
#endif
}
DisplayServer::VSyncMode DisplayServerWindows::window_get_vsync_mode(WindowID p_window) const {
_THREAD_SAFE_METHOD_
#if defined(VULKAN_ENABLED)
- return context_vulkan->get_vsync_mode(p_window);
-#else
- return DisplayServer::VSYNC_ENABLED;
+ //TODO disabling for now
+ //return context_vulkan->get_vsync_mode(p_window);
#endif
+ return DisplayServer::VSYNC_ENABLED;
}
void DisplayServerWindows::set_context(Context p_context) {
@@ -3109,11 +3110,11 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
}
#endif
-#ifdef GLES_WINDOWS_ENABLED
+#ifdef OPENGL_ENABLED
print_line("rendering_driver " + rendering_driver);
- if (rendering_driver == "GLES2") {
+ if (rendering_driver == "opengl") {
Error err = gl_manager->window_create(id, wd.hWnd, hInstance, WindowRect.right - WindowRect.left, WindowRect.bottom - WindowRect.top);
- ERR_FAIL_COND_V_MSG(err != OK, INVALID_WINDOW_ID, "Can't create a GLES2 window");
+ ERR_FAIL_COND_V_MSG(err != OK, INVALID_WINDOW_ID, "Failed to create an OpenGL window.");
}
#endif
@@ -3247,6 +3248,8 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
outside = true;
+ rendering_driver = p_rendering_driver;
+
// Note: Wacom WinTab driver API for pen input, for devices incompatible with Windows Ink.
HMODULE wintab_lib = LoadLibraryW(L"wintab32.dll");
if (wintab_lib) {
@@ -3323,9 +3326,6 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
use_raw_input = false;
}
- // hard coded render drivers...
- // rendering_driver = "vulkan";
- // rendering_driver = "GLES2";
print_line("rendering_driver " + rendering_driver);
#if defined(VULKAN_ENABLED)
@@ -3340,10 +3340,10 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
}
#endif
// Init context and rendering device
-#if defined(GLES_WINDOWS_ENABLED)
+#if defined(OPENGL_ENABLED)
- if (rendering_driver == "GLES2") {
- GLManager_Windows::ContextType opengl_api_type = GLManager_Windows::GLES_2_0_COMPATIBLE;
+ if (rendering_driver == "opengl") {
+ GLManager_Windows::ContextType opengl_api_type = GLManager_Windows::GLES_3_0_COMPATIBLE;
gl_manager = memnew(GLManager_Windows(opengl_api_type));
@@ -3357,7 +3357,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
// gl_manager->set_use_vsync(current_videomode.use_vsync);
if (true) {
- RasterizerGLES2::make_current();
+ RasterizerOpenGL::make_current();
} else {
memdelete(gl_manager);
gl_manager = nullptr;
@@ -3380,9 +3380,9 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
context_gles2->set_use_vsync(video_mode.use_vsync);
- if (RasterizerGLES2::is_viable() == OK) {
- RasterizerGLES2::register_config();
- RasterizerGLES2::make_current();
+ if (RasterizerOpenGL::is_viable() == OK) {
+ RasterizerOpenGL::register_config();
+ RasterizerOpenGL::make_current();
} else {
memdelete(context_gles2);
context_gles2 = nullptr;
@@ -3448,8 +3448,8 @@ Vector<String> DisplayServerWindows::get_rendering_drivers_func() {
#ifdef VULKAN_ENABLED
drivers.push_back("vulkan");
#endif
-#ifdef GLES_WINDOWS_ENABLED
- drivers.push_back("GLES2");
+#ifdef OPENGL_ENABLED
+ drivers.push_back("opengl");
#endif
return drivers;
@@ -3458,7 +3458,7 @@ Vector<String> DisplayServerWindows::get_rendering_drivers_func() {
DisplayServer *DisplayServerWindows::create_func(const String &p_rendering_driver, WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) {
DisplayServer *ds = memnew(DisplayServerWindows(p_rendering_driver, p_mode, p_vsync_mode, p_flags, p_resolution, r_error));
if (r_error != OK) {
- OS::get_singleton()->alert("Your video card driver does not support any of the supported Vulkan versions.\n"
+ OS::get_singleton()->alert("Your video card driver does not support any of the supported Vulkan or OpenGL versions.\n"
"Please update your drivers or if you have a very old or integrated GPU upgrade it.",
"Unable to initialize Video driver");
}
@@ -3479,7 +3479,7 @@ DisplayServerWindows::~DisplayServerWindows() {
SetWindowLongPtr(windows[MAIN_WINDOW_ID].hWnd, GWLP_WNDPROC, (LONG_PTR)user_proc);
};
-#ifdef GLES_WINDOWS_ENABLED
+#ifdef OPENGL_ENABLED
// destroy windows .. NYI?
#endif
@@ -3511,7 +3511,7 @@ DisplayServerWindows::~DisplayServerWindows() {
if (restore_mouse_trails > 1) {
SystemParametersInfoA(SPI_SETMOUSETRAILS, restore_mouse_trails, 0, 0);
}
-#ifdef GLES_WINDOWS_ENABLED
+#ifdef OPENGL_ENABLED
if (gl_manager) {
memdelete(gl_manager);
gl_manager = nullptr;
diff --git a/platform/windows/display_server_windows.h b/platform/windows/display_server_windows.h
index 145c147208..86f47eabc8 100644
--- a/platform/windows/display_server_windows.h
+++ b/platform/windows/display_server_windows.h
@@ -56,7 +56,7 @@
#include "platform/windows/vulkan_context_win.h"
#endif
-#if defined(GLES_WINDOWS_ENABLED)
+#if defined(OPENGL_ENABLED)
#include "gl_manager_windows.h"
#endif
@@ -304,7 +304,7 @@ class DisplayServerWindows : public DisplayServer {
int old_x, old_y;
Point2i center;
-#if defined(GLES_WINDOWS_ENABLED)
+#if defined(OPENGL_ENABLED)
GLManager_Windows *gl_manager;
#endif
diff --git a/platform/windows/gl_manager_windows.cpp b/platform/windows/gl_manager_windows.cpp
index b6107088a2..8a79da987b 100644
--- a/platform/windows/gl_manager_windows.cpp
+++ b/platform/windows/gl_manager_windows.cpp
@@ -31,7 +31,7 @@
#include "gl_manager_windows.h"
#ifdef WINDOWS_ENABLED
-#ifdef GLES_WINDOWS_ENABLED
+#ifdef OPENGL_ENABLED
#include <stdio.h>
#include <stdlib.h>
@@ -66,7 +66,7 @@ int GLManager_Windows::_find_or_create_display(GLWindow &win) {
// }
// create
- GLDisplay d_temp;
+ GLDisplay d_temp = {};
_displays.push_back(d_temp);
int new_display_id = _displays.size() - 1;
diff --git a/platform/windows/gl_manager_windows.h b/platform/windows/gl_manager_windows.h
index 7d0aa0d624..53557cf68e 100644
--- a/platform/windows/gl_manager_windows.h
+++ b/platform/windows/gl_manager_windows.h
@@ -28,11 +28,10 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#pragma once
+#ifndef GL_MANAGER_WINDOWS_H
+#define GL_MANAGER_WINDOWS_H
-#ifdef WINDOWS_ENABLED
-
-#ifdef GLES_WINDOWS_ENABLED
+#if defined(WINDOWS_ENABLED) && defined(OPENGL_ENABLED)
#include "core/error/error_list.h"
#include "core/os/os.h"
@@ -47,7 +46,7 @@ typedef int(APIENTRY *PFNWGLGETSWAPINTERVALEXTPROC)(void);
class GLManager_Windows {
public:
enum ContextType {
- GLES_2_0_COMPATIBLE,
+ GLES_3_0_COMPATIBLE,
};
private:
@@ -124,6 +123,6 @@ public:
~GLManager_Windows();
};
-#endif // OPENGL_ENABLED
+#endif // defined(WINDOWS_ENABLED) && defined(OPENGL_ENABLED)
-#endif // WINDOWS
+#endif // GL_MANAGER_WINDOWS_H
diff --git a/platform/windows/platform_config.h b/platform/windows/platform_config.h
index 87e1743d49..dace0f86af 100644
--- a/platform/windows/platform_config.h
+++ b/platform/windows/platform_config.h
@@ -30,5 +30,4 @@
#include <malloc.h>
-#define GLES3_INCLUDE_H "thirdparty/glad/glad/glad.h"
-#define GLES2_INCLUDE_H "thirdparty/glad/glad/glad.h"
+#define OPENGL_INCLUDE_H "thirdparty/glad/glad/glad.h"