diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 844d7ba41c87909493342462a3a910a3bb0578e2..3f773effcb1ea4f30956b5a970ce4abe4b9558ed 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -789,6 +789,8 @@ void LLViewerObjectList::renderObjectBeacons() // gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) BOOL flush = FALSE; + S32 flush_me = 128; + for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter) { const LLDebugBeacon &debug_beacon = *iter; @@ -818,6 +820,14 @@ void LLViewerObjectList::renderObjectBeacons() gGL.vertex3f(thisline.mV[VX],thisline.mV[VY] + 2.f,thisline.mV[VZ]); draw_line_cube(0.10f, thisline); + + if (--flush_me <= 0) + { + flush_me = 128; + gGL.end(); + gGL.flush(); + gGL.begin(LLRender::LINES); + } } gGL.end(); } @@ -830,6 +840,8 @@ void LLViewerObjectList::renderObjectBeacons() // gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width) BOOL flush = FALSE; + S32 flush_me = 128; + for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter) { const LLDebugBeacon &debug_beacon = *iter; @@ -858,6 +870,14 @@ void LLViewerObjectList::renderObjectBeacons() gGL.vertex3f(thisline.mV[VX],thisline.mV[VY] + 0.5f,thisline.mV[VZ]); draw_line_cube(0.10f, thisline); + + if (--flush_me <= 0) + { + flush_me = 128; + gGL.end(); + gGL.flush(); + gGL.begin(LLRender::LINES); + } } gGL.end();