gallium/util: replace pipe_mutex_init() with mtx_init()
[mesa.git] / src / gallium / drivers / svga / svga_pipe_vertex.c
index e0932a9dbc1eea24e7669a4376197b3be66f3dbb..4b3f5d82e8c2aeaf5923b3b2d2d62110aab58440 100644 (file)
@@ -274,6 +274,11 @@ svga_create_vertex_elements_state(struct pipe_context *pipe,
          translate_vertex_decls(svga, velems);
       }
    }
+
+   svga->hud.num_vertexelement_objects++;
+   SVGA_STATS_COUNT_INC(svga_screen(svga->pipe.screen)->sws,
+                        SVGA_STATS_COUNT_VERTEXELEMENT);
+
    return velems;
 }
 
@@ -315,6 +320,7 @@ svga_delete_vertex_elements_state(struct pipe_context *pipe, void *state)
    }
 
    FREE(velems);
+   svga->hud.num_vertexelement_objects--;
 }
 
 void svga_cleanup_vertex_state( struct svga_context *svga )
@@ -323,6 +329,11 @@ void svga_cleanup_vertex_state( struct svga_context *svga )
    
    for (i = 0 ; i < svga->curr.num_vertex_buffers; i++)
       pipe_resource_reference(&svga->curr.vb[i].buffer, NULL);
+
+   pipe_resource_reference(&svga->state.hw_draw.ib, NULL);
+
+   for (i = 0; i < svga->state.hw_draw.num_vbuffers; i++)
+      pipe_resource_reference(&svga->state.hw_draw.vbuffers[i], NULL);
 }