View Single Post
Stskeeps's Avatar
Posts: 1,671 | Thanked: 11,478 times | Joined on Jun 2008 @ Warsaw, Poland
#31
For future reference of things that might come in handy if we want to write our own display class:

Breakpoint 1, GetDisplayJumpTable (psDisplayJumpTable=0x16c1c) at omaplcd_client.c:1792
1792 omaplcd_client.c: No such file or directory.
in omaplcd_client.c
(gdb) print psDisplayJumpTable
$1 = (DISPLAY_CLASS_JUMP_TABLE *) 0x16c1c
(gdb) print *psDisplayJumpTable
$2 = {pfnInitDevice = 0, pfnDeInitDevice = 0, pfnEnumerateFormats = 0, pfnEnumerateDims = 0, pfnSetMode = 0,
pfnCreateSwapChain = 0, pfnDestroySwapChain = 0, pfnSetDstRect = 0, pfnSetSrcRect = 0, pfnSetDstCKColour = 0,
pfnSetSrcCKColour = 0, pfnGetSystemBuffer = 0, pfnGetBuffers = 0, pfnSwapToBuffer = 0, pfnSwapToSystem = 0,
pfnGetSysBusAddr = 0, pfnGetCPULinAddr = 0, pfnGetSyncObject = 0, pfnLockBuffer = 0, pfnUnlockBuffer = 0,
pfnGetDevInfo = 0, pfnSetupMMAPFuncs = 0, pfnSetFlipCmdComplete = 0, pfnInstallISR = 0, pfnUninstallISR = 0}

PVRSRV_ERROR CreateSwapChain(IMG_HANDLE, IMG_UINT32, DISPLAY_SURF_ATTRIBUTES *, DISPLAY_SURF_ATTRIBUTES *, IMG_UINT32,
IMG_UINT32, IMG_UINT32 *, IMG_HANDLE *);
PVRSRV_ERROR DeInitDevice(IMG_HANDLE);
PVRSRV_ERROR DestroySwapChain(IMG_HANDLE, IMG_HANDLE);
PVRSRV_ERROR EnumerateDims(IMG_HANDLE, IMG_UINT32 *, DISPLAY_FORMAT *, DISPLAY_DIMS **);
PVRSRV_ERROR EnumerateFormats(IMG_HANDLE, IMG_UINT32 *, DISPLAY_FORMAT *);
PVRSRV_ERROR GetBuffers(IMG_HANDLE, IMG_HANDLE *);
PVRSRV_ERROR GetCPULinAddr(IMG_HANDLE, IMG_CPU_VIRTADDR *);
PVRSRV_ERROR GetDeviceInfo(IMG_HANDLE, DISPLAY_INFO *);
PVRSRV_ERROR GetDisplayJumpTable(DISPLAY_CLASS_JUMP_TABLE *);
PVRSRV_ERROR GetSyncObject(IMG_HANDLE, PVRSRV_SYNC_INFO **);
PVRSRV_ERROR GetSysBusAddr(IMG_HANDLE, SYSTEM_ADDR **);
PVRSRV_ERROR GetSystemBuffer(IMG_HANDLE, IMG_HANDLE *);
IMG_HANDLE InitDevice(IMG_HANDLE, PFN_INSERT_CMD, PFN_SUBMIT_CMD);
PVRSRV_ERROR InstallVsyncISR(IMG_HANDLE);
PVRSRV_ERROR LockBuffer(IMG_HANDLE, IMG_HANDLE, IMG_RECT *, IMG_UINT32, IMG_CPU_VIRTADDR *, IMG_INT32 *, IMG_UINT32 *);
IMG_UINT32 MapSysPhysToDevPhysAddr(SYSTEM_ADDR *);
PVRSRV_ERROR SetDstCKColour(IMG_HANDLE, IMG_HANDLE, IMG_UINT32);
PVRSRV_ERROR SetDstRect(IMG_HANDLE, IMG_HANDLE, IMG_RECT *);
PVRSRV_ERROR SetFlipCmdComplete(void);
PVRSRV_ERROR SetMode(IMG_HANDLE, SYSTEM_ADDR *, DISPLAY_MODE_INFO *);
PVRSRV_ERROR SetSrcCKColour(IMG_HANDLE, IMG_HANDLE, IMG_UINT32);
PVRSRV_ERROR SetSrcRect(IMG_HANDLE, IMG_HANDLE, IMG_RECT *);
PVRSRV_ERROR SwapToBuffer(IMG_HANDLE, IMG_HANDLE, IMG_UINT32, IMG_RECT *, IMG_UINT32, IMG_HANDLE);
PVRSRV_ERROR SwapToSystem(IMG_HANDLE, IMG_HANDLE);
PVRSRV_ERROR UninstallVsyncISR(IMG_HANDLE);
PVRSRV_ERROR UnlockBuffer(IMG_HANDLE, IMG_HANDLE);
static PVRSRV_ERROR CreateSwapChainDevInfo(OMAPLCD_DEVINFO *, IMG_UINT32, IMG_UINT32, OMAPLCD_SWAP_CHAIN *,
DISPLAY_SURF_ATTRIBUTES *, DISPLAY_SURF_ATTRIBUTES *, IMG_UINT32 *);
static PVRSRV_ERROR DestroySwapChainDevInfo(OMAPLCD_SWAP_CHAIN *);
static void Flip(OMAPLCD_DEVINFO *, long unsigned int);
static void FlushQueue(OMAPLCD_DEVINFO *, void (*)(IMG_VOID *, long unsigned int), IMG_VOID *);

and
(gdb) print *psDisplayJumpTable
$11 = {pfnInitDevice = 0x400717e0 <InitDevice>, pfnDeInitDevice = 0x40071bcc <DeInitDevice>,
pfnEnumerateFormats = 0x40071d58 <EnumerateFormats>, pfnEnumerateDims = 0x40071e50 <EnumerateDims>,
pfnSetMode = 0x40071f74 <SetMode>, pfnCreateSwapChain = 0x40072048 <CreateSwapChain>,
pfnDestroySwapChain = 0x40072618 <DestroySwapChain>, pfnSetDstRect = 0x400726f8 <SetDstRect>,
pfnSetSrcRect = 0x4007277c <SetSrcRect>, pfnSetDstCKColour = 0x40072800 <SetDstCKColour>,
pfnSetSrcCKColour = 0x4007286c <SetSrcCKColour>, pfnGetSystemBuffer = 0x400728d8 <GetSystemBuffer>,
pfnGetBuffers = 0x40072944 <GetBuffers>, pfnSwapToBuffer = 0x40072a0c <SwapToBuffer>,
pfnSwapToSystem = 0x40072c14 <SwapToSystem>, pfnGetSysBusAddr = 0x40072dd4 <GetSysBusAddr>,
pfnGetCPULinAddr = 0x40072e4c <GetCPULinAddr>, pfnGetSyncObject = 0x40072eb8 <GetSyncObject>,
pfnLockBuffer = 0x40072f78 <LockBuffer>, pfnUnlockBuffer = 0x4007315c <UnlockBuffer>,
pfnGetDevInfo = 0x40072f24 <GetDeviceInfo>, pfnSetupMMAPFuncs = 0x400736e4 <SetupMMAPFuncs>,
pfnSetFlipCmdComplete = 0x40073190 <SetFlipCmdComplete>, pfnInstallISR = 0x400731ac <InstallVsyncISR>,
pfnUninstallISR = 0x40073204 <UninstallVsyncISR>}
__________________
As you go on to other communities, remember to build them around politeness, respect, trust and humility. Be wary of poisonous people and deal with them before they end up killing your community.. Seen it happen to too many IRC channels, forums, open source projects.

Last edited by Stskeeps; 2010-06-20 at 11:50.
 

The Following 8 Users Say Thank You to Stskeeps For This Useful Post: