svga: Performance fixes
[mesa.git] / src / gallium / drivers / svga / svga_screen.h
index 5581d2e1ffdac2e5f1efc939c4d9e90aef774ea3..aa0001b11e539707474f102ca5b0ee33c3b14349 100644 (file)
@@ -50,10 +50,13 @@ struct svga_screen
    /** Device caps */
    boolean haveProvokingVertex;
    boolean haveLineStipple, haveLineSmooth;
+   boolean haveBlendLogicops;
    float maxLineWidth, maxLineWidthAA;
    float maxPointSize;
+   float pointSmoothThreshold; /** Disable point AA for sizes less than this */
    unsigned max_color_buffers;
    unsigned max_const_buffers;
+   unsigned max_viewports;
    unsigned ms_samples;
 
    struct {
@@ -62,12 +65,13 @@ struct svga_screen
       boolean no_surface_view;
       boolean force_sampler_view;
       boolean no_sampler_view;
+      boolean no_cache_index_buffers;
    } debug;
 
    unsigned texture_timestamp;
-   pipe_mutex tex_mutex; 
+   mtx_t tex_mutex;
 
-   pipe_mutex swc_mutex; /* Used for buffer uploads */
+   mtx_t swc_mutex; /* Used for buffer uploads */
 
    /* which formats to translate depth formats into */
    struct {
@@ -80,8 +84,13 @@ struct svga_screen
 
    struct svga_host_surface_cache cache;
 
-   /** Memory used by all resources (buffers and surfaces) */
-   uint64_t total_resource_bytes;
+   /** HUD counters */
+   struct {
+      /** Memory used by all resources (buffers and surfaces) */
+      uint64_t total_resource_bytes;
+      uint64_t num_resources;
+      uint64_t num_failed_allocations;
+   } hud;
 };
 
 #ifndef DEBUG