1*61046927SAndroid Build Coastguard Worker #ifndef NOUVEAU_CONTEXT 2*61046927SAndroid Build Coastguard Worker #define NOUVEAU_CONTEXT 1 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Worker #include "nouveau_private.h" 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 7*61046927SAndroid Build Coastguard Worker extern "C" { 8*61046927SAndroid Build Coastguard Worker #endif 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker struct nouveau_ws_device; 11*61046927SAndroid Build Coastguard Worker 12*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object { 13*61046927SAndroid Build Coastguard Worker uint16_t cls; 14*61046927SAndroid Build Coastguard Worker }; 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker enum nouveau_ws_engines { 17*61046927SAndroid Build Coastguard Worker NOUVEAU_WS_ENGINE_COPY = (1 << 0), 18*61046927SAndroid Build Coastguard Worker NOUVEAU_WS_ENGINE_2D = (1 << 1), 19*61046927SAndroid Build Coastguard Worker NOUVEAU_WS_ENGINE_3D = (1 << 2), 20*61046927SAndroid Build Coastguard Worker NOUVEAU_WS_ENGINE_M2MF = (1 << 3), 21*61046927SAndroid Build Coastguard Worker NOUVEAU_WS_ENGINE_COMPUTE = (1 << 4), 22*61046927SAndroid Build Coastguard Worker }; 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker struct nouveau_ws_context { 25*61046927SAndroid Build Coastguard Worker struct nouveau_ws_device *dev; 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker int channel; 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object copy; 30*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object eng2d; 31*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object eng3d; 32*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object m2mf; 33*61046927SAndroid Build Coastguard Worker struct nouveau_ws_object compute; 34*61046927SAndroid Build Coastguard Worker }; 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Worker int nouveau_ws_context_create(struct nouveau_ws_device *, 37*61046927SAndroid Build Coastguard Worker enum nouveau_ws_engines engines, 38*61046927SAndroid Build Coastguard Worker struct nouveau_ws_context **out); 39*61046927SAndroid Build Coastguard Worker bool nouveau_ws_context_killed(struct nouveau_ws_context *); 40*61046927SAndroid Build Coastguard Worker void nouveau_ws_context_destroy(struct nouveau_ws_context *); 41*61046927SAndroid Build Coastguard Worker 42*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 43*61046927SAndroid Build Coastguard Worker } 44*61046927SAndroid Build Coastguard Worker #endif 45*61046927SAndroid Build Coastguard Worker 46*61046927SAndroid Build Coastguard Worker #endif 47