xref: /aosp_15_r20/external/gmmlib/Source/inc/umKmInc/UmKmEnum.h (revision 35ffd701415c9e32e53136d61a677a8d0a8fc4a5)
1*35ffd701SAndroid Build Coastguard Worker /*==============================================================================
2*35ffd701SAndroid Build Coastguard Worker Copyright(c) 2017 Intel Corporation
3*35ffd701SAndroid Build Coastguard Worker 
4*35ffd701SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining a
5*35ffd701SAndroid Build Coastguard Worker copy of this software and associated documentation files(the "Software"),
6*35ffd701SAndroid Build Coastguard Worker to deal in the Software without restriction, including without limitation
7*35ffd701SAndroid Build Coastguard Worker the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*35ffd701SAndroid Build Coastguard Worker and / or sell copies of the Software, and to permit persons to whom the
9*35ffd701SAndroid Build Coastguard Worker Software is furnished to do so, subject to the following conditions:
10*35ffd701SAndroid Build Coastguard Worker 
11*35ffd701SAndroid Build Coastguard Worker The above copyright notice and this permission notice shall be included
12*35ffd701SAndroid Build Coastguard Worker in all copies or substantial portions of the Software.
13*35ffd701SAndroid Build Coastguard Worker 
14*35ffd701SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15*35ffd701SAndroid Build Coastguard Worker OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*35ffd701SAndroid Build Coastguard Worker FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17*35ffd701SAndroid Build Coastguard Worker THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18*35ffd701SAndroid Build Coastguard Worker OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19*35ffd701SAndroid Build Coastguard Worker ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20*35ffd701SAndroid Build Coastguard Worker OTHER DEALINGS IN THE SOFTWARE.
21*35ffd701SAndroid Build Coastguard Worker ============================================================================*/
22*35ffd701SAndroid Build Coastguard Worker 
23*35ffd701SAndroid Build Coastguard Worker #ifndef _UMKMENUM_H_
24*35ffd701SAndroid Build Coastguard Worker #define _UMKMENUM_H_
25*35ffd701SAndroid Build Coastguard Worker 
26*35ffd701SAndroid Build Coastguard Worker #ifdef __cplusplus
27*35ffd701SAndroid Build Coastguard Worker extern "C" {
28*35ffd701SAndroid Build Coastguard Worker #endif
29*35ffd701SAndroid Build Coastguard Worker 
30*35ffd701SAndroid Build Coastguard Worker // PROCESSOR_FAMILY
31*35ffd701SAndroid Build Coastguard Worker typedef enum PROCESSOR_FAMILY_REC
32*35ffd701SAndroid Build Coastguard Worker {
33*35ffd701SAndroid Build Coastguard Worker     UNKNOWN_PROCESSOR,
34*35ffd701SAndroid Build Coastguard Worker     P3_PROCESSOR,
35*35ffd701SAndroid Build Coastguard Worker     P4_PROCESSOR,
36*35ffd701SAndroid Build Coastguard Worker     MAX_NUM_PROCESSOR
37*35ffd701SAndroid Build Coastguard Worker } PROCESSOR_FAMILY;
38*35ffd701SAndroid Build Coastguard Worker 
39*35ffd701SAndroid Build Coastguard Worker // GPU Engine
40*35ffd701SAndroid Build Coastguard Worker typedef enum GPUENGINE_REC
41*35ffd701SAndroid Build Coastguard Worker {
42*35ffd701SAndroid Build Coastguard Worker     GPUENGINE_1 = 0,
43*35ffd701SAndroid Build Coastguard Worker     GPUENGINE_2 = 1,        // Dual GT Case
44*35ffd701SAndroid Build Coastguard Worker     GPUENGINE_MAX
45*35ffd701SAndroid Build Coastguard Worker } GPUENGINE_ORDINAL;
46*35ffd701SAndroid Build Coastguard Worker 
47*35ffd701SAndroid Build Coastguard Worker // GPUNODE
48*35ffd701SAndroid Build Coastguard Worker // NOTE: the GPUNODE_*** enums that represent real nodes and have rings must
49*35ffd701SAndroid Build Coastguard Worker // stay in sync with the corresponding ones defined in IGFX_GEN6_RING_TYPE
50*35ffd701SAndroid Build Coastguard Worker typedef enum GPUNODE_REC
51*35ffd701SAndroid Build Coastguard Worker {
52*35ffd701SAndroid Build Coastguard Worker     GPUNODE_3D = 0,         // available by default on all platform
53*35ffd701SAndroid Build Coastguard Worker     GPUNODE_VIDEO = 1,      // available on CTG+, Virtual node
54*35ffd701SAndroid Build Coastguard Worker     GPUNODE_BLT = 2,        // available on GT
55*35ffd701SAndroid Build Coastguard Worker     GPUNODE_VE = 3,         // available on HSW+ (VideoEnhancement), virtual node
56*35ffd701SAndroid Build Coastguard Worker     GPUNODE_VCS2 = 4,       // available on BDW/SKL/KBL GT3+ and CNL,
57*35ffd701SAndroid Build Coastguard Worker     GPUNODE_CCS0 = 5,   //
58*35ffd701SAndroid Build Coastguard Worker     GPUNODE_REAL_MAX,       // all nodes beyond this are virtual nodes - they don't have an actual GPU engine
59*35ffd701SAndroid Build Coastguard Worker     GPUNODE_PICS = 6,       // available on CNL+. Real node but only for KMD internal use. Hence kept after GPUNODE_REAL_MAX (Note: We need to keep it before overlay node)
60*35ffd701SAndroid Build Coastguard Worker     GPUNODE_OVERLAY = 7,
61*35ffd701SAndroid Build Coastguard Worker     GPUNODE_GDI2D = 8,      // GT virtual node for GDI/Present 2D blt/colorfill
62*35ffd701SAndroid Build Coastguard Worker     GPUNODE_VXD   = 9,      // available on BYT
63*35ffd701SAndroid Build Coastguard Worker     GPUNODE_MAX
64*35ffd701SAndroid Build Coastguard Worker } GPUNODE_ORDINAL;
65*35ffd701SAndroid Build Coastguard Worker 
66*35ffd701SAndroid Build Coastguard Worker // UMD_DMA_TYPE
67*35ffd701SAndroid Build Coastguard Worker typedef enum UMD_DMA_TYPE_REC
68*35ffd701SAndroid Build Coastguard Worker {
69*35ffd701SAndroid Build Coastguard Worker     UMD_UNKNOWN    = 0,
70*35ffd701SAndroid Build Coastguard Worker     UMD_MEDIA      = 1,
71*35ffd701SAndroid Build Coastguard Worker     UMD_DX9        = 2,
72*35ffd701SAndroid Build Coastguard Worker     UMD_DX10       = 3,
73*35ffd701SAndroid Build Coastguard Worker     UMD_OGL        = 4,
74*35ffd701SAndroid Build Coastguard Worker     UMD_OCL        = 5,
75*35ffd701SAndroid Build Coastguard Worker     UMD_DX_COMPUTE = 6,
76*35ffd701SAndroid Build Coastguard Worker     UMD_DX12       = 7,
77*35ffd701SAndroid Build Coastguard Worker 
78*35ffd701SAndroid Build Coastguard Worker     UMD_TYPE_MAX    // this should always be the last one
79*35ffd701SAndroid Build Coastguard Worker } UMD_DMA_TYPE;
80*35ffd701SAndroid Build Coastguard Worker 
81*35ffd701SAndroid Build Coastguard Worker 
82*35ffd701SAndroid Build Coastguard Worker typedef enum DXVA_OPERATION_ENUM
83*35ffd701SAndroid Build Coastguard Worker {
84*35ffd701SAndroid Build Coastguard Worker     DXVA_OPERATION_NONE  = 0,
85*35ffd701SAndroid Build Coastguard Worker     DXVA_OPERATION_DECODE,       // Decode
86*35ffd701SAndroid Build Coastguard Worker     DXVA_OPERATION_ENCODE,       // Encode
87*35ffd701SAndroid Build Coastguard Worker } DXVA_OPERATION;
88*35ffd701SAndroid Build Coastguard Worker 
89*35ffd701SAndroid Build Coastguard Worker extern char *UmdTypeStr[];
90*35ffd701SAndroid Build Coastguard Worker 
91*35ffd701SAndroid Build Coastguard Worker #ifdef __cplusplus
92*35ffd701SAndroid Build Coastguard Worker }
93*35ffd701SAndroid Build Coastguard Worker #endif
94*35ffd701SAndroid Build Coastguard Worker 
95*35ffd701SAndroid Build Coastguard Worker #endif // _UMKMENUM_H_
96