summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorreduz <juan@okamstudio.com>2016-12-21 02:29:58 -0300
committerreduz <juan@okamstudio.com>2016-12-21 02:29:58 -0300
commit72b844c34999d8615450798ed1f27ef24a72d8ce (patch)
treecc51d63b1725459d0da37fd807301d8e3540a395 /platform
parent075fde7f26d6c3b02df5108065d1a9f979437bb8 (diff)
Godot works on Windows again..
Diffstat (limited to 'platform')
-rw-r--r--platform/windows/context_gl_win.cpp10
-rw-r--r--platform/windows/detect.py4
-rw-r--r--platform/windows/os_windows.cpp27
-rw-r--r--platform/windows/os_windows.h2
-rw-r--r--platform/windows/platform_config.h4
5 files changed, 26 insertions, 21 deletions
diff --git a/platform/windows/context_gl_win.cpp b/platform/windows/context_gl_win.cpp
index fd9e895370..57950d33ca 100644
--- a/platform/windows/context_gl_win.cpp
+++ b/platform/windows/context_gl_win.cpp
@@ -162,8 +162,8 @@ Error ContextGL_Win::initialize() {
if (opengl_3_context) {
int attribs[] = {
- WGL_CONTEXT_MAJOR_VERSION_ARB, 3,//we want a 3.1 context
- WGL_CONTEXT_MINOR_VERSION_ARB, 2,
+ WGL_CONTEXT_MAJOR_VERSION_ARB, 3,//we want a 3.3 context
+ WGL_CONTEXT_MINOR_VERSION_ARB, 3,
//and it shall be forward compatible so that we can only use up to date functionality
WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
0}; //zero indicates the end of the array
@@ -182,7 +182,7 @@ Error ContextGL_Win::initialize() {
if (!(new_hRC=wglCreateContextAttribsARB(hDC,0, attribs)))
{
wglDeleteContext(hRC);
- MessageBox(NULL,"Can't Create An OpenGL 3.1 Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
+ MessageBox(NULL,"Can't Create An OpenGL 3.3 Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return ERR_CANT_CREATE; // Return false
}
wglMakeCurrent(hDC,NULL);
@@ -191,11 +191,11 @@ Error ContextGL_Win::initialize() {
if (!wglMakeCurrent(hDC,hRC)) // Try To Activate The Rendering Context
{
- MessageBox(NULL,"Can't Activate The GL 3.1 Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
+ MessageBox(NULL,"Can't Activate The GL 3.3 Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return ERR_CANT_CREATE; // Return FALSE
}
- printf("Activated GL 3.1 context");
+ printf("Activated GL 3.3 context");
}
wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) wglGetProcAddress ("wglSwapIntervalEXT");
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index 12ea5a93ee..286e6cb78c 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -244,7 +244,7 @@ def configure(env):
env.Append(CCFLAGS=['/DWIN32'])
env.Append(CCFLAGS=['/DTYPED_METHOD_BIND'])
- env.Append(CCFLAGS=['/DGLES2_ENABLED'])
+ env.Append(CCFLAGS=['/DOPENGL_ENABLED'])
LIBS=['winmm','opengl32','dsound','kernel32','ole32','oleaut32','user32','gdi32', 'IPHLPAPI','Shlwapi', 'wsock32','Ws2_32', 'shell32','advapi32','dinput8','dxguid']
env.Append(LINKFLAGS=[p+env["LIBSUFFIX"] for p in LIBS])
@@ -372,7 +372,7 @@ def configure(env):
env.Append(CCFLAGS=['-DWINDOWS_ENABLED','-mwindows'])
env.Append(CPPFLAGS=['-DRTAUDIO_ENABLED'])
- env.Append(CCFLAGS=['-DGLES2_ENABLED'])
+ env.Append(CCFLAGS=['-DOPENGL_ENABLED'])
env.Append(LIBS=['mingw32','opengl32', 'dsound', 'ole32', 'd3d9','winmm','gdi32','iphlpapi','shlwapi','wsock32','ws2_32','kernel32', 'oleaut32', 'dinput8', 'dxguid'])
# if (env["bits"]=="32"):
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index 92359892a8..7321f5d1b1 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -26,9 +26,11 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "drivers/gles2/rasterizer_gles2.h"
+
#include "os_windows.h"
+#include "drivers/gles3/rasterizer_gles3.h"
+
#include "drivers/nedmalloc/memory_pool_static_nedmalloc.h"
#include "drivers/unix/memory_pool_static_malloc.h"
#include "os/memory_pool_dynamic_static.h"
@@ -42,7 +44,7 @@
#include "servers/visual/visual_server_raster.h"
#include "servers/audio/audio_server_sw.h"
-#include "servers/visual/visual_server_wrap_mt.h"
+//#include "servers/visual/visual_server_wrap_mt.h"
#include "tcp_server_winsock.h"
#include "packet_peer_udp_winsock.h"
@@ -1079,21 +1081,24 @@ void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_
};
-#if defined(OPENGL_ENABLED) || defined(GLES2_ENABLED) || defined(LEGACYGL_ENABLED)
- gl_context = memnew( ContextGL_Win(hWnd,false) );
+#if defined(OPENGL_ENABLED)
+ gl_context = memnew( ContextGL_Win(hWnd,true) );
gl_context->initialize();
- rasterizer = memnew( RasterizerGLES2 );
+
+ RasterizerGLES3::register_config();
+
+ RasterizerGLES3::make_current();
#else
#ifdef DX9_ENABLED
rasterizer = memnew( RasterizerDX9(hWnd) );
#endif
#endif
- visual_server = memnew( VisualServerRaster(rasterizer) );
- if (get_render_thread_mode()!=RENDER_THREAD_UNSAFE) {
-
- visual_server =memnew(VisualServerWrapMT(visual_server,get_render_thread_mode()==RENDER_SEPARATE_THREAD));
- }
+ visual_server = memnew( VisualServerRaster );
+ //if (get_render_thread_mode()!=RENDER_THREAD_UNSAFE) {
+//
+// visual_server =memnew(VisualServerWrapMT(visual_server,get_render_thread_mode()==RENDER_SEPARATE_THREAD));
+// }
//
physics_server = memnew( PhysicsServerSW );
@@ -1758,7 +1763,7 @@ void OS_Windows::print_error(const char* p_function, const char* p_file, int p_l
case ERR_ERROR: print("ERROR: "); break;
case ERR_WARNING: print("WARNING: "); break;
case ERR_SCRIPT: print("SCRIPT ERROR: "); break;
- case ERR_SCRIPT: print("SHADER ERROR: "); break;
+ case ERR_SHADER: print("SHADER ERROR: "); break;
}
SetConsoleTextAttribute(hCon, current_fg | current_bg | FOREGROUND_INTENSITY);
diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h
index 70ef694957..bbacdb1a91 100644
--- a/platform/windows/os_windows.h
+++ b/platform/windows/os_windows.h
@@ -92,7 +92,7 @@ class OS_Windows : public OS {
int old_x,old_y;
Point2i center;
unsigned int last_id;
-#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED) || defined(GLES2_ENABLED)
+#if defined(OPENGL_ENABLED)
ContextGL_Win *gl_context;
#endif
VisualServer *visual_server;
diff --git a/platform/windows/platform_config.h b/platform/windows/platform_config.h
index 296a778ac8..fbcf0f74d2 100644
--- a/platform/windows/platform_config.h
+++ b/platform/windows/platform_config.h
@@ -30,7 +30,7 @@
//#else
//#include <alloca.h>
//#endif
-#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
-#define GLES3_INCLUDE_H "gl_context/GL/glew.h"
+//#define GLES2_INCLUDE_H "gl_context/GL/glew.h"
+#define GLES3_INCLUDE_H "gl_context/glad/glad.h"