1 /*************************************************************************/ /*!
3 @Title Common bridge header for rgxta3d
4 @Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
5 @Description Declares common defines and structures that are used by both
6 the client and sever side of the bridge for rgxta3d
7 @License Dual MIT/GPLv2
9 The contents of this file are subject to the MIT license as set out below.
11 Permission is hereby granted, free of charge, to any person obtaining a copy
12 of this software and associated documentation files (the "Software"), to deal
13 in the Software without restriction, including without limitation the rights
14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 copies of the Software, and to permit persons to whom the Software is
16 furnished to do so, subject to the following conditions:
18 The above copyright notice and this permission notice shall be included in
19 all copies or substantial portions of the Software.
21 Alternatively, the contents of this file may be used under the terms of
22 the GNU General Public License Version 2 ("GPL") in which case the provisions
23 of GPL are applicable instead of those above.
25 If you wish to allow use of your version of this file only under the terms of
26 GPL, and not to allow others to use your version of this file under the terms
27 of the MIT license, indicate your decision by deleting the provisions above
28 and replace them with the notice and other provisions required by GPL as set
29 out in the file called "GPL-COPYING" included in this distribution. If you do
30 not delete the provisions above, a recipient may use your version of this file
31 under the terms of either the MIT license or GPL.
33 This License is also included in this distribution in the file called
36 EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
37 PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
38 BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
39 PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
40 COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
41 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
42 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
43 */ /**************************************************************************/
45 #ifndef COMMON_RGXTA3D_BRIDGE_H
46 #define COMMON_RGXTA3D_BRIDGE_H
48 #include "rgx_bridge.h"
49 #include "sync_external.h"
50 #include "rgx_fwif_shared.h"
53 #include "pvr_bridge_io.h"
55 #define PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST (PVRSRV_BRIDGE_RGXTA3D_START)
56 #define PVRSRV_BRIDGE_RGXTA3D_RGXCREATEHWRTDATA PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+0)
57 #define PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYHWRTDATA PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+1)
58 #define PVRSRV_BRIDGE_RGXTA3D_RGXCREATERENDERTARGET PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+2)
59 #define PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYRENDERTARGET PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+3)
60 #define PVRSRV_BRIDGE_RGXTA3D_RGXCREATEZSBUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+4)
61 #define PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYZSBUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+5)
62 #define PVRSRV_BRIDGE_RGXTA3D_RGXPOPULATEZSBUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+6)
63 #define PVRSRV_BRIDGE_RGXTA3D_RGXUNPOPULATEZSBUFFER PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+7)
64 #define PVRSRV_BRIDGE_RGXTA3D_RGXCREATEFREELIST PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+8)
65 #define PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYFREELIST PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+9)
66 #define PVRSRV_BRIDGE_RGXTA3D_RGXADDBLOCKTOFREELIST PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+10)
67 #define PVRSRV_BRIDGE_RGXTA3D_RGXREMOVEBLOCKFROMFREELIST PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+11)
68 #define PVRSRV_BRIDGE_RGXTA3D_RGXCREATERENDERCONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+12)
69 #define PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYRENDERCONTEXT PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+13)
70 #define PVRSRV_BRIDGE_RGXTA3D_RGXKICKTA3D PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+14)
71 #define PVRSRV_BRIDGE_RGXTA3D_RGXSETRENDERCONTEXTPRIORITY PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+15)
72 #define PVRSRV_BRIDGE_RGXTA3D_RGXGETLASTRENDERCONTEXTRESETREASON PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+16)
73 #define PVRSRV_BRIDGE_RGXTA3D_RGXGETPARTIALRENDERCOUNT PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+17)
74 #define PVRSRV_BRIDGE_RGXTA3D_RGXKICKSYNCTA PVRSRV_IOWR(PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+18)
75 #define PVRSRV_BRIDGE_RGXTA3D_CMD_LAST (PVRSRV_BRIDGE_RGXTA3D_CMD_FIRST+18)
78 /*******************************************
80 *******************************************/
82 /* Bridge in structure for RGXCreateHWRTData */
83 typedef struct PVRSRV_BRIDGE_IN_RGXCREATEHWRTDATA_TAG
86 IMG_UINT32 ui32RenderTarget;
87 IMG_DEV_VIRTADDR sPMMlistDevVAddr;
88 IMG_DEV_VIRTADDR sVFPPageTableAddr;
89 IMG_HANDLE * phapsFreeLists;
90 IMG_UINT32 ui32PPPScreen;
91 IMG_UINT32 ui32PPPGridOffset;
92 IMG_UINT64 ui64PPPMultiSampleCtl;
93 IMG_UINT32 ui32TPCStride;
94 IMG_DEV_VIRTADDR sTailPtrsDevVAddr;
95 IMG_UINT32 ui32TPCSize;
96 IMG_UINT32 ui32TEScreen;
98 IMG_UINT32 ui32TEMTILE1;
99 IMG_UINT32 ui32TEMTILE2;
100 IMG_UINT32 ui32MTileStride;
101 IMG_UINT32 ui32ui32ISPMergeLowerX;
102 IMG_UINT32 ui32ui32ISPMergeLowerY;
103 IMG_UINT32 ui32ui32ISPMergeUpperX;
104 IMG_UINT32 ui32ui32ISPMergeUpperY;
105 IMG_UINT32 ui32ui32ISPMergeScaleX;
106 IMG_UINT32 ui32ui32ISPMergeScaleY;
107 IMG_UINT16 ui16MaxRTs;
108 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXCREATEHWRTDATA;
111 /* Bridge out structure for RGXCreateHWRTData */
112 typedef struct PVRSRV_BRIDGE_OUT_RGXCREATEHWRTDATA_TAG
114 IMG_HANDLE hCleanupCookie;
115 IMG_HANDLE hRTACtlMemDesc;
116 IMG_HANDLE hsHWRTDataMemDesc;
117 IMG_UINT32 ui32FWHWRTData;
119 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXCREATEHWRTDATA;
121 /*******************************************
123 *******************************************/
125 /* Bridge in structure for RGXDestroyHWRTData */
126 typedef struct PVRSRV_BRIDGE_IN_RGXDESTROYHWRTDATA_TAG
128 IMG_HANDLE hCleanupCookie;
129 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXDESTROYHWRTDATA;
132 /* Bridge out structure for RGXDestroyHWRTData */
133 typedef struct PVRSRV_BRIDGE_OUT_RGXDESTROYHWRTDATA_TAG
136 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXDESTROYHWRTDATA;
138 /*******************************************
139 RGXCreateRenderTarget
140 *******************************************/
142 /* Bridge in structure for RGXCreateRenderTarget */
143 typedef struct PVRSRV_BRIDGE_IN_RGXCREATERENDERTARGET_TAG
146 IMG_DEV_VIRTADDR spsVHeapTableDevVAddr;
147 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXCREATERENDERTARGET;
150 /* Bridge out structure for RGXCreateRenderTarget */
151 typedef struct PVRSRV_BRIDGE_OUT_RGXCREATERENDERTARGET_TAG
153 IMG_HANDLE hsRenderTargetMemDesc;
154 IMG_UINT32 ui32sRenderTargetFWDevVAddr;
156 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXCREATERENDERTARGET;
158 /*******************************************
159 RGXDestroyRenderTarget
160 *******************************************/
162 /* Bridge in structure for RGXDestroyRenderTarget */
163 typedef struct PVRSRV_BRIDGE_IN_RGXDESTROYRENDERTARGET_TAG
165 IMG_HANDLE hsRenderTargetMemDesc;
166 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXDESTROYRENDERTARGET;
169 /* Bridge out structure for RGXDestroyRenderTarget */
170 typedef struct PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERTARGET_TAG
173 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERTARGET;
175 /*******************************************
177 *******************************************/
179 /* Bridge in structure for RGXCreateZSBuffer */
180 typedef struct PVRSRV_BRIDGE_IN_RGXCREATEZSBUFFER_TAG
183 IMG_HANDLE hReservation;
185 PVRSRV_MEMALLOCFLAGS_T uiMapFlags;
186 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXCREATEZSBUFFER;
189 /* Bridge out structure for RGXCreateZSBuffer */
190 typedef struct PVRSRV_BRIDGE_OUT_RGXCREATEZSBUFFER_TAG
192 IMG_HANDLE hsZSBufferKM;
193 IMG_UINT32 ui32sZSBufferFWDevVAddr;
195 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXCREATEZSBUFFER;
197 /*******************************************
199 *******************************************/
201 /* Bridge in structure for RGXDestroyZSBuffer */
202 typedef struct PVRSRV_BRIDGE_IN_RGXDESTROYZSBUFFER_TAG
204 IMG_HANDLE hsZSBufferMemDesc;
205 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXDESTROYZSBUFFER;
208 /* Bridge out structure for RGXDestroyZSBuffer */
209 typedef struct PVRSRV_BRIDGE_OUT_RGXDESTROYZSBUFFER_TAG
212 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXDESTROYZSBUFFER;
214 /*******************************************
216 *******************************************/
218 /* Bridge in structure for RGXPopulateZSBuffer */
219 typedef struct PVRSRV_BRIDGE_IN_RGXPOPULATEZSBUFFER_TAG
221 IMG_HANDLE hsZSBufferKM;
222 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXPOPULATEZSBUFFER;
225 /* Bridge out structure for RGXPopulateZSBuffer */
226 typedef struct PVRSRV_BRIDGE_OUT_RGXPOPULATEZSBUFFER_TAG
228 IMG_HANDLE hsPopulation;
230 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXPOPULATEZSBUFFER;
232 /*******************************************
233 RGXUnpopulateZSBuffer
234 *******************************************/
236 /* Bridge in structure for RGXUnpopulateZSBuffer */
237 typedef struct PVRSRV_BRIDGE_IN_RGXUNPOPULATEZSBUFFER_TAG
239 IMG_HANDLE hsPopulation;
240 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXUNPOPULATEZSBUFFER;
243 /* Bridge out structure for RGXUnpopulateZSBuffer */
244 typedef struct PVRSRV_BRIDGE_OUT_RGXUNPOPULATEZSBUFFER_TAG
247 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXUNPOPULATEZSBUFFER;
249 /*******************************************
251 *******************************************/
253 /* Bridge in structure for RGXCreateFreeList */
254 typedef struct PVRSRV_BRIDGE_IN_RGXCREATEFREELIST_TAG
257 IMG_UINT32 ui32ui32MaxFLPages;
258 IMG_UINT32 ui32ui32InitFLPages;
259 IMG_UINT32 ui32ui32GrowFLPages;
260 IMG_BOOL bbFreeListCheck;
261 IMG_DEV_VIRTADDR spsFreeListDevVAddr;
262 IMG_HANDLE hsFreeListPMR;
263 IMG_DEVMEM_OFFSET_T uiPMROffset;
264 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXCREATEFREELIST;
267 /* Bridge out structure for RGXCreateFreeList */
268 typedef struct PVRSRV_BRIDGE_OUT_RGXCREATEFREELIST_TAG
270 IMG_HANDLE hCleanupCookie;
272 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXCREATEFREELIST;
274 /*******************************************
276 *******************************************/
278 /* Bridge in structure for RGXDestroyFreeList */
279 typedef struct PVRSRV_BRIDGE_IN_RGXDESTROYFREELIST_TAG
281 IMG_HANDLE hCleanupCookie;
282 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXDESTROYFREELIST;
285 /* Bridge out structure for RGXDestroyFreeList */
286 typedef struct PVRSRV_BRIDGE_OUT_RGXDESTROYFREELIST_TAG
289 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXDESTROYFREELIST;
291 /*******************************************
292 RGXAddBlockToFreeList
293 *******************************************/
295 /* Bridge in structure for RGXAddBlockToFreeList */
296 typedef struct PVRSRV_BRIDGE_IN_RGXADDBLOCKTOFREELIST_TAG
298 IMG_HANDLE hsFreeList;
299 IMG_UINT32 ui3232NumPages;
300 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXADDBLOCKTOFREELIST;
303 /* Bridge out structure for RGXAddBlockToFreeList */
304 typedef struct PVRSRV_BRIDGE_OUT_RGXADDBLOCKTOFREELIST_TAG
307 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXADDBLOCKTOFREELIST;
309 /*******************************************
310 RGXRemoveBlockFromFreeList
311 *******************************************/
313 /* Bridge in structure for RGXRemoveBlockFromFreeList */
314 typedef struct PVRSRV_BRIDGE_IN_RGXREMOVEBLOCKFROMFREELIST_TAG
316 IMG_HANDLE hsFreeList;
317 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXREMOVEBLOCKFROMFREELIST;
320 /* Bridge out structure for RGXRemoveBlockFromFreeList */
321 typedef struct PVRSRV_BRIDGE_OUT_RGXREMOVEBLOCKFROMFREELIST_TAG
324 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXREMOVEBLOCKFROMFREELIST;
326 /*******************************************
327 RGXCreateRenderContext
328 *******************************************/
330 /* Bridge in structure for RGXCreateRenderContext */
331 typedef struct PVRSRV_BRIDGE_IN_RGXCREATERENDERCONTEXT_TAG
334 IMG_UINT32 ui32Priority;
335 IMG_DEV_VIRTADDR sMCUFenceAddr;
336 IMG_DEV_VIRTADDR sVDMCallStackAddr;
337 IMG_UINT32 ui32FrameworkCmdize;
338 IMG_BYTE * psFrameworkCmd;
339 IMG_HANDLE hPrivData;
340 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXCREATERENDERCONTEXT;
343 /* Bridge out structure for RGXCreateRenderContext */
344 typedef struct PVRSRV_BRIDGE_OUT_RGXCREATERENDERCONTEXT_TAG
346 IMG_HANDLE hRenderContext;
348 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXCREATERENDERCONTEXT;
350 /*******************************************
351 RGXDestroyRenderContext
352 *******************************************/
354 /* Bridge in structure for RGXDestroyRenderContext */
355 typedef struct PVRSRV_BRIDGE_IN_RGXDESTROYRENDERCONTEXT_TAG
357 IMG_HANDLE hCleanupCookie;
358 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXDESTROYRENDERCONTEXT;
361 /* Bridge out structure for RGXDestroyRenderContext */
362 typedef struct PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERCONTEXT_TAG
365 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERCONTEXT;
367 /*******************************************
369 *******************************************/
371 /* Bridge in structure for RGXKickTA3D */
372 typedef struct PVRSRV_BRIDGE_IN_RGXKICKTA3D_TAG
374 IMG_HANDLE hRenderContext;
375 IMG_UINT32 ui32ClientTAFenceCount;
376 PRGXFWIF_UFO_ADDR * psClientTAFenceUFOAddress;
377 IMG_UINT32 * pui32ClientTAFenceValue;
378 IMG_UINT32 ui32ClientTAUpdateCount;
379 PRGXFWIF_UFO_ADDR * psClientTAUpdateUFOAddress;
380 IMG_UINT32 * pui32ClientTAUpdateValue;
381 IMG_UINT32 ui32ServerTASyncPrims;
382 IMG_UINT32 * pui32ServerTASyncFlags;
383 IMG_HANDLE * phServerTASyncs;
384 IMG_UINT32 ui32Client3DFenceCount;
385 PRGXFWIF_UFO_ADDR * psClient3DFenceUFOAddress;
386 IMG_UINT32 * pui32Client3DFenceValue;
387 IMG_UINT32 ui32Client3DUpdateCount;
388 PRGXFWIF_UFO_ADDR * psClient3DUpdateUFOAddress;
389 IMG_UINT32 * pui32Client3DUpdateValue;
390 IMG_UINT32 ui32Server3DSyncPrims;
391 IMG_UINT32 * pui32Server3DSyncFlags;
392 IMG_HANDLE * phServer3DSyncs;
393 PRGXFWIF_UFO_ADDR sPRFenceUFOAddress;
394 IMG_UINT32 ui32FRFenceValue;
395 IMG_UINT32 ui32NumFenceFds;
396 IMG_INT32 * pi32FenceFds;
397 IMG_UINT32 ui32TACmdSize;
399 IMG_UINT32 ui323DPRCmdSize;
400 IMG_BYTE * ps3DPRCmd;
401 IMG_UINT32 ui323DCmdSize;
403 IMG_UINT32 ui32ExternalJobReference;
404 IMG_UINT32 ui32InternalJobReference;
405 IMG_BOOL bbLastTAInScene;
410 IMG_BOOL bbPDumpContinuous;
411 IMG_HANDLE hRTDataCleanup;
414 IMG_BOOL bbCommitRefCountsTA;
415 IMG_BOOL bbCommitRefCounts3D;
416 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXKICKTA3D;
419 /* Bridge out structure for RGXKickTA3D */
420 typedef struct PVRSRV_BRIDGE_OUT_RGXKICKTA3D_TAG
422 IMG_BOOL bbCommittedRefCountsTA;
423 IMG_BOOL bbCommittedRefCounts3D;
425 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXKICKTA3D;
427 /*******************************************
428 RGXSetRenderContextPriority
429 *******************************************/
431 /* Bridge in structure for RGXSetRenderContextPriority */
432 typedef struct PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPRIORITY_TAG
434 IMG_HANDLE hRenderContext;
435 IMG_UINT32 ui32Priority;
436 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPRIORITY;
439 /* Bridge out structure for RGXSetRenderContextPriority */
440 typedef struct PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPRIORITY_TAG
443 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPRIORITY;
445 /*******************************************
446 RGXGetLastRenderContextResetReason
447 *******************************************/
449 /* Bridge in structure for RGXGetLastRenderContextResetReason */
450 typedef struct PVRSRV_BRIDGE_IN_RGXGETLASTRENDERCONTEXTRESETREASON_TAG
452 IMG_HANDLE hRenderContext;
453 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXGETLASTRENDERCONTEXTRESETREASON;
456 /* Bridge out structure for RGXGetLastRenderContextResetReason */
457 typedef struct PVRSRV_BRIDGE_OUT_RGXGETLASTRENDERCONTEXTRESETREASON_TAG
459 IMG_UINT32 ui32LastResetReason;
461 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXGETLASTRENDERCONTEXTRESETREASON;
463 /*******************************************
464 RGXGetPartialRenderCount
465 *******************************************/
467 /* Bridge in structure for RGXGetPartialRenderCount */
468 typedef struct PVRSRV_BRIDGE_IN_RGXGETPARTIALRENDERCOUNT_TAG
470 IMG_HANDLE hHWRTDataMemDesc;
471 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXGETPARTIALRENDERCOUNT;
474 /* Bridge out structure for RGXGetPartialRenderCount */
475 typedef struct PVRSRV_BRIDGE_OUT_RGXGETPARTIALRENDERCOUNT_TAG
477 IMG_UINT32 ui32NumPartialRenders;
479 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXGETPARTIALRENDERCOUNT;
481 /*******************************************
483 *******************************************/
485 /* Bridge in structure for RGXKickSyncTA */
486 typedef struct PVRSRV_BRIDGE_IN_RGXKICKSYNCTA_TAG
488 IMG_HANDLE hRenderContext;
489 IMG_UINT32 ui32ClientTAFenceCount;
490 PRGXFWIF_UFO_ADDR * psClientTAFenceUFOAddress;
491 IMG_UINT32 * pui32ClientTAFenceValue;
492 IMG_UINT32 ui32ClientTAUpdateCount;
493 PRGXFWIF_UFO_ADDR * psClientTAUpdateUFOAddress;
494 IMG_UINT32 * pui32ClientTAUpdateValue;
495 IMG_UINT32 ui32ServerTASyncPrims;
496 IMG_UINT32 * pui32ServerTASyncFlags;
497 IMG_HANDLE * phServerTASyncs;
498 IMG_UINT32 ui32Client3DFenceCount;
499 PRGXFWIF_UFO_ADDR * psClient3DFenceUFOAddress;
500 IMG_UINT32 * pui32Client3DFenceValue;
501 IMG_UINT32 ui32Client3DUpdateCount;
502 PRGXFWIF_UFO_ADDR * psClient3DUpdateUFOAddress;
503 IMG_UINT32 * pui32Client3DUpdateValue;
504 IMG_UINT32 ui32Server3DSyncPrims;
505 IMG_UINT32 * pui32Server3DSyncFlags;
506 IMG_HANDLE * phServer3DSyncs;
507 IMG_UINT32 ui32NumFenceFDs;
508 IMG_INT32 * pi32FenceFDs;
509 IMG_BOOL bbPDumpContinuous;
510 } __attribute__((packed)) PVRSRV_BRIDGE_IN_RGXKICKSYNCTA;
513 /* Bridge out structure for RGXKickSyncTA */
514 typedef struct PVRSRV_BRIDGE_OUT_RGXKICKSYNCTA_TAG
517 } __attribute__((packed)) PVRSRV_BRIDGE_OUT_RGXKICKSYNCTA;
519 #endif /* COMMON_RGXTA3D_BRIDGE_H */