xref: /aosp_15_r20/external/mesa3d/src/intel/common/intel_bind_timeline.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright 2023 Intel Corporation
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #pragma once
7 
8 #include <stdbool.h>
9 #include <stdint.h>
10 
11 #include "util/simple_mtx.h"
12 
13 struct intel_bind_timeline {
14    simple_mtx_t mutex;
15    uint32_t syncobj;
16    uint64_t point;
17 };
18 
19 bool intel_bind_timeline_init(struct intel_bind_timeline *intel_bind_timeline, int fd);
20 void intel_bind_timeline_finish(struct intel_bind_timeline *bind_timeline, int fd);
21 
22 uint64_t intel_bind_timeline_bind_begin(struct intel_bind_timeline *bind_timeline);
23 void intel_bind_timeline_bind_end(struct intel_bind_timeline *bind_timeline);
24 uint32_t intel_bind_timeline_get_syncobj(struct intel_bind_timeline *bind_timeline);
25 uint64_t intel_bind_timeline_get_last_point(struct intel_bind_timeline *bind_timeline);
26