X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fsvga%2Fsvga_winsys.h;h=30d3f8776d935741277436f79cbb93b471296f27;hb=00db976905b7fcd615ccee0c13dcbf9dfe29f5ec;hp=afa8f5657aefb0d0401a16c7866b8584fba40b3b;hpb=bac94dfefa8f6614b6243d68def7c9beab04ec66;p=mesa.git diff --git a/src/gallium/drivers/svga/svga_winsys.h b/src/gallium/drivers/svga/svga_winsys.h index afa8f5657ae..30d3f8776d9 100644 --- a/src/gallium/drivers/svga/svga_winsys.h +++ b/src/gallium/drivers/svga/svga_winsys.h @@ -81,8 +81,9 @@ struct winsys_handle; #define SVGA_FENCE_FLAG_EXEC (1 << 0) #define SVGA_FENCE_FLAG_QUERY (1 << 1) -#define SVGA_SURFACE_USAGE_SHARED (1 << 0) -#define SVGA_SURFACE_USAGE_SCANOUT (1 << 1) +#define SVGA_SURFACE_USAGE_SHARED (1 << 0) +#define SVGA_SURFACE_USAGE_SCANOUT (1 << 1) +#define SVGA_SURFACE_USAGE_COHERENT (1 << 2) #define SVGA_QUERY_FLAG_SET (1 << 0) #define SVGA_QUERY_FLAG_REF (1 << 1) @@ -385,6 +386,7 @@ struct svga_winsys_context **/ boolean have_gb_objects; + boolean force_coherent; /** * Map a guest-backed surface. @@ -411,13 +413,6 @@ struct svga_winsys_context struct svga_winsys_surface *surface, boolean *rebind); - /** - * Invalidate the content of this surface - */ - enum pipe_error - (*surface_invalidate)(struct svga_winsys_context *swc, - struct svga_winsys_surface *surface); - /** * Create and define a DX GB shader that resides in the device COTable. * Caller of this function will issue the DXDefineShader command. @@ -530,7 +525,7 @@ struct svga_winsys_screen */ struct svga_winsys_surface * (*surface_create)(struct svga_winsys_screen *sws, - SVGA3dSurface1Flags flags, + SVGA3dSurfaceAllFlags flags, SVGA3dSurfaceFormat format, unsigned usage, SVGA3dSize size, @@ -583,7 +578,8 @@ struct svga_winsys_screen SVGA3dSurfaceFormat format, SVGA3dSize size, uint32 numLayers, - uint32 numMipLevels); + uint32 numMipLevels, + uint32 numSamples); /** * Buffer management. Buffer attributes are mostly fixed over its lifetime. @@ -682,6 +678,8 @@ struct svga_winsys_screen /** Can we do DMA with guest-backed objects enabled? */ bool have_gb_dma; + /** Do we support coherent surface memory? */ + bool have_coherent; /** * Create and define a GB shader. */ @@ -752,10 +750,18 @@ struct svga_winsys_screen void (*stats_time_pop)(); + /** + * Send a host log message + */ + void + (*host_log)(struct svga_winsys_screen *sws, const char *message); /** Have VGPU v10 hardware? */ boolean have_vgpu10; + /** Have SM4_1 hardware? */ + boolean have_sm4_1; + /** To rebind resources at the beginnning of a new command buffer */ boolean need_to_rebind_resources; @@ -763,6 +769,7 @@ struct svga_winsys_screen boolean have_set_predication_cmd; boolean have_transfer_from_buffer_cmd; boolean have_fence_fd; + boolean have_intra_surface_copy; };