aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/pvr_bridge.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/pvr/pvr_bridge.h')
-rw-r--r--drivers/gpu/pvr/pvr_bridge.h1450
1 files changed, 1450 insertions, 0 deletions
diff --git a/drivers/gpu/pvr/pvr_bridge.h b/drivers/gpu/pvr/pvr_bridge.h
new file mode 100644
index 00000000000..469ceb223cd
--- /dev/null
+++ b/drivers/gpu/pvr/pvr_bridge.h
@@ -0,0 +1,1450 @@
1/**********************************************************************
2 *
3 * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful but, except
10 * as otherwise stated in writing, without any warranty; without even the
11 * implied warranty of merchantability or fitness for a particular purpose.
12 * See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 * The full GNU General Public License is included in this distribution in
19 * the file called "COPYING".
20 *
21 * Contact Information:
22 * Imagination Technologies Ltd. <gpl-support@imgtec.com>
23 * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK
24 *
25 ******************************************************************************/
26
27#ifndef __PVR_BRIDGE_H__
28#define __PVR_BRIDGE_H__
29
30#if defined (__cplusplus)
31extern "C" {
32#endif
33
34#include "servicesint.h"
35
36#ifdef __linux__
37
38 #include <linux/ioctl.h>
39
40 #define PVRSRV_IOC_GID 'g'
41 #define PVRSRV_IO(INDEX) _IO(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
42 #define PVRSRV_IOW(INDEX) _IOW(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
43 #define PVRSRV_IOR(INDEX) _IOR(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
44 #define PVRSRV_IOWR(INDEX) _IOWR(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
45
46#else
47
48 #error Unknown platform: Cannot define ioctls
49
50 #define PVRSRV_IO(INDEX) (PVRSRV_IOC_GID + (INDEX))
51 #define PVRSRV_IOW(INDEX) (PVRSRV_IOC_GID + (INDEX))
52 #define PVRSRV_IOR(INDEX) (PVRSRV_IOC_GID + (INDEX))
53 #define PVRSRV_IOWR(INDEX) (PVRSRV_IOC_GID + (INDEX))
54
55 #define PVRSRV_BRIDGE_BASE PVRSRV_IOC_GID
56#endif
57
58
59#define PVRSRV_BRIDGE_CORE_CMD_FIRST 0UL
60#define PVRSRV_BRIDGE_ENUM_DEVICES PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+0)
61#define PVRSRV_BRIDGE_ACQUIRE_DEVICEINFO PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+1)
62#define PVRSRV_BRIDGE_RELEASE_DEVICEINFO PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+2)
63#define PVRSRV_BRIDGE_CREATE_DEVMEMCONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+3)
64#define PVRSRV_BRIDGE_DESTROY_DEVMEMCONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+4)
65#define PVRSRV_BRIDGE_GET_DEVMEM_HEAPINFO PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+5)
66#define PVRSRV_BRIDGE_ALLOC_DEVICEMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+6)
67#define PVRSRV_BRIDGE_FREE_DEVICEMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+7)
68#define PVRSRV_BRIDGE_GETFREE_DEVICEMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+8)
69#define PVRSRV_BRIDGE_CREATE_COMMANDQUEUE PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+9)
70#define PVRSRV_BRIDGE_DESTROY_COMMANDQUEUE PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+10)
71#define PVRSRV_BRIDGE_MHANDLE_TO_MMAP_DATA PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+11)
72#define PVRSRV_BRIDGE_CONNECT_SERVICES PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+12)
73#define PVRSRV_BRIDGE_DISCONNECT_SERVICES PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+13)
74#define PVRSRV_BRIDGE_WRAP_DEVICE_MEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+14)
75#define PVRSRV_BRIDGE_GET_DEVICEMEMINFO PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+15)
76#define PVRSRV_BRIDGE_RESERVE_DEV_VIRTMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+16)
77#define PVRSRV_BRIDGE_FREE_DEV_VIRTMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+17)
78#define PVRSRV_BRIDGE_MAP_EXT_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+18)
79#define PVRSRV_BRIDGE_UNMAP_EXT_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+19)
80#define PVRSRV_BRIDGE_MAP_DEV_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+20)
81#define PVRSRV_BRIDGE_UNMAP_DEV_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+21)
82#define PVRSRV_BRIDGE_MAP_DEVICECLASS_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+22)
83#define PVRSRV_BRIDGE_UNMAP_DEVICECLASS_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+23)
84#define PVRSRV_BRIDGE_MAP_MEM_INFO_TO_USER PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+24)
85#define PVRSRV_BRIDGE_UNMAP_MEM_INFO_FROM_USER PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+25)
86#define PVRSRV_BRIDGE_EXPORT_DEVICEMEM PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+26)
87#define PVRSRV_BRIDGE_RELEASE_MMAP_DATA PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
88#define PVRSRV_BRIDGE_CORE_CMD_LAST (PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
89
90#define PVRSRV_BRIDGE_SIM_CMD_FIRST (PVRSRV_BRIDGE_CORE_CMD_LAST+1)
91#define PVRSRV_BRIDGE_PROCESS_SIMISR_EVENT PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+0)
92#define PVRSRV_BRIDGE_REGISTER_SIM_PROCESS PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+1)
93#define PVRSRV_BRIDGE_UNREGISTER_SIM_PROCESS PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+2)
94#define PVRSRV_BRIDGE_SIM_CMD_LAST (PVRSRV_BRIDGE_SIM_CMD_FIRST+2)
95
96#define PVRSRV_BRIDGE_MAPPING_CMD_FIRST (PVRSRV_BRIDGE_SIM_CMD_LAST+1)
97#define PVRSRV_BRIDGE_MAPPHYSTOUSERSPACE PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+0)
98#define PVRSRV_BRIDGE_UNMAPPHYSTOUSERSPACE PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+1)
99#define PVRSRV_BRIDGE_GETPHYSTOUSERSPACEMAP PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+2)
100#define PVRSRV_BRIDGE_MAPPING_CMD_LAST (PVRSRV_BRIDGE_MAPPING_CMD_FIRST+2)
101
102#define PVRSRV_BRIDGE_STATS_CMD_FIRST (PVRSRV_BRIDGE_MAPPING_CMD_LAST+1)
103#define PVRSRV_BRIDGE_GET_FB_STATS PVRSRV_IOWR(PVRSRV_BRIDGE_STATS_CMD_FIRST+0)
104#define PVRSRV_BRIDGE_STATS_CMD_LAST (PVRSRV_BRIDGE_STATS_CMD_FIRST+0)
105
106#define PVRSRV_BRIDGE_MISC_CMD_FIRST (PVRSRV_BRIDGE_STATS_CMD_LAST+1)
107#define PVRSRV_BRIDGE_GET_MISC_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_MISC_CMD_FIRST+0)
108#define PVRSRV_BRIDGE_RELEASE_MISC_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_MISC_CMD_FIRST+1)
109#define PVRSRV_BRIDGE_MISC_CMD_LAST (PVRSRV_BRIDGE_MISC_CMD_FIRST+1)
110
111#if defined (SUPPORT_OVERLAY_ROTATE_BLIT)
112#define PVRSRV_BRIDGE_OVERLAY_CMD_FIRST (PVRSRV_BRIDGE_MISC_CMD_LAST+1)
113#define PVRSRV_BRIDGE_INIT_3D_OVL_BLT_RES PVRSRV_IOWR(PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+0)
114#define PVRSRV_BRIDGE_DEINIT_3D_OVL_BLT_RES PVRSRV_IOWR(PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
115#define PVRSRV_BRIDGE_OVERLAY_CMD_LAST (PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
116#else
117#define PVRSRV_BRIDGE_OVERLAY_CMD_LAST PVRSRV_BRIDGE_MISC_CMD_LAST
118#endif
119
120#if defined(PDUMP)
121#define PVRSRV_BRIDGE_PDUMP_CMD_FIRST (PVRSRV_BRIDGE_OVERLAY_CMD_LAST+1)
122#define PVRSRV_BRIDGE_PDUMP_INIT PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+0)
123#define PVRSRV_BRIDGE_PDUMP_MEMPOL PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+1)
124#define PVRSRV_BRIDGE_PDUMP_DUMPMEM PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+2)
125#define PVRSRV_BRIDGE_PDUMP_REG PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+3)
126#define PVRSRV_BRIDGE_PDUMP_REGPOL PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+4)
127#define PVRSRV_BRIDGE_PDUMP_COMMENT PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+5)
128#define PVRSRV_BRIDGE_PDUMP_SETFRAME PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+6)
129#define PVRSRV_BRIDGE_PDUMP_ISCAPTURING PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+7)
130#define PVRSRV_BRIDGE_PDUMP_DUMPBITMAP PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+8)
131#define PVRSRV_BRIDGE_PDUMP_DUMPREADREG PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+9)
132#define PVRSRV_BRIDGE_PDUMP_SYNCPOL PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+10)
133#define PVRSRV_BRIDGE_PDUMP_DUMPSYNC PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+11)
134#define PVRSRV_BRIDGE_PDUMP_MEMPAGES PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+12)
135#define PVRSRV_BRIDGE_PDUMP_DRIVERINFO PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+13)
136#define PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+15)
137#define PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+16)
138#define PVRSRV_BRIDGE_PDUMP_STARTINITPHASE PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+17)
139#define PVRSRV_BRIDGE_PDUMP_STOPINITPHASE PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
140#define PVRSRV_BRIDGE_PDUMP_CMD_LAST (PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
141#else
142#define PVRSRV_BRIDGE_PDUMP_CMD_LAST PVRSRV_BRIDGE_OVERLAY_CMD_LAST
143#endif
144
145#define PVRSRV_BRIDGE_OEM_CMD_FIRST (PVRSRV_BRIDGE_PDUMP_CMD_LAST+1)
146#define PVRSRV_BRIDGE_GET_OEMJTABLE PVRSRV_IOWR(PVRSRV_BRIDGE_OEM_CMD_FIRST+0)
147#define PVRSRV_BRIDGE_OEM_CMD_LAST (PVRSRV_BRIDGE_OEM_CMD_FIRST+0)
148
149#define PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST (PVRSRV_BRIDGE_OEM_CMD_LAST+1)
150#define PVRSRV_BRIDGE_ENUM_CLASS PVRSRV_IOWR(PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST+0)
151#define PVRSRV_BRIDGE_DEVCLASS_CMD_LAST (PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST+0)
152
153#define PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST (PVRSRV_BRIDGE_DEVCLASS_CMD_LAST+1)
154#define PVRSRV_BRIDGE_OPEN_DISPCLASS_DEVICE PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+0)
155#define PVRSRV_BRIDGE_CLOSE_DISPCLASS_DEVICE PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+1)
156#define PVRSRV_BRIDGE_ENUM_DISPCLASS_FORMATS PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+2)
157#define PVRSRV_BRIDGE_ENUM_DISPCLASS_DIMS PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+3)
158#define PVRSRV_BRIDGE_GET_DISPCLASS_SYSBUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+4)
159#define PVRSRV_BRIDGE_GET_DISPCLASS_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+5)
160#define PVRSRV_BRIDGE_CREATE_DISPCLASS_SWAPCHAIN PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+6)
161#define PVRSRV_BRIDGE_DESTROY_DISPCLASS_SWAPCHAIN PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+7)
162#define PVRSRV_BRIDGE_SET_DISPCLASS_DSTRECT PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+8)
163#define PVRSRV_BRIDGE_SET_DISPCLASS_SRCRECT PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+9)
164#define PVRSRV_BRIDGE_SET_DISPCLASS_DSTCOLOURKEY PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+10)
165#define PVRSRV_BRIDGE_SET_DISPCLASS_SRCCOLOURKEY PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+11)
166#define PVRSRV_BRIDGE_GET_DISPCLASS_BUFFERS PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+12)
167#define PVRSRV_BRIDGE_SWAP_DISPCLASS_TO_BUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+13)
168#define PVRSRV_BRIDGE_SWAP_DISPCLASS_TO_SYSTEM PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+14)
169#define PVRSRV_BRIDGE_DISPCLASS_CMD_LAST (PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+14)
170
171
172#define PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST (PVRSRV_BRIDGE_DISPCLASS_CMD_LAST+1)
173#define PVRSRV_BRIDGE_OPEN_BUFFERCLASS_DEVICE PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+0)
174#define PVRSRV_BRIDGE_CLOSE_BUFFERCLASS_DEVICE PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+1)
175#define PVRSRV_BRIDGE_GET_BUFFERCLASS_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+2)
176#define PVRSRV_BRIDGE_GET_BUFFERCLASS_BUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+3)
177#define PVRSRV_BRIDGE_BUFCLASS_CMD_LAST (PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+3)
178
179#define PVRSRV_BRIDGE_WRAP_CMD_FIRST (PVRSRV_BRIDGE_BUFCLASS_CMD_LAST+1)
180#define PVRSRV_BRIDGE_WRAP_EXT_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_WRAP_CMD_FIRST+0)
181#define PVRSRV_BRIDGE_UNWRAP_EXT_MEMORY PVRSRV_IOWR(PVRSRV_BRIDGE_WRAP_CMD_FIRST+1)
182#define PVRSRV_BRIDGE_WRAP_CMD_LAST (PVRSRV_BRIDGE_WRAP_CMD_FIRST+1)
183
184#define PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST (PVRSRV_BRIDGE_WRAP_CMD_LAST+1)
185#define PVRSRV_BRIDGE_ALLOC_SHARED_SYS_MEM PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+0)
186#define PVRSRV_BRIDGE_FREE_SHARED_SYS_MEM PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+1)
187#define PVRSRV_BRIDGE_MAP_MEMINFO_MEM PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+2)
188#define PVRSRV_BRIDGE_UNMAP_MEMINFO_MEM PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+3)
189#define PVRSRV_BRIDGE_SHAREDMEM_CMD_LAST (PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+3)
190
191#define PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST (PVRSRV_BRIDGE_SHAREDMEM_CMD_LAST+1)
192#define PVRSRV_BRIDGE_GETMMU_PD_DEVPADDR PVRSRV_IOWR(PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST+0)
193#define PVRSRV_BRIDGE_SERVICES4_TMP_CMD_LAST (PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST+0)
194
195#define PVRSRV_BRIDGE_INITSRV_CMD_FIRST (PVRSRV_BRIDGE_SERVICES4_TMP_CMD_LAST+1)
196#define PVRSRV_BRIDGE_INITSRV_CONNECT PVRSRV_IOWR(PVRSRV_BRIDGE_INITSRV_CMD_FIRST+0)
197#define PVRSRV_BRIDGE_INITSRV_DISCONNECT PVRSRV_IOWR(PVRSRV_BRIDGE_INITSRV_CMD_FIRST+1)
198#define PVRSRV_BRIDGE_INITSRV_CMD_LAST (PVRSRV_BRIDGE_INITSRV_CMD_FIRST+1)
199
200#define PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST (PVRSRV_BRIDGE_INITSRV_CMD_LAST+1)
201#define PVRSRV_BRIDGE_EVENT_OBJECT_WAIT PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+0)
202#define PVRSRV_BRIDGE_EVENT_OBJECT_OPEN PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+1)
203#define PVRSRV_BRIDGE_EVENT_OBJECT_CLOSE PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+2)
204#define PVRSRV_BRIDGE_EVENT_OBJECT_CMD_LAST (PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+2)
205
206#define PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST (PVRSRV_BRIDGE_EVENT_OBJECT_CMD_LAST+1)
207#define PVRSRV_BRIDGE_CREATE_SYNC_INFO_MOD_OBJ PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+0)
208#define PVRSRV_BRIDGE_DESTROY_SYNC_INFO_MOD_OBJ PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+1)
209#define PVRSRV_BRIDGE_MODIFY_PENDING_SYNC_OPS PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+2)
210#define PVRSRV_BRIDGE_MODIFY_COMPLETE_SYNC_OPS PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+3)
211#define PVRSRV_BRIDGE_SYNC_OPS_FLUSH_TO_MOD_OBJ PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+4)
212#define PVRSRV_BRIDGE_SYNC_OPS_FLUSH_TO_DELTA PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+5)
213#define PVRSRV_BRIDGE_ALLOC_SYNC_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+6)
214#define PVRSRV_BRIDGE_FREE_SYNC_INFO PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+7)
215#define PVRSRV_BRIDGE_SYNC_OPS_CMD_LAST (PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+7)
216
217#define PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD (PVRSRV_BRIDGE_SYNC_OPS_CMD_LAST+1)
218
219
220#define PVRSRV_KERNEL_MODE_CLIENT 1
221
222typedef struct PVRSRV_BRIDGE_RETURN_TAG
223{
224 PVRSRV_ERROR eError;
225 IMG_VOID *pvData;
226
227}PVRSRV_BRIDGE_RETURN;
228
229
230typedef struct PVRSRV_BRIDGE_PACKAGE_TAG
231{
232 IMG_UINT32 ui32BridgeID;
233 IMG_UINT32 ui32Size;
234 IMG_VOID *pvParamIn;
235 IMG_UINT32 ui32InBufferSize;
236 IMG_VOID *pvParamOut;
237 IMG_UINT32 ui32OutBufferSize;
238
239 IMG_HANDLE hKernelServices;
240}PVRSRV_BRIDGE_PACKAGE;
241
242
243
244
245
246
247typedef struct PVRSRV_BRIDGE_IN_CONNECT_SERVICES_TAG
248{
249 IMG_UINT32 ui32Flags;
250} PVRSRV_BRIDGE_IN_CONNECT_SERVICES;
251
252typedef struct PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO_TAG
253{
254 IMG_UINT32 ui32BridgeFlags;
255 IMG_UINT32 uiDevIndex;
256 PVRSRV_DEVICE_TYPE eDeviceType;
257
258} PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO;
259
260
261typedef struct PVRSRV_BRIDGE_IN_ENUMCLASS_TAG
262{
263 IMG_UINT32 ui32BridgeFlags;
264 PVRSRV_DEVICE_CLASS sDeviceClass;
265} PVRSRV_BRIDGE_IN_ENUMCLASS;
266
267
268typedef struct PVRSRV_BRIDGE_IN_CLOSE_DISPCLASS_DEVICE_TAG
269{
270 IMG_UINT32 ui32BridgeFlags;
271 IMG_HANDLE hDeviceKM;
272} PVRSRV_BRIDGE_IN_CLOSE_DISPCLASS_DEVICE;
273
274
275typedef struct PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_FORMATS_TAG
276{
277 IMG_UINT32 ui32BridgeFlags;
278 IMG_HANDLE hDeviceKM;
279} PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_FORMATS;
280
281
282typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_SYSBUFFER_TAG
283{
284 IMG_UINT32 ui32BridgeFlags;
285 IMG_HANDLE hDeviceKM;
286} PVRSRV_BRIDGE_IN_GET_DISPCLASS_SYSBUFFER;
287
288
289typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_INFO_TAG
290{
291 IMG_UINT32 ui32BridgeFlags;
292 IMG_HANDLE hDeviceKM;
293} PVRSRV_BRIDGE_IN_GET_DISPCLASS_INFO;
294
295
296typedef struct PVRSRV_BRIDGE_IN_CLOSE_BUFFERCLASS_DEVICE_TAG
297{
298 IMG_UINT32 ui32BridgeFlags;
299 IMG_HANDLE hDeviceKM;
300} PVRSRV_BRIDGE_IN_CLOSE_BUFFERCLASS_DEVICE;
301
302
303typedef struct PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_INFO_TAG
304{
305 IMG_UINT32 ui32BridgeFlags;
306 IMG_HANDLE hDeviceKM;
307} PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_INFO;
308
309
310
311typedef struct PVRSRV_BRIDGE_IN_RELEASE_DEVICEINFO_TAG
312{
313 IMG_UINT32 ui32BridgeFlags;
314 IMG_HANDLE hDevCookie;
315
316} PVRSRV_BRIDGE_IN_RELEASE_DEVICEINFO;
317
318
319
320typedef struct PVRSRV_BRIDGE_IN_FREE_CLASSDEVICEINFO_TAG
321{
322 IMG_UINT32 ui32BridgeFlags;
323 PVRSRV_DEVICE_CLASS DeviceClass;
324 IMG_VOID* pvDevInfo;
325
326}PVRSRV_BRIDGE_IN_FREE_CLASSDEVICEINFO;
327
328
329
330typedef struct PVRSRV_BRIDGE_IN_GET_DEVMEM_HEAPINFO_TAG
331{
332 IMG_UINT32 ui32BridgeFlags;
333 IMG_HANDLE hDevCookie;
334 IMG_HANDLE hDevMemContext;
335
336}PVRSRV_BRIDGE_IN_GET_DEVMEM_HEAPINFO;
337
338
339
340typedef struct PVRSRV_BRIDGE_IN_CREATE_DEVMEMCONTEXT_TAG
341{
342 IMG_UINT32 ui32BridgeFlags;
343 IMG_HANDLE hDevCookie;
344
345}PVRSRV_BRIDGE_IN_CREATE_DEVMEMCONTEXT;
346
347
348
349typedef struct PVRSRV_BRIDGE_IN_DESTROY_DEVMEMCONTEXT_TAG
350{
351 IMG_UINT32 ui32BridgeFlags;
352 IMG_HANDLE hDevCookie;
353 IMG_HANDLE hDevMemContext;
354
355}PVRSRV_BRIDGE_IN_DESTROY_DEVMEMCONTEXT;
356
357
358
359typedef struct PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM_TAG
360{
361 IMG_UINT32 ui32BridgeFlags;
362 IMG_HANDLE hDevCookie;
363 IMG_HANDLE hDevMemHeap;
364 IMG_UINT32 ui32Attribs;
365 IMG_SIZE_T ui32Size;
366 IMG_SIZE_T ui32Alignment;
367
368}PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM;
369
370
371typedef struct PVRSRV_BRIDGE_IN_MAPMEMINFOTOUSER_TAG
372{
373 IMG_UINT32 ui32BridgeFlags;
374 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
375
376}PVRSRV_BRIDGE_IN_MAPMEMINFOTOUSER;
377
378
379typedef struct PVRSRV_BRIDGE_IN_UNMAPMEMINFOFROMUSER_TAG
380{
381 IMG_UINT32 ui32BridgeFlags;
382 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
383 IMG_PVOID pvLinAddr;
384 IMG_HANDLE hMappingInfo;
385
386}PVRSRV_BRIDGE_IN_UNMAPMEMINFOFROMUSER;
387
388
389typedef struct PVRSRV_BRIDGE_IN_FREEDEVICEMEM_TAG
390{
391 IMG_UINT32 ui32BridgeFlags;
392 IMG_HANDLE hDevCookie;
393 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
394 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
395
396}PVRSRV_BRIDGE_IN_FREEDEVICEMEM;
397
398
399typedef struct PVRSRV_BRIDGE_IN_EXPORTDEVICEMEM_TAG
400{
401 IMG_UINT32 ui32BridgeFlags;
402 IMG_HANDLE hDevCookie;
403 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
404
405}PVRSRV_BRIDGE_IN_EXPORTDEVICEMEM;
406
407
408typedef struct PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM_TAG
409{
410 IMG_UINT32 ui32BridgeFlags;
411 IMG_UINT32 ui32Flags;
412
413} PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM;
414
415
416typedef struct PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE_TAG
417{
418 IMG_UINT32 ui32BridgeFlags;
419 IMG_HANDLE hDevCookie;
420 IMG_SIZE_T ui32QueueSize;
421
422}PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE;
423
424
425
426typedef struct PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE_TAG
427{
428 IMG_UINT32 ui32BridgeFlags;
429 IMG_HANDLE hDevCookie;
430 PVRSRV_QUEUE_INFO *psQueueInfo;
431
432}PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE;
433
434
435
436typedef struct PVRSRV_BRIDGE_IN_MHANDLE_TO_MMAP_DATA_TAG
437{
438 IMG_UINT32 ui32BridgeFlags;
439 IMG_HANDLE hMHandle;
440} PVRSRV_BRIDGE_IN_MHANDLE_TO_MMAP_DATA;
441
442
443
444typedef struct PVRSRV_BRIDGE_IN_RELEASE_MMAP_DATA_TAG
445{
446 IMG_UINT32 ui32BridgeFlags;
447 IMG_HANDLE hMHandle;
448} PVRSRV_BRIDGE_IN_RELEASE_MMAP_DATA;
449
450
451
452typedef struct PVRSRV_BRIDGE_IN_RESERVE_DEV_VIRTMEM_TAG
453{
454 IMG_UINT32 ui32BridgeFlags;
455 IMG_HANDLE hDevMemHeap;
456 IMG_DEV_VIRTADDR *psDevVAddr;
457 IMG_SIZE_T ui32Size;
458 IMG_SIZE_T ui32Alignment;
459
460}PVRSRV_BRIDGE_IN_RESERVE_DEV_VIRTMEM;
461
462
463typedef struct PVRSRV_BRIDGE_OUT_CONNECT_SERVICES_TAG
464{
465 PVRSRV_ERROR eError;
466 IMG_HANDLE hKernelServices;
467}PVRSRV_BRIDGE_OUT_CONNECT_SERVICES;
468
469
470typedef struct PVRSRV_BRIDGE_OUT_RESERVE_DEV_VIRTMEM_TAG
471{
472 PVRSRV_ERROR eError;
473 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
474 PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
475 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
476 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
477
478}PVRSRV_BRIDGE_OUT_RESERVE_DEV_VIRTMEM;
479
480
481
482typedef struct PVRSRV_BRIDGE_IN_FREE_DEV_VIRTMEM_TAG
483{
484 IMG_UINT32 ui32BridgeFlags;
485 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
486 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
487 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
488
489}PVRSRV_BRIDGE_IN_FREE_DEV_VIRTMEM;
490
491
492
493typedef struct PVRSRV_BRIDGE_IN_MAP_DEV_MEMORY_TAG
494{
495 IMG_UINT32 ui32BridgeFlags;
496 IMG_HANDLE hKernelMemInfo;
497 IMG_HANDLE hDstDevMemHeap;
498
499}PVRSRV_BRIDGE_IN_MAP_DEV_MEMORY;
500
501
502
503typedef struct PVRSRV_BRIDGE_OUT_MAP_DEV_MEMORY_TAG
504{
505 PVRSRV_ERROR eError;
506 PVRSRV_KERNEL_MEM_INFO *psDstKernelMemInfo;
507 PVRSRV_CLIENT_MEM_INFO sDstClientMemInfo;
508 PVRSRV_CLIENT_SYNC_INFO sDstClientSyncInfo;
509
510}PVRSRV_BRIDGE_OUT_MAP_DEV_MEMORY;
511
512
513
514typedef struct PVRSRV_BRIDGE_IN_UNMAP_DEV_MEMORY_TAG
515{
516 IMG_UINT32 ui32BridgeFlags;
517 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
518 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
519 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
520
521}PVRSRV_BRIDGE_IN_UNMAP_DEV_MEMORY;
522
523
524
525typedef struct PVRSRV_BRIDGE_IN_MAP_EXT_MEMORY_TAG
526{
527 IMG_UINT32 ui32BridgeFlags;
528 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
529 IMG_SYS_PHYADDR *psSysPAddr;
530 IMG_UINT32 ui32Flags;
531
532}PVRSRV_BRIDGE_IN_MAP_EXT_MEMORY;
533
534
535typedef struct PVRSRV_BRIDGE_IN_UNMAP_EXT_MEMORY_TAG
536{
537 IMG_UINT32 ui32BridgeFlags;
538 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
539 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
540 IMG_UINT32 ui32Flags;
541
542}PVRSRV_BRIDGE_IN_UNMAP_EXT_MEMORY;
543
544
545typedef struct PVRSRV_BRIDGE_IN_MAP_DEVICECLASS_MEMORY_TAG
546{
547 IMG_UINT32 ui32BridgeFlags;
548 IMG_HANDLE hDeviceClassBuffer;
549 IMG_HANDLE hDevMemContext;
550
551}PVRSRV_BRIDGE_IN_MAP_DEVICECLASS_MEMORY;
552
553
554
555typedef struct PVRSRV_BRIDGE_OUT_MAP_DEVICECLASS_MEMORY_TAG
556{
557 PVRSRV_ERROR eError;
558 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
559 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
560 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
561 IMG_HANDLE hMappingInfo;
562
563}PVRSRV_BRIDGE_OUT_MAP_DEVICECLASS_MEMORY;
564
565
566
567typedef struct PVRSRV_BRIDGE_IN_UNMAP_DEVICECLASS_MEMORY_TAG
568{
569 IMG_UINT32 ui32BridgeFlags;
570 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
571 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
572 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
573
574}PVRSRV_BRIDGE_IN_UNMAP_DEVICECLASS_MEMORY;
575
576
577
578typedef struct PVRSRV_BRIDGE_IN_PDUMP_MEMPOL_TAG
579{
580 IMG_UINT32 ui32BridgeFlags;
581 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
582 IMG_UINT32 ui32Offset;
583 IMG_UINT32 ui32Value;
584 IMG_UINT32 ui32Mask;
585 PDUMP_POLL_OPERATOR eOperator;
586 IMG_UINT32 ui32Flags;
587
588}PVRSRV_BRIDGE_IN_PDUMP_MEMPOL;
589
590
591typedef struct PVRSRV_BRIDGE_IN_PDUMP_SYNCPOL_TAG
592{
593 IMG_UINT32 ui32BridgeFlags;
594 PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
595 IMG_BOOL bIsRead;
596 IMG_UINT32 ui32Value;
597 IMG_UINT32 ui32Mask;
598
599}PVRSRV_BRIDGE_IN_PDUMP_SYNCPOL;
600
601
602
603typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPMEM_TAG
604{
605 IMG_UINT32 ui32BridgeFlags;
606 IMG_PVOID pvLinAddr;
607 IMG_PVOID pvAltLinAddr;
608 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
609 IMG_UINT32 ui32Offset;
610 IMG_UINT32 ui32Bytes;
611 IMG_UINT32 ui32Flags;
612
613}PVRSRV_BRIDGE_IN_PDUMP_DUMPMEM;
614
615
616
617typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPSYNC_TAG
618{
619 IMG_UINT32 ui32BridgeFlags;
620 IMG_PVOID pvAltLinAddr;
621 PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
622 IMG_UINT32 ui32Offset;
623 IMG_UINT32 ui32Bytes;
624
625}PVRSRV_BRIDGE_IN_PDUMP_DUMPSYNC;
626
627
628
629typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPREG_TAG
630{
631 IMG_UINT32 ui32BridgeFlags;
632 IMG_HANDLE hDevCookie;
633 PVRSRV_HWREG sHWReg;
634 IMG_UINT32 ui32Flags;
635 IMG_CHAR szRegRegion[32];
636
637}PVRSRV_BRIDGE_IN_PDUMP_DUMPREG;
638
639
640typedef struct PVRSRV_BRIDGE_IN_PDUMP_REGPOL_TAG
641{
642 IMG_UINT32 ui32BridgeFlags;
643 IMG_HANDLE hDevCookie;
644 PVRSRV_HWREG sHWReg;
645 IMG_UINT32 ui32Mask;
646 IMG_UINT32 ui32Flags;
647 IMG_CHAR szRegRegion[32];
648}PVRSRV_BRIDGE_IN_PDUMP_REGPOL;
649
650
651typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPPDREG_TAG
652{
653 IMG_UINT32 ui32BridgeFlags;
654 PVRSRV_HWREG sHWReg;
655 IMG_UINT32 ui32Flags;
656
657}PVRSRV_BRIDGE_IN_PDUMP_DUMPPDREG;
658
659
660typedef struct PVRSRV_BRIDGE_IN_PDUMP_MEMPAGES_TAG
661{
662 IMG_UINT32 ui32BridgeFlags;
663 IMG_HANDLE hKernelMemInfo;
664 IMG_DEV_PHYADDR *pPages;
665 IMG_UINT32 ui32NumPages;
666 IMG_DEV_VIRTADDR sDevAddr;
667 IMG_UINT32 ui32Start;
668 IMG_UINT32 ui32Length;
669 IMG_BOOL bContinuous;
670
671}PVRSRV_BRIDGE_IN_PDUMP_MEMPAGES;
672
673
674typedef struct PVRSRV_BRIDGE_IN_PDUMP_COMMENT_TAG
675{
676 IMG_UINT32 ui32BridgeFlags;
677 IMG_CHAR szComment[PVRSRV_PDUMP_MAX_COMMENT_SIZE];
678 IMG_UINT32 ui32Flags;
679
680}PVRSRV_BRIDGE_IN_PDUMP_COMMENT;
681
682
683
684typedef struct PVRSRV_BRIDGE_IN_PDUMP_SETFRAME_TAG
685{
686 IMG_UINT32 ui32BridgeFlags;
687 IMG_UINT32 ui32Frame;
688
689}PVRSRV_BRIDGE_IN_PDUMP_SETFRAME;
690
691
692
693
694typedef struct PVRSRV_BRIDGE_IN_PDUMP_BITMAP_TAG
695{
696 IMG_UINT32 ui32BridgeFlags;
697 IMG_HANDLE hDevCookie;
698 IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
699 IMG_UINT32 ui32FileOffset;
700 IMG_UINT32 ui32Width;
701 IMG_UINT32 ui32Height;
702 IMG_UINT32 ui32StrideInBytes;
703 IMG_DEV_VIRTADDR sDevBaseAddr;
704 IMG_HANDLE hDevMemContext;
705 IMG_UINT32 ui32Size;
706 PDUMP_PIXEL_FORMAT ePixelFormat;
707 PDUMP_MEM_FORMAT eMemFormat;
708 IMG_UINT32 ui32Flags;
709
710}PVRSRV_BRIDGE_IN_PDUMP_BITMAP;
711
712
713
714typedef struct PVRSRV_BRIDGE_IN_PDUMP_READREG_TAG
715{
716 IMG_UINT32 ui32BridgeFlags;
717 IMG_HANDLE hDevCookie;
718 IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
719 IMG_UINT32 ui32FileOffset;
720 IMG_UINT32 ui32Address;
721 IMG_UINT32 ui32Size;
722 IMG_UINT32 ui32Flags;
723 IMG_CHAR szRegRegion[32];
724
725}PVRSRV_BRIDGE_IN_PDUMP_READREG;
726
727
728typedef struct PVRSRV_BRIDGE_IN_PDUMP_DRIVERINFO_TAG
729{
730 IMG_UINT32 ui32BridgeFlags;
731 IMG_CHAR szString[PVRSRV_PDUMP_MAX_COMMENT_SIZE];
732 IMG_BOOL bContinuous;
733
734}PVRSRV_BRIDGE_IN_PDUMP_DRIVERINFO;
735
736typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPPDDEVPADDR_TAG
737{
738 IMG_UINT32 ui32BridgeFlags;
739 IMG_HANDLE hKernelMemInfo;
740 IMG_UINT32 ui32Offset;
741 IMG_DEV_PHYADDR sPDDevPAddr;
742}PVRSRV_BRIDGE_IN_PDUMP_DUMPPDDEVPADDR;
743
744
745typedef struct PVRSRV_BRIDGE_PDUM_IN_CYCLE_COUNT_REG_READ_TAG
746{
747 IMG_UINT32 ui32BridgeFlags;
748 IMG_HANDLE hDevCookie;
749 IMG_UINT32 ui32RegOffset;
750 IMG_BOOL bLastFrame;
751}PVRSRV_BRIDGE_IN_PDUMP_CYCLE_COUNT_REG_READ;
752
753
754typedef struct PVRSRV_BRIDGE_OUT_ENUMDEVICE_TAG
755{
756 PVRSRV_ERROR eError;
757 IMG_UINT32 ui32NumDevices;
758 PVRSRV_DEVICE_IDENTIFIER asDeviceIdentifier[PVRSRV_MAX_DEVICES];
759
760}PVRSRV_BRIDGE_OUT_ENUMDEVICE;
761
762
763
764typedef struct PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO_TAG
765{
766
767 PVRSRV_ERROR eError;
768 IMG_HANDLE hDevCookie;
769
770} PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO;
771
772
773
774typedef struct PVRSRV_BRIDGE_OUT_ENUMCLASS_TAG
775{
776 PVRSRV_ERROR eError;
777 IMG_UINT32 ui32NumDevices;
778 IMG_UINT32 ui32DevID[PVRSRV_MAX_DEVICES];
779
780}PVRSRV_BRIDGE_OUT_ENUMCLASS;
781
782
783
784typedef struct PVRSRV_BRIDGE_IN_OPEN_DISPCLASS_DEVICE_TAG
785{
786 IMG_UINT32 ui32BridgeFlags;
787 IMG_UINT32 ui32DeviceID;
788 IMG_HANDLE hDevCookie;
789
790}PVRSRV_BRIDGE_IN_OPEN_DISPCLASS_DEVICE;
791
792
793typedef struct PVRSRV_BRIDGE_OUT_OPEN_DISPCLASS_DEVICE_TAG
794{
795 PVRSRV_ERROR eError;
796 IMG_HANDLE hDeviceKM;
797
798}PVRSRV_BRIDGE_OUT_OPEN_DISPCLASS_DEVICE;
799
800
801
802typedef struct PVRSRV_BRIDGE_IN_WRAP_EXT_MEMORY_TAG
803{
804 IMG_UINT32 ui32BridgeFlags;
805 IMG_HANDLE hDevCookie;
806 IMG_HANDLE hDevMemContext;
807 IMG_VOID *pvLinAddr;
808 IMG_SIZE_T ui32ByteSize;
809 IMG_SIZE_T ui32PageOffset;
810 IMG_BOOL bPhysContig;
811 IMG_UINT32 ui32NumPageTableEntries;
812 IMG_SYS_PHYADDR *psSysPAddr;
813 IMG_UINT32 ui32Flags;
814
815}PVRSRV_BRIDGE_IN_WRAP_EXT_MEMORY;
816
817
818typedef struct PVRSRV_BRIDGE_OUT_WRAP_EXT_MEMORY_TAG
819{
820 PVRSRV_ERROR eError;
821 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
822 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
823
824}PVRSRV_BRIDGE_OUT_WRAP_EXT_MEMORY;
825
826
827typedef struct PVRSRV_BRIDGE_IN_UNWRAP_EXT_MEMORY_TAG
828{
829 IMG_UINT32 ui32BridgeFlags;
830 IMG_HANDLE hKernelMemInfo;
831 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
832 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
833
834}PVRSRV_BRIDGE_IN_UNWRAP_EXT_MEMORY;
835
836
837#define PVRSRV_MAX_DC_DISPLAY_FORMATS 10
838#define PVRSRV_MAX_DC_DISPLAY_DIMENSIONS 10
839#define PVRSRV_MAX_DC_SWAPCHAIN_BUFFERS 4
840#define PVRSRV_MAX_DC_CLIP_RECTS 32
841
842
843typedef struct PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_FORMATS_TAG
844{
845 PVRSRV_ERROR eError;
846 IMG_UINT32 ui32Count;
847 DISPLAY_FORMAT asFormat[PVRSRV_MAX_DC_DISPLAY_FORMATS];
848
849}PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_FORMATS;
850
851
852
853typedef struct PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_DIMS_TAG
854{
855 IMG_UINT32 ui32BridgeFlags;
856 IMG_HANDLE hDeviceKM;
857 DISPLAY_FORMAT sFormat;
858
859}PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_DIMS;
860
861
862
863typedef struct PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_DIMS_TAG
864{
865 PVRSRV_ERROR eError;
866 IMG_UINT32 ui32Count;
867 DISPLAY_DIMS asDim[PVRSRV_MAX_DC_DISPLAY_DIMENSIONS];
868
869}PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_DIMS;
870
871
872
873typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_INFO_TAG
874{
875 PVRSRV_ERROR eError;
876 DISPLAY_INFO sDisplayInfo;
877
878}PVRSRV_BRIDGE_OUT_GET_DISPCLASS_INFO;
879
880
881
882typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_SYSBUFFER_TAG
883{
884 PVRSRV_ERROR eError;
885 IMG_HANDLE hBuffer;
886
887}PVRSRV_BRIDGE_OUT_GET_DISPCLASS_SYSBUFFER;
888
889
890
891typedef struct PVRSRV_BRIDGE_IN_CREATE_DISPCLASS_SWAPCHAIN_TAG
892{
893 IMG_UINT32 ui32BridgeFlags;
894 IMG_HANDLE hDeviceKM;
895 IMG_UINT32 ui32Flags;
896 DISPLAY_SURF_ATTRIBUTES sDstSurfAttrib;
897 DISPLAY_SURF_ATTRIBUTES sSrcSurfAttrib;
898 IMG_UINT32 ui32BufferCount;
899 IMG_UINT32 ui32OEMFlags;
900 IMG_UINT32 ui32SwapChainID;
901
902} PVRSRV_BRIDGE_IN_CREATE_DISPCLASS_SWAPCHAIN;
903
904
905
906typedef struct PVRSRV_BRIDGE_OUT_CREATE_DISPCLASS_SWAPCHAIN_TAG
907{
908 PVRSRV_ERROR eError;
909 IMG_HANDLE hSwapChain;
910 IMG_UINT32 ui32SwapChainID;
911
912} PVRSRV_BRIDGE_OUT_CREATE_DISPCLASS_SWAPCHAIN;
913
914
915
916typedef struct PVRSRV_BRIDGE_IN_DESTROY_DISPCLASS_SWAPCHAIN_TAG
917{
918 IMG_UINT32 ui32BridgeFlags;
919 IMG_HANDLE hDeviceKM;
920 IMG_HANDLE hSwapChain;
921
922} PVRSRV_BRIDGE_IN_DESTROY_DISPCLASS_SWAPCHAIN;
923
924
925
926typedef struct PVRSRV_BRIDGE_IN_SET_DISPCLASS_RECT_TAG
927{
928 IMG_UINT32 ui32BridgeFlags;
929 IMG_HANDLE hDeviceKM;
930 IMG_HANDLE hSwapChain;
931 IMG_RECT sRect;
932
933} PVRSRV_BRIDGE_IN_SET_DISPCLASS_RECT;
934
935
936
937typedef struct PVRSRV_BRIDGE_IN_SET_DISPCLASS_COLOURKEY_TAG
938{
939 IMG_UINT32 ui32BridgeFlags;
940 IMG_HANDLE hDeviceKM;
941 IMG_HANDLE hSwapChain;
942 IMG_UINT32 ui32CKColour;
943
944} PVRSRV_BRIDGE_IN_SET_DISPCLASS_COLOURKEY;
945
946
947
948typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_BUFFERS_TAG
949{
950 IMG_UINT32 ui32BridgeFlags;
951 IMG_HANDLE hDeviceKM;
952 IMG_HANDLE hSwapChain;
953
954} PVRSRV_BRIDGE_IN_GET_DISPCLASS_BUFFERS;
955
956
957
958typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_BUFFERS_TAG
959{
960 PVRSRV_ERROR eError;
961 IMG_UINT32 ui32BufferCount;
962 IMG_HANDLE ahBuffer[PVRSRV_MAX_DC_SWAPCHAIN_BUFFERS];
963
964} PVRSRV_BRIDGE_OUT_GET_DISPCLASS_BUFFERS;
965
966
967
968typedef struct PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_BUFFER_TAG
969{
970 IMG_UINT32 ui32BridgeFlags;
971 IMG_HANDLE hDeviceKM;
972 IMG_HANDLE hBuffer;
973 IMG_UINT32 ui32SwapInterval;
974 IMG_HANDLE hPrivateTag;
975 IMG_UINT32 ui32ClipRectCount;
976 IMG_RECT sClipRect[PVRSRV_MAX_DC_CLIP_RECTS];
977
978} PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_BUFFER;
979
980
981
982typedef struct PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_SYSTEM_TAG
983{
984 IMG_UINT32 ui32BridgeFlags;
985 IMG_HANDLE hDeviceKM;
986 IMG_HANDLE hSwapChain;
987
988} PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_SYSTEM;
989
990
991
992typedef struct PVRSRV_BRIDGE_IN_OPEN_BUFFERCLASS_DEVICE_TAG
993{
994 IMG_UINT32 ui32BridgeFlags;
995 IMG_UINT32 ui32DeviceID;
996 IMG_HANDLE hDevCookie;
997
998} PVRSRV_BRIDGE_IN_OPEN_BUFFERCLASS_DEVICE;
999
1000
1001
1002typedef struct PVRSRV_BRIDGE_OUT_OPEN_BUFFERCLASS_DEVICE_TAG
1003{
1004 PVRSRV_ERROR eError;
1005 IMG_HANDLE hDeviceKM;
1006
1007} PVRSRV_BRIDGE_OUT_OPEN_BUFFERCLASS_DEVICE;
1008
1009
1010
1011typedef struct PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_INFO_TAG
1012{
1013 PVRSRV_ERROR eError;
1014 BUFFER_INFO sBufferInfo;
1015
1016} PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_INFO;
1017
1018
1019
1020typedef struct PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_BUFFER_TAG
1021{
1022 IMG_UINT32 ui32BridgeFlags;
1023 IMG_HANDLE hDeviceKM;
1024 IMG_UINT32 ui32BufferIndex;
1025
1026} PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_BUFFER;
1027
1028
1029
1030typedef struct PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_BUFFER_TAG
1031{
1032 PVRSRV_ERROR eError;
1033 IMG_HANDLE hBuffer;
1034
1035} PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_BUFFER;
1036
1037
1038
1039typedef struct PVRSRV_BRIDGE_OUT_GET_DEVMEM_HEAPINFO_TAG
1040{
1041 PVRSRV_ERROR eError;
1042 IMG_UINT32 ui32ClientHeapCount;
1043 PVRSRV_HEAP_INFO sHeapInfo[PVRSRV_MAX_CLIENT_HEAPS];
1044
1045} PVRSRV_BRIDGE_OUT_GET_DEVMEM_HEAPINFO;
1046
1047
1048
1049typedef struct PVRSRV_BRIDGE_OUT_CREATE_DEVMEMCONTEXT_TAG
1050{
1051 PVRSRV_ERROR eError;
1052 IMG_HANDLE hDevMemContext;
1053 IMG_UINT32 ui32ClientHeapCount;
1054 PVRSRV_HEAP_INFO sHeapInfo[PVRSRV_MAX_CLIENT_HEAPS];
1055
1056} PVRSRV_BRIDGE_OUT_CREATE_DEVMEMCONTEXT;
1057
1058
1059
1060typedef struct PVRSRV_BRIDGE_OUT_CREATE_DEVMEMHEAP_TAG
1061{
1062 PVRSRV_ERROR eError;
1063 IMG_HANDLE hDevMemHeap;
1064
1065} PVRSRV_BRIDGE_OUT_CREATE_DEVMEMHEAP;
1066
1067
1068
1069typedef struct PVRSRV_BRIDGE_OUT_ALLOCDEVICEMEM_TAG
1070{
1071 PVRSRV_ERROR eError;
1072 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
1073 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
1074 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
1075
1076} PVRSRV_BRIDGE_OUT_ALLOCDEVICEMEM;
1077
1078
1079
1080typedef struct PVRSRV_BRIDGE_OUT_EXPORTDEVICEMEM_TAG
1081{
1082 PVRSRV_ERROR eError;
1083 IMG_HANDLE hMemInfo;
1084#if defined(SUPPORT_MEMINFO_IDS)
1085 IMG_UINT64 ui64Stamp;
1086#endif
1087
1088} PVRSRV_BRIDGE_OUT_EXPORTDEVICEMEM;
1089
1090
1091typedef struct PVRSRV_BRIDGE_OUT_MAPMEMINFOTOUSER_TAG
1092{
1093 PVRSRV_ERROR eError;
1094 IMG_PVOID pvLinAddr;
1095 IMG_HANDLE hMappingInfo;
1096
1097}PVRSRV_BRIDGE_OUT_MAPMEMINFOTOUSER;
1098
1099
1100
1101typedef struct PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM_TAG
1102{
1103 PVRSRV_ERROR eError;
1104 IMG_SIZE_T ui32Total;
1105 IMG_SIZE_T ui32Free;
1106 IMG_SIZE_T ui32LargestBlock;
1107
1108} PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM;
1109
1110
1111#include "pvrmmap.h"
1112typedef struct PVRSRV_BRIDGE_OUT_MHANDLE_TO_MMAP_DATA_TAG
1113{
1114 PVRSRV_ERROR eError;
1115
1116
1117 IMG_UINT32 ui32MMapOffset;
1118
1119
1120 IMG_UINT32 ui32ByteOffset;
1121
1122
1123 IMG_UINT32 ui32RealByteSize;
1124
1125
1126 IMG_UINT32 ui32UserVAddr;
1127
1128} PVRSRV_BRIDGE_OUT_MHANDLE_TO_MMAP_DATA;
1129
1130typedef struct PVRSRV_BRIDGE_OUT_RELEASE_MMAP_DATA_TAG
1131{
1132 PVRSRV_ERROR eError;
1133
1134
1135 IMG_BOOL bMUnmap;
1136
1137
1138 IMG_UINT32 ui32UserVAddr;
1139
1140
1141 IMG_UINT32 ui32RealByteSize;
1142} PVRSRV_BRIDGE_OUT_RELEASE_MMAP_DATA;
1143
1144typedef struct PVRSRV_BRIDGE_IN_GET_MISC_INFO_TAG
1145{
1146 IMG_UINT32 ui32BridgeFlags;
1147 PVRSRV_MISC_INFO sMiscInfo;
1148
1149}PVRSRV_BRIDGE_IN_GET_MISC_INFO;
1150
1151
1152
1153typedef struct PVRSRV_BRIDGE_OUT_GET_MISC_INFO_TAG
1154{
1155 PVRSRV_ERROR eError;
1156 PVRSRV_MISC_INFO sMiscInfo;
1157
1158}PVRSRV_BRIDGE_OUT_GET_MISC_INFO;
1159
1160
1161
1162typedef struct PVRSRV_BRIDGE_IN_RELEASE_MISC_INFO_TAG
1163{
1164 IMG_UINT32 ui32BridgeFlags;
1165 PVRSRV_MISC_INFO sMiscInfo;
1166
1167}PVRSRV_BRIDGE_IN_RELEASE_MISC_INFO;
1168
1169
1170
1171typedef struct PVRSRV_BRIDGE_OUT_RELEASE_MISC_INFO_TAG
1172{
1173 PVRSRV_ERROR eError;
1174 PVRSRV_MISC_INFO sMiscInfo;
1175
1176}PVRSRV_BRIDGE_OUT_RELEASE_MISC_INFO;
1177
1178
1179
1180
1181typedef struct PVRSRV_BRIDGE_OUT_PDUMP_ISCAPTURING_TAG
1182{
1183 PVRSRV_ERROR eError;
1184 IMG_BOOL bIsCapturing;
1185
1186} PVRSRV_BRIDGE_OUT_PDUMP_ISCAPTURING;
1187
1188
1189typedef struct PVRSRV_BRIDGE_IN_GET_FB_STATS_TAG
1190{
1191 IMG_UINT32 ui32BridgeFlags;
1192 IMG_SIZE_T ui32Total;
1193 IMG_SIZE_T ui32Available;
1194
1195} PVRSRV_BRIDGE_IN_GET_FB_STATS;
1196
1197
1198
1199typedef struct PVRSRV_BRIDGE_IN_MAPPHYSTOUSERSPACE_TAG
1200{
1201 IMG_UINT32 ui32BridgeFlags;
1202 IMG_HANDLE hDevCookie;
1203 IMG_SYS_PHYADDR sSysPhysAddr;
1204 IMG_UINT32 uiSizeInBytes;
1205
1206} PVRSRV_BRIDGE_IN_MAPPHYSTOUSERSPACE;
1207
1208
1209
1210typedef struct PVRSRV_BRIDGE_OUT_MAPPHYSTOUSERSPACE_TAG
1211{
1212 IMG_PVOID pvUserAddr;
1213 IMG_UINT32 uiActualSize;
1214 IMG_PVOID pvProcess;
1215
1216} PVRSRV_BRIDGE_OUT_MAPPHYSTOUSERSPACE;
1217
1218
1219
1220typedef struct PVRSRV_BRIDGE_IN_UNMAPPHYSTOUSERSPACE_TAG
1221{
1222 IMG_UINT32 ui32BridgeFlags;
1223 IMG_HANDLE hDevCookie;
1224 IMG_PVOID pvUserAddr;
1225 IMG_PVOID pvProcess;
1226
1227} PVRSRV_BRIDGE_IN_UNMAPPHYSTOUSERSPACE;
1228
1229
1230
1231typedef struct PVRSRV_BRIDGE_OUT_GETPHYSTOUSERSPACEMAP_TAG
1232{
1233 IMG_PVOID *ppvTbl;
1234 IMG_UINT32 uiTblSize;
1235
1236} PVRSRV_BRIDGE_OUT_GETPHYSTOUSERSPACEMAP;
1237
1238
1239
1240typedef struct PVRSRV_BRIDGE_IN_REGISTER_SIM_PROCESS_TAG
1241{
1242 IMG_UINT32 ui32BridgeFlags;
1243 IMG_HANDLE hDevCookie;
1244 IMG_PVOID pvProcess;
1245
1246} PVRSRV_BRIDGE_IN_REGISTER_SIM_PROCESS;
1247
1248
1249typedef struct PVRSRV_BRIDGE_OUT_REGISTER_SIM_PROCESS_TAG
1250{
1251 IMG_SYS_PHYADDR sRegsPhysBase;
1252 IMG_VOID *pvRegsBase;
1253 IMG_PVOID pvProcess;
1254 IMG_UINT32 ulNoOfEntries;
1255 IMG_PVOID pvTblLinAddr;
1256
1257} PVRSRV_BRIDGE_OUT_REGISTER_SIM_PROCESS;
1258
1259
1260typedef struct PVRSRV_BRIDGE_IN_UNREGISTER_SIM_PROCESS_TAG
1261{
1262 IMG_UINT32 ui32BridgeFlags;
1263 IMG_HANDLE hDevCookie;
1264 IMG_PVOID pvProcess;
1265 IMG_VOID *pvRegsBase;
1266
1267} PVRSRV_BRIDGE_IN_UNREGISTER_SIM_PROCESS;
1268
1269typedef struct PVRSRV_BRIDGE_IN_PROCESS_SIMISR_EVENT_TAG
1270{
1271 IMG_UINT32 ui32BridgeFlags;
1272 IMG_HANDLE hDevCookie;
1273 IMG_UINT32 ui32StatusAndMask;
1274 PVRSRV_ERROR eError;
1275
1276} PVRSRV_BRIDGE_IN_PROCESS_SIMISR_EVENT;
1277
1278typedef struct PVRSRV_BRIDGE_IN_INITSRV_DISCONNECT_TAG
1279{
1280 IMG_UINT32 ui32BridgeFlags;
1281 IMG_BOOL bInitSuccesful;
1282} PVRSRV_BRIDGE_IN_INITSRV_DISCONNECT;
1283
1284
1285typedef struct PVRSRV_BRIDGE_IN_ALLOC_SHARED_SYS_MEM_TAG
1286{
1287 IMG_UINT32 ui32BridgeFlags;
1288 IMG_UINT32 ui32Flags;
1289 IMG_SIZE_T ui32Size;
1290}PVRSRV_BRIDGE_IN_ALLOC_SHARED_SYS_MEM;
1291
1292typedef struct PVRSRV_BRIDGE_OUT_ALLOC_SHARED_SYS_MEM_TAG
1293{
1294 PVRSRV_ERROR eError;
1295 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
1296 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
1297}PVRSRV_BRIDGE_OUT_ALLOC_SHARED_SYS_MEM;
1298
1299typedef struct PVRSRV_BRIDGE_IN_FREE_SHARED_SYS_MEM_TAG
1300{
1301 IMG_UINT32 ui32BridgeFlags;
1302 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
1303 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
1304}PVRSRV_BRIDGE_IN_FREE_SHARED_SYS_MEM;
1305
1306typedef struct PVRSRV_BRIDGE_OUT_FREE_SHARED_SYS_MEM_TAG
1307{
1308 PVRSRV_ERROR eError;
1309}PVRSRV_BRIDGE_OUT_FREE_SHARED_SYS_MEM;
1310
1311typedef struct PVRSRV_BRIDGE_IN_MAP_MEMINFO_MEM_TAG
1312{
1313 IMG_UINT32 ui32BridgeFlags;
1314 IMG_HANDLE hKernelMemInfo;
1315}PVRSRV_BRIDGE_IN_MAP_MEMINFO_MEM;
1316
1317typedef struct PVRSRV_BRIDGE_OUT_MAP_MEMINFO_MEM_TAG
1318{
1319 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
1320 PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
1321 PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo;
1322 PVRSRV_ERROR eError;
1323}PVRSRV_BRIDGE_OUT_MAP_MEMINFO_MEM;
1324
1325typedef struct PVRSRV_BRIDGE_IN_UNMAP_MEMINFO_MEM_TAG
1326{
1327 IMG_UINT32 ui32BridgeFlags;
1328 PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
1329}PVRSRV_BRIDGE_IN_UNMAP_MEMINFO_MEM;
1330
1331typedef struct PVRSRV_BRIDGE_OUT_UNMAP_MEMINFO_MEM_TAG
1332{
1333 PVRSRV_ERROR eError;
1334}PVRSRV_BRIDGE_OUT_UNMAP_MEMINFO_MEM;
1335
1336typedef struct PVRSRV_BRIDGE_IN_GETMMU_PD_DEVPADDR_TAG
1337{
1338 IMG_UINT32 ui32BridgeFlags;
1339 IMG_HANDLE hDevMemContext;
1340}PVRSRV_BRIDGE_IN_GETMMU_PD_DEVPADDR;
1341
1342typedef struct PVRSRV_BRIDGE_OUT_GETMMU_PD_DEVPADDR_TAG
1343{
1344 IMG_DEV_PHYADDR sPDDevPAddr;
1345 PVRSRV_ERROR eError;
1346}PVRSRV_BRIDGE_OUT_GETMMU_PD_DEVPADDR;
1347
1348typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_WAI_TAG
1349{
1350 IMG_UINT32 ui32BridgeFlags;
1351 IMG_HANDLE hOSEventKM;
1352} PVRSRV_BRIDGE_IN_EVENT_OBJECT_WAIT;
1353
1354typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_OPEN_TAG
1355{
1356 PVRSRV_EVENTOBJECT sEventObject;
1357} PVRSRV_BRIDGE_IN_EVENT_OBJECT_OPEN;
1358
1359typedef struct PVRSRV_BRIDGE_OUT_EVENT_OBJECT_OPEN_TAG
1360{
1361 IMG_HANDLE hOSEvent;
1362 PVRSRV_ERROR eError;
1363} PVRSRV_BRIDGE_OUT_EVENT_OBJECT_OPEN;
1364
1365typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_CLOSE_TAG
1366{
1367 PVRSRV_EVENTOBJECT sEventObject;
1368 IMG_HANDLE hOSEventKM;
1369} PVRSRV_BRIDGE_IN_EVENT_OBJECT_CLOSE;
1370
1371typedef struct PVRSRV_BRIDGE_OUT_CREATE_SYNC_INFO_MOD_OBJ_TAG
1372{
1373 PVRSRV_ERROR eError;
1374
1375 IMG_HANDLE hKernelSyncInfoModObj;
1376
1377} PVRSRV_BRIDGE_OUT_CREATE_SYNC_INFO_MOD_OBJ;
1378
1379typedef struct PVRSRV_BRIDGE_IN_DESTROY_SYNC_INFO_MOD_OBJ
1380{
1381 IMG_UINT32 ui32BridgeFlags;
1382 IMG_HANDLE hKernelSyncInfoModObj;
1383} PVRSRV_BRIDGE_IN_DESTROY_SYNC_INFO_MOD_OBJ;
1384
1385typedef struct PVRSRV_BRIDGE_IN_MODIFY_PENDING_SYNC_OPS_TAG
1386{
1387 IMG_UINT32 ui32BridgeFlags;
1388 IMG_HANDLE hKernelSyncInfoModObj;
1389 IMG_HANDLE hKernelSyncInfo;
1390 IMG_UINT32 ui32ModifyFlags;
1391
1392} PVRSRV_BRIDGE_IN_MODIFY_PENDING_SYNC_OPS;
1393
1394typedef struct PVRSRV_BRIDGE_IN_MODIFY_COMPLETE_SYNC_OPS_TAG
1395{
1396 IMG_UINT32 ui32BridgeFlags;
1397 IMG_HANDLE hKernelSyncInfoModObj;
1398} PVRSRV_BRIDGE_IN_MODIFY_COMPLETE_SYNC_OPS;
1399
1400typedef struct PVRSRV_BRIDGE_OUT_MODIFY_PENDING_SYNC_OPS_TAG
1401{
1402 PVRSRV_ERROR eError;
1403
1404
1405 IMG_UINT32 ui32ReadOpsPending;
1406 IMG_UINT32 ui32WriteOpsPending;
1407
1408} PVRSRV_BRIDGE_OUT_MODIFY_PENDING_SYNC_OPS;
1409
1410typedef struct PVRSRV_BRIDGE_IN_SYNC_OPS_FLUSH_TO_MOD_OBJ_TAG
1411{
1412 IMG_UINT32 ui32BridgeFlags;
1413 IMG_HANDLE hKernelSyncInfoModObj;
1414} PVRSRV_BRIDGE_IN_SYNC_OPS_FLUSH_TO_MOD_OBJ;
1415
1416typedef struct PVRSRV_BRIDGE_IN_SYNC_OPS_FLUSH_TO_DELTA_TAG
1417{
1418 IMG_UINT32 ui32BridgeFlags;
1419 IMG_HANDLE hKernelSyncInfo;
1420 IMG_UINT32 ui32Delta;
1421} PVRSRV_BRIDGE_IN_SYNC_OPS_FLUSH_TO_DELTA;
1422
1423typedef struct PVRSRV_BRIDGE_IN_ALLOC_SYNC_INFO_TAG
1424{
1425 IMG_UINT32 ui32BridgeFlags;
1426
1427 IMG_HANDLE hDevCookie;
1428} PVRSRV_BRIDGE_IN_ALLOC_SYNC_INFO;
1429
1430typedef struct PVRSRV_BRIDGE_OUT_ALLOC_SYNC_INFO_TAG
1431{
1432 PVRSRV_ERROR eError;
1433
1434 IMG_HANDLE hKernelSyncInfo;
1435} PVRSRV_BRIDGE_OUT_ALLOC_SYNC_INFO;
1436
1437typedef struct PVRSRV_BRIDGE_IN_FREE_SYNC_INFO_TAG
1438{
1439 IMG_UINT32 ui32BridgeFlags;
1440
1441 IMG_HANDLE hKernelSyncInfo;
1442} PVRSRV_BRIDGE_IN_FREE_SYNC_INFO;
1443
1444
1445#if defined (__cplusplus)
1446}
1447#endif
1448
1449#endif
1450