aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr/sgx_bridge.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/pvr/sgx_bridge.h')
-rw-r--r--drivers/gpu/pvr/sgx_bridge.h466
1 files changed, 466 insertions, 0 deletions
diff --git a/drivers/gpu/pvr/sgx_bridge.h b/drivers/gpu/pvr/sgx_bridge.h
new file mode 100644
index 00000000000..10e59196ef9
--- /dev/null
+++ b/drivers/gpu/pvr/sgx_bridge.h
@@ -0,0 +1,466 @@
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#if !defined(__SGX_BRIDGE_H__)
28#define __SGX_BRIDGE_H__
29
30#include "sgxapi_km.h"
31#include "sgxinfo.h"
32#include "pvr_bridge.h"
33
34#if defined (__cplusplus)
35extern "C" {
36#endif
37
38
39#define PVRSRV_BRIDGE_SGX_CMD_BASE (PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD+1)
40#define PVRSRV_BRIDGE_SGX_GETCLIENTINFO PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+0)
41#define PVRSRV_BRIDGE_SGX_RELEASECLIENTINFO PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+1)
42#define PVRSRV_BRIDGE_SGX_GETINTERNALDEVINFO PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+2)
43#define PVRSRV_BRIDGE_SGX_DOKICK PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+3)
44#define PVRSRV_BRIDGE_SGX_GETPHYSPAGEADDR PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+4)
45#define PVRSRV_BRIDGE_SGX_READREGISTRYDWORD PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+5)
46
47#define PVRSRV_BRIDGE_SGX_2DQUERYBLTSCOMPLETE PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+9)
48
49#define PVRSRV_BRIDGE_SGX_GETMMUPDADDR PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+10)
50
51#if defined(TRANSFER_QUEUE)
52#define PVRSRV_BRIDGE_SGX_SUBMITTRANSFER PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+13)
53#endif
54#define PVRSRV_BRIDGE_SGX_GETMISCINFO PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+14)
55#define PVRSRV_BRIDGE_SGXINFO_FOR_SRVINIT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+15)
56#define PVRSRV_BRIDGE_SGX_DEVINITPART2 PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+16)
57
58#define PVRSRV_BRIDGE_SGX_FINDSHAREDPBDESC PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+17)
59#define PVRSRV_BRIDGE_SGX_UNREFSHAREDPBDESC PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+18)
60#define PVRSRV_BRIDGE_SGX_ADDSHAREDPBDESC PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+19)
61#define PVRSRV_BRIDGE_SGX_REGISTER_HW_RENDER_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+20)
62#define PVRSRV_BRIDGE_SGX_FLUSH_HW_RENDER_TARGET PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+21)
63#define PVRSRV_BRIDGE_SGX_UNREGISTER_HW_RENDER_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+22)
64#if defined(SGX_FEATURE_2D_HARDWARE)
65#define PVRSRV_BRIDGE_SGX_SUBMIT2D PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+23)
66#define PVRSRV_BRIDGE_SGX_REGISTER_HW_2D_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+24)
67#define PVRSRV_BRIDGE_SGX_UNREGISTER_HW_2D_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+25)
68#endif
69#define PVRSRV_BRIDGE_SGX_REGISTER_HW_TRANSFER_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+26)
70#define PVRSRV_BRIDGE_SGX_UNREGISTER_HW_TRANSFER_CONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+27)
71
72#define PVRSRV_BRIDGE_SGX_SCHEDULE_PROCESS_QUEUES PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+28)
73
74#define PVRSRV_BRIDGE_SGX_READ_HWPERF_CB PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+30)
75
76#if defined(PDUMP)
77#define PVRSRV_BRIDGE_SGX_PDUMP_BUFFER_ARRAY PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+31)
78#define PVRSRV_BRIDGE_SGX_PDUMP_3D_SIGNATURE_REGISTERS PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+32)
79#define PVRSRV_BRIDGE_SGX_PDUMP_COUNTER_REGISTERS PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+33)
80#define PVRSRV_BRIDGE_SGX_PDUMP_TA_SIGNATURE_REGISTERS PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+34)
81#define PVRSRV_BRIDGE_SGX_PDUMP_HWPERFCB PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+35)
82#define PVRSRV_BRIDGE_SGX_PDUMP_SAVEMEM PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+36)
83#endif
84
85
86
87#define PVRSRV_BRIDGE_LAST_SGX_CMD (PVRSRV_BRIDGE_SGX_CMD_BASE+36)
88
89
90typedef struct PVRSRV_BRIDGE_IN_GETPHYSPAGEADDR
91{
92 IMG_UINT32 ui32BridgeFlags;
93 IMG_HANDLE hDevMemHeap;
94 IMG_DEV_VIRTADDR sDevVAddr;
95}PVRSRV_BRIDGE_IN_GETPHYSPAGEADDR;
96
97
98typedef struct PVRSRV_BRIDGE_OUT_GETPHYSPAGEADDR
99{
100 PVRSRV_ERROR eError;
101 IMG_DEV_PHYADDR DevPAddr;
102 IMG_CPU_PHYADDR CpuPAddr;
103}PVRSRV_BRIDGE_OUT_GETPHYSPAGEADDR;
104
105
106typedef struct PVRSRV_BRIDGE_IN_SGX_GETMMU_PDADDR_TAG
107{
108 IMG_UINT32 ui32BridgeFlags;
109 IMG_HANDLE hDevCookie;
110 IMG_HANDLE hDevMemContext;
111}PVRSRV_BRIDGE_IN_SGX_GETMMU_PDADDR;
112
113
114typedef struct PVRSRV_BRIDGE_OUT_SGX_GETMMU_PDADDR_TAG
115{
116 IMG_DEV_PHYADDR sPDDevPAddr;
117 PVRSRV_ERROR eError;
118}PVRSRV_BRIDGE_OUT_SGX_GETMMU_PDADDR;
119
120
121typedef struct PVRSRV_BRIDGE_IN_GETCLIENTINFO_TAG
122{
123 IMG_UINT32 ui32BridgeFlags;
124 IMG_HANDLE hDevCookie;
125}PVRSRV_BRIDGE_IN_GETCLIENTINFO;
126
127
128typedef struct PVRSRV_BRIDGE_OUT_GETINTERNALDEVINFO_TAG
129{
130 SGX_INTERNAL_DEVINFO sSGXInternalDevInfo;
131 PVRSRV_ERROR eError;
132}PVRSRV_BRIDGE_OUT_GETINTERNALDEVINFO;
133
134
135typedef struct PVRSRV_BRIDGE_IN_GETINTERNALDEVINFO_TAG
136{
137 IMG_UINT32 ui32BridgeFlags;
138 IMG_HANDLE hDevCookie;
139}PVRSRV_BRIDGE_IN_GETINTERNALDEVINFO;
140
141
142typedef struct PVRSRV_BRIDGE_OUT_GETCLIENTINFO_TAG
143{
144 SGX_CLIENT_INFO sClientInfo;
145 PVRSRV_ERROR eError;
146}PVRSRV_BRIDGE_OUT_GETCLIENTINFO;
147
148
149typedef struct PVRSRV_BRIDGE_IN_RELEASECLIENTINFO_TAG
150{
151 IMG_UINT32 ui32BridgeFlags;
152 IMG_HANDLE hDevCookie;
153 SGX_CLIENT_INFO sClientInfo;
154}PVRSRV_BRIDGE_IN_RELEASECLIENTINFO;
155
156
157typedef struct PVRSRV_BRIDGE_IN_ISPBREAKPOLL_TAG
158{
159 IMG_UINT32 ui32BridgeFlags;
160 IMG_HANDLE hDevCookie;
161}PVRSRV_BRIDGE_IN_ISPBREAKPOLL;
162
163
164typedef struct PVRSRV_BRIDGE_IN_DOKICK_TAG
165{
166 IMG_UINT32 ui32BridgeFlags;
167 IMG_HANDLE hDevCookie;
168 SGX_CCB_KICK sCCBKick;
169}PVRSRV_BRIDGE_IN_DOKICK;
170
171
172typedef struct PVRSRV_BRIDGE_IN_SGX_SCHEDULE_PROCESS_QUEUES_TAG
173{
174 IMG_UINT32 ui32BridgeFlags;
175 IMG_HANDLE hDevCookie;
176}PVRSRV_BRIDGE_IN_SGX_SCHEDULE_PROCESS_QUEUES;
177
178
179#if defined(TRANSFER_QUEUE)
180
181typedef struct PVRSRV_BRIDGE_IN_SUBMITTRANSFER_TAG
182{
183 IMG_UINT32 ui32BridgeFlags;
184 IMG_HANDLE hDevCookie;
185 PVRSRV_TRANSFER_SGX_KICK sKick;
186}PVRSRV_BRIDGE_IN_SUBMITTRANSFER;
187
188#if defined(SGX_FEATURE_2D_HARDWARE)
189
190typedef struct PVRSRV_BRIDGE_IN_SUBMIT2D_TAG
191{
192 IMG_UINT32 ui32BridgeFlags;
193 IMG_HANDLE hDevCookie;
194 PVRSRV_2D_SGX_KICK sKick;
195} PVRSRV_BRIDGE_IN_SUBMIT2D;
196#endif
197#endif
198
199
200typedef struct PVRSRV_BRIDGE_IN_READREGDWORD_TAG
201{
202 IMG_UINT32 ui32BridgeFlags;
203 IMG_HANDLE hDevCookie;
204 IMG_PCHAR pszKey;
205 IMG_PCHAR pszValue;
206}PVRSRV_BRIDGE_IN_READREGDWORD;
207
208
209typedef struct PVRSRV_BRIDGE_OUT_READREGDWORD_TAG
210{
211 PVRSRV_ERROR eError;
212 IMG_UINT32 ui32Data;
213}PVRSRV_BRIDGE_OUT_READREGDWORD;
214
215
216typedef struct PVRSRV_BRIDGE_IN_SGXGETMISCINFO_TAG
217{
218 IMG_UINT32 ui32BridgeFlags;
219 IMG_HANDLE hDevCookie;
220 SGX_MISC_INFO *psMiscInfo;
221}PVRSRV_BRIDGE_IN_SGXGETMISCINFO;
222
223typedef struct PVRSRV_BRIDGE_IN_SGXINFO_FOR_SRVINIT_TAG
224{
225 IMG_UINT32 ui32BridgeFlags;
226 IMG_HANDLE hDevCookie;
227}PVRSRV_BRIDGE_IN_SGXINFO_FOR_SRVINIT;
228
229typedef struct PVRSRV_BRIDGE_OUT_SGXINFO_FOR_SRVINIT_TAG
230{
231 PVRSRV_ERROR eError;
232 SGX_BRIDGE_INFO_FOR_SRVINIT sInitInfo;
233}PVRSRV_BRIDGE_OUT_SGXINFO_FOR_SRVINIT;
234
235typedef struct PVRSRV_BRIDGE_IN_SGXDEVINITPART2_TAG
236{
237 IMG_UINT32 ui32BridgeFlags;
238 IMG_HANDLE hDevCookie;
239 SGX_BRIDGE_INIT_INFO sInitInfo;
240}PVRSRV_BRIDGE_IN_SGXDEVINITPART2;
241
242
243typedef struct PVRSRV_BRIDGE_IN_2DQUERYBLTSCOMPLETE_TAG
244{
245 IMG_UINT32 ui32BridgeFlags;
246 IMG_HANDLE hDevCookie;
247 IMG_HANDLE hKernSyncInfo;
248 IMG_BOOL bWaitForComplete;
249}PVRSRV_BRIDGE_IN_2DQUERYBLTSCOMPLETE;
250
251
252#define PVRSRV_BRIDGE_SGX_SHAREDPBDESC_MAX_SUBMEMINFOS 10
253
254typedef struct PVRSRV_BRIDGE_IN_SGXFINDSHAREDPBDESC_TAG
255{
256 IMG_UINT32 ui32BridgeFlags;
257 IMG_HANDLE hDevCookie;
258 IMG_BOOL bLockOnFailure;
259 IMG_UINT32 ui32TotalPBSize;
260}PVRSRV_BRIDGE_IN_SGXFINDSHAREDPBDESC;
261
262typedef struct PVRSRV_BRIDGE_OUT_SGXFINDSHAREDPBDESC_TAG
263{
264 IMG_HANDLE hKernelMemInfo;
265 IMG_HANDLE hSharedPBDesc;
266 IMG_HANDLE hSharedPBDescKernelMemInfoHandle;
267 IMG_HANDLE hHWPBDescKernelMemInfoHandle;
268 IMG_HANDLE hBlockKernelMemInfoHandle;
269 IMG_HANDLE hHWBlockKernelMemInfoHandle;
270 IMG_HANDLE ahSharedPBDescSubKernelMemInfoHandles[PVRSRV_BRIDGE_SGX_SHAREDPBDESC_MAX_SUBMEMINFOS];
271 IMG_UINT32 ui32SharedPBDescSubKernelMemInfoHandlesCount;
272 PVRSRV_ERROR eError;
273}PVRSRV_BRIDGE_OUT_SGXFINDSHAREDPBDESC;
274
275typedef struct PVRSRV_BRIDGE_IN_SGXUNREFSHAREDPBDESC_TAG
276{
277 IMG_UINT32 ui32BridgeFlags;
278 IMG_HANDLE hSharedPBDesc;
279}PVRSRV_BRIDGE_IN_SGXUNREFSHAREDPBDESC;
280
281typedef struct PVRSRV_BRIDGE_OUT_SGXUNREFSHAREDPBDESC_TAG
282{
283 PVRSRV_ERROR eError;
284}PVRSRV_BRIDGE_OUT_SGXUNREFSHAREDPBDESC;
285
286
287typedef struct PVRSRV_BRIDGE_IN_SGXADDSHAREDPBDESC_TAG
288{
289 IMG_UINT32 ui32BridgeFlags;
290 IMG_HANDLE hDevCookie;
291 IMG_HANDLE hSharedPBDescKernelMemInfo;
292 IMG_HANDLE hHWPBDescKernelMemInfo;
293 IMG_HANDLE hBlockKernelMemInfo;
294 IMG_HANDLE hHWBlockKernelMemInfo;
295 IMG_UINT32 ui32TotalPBSize;
296 IMG_HANDLE *phKernelMemInfoHandles;
297 IMG_UINT32 ui32KernelMemInfoHandlesCount;
298}PVRSRV_BRIDGE_IN_SGXADDSHAREDPBDESC;
299
300typedef struct PVRSRV_BRIDGE_OUT_SGXADDSHAREDPBDESC_TAG
301{
302 PVRSRV_ERROR eError;
303 IMG_HANDLE hSharedPBDesc;
304}PVRSRV_BRIDGE_OUT_SGXADDSHAREDPBDESC;
305
306
307#ifdef PDUMP
308typedef struct PVRSRV_BRIDGE_IN_PDUMP_BUFFER_ARRAY_TAG
309{
310 IMG_UINT32 ui32BridgeFlags;
311 SGX_KICKTA_DUMP_BUFFER *psBufferArray;
312 IMG_UINT32 ui32BufferArrayLength;
313 IMG_BOOL bDumpPolls;
314} PVRSRV_BRIDGE_IN_PDUMP_BUFFER_ARRAY;
315
316typedef struct PVRSRV_BRIDGE_IN_PDUMP_3D_SIGNATURE_REGISTERS_TAG
317{
318 IMG_UINT32 ui32BridgeFlags;
319 IMG_HANDLE hDevCookie;
320 IMG_UINT32 ui32DumpFrameNum;
321 IMG_BOOL bLastFrame;
322 IMG_UINT32 *pui32Registers;
323 IMG_UINT32 ui32NumRegisters;
324}PVRSRV_BRIDGE_IN_PDUMP_3D_SIGNATURE_REGISTERS;
325
326typedef struct PVRSRV_BRIDGE_IN_PDUMPCOUNTER_REGISTERS_TAG
327{
328 IMG_UINT32 ui32BridgeFlags;
329 IMG_HANDLE hDevCookie;
330 IMG_UINT32 ui32DumpFrameNum;
331 IMG_BOOL bLastFrame;
332 IMG_UINT32 *pui32Registers;
333 IMG_UINT32 ui32NumRegisters;
334}PVRSRV_BRIDGE_IN_PDUMP_COUNTER_REGISTERS;
335
336typedef struct PVRSRV_BRIDGE_IN_PDUMP_TA_SIGNATURE_REGISTERS_TAG
337{
338 IMG_UINT32 ui32BridgeFlags;
339 IMG_HANDLE hDevCookie;
340 IMG_UINT32 ui32DumpFrameNum;
341 IMG_UINT32 ui32TAKickCount;
342 IMG_BOOL bLastFrame;
343 IMG_UINT32 *pui32Registers;
344 IMG_UINT32 ui32NumRegisters;
345}PVRSRV_BRIDGE_IN_PDUMP_TA_SIGNATURE_REGISTERS;
346
347typedef struct PVRSRV_BRIDGE_IN_PDUMP_HWPERFCB_TAG
348{
349 IMG_UINT32 ui32BridgeFlags;
350 IMG_HANDLE hDevCookie;
351 IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
352 IMG_UINT32 ui32FileOffset;
353 IMG_UINT32 ui32PDumpFlags;
354
355}PVRSRV_BRIDGE_IN_PDUMP_HWPERFCB;
356
357typedef struct PVRSRV_BRIDGE_IN_PDUMP_SAVEMEM
358{
359 IMG_UINT32 ui32BridgeFlags;
360 IMG_HANDLE hDevCookie;
361 IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
362 IMG_UINT32 ui32FileOffset;
363 IMG_DEV_VIRTADDR sDevVAddr;
364 IMG_UINT32 ui32Size;
365 IMG_UINT32 ui32DataMaster;
366 IMG_UINT32 ui32PDumpFlags;
367
368}PVRSRV_BRIDGE_IN_PDUMP_SAVEMEM;
369
370#endif
371
372typedef struct PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_RENDER_CONTEXT_TAG
373{
374 IMG_UINT32 ui32BridgeFlags;
375 IMG_HANDLE hDevCookie;
376 IMG_DEV_VIRTADDR sHWRenderContextDevVAddr;
377}PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_RENDER_CONTEXT;
378
379typedef struct PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_RENDER_CONTEXT_TAG
380{
381 PVRSRV_ERROR eError;
382 IMG_HANDLE hHWRenderContext;
383}PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_RENDER_CONTEXT;
384
385typedef struct PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_RENDER_CONTEXT_TAG
386{
387 IMG_UINT32 ui32BridgeFlags;
388 IMG_HANDLE hDevCookie;
389 IMG_HANDLE hHWRenderContext;
390}PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_RENDER_CONTEXT;
391
392typedef struct PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_TRANSFER_CONTEXT_TAG
393{
394 IMG_UINT32 ui32BridgeFlags;
395 IMG_HANDLE hDevCookie;
396 IMG_DEV_VIRTADDR sHWTransferContextDevVAddr;
397}PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_TRANSFER_CONTEXT;
398
399typedef struct PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_TRANSFER_CONTEXT_TAG
400{
401 PVRSRV_ERROR eError;
402 IMG_HANDLE hHWTransferContext;
403}PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_TRANSFER_CONTEXT;
404
405typedef struct PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_TRANSFER_CONTEXT_TAG
406{
407 IMG_UINT32 ui32BridgeFlags;
408 IMG_HANDLE hDevCookie;
409 IMG_HANDLE hHWTransferContext;
410}PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_TRANSFER_CONTEXT;
411
412typedef struct PVRSRV_BRIDGE_IN_SGX_FLUSH_HW_RENDER_TARGET_TAG
413{
414 IMG_UINT32 ui32BridgeFlags;
415 IMG_HANDLE hDevCookie;
416 IMG_DEV_VIRTADDR sHWRTDataSetDevVAddr;
417}PVRSRV_BRIDGE_IN_SGX_FLUSH_HW_RENDER_TARGET;
418
419
420#if defined(SGX_FEATURE_2D_HARDWARE)
421typedef struct PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_2D_CONTEXT_TAG
422{
423 IMG_UINT32 ui32BridgeFlags;
424 IMG_HANDLE hDevCookie;
425 IMG_DEV_VIRTADDR sHW2DContextDevVAddr;
426}PVRSRV_BRIDGE_IN_SGX_REGISTER_HW_2D_CONTEXT;
427
428typedef struct PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_2D_CONTEXT_TAG
429{
430 PVRSRV_ERROR eError;
431 IMG_HANDLE hHW2DContext;
432}PVRSRV_BRIDGE_OUT_SGX_REGISTER_HW_2D_CONTEXT;
433
434typedef struct PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_2D_CONTEXT_TAG
435{
436 IMG_UINT32 ui32BridgeFlags;
437 IMG_HANDLE hDevCookie;
438 IMG_HANDLE hHW2DContext;
439}PVRSRV_BRIDGE_IN_SGX_UNREGISTER_HW_2D_CONTEXT;
440
441#define SGX2D_MAX_BLT_CMD_SIZ 256
442#endif
443
444
445typedef struct PVRSRV_BRIDGE_IN_SGX_READ_HWPERF_CB_TAG
446{
447 IMG_UINT32 ui32BridgeFlags;
448 IMG_HANDLE hDevCookie;
449 IMG_UINT32 ui32ArraySize;
450 PVRSRV_SGX_HWPERF_CB_ENTRY *psHWPerfCBData;
451} PVRSRV_BRIDGE_IN_SGX_READ_HWPERF_CB;
452
453typedef struct PVRSRV_BRIDGE_OUT_SGX_READ_HWPERF_CB_TAG
454{
455 PVRSRV_ERROR eError;
456 IMG_UINT32 ui32DataCount;
457 IMG_UINT32 ui32ClockSpeed;
458 IMG_UINT32 ui32HostTimeStamp;
459} PVRSRV_BRIDGE_OUT_SGX_READ_HWPERF_CB;
460
461#if defined (__cplusplus)
462}
463#endif
464
465#endif
466