xref: /aosp_15_r20/external/mesa3d/src/util/thread_sched.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright 2023 Advanced Micro Devices, Inc.
3  *
4  * SPDX-License-Identifier: MIT
5  */
6 
7 #ifndef CPU_SCHED_H
8 #define CPU_SCHED_H
9 
10 #include "compiler.h"
11 #include "u_thread.h"
12 
13 enum util_thread_name
14 {
15    UTIL_THREAD_APP_CALLER,
16    UTIL_THREAD_GLTHREAD,
17    UTIL_THREAD_THREADED_CONTEXT,
18    UTIL_THREAD_DRIVER_SUBMIT,
19 };
20 
21 bool
22 util_thread_scheduler_enabled(void);
23 
24 void
25 util_thread_scheduler_init_state(unsigned *state);
26 
27 bool
28 util_thread_sched_apply_policy(thrd_t thread, enum util_thread_name name,
29                                unsigned app_thread_cpu, unsigned *sched_state);
30 
31 #endif
32