/****************************************************************************
*
*    Copyright (c) 2005 - 2014 by Vivante Corp.  All rights reserved.
*
*    The material in this file is confidential and contains trade secrets
*    of Vivante Corporation. This is proprietary information owned by
*    Vivante Corporation. No part of this work may be disclosed,
*    reproduced, copied, transmitted, or used in any way for any purpose,
*    without the express written permission of Vivante Corporation.
*
*****************************************************************************/


#ifndef __gc_hal_rename_h_
#define __gc_hal_rename_h_


#if defined(_HAL2D_APPENDIX)

#define _HAL2D_RENAME_2(api, appendix)  api ## appendix
#define _HAL2D_RENAME_1(api, appendix)  _HAL2D_RENAME_2(api, appendix)
#define gcmHAL2D(api)                   _HAL2D_RENAME_1(api, _HAL2D_APPENDIX)


#define gckOS_Construct                 gcmHAL2D(gckOS_Construct)
#define gckOS_Destroy                   gcmHAL2D(gckOS_Destroy)
#define gckOS_QueryVideoMemory          gcmHAL2D(gckOS_QueryVideoMemory)
#define gckOS_Allocate                  gcmHAL2D(gckOS_Allocate)
#define gckOS_Free                      gcmHAL2D(gckOS_Free)
#define gckOS_AllocateMemory            gcmHAL2D(gckOS_AllocateMemory)
#define gckOS_FreeMemory                gcmHAL2D(gckOS_FreeMemory)
#define gckOS_AllocatePagedMemory       gcmHAL2D(gckOS_AllocatePagedMemory)
#define gckOS_AllocatePagedMemoryEx     gcmHAL2D(gckOS_AllocatePagedMemoryEx)
#define gckOS_LockPages                 gcmHAL2D(gckOS_LockPages)
#define gckOS_MapPages                  gcmHAL2D(gckOS_MapPages)
#define gckOS_UnlockPages               gcmHAL2D(gckOS_UnlockPages)
#define gckOS_FreePagedMemory           gcmHAL2D(gckOS_FreePagedMemory)
#define gckOS_AllocateNonPagedMemory    gcmHAL2D(gckOS_AllocateNonPagedMemory)
#define gckOS_FreeNonPagedMemory        gcmHAL2D(gckOS_FreeNonPagedMemory)
#define gckOS_AllocateContiguous        gcmHAL2D(gckOS_AllocateContiguous)
#define gckOS_FreeContiguous            gcmHAL2D(gckOS_FreeContiguous)
#define gckOS_GetPageSize               gcmHAL2D(gckOS_GetPageSize)
#define gckOS_GetPhysicalAddress        gcmHAL2D(gckOS_GetPhysicalAddress)
#define gckOS_UserLogicalToPhysical     gcmHAL2D(gckOS_UserLogicalToPhysical)
#define gckOS_GetPhysicalAddressProcess gcmHAL2D(gckOS_GetPhysicalAddressProcess)
#define gckOS_MapPhysical               gcmHAL2D(gckOS_MapPhysical)
#define gckOS_UnmapPhysical             gcmHAL2D(gckOS_UnmapPhysical)
#define gckOS_ReadRegister              gcmHAL2D(gckOS_ReadRegister)
#define gckOS_WriteRegister             gcmHAL2D(gckOS_WriteRegister)
#define gckOS_WriteMemory               gcmHAL2D(gckOS_WriteMemory)
#define gckOS_MapMemory                 gcmHAL2D(gckOS_MapMemory)
#define gckOS_UnmapMemory               gcmHAL2D(gckOS_UnmapMemory)
#define gckOS_UnmapMemoryEx             gcmHAL2D(gckOS_UnmapMemoryEx)
#define gckOS_CreateMutex               gcmHAL2D(gckOS_CreateMutex)
#define gckOS_DeleteMutex               gcmHAL2D(gckOS_DeleteMutex)
#define gckOS_AcquireMutex              gcmHAL2D(gckOS_AcquireMutex)
#define gckOS_ReleaseMutex              gcmHAL2D(gckOS_ReleaseMutex)
#define gckOS_AtomicExchange            gcmHAL2D(gckOS_AtomicExchange)
#define gckOS_AtomicExchangePtr         gcmHAL2D(gckOS_AtomicExchangePtr)
#define gckOS_AtomConstruct             gcmHAL2D(gckOS_AtomConstruct)
#define gckOS_AtomDestroy               gcmHAL2D(gckOS_AtomDestroy)
#define gckOS_AtomGet                   gcmHAL2D(gckOS_AtomGet)
#define gckOS_AtomIncrement             gcmHAL2D(gckOS_AtomIncrement)
#define gckOS_AtomDecrement             gcmHAL2D(gckOS_AtomDecrement)
#define gckOS_Delay                     gcmHAL2D(gckOS_Delay)
#define gckOS_GetTime                   gcmHAL2D(gckOS_GetTime)
#define gckOS_MemoryBarrier             gcmHAL2D(gckOS_MemoryBarrier)
#define gckOS_MapUserPointer            gcmHAL2D(gckOS_MapUserPointer)
#define gckOS_UnmapUserPointer          gcmHAL2D(gckOS_UnmapUserPointer)
#define gckOS_QueryNeedCopy             gcmHAL2D(gckOS_QueryNeedCopy)
#define gckOS_CopyFromUserData          gcmHAL2D(gckOS_CopyFromUserData)
#define gckOS_CopyToUserData            gcmHAL2D(gckOS_CopyToUserData)
#define gckOS_SuspendInterrupt          gcmHAL2D(gckOS_SuspendInterrupt)
#define gckOS_ResumeInterrupt           gcmHAL2D(gckOS_ResumeInterrupt)
#define gckOS_GetBaseAddress            gcmHAL2D(gckOS_GetBaseAddress)
#define gckOS_MemCopy                   gcmHAL2D(gckOS_MemCopy)
#define gckOS_ZeroMemory                gcmHAL2D(gckOS_ZeroMemory)
#define gckOS_DeviceControl             gcmHAL2D(gckOS_DeviceControl)
#define gckOS_GetProcessID              gcmHAL2D(gckOS_GetProcessID)
#define gckOS_GetThreadID               gcmHAL2D(gckOS_GetThreadID)
#define gckOS_CreateSignal              gcmHAL2D(gckOS_CreateSignal)
#define gckOS_DestroySignal             gcmHAL2D(gckOS_DestroySignal)
#define gckOS_Signal                    gcmHAL2D(gckOS_Signal)
#define gckOS_WaitSignal                gcmHAL2D(gckOS_WaitSignal)
#define gckOS_MapSignal                 gcmHAL2D(gckOS_MapSignal)
#define gckOS_MapUserMemory             gcmHAL2D(gckOS_MapUserMemory)
#define gckOS_UnmapUserMemory           gcmHAL2D(gckOS_UnmapUserMemory)
#define gckOS_CreateUserSignal          gcmHAL2D(gckOS_CreateUserSignal)
#define gckOS_DestroyUserSignal         gcmHAL2D(gckOS_DestroyUserSignal)
#define gckOS_WaitUserSignal            gcmHAL2D(gckOS_WaitUserSignal)
#define gckOS_SignalUserSignal          gcmHAL2D(gckOS_SignalUserSignal)
#define gckOS_UserSignal                gcmHAL2D(gckOS_UserSignal)
#define gckOS_UserSignal                gcmHAL2D(gckOS_UserSignal)
#define gckOS_CacheClean                gcmHAL2D(gckOS_CacheClean)
#define gckOS_CacheFlush                gcmHAL2D(gckOS_CacheFlush)
#define gckOS_SetDebugLevel             gcmHAL2D(gckOS_SetDebugLevel)
#define gckOS_SetDebugZone              gcmHAL2D(gckOS_SetDebugZone)
#define gckOS_SetDebugLevelZone         gcmHAL2D(gckOS_SetDebugLevelZone)
#define gckOS_SetDebugZones             gcmHAL2D(gckOS_SetDebugZones)
#define gckOS_SetDebugFile              gcmHAL2D(gckOS_SetDebugFile)
#define gckOS_Broadcast                 gcmHAL2D(gckOS_Broadcast)
#define gckOS_SetGPUPower               gcmHAL2D(gckOS_SetGPUPower)
#define gckOS_CreateSemaphore           gcmHAL2D(gckOS_CreateSemaphore)
#define gckOS_DestroySemaphore          gcmHAL2D(gckOS_DestroySemaphore)
#define gckOS_AcquireSemaphore          gcmHAL2D(gckOS_AcquireSemaphore)
#define gckOS_ReleaseSemaphore          gcmHAL2D(gckOS_ReleaseSemaphore)
#define gckHEAP_Construct               gcmHAL2D(gckHEAP_Construct)
#define gckHEAP_Destroy                 gcmHAL2D(gckHEAP_Destroy)
#define gckHEAP_Allocate                gcmHAL2D(gckHEAP_Allocate)
#define gckHEAP_Free                    gcmHAL2D(gckHEAP_Free)
#define gckHEAP_ProfileStart            gcmHAL2D(gckHEAP_ProfileStart)
#define gckHEAP_ProfileEnd              gcmHAL2D(gckHEAP_ProfileEnd)
#define gckHEAP_Test                    gcmHAL2D(gckHEAP_Test)
#define gckVIDMEM_Construct             gcmHAL2D(gckVIDMEM_Construct)
#define gckVIDMEM_Destroy               gcmHAL2D(gckVIDMEM_Destroy)
#define gckVIDMEM_Allocate              gcmHAL2D(gckVIDMEM_Allocate)
#define gckVIDMEM_AllocateLinear        gcmHAL2D(gckVIDMEM_AllocateLinear)
#define gckVIDMEM_Free                  gcmHAL2D(gckVIDMEM_Free)
#define gckVIDMEM_Lock                  gcmHAL2D(gckVIDMEM_Lock)
#define gckVIDMEM_Unlock                gcmHAL2D(gckVIDMEM_Unlock)
#define gckVIDMEM_ConstructVirtual      gcmHAL2D(gckVIDMEM_ConstructVirtual)
#define gckVIDMEM_DestroyVirtual        gcmHAL2D(gckVIDMEM_DestroyVirtual)
#define gckKERNEL_Construct             gcmHAL2D(gckKERNEL_Construct)
#define gckKERNEL_Destroy               gcmHAL2D(gckKERNEL_Destroy)
#define gckKERNEL_Dispatch              gcmHAL2D(gckKERNEL_Dispatch)
#define gckKERNEL_QueryVideoMemory      gcmHAL2D(gckKERNEL_QueryVideoMemory)
#define gckKERNEL_GetVideoMemoryPool    gcmHAL2D(gckKERNEL_GetVideoMemoryPool)
#define gckKERNEL_MapVideoMemory        gcmHAL2D(gckKERNEL_MapVideoMemory)
#define gckKERNEL_UnmapVideoMemory      gcmHAL2D(gckKERNEL_UnmapVideoMemory)
#define gckKERNEL_MapMemory             gcmHAL2D(gckKERNEL_MapMemory)
#define gckKERNEL_UnmapMemory           gcmHAL2D(gckKERNEL_UnmapMemory)
#define gckKERNEL_Notify                gcmHAL2D(gckKERNEL_Notify)
#define gckKERNEL_QuerySettings         gcmHAL2D(gckKERNEL_QuerySettings)
#define gckKERNEL_Recovery              gcmHAL2D(gckKERNEL_Recovery)
#define gckKERNEL_OpenUserData          gcmHAL2D(gckKERNEL_OpenUserData)
#define gckKERNEL_CloseUserData         gcmHAL2D(gckKERNEL_CloseUserData)
#define gckHARDWARE_Construct           gcmHAL2D(gckHARDWARE_Construct)
#define gckHARDWARE_Destroy             gcmHAL2D(gckHARDWARE_Destroy)
#define gckHARDWARE_QuerySystemMemory   gcmHAL2D(gckHARDWARE_QuerySystemMemory)
#define gckHARDWARE_BuildVirtualAddress     gcmHAL2D(gckHARDWARE_BuildVirtualAddress)
#define gckHARDWARE_QueryCommandBuffer      gcmHAL2D(gckHARDWARE_QueryCommandBuffer)
#define gckHARDWARE_WaitLink            gcmHAL2D(gckHARDWARE_WaitLink)
#define gckHARDWARE_Execute             gcmHAL2D(gckHARDWARE_Execute)
#define gckHARDWARE_End                 gcmHAL2D(gckHARDWARE_End)
#define gckHARDWARE_Nop                 gcmHAL2D(gckHARDWARE_Nop)
#define gckHARDWARE_PipeSelect          gcmHAL2D(gckHARDWARE_PipeSelect)
#define gckHARDWARE_Link                gcmHAL2D(gckHARDWARE_Link)
#define gckHARDWARE_Event               gcmHAL2D(gckHARDWARE_Event)
#define gckHARDWARE_QueryMemory         gcmHAL2D(gckHARDWARE_QueryMemory)
#define gckHARDWARE_QueryChipIdentity   gcmHAL2D(gckHARDWARE_QueryChipIdentity)
#define gckHARDWARE_QueryChipSpecs      gcmHAL2D(gckHARDWARE_QueryChipSpecs)
#define gckHARDWARE_QueryShaderCaps     gcmHAL2D(gckHARDWARE_QueryShaderCaps)
#define gckHARDWARE_ConvertFormat       gcmHAL2D(gckHARDWARE_ConvertFormat)
#define gckHARDWARE_SplitMemory         gcmHAL2D(gckHARDWARE_SplitMemory)
#define gckHARDWARE_AlignToTile         gcmHAL2D(gckHARDWARE_AlignToTile)
#define gckHARDWARE_UpdateQueueTail     gcmHAL2D(gckHARDWARE_UpdateQueueTail)
#define gckHARDWARE_ConvertLogical      gcmHAL2D(gckHARDWARE_ConvertLogical)
#define gckHARDWARE_Interrupt           gcmHAL2D(gckHARDWARE_Interrupt)
#define gckHARDWARE_SetMMU              gcmHAL2D(gckHARDWARE_SetMMU)
#define gckHARDWARE_FlushMMU            gcmHAL2D(gckHARDWARE_FlushMMU)
#define gckHARDWARE_GetIdle             gcmHAL2D(gckHARDWARE_GetIdle)
#define gckHARDWARE_Flush               gcmHAL2D(gckHARDWARE_Flush)
#define gckHARDWARE_SetFastClear        gcmHAL2D(gckHARDWARE_SetFastClear)
#define gckHARDWARE_ReadInterrupt       gcmHAL2D(gckHARDWARE_ReadInterrupt)
#define gckHARDWARE_SetPowerManagementState         gcmHAL2D(gckHARDWARE_SetPowerManagementState)
#define gckHARDWARE_QueryPowerManagementState       gcmHAL2D(gckHARDWARE_QueryPowerManagementState)
#define gckHARDWARE_ProfileEngine2D     gcmHAL2D(gckHARDWARE_ProfileEngine2D)
#define gckHARDWARE_InitializeHardware  gcmHAL2D(gckHARDWARE_InitializeHardware)
#define gckHARDWARE_Reset               gcmHAL2D(gckHARDWARE_Reset)
#define gckINTERRUPT_Construct          gcmHAL2D(gckINTERRUPT_Construct)
#define gckINTERRUPT_Destroy            gcmHAL2D(gckINTERRUPT_Destroy)
#define gckINTERRUPT_SetHandler         gcmHAL2D(gckINTERRUPT_SetHandler)
#define gckINTERRUPT_Notify             gcmHAL2D(gckINTERRUPT_Notify)
#define gckEVENT_Construct              gcmHAL2D(gckEVENT_Construct)
#define gckEVENT_Destroy                gcmHAL2D(gckEVENT_Destroy)
#define gckEVENT_AddList                gcmHAL2D(gckEVENT_AddList)
#define gckEVENT_FreeNonPagedMemory     gcmHAL2D(gckEVENT_FreeNonPagedMemory)
#define gckEVENT_FreeContiguousMemory   gcmHAL2D(gckEVENT_FreeContiguousMemory)
#define gckEVENT_FreeVideoMemory        gcmHAL2D(gckEVENT_FreeVideoMemory)
#define gckEVENT_Signal                 gcmHAL2D(gckEVENT_Signal)
#define gckEVENT_Unlock                 gcmHAL2D(gckEVENT_Unlock)
#define gckEVENT_Submit                 gcmHAL2D(gckEVENT_Submit)
#define gckEVENT_Commit                 gcmHAL2D(gckEVENT_Commit)
#define gckEVENT_Notify                 gcmHAL2D(gckEVENT_Notify)
#define gckEVENT_Interrupt              gcmHAL2D(gckEVENT_Interrupt)
#define gckCOMMAND_Construct            gcmHAL2D(gckCOMMAND_Construct)
#define gckCOMMAND_Destroy              gcmHAL2D(gckCOMMAND_Destroy)
#define gckCOMMAND_EnterCommit          gcmHAL2D(gckCOMMAND_EnterCommit)
#define gckCOMMAND_ExitCommit           gcmHAL2D(gckCOMMAND_ExitCommit)
#define gckCOMMAND_Start                gcmHAL2D(gckCOMMAND_Start)
#define gckCOMMAND_Stop                 gcmHAL2D(gckCOMMAND_Stop)
#define gckCOMMAND_Commit               gcmHAL2D(gckCOMMAND_Commit)
#define gckCOMMAND_Reserve              gcmHAL2D(gckCOMMAND_Reserve)
#define gckCOMMAND_Execute              gcmHAL2D(gckCOMMAND_Execute)
#define gckCOMMAND_Stall                gcmHAL2D(gckCOMMAND_Stall)
#define gckCOMMAND_Attach               gcmHAL2D(gckCOMMAND_Attach)
#define gckCOMMAND_Detach               gcmHAL2D(gckCOMMAND_Detach)
#define gckMMU_Construct                gcmHAL2D(gckMMU_Construct)
#define gckMMU_Destroy                  gcmHAL2D(gckMMU_Destroy)
#define gckMMU_AllocatePages            gcmHAL2D(gckMMU_AllocatePages)
#define gckMMU_FreePages                gcmHAL2D(gckMMU_FreePages)
#define gckMMU_Test                     gcmHAL2D(gckMMU_Test)
#define gckHARDWARE_QueryProfileRegisters     gcmHAL2D(gckHARDWARE_QueryProfileRegisters)


#define FindMdlMap                      gcmHAL2D(FindMdlMap)
#define OnProcessExit                   gcmHAL2D(OnProcessExit)

#define gckGALDEVICE_Destroy            gcmHAL2D(gckGALDEVICE_Destroy)
#define gckOS_Print                     gcmHAL2D(gckOS_Print)
#define gckGALDEVICE_FreeMemory         gcmHAL2D(gckGALDEVICE_FreeMemory)
#define gckGALDEVICE_AllocateMemory     gcmHAL2D(gckGALDEVICE_AllocateMemory)
#define gckOS_DebugBreak                gcmHAL2D(gckOS_DebugBreak)
#define gckGALDEVICE_Release_ISR        gcmHAL2D(gckGALDEVICE_Release_ISR)
#define gckOS_Verify                    gcmHAL2D(gckOS_Verify)
#define gckCOMMAND_Release              gcmHAL2D(gckCOMMAND_Release)
#define gckGALDEVICE_Stop               gcmHAL2D(gckGALDEVICE_Stop)
#define gckGALDEVICE_Construct          gcmHAL2D(gckGALDEVICE_Construct)
#define gckOS_DebugFatal                gcmHAL2D(gckOS_DebugFatal)
#define gckOS_DebugTrace                gcmHAL2D(gckOS_DebugTrace)
#define gckHARDWARE_GetBaseAddress      gcmHAL2D(gckHARDWARE_GetBaseAddress)
#define gckGALDEVICE_Setup_ISR          gcmHAL2D(gckGALDEVICE_Setup_ISR)
#define gckKERNEL_AttachProcess         gcmHAL2D(gckKERNEL_AttachProcess)
#define gckKERNEL_AttachProcessEx       gcmHAL2D(gckKERNEL_AttachProcessEx)
#define gckGALDEVICE_Start_Thread       gcmHAL2D(gckGALDEVICE_Start_Thread)
#define gckHARDWARE_QueryIdle           gcmHAL2D(gckHARDWARE_QueryIdle)
#define gckGALDEVICE_Start              gcmHAL2D(gckGALDEVICE_Start)
#define gckOS_GetKernelLogical          gcmHAL2D(gckOS_GetKernelLogical)
#define gckOS_DebugTraceZone            gcmHAL2D(gckOS_DebugTraceZone)
#define gckGALDEVICE_Stop_Thread        gcmHAL2D(gckGALDEVICE_Stop_Thread)
#define gckHARDWARE_NeedBaseAddress     gcmHAL2D(gckHARDWARE_NeedBaseAddress)

#endif

#endif /* __gc_hal_rename_h_ */
