X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_screen.h;h=77b552af6b0d6f3472e9e8b74b8aa953adc52e16;hb=725671a83a67cc8cf16c0913f6e1835fb272c2fb;hp=b94ca7fc1cad2f66c775a35b3068751e2f00df39;hpb=a3eb0f718e19653a2ad8e49396c904183be456f3;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_screen.h b/src/gallium/drivers/svga/svga_screen.h index b94ca7fc1ca..77b552af6b0 100644 --- a/src/gallium/drivers/svga/svga_screen.h +++ b/src/gallium/drivers/svga/svga_screen.h @@ -28,7 +28,7 @@ #include "pipe/p_screen.h" -#include "pipe/p_thread.h" +#include "os/os_thread.h" #include "util/u_double_list.h" @@ -39,8 +39,6 @@ struct svga_winsys_screen; struct svga_winsys_context; struct SVGACmdMemory; -#define SVGA_COMBINE_USERBUFFERS 1 - /** * Subclass of pipe_screen */ @@ -49,9 +47,10 @@ struct svga_screen struct pipe_screen screen; struct svga_winsys_screen *sws; - unsigned use_ps30; - unsigned use_vs30; - + SVGA3dHardwareVersion hw_version; + + float maxPointSize; + struct { boolean force_level_surface_view; boolean force_surface_view; @@ -60,21 +59,23 @@ struct svga_screen boolean no_sampler_view; } debug; - /* The screen needs its own context */ - struct svga_winsys_context *swc; - struct SVGACmdMemory *fifo; - unsigned texture_timestamp; pipe_mutex tex_mutex; - pipe_mutex swc_mutex; /* Protects the use of swc and dirty_buffers */ - - /** - * List of buffers with cached GMR. Ordered from the most recently used to - * the least recently used - */ - struct list_head cached_buffers; - + + pipe_mutex swc_mutex; /* Used for buffer uploads */ + + /* which formats to translate depth formats into */ + struct { + enum SVGA3dSurfaceFormat z16; + /* note gallium order */ + enum SVGA3dSurfaceFormat x8z24; + enum SVGA3dSurfaceFormat s8z24; + } depth; + struct svga_host_surface_cache cache; + + /** Memory used by all resources (buffers and surfaces) */ + uint64_t total_resource_bytes; }; #ifndef DEBUG @@ -89,7 +90,4 @@ struct svga_screen * svga_screen(struct pipe_screen *screen); #endif -void svga_screen_flush( struct svga_screen *svga_screen, - struct pipe_fence_handle **pfence ); - #endif /* SVGA_SCREEN_H */