# Copyright 2021 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

# The source file of IMG PowerVR Rogue ioctl can be found in ChromeOS source tree:
# https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/gpu/drm/img-rogue/1.13/

# Not upstream, generated on unknown tree.
meta noextract

incdir <drivers/gpu/drm/img-rogue/1.13>
incdir <drivers/gpu/drm/img-rogue/1.13/km>
include <linux/fcntl.h>
include <drivers/gpu/drm/img-rogue/1.13/config_kernel.h>
include <drivers/gpu/drm/img-rogue/1.13/pvr_drm.h>
include <drivers/gpu/drm/img-rogue/1.13/pvrsrv_memallocflags.h>
include <drivers/gpu/drm/img-rogue/1.13/rgx_bridge.h>
include <drivers/gpu/drm/img-rogue/1.13/rgx_tq_shared.h>

resource fd_rogue[fd]
resource IMG_HANDLE[intptr]
resource IMG_DEV_VIRTADDR[int64]

type PVRSRV_TIMELINE int32
type PVRSRV_FENCE int32

openat$img_rogue(fd const[AT_FDCWD], file ptr[in, string["/dev/img-rogue"]], flags flags[open_flags], mode const[0]) fd_rogue

ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CACHE_CACHEOPEXEC(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CACHE, PVRSRV_BRIDGE_CACHE_CACHEOPEXEC, PVRSRV_BRIDGE_IN_CACHEOPEXEC, PVRSRV_BRIDGE_OUT_CACHEOPEXEC]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CACHE_CACHEOPLOG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CACHE, PVRSRV_BRIDGE_CACHE_CACHEOPLOG, PVRSRV_BRIDGE_IN_CACHEOPLOG, PVRSRV_BRIDGE_OUT_CACHEOPLOG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CACHE_CACHEOPQUEUE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CACHE, PVRSRV_BRIDGE_CACHE_CACHEOPQUEUE, PVRSRV_BRIDGE_IN_CACHEOPQUEUE, PVRSRV_BRIDGE_OUT_CACHEOPQUEUE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CMM_DEVMEMINTACQUIREREMOTECTX(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CMM, PVRSRV_BRIDGE_CMM_DEVMEMINTACQUIREREMOTECTX, PVRSRV_BRIDGE_IN_DEVMEMINTACQUIREREMOTECTX, PVRSRV_BRIDGE_OUT_DEVMEMINTACQUIREREMOTECTX]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CMM_DEVMEMINTEXPORTCTX(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CMM, PVRSRV_BRIDGE_CMM_DEVMEMINTEXPORTCTX, PVRSRV_BRIDGE_IN_DEVMEMINTEXPORTCTX, PVRSRV_BRIDGE_OUT_DEVMEMINTEXPORTCTX]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_CMM_DEVMEMINTUNEXPORTCTX(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_CMM, PVRSRV_BRIDGE_CMM_DEVMEMINTUNEXPORTCTX, PVRSRV_BRIDGE_IN_DEVMEMINTUNEXPORTCTX, PVRSRV_BRIDGE_OUT_DEVMEMINTUNEXPORTCTX]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYMAP(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DEVICEMEMHISTORY, PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYMAP, PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYMAP, PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYMAP]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYMAPVRANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DEVICEMEMHISTORY, PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYMAPVRANGE, PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYMAPVRANGE, PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYMAPVRANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYSPARSECHANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DEVICEMEMHISTORY, PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYSPARSECHANGE, PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYSPARSECHANGE, PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYSPARSECHANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYUNMAP(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DEVICEMEMHISTORY, PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYUNMAP, PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYUNMAP, PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYUNMAP]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYUNMAPVRANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DEVICEMEMHISTORY, PVRSRV_BRIDGE_DEVICEMEMHISTORY_DEVICEMEMHISTORYUNMAPVRANGE, PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYUNMAPVRANGE, PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYUNMAPVRANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DMABUF_PHYSMEMEXPORTDMABUF(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DMABUF, PVRSRV_BRIDGE_DMABUF_PHYSMEMEXPORTDMABUF, PVRSRV_BRIDGE_IN_PHYSMEMEXPORTDMABUF, PVRSRV_BRIDGE_OUT_PHYSMEMEXPORTDMABUF]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DMABUF_PHYSMEMIMPORTDMABUF(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DMABUF, PVRSRV_BRIDGE_DMABUF_PHYSMEMIMPORTDMABUF, PVRSRV_BRIDGE_IN_PHYSMEMIMPORTDMABUF, PVRSRV_BRIDGE_OUT_PHYSMEMIMPORTDMABUF]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_DMABUF_PHYSMEMIMPORTSPARSEDMABUF(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_DMABUF, PVRSRV_BRIDGE_DMABUF_PHYSMEMIMPORTSPARSEDMABUF, PVRSRV_BRIDGE_IN_PHYSMEMIMPORTSPARSEDMABUF, PVRSRV_BRIDGE_OUT_PHYSMEMIMPORTSPARSEDMABUF]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_HTBUFFER_HTBCONTROL(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_HTBUFFER, PVRSRV_BRIDGE_HTBUFFER_HTBCONTROL, PVRSRV_BRIDGE_IN_HTBCONTROL, PVRSRV_BRIDGE_OUT_HTBCONTROL]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_HTBUFFER_HTBLOG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_HTBUFFER, PVRSRV_BRIDGE_HTBUFFER_HTBLOG, PVRSRV_BRIDGE_IN_HTBLOG, PVRSRV_BRIDGE_OUT_HTBLOG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_CHANGESPARSEMEM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_CHANGESPARSEMEM, PVRSRV_BRIDGE_IN_CHANGESPARSEMEM, PVRSRV_BRIDGE_OUT_CHANGESPARSEMEM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMFLUSHDEVSLCRANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMFLUSHDEVSLCRANGE, PVRSRV_BRIDGE_IN_DEVMEMFLUSHDEVSLCRANGE, PVRSRV_BRIDGE_OUT_DEVMEMFLUSHDEVSLCRANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMGETFAULTADDRESS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMGETFAULTADDRESS, PVRSRV_BRIDGE_IN_DEVMEMGETFAULTADDRESS, PVRSRV_BRIDGE_OUT_DEVMEMGETFAULTADDRESS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTCTXCREATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTCTXCREATE, PVRSRV_BRIDGE_IN_DEVMEMINTCTXCREATE, PVRSRV_BRIDGE_OUT_DEVMEMINTCTXCREATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTCTXDESTROY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTCTXDESTROY, PVRSRV_BRIDGE_IN_DEVMEMINTCTXDESTROY, PVRSRV_BRIDGE_OUT_DEVMEMINTCTXDESTROY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTHEAPCREATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTHEAPCREATE, PVRSRV_BRIDGE_IN_DEVMEMINTHEAPCREATE, PVRSRV_BRIDGE_OUT_DEVMEMINTHEAPCREATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTHEAPDESTROY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTHEAPDESTROY, PVRSRV_BRIDGE_IN_DEVMEMINTHEAPDESTROY, PVRSRV_BRIDGE_OUT_DEVMEMINTHEAPDESTROY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTMAPPAGES(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTMAPPAGES, PVRSRV_BRIDGE_IN_DEVMEMINTMAPPAGES, PVRSRV_BRIDGE_OUT_DEVMEMINTMAPPAGES]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTMAPPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTMAPPMR, PVRSRV_BRIDGE_IN_DEVMEMINTMAPPMR, PVRSRV_BRIDGE_OUT_DEVMEMINTMAPPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTPIN(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTPIN, PVRSRV_BRIDGE_IN_DEVMEMINTPIN, PVRSRV_BRIDGE_OUT_DEVMEMINTPIN]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTPINVALIDATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTPINVALIDATE, PVRSRV_BRIDGE_IN_DEVMEMINTPINVALIDATE, PVRSRV_BRIDGE_OUT_DEVMEMINTPINVALIDATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTREGISTERPFNOTIFYKM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTREGISTERPFNOTIFYKM, PVRSRV_BRIDGE_IN_DEVMEMINTREGISTERPFNOTIFYKM, PVRSRV_BRIDGE_OUT_DEVMEMINTREGISTERPFNOTIFYKM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTRESERVERANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTRESERVERANGE, PVRSRV_BRIDGE_IN_DEVMEMINTRESERVERANGE, PVRSRV_BRIDGE_OUT_DEVMEMINTRESERVERANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTUNMAPPAGES(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTUNMAPPAGES, PVRSRV_BRIDGE_IN_DEVMEMINTUNMAPPAGES, PVRSRV_BRIDGE_OUT_DEVMEMINTUNMAPPAGES]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTUNMAPPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTUNMAPPMR, PVRSRV_BRIDGE_IN_DEVMEMINTUNMAPPMR, PVRSRV_BRIDGE_OUT_DEVMEMINTUNMAPPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTUNPIN(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTUNPIN, PVRSRV_BRIDGE_IN_DEVMEMINTUNPIN, PVRSRV_BRIDGE_OUT_DEVMEMINTUNPIN]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTUNPININVALIDATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTUNPININVALIDATE, PVRSRV_BRIDGE_IN_DEVMEMINTUNPININVALIDATE, PVRSRV_BRIDGE_OUT_DEVMEMINTUNPININVALIDATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINTUNRESERVERANGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINTUNRESERVERANGE, PVRSRV_BRIDGE_IN_DEVMEMINTUNRESERVERANGE, PVRSRV_BRIDGE_OUT_DEVMEMINTUNRESERVERANGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMINVALIDATEFBSCTABLE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMINVALIDATEFBSCTABLE, PVRSRV_BRIDGE_IN_DEVMEMINVALIDATEFBSCTABLE, PVRSRV_BRIDGE_OUT_DEVMEMINVALIDATEFBSCTABLE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_DEVMEMISVDEVADDRVALID(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_DEVMEMISVDEVADDRVALID, PVRSRV_BRIDGE_IN_DEVMEMISVDEVADDRVALID, PVRSRV_BRIDGE_OUT_DEVMEMISVDEVADDRVALID]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_GETMAXDEVMEMSIZE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_GETMAXDEVMEMSIZE, PVRSRV_BRIDGE_IN_GETMAXDEVMEMSIZE, PVRSRV_BRIDGE_OUT_GETMAXDEVMEMSIZE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_HEAPCFGHEAPCONFIGCOUNT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_HEAPCFGHEAPCONFIGCOUNT, PVRSRV_BRIDGE_IN_HEAPCFGHEAPCONFIGCOUNT, PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCONFIGCOUNT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_HEAPCFGHEAPCONFIGNAME(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_HEAPCFGHEAPCONFIGNAME, PVRSRV_BRIDGE_IN_HEAPCFGHEAPCONFIGNAME, PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCONFIGNAME]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_HEAPCFGHEAPCOUNT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_HEAPCFGHEAPCOUNT, PVRSRV_BRIDGE_IN_HEAPCFGHEAPCOUNT, PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCOUNT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_HEAPCFGHEAPDETAILS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_HEAPCFGHEAPDETAILS, PVRSRV_BRIDGE_IN_HEAPCFGHEAPDETAILS, PVRSRV_BRIDGE_OUT_HEAPCFGHEAPDETAILS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PHYSMEMNEWRAMBACKEDLOCKEDPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PHYSMEMNEWRAMBACKEDLOCKEDPMR, PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDLOCKEDPMR, PVRSRV_BRIDGE_OUT_PHYSMEMNEWRAMBACKEDLOCKEDPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PHYSMEMNEWRAMBACKEDPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PHYSMEMNEWRAMBACKEDPMR, PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDPMR, PVRSRV_BRIDGE_OUT_PHYSMEMNEWRAMBACKEDPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMREXPORTPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMREXPORTPMR, PVRSRV_BRIDGE_IN_PMREXPORTPMR, PVRSRV_BRIDGE_OUT_PMREXPORTPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRGETUID(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRGETUID, PVRSRV_BRIDGE_IN_PMRGETUID, PVRSRV_BRIDGE_OUT_PMRGETUID]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRIMPORTPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRIMPORTPMR, PVRSRV_BRIDGE_IN_PMRIMPORTPMR, PVRSRV_BRIDGE_OUT_PMRIMPORTPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRLOCALIMPORTPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRLOCALIMPORTPMR, PVRSRV_BRIDGE_IN_PMRLOCALIMPORTPMR, PVRSRV_BRIDGE_OUT_PMRLOCALIMPORTPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRMAKELOCALIMPORTHANDLE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRMAKELOCALIMPORTHANDLE, PVRSRV_BRIDGE_IN_PMRMAKELOCALIMPORTHANDLE, PVRSRV_BRIDGE_OUT_PMRMAKELOCALIMPORTHANDLE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRUNEXPORTPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRUNEXPORTPMR, PVRSRV_BRIDGE_IN_PMRUNEXPORTPMR, PVRSRV_BRIDGE_OUT_PMRUNEXPORTPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRUNMAKELOCALIMPORTHANDLE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRUNMAKELOCALIMPORTHANDLE, PVRSRV_BRIDGE_IN_PMRUNMAKELOCALIMPORTHANDLE, PVRSRV_BRIDGE_OUT_PMRUNMAKELOCALIMPORTHANDLE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRUNREFPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRUNREFPMR, PVRSRV_BRIDGE_IN_PMRUNREFPMR, PVRSRV_BRIDGE_OUT_PMRUNREFPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PMRUNREFUNLOCKPMR(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PMRUNREFUNLOCKPMR, PVRSRV_BRIDGE_IN_PMRUNREFUNLOCKPMR, PVRSRV_BRIDGE_OUT_PMRUNREFUNLOCKPMR]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_MM_PVRSRVUPDATEOOMSTATS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_MM, PVRSRV_BRIDGE_MM_PVRSRVUPDATEOOMSTATS, PVRSRV_BRIDGE_IN_PVRSRVUPDATEOOMSTATS, PVRSRV_BRIDGE_OUT_PVRSRVUPDATEOOMSTATS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLACQUIREDATA(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLACQUIREDATA, PVRSRV_BRIDGE_IN_TLACQUIREDATA, PVRSRV_BRIDGE_OUT_TLACQUIREDATA]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLCLOSESTREAM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLCLOSESTREAM, PVRSRV_BRIDGE_IN_TLCLOSESTREAM, PVRSRV_BRIDGE_OUT_TLCLOSESTREAM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLCOMMITSTREAM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLCOMMITSTREAM, PVRSRV_BRIDGE_IN_TLCOMMITSTREAM, PVRSRV_BRIDGE_OUT_TLCOMMITSTREAM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLDISCOVERSTREAMS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLDISCOVERSTREAMS, PVRSRV_BRIDGE_IN_TLDISCOVERSTREAMS, PVRSRV_BRIDGE_OUT_TLDISCOVERSTREAMS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLOPENSTREAM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLOPENSTREAM, PVRSRV_BRIDGE_IN_TLOPENSTREAM, PVRSRV_BRIDGE_OUT_TLOPENSTREAM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLRELEASEDATA(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLRELEASEDATA, PVRSRV_BRIDGE_IN_TLRELEASEDATA, PVRSRV_BRIDGE_OUT_TLRELEASEDATA]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLRESERVESTREAM(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLRESERVESTREAM, PVRSRV_BRIDGE_IN_TLRESERVESTREAM, PVRSRV_BRIDGE_OUT_TLRESERVESTREAM]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_PVRTL_TLWRITEDATA(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLWRITEDATA, PVRSRV_BRIDGE_IN_TLWRITEDATA, PVRSRV_BRIDGE_OUT_TLWRITEDATA]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXBREAKPOINT_RGXCLEARBREAKPOINT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXBREAKPOINT, PVRSRV_BRIDGE_RGXBREAKPOINT_RGXCLEARBREAKPOINT, PVRSRV_BRIDGE_IN_RGXCLEARBREAKPOINT, PVRSRV_BRIDGE_OUT_RGXCLEARBREAKPOINT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXBREAKPOINT_RGXDISABLEBREAKPOINT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXBREAKPOINT, PVRSRV_BRIDGE_RGXBREAKPOINT_RGXDISABLEBREAKPOINT, PVRSRV_BRIDGE_IN_RGXDISABLEBREAKPOINT, PVRSRV_BRIDGE_OUT_RGXDISABLEBREAKPOINT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXBREAKPOINT_RGXENABLEBREAKPOINT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXBREAKPOINT, PVRSRV_BRIDGE_RGXBREAKPOINT_RGXENABLEBREAKPOINT, PVRSRV_BRIDGE_IN_RGXENABLEBREAKPOINT, PVRSRV_BRIDGE_OUT_RGXENABLEBREAKPOINT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXBREAKPOINT_RGXOVERALLOCATEBPREGISTERS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXBREAKPOINT, PVRSRV_BRIDGE_RGXBREAKPOINT_RGXOVERALLOCATEBPREGISTERS, PVRSRV_BRIDGE_IN_RGXOVERALLOCATEBPREGISTERS, PVRSRV_BRIDGE_OUT_RGXOVERALLOCATEBPREGISTERS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXBREAKPOINT_RGXSETBREAKPOINT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXBREAKPOINT, PVRSRV_BRIDGE_RGXBREAKPOINT_RGXSETBREAKPOINT, PVRSRV_BRIDGE_IN_RGXSETBREAKPOINT, PVRSRV_BRIDGE_OUT_RGXSETBREAKPOINT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXCREATECOMPUTECONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXCREATECOMPUTECONTEXT, PVRSRV_BRIDGE_IN_RGXCREATECOMPUTECONTEXT, PVRSRV_BRIDGE_OUT_RGXCREATECOMPUTECONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXDESTROYCOMPUTECONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXDESTROYCOMPUTECONTEXT, PVRSRV_BRIDGE_IN_RGXDESTROYCOMPUTECONTEXT, PVRSRV_BRIDGE_OUT_RGXDESTROYCOMPUTECONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXFLUSHCOMPUTEDATA(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXFLUSHCOMPUTEDATA, PVRSRV_BRIDGE_IN_RGXFLUSHCOMPUTEDATA, PVRSRV_BRIDGE_OUT_RGXFLUSHCOMPUTEDATA]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXGETLASTCOMPUTECONTEXTRESETREASON(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXGETLASTCOMPUTECONTEXTRESETREASON, PVRSRV_BRIDGE_IN_RGXGETLASTCOMPUTECONTEXTRESETREASON, PVRSRV_BRIDGE_OUT_RGXGETLASTCOMPUTECONTEXTRESETREASON]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXKICKCDM2(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXKICKCDM2, PVRSRV_BRIDGE_IN_RGXKICKCDM2, PVRSRV_BRIDGE_OUT_RGXKICKCDM2]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE, PVRSRV_BRIDGE_IN_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE, PVRSRV_BRIDGE_OUT_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXSETCOMPUTECONTEXTPRIORITY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXSETCOMPUTECONTEXTPRIORITY, PVRSRV_BRIDGE_IN_RGXSETCOMPUTECONTEXTPRIORITY, PVRSRV_BRIDGE_OUT_RGXSETCOMPUTECONTEXTPRIORITY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXCMP_RGXSETCOMPUTECONTEXTPROPERTY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXCMP, PVRSRV_BRIDGE_RGXCMP_RGXSETCOMPUTECONTEXTPROPERTY, PVRSRV_BRIDGE_IN_RGXSETCOMPUTECONTEXTPROPERTY, PVRSRV_BRIDGE_OUT_RGXSETCOMPUTECONTEXTPROPERTY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXCURRENTTIME(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXCURRENTTIME, PVRSRV_BRIDGE_IN_RGXCURRENTTIME, PVRSRV_BRIDGE_OUT_RGXCURRENTTIME]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGDUMPFREELISTPAGELIST(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGDUMPFREELISTPAGELIST, PVRSRV_BRIDGE_IN_RGXFWDEBUGDUMPFREELISTPAGELIST, PVRSRV_BRIDGE_OUT_RGXFWDEBUGDUMPFREELISTPAGELIST]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGPHRCONFIGURE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGPHRCONFIGURE, PVRSRV_BRIDGE_IN_RGXFWDEBUGPHRCONFIGURE, PVRSRV_BRIDGE_OUT_RGXFWDEBUGPHRCONFIGURE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETFWLOG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETFWLOG, PVRSRV_BRIDGE_IN_RGXFWDEBUGSETFWLOG, PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETFWLOG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETHCSDEADLINE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETHCSDEADLINE, PVRSRV_BRIDGE_IN_RGXFWDEBUGSETHCSDEADLINE, PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETHCSDEADLINE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETOSIDPRIORITY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETOSIDPRIORITY, PVRSRV_BRIDGE_IN_RGXFWDEBUGSETOSIDPRIORITY, PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETOSIDPRIORITY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETOSNEWONLINESTATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXFWDBG, PVRSRV_BRIDGE_RGXFWDBG_RGXFWDEBUGSETOSNEWONLINESTATE, PVRSRV_BRIDGE_IN_RGXFWDEBUGSETOSNEWONLINESTATE, PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETOSNEWONLINESTATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXHWPERF_RGXCONFIGCUSTOMCOUNTERS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXHWPERF, PVRSRV_BRIDGE_RGXHWPERF_RGXCONFIGCUSTOMCOUNTERS, PVRSRV_BRIDGE_IN_RGXCONFIGCUSTOMCOUNTERS, PVRSRV_BRIDGE_OUT_RGXCONFIGCUSTOMCOUNTERS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXHWPERF_RGXCONFIGENABLEHWPERFCOUNTERS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXHWPERF, PVRSRV_BRIDGE_RGXHWPERF_RGXCONFIGENABLEHWPERFCOUNTERS, PVRSRV_BRIDGE_IN_RGXCONFIGENABLEHWPERFCOUNTERS, PVRSRV_BRIDGE_OUT_RGXCONFIGENABLEHWPERFCOUNTERS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXHWPERF_RGXCTRLHWPERF(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXHWPERF, PVRSRV_BRIDGE_RGXHWPERF_RGXCTRLHWPERF, PVRSRV_BRIDGE_IN_RGXCTRLHWPERF, PVRSRV_BRIDGE_OUT_RGXCTRLHWPERF]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXHWPERF_RGXCTRLHWPERFCOUNTERS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXHWPERF, PVRSRV_BRIDGE_RGXHWPERF_RGXCTRLHWPERFCOUNTERS, PVRSRV_BRIDGE_IN_RGXCTRLHWPERFCOUNTERS, PVRSRV_BRIDGE_OUT_RGXCTRLHWPERFCOUNTERS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXHWPERF_RGXGETHWPERFBVNCFEATUREFLAGS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXHWPERF, PVRSRV_BRIDGE_RGXHWPERF_RGXGETHWPERFBVNCFEATUREFLAGS, PVRSRV_BRIDGE_IN_RGXGETHWPERFBVNCFEATUREFLAGS, PVRSRV_BRIDGE_OUT_RGXGETHWPERFBVNCFEATUREFLAGS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXKICKSYNC_RGXCREATEKICKSYNCCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXKICKSYNC, PVRSRV_BRIDGE_RGXKICKSYNC_RGXCREATEKICKSYNCCONTEXT, PVRSRV_BRIDGE_IN_RGXCREATEKICKSYNCCONTEXT, PVRSRV_BRIDGE_OUT_RGXCREATEKICKSYNCCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXKICKSYNC_RGXDESTROYKICKSYNCCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXKICKSYNC, PVRSRV_BRIDGE_RGXKICKSYNC_RGXDESTROYKICKSYNCCONTEXT, PVRSRV_BRIDGE_IN_RGXDESTROYKICKSYNCCONTEXT, PVRSRV_BRIDGE_OUT_RGXDESTROYKICKSYNCCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXKICKSYNC_RGXKICKSYNC2(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXKICKSYNC, PVRSRV_BRIDGE_RGXKICKSYNC_RGXKICKSYNC2, PVRSRV_BRIDGE_IN_RGXKICKSYNC2, PVRSRV_BRIDGE_OUT_RGXKICKSYNC2]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXKICKSYNC_RGXSETKICKSYNCCONTEXTPROPERTY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXKICKSYNC, PVRSRV_BRIDGE_RGXKICKSYNC_RGXSETKICKSYNCCONTEXTPROPERTY, PVRSRV_BRIDGE_IN_RGXSETKICKSYNCCONTEXTPROPERTY, PVRSRV_BRIDGE_OUT_RGXSETKICKSYNCCONTEXTPROPERTY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXREGCONFIG_RGXADDREGCONFIG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXREGCONFIG, PVRSRV_BRIDGE_RGXREGCONFIG_RGXADDREGCONFIG, PVRSRV_BRIDGE_IN_RGXADDREGCONFIG, PVRSRV_BRIDGE_OUT_RGXADDREGCONFIG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXREGCONFIG_RGXCLEARREGCONFIG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXREGCONFIG, PVRSRV_BRIDGE_RGXREGCONFIG_RGXCLEARREGCONFIG, PVRSRV_BRIDGE_IN_RGXCLEARREGCONFIG, PVRSRV_BRIDGE_OUT_RGXCLEARREGCONFIG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXREGCONFIG_RGXDISABLEREGCONFIG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXREGCONFIG, PVRSRV_BRIDGE_RGXREGCONFIG_RGXDISABLEREGCONFIG, PVRSRV_BRIDGE_IN_RGXDISABLEREGCONFIG, PVRSRV_BRIDGE_OUT_RGXDISABLEREGCONFIG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXREGCONFIG_RGXENABLEREGCONFIG(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXREGCONFIG, PVRSRV_BRIDGE_RGXREGCONFIG_RGXENABLEREGCONFIG, PVRSRV_BRIDGE_IN_RGXENABLEREGCONFIG, PVRSRV_BRIDGE_OUT_RGXENABLEREGCONFIG]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXREGCONFIG_RGXSETREGCONFIGTYPE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXREGCONFIG, PVRSRV_BRIDGE_RGXREGCONFIG_RGXSETREGCONFIGTYPE, PVRSRV_BRIDGE_IN_RGXSETREGCONFIGTYPE, PVRSRV_BRIDGE_OUT_RGXSETREGCONFIGTYPE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXSIGNALS_RGXNOTIFYSIGNALUPDATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXSIGNALS, PVRSRV_BRIDGE_RGXSIGNALS_RGXNOTIFYSIGNALUPDATE, PVRSRV_BRIDGE_IN_RGXNOTIFYSIGNALUPDATE, PVRSRV_BRIDGE_OUT_RGXNOTIFYSIGNALUPDATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXCREATEFREELIST(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXCREATEFREELIST, PVRSRV_BRIDGE_IN_RGXCREATEFREELIST, PVRSRV_BRIDGE_OUT_RGXCREATEFREELIST]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXCREATEHWRTDATASET(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXCREATEHWRTDATASET, PVRSRV_BRIDGE_IN_RGXCREATEHWRTDATASET, PVRSRV_BRIDGE_OUT_RGXCREATEHWRTDATASET]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXCREATERENDERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXCREATERENDERCONTEXT, PVRSRV_BRIDGE_IN_RGXCREATERENDERCONTEXT, PVRSRV_BRIDGE_OUT_RGXCREATERENDERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXCREATEZSBUFFER(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXCREATEZSBUFFER, PVRSRV_BRIDGE_IN_RGXCREATEZSBUFFER, PVRSRV_BRIDGE_OUT_RGXCREATEZSBUFFER]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYFREELIST(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYFREELIST, PVRSRV_BRIDGE_IN_RGXDESTROYFREELIST, PVRSRV_BRIDGE_OUT_RGXDESTROYFREELIST]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYHWRTDATASET(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYHWRTDATASET, PVRSRV_BRIDGE_IN_RGXDESTROYHWRTDATASET, PVRSRV_BRIDGE_OUT_RGXDESTROYHWRTDATASET]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYRENDERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYRENDERCONTEXT, PVRSRV_BRIDGE_IN_RGXDESTROYRENDERCONTEXT, PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYZSBUFFER(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXDESTROYZSBUFFER, PVRSRV_BRIDGE_IN_RGXDESTROYZSBUFFER, PVRSRV_BRIDGE_OUT_RGXDESTROYZSBUFFER]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXGETLASTRENDERCONTEXTRESETREASON(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXGETLASTRENDERCONTEXTRESETREASON, PVRSRV_BRIDGE_IN_RGXGETLASTRENDERCONTEXTRESETREASON, PVRSRV_BRIDGE_OUT_RGXGETLASTRENDERCONTEXTRESETREASON]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXKICKTA3D2(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXKICKTA3D2, PVRSRV_BRIDGE_IN_RGXKICKTA3D2, PVRSRV_BRIDGE_OUT_RGXKICKTA3D2]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXPOPULATEZSBUFFER(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXPOPULATEZSBUFFER, PVRSRV_BRIDGE_IN_RGXPOPULATEZSBUFFER, PVRSRV_BRIDGE_OUT_RGXPOPULATEZSBUFFER]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXRENDERCONTEXTSTALLED(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXRENDERCONTEXTSTALLED, PVRSRV_BRIDGE_IN_RGXRENDERCONTEXTSTALLED, PVRSRV_BRIDGE_OUT_RGXRENDERCONTEXTSTALLED]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXSETRENDERCONTEXTPRIORITY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXSETRENDERCONTEXTPRIORITY, PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPRIORITY, PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPRIORITY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXSETRENDERCONTEXTPROPERTY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXSETRENDERCONTEXTPROPERTY, PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPROPERTY, PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPROPERTY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTA3D_RGXUNPOPULATEZSBUFFER(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTA3D, PVRSRV_BRIDGE_RGXTA3D_RGXUNPOPULATEZSBUFFER, PVRSRV_BRIDGE_IN_RGXUNPOPULATEZSBUFFER, PVRSRV_BRIDGE_OUT_RGXUNPOPULATEZSBUFFER]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ_RGXCREATETRANSFERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ, PVRSRV_BRIDGE_RGXTQ_RGXCREATETRANSFERCONTEXT, PVRSRV_BRIDGE_IN_RGXCREATETRANSFERCONTEXT, PVRSRV_BRIDGE_OUT_RGXCREATETRANSFERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ_RGXDESTROYTRANSFERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ, PVRSRV_BRIDGE_RGXTQ_RGXDESTROYTRANSFERCONTEXT, PVRSRV_BRIDGE_IN_RGXDESTROYTRANSFERCONTEXT, PVRSRV_BRIDGE_OUT_RGXDESTROYTRANSFERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ_RGXSETTRANSFERCONTEXTPRIORITY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ, PVRSRV_BRIDGE_RGXTQ_RGXSETTRANSFERCONTEXTPRIORITY, PVRSRV_BRIDGE_IN_RGXSETTRANSFERCONTEXTPRIORITY, PVRSRV_BRIDGE_OUT_RGXSETTRANSFERCONTEXTPRIORITY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ_RGXSETTRANSFERCONTEXTPROPERTY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ, PVRSRV_BRIDGE_RGXTQ_RGXSETTRANSFERCONTEXTPROPERTY, PVRSRV_BRIDGE_IN_RGXSETTRANSFERCONTEXTPROPERTY, PVRSRV_BRIDGE_OUT_RGXSETTRANSFERCONTEXTPROPERTY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ_RGXSUBMITTRANSFER2(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ, PVRSRV_BRIDGE_RGXTQ_RGXSUBMITTRANSFER2, PVRSRV_BRIDGE_IN_RGXSUBMITTRANSFER2, PVRSRV_BRIDGE_OUT_RGXSUBMITTRANSFER2]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMCREATETRANSFERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMCREATETRANSFERCONTEXT, PVRSRV_BRIDGE_IN_RGXTDMCREATETRANSFERCONTEXT, PVRSRV_BRIDGE_OUT_RGXTDMCREATETRANSFERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMDESTROYTRANSFERCONTEXT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMDESTROYTRANSFERCONTEXT, PVRSRV_BRIDGE_IN_RGXTDMDESTROYTRANSFERCONTEXT, PVRSRV_BRIDGE_OUT_RGXTDMDESTROYTRANSFERCONTEXT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMGETSHAREDMEMORY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMGETSHAREDMEMORY, PVRSRV_BRIDGE_IN_RGXTDMGETSHAREDMEMORY, PVRSRV_BRIDGE_OUT_RGXTDMGETSHAREDMEMORY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMNOTIFYWRITEOFFSETUPDATE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMNOTIFYWRITEOFFSETUPDATE, PVRSRV_BRIDGE_IN_RGXTDMNOTIFYWRITEOFFSETUPDATE, PVRSRV_BRIDGE_OUT_RGXTDMNOTIFYWRITEOFFSETUPDATE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMRELEASESHAREDMEMORY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMRELEASESHAREDMEMORY, PVRSRV_BRIDGE_IN_RGXTDMRELEASESHAREDMEMORY, PVRSRV_BRIDGE_OUT_RGXTDMRELEASESHAREDMEMORY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMSETTRANSFERCONTEXTPRIORITY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMSETTRANSFERCONTEXTPRIORITY, PVRSRV_BRIDGE_IN_RGXTDMSETTRANSFERCONTEXTPRIORITY, PVRSRV_BRIDGE_OUT_RGXTDMSETTRANSFERCONTEXTPRIORITY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMSETTRANSFERCONTEXTPROPERTY(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMSETTRANSFERCONTEXTPROPERTY, PVRSRV_BRIDGE_IN_RGXTDMSETTRANSFERCONTEXTPROPERTY, PVRSRV_BRIDGE_OUT_RGXTDMSETTRANSFERCONTEXTPROPERTY]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_RGXTQ2_RGXTDMSUBMITTRANSFER2(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_RGXTQ2, PVRSRV_BRIDGE_RGXTQ2_RGXTDMSUBMITTRANSFER2, PVRSRV_BRIDGE_IN_RGXTDMSUBMITTRANSFER2, PVRSRV_BRIDGE_OUT_RGXTDMSUBMITTRANSFER2]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_ACQUIREGLOBALEVENTOBJECT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_ACQUIREGLOBALEVENTOBJECT, PVRSRV_BRIDGE_IN_ACQUIREGLOBALEVENTOBJECT, PVRSRV_BRIDGE_OUT_ACQUIREGLOBALEVENTOBJECT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_ACQUIREINFOPAGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_ACQUIREINFOPAGE, PVRSRV_BRIDGE_IN_ACQUIREINFOPAGE, PVRSRV_BRIDGE_OUT_ACQUIREINFOPAGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_ALIGNMENTCHECK(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_ALIGNMENTCHECK, PVRSRV_BRIDGE_IN_ALIGNMENTCHECK, PVRSRV_BRIDGE_OUT_ALIGNMENTCHECK]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_CONNECT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_CONNECT, PVRSRV_BRIDGE_IN_CONNECT, PVRSRV_BRIDGE_OUT_CONNECT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_DISCONNECT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_DISCONNECT, PVRSRV_BRIDGE_IN_DISCONNECT, PVRSRV_BRIDGE_OUT_DISCONNECT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_DUMPDEBUGINFO(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_DUMPDEBUGINFO, PVRSRV_BRIDGE_IN_DUMPDEBUGINFO, PVRSRV_BRIDGE_OUT_DUMPDEBUGINFO]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTCLOSE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTCLOSE, PVRSRV_BRIDGE_IN_EVENTOBJECTCLOSE, PVRSRV_BRIDGE_OUT_EVENTOBJECTCLOSE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTOPEN(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTOPEN, PVRSRV_BRIDGE_IN_EVENTOBJECTOPEN, PVRSRV_BRIDGE_OUT_EVENTOBJECTOPEN]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTWAIT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTWAIT, PVRSRV_BRIDGE_IN_EVENTOBJECTWAIT, PVRSRV_BRIDGE_OUT_EVENTOBJECTWAIT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTWAITTIMEOUT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_EVENTOBJECTWAITTIMEOUT, PVRSRV_BRIDGE_IN_EVENTOBJECTWAITTIMEOUT, PVRSRV_BRIDGE_OUT_EVENTOBJECTWAITTIMEOUT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_FINDPROCESSMEMSTATS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_FINDPROCESSMEMSTATS, PVRSRV_BRIDGE_IN_FINDPROCESSMEMSTATS, PVRSRV_BRIDGE_OUT_FINDPROCESSMEMSTATS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_GETDEVCLOCKSPEED(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_GETDEVCLOCKSPEED, PVRSRV_BRIDGE_IN_GETDEVCLOCKSPEED, PVRSRV_BRIDGE_OUT_GETDEVCLOCKSPEED]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_GETDEVICESTATUS(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_GETDEVICESTATUS, PVRSRV_BRIDGE_IN_GETDEVICESTATUS, PVRSRV_BRIDGE_OUT_GETDEVICESTATUS]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_GETMULTICOREINFO(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_GETMULTICOREINFO, PVRSRV_BRIDGE_IN_GETMULTICOREINFO, PVRSRV_BRIDGE_OUT_GETMULTICOREINFO]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_HWOPTIMEOUT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_HWOPTIMEOUT, PVRSRV_BRIDGE_IN_HWOPTIMEOUT, PVRSRV_BRIDGE_OUT_HWOPTIMEOUT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_RELEASEGLOBALEVENTOBJECT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_RELEASEGLOBALEVENTOBJECT, PVRSRV_BRIDGE_IN_RELEASEGLOBALEVENTOBJECT, PVRSRV_BRIDGE_OUT_RELEASEGLOBALEVENTOBJECT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SRVCORE_RELEASEINFOPAGE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SRVCORE, PVRSRV_BRIDGE_SRVCORE_RELEASEINFOPAGE, PVRSRV_BRIDGE_IN_RELEASEINFOPAGE, PVRSRV_BRIDGE_OUT_RELEASEINFOPAGE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_ALLOCSYNCPRIMITIVEBLOCK(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_ALLOCSYNCPRIMITIVEBLOCK, PVRSRV_BRIDGE_IN_ALLOCSYNCPRIMITIVEBLOCK, PVRSRV_BRIDGE_OUT_ALLOCSYNCPRIMITIVEBLOCK]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_FREESYNCPRIMITIVEBLOCK(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_FREESYNCPRIMITIVEBLOCK, PVRSRV_BRIDGE_IN_FREESYNCPRIMITIVEBLOCK, PVRSRV_BRIDGE_OUT_FREESYNCPRIMITIVEBLOCK]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCALLOCEVENT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCALLOCEVENT, PVRSRV_BRIDGE_IN_SYNCALLOCEVENT, PVRSRV_BRIDGE_OUT_SYNCALLOCEVENT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCCHECKPOINTSIGNALLEDPDUMPPOL(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCCHECKPOINTSIGNALLEDPDUMPPOL, PVRSRV_BRIDGE_IN_SYNCCHECKPOINTSIGNALLEDPDUMPPOL, PVRSRV_BRIDGE_OUT_SYNCCHECKPOINTSIGNALLEDPDUMPPOL]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCFREEEVENT(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCFREEEVENT, PVRSRV_BRIDGE_IN_SYNCFREEEVENT, PVRSRV_BRIDGE_OUT_SYNCFREEEVENT]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMP(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMP, PVRSRV_BRIDGE_IN_SYNCPRIMPDUMP, PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMP]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPCBP(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPCBP, PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPCBP, PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPCBP]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPPOL(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPPOL, PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPPOL, PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPPOL]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPVALUE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCPRIMPDUMPVALUE, PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPVALUE, PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPVALUE]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNC_SYNCPRIMSET(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNC, PVRSRV_BRIDGE_SYNC_SYNCPRIMSET, PVRSRV_BRIDGE_IN_SYNCPRIMSET, PVRSRV_BRIDGE_OUT_SYNCPRIMSET]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNCTRACKING_SYNCRECORDADD(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNCTRACKING, PVRSRV_BRIDGE_SYNCTRACKING_SYNCRECORDADD, PVRSRV_BRIDGE_IN_SYNCRECORDADD, PVRSRV_BRIDGE_OUT_SYNCRECORDADD]])
ioctl$DRM_IOCTL_PVR_SRVKM_CMD_PVRSRV_BRIDGE_SYNCTRACKING_SYNCRECORDREMOVEBYHANDLE(fd fd_rogue, cmd const[DRM_IOCTL_PVR_SRVKM_CMD], arg ptr[inout, drm_pvr_srvkm_cmd[PVRSRV_BRIDGE_SYNCTRACKING, PVRSRV_BRIDGE_SYNCTRACKING_SYNCRECORDREMOVEBYHANDLE, PVRSRV_BRIDGE_IN_SYNCRECORDREMOVEBYHANDLE, PVRSRV_BRIDGE_OUT_SYNCRECORDREMOVEBYHANDLE]])

type drm_pvr_srvkm_cmd[BRIDGE_ID, BRIDGE_FUNC_ID, IN_DATA, OUT_DATA] {
	bridge_id	const[BRIDGE_ID, int32]
	bridge_func_id	const[BRIDGE_FUNC_ID, int32]
	in_data_ptr	ptr64[in, IN_DATA]
	out_data_ptr	ptr64[out, OUT_DATA]
	in_data_size	len[in_data_ptr, int32]
	out_data_size	len[out_data_ptr, int32]
}

PVRSRV_BRIDGE_IN_CACHEOPEXEC {
	hPMR		IMG_HANDLE
	ui64Address	int64
	uiOffset	int64
	uiSize		int64
	iuCacheOp	flags[PVRSRV_CACHE_OP, int32]
} [packed]

PVRSRV_BRIDGE_OUT_CACHEOPEXEC {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_CACHEOPLOG {
	hPMR			IMG_HANDLE
	ui64Address		int64
	uiOffset		int64
	uiSize			int64
	i64QueuedTimeUs		int64
	i64ExecuteTimeUs	int64
	i32NumRBF		int32
	iuCacheOp		flags[PVRSRV_CACHE_OP, int32]
} [packed]

PVRSRV_BRIDGE_OUT_CACHEOPLOG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_CACHEOPQUEUE {
	ui32NumCacheOps		len[phPMR, int32]
	phPMR			ptr[in, array[IMG_HANDLE]]
	pui64Address		ptr[in, array[int64]]
	puiOffset		ptr[in, array[int64]]
	puiSize			ptr[in, array[int64]]
	piuCacheOp		ptr[in, array[flags[PVRSRV_CACHE_OP, int32]]]
	ui32OpTimeline		int32
	ui32CurrentFenceSeqNum	int32
} [packed]

PVRSRV_BRIDGE_OUT_CACHEOPQUEUE {
	ui32NextFenceSeqNum	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTACQUIREREMOTECTX {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTACQUIREREMOTECTX {
	hContext	IMG_HANDLE
	hPrivData	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTEXPORTCTX {
	hContext	IMG_HANDLE
	hPMR		IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTEXPORTCTX {
	hContextExport	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNEXPORTCTX {
	hContextExport	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNEXPORTCTX {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYMAP {
	hPMR			IMG_HANDLE
	uiOffset		int64
	sDevVAddr		IMG_DEV_VIRTADDR
	uiSize			int64
	puiText			ptr[in, array[int8]]
	ui32Log2PageSize	int32
	ui32AllocationIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYMAP {
	ui32AllocationIndexOut	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYMAPVRANGE {
	sBaseDevVAddr		IMG_DEV_VIRTADDR
	ui32ui32StartPage	int32
	ui32NumPages		int32
	uiAllocSize		int64
	puiText			ptr[in, array[int8]]
	ui32Log2PageSize	int32
	ui32AllocationIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYMAPVRANGE {
	ui32AllocationIndexOut	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYSPARSECHANGE {
	hPMR			IMG_HANDLE
	uiOffset		int64
	sDevVAddr		IMG_DEV_VIRTADDR
	uiSize			int64
	puiText			ptr[in, array[int8]]
	ui32Log2PageSize	int32
	ui32AllocPageCount	len[pui32AllocPageIndices, int32]
	pui32AllocPageIndices	ptr[in, array[int32]]
	ui32FreePageCount	len[pui32FreePageIndices, int32]
	pui32FreePageIndices	ptr[in, array[int32]]
	ui32AllocationIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYSPARSECHANGE {
	ui32AllocationIndexOut	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYUNMAP {
	hPMR			IMG_HANDLE
	uiOffset		int64
	sDevVAddr		IMG_DEV_VIRTADDR
	uiSize			int64
	puiText			ptr[in, array[int8]]
	ui32Log2PageSize	int32
	ui32AllocationIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYUNMAP {
	ui32AllocationIndexOut	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVICEMEMHISTORYUNMAPVRANGE {
	sBaseDevVAddr		IMG_DEV_VIRTADDR
	ui32ui32StartPage	int32
	ui32NumPages		int32
	uiAllocSize		int64
	puiText			ptr[in, array[int8]]
	ui32Log2PageSize	int32
	ui32AllocationIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVICEMEMHISTORYUNMAPVRANGE {
	ui32AllocationIndexOut	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_PHYSMEMEXPORTDMABUF {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PHYSMEMEXPORTDMABUF {
	iFd	int32
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PHYSMEMIMPORTDMABUF {
	ifd		int32
	uiFlags		flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	ui32NameSize	len[puiName, int32]
	puiName		ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_PHYSMEMIMPORTDMABUF {
	hPMRPtr	IMG_HANDLE
	uiSize	int64
	sAlign	int64
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PHYSMEMIMPORTSPARSEDMABUF {
	ifd			int32
	uiFlags			flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	uiChunkSize		int64
	ui32NumPhysChunks	len[pui32MappingTable, int32]
	ui32NumVirtChunks	int32
	pui32MappingTable	ptr[in, array[int32]]
	ui32NameSize		len[puiName, int32]
	puiName			ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_PHYSMEMIMPORTSPARSEDMABUF {
	hPMRPtr	IMG_HANDLE
	uiSize	int64
	sAlign	int64
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_HTBCONTROL {
	ui32NumGroups		len[pui32GroupEnable, int32]
	pui32GroupEnable	ptr[in, array[int32]]
	ui32LogLevel		int32
	ui32EnablePID		int32
	ui32LogMode		int32
	ui32OpMode		int32
} [packed]

PVRSRV_BRIDGE_OUT_HTBCONTROL {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_HTBLOG {
	ui32PID		int32
	ui64TimeStamp	int64
	ui32SF		int32
	ui32NumArgs	len[pui32Args, int32]
	pui32Args	ptr[in, array[int32]]
} [packed]

PVRSRV_BRIDGE_OUT_HTBLOG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_CHANGESPARSEMEM {
	hSrvDevMemHeap		IMG_HANDLE
	hPMR			IMG_HANDLE
	ui32AllocPageCount	len[pui32AllocPageIndices, int32]
	pui32AllocPageIndices	ptr[in, array[int32]]
	ui32FreePageCount	len[pui32FreePageIndices, int32]
	pui32FreePageIndices	ptr[in, array[int32]]
	ui32SparseFlags		int32
	uiFlags			flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	sDevVAddr		IMG_DEV_VIRTADDR
	ui64CPUVAddr		int64
} [packed]

PVRSRV_BRIDGE_OUT_CHANGESPARSEMEM {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMFLUSHDEVSLCRANGE {
	hDevmemCtx	IMG_HANDLE
	sAddress	IMG_DEV_VIRTADDR
	uiSize		int64
	bInvalidate	bool32
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMFLUSHDEVSLCRANGE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMGETFAULTADDRESS {
	hDevmemCtx	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMGETFAULTADDRESS {
	sFaultAddress	IMG_DEV_VIRTADDR
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTCTXCREATE {
	bbKernelMemoryCtx	bool32
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTCTXCREATE {
	hDevMemServerContext	IMG_HANDLE
	hPrivData		IMG_HANDLE
	ui32CPUCacheLineSize	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTCTXDESTROY {
	hDevmemServerContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTCTXDESTROY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTHEAPCREATE {
	hDevmemCtx		IMG_HANDLE
	sHeapBaseAddr		IMG_DEV_VIRTADDR
	uiHeapLength		int64
	ui32Log2DataPageSize	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTHEAPCREATE {
	hDevmemHeapPtr	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTHEAPDESTROY {
	hDevmemHeap	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTHEAPDESTROY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTMAPPAGES {
	hReservation		IMG_HANDLE
	hPMR			IMG_HANDLE
	ui32PageCount		int32
	ui32PhysicalPgOffset	int32
	uiFlags			flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	sDevVAddr		IMG_DEV_VIRTADDR
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTMAPPAGES {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTMAPPMR {
	hDevmemServerHeap	IMG_HANDLE
	hReservation		IMG_HANDLE
	hPMR			IMG_HANDLE
	uiMapFlags		flags[PVRSRV_MEMALLOCFLAGS_T, int32]
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTMAPPMR {
	hMapping	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTPIN {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTPIN {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTPINVALIDATE {
	hMapping	IMG_HANDLE
	hPMR		IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTPINVALIDATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTREGISTERPFNOTIFYKM {
	hDevmemCtx	IMG_HANDLE
	ui32PID		int32
	bRegister	bool32
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTREGISTERPFNOTIFYKM {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTRESERVERANGE {
	hDevmemServerHeap	IMG_HANDLE
	sAddress		IMG_DEV_VIRTADDR
	uiLength		int64
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTRESERVERANGE {
	hReservation	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNMAPPAGES {
	hReservation	IMG_HANDLE
	sDevVAddr	IMG_DEV_VIRTADDR
	ui32PageCount	int32
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNMAPPAGES {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNMAPPMR {
	hMapping	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNMAPPMR {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNPIN {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNPIN {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNPININVALIDATE {
	hMapping	IMG_HANDLE
	hPMR		IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNPININVALIDATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINTUNRESERVERANGE {
	hReservation	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINTUNRESERVERANGE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMINVALIDATEFBSCTABLE {
	hDevmemCtx	IMG_HANDLE
	ui64FBSCEntries	int64
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMINVALIDATEFBSCTABLE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DEVMEMISVDEVADDRVALID {
	hDevmemCtx	IMG_HANDLE
	sAddress	IMG_DEV_VIRTADDR
} [packed]

PVRSRV_BRIDGE_OUT_DEVMEMISVDEVADDRVALID {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_GETMAXDEVMEMSIZE {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_GETMAXDEVMEMSIZE {
	uiLMASize	int64
	uiUMASize	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_HEAPCFGHEAPCONFIGCOUNT {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCONFIGCOUNT {
	ui32NumHeapConfigs	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_HEAPCFGHEAPCONFIGNAME {
	ui32HeapConfigIndex	int32
	ui32HeapConfigNameBufSz	len[puiHeapConfigName, int32]
	puiHeapConfigName	ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCONFIGNAME {
	puiHeapConfigName	ptr[out, array[int8]]
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_HEAPCFGHEAPCOUNT {
	ui32HeapConfigIndex	int32
} [packed]

PVRSRV_BRIDGE_OUT_HEAPCFGHEAPCOUNT {
	ui32NumHeaps	int32
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_HEAPCFGHEAPDETAILS {
	ui32HeapConfigIndex	int32
	ui32HeapIndex		int32
	ui32HeapNameBufSz	len[puiHeapNameOut, int32]
	puiHeapNameOut		ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_HEAPCFGHEAPDETAILS {
	puiHeapNameOut			ptr[out, array[int8]]
	sDevVAddrBase			IMG_DEV_VIRTADDR
	uiHeapLength			int64
	uiReservedRegionLength		int64
	ui32Log2DataPageSizeOut		int32
	ui32Log2ImportAlignmentOut	int32
	eError				int32
} [packed]

PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDLOCKEDPMR {
	uiSize			int64
	uiChunkSize		int64
	ui32NumPhysChunks	int32
	ui32NumVirtChunks	len[pui32MappingTable, int32]
	pui32MappingTable	ptr[in, array[int32]]
	ui32Log2PageSize	int32
	uiFlags			flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	ui32AnnotationLength	len[puiAnnotation, int32]
	puiAnnotation		ptr[in, array[int8]]
	ui32PID			int32
	ui32PDumpFlags		flags[PDUMP_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_PHYSMEMNEWRAMBACKEDLOCKEDPMR {
	hPMRPtr	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PHYSMEMNEWRAMBACKEDPMR {
	uiSize			int64
	uiChunkSize		int64
	ui32NumPhysChunks	len[pui32MappingTable, int32]
	ui32NumVirtChunks	int32
	pui32MappingTable	ptr[in, array[int32]]
	ui32Log2PageSize	int32
	uiFlags			flags[PVRSRV_MEMALLOCFLAGS_T, int32]
	ui32AnnotationLength	len[puiAnnotation, int32]
	puiAnnotation		ptr[in, array[int8]]
	ui32PID			int32
	ui32PDumpFlags		flags[PDUMP_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_PHYSMEMNEWRAMBACKEDPMR {
	hPMRPtr	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMREXPORTPMR {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMREXPORTPMR {
	hPMRExport	IMG_HANDLE
	ui64Size	int64
	ui32Log2Contig	int32
	ui64Password	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_PMRGETUID {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRGETUID {
	ui64UID	int64
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRIMPORTPMR {
	hPMRExport		IMG_HANDLE
	ui64uiPassword		int64
	ui64uiSize		int64
	ui32uiLog2Contig	int32
} [packed]

PVRSRV_BRIDGE_OUT_PMRIMPORTPMR {
	hPMR	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRLOCALIMPORTPMR {
	hExtHandle	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRLOCALIMPORTPMR {
	hPMR	IMG_HANDLE
	uiSize	int64
	sAlign	int64
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRMAKELOCALIMPORTHANDLE {
	hBuffer	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRMAKELOCALIMPORTHANDLE {
	hExtMem	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRUNEXPORTPMR {
	hPMRExport	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRUNEXPORTPMR {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRUNMAKELOCALIMPORTHANDLE {
	hExtMem	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRUNMAKELOCALIMPORTHANDLE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRUNREFPMR {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRUNREFPMR {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PMRUNREFUNLOCKPMR {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_PMRUNREFUNLOCKPMR {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_PVRSRVUPDATEOOMSTATS {
	ui32ui32StatType	int32
	ui32pid			int32
} [packed]

PVRSRV_BRIDGE_OUT_PVRSRVUPDATEOOMSTATS {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_TLACQUIREDATA {
	hSD	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_TLACQUIREDATA {
	ui32ReadOffset	int32
	ui32ReadLen	int32
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_TLCLOSESTREAM {
	hSD	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_TLCLOSESTREAM {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_TLCOMMITSTREAM {
	hSD		IMG_HANDLE
	ui32ReqSize	int32
} [packed]

PVRSRV_BRIDGE_OUT_TLCOMMITSTREAM {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_TLDISCOVERSTREAMS {
	puiNamePattern	ptr[in, array[int8]]
	ui32Size	len[puiStreams, int32]
	puiStreams	ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_TLDISCOVERSTREAMS {
	puiStreams	ptr[out, array[int8]]
	ui32NumFound	int32
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_TLOPENSTREAM {
	puiName		ptr[in, array[int8]]
	ui32Mode	int32
} [packed]

PVRSRV_BRIDGE_OUT_TLOPENSTREAM {
	hSD	IMG_HANDLE
	hTLPMR	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_TLRELEASEDATA {
	hSD		IMG_HANDLE
	ui32ReadOffset	int32
	ui32ReadLen	int32
} [packed]

PVRSRV_BRIDGE_OUT_TLRELEASEDATA {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_TLRESERVESTREAM {
	hSD		IMG_HANDLE
	ui32Size	int32
	ui32SizeMin	int32
} [packed]

PVRSRV_BRIDGE_OUT_TLRESERVESTREAM {
	ui32BufferOffset	int32
	ui32Available		int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_TLWRITEDATA {
	hSD		IMG_HANDLE
	ui32Size	len[psData, int32]
	psData		ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_TLWRITEDATA {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCLEARBREAKPOINT {
	hPrivData	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXCLEARBREAKPOINT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDISABLEBREAKPOINT {
	hPrivData	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDISABLEBREAKPOINT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXENABLEBREAKPOINT {
	hPrivData	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXENABLEBREAKPOINT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXOVERALLOCATEBPREGISTERS {
	ui32TempRegs	int32
	ui32SharedRegs	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXOVERALLOCATEBPREGISTERS {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETBREAKPOINT {
	hPrivData		IMG_HANDLE
	eFWDataMaster		int32
	ui32BreakpointAddr	int32
	ui32HandlerAddr		int32
	ui32DM			int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETBREAKPOINT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATECOMPUTECONTEXT {
	ui32Priority				int32
	ui32FrameworkCmdize			len[psFrameworkCmd, int32]
	psFrameworkCmd				ptr[in, array[int8]]
	hPrivData				IMG_HANDLE
	ui32StaticComputeContextStateSize	len[psStaticComputeContextState, int32]
	psStaticComputeContextState		ptr[in, array[int8]]
	ui32PackedCCBSizeU88			int32
	ui32ContextFlags			flags[RGX_CONTEXT_FLAGS, int32]
	ui64RobustnessAddress			int64
	ui32MaxDeadlineMS			int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATECOMPUTECONTEXT {
	hComputeContext	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYCOMPUTECONTEXT {
	hComputeContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYCOMPUTECONTEXT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFLUSHCOMPUTEDATA {
	hComputeContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXFLUSHCOMPUTEDATA {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXGETLASTCOMPUTECONTEXTRESETREASON {
	hComputeContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXGETLASTCOMPUTECONTEXTRESETREASON {
	ui32LastResetReason	int32
	ui32LastResetJobRef	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_RGXKICKCDM2 {
	hComputeContext			IMG_HANDLE
	ui32ClientCacheOpSeqNum		int32
	ui32ClientUpdateCount		len[phClientUpdateUFOSyncPrimBlock, int32]
	phClientUpdateUFOSyncPrimBlock	ptr[in, array[IMG_HANDLE]]
	pui32ClientUpdateOffset		ptr[in, array[int32]]
	pui32ClientUpdateValue		ptr[in, array[int32]]
	hCheckFenceFd			PVRSRV_FENCE
	hUpdateTimeline			PVRSRV_TIMELINE
	puiUpdateFenceName		ptr[in, array[int8]]
	ui32CmdSize			len[psDMCmd, int32]
	psDMCmd				ptr[in, array[int8]]
	ui32PDumpFlags			flags[PDUMP_FLAGS, int32]
	ui32ExtJobRef			int32
	ui32NumOfWorkgroups		int32
	ui32NumOfWorkitems		int32
	ui64DeadlineInus		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXKICKCDM2 {
	hUpdateFence	PVRSRV_FENCE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE {
	hComputeContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXNOTIFYCOMPUTEWRITEOFFSETUPDATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETCOMPUTECONTEXTPRIORITY {
	hComputeContext	IMG_HANDLE
	ui32Priority	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETCOMPUTECONTEXTPRIORITY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETCOMPUTECONTEXTPROPERTY {
	hComputeContext	IMG_HANDLE
	ui32Property	int32
	ui64Input	int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETCOMPUTECONTEXTPROPERTY {
	ui64Output	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCURRENTTIME {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCURRENTTIME {
	ui64Time	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGDUMPFREELISTPAGELIST {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGDUMPFREELISTPAGELIST {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGPHRCONFIGURE {
	ui32ui32PHRMode	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGPHRCONFIGURE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGSETFWLOG {
	ui32RGXFWLogType	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETFWLOG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGSETHCSDEADLINE {
	ui32RGXHCSDeadline	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETHCSDEADLINE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGSETOSIDPRIORITY {
	ui32OSid	int32
	ui32Priority	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETOSIDPRIORITY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXFWDEBUGSETOSNEWONLINESTATE {
	ui32OSid	int32
	ui32OSNewState	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXFWDEBUGSETOSNEWONLINESTATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCONFIGCUSTOMCOUNTERS {
	ui16CustomBlockID	int16
	ui16NumCustomCounters	len[pui32CustomCounterIDs, int16]
	pui32CustomCounterIDs	ptr[in, array[int32]]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCONFIGCUSTOMCOUNTERS {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCONFIGENABLEHWPERFCOUNTERS {
	ui32ArrayLen	len[psBlockConfigs, int32]
	psBlockConfigs	ptr[in, array[RGX_HWPERF_CONFIG_CNTBLK]]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCONFIGENABLEHWPERFCOUNTERS {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCTRLHWPERF {
	ui32StreamId	int32
	bToggle		bool32
	ui64Mask	int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXCTRLHWPERF {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCTRLHWPERFCOUNTERS {
	bEnable		bool32
	ui32ArrayLen	len[pui16BlockIDs, int32]
	pui16BlockIDs	ptr[in, array[int16]]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCTRLHWPERFCOUNTERS {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXGETHWPERFBVNCFEATUREFLAGS {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXGETHWPERFBVNCFEATUREFLAGS {
	sBVNC	RGX_HWPERF_BVNC
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATEKICKSYNCCONTEXT {
	hPrivData		IMG_HANDLE
	ui32PackedCCBSizeU88	int32
	ui32ContextFlags	flags[RGX_CONTEXT_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATEKICKSYNCCONTEXT {
	hKickSyncContext	IMG_HANDLE
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYKICKSYNCCONTEXT {
	hKickSyncContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYKICKSYNCCONTEXT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXKICKSYNC2 {
	hKickSyncContext	IMG_HANDLE
	ui32ClientCacheOpSeqNum	int32
	ui32ClientUpdateCount	len[phUpdateUFODevVarBlock, int32]
	phUpdateUFODevVarBlock	ptr[in, array[IMG_HANDLE]]
	pui32UpdateDevVarOffset	ptr[in, array[int32]]
	pui32UpdateValue	ptr[in, array[int32]]
	hCheckFenceFD		PVRSRV_FENCE
	hTimelineFenceFD	PVRSRV_TIMELINE
	puiUpdateFenceName	ptr[in, array[int8]]
	ui32ExtJobRef		int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXKICKSYNC2 {
	hUpdateFenceFD	PVRSRV_FENCE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETKICKSYNCCONTEXTPROPERTY {
	hKickSyncContext	IMG_HANDLE
	ui32Property		int32
	ui64Input		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETKICKSYNCCONTEXTPROPERTY {
	ui64Output	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXADDREGCONFIG {
	ui32RegAddr	int32
	ui64RegValue	int64
	ui64RegMask	int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXADDREGCONFIG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCLEARREGCONFIG {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCLEARREGCONFIG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDISABLEREGCONFIG {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXDISABLEREGCONFIG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXENABLEREGCONFIG {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXENABLEREGCONFIG {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETREGCONFIGTYPE {
	ui8RegPowerIsland	int8
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETREGCONFIGTYPE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXNOTIFYSIGNALUPDATE {
	hPrivData		IMG_HANDLE
	sDevSignalAddress	IMG_DEV_VIRTADDR
} [packed]

PVRSRV_BRIDGE_OUT_RGXNOTIFYSIGNALUPDATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATEFREELIST {
	hMemCtxPrivData		IMG_HANDLE
	ui32MaxFLPages		int32
	ui32InitFLPages		int32
	ui32GrowFLPages		int32
	ui32GrowParamThreshold	int32
	hsGlobalFreeList	IMG_HANDLE
	bbFreeListCheck		bool32
	spsFreeListDevVAddr	IMG_DEV_VIRTADDR
	hsFreeListPMR		IMG_HANDLE
	uiPMROffset		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATEFREELIST {
	hCleanupCookie	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATEHWRTDATASET {
	ssVHeapTableDevVAddr		IMG_DEV_VIRTADDR
	sPMMlistDevVAddr0		IMG_DEV_VIRTADDR
	sPMMlistDevVAddr1		IMG_DEV_VIRTADDR
	phapsFreeLists			ptr[in, array[IMG_HANDLE]]
	ui32PPPScreen			int32
	ui64MultiSampleCtl		int64
	ui64FlippedMultiSampleCtl	int64
	ui32TPCStride			int32
	sTailPtrsDevVAddr		IMG_DEV_VIRTADDR
	ui32TPCSize			int32
	ui32TEScreen			int32
	ui32TEAA			int32
	ui32TEMTILE1			int32
	ui32TEMTILE2			int32
	ui32MTileStride			int32
	ui32ui32ISPMergeLowerX		int32
	ui32ui32ISPMergeLowerY		int32
	ui32ui32ISPMergeUpperX		int32
	ui32ui32ISPMergeUpperY		int32
	ui32ui32ISPMergeScaleX		int32
	ui32ui32ISPMergeScaleY		int32
	ssMacrotileArrayDevVAddr0	IMG_DEV_VIRTADDR
	ssMacrotileArrayDevVAddr1	IMG_DEV_VIRTADDR
	ssRgnHeaderDevVAddr0		IMG_DEV_VIRTADDR
	ssRgnHeaderDevVAddr1		IMG_DEV_VIRTADDR
	ssRTCDevVAddr			IMG_DEV_VIRTADDR
	ui64uiRgnHeaderSize		int64
	ui32ui32ISPMtileSize		int32
	ui16MaxRTs			int16
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATEHWRTDATASET {
	hKmHwRTDataSet0	IMG_HANDLE
	hKmHwRTDataSet1	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATERENDERCONTEXT {
	ui32Priority				int32
	sVDMCallStackAddr			IMG_DEV_VIRTADDR
	ui32FrameworkCmdSize			len[psFrameworkCmd, int32]
	psFrameworkCmd				ptr[in, array[int8]]
	hPrivData				IMG_HANDLE
	ui32StaticRenderContextStateSize	len[psStaticRenderContextState, int32]
	psStaticRenderContextState		ptr[in, array[int8]]
	ui32PackedCCBSizeU8888			int32
	ui32ContextFlags			flags[RGX_CONTEXT_FLAGS, int32]
	ui64RobustnessAddress			int64
	ui32MaxTADeadlineMS			int32
	ui32Max3DDeadlineMS			int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATERENDERCONTEXT {
	hRenderContext	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATEZSBUFFER {
	hReservation	IMG_HANDLE
	hPMR		IMG_HANDLE
	uiMapFlags	flags[PVRSRV_MEMALLOCFLAGS_T, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATEZSBUFFER {
	hsZSBufferKM	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYFREELIST {
	hCleanupCookie	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYFREELIST {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYHWRTDATASET {
	hKmHwRTDataSet	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYHWRTDATASET {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYRENDERCONTEXT {
	hCleanupCookie	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYRENDERCONTEXT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYZSBUFFER {
	hsZSBufferMemDesc	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYZSBUFFER {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXGETLASTRENDERCONTEXTRESETREASON {
	hRenderContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXGETLASTRENDERCONTEXTRESETREASON {
	ui32LastResetReason	int32
	ui32LastResetJobRef	int32
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_RGXKICKTA3D2 {
	hRenderContext			IMG_HANDLE
	ui32ClientCacheOpSeqNum		int32
	ui32ClientTAFenceCount		len[phClientTAFenceSyncPrimBlock, int32]
	phClientTAFenceSyncPrimBlock	ptr[in, array[IMG_HANDLE]]
	pui32ClientTAFenceSyncOffset	ptr[in, array[int32]]
	pui32ClientTAFenceValue		ptr[in, array[int32]]
	ui32ClientTAUpdateCount		len[phClientTAUpdateSyncPrimBlock, int32]
	phClientTAUpdateSyncPrimBlock	ptr[in, array[IMG_HANDLE]]
	pui32ClientTAUpdateSyncOffset	ptr[in, array[int32]]
	pui32ClientTAUpdateValue	ptr[in, array[int32]]
	ui32Client3DUpdateCount		len[phClient3DUpdateSyncPrimBlock, int32]
	phClient3DUpdateSyncPrimBlock	ptr[in, array[IMG_HANDLE]]
	pui32Client3DUpdateSyncOffset	ptr[in, array[int32]]
	pui32Client3DUpdateValue	ptr[in, array[int32]]
	hPRFenceUFOSyncPrimBlock	IMG_HANDLE
	ui32FRFenceUFOSyncOffset	int32
	ui32FRFenceValue		int32
	hCheckFence			PVRSRV_FENCE
	hUpdateTimeline			PVRSRV_TIMELINE
	puiUpdateFenceName		ptr[in, array[int8]]
	hCheckFence3D			PVRSRV_FENCE
	hUpdateTimeline3D		PVRSRV_TIMELINE
	puiUpdateFenceName3D		ptr[in, array[int8]]
	ui32TACmdSize			len[psTACmd, int32]
	psTACmd				ptr[in, array[int8]]
	ui323DPRCmdSize			len[ps3DPRCmd, int32]
	ps3DPRCmd			ptr[in, array[int8]]
	ui323DCmdSize			len[ps3DCmd, int32]
	ps3DCmd				ptr[in, array[int8]]
	ui32ExtJobRef			int32
	bbKickTA			bool32
	bbKickPR			bool32
	bbKick3D			bool32
	bbAbort				bool32
	ui32PDumpFlags			flags[PDUMP_FLAGS, int32]
	hKMHWRTDataSet			IMG_HANDLE
	hZSBuffer			IMG_HANDLE
	hMSAAScratchBuffer		IMG_HANDLE
	ui32SyncPMRCount		len[pui32SyncPMRFlags, int32]
	pui32SyncPMRFlags		ptr[in, array[int32]]
	phSyncPMRs			ptr[in, array[IMG_HANDLE]]
	ui32RenderTargetSize		int32
	ui32NumberOfDrawCalls		int32
	ui32NumberOfIndices		int32
	ui32NumberOfMRTs		int32
	ui64Deadline			int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXKICKTA3D2 {
	hUpdateFence	PVRSRV_FENCE
	hUpdateFence3D	PVRSRV_FENCE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXPOPULATEZSBUFFER {
	hsZSBufferKM	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXPOPULATEZSBUFFER {
	hsPopulation	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXRENDERCONTEXTSTALLED {
	hRenderContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXRENDERCONTEXTSTALLED {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPRIORITY {
	hRenderContext	IMG_HANDLE
	ui32Priority	int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPRIORITY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETRENDERCONTEXTPROPERTY {
	hRenderContext	IMG_HANDLE
	ui32Property	int32
	ui64Input	int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETRENDERCONTEXTPROPERTY {
	ui64Output	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXUNPOPULATEZSBUFFER {
	hsPopulation	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXUNPOPULATEZSBUFFER {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXCREATETRANSFERCONTEXT {
	ui32Priority		int32
	ui32FrameworkCmdize	len[psFrameworkCmd, int32]
	psFrameworkCmd		ptr[in, array[int8]]
	hPrivData		IMG_HANDLE
	ui32PackedCCBSizeU8888	int32
	ui32ContextFlags	flags[RGX_CONTEXT_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXCREATETRANSFERCONTEXT {
	hTransferContext	IMG_HANDLE
	hCLIPMRMem		IMG_HANDLE
	hUSCPMRMem		IMG_HANDLE
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_RGXDESTROYTRANSFERCONTEXT {
	hTransferContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXDESTROYTRANSFERCONTEXT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETTRANSFERCONTEXTPRIORITY {
	hTransferContext	IMG_HANDLE
	ui32Priority		int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETTRANSFERCONTEXTPRIORITY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSETTRANSFERCONTEXTPROPERTY {
	hTransferContext	IMG_HANDLE
	ui32Property		int32
	ui64Input		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXSETTRANSFERCONTEXTPROPERTY {
	ui64Output	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXSUBMITTRANSFER2 {
	hTransferContext		IMG_HANDLE
	ui32ClientCacheOpSeqNum		int32
	ui32PrepareCount		len[pui32ClientUpdateCount, int32]
	pui32ClientUpdateCount		ptr[in, array[int32]]
	phUpdateUFOSyncPrimBlock	ptr[in, array[ptr[in, array[IMG_HANDLE]]]]
	pui32UpdateSyncOffset		ptr[in, array[ptr[in, array[int32]]]]
	pui32UpdateValue		ptr[in, array[ptr[in, array[int32]]]]
	hCheckFenceFD			PVRSRV_FENCE
	h2DUpdateTimeline		PVRSRV_TIMELINE
	h3DUpdateTimeline		PVRSRV_TIMELINE
	puiUpdateFenceName		ptr[in, array[int8]]
	pui32CommandSize		ptr[in, array[int32]]
	pui8FWCommand			ptr[in, array[ptr[in, array[int8]]]]
	pui32TQPrepareFlags		ptr[in, array[flags[TQ_PREP_FLAGS, int32]]]
	ui32ExtJobRef			int32
	ui32SyncPMRCount		len[pui32SyncPMRFlags, int32]
	pui32SyncPMRFlags		ptr[in, array[int32]]
	phSyncPMRs			ptr[in, array[IMG_HANDLE]]
} [packed]

PVRSRV_BRIDGE_OUT_RGXSUBMITTRANSFER2 {
	h2DUpdateFence	PVRSRV_FENCE
	h3DUpdateFence	PVRSRV_FENCE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMCREATETRANSFERCONTEXT {
	ui32Priority		int32
	ui32FrameworkCmdize	len[psFrameworkCmd, int32]
	psFrameworkCmd		ptr[in, array[int8]]
	hPrivData		IMG_HANDLE
	ui32PackedCCBSizeU88	int32
	ui32ContextFlags	flags[RGX_CONTEXT_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMCREATETRANSFERCONTEXT {
	hTransferContext	IMG_HANDLE
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMDESTROYTRANSFERCONTEXT {
	hTransferContext	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMDESTROYTRANSFERCONTEXT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMGETSHAREDMEMORY {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMGETSHAREDMEMORY {
	hCLIPMRMem	IMG_HANDLE
	hUSCPMRMem	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMNOTIFYWRITEOFFSETUPDATE {
	hTransferContext	IMG_HANDLE
	ui32PDumpFlags		flags[PDUMP_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMNOTIFYWRITEOFFSETUPDATE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMRELEASESHAREDMEMORY {
	hPMRMem	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMRELEASESHAREDMEMORY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMSETTRANSFERCONTEXTPRIORITY {
	hTransferContext	IMG_HANDLE
	ui32Priority		int32
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMSETTRANSFERCONTEXTPRIORITY {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMSETTRANSFERCONTEXTPROPERTY {
	hTransferContext	IMG_HANDLE
	ui32Property		int32
	ui64Input		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMSETTRANSFERCONTEXTPROPERTY {
	ui64Output	int64
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_RGXTDMSUBMITTRANSFER2 {
	hTransferContext		IMG_HANDLE
	ui32PDumpFlags			flags[PDUMP_FLAGS, int32]
	ui32ClientCacheOpSeqNum		int32
	ui32ClientUpdateCount		len[phUpdateUFOSyncPrimBlock, int32]
	phUpdateUFOSyncPrimBlock	ptr[in, array[IMG_HANDLE]]
	pui32UpdateSyncOffset		ptr[in, array[int32]]
	pui32UpdateValue		ptr[in, array[int32]]
	hCheckFenceFD			PVRSRV_FENCE
	hUpdateTimeline			PVRSRV_TIMELINE
	puiUpdateFenceName		ptr[in, array[int8]]
	ui32CommandSize			len[pui8FWCommand, int32]
	pui8FWCommand			ptr[in, array[int8]]
	ui32ExternalJobReference	int32
	ui32SyncPMRCount		len[pui32SyncPMRFlags, int32]
	pui32SyncPMRFlags		ptr[in, array[int32]]
	phSyncPMRs			ptr[in, array[IMG_HANDLE]]
	ui32Characteristic1		int32
	ui32Characteristic2		int32
	ui64DeadlineInus		int64
} [packed]

PVRSRV_BRIDGE_OUT_RGXTDMSUBMITTRANSFER2 {
	hUpdateFence	PVRSRV_FENCE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_ACQUIREGLOBALEVENTOBJECT {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_ACQUIREGLOBALEVENTOBJECT {
	hGlobalEventObject	IMG_HANDLE
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_ACQUIREINFOPAGE {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_ACQUIREINFOPAGE {
	hPMR	IMG_HANDLE
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_ALIGNMENTCHECK {
	ui32AlignChecksSize	len[pui32AlignChecks, int32]
	pui32AlignChecks	ptr[in, array[int32]]
} [packed]

PVRSRV_BRIDGE_OUT_ALIGNMENTCHECK {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_CONNECT {
	ui32Flags		int32
	ui32ClientBuildOptions	int32
	ui32ClientDDKVersion	int32
	ui32ClientDDKBuild	int32
} [packed]

PVRSRV_BRIDGE_OUT_CONNECT {
	ui8KernelArch		int8
	ui32CapabilityFlags	int32
	ui64PackedBvnc		int64
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_DISCONNECT {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_DISCONNECT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_DUMPDEBUGINFO {
	ui32VerbLevel	int32
} [packed]

PVRSRV_BRIDGE_OUT_DUMPDEBUGINFO {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_EVENTOBJECTCLOSE {
	hOSEventKM	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_EVENTOBJECTCLOSE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_EVENTOBJECTOPEN {
	hEventObject	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_EVENTOBJECTOPEN {
	hOSEvent	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_EVENTOBJECTWAIT {
	hOSEventKM	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_EVENTOBJECTWAIT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_EVENTOBJECTWAITTIMEOUT {
	hOSEventKM	IMG_HANDLE
	ui64uiTimeoutus	int64
} [packed]

PVRSRV_BRIDGE_OUT_EVENTOBJECTWAITTIMEOUT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_FINDPROCESSMEMSTATS {
	ui32PID			int32
	ui32ArrSize		len[pui32MemStatsArray, int32]
	bbAllProcessStats	bool32
	pui32MemStatsArray	ptr[in, array[int32]]
} [packed]

PVRSRV_BRIDGE_OUT_FINDPROCESSMEMSTATS {
	pui32MemStatsArray	ptr[out, array[int32]]
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_GETDEVCLOCKSPEED {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_GETDEVCLOCKSPEED {
	ui32ClockSpeed	int32
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_GETDEVICESTATUS {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_GETDEVICESTATUS {
	ui32DeviceSatus	int32
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_GETMULTICOREINFO {
	ui32CapsSize	len[pui64Caps, int32]
	pui64Caps	ptr[in, array[int64]]
} [packed]

PVRSRV_BRIDGE_OUT_GETMULTICOREINFO {
	ui32NumCores	int32
	pui64Caps	ptr[out, array[int64]]
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_HWOPTIMEOUT {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_HWOPTIMEOUT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RELEASEGLOBALEVENTOBJECT {
	hGlobalEventObject	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RELEASEGLOBALEVENTOBJECT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_RELEASEINFOPAGE {
	hPMR	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_RELEASEINFOPAGE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_ALLOCSYNCPRIMITIVEBLOCK {
	ui32EmptyStructPlaceholder	const[0, int32]
} [packed]

PVRSRV_BRIDGE_OUT_ALLOCSYNCPRIMITIVEBLOCK {
	hSyncHandle		IMG_HANDLE
	ui32SyncPrimVAddr	int32
	ui32SyncPrimBlockSize	int32
	hhSyncPMR		IMG_HANDLE
	eError			int32
} [packed]

PVRSRV_BRIDGE_IN_FREESYNCPRIMITIVEBLOCK {
	hSyncHandle	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_FREESYNCPRIMITIVEBLOCK {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCALLOCEVENT {
	bServerSync		bool32
	ui32FWAddr		int32
	ui32ClassNameSize	len[puiClassName, int32]
	puiClassName		ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_SYNCALLOCEVENT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCCHECKPOINTSIGNALLEDPDUMPPOL {
	hFence	PVRSRV_FENCE
} [packed]

PVRSRV_BRIDGE_OUT_SYNCCHECKPOINTSIGNALLEDPDUMPPOL {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCFREEEVENT {
	ui32FWAddr	int32
} [packed]

PVRSRV_BRIDGE_OUT_SYNCFREEEVENT {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCPRIMPDUMP {
	hSyncHandle	IMG_HANDLE
	ui32Offset	int32
} [packed]

PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMP {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPCBP {
	hSyncHandle	IMG_HANDLE
	ui32Offset	int32
	uiWriteOffset	int64
	uiPacketSize	int64
	uiBufferSize	int64
} [packed]

PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPCBP {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPPOL {
	hSyncHandle	IMG_HANDLE
	ui32Offset	int32
	ui32Value	int32
	ui32Mask	int32
	eOperator	flags[PDUMP_POLL_OPERATOR, int32]
	uiPDumpFlags	flags[PDUMP_FLAGS, int32]
} [packed]

PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPPOL {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCPRIMPDUMPVALUE {
	hSyncHandle	IMG_HANDLE
	ui32Offset	int32
	ui32Value	int32
} [packed]

PVRSRV_BRIDGE_OUT_SYNCPRIMPDUMPVALUE {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCPRIMSET {
	hSyncHandle	IMG_HANDLE
	ui32Index	int32
	ui32Value	int32
} [packed]

PVRSRV_BRIDGE_OUT_SYNCPRIMSET {
	eError	int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCRECORDADD {
	hhServerSyncPrimBlock	IMG_HANDLE
	ui32ui32FwBlockAddr	int32
	ui32ui32SyncOffset	int32
	bbServerSync		bool32
	ui32ClassNameSize	len[puiClassName, int32]
	puiClassName		ptr[in, array[int8]]
} [packed]

PVRSRV_BRIDGE_OUT_SYNCRECORDADD {
	hhRecord	IMG_HANDLE
	eError		int32
} [packed]

PVRSRV_BRIDGE_IN_SYNCRECORDREMOVEBYHANDLE {
	hhRecord	IMG_HANDLE
} [packed]

PVRSRV_BRIDGE_OUT_SYNCRECORDREMOVEBYHANDLE {
	eError	int32
} [packed]

RGX_HWPERF_CONFIG_CNTBLK {
	ui16BlockID		int16
	ui8CounterSelect	int8
	ui8Mode			int8
	aui8GroupSelect		array[int8, RGX_CNTBLK_COUNTERS_MAX]
	aui16BitSelect		array[int16, RGX_CNTBLK_COUNTERS_MAX]
	aui32BatchMax		array[int32, RGX_CNTBLK_COUNTERS_MAX]
	aui32BatchMin		array[int32, RGX_CNTBLK_COUNTERS_MAX]
} [align[8]]

RGX_HWPERF_BVNC {
	aszBvncString		array[int8, RGX_HWPERF_MAX_BVNC_LEN]
	ui32BvncKmFeatureFlags	int32
	ui16BvncBlocks		int16
	ui16Reserved1		int16
	aBvncBlocks		array[RGX_HWPERF_BVNC_BLOCK, RGX_HWPERF_MAX_BVNC_BLOCK_LEN]
}

RGX_HWPERF_BVNC_BLOCK {
	ui16BlockID	int16
	ui16NumCounters	int16
	ui16NumBlocks	int16
	ui16Reserved	int16
}

# 0x200000-0x400000 is bits for PVRSRV_MEMALLOCFLAG_FW_ALLOC_TYPE_MASK
# 0x800000-0x2000000 is bits for PVRSRV_MEMALLOCFLAG_FW_ALLOC_OSID_MASK
# 0x4000000-0x8000000 is bits for PVRSRV_MEMALLOCFLAG_DEVICE_FLAGS_MASK
PVRSRV_MEMALLOCFLAGS_T = PVRSRV_MEMALLOCFLAG_GPU_READABLE, PVRSRV_MEMALLOCFLAG_GPU_WRITEABLE, PVRSRV_MEMALLOCFLAG_GPU_READ_PERMITTED, PVRSRV_MEMALLOCFLAG_GPU_WRITE_PERMITTED, PVRSRV_MEMALLOCFLAG_CPU_READABLE, PVRSRV_MEMALLOCFLAG_CPU_WRITEABLE, PVRSRV_MEMALLOCFLAG_CPU_READ_PERMITTED, PVRSRV_MEMALLOCFLAG_CPU_WRITE_PERMITTED, PVRSRV_MEMALLOCFLAG_GPU_UNCACHED, PVRSRV_MEMALLOCFLAG_GPU_WRITE_COMBINE, PVRSRV_MEMALLOCFLAG_GPU_CACHE_COHERENT, PVRSRV_MEMALLOCFLAG_GPU_CACHE_INCOHERENT, PVRSRV_MEMALLOCFLAG_GPU_CACHED, PVRSRV_MEMALLOCFLAG_CPU_UNCACHED, PVRSRV_MEMALLOCFLAG_CPU_WRITE_COMBINE, PVRSRV_MEMALLOCFLAG_CPU_CACHE_COHERENT, PVRSRV_MEMALLOCFLAG_CPU_CACHE_INCOHERENT, PVRSRV_MEMALLOCFLAG_CPU_CACHED, PVRSRV_MEMALLOCFLAG_KERNEL_CPU_MAPPABLE, PVRSRV_MEMALLOCFLAG_NO_OSPAGES_ON_ALLOC, PVRSRV_MEMALLOCFLAG_CPU_LOCAL, PVRSRV_MEMALLOCFLAG_SVM_ALLOC, PVRSRV_MEMALLOCFLAG_SPARSE_NO_DUMMY_BACKING, PVRSRV_MEMALLOCFLAG_CPU_CACHE_CLEAN, PVRSRV_MEMALLOCFLAG_SPARSE_ZERO_BACKING, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000, PVRSRV_MEMALLOCFLAG_ZERO_ON_ALLOC, PVRSRV_MEMALLOCFLAG_POISON_ON_ALLOC, PVRSRV_MEMALLOCFLAG_POISON_ON_FREE, PVRSRV_MEMALLOCFLAG_NO_CACHE_LINE_ALIGN
PVRSRV_CACHE_OP = PVRSRV_CACHE_OP_NONE, PVRSRV_CACHE_OP_CLEAN, PVRSRV_CACHE_OP_INVALIDATE, PVRSRV_CACHE_OP_FLUSH
PDUMP_POLL_OPERATOR = PDUMP_POLL_OPERATOR_EQUAL, PDUMP_POLL_OPERATOR_LESS, PDUMP_POLL_OPERATOR_LESSEQUAL, PDUMP_POLL_OPERATOR_GREATER, PDUMP_POLL_OPERATOR_GREATEREQUAL, PDUMP_POLL_OPERATOR_NOTEQUAL
PDUMP_FLAGS = PDUMP_FLAGS_NONE, PDUMP_FLAGS_BLKDATA, PDUMP_FLAGS_DEINIT, PDUMP_FLAGS_POWER, PDUMP_FLAGS_CONTINUOUS, PDUMP_FLAGS_PERSISTENT, PDUMP_FLAGS_DEBUG, PDUMP_FLAGS_NOHW, PDUMP_FLAGS_FORCESPLIT, PDUMP_FLAGS_PDUMP_LOCK_HELD
RGX_CONTEXT_FLAGS = RGX_CONTEXT_FLAG_DISABLESLR
TQ_PREP_FLAGS = TQ_PREP_FLAGS_COMMAND_3D, TQ_PREP_FLAGS_COMMAND_2D, TQ_PREP_FLAGS_PDUMPCONTINUOUS, TQ_PREP_FLAGS_START, TQ_PREP_FLAGS_END
