xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/svga/svga_resource_buffer_upload.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright (c) 2008-2024 Broadcom. All Rights Reserved.
3  * The term “Broadcom” refers to Broadcom Inc.
4  * and/or its subsidiaries.
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef SVGA_BUFFER_UPLOAD_H
9 #define SVGA_BUFFER_UPLOAD_H
10 
11 
12 void
13 svga_buffer_upload_flush(struct svga_context *svga,
14                          struct svga_buffer *sbuf);
15 
16 void
17 svga_buffer_add_range(struct svga_buffer *sbuf,
18                       unsigned start,
19                       unsigned end);
20 
21 enum pipe_error
22 svga_buffer_create_hw_storage(struct svga_screen *ss,
23                               struct svga_buffer *sbuf,
24                               unsigned bind_flags);
25 
26 void
27 svga_buffer_destroy_hw_storage(struct svga_screen *ss,
28 			       struct svga_buffer *sbuf);
29 
30 enum pipe_error
31 svga_buffer_create_host_surface(struct svga_screen *ss,
32                                 struct svga_buffer *sbuf,
33                                 unsigned bind_flags);
34 
35 enum pipe_error
36 svga_buffer_recreate_host_surface(struct svga_context *svga,
37                                   struct svga_buffer *sbuf,
38                                   unsigned bind_flags);
39 
40 struct svga_buffer_surface *
41 svga_buffer_add_host_surface(struct svga_buffer *sbuf,
42                              struct svga_winsys_surface *handle,
43                              struct svga_host_surface_cache_key *key,
44                              unsigned bind_flags);
45 
46 void
47 svga_buffer_bind_host_surface(struct svga_context *svga,
48                              struct svga_buffer *sbuf,
49                              struct svga_buffer_surface *bufsurf);
50 
51 enum pipe_error
52 svga_buffer_validate_host_surface(struct svga_context *svga,
53                                   struct svga_buffer *sbuf,
54                                   unsigned bind_flags);
55 
56 void
57 svga_buffer_destroy_host_surface(struct svga_screen *ss,
58                                  struct svga_buffer *sbuf);
59 
60 
61 
62 
63 #endif /* SVGA_BUFFER_H */
64