diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-03-01 08:48:13 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-03-01 08:48:13 +0300 |
commit | b5cc55c8220480ee1b17405265512d9a16f46004 (patch) | |
tree | b9df8f0f70b218f156c30118ce4fc41fac68d19c /source/blender/gpu/intern | |
parent | a459ef2827f1bb9e6ce92b0946a7463061c9ac55 (diff) | |
parent | 172614fb7dac799d373e778a541e8d9f78228221 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/gpu/intern')
-rw-r--r-- | source/blender/gpu/intern/gpu_select.c | 23 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_select_pick.c | 22 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_select_private.h | 1 |
3 files changed, 3 insertions, 43 deletions
diff --git a/source/blender/gpu/intern/gpu_select.c b/source/blender/gpu/intern/gpu_select.c index 42d152cc7de..7023e44d289 100644 --- a/source/blender/gpu/intern/gpu_select.c +++ b/source/blender/gpu/intern/gpu_select.c @@ -150,29 +150,6 @@ bool GPU_select_load_id(uint id) } /** - * Needed when GL context of #GPU_select_end - * can't be used to finalize selection operations - * (because of context changes). - */ -void GPU_select_finalize(void) -{ - if (!g_select_state.select_is_active) - return; - - switch (g_select_state.algorithm) { - case ALGO_GL_LEGACY: - case ALGO_GL_QUERY: - { - break; - } - default: /* ALGO_GL_PICK */ - { - gpu_select_pick_finalize(); - } - } -} - -/** * Cleanup and flush selection results to buffer. * Return number of hits and hits in buffer. * if \a dopass is true, we will do a second pass with occlusion queries to get the closest hit. diff --git a/source/blender/gpu/intern/gpu_select_pick.c b/source/blender/gpu/intern/gpu_select_pick.c index 9aff708d32a..4aef80934ad 100644 --- a/source/blender/gpu/intern/gpu_select_pick.c +++ b/source/blender/gpu/intern/gpu_select_pick.c @@ -257,7 +257,6 @@ typedef struct GPUPickState { /* Set after first draw */ bool is_init; - bool is_finalized; uint prev_id; } gl; @@ -368,7 +367,6 @@ void gpu_select_pick_begin( #endif ps->gl.is_init = false; - ps->gl.is_finalized = false; ps->gl.prev_id = 0; } else { @@ -529,20 +527,6 @@ bool gpu_select_pick_load_id(uint id) return true; } - /** - * (Optional), call before 'gpu_select_pick_end' if GL context is not kept. - * is not compatible with regular select case. - * */ -void gpu_select_pick_finalize(void) -{ - GPUPickState *ps = &g_pick_state; - if (ps->gl.is_init) { - /* force finishing last pass */ - gpu_select_pick_load_id(ps->gl.prev_id); - } - ps->gl.is_finalized = true; -} - uint gpu_select_pick_end(void) { GPUPickState *ps = &g_pick_state; @@ -552,10 +536,10 @@ uint gpu_select_pick_end(void) #endif if (ps->is_cached == false) { - if (ps->gl.is_finalized == false) { - gpu_select_pick_finalize(); + if (ps->gl.is_init) { + /* force finishing last pass */ + gpu_select_pick_load_id(ps->gl.prev_id); } - gpuPopAttrib(); glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); } diff --git a/source/blender/gpu/intern/gpu_select_private.h b/source/blender/gpu/intern/gpu_select_private.h index 8368aaa9edc..8935bd7b253 100644 --- a/source/blender/gpu/intern/gpu_select_private.h +++ b/source/blender/gpu/intern/gpu_select_private.h @@ -35,7 +35,6 @@ /* gpu_select_pick */ void gpu_select_pick_begin(unsigned int (*buffer)[4], unsigned int bufsize, const rcti *input, char mode); bool gpu_select_pick_load_id(unsigned int id); -void gpu_select_pick_finalize(void); unsigned int gpu_select_pick_end(void); void gpu_select_pick_cache_begin(void); |