Explorar o código

work around compiler crashes

David Rose %!s(int64=24) %!d(string=hai) anos
pai
achega
bf65f5baf7

+ 5 - 1
panda/src/cull/geomBinBackToFront.cxx

@@ -51,7 +51,9 @@ clear_current_states() {
 void GeomBinBackToFront::
 record_current_state(GraphicsStateGuardian *gsg, CullState *cs, int,
                      CullTraverser *trav) {
-  PStatTimer timer(CullTraverser::_cull_bins_btf_pcollector);
+  //  PStatTimer timer(CullTraverser::_cull_bins_btf_pcollector);
+  // Using the PStatTimer may cause a compiler fault.
+  CullTraverser::_cull_bins_btf_pcollector.start();
 
   // Get the transform matrix from the state.
   TransformTransition *trans_attrib = NULL;
@@ -141,6 +143,8 @@ record_current_state(GraphicsStateGuardian *gsg, CullState *cs, int,
 
     _node_entries.insert(NodeEntry(distance, cs, arc_chain, true));
   }
+
+  CullTraverser::_cull_bins_btf_pcollector.stop();
 }
 
 ////////////////////////////////////////////////////////////////////

+ 4 - 1
panda/src/cull/geomBinUnsorted.cxx

@@ -79,7 +79,9 @@ record_current_state(GraphicsStateGuardian *, CullState *cs, int,
 ////////////////////////////////////////////////////////////////////
 void GeomBinUnsorted::
 draw(CullTraverser *trav) {
-  PStatTimer timer(CullTraverser::_draw_pcollector);
+  //  PStatTimer timer(CullTraverser::_draw_pcollector);
+  // Using the PStatTimer may cause a compiler fault.
+  CullTraverser::_draw_pcollector.start();
 
   GraphicsStateGuardian *gsg = trav->get_gsg();
 
@@ -124,6 +126,7 @@ draw(CullTraverser *trav) {
       trav->draw_direct(arc_chain, cs->get_attributes());
     }
   }
+  CullTraverser::_draw_pcollector.stop();
 }
 
 ////////////////////////////////////////////////////////////////////