Merge branch 'master' into blender2.8
[blender.git] / source / blender / gpu / intern / gpu_select.c
index c384fa01fc69c7b85053c346eeaee9ec99c01de8..162a605ef3d04e0fdd7da526d4cf000a77c93c69 100644 (file)
@@ -75,6 +75,12 @@ static GPUSelectState g_select_state = {0};
  */
 void GPU_select_begin(unsigned int *buffer, unsigned int bufsize, const rcti *input, char mode, int oldhits)
 {
+       if (mode == GPU_SELECT_NEAREST_SECOND_PASS) {
+               /* In the case hits was '-1', don't start the second pass since it's not going to give useful results.
+                * As well as buffer overflow in 'gpu_select_query_load_id'. */
+               BLI_assert(oldhits != -1);
+       }
+
        g_select_state.select_is_active = true;
        g_select_state.use_gpu_select = GPU_select_query_check_active();
        g_select_state.mode = mode;