This option limits visibility of the glew.h header to just bf_gpu and intern_gawain
authorRay Molenkamp <github@lazydodo.com>
Sat, 16 Jun 2018 02:17:16 +0000 (20:17 -0600)
committerRay Molenkamp <github@lazydodo.com>
Sat, 16 Jun 2018 02:17:16 +0000 (20:17 -0600)
this is to highlight areas in the code that still directly do opengl calls or use
opengl types.

This is in preparation for supporting alternative rendering back-ends.

Reviewers: brecht, fclem

Differential Revision: https://developer.blender.org/D3304

CMakeLists.txt
intern/gawain/CMakeLists.txt
intern/gawain/gawain/gwn_common.h
source/blender/gpu/CMakeLists.txt
source/blender/gpu/GPU_glew.h

index 4a537a0..4da0f70 100644 (file)
@@ -458,11 +458,13 @@ endif()
 
 # OpenGL
 
+option(WITH_OPENGL              "When off limits visibility of the opengl headers to just bf_gpu and gawain (temporary option for development purposes)" ON)
 option(WITH_GLEW_ES             "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
 option(WITH_GL_EGL              "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)"       OFF)
 option(WITH_GL_PROFILE_ES20     "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)"                                  OFF)
 
 mark_as_advanced(
+       WITH_OPENGL
        WITH_GLEW_ES
        WITH_GL_EGL
        WITH_GL_PROFILE_ES20
@@ -1003,6 +1005,10 @@ endif()
 find_package(OpenGL)
 blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
 
+if(WITH_OPENGL)
+       add_definitions(-DWITH_OPENGL)
+endif()
+
 if(WITH_SYSTEM_GLES)
        find_package_wrapper(OpenGLES)
 endif()
index 177c763..ced52b2 100644 (file)
@@ -1,3 +1,10 @@
+# WITH_OPENGL limits the visibility of the opengl headers to just gawain and bg_gpu,
+# to more easily highlight codepadths in other libraries that need to be refactored, 
+# bf_intern_gawain is allowed to have opengl regardless of this option.
+
+if(NOT WITH_OPENGL)
+       add_definitions(-DWITH_OPENGL)
+endif()
 
 set(INC
        gawain
index f1512bf..6a56543 100644 (file)
   #define TRUST_NO_ONE 1
 #endif
 
-#include <GL/glew.h>
+#if defined(WITH_OPENGL)
+  #include <GL/glew.h>
+#endif
+
 #include <stdbool.h>
 #include <stdint.h>
 
index 481133b..fe6d438 100644 (file)
 #
 # ***** END GPL LICENSE BLOCK *****
 
+# WITH_OPENGL limits the visibility of the opengl headers to just gawain and bg_gpu,
+# to more easily highlight codepadths in other libraries that need to be refactored, 
+# bf_gpu is allowed to have opengl regardless of this option.
+
+if(NOT WITH_OPENGL)
+       add_definitions(-DWITH_OPENGL)
+endif()
+
 set(INC
        .
        ../blenkernel
index afe1c97..b3e2a9f 100644 (file)
 #ifndef __GPU_GLEW_H__
 #define __GPU_GLEW_H__
 
-#include "glew-mx.h"
+#if defined(WITH_OPENGL)
+       #include "glew-mx.h"
 
-#ifndef WITH_LEGACY_OPENGL
-#include "GPU_legacy_stubs.h"
+       #ifndef WITH_LEGACY_OPENGL
+               #include "GPU_legacy_stubs.h"
+       #endif
 #endif
 
 #endif /* __GPU_GLEW_H__ */