xref: /aosp_15_r20/external/mesa3d/src/gallium/winsys/svga/drm/vmw_query.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright (c) 2015-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 VMW_DRM_QUERY_H
9 #define VMW_DRM_QUERY_H
10 
11 #include "svga3d_reg.h"
12 
13 
14 
15 /** Guest-backed query */
16 struct svga_winsys_gb_query
17 {
18    struct svga_winsys_buffer *buf;
19 };
20 
21 
22 struct svga_winsys_gb_query *
23 vmw_svga_winsys_query_create(struct svga_winsys_screen *sws,
24                              uint32 queryResultLen);
25 
26 void
27 vmw_svga_winsys_query_destroy(struct svga_winsys_screen *sws,
28                               struct svga_winsys_gb_query *query);
29 
30 int
31 vmw_svga_winsys_query_init(struct svga_winsys_screen *sws,
32                            struct svga_winsys_gb_query *query,
33                            unsigned offset,
34                            SVGA3dQueryState queryState);
35 
36 void
37 vmw_svga_winsys_query_get_result(struct svga_winsys_screen *sws,
38                        struct svga_winsys_gb_query *query,
39                        unsigned offset,
40                        SVGA3dQueryState *queryState,
41                        void *result, uint32 resultLen);
42 
43 enum pipe_error
44 vmw_swc_query_bind(struct svga_winsys_context *swc,
45                    struct svga_winsys_gb_query *query,
46                    unsigned flags);
47 
48 #endif /* VMW_DRM_QUERY_H */
49 
50