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