diff options
author | Ray Molenkamp <github@lazydodo.com> | 2018-06-16 05:17:16 +0300 |
---|---|---|
committer | Ray Molenkamp <github@lazydodo.com> | 2018-06-16 05:17:16 +0300 |
commit | 9d876960e8914bfa11bc3be1e500832711c20350 (patch) | |
tree | fe0a55bf269e93cbb51e3f229e01a06722d472d2 | |
parent | 01f576e87b54159bb360cf1ed85518bb75231107 (diff) |
This option limits visibility of the glew.h header to just bf_gpu and intern_gawain
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
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | intern/gawain/CMakeLists.txt | 7 | ||||
-rw-r--r-- | intern/gawain/gawain/gwn_common.h | 5 | ||||
-rw-r--r-- | source/blender/gpu/CMakeLists.txt | 8 | ||||
-rw-r--r-- | source/blender/gpu/GPU_glew.h | 8 |
5 files changed, 30 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a537a01545..4da0f70884a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/intern/gawain/CMakeLists.txt b/intern/gawain/CMakeLists.txt index 177c76327aa..ced52b22e2c 100644 --- a/intern/gawain/CMakeLists.txt +++ b/intern/gawain/CMakeLists.txt @@ -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 diff --git a/intern/gawain/gawain/gwn_common.h b/intern/gawain/gawain/gwn_common.h index f1512bf4466..6a56543da40 100644 --- a/intern/gawain/gawain/gwn_common.h +++ b/intern/gawain/gawain/gwn_common.h @@ -20,7 +20,10 @@ #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> diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index 481133ba984..fe6d438924f 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -23,6 +23,14 @@ # # ***** 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 diff --git a/source/blender/gpu/GPU_glew.h b/source/blender/gpu/GPU_glew.h index afe1c9763ad..b3e2a9fcfa5 100644 --- a/source/blender/gpu/GPU_glew.h +++ b/source/blender/gpu/GPU_glew.h @@ -32,10 +32,12 @@ #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__ */ |