Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorMike Erwin <significant.bit@gmail.com>2016-10-01 02:10:30 +0300
committerMike Erwin <significant.bit@gmail.com>2016-10-01 02:10:30 +0300
commit82648a8f919cf42355c3be3d1feabab0c5889508 (patch)
tree634f03cd67ad622285b9f9f863a80106a01b049e /source
parent42ed1f0e3cbd9d477b7a535b52030c7905ca5362 (diff)
OpenGL: make platform requirements explicit
At context startup, make sure our assumptions about the OpenGL version are true. Should match since we set up the contexts... but this is what asserts are for, to check "should"s! Part of T49012
Diffstat (limited to 'source')
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index 26c863d9ed4..1e283b5f56d 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -128,10 +128,21 @@ void GPU_get_dfdy_factors(float fac[2])
void gpu_extensions_init(void)
{
- BLI_assert(GLEW_VERSION_3_0 || /* Mesa mininum requirement */
- (GLEW_VERSION_2_1 && GLEW_EXT_gpu_shader4 /* Mac minimum requirement */
- && GLEW_ARB_framebuffer_object
- && GLEW_APPLE_flush_buffer_range));
+ /* during 2.8 development each platform has its own OpenGL minimum requirements
+ * final 2.8 release will be unified on OpenGL 3.2 core profile, no required extensions
+ * see developer.blender.org/T49012 for details
+ */
+#ifdef _WIN32
+ BLI_assert(GLEW_VERSION_3_2);
+#elif defined(__APPLE__)
+ BLI_assert(GLEW_VERSION_2_1 && GLEW_EXT_gpu_shader4
+ && GLEW_ARB_framebuffer_object
+ && GLEW_ARB_draw_elements_base_vertex
+ && GLEW_APPLE_flush_buffer_range);
+#else
+ BLI_assert(GLEW_VERSION_3_2 || (GLEW_VERSION_3_0 && ARB_draw_elements_base_vertex));
+ /* vendor driver || Mesa compatibility profile */
+#endif
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &GG.maxtextures);