diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-07-16 04:01:07 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-07-16 19:01:44 +0300 |
commit | 71ac1376627b3abc7e2bda93fef42bc3b81f9b4e (patch) | |
tree | d07bc60ce520b9f27517f6f3955d62169ab736eb /source | |
parent | 8084b7e6e273e16a4441100a56570627128413da (diff) |
Cleanup: GPU: Move quad buffer stereo check to GPU module
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/gpu/GPU_extensions.h | 2 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_extensions.c | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_stereo.c | 10 |
3 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h index ab54148a2ff..263deeaf28d 100644 --- a/source/blender/gpu/GPU_extensions.h +++ b/source/blender/gpu/GPU_extensions.h @@ -57,6 +57,8 @@ void GPU_mem_stats_get(int *totalmem, int *freemem); void GPU_code_generate_glsl_lib(void); +bool GPU_stereo_quadbuffer_support(void); + #ifdef __cplusplus } #endif diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index d1c7aba37df..1c533c80ab7 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -437,3 +437,11 @@ void GPU_mem_stats_get(int *totalmem, int *freemem) *freemem = 0; } } + +/* Return support for the active context + window. */ +bool GPU_stereo_quadbuffer_support(void) +{ + GLboolean stereo = GL_FALSE; + glGetBooleanv(GL_STEREO, &stereo); + return stereo == GL_TRUE; +} diff --git a/source/blender/windowmanager/intern/wm_stereo.c b/source/blender/windowmanager/intern/wm_stereo.c index 8ae343d5eb5..245560d3795 100644 --- a/source/blender/windowmanager/intern/wm_stereo.c +++ b/source/blender/windowmanager/intern/wm_stereo.c @@ -40,6 +40,7 @@ #include "ED_screen.h" +#include "GPU_extensions.h" #include "GPU_immediate.h" #include "GPU_texture.h" #include "GPU_viewport.h" @@ -147,13 +148,6 @@ void wm_stereo3d_draw_topbottom(wmWindow *win, int view) immUnbindProgram(); } -static bool wm_stereo3d_quadbuffer_supported(void) -{ - GLboolean stereo = GL_FALSE; - glGetBooleanv(GL_STEREO, &stereo); - return stereo == GL_TRUE; -} - static bool wm_stereo3d_is_fullscreen_required(eStereoDisplayMode stereo_display) { return ELEM(stereo_display, S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM); @@ -325,7 +319,7 @@ int wm_stereo3d_set_exec(bContext *C, wmOperator *op) } /* pageflip requires a new window to be created with the proper OS flags */ else if ((win_dst = wm_window_copy_test(C, win_src, false, false))) { - if (wm_stereo3d_quadbuffer_supported()) { + if (GPU_stereo_quadbuffer_support()) { BKE_report(op->reports, RPT_INFO, "Quad-buffer window successfully created"); } else { |