diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-03-09 12:47:37 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-03-09 12:47:37 +0300 |
commit | 88e8e7a0749e8c8d077ec70c91e6ca9674d239f5 (patch) | |
tree | e4eb50c14b1c029095df243a73aa1efa6fedf922 /source/blender/editors/space_view3d/view3d_view.c | |
parent | 4ab322fdd2e019ba337b2560a2d36f2175c03a32 (diff) |
3D View: wrap GPU_select cache calls
Avoids including GPU_select and makes it more clear that the cache is
needed for view3d_opengl_select calls.
Also use typed enum for select mode.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_view.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 9d1a3633786..e8deaabec7a 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -1164,6 +1164,21 @@ static void view3d_select_loop(ViewContext *vc, Scene *scene, View3D *v3d, ARegi } /** + * Optionally cache data for multiple calls to #view3d_opengl_select + * + * just avoid GPU_select headers outside this file + */ +void view3d_opengl_select_cache_begin(void) +{ + GPU_select_cache_begin(); +} + +void view3d_opengl_select_cache_end(void) +{ + GPU_select_cache_end(); +} + +/** * \warning be sure to account for a negative return value * This is an error, "Too many objects in select buffer" * and no action should be taken (can crash blender) if this happens @@ -1172,7 +1187,7 @@ static void view3d_select_loop(ViewContext *vc, Scene *scene, View3D *v3d, ARegi */ int view3d_opengl_select( ViewContext *vc, unsigned int *buffer, unsigned int bufsize, const rcti *input, - int select_mode) + eV3DSelectMode select_mode) { Scene *scene = vc->scene; View3D *v3d = vc->v3d; |