@@ -814,17 +814,12 @@ dispatch_compute(int num_groups_x, int num_groups_y, int num_groups_z) {
814814// //////////////////////////////////////////////////////////////////
815815PT (GeomMunger) GraphicsStateGuardian::
816816get_geom_munger(const RenderState *state, Thread *current_thread) {
817- // We can cast the RenderState to a non-const object because we are
818- // only updating a cache within the RenderState, not really changing
819- // any of its properties.
820- RenderState *nc_state = ((RenderState *)state);
821-
822817 // Before we even look up the map, see if the _last_mi value points
823818 // to this GSG. This is likely because we tend to visit the same
824819 // state multiple times during a frame. Also, this might well be
825820 // the only GSG in the world anyway.
826- if (!nc_state ->_mungers .empty ()) {
827- RenderState::Mungers::const_iterator mi = nc_state ->_last_mi ;
821+ if (!state ->_mungers .empty ()) {
822+ RenderState::Mungers::const_iterator mi = state ->_last_mi ;
828823 if (!(*mi).first .was_deleted () && (*mi).first == this ) {
829824 if ((*mi).second ->is_registered ()) {
830825 return (*mi).second ;
@@ -833,23 +828,23 @@ get_geom_munger(const RenderState *state, Thread *current_thread) {
833828 }
834829
835830 // Nope, we have to look it up in the map.
836- RenderState::Mungers::iterator mi = nc_state ->_mungers .find (this );
837- if (mi != nc_state ->_mungers .end () && !(*mi).first .was_deleted ()) {
831+ RenderState::Mungers::iterator mi = state ->_mungers .find (this );
832+ if (mi != state ->_mungers .end () && !(*mi).first .was_deleted ()) {
838833 if ((*mi).second ->is_registered ()) {
839- nc_state ->_last_mi = mi;
834+ state ->_last_mi = mi;
840835 return (*mi).second ;
841836 }
842837 // This GeomMunger is no longer registered. Remove it from the
843838 // map.
844- nc_state ->_mungers .erase (mi);
839+ state ->_mungers .erase (mi);
845840 }
846841
847842 // Nothing in the map; create a new entry.
848- PT (GeomMunger) munger = make_geom_munger (nc_state , current_thread);
843+ PT (GeomMunger) munger = make_geom_munger (state , current_thread);
849844 nassertr (munger != (GeomMunger *)NULL && munger->is_registered (), munger);
850845
851- mi = nc_state ->_mungers .insert (RenderState::Mungers::value_type (this , munger)).first ;
852- nc_state ->_last_mi = mi;
846+ mi = state ->_mungers .insert (RenderState::Mungers::value_type (this , munger)).first ;
847+ state ->_last_mi = mi;
853848
854849 return munger;
855850}
0 commit comments