xref: /aosp_15_r20/external/virglrenderer/src/venus/vkr_allocator.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1*bbecb9d1SAndroid Build Coastguard Worker /**************************************************************************
2*bbecb9d1SAndroid Build Coastguard Worker  *
3*bbecb9d1SAndroid Build Coastguard Worker  * Copyright (C) 2022 Collabora Ltd
4*bbecb9d1SAndroid Build Coastguard Worker  *
5*bbecb9d1SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
6*bbecb9d1SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the "Software"),
7*bbecb9d1SAndroid Build Coastguard Worker  * to deal in the Software without restriction, including without limitation
8*bbecb9d1SAndroid Build Coastguard Worker  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9*bbecb9d1SAndroid Build Coastguard Worker  * and/or sell copies of the Software, and to permit persons to whom the
10*bbecb9d1SAndroid Build Coastguard Worker  * Software is furnished to do so, subject to the following conditions:
11*bbecb9d1SAndroid Build Coastguard Worker  *
12*bbecb9d1SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice shall be included
13*bbecb9d1SAndroid Build Coastguard Worker  * in all copies or substantial portions of the Software.
14*bbecb9d1SAndroid Build Coastguard Worker  *
15*bbecb9d1SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16*bbecb9d1SAndroid Build Coastguard Worker  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17*bbecb9d1SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18*bbecb9d1SAndroid Build Coastguard Worker  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19*bbecb9d1SAndroid Build Coastguard Worker  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20*bbecb9d1SAndroid Build Coastguard Worker  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21*bbecb9d1SAndroid Build Coastguard Worker  * OTHER DEALINGS IN THE SOFTWARE.
22*bbecb9d1SAndroid Build Coastguard Worker  *
23*bbecb9d1SAndroid Build Coastguard Worker  **************************************************************************/
24*bbecb9d1SAndroid Build Coastguard Worker 
25*bbecb9d1SAndroid Build Coastguard Worker #ifndef VKR_ALLOCATOR_H
26*bbecb9d1SAndroid Build Coastguard Worker #define VKR_ALLOCATOR_H
27*bbecb9d1SAndroid Build Coastguard Worker 
28*bbecb9d1SAndroid Build Coastguard Worker #include <stdint.h>
29*bbecb9d1SAndroid Build Coastguard Worker 
30*bbecb9d1SAndroid Build Coastguard Worker struct virgl_resource;
31*bbecb9d1SAndroid Build Coastguard Worker 
32*bbecb9d1SAndroid Build Coastguard Worker #ifdef ENABLE_VENUS
33*bbecb9d1SAndroid Build Coastguard Worker 
34*bbecb9d1SAndroid Build Coastguard Worker int
35*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_init(void);
36*bbecb9d1SAndroid Build Coastguard Worker void
37*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_fini(void);
38*bbecb9d1SAndroid Build Coastguard Worker 
39*bbecb9d1SAndroid Build Coastguard Worker int
40*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_resource_map(struct virgl_resource *res, void **map, uint64_t *out_size);
41*bbecb9d1SAndroid Build Coastguard Worker int
42*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_resource_unmap(struct virgl_resource *res);
43*bbecb9d1SAndroid Build Coastguard Worker 
44*bbecb9d1SAndroid Build Coastguard Worker #else /* ENABLE_VENUS */
45*bbecb9d1SAndroid Build Coastguard Worker 
46*bbecb9d1SAndroid Build Coastguard Worker #include "util/macros.h"
47*bbecb9d1SAndroid Build Coastguard Worker 
48*bbecb9d1SAndroid Build Coastguard Worker static inline int
vkr_allocator_init(void)49*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_init(void)
50*bbecb9d1SAndroid Build Coastguard Worker {
51*bbecb9d1SAndroid Build Coastguard Worker    return -1;
52*bbecb9d1SAndroid Build Coastguard Worker }
53*bbecb9d1SAndroid Build Coastguard Worker 
54*bbecb9d1SAndroid Build Coastguard Worker static inline void
vkr_allocator_fini(void)55*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_fini(void)
56*bbecb9d1SAndroid Build Coastguard Worker {
57*bbecb9d1SAndroid Build Coastguard Worker }
58*bbecb9d1SAndroid Build Coastguard Worker 
59*bbecb9d1SAndroid Build Coastguard Worker static inline int
vkr_allocator_resource_map(UNUSED struct virgl_resource * res,UNUSED void ** map,UNUSED uint64_t * out_size)60*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_resource_map(UNUSED struct virgl_resource *res,
61*bbecb9d1SAndroid Build Coastguard Worker                            UNUSED void **map,
62*bbecb9d1SAndroid Build Coastguard Worker                            UNUSED uint64_t *out_size)
63*bbecb9d1SAndroid Build Coastguard Worker {
64*bbecb9d1SAndroid Build Coastguard Worker    return -1;
65*bbecb9d1SAndroid Build Coastguard Worker }
66*bbecb9d1SAndroid Build Coastguard Worker 
67*bbecb9d1SAndroid Build Coastguard Worker static inline int
vkr_allocator_resource_unmap(UNUSED struct virgl_resource * res)68*bbecb9d1SAndroid Build Coastguard Worker vkr_allocator_resource_unmap(UNUSED struct virgl_resource *res)
69*bbecb9d1SAndroid Build Coastguard Worker {
70*bbecb9d1SAndroid Build Coastguard Worker    return -1;
71*bbecb9d1SAndroid Build Coastguard Worker }
72*bbecb9d1SAndroid Build Coastguard Worker 
73*bbecb9d1SAndroid Build Coastguard Worker #endif /* ENABLE_VENUS */
74*bbecb9d1SAndroid Build Coastguard Worker 
75*bbecb9d1SAndroid Build Coastguard Worker #endif /* VKR_ALLOCATOR_H */
76