xref: /aosp_15_r20/external/mesa3d/src/panfrost/vulkan/csf/panvk_event.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2024 Collabora Ltd.
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef PANVK_EVENT_H
7 #define PANVK_EVENT_H
8 
9 #ifndef PAN_ARCH
10 #error "PAN_ARCH must be defined"
11 #endif
12 
13 #include "vk_object.h"
14 
15 #include "panvk_mempool.h"
16 
17 struct panvk_event {
18    struct vk_object_base base;
19 
20    /* v10 is lacking IAND/IOR instructions, which forces us to have one syncobj
21     * per-subqueue instead of one syncobj on which subqueues would only
22     * set/clear their bit. */
23    struct panvk_priv_mem syncobjs;
24 };
25 
26 VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_event, base, VkEvent, VK_OBJECT_TYPE_EVENT)
27 
28 #endif
29