mirror of https://github.com/intel/gmmlib.git
96 lines
3.1 KiB
C
96 lines
3.1 KiB
C
/*==============================================================================
|
|
Copyright(c) 2017 Intel Corporation
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
copy of this software and associated documentation files(the "Software"),
|
|
to deal in the Software without restriction, including without limitation
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
and / or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included
|
|
in all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
OTHER DEALINGS IN THE SOFTWARE.
|
|
============================================================================*/
|
|
|
|
#ifndef _UMKMENUM_H_
|
|
#define _UMKMENUM_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// PROCESSOR_FAMILY
|
|
typedef enum PROCESSOR_FAMILY_REC
|
|
{
|
|
UNKNOWN_PROCESSOR,
|
|
P3_PROCESSOR,
|
|
P4_PROCESSOR,
|
|
MAX_NUM_PROCESSOR
|
|
} PROCESSOR_FAMILY;
|
|
|
|
// GPU Engine
|
|
typedef enum GPUENGINE_REC
|
|
{
|
|
GPUENGINE_1 = 0,
|
|
GPUENGINE_2 = 1, // Dual GT Case
|
|
GPUENGINE_MAX
|
|
} GPUENGINE_ORDINAL;
|
|
|
|
// GPUNODE
|
|
// NOTE: the GPUNODE_*** enums that represent real nodes and have rings must
|
|
// stay in sync with the corresponding ones defined in IGFX_GEN6_RING_TYPE
|
|
typedef enum GPUNODE_REC
|
|
{
|
|
GPUNODE_3D = 0, // available by default on all platform
|
|
GPUNODE_VIDEO = 1, // available on CTG+, Virtual node
|
|
GPUNODE_BLT = 2, // available on GT
|
|
GPUNODE_VE = 3, // available on HSW+ (VideoEnhancement), virtual node
|
|
GPUNODE_VCS2 = 4, // available on BDW/SKL/KBL GT3+ and CNL,
|
|
GPUNODE_CCS0 = 5, //
|
|
GPUNODE_REAL_MAX, // all nodes beyond this are virtual nodes - they don't have an actual GPU engine
|
|
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)
|
|
GPUNODE_OVERLAY = 7,
|
|
GPUNODE_GDI2D = 8, // GT virtual node for GDI/Present 2D blt/colorfill
|
|
GPUNODE_VXD = 9, // available on BYT
|
|
GPUNODE_MAX
|
|
} GPUNODE_ORDINAL;
|
|
|
|
// UMD_DMA_TYPE
|
|
typedef enum UMD_DMA_TYPE_REC
|
|
{
|
|
UMD_UNKNOWN = 0,
|
|
UMD_MEDIA = 1,
|
|
UMD_DX9 = 2,
|
|
UMD_DX10 = 3,
|
|
UMD_OGL = 4,
|
|
UMD_OCL = 5,
|
|
UMD_DX_COMPUTE = 6,
|
|
UMD_DX12 = 7,
|
|
|
|
UMD_TYPE_MAX // this should always be the last one
|
|
} UMD_DMA_TYPE;
|
|
|
|
|
|
typedef enum DXVA_OPERATION_ENUM
|
|
{
|
|
DXVA_OPERATION_NONE = 0,
|
|
DXVA_OPERATION_DECODE, // Decode
|
|
DXVA_OPERATION_ENCODE, // Encode
|
|
} DXVA_OPERATION;
|
|
|
|
extern char *UmdTypeStr[];
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // _UMKMENUM_H_
|