struct svga_winsys_buffer;
struct pipe_screen;
struct pipe_context;
+struct pipe_debug_callback;
struct pipe_fence_handle;
struct pipe_resource;
struct svga_region;
#define SVGA_QUERY_FLAG_SET (1 << 0)
#define SVGA_QUERY_FLAG_REF (1 << 1)
+#define SVGA_HINT_FLAG_CAN_PRE_FLUSH (1 << 0) /* Can preemptively flush */
+
/** Opaque surface handle */
struct svga_winsys_surface;
(*reserve)(struct svga_winsys_context *swc,
uint32_t nr_bytes, uint32_t nr_relocs );
+ /**
+ * Returns current size of command buffer, in bytes.
+ */
+ unsigned
+ (*get_command_buffer_size)(struct svga_winsys_context *swc);
+
/**
* Emit a relocation for a host surface.
*
*/
uint32 cid;
+ /**
+ * Flags to hint the current context state
+ */
+ uint32 hints;
+
/**
** BEGIN new functions for guest-backed surfaces.
**/
struct svga_winsys_surface *surface,
struct svga_winsys_gb_shader *shader,
unsigned flags);
+
+ /** To report perf/conformance/etc issues to the state tracker */
+ struct pipe_debug_callback *debug_callback;
};