1*ba62d9d3SAndroid Build Coastguard Worker /* 2*ba62d9d3SAndroid Build Coastguard Worker * Copyright (c) 2017, Intel Corporation 3*ba62d9d3SAndroid Build Coastguard Worker * 4*ba62d9d3SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*ba62d9d3SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Software"), 6*ba62d9d3SAndroid Build Coastguard Worker * to deal in the Software without restriction, including without limitation 7*ba62d9d3SAndroid Build Coastguard Worker * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*ba62d9d3SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*ba62d9d3SAndroid Build Coastguard Worker * Software is furnished to do so, subject to the following conditions: 10*ba62d9d3SAndroid Build Coastguard Worker * 11*ba62d9d3SAndroid Build Coastguard Worker * The above copyright notice and this permission notice shall be included 12*ba62d9d3SAndroid Build Coastguard Worker * in all copies or substantial portions of the Software. 13*ba62d9d3SAndroid Build Coastguard Worker * 14*ba62d9d3SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15*ba62d9d3SAndroid Build Coastguard Worker * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*ba62d9d3SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*ba62d9d3SAndroid Build Coastguard Worker * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 18*ba62d9d3SAndroid Build Coastguard Worker * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19*ba62d9d3SAndroid Build Coastguard Worker * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20*ba62d9d3SAndroid Build Coastguard Worker * OTHER DEALINGS IN THE SOFTWARE. 21*ba62d9d3SAndroid Build Coastguard Worker */ 22*ba62d9d3SAndroid Build Coastguard Worker #ifndef CMRTLIB_LINUX_HARDWARE_CM_DEVICE_H_ 23*ba62d9d3SAndroid Build Coastguard Worker #define CMRTLIB_LINUX_HARDWARE_CM_DEVICE_H_ 24*ba62d9d3SAndroid Build Coastguard Worker 25*ba62d9d3SAndroid Build Coastguard Worker #include "cm_device_base.h" 26*ba62d9d3SAndroid Build Coastguard Worker #include "cm_def_hw.h" 27*ba62d9d3SAndroid Build Coastguard Worker #include "cm_kernel_debugger.h" 28*ba62d9d3SAndroid Build Coastguard Worker #include <vector> 29*ba62d9d3SAndroid Build Coastguard Worker 30*ba62d9d3SAndroid Build Coastguard Worker class CmQueue_RT; 31*ba62d9d3SAndroid Build Coastguard Worker class CmSurfaceManager; 32*ba62d9d3SAndroid Build Coastguard Worker 33*ba62d9d3SAndroid Build Coastguard Worker class CmDevice_RT : public CmDevice 34*ba62d9d3SAndroid Build Coastguard Worker { 35*ba62d9d3SAndroid Build Coastguard Worker public: 36*ba62d9d3SAndroid Build Coastguard Worker static int32_t GetSupportedAdapters(uint32_t& count); 37*ba62d9d3SAndroid Build Coastguard Worker static int32_t CreateCmDeviceFromAdapter(CmDevice_RT*& pCmDev, int32_t adapterIndex, uint32_t createOption = 0); 38*ba62d9d3SAndroid Build Coastguard Worker static int32_t GetPlatformInfo(uint32_t adapterIndex); 39*ba62d9d3SAndroid Build Coastguard Worker static int32_t QueryAdapterInfo(uint32_t adapterIndex, AdapterInfoType infoName, void* info, uint32_t infoSize, uint32_t* outInfoSize); 40*ba62d9d3SAndroid Build Coastguard Worker 41*ba62d9d3SAndroid Build Coastguard Worker static int32_t Create( CmDevice_RT* &device, uint32_t createOption ); 42*ba62d9d3SAndroid Build Coastguard Worker static int32_t Destroy( CmDevice_RT* &device ); 43*ba62d9d3SAndroid Build Coastguard Worker static int32_t Create(VADisplay &vaDisplay, CmDevice_RT* &device,uint32_t createOption ); 44*ba62d9d3SAndroid Build Coastguard Worker 45*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateBuffer(uint32_t size, CmBuffer* &buffer); 46*ba62d9d3SAndroid Build Coastguard Worker 47*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2D(uint32_t width, uint32_t height, CM_SURFACE_FORMAT format, CmSurface2D* &surface ); 48*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface3D(uint32_t width, uint32_t height, uint32_t depth, CM_SURFACE_FORMAT format, CmSurface3D* &surface ); 49*ba62d9d3SAndroid Build Coastguard Worker 50*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2D( VASurfaceID vaSurface, CmSurface2D* &surface ); 51*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2D( VASurfaceID* vaSurfaceArray, const uint32_t surfaceCount, CmSurface2D **surfaceArray); 52*ba62d9d3SAndroid Build Coastguard Worker 53*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySurface( CmBuffer* &buffer); 54*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySurface( CmSurface2D* &surface2d); 55*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySurface( CmSurface3D* &surface3d); 56*ba62d9d3SAndroid Build Coastguard Worker 57*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateQueue( CmQueue* & queue); 58*ba62d9d3SAndroid Build Coastguard Worker 59*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t LoadProgram( void* commonISACode, const uint32_t size, CmProgram*& program, const char* options = nullptr ); 60*ba62d9d3SAndroid Build Coastguard Worker 61*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateKernel( CmProgram* program, const char* kernelName, CmKernel* & kernel, const char* options = nullptr); 62*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateKernel( CmProgram* program, const char* kernelName, const void * fncPnt, CmKernel* & kernel, const char* options = nullptr) {return CM_FAILURE;} 63*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSampler( const CM_SAMPLER_STATE & sampleState, CmSampler* &sampler ); 64*ba62d9d3SAndroid Build Coastguard Worker 65*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateTask(CmTask *& task); 66*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t GetCaps(CM_DEVICE_CAP_NAME capName, size_t& capValueSize, void* capValue ); 67*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateThreadSpace( uint32_t width, uint32_t height, CmThreadSpace* &threadSpace); 68*ba62d9d3SAndroid Build Coastguard Worker 69*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyKernel( CmKernel*& kernel); 70*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySampler( CmSampler*& sampler ); 71*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyProgram( CmProgram*& program ); 72*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySampler8x8( CmSampler8x8 *& sampler ); 73*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyThreadSpace( CmThreadSpace* &threadSpace); 74*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyTask(CmTask *& task); 75*ba62d9d3SAndroid Build Coastguard Worker 76*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateVmeSurfaceG7_5 (CmSurface2D* currentSurface, CmSurface2D** forwardSurfaceArray, CmSurface2D** backwardSurfaceArray, const uint32_t surfaceCountForward, const uint32_t surfaceCountBackward, SurfaceIndex* & vmeSurfaceIndex ); 77*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyVmeSurfaceG7_5(SurfaceIndex* & vmeSurfaceIndex); 78*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t SetVmeSurfaceStateParam(SurfaceIndex* vmeSurfaceIndex, CM_VME_SURFACE_STATE_PARAM *newState); 79*ba62d9d3SAndroid Build Coastguard Worker 80*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateBufferUP(uint32_t size, void *sysMem, CmBufferUP* &buffer); 81*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyBufferUP( CmBufferUP* &buffer); 82*ba62d9d3SAndroid Build Coastguard Worker 83*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t GetSurface2DInfo(uint32_t width, uint32_t height, CM_SURFACE_FORMAT format, uint32_t & pitch, uint32_t & physicalSize ); 84*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2DUP( uint32_t width, uint32_t height, CM_SURFACE_FORMAT format, void* sysMem, CmSurface2DUP* &surface ); 85*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySurface2DUP( CmSurface2DUP* &surface) ; 86*ba62d9d3SAndroid Build Coastguard Worker 87*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSampler8x8(const CM_SAMPLER_8X8_DESCR &samplerDescriptor, CmSampler8x8* &sampler); 88*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSampler8x8Surface(CmSurface2D* surface2d, SurfaceIndex* &sampler8x8SurfaceIndex, CM_SAMPLER8x8_SURFACE surfaceType, CM_SURFACE_ADDRESS_CONTROL_MODE addressControl = CM_SURFACE_CLAMP); 89*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySampler8x8Surface(SurfaceIndex* &sampler8x8SurfaceIndex); 90*ba62d9d3SAndroid Build Coastguard Worker 91*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateThreadGroupSpace( uint32_t threadSpaceWidth, uint32_t threadSpaceHeight, uint32_t groupSpaceWidth, uint32_t groupSpaceHeight, CmThreadGroupSpace* &threadGroupSpace); 92*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyThreadGroupSpace(CmThreadGroupSpace* &threadGroupSpace); 93*ba62d9d3SAndroid Build Coastguard Worker 94*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t SetL3Config(const L3ConfigRegisterValues *registerValues); 95*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t SetSuggestedL3Config( L3_SUGGEST_CONFIG configIndex); 96*ba62d9d3SAndroid Build Coastguard Worker 97*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t SetCaps(CM_DEVICE_CAP_NAME capName, size_t capValueSize, void* capValue ); 98*ba62d9d3SAndroid Build Coastguard Worker 99*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSamplerSurface2D(CmSurface2D* surface2d, SurfaceIndex* & samplerSurface2dIndex); 100*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSamplerSurface3D(CmSurface3D* surface3d, SurfaceIndex* & samplerSurface3dIndex); 101*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySamplerSurface(SurfaceIndex* & samplerSurfaceIndex); 102*ba62d9d3SAndroid Build Coastguard Worker 103*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t InitPrintBuffer(size_t size = CM_DEFAULT_PRINT_BUFFER_SIZE); 104*ba62d9d3SAndroid Build Coastguard Worker 105*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t FlushPrintBuffer(); 106*ba62d9d3SAndroid Build Coastguard Worker 107*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateVebox( CmVebox* & vebox ); 108*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyVebox(CmVebox* & vebox); 109*ba62d9d3SAndroid Build Coastguard Worker 110*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateBufferSVM(uint32_t size, void* & sysMem, uint32_t accessFlag, CmBufferSVM* &buffer ); 111*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyBufferSVM( CmBufferSVM* & buffer); 112*ba62d9d3SAndroid Build Coastguard Worker 113*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CloneKernel( CmKernel * &destKernel, CmKernel *srcKernel ); 114*ba62d9d3SAndroid Build Coastguard Worker 115*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t GetVaDpy(VADisplay* &vaDisplay); 116*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateVaSurface2D( uint32_t width, uint32_t height, CM_SURFACE_FORMAT format, VASurfaceID & vaSurface, CmSurface2D* & surface); 117*ba62d9d3SAndroid Build Coastguard Worker 118*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSamplerSurface2DUP(CmSurface2DUP* surface2dUP, SurfaceIndex* & samplerSurface2dUPIndex); 119*ba62d9d3SAndroid Build Coastguard Worker 120*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2DAlias(CmSurface2D* originalSurface, SurfaceIndex* &aliasIndex); 121*ba62d9d3SAndroid Build Coastguard Worker 122*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateHevcVmeSurfaceG10(CmSurface2D* currentSurface, CmSurface2D** forwardSurfaceArray, CmSurface2D** backwardSurfaceArray, const uint32_t surfaceCountForward, const uint32_t surfaceCountBackward, SurfaceIndex* & vmeSurfaceIndex); 123*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyHevcVmeSurfaceG10(SurfaceIndex* & vmeSurfaceIndex); 124*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSamplerEx( const CM_SAMPLER_STATE_EX & samplerState, CmSampler* & sampler ) ; 125*ba62d9d3SAndroid Build Coastguard Worker 126*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t FlushPrintBufferIntoFile(const char *filename); 127*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateThreadGroupSpaceEx(uint32_t threadSpaceWidth, uint32_t threadSpaceHeight, uint32_t threadSpaceDepth, uint32_t groupSpaceWidth, uint32_t groupSpaceHeight, uint32_t groupSpaceDepth, CmThreadGroupSpace* &threadGroupSpace); 128*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSampler8x8SurfaceEx(CmSurface2D* surface2d, SurfaceIndex* &sampler8x8SurfaceIndex, CM_SAMPLER8x8_SURFACE surfaceType, CM_SURFACE_ADDRESS_CONTROL_MODE addressControl = CM_SURFACE_CLAMP, CM_FLAG* flag = nullptr); 129*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSamplerSurface2DEx(CmSurface2D* surface2d, SurfaceIndex* & samplerSurface2dIndex, CM_FLAG* flag); 130*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateBufferAlias(CmBuffer *originalBuffer, SurfaceIndex* &aliasIndex); 131*ba62d9d3SAndroid Build Coastguard Worker 132*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t GetVISAVersion(uint32_t& majorVersion, uint32_t& minorVersion); 133*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateQueueEx(CmQueue *&queue, CM_QUEUE_CREATE_OPTION queueCreateOption = CM_DEFAULT_QUEUE_CREATE_OPTION); 134*ba62d9d3SAndroid Build Coastguard Worker 135*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateBufferStateless(size_t size, 136*ba62d9d3SAndroid Build Coastguard Worker uint32_t option, 137*ba62d9d3SAndroid Build Coastguard Worker void *sysMem, 138*ba62d9d3SAndroid Build Coastguard Worker CmBufferStateless *&pBufferStateless); 139*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroyBufferStateless(CmBufferStateless *&buffer); 140*ba62d9d3SAndroid Build Coastguard Worker DispatchTask()141*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DispatchTask() { return CM_SUCCESS; } 142*ba62d9d3SAndroid Build Coastguard Worker 143*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t CreateSurface2DStateless(uint32_t width, 144*ba62d9d3SAndroid Build Coastguard Worker uint32_t height, 145*ba62d9d3SAndroid Build Coastguard Worker uint32_t &pitch, 146*ba62d9d3SAndroid Build Coastguard Worker CmSurface2DStateless *&pSurface); 147*ba62d9d3SAndroid Build Coastguard Worker 148*ba62d9d3SAndroid Build Coastguard Worker CM_RT_API int32_t DestroySurface2DStateless(CmSurface2DStateless *&pSurface); 149*ba62d9d3SAndroid Build Coastguard Worker 150*ba62d9d3SAndroid Build Coastguard Worker int32_t CheckDdiVersionSupported(const uint32_t ddiVersion); 151*ba62d9d3SAndroid Build Coastguard Worker 152*ba62d9d3SAndroid Build Coastguard Worker int32_t OSALExtensionExecute(uint32_t functionId, 153*ba62d9d3SAndroid Build Coastguard Worker void *inputData, 154*ba62d9d3SAndroid Build Coastguard Worker uint32_t inputDataLength, 155*ba62d9d3SAndroid Build Coastguard Worker void **resourceList = nullptr, 156*ba62d9d3SAndroid Build Coastguard Worker uint32_t resourceCount = 0); 157*ba62d9d3SAndroid Build Coastguard Worker 158*ba62d9d3SAndroid Build Coastguard Worker protected: 159*ba62d9d3SAndroid Build Coastguard Worker CmDevice_RT( 160*ba62d9d3SAndroid Build Coastguard Worker VADisplay vaDisplay, 161*ba62d9d3SAndroid Build Coastguard Worker uint32_t createOption 162*ba62d9d3SAndroid Build Coastguard Worker ); 163*ba62d9d3SAndroid Build Coastguard Worker 164*ba62d9d3SAndroid Build Coastguard Worker ~CmDevice_RT( void ); 165*ba62d9d3SAndroid Build Coastguard Worker 166*ba62d9d3SAndroid Build Coastguard Worker int32_t SetCapsInternal(CM_DEVICE_CAP_NAME capName, size_t capValueSize, void* capValue); 167*ba62d9d3SAndroid Build Coastguard Worker 168*ba62d9d3SAndroid Build Coastguard Worker int32_t CreateProgram(void* commonISACode, 169*ba62d9d3SAndroid Build Coastguard Worker const uint32_t size, 170*ba62d9d3SAndroid Build Coastguard Worker CmProgram*& program, 171*ba62d9d3SAndroid Build Coastguard Worker const char* options ); 172*ba62d9d3SAndroid Build Coastguard Worker 173*ba62d9d3SAndroid Build Coastguard Worker int32_t CreateDeviceInUmd(); 174*ba62d9d3SAndroid Build Coastguard Worker 175*ba62d9d3SAndroid Build Coastguard Worker int32_t FlushPrintBufferInternal(const char *filename); 176*ba62d9d3SAndroid Build Coastguard Worker 177*ba62d9d3SAndroid Build Coastguard Worker CmSurfaceManager * m_surfaceManager; 178*ba62d9d3SAndroid Build Coastguard Worker 179*ba62d9d3SAndroid Build Coastguard Worker uint32_t m_cmVersion; 180*ba62d9d3SAndroid Build Coastguard Worker void *m_deviceInUmd; //CmDevice pointer in UMD 181*ba62d9d3SAndroid Build Coastguard Worker bool m_cmCreated; 182*ba62d9d3SAndroid Build Coastguard Worker 183*ba62d9d3SAndroid Build Coastguard Worker int32_t Initialize(bool isCmCreated, uint32_t Index = 0); 184*ba62d9d3SAndroid Build Coastguard Worker int32_t FreeResources(); 185*ba62d9d3SAndroid Build Coastguard Worker #if USE_EXTENSION_CODE 186*ba62d9d3SAndroid Build Coastguard Worker int32_t EnableGtpin( void ); 187*ba62d9d3SAndroid Build Coastguard Worker int32_t RegisterGtpinMarkerFunctions(); 188*ba62d9d3SAndroid Build Coastguard Worker #endif 189*ba62d9d3SAndroid Build Coastguard Worker int32_t CreateVmeSurface( CmSurface2D* currentSurface, CmSurface2D** forwardSurfaceArray, CmSurface2D** backwardSurfaceArray, const uint32_t surfaceCountForward, const uint32_t surfaceCountBackward, SurfaceIndex* & vmeSurfaceIndex, CM_FUNCTION_ID functionName); 190*ba62d9d3SAndroid Build Coastguard Worker int32_t DestroyVmeSurface( SurfaceIndex* & vmeSurfaceIndex ); 191*ba62d9d3SAndroid Build Coastguard Worker 192*ba62d9d3SAndroid Build Coastguard Worker #ifndef ANDROID 193*ba62d9d3SAndroid Build Coastguard Worker int32_t FreeLibvaDrm(); 194*ba62d9d3SAndroid Build Coastguard Worker int32_t GetLibvaDisplayDrm(VADisplay & vaDisplay); 195*ba62d9d3SAndroid Build Coastguard Worker #endif 196*ba62d9d3SAndroid Build Coastguard Worker 197*ba62d9d3SAndroid Build Coastguard Worker int32_t InitializeLibvaDisplay(uint32_t Index = 0); 198*ba62d9d3SAndroid Build Coastguard Worker VADisplay m_vaDisplay; 199*ba62d9d3SAndroid Build Coastguard Worker uint32_t m_drmIndex; 200*ba62d9d3SAndroid Build Coastguard Worker pvaCmExtSendReqMsg m_fvaCmExtSendReqMsg; 201*ba62d9d3SAndroid Build Coastguard Worker 202*ba62d9d3SAndroid Build Coastguard Worker #if !defined(ANDROID) 203*ba62d9d3SAndroid Build Coastguard Worker static uint32_t m_vaReferenceCount; 204*ba62d9d3SAndroid Build Coastguard Worker static CSync m_vaReferenceCountCriticalSection; 205*ba62d9d3SAndroid Build Coastguard Worker int32_t m_driFileDescriptor; 206*ba62d9d3SAndroid Build Coastguard Worker static void *m_vaDrm; 207*ba62d9d3SAndroid Build Coastguard Worker static pfVAGetDisplayDRM m_vaGetDisplayDrm; 208*ba62d9d3SAndroid Build Coastguard Worker #else 209*ba62d9d3SAndroid Build Coastguard Worker Display* m_display; 210*ba62d9d3SAndroid Build Coastguard Worker #endif 211*ba62d9d3SAndroid Build Coastguard Worker 212*ba62d9d3SAndroid Build Coastguard Worker L3ConfigRegisterValues m_l3Config; 213*ba62d9d3SAndroid Build Coastguard Worker 214*ba62d9d3SAndroid Build Coastguard Worker // Variables used in GTPIN 215*ba62d9d3SAndroid Build Coastguard Worker bool m_gtpinEnabled; 216*ba62d9d3SAndroid Build Coastguard Worker CmBufferUP* m_gtpinBufferUP0; 217*ba62d9d3SAndroid Build Coastguard Worker CmBufferUP* m_gtpinBufferUP1; 218*ba62d9d3SAndroid Build Coastguard Worker CmBufferUP* m_gtpinBufferUP2; 219*ba62d9d3SAndroid Build Coastguard Worker 220*ba62d9d3SAndroid Build Coastguard Worker uint32_t m_createOption; 221*ba62d9d3SAndroid Build Coastguard Worker uint32_t m_driverStoreEnabled; 222*ba62d9d3SAndroid Build Coastguard Worker 223*ba62d9d3SAndroid Build Coastguard Worker // Kernel debugger 224*ba62d9d3SAndroid Build Coastguard Worker CmKernelDebugger *m_kernelDebugger; 225*ba62d9d3SAndroid Build Coastguard Worker 226*ba62d9d3SAndroid Build Coastguard Worker // Queue list and Queue critical section 227*ba62d9d3SAndroid Build Coastguard Worker CSync m_criticalSectionQueue; 228*ba62d9d3SAndroid Build Coastguard Worker std::vector<CmQueue_RT *> m_queue; 229*ba62d9d3SAndroid Build Coastguard Worker 230*ba62d9d3SAndroid Build Coastguard Worker private: 231*ba62d9d3SAndroid Build Coastguard Worker CmDevice_RT(const CmDevice_RT &other); 232*ba62d9d3SAndroid Build Coastguard Worker CmDevice_RT &operator=(const CmDevice_RT &other); 233*ba62d9d3SAndroid Build Coastguard Worker }; 234*ba62d9d3SAndroid Build Coastguard Worker 235*ba62d9d3SAndroid Build Coastguard Worker #endif // #ifndef CMRTLIB_LINUX_HARDWARE_CM_DEVICE_H_ 236